jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <http://cliki.net/> <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.5.4, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
niceplaces has joined #lisp
niceplace has quit [Ping timeout: 268 seconds]
icov0x29a has quit [Quit: Leaving]
<pjb> p_l: ..sp (right window)
lucasb has quit [Quit: Connection closed for inactivity]
beach` has joined #lisp
Jesin has quit [Quit: Leaving]
beach has quit [Ping timeout: 276 seconds]
sjl has joined #lisp
lxpnh98 has quit [Quit: Leaving]
Jesin has joined #lisp
<fiddlerwoaroof> maven clean instsall
vms14 has joined #lisp
Oladon has joined #lisp
Josh_2 has quit [Ping timeout: 252 seconds]
karlosz has quit [Quit: karlosz]
dgtlcmo has joined #lisp
ArthurStrong has joined #lisp
Hofpfister has joined #lisp
zaquest has quit [Ping timeout: 265 seconds]
Hofpfister has quit [Ping timeout: 268 seconds]
Kevslinger has joined #lisp
q-u-a-n2 has joined #lisp
EvW1 has quit [Ping timeout: 250 seconds]
<White_Flame> From inside a custom lexing/parsing reader, which is consuming large swathes of the input, how do I indicate up to SLIME where the location of an error is?
rople has joined #lisp
bitmapper has quit [Ping timeout: 268 seconds]
naryl has joined #lisp
<naryl> minion: registration, please?
<minion> The URL https://gitlab.common-lisp.net/users/sign_in?secret=6f1f9b02 will be valid until 01:15 UTC.
<naryl> I can use gitlab.common-lisp.net for any project as long as it's open source and mostly in Common Lisp, right?
<naryl> > Your account has been blocked. Please contact your GitLab administrator if you think this is an error.
<naryl> Well, how do I reach the administrator?
<dgtlcmo> does anyone have a symbolics space cadet or lisp machine keyboard?
q-u-a-n21 has joined #lisp
q-u-a-n2 has quit [Ping timeout: 265 seconds]
q[corwin] has quit [Remote host closed the connection]
quazimodo has quit [Ping timeout: 265 seconds]
<dgtlcmo> how is anyone coding in LISP efficiently without one of these keyboards?
<ArthurStrong> dgtlcmo: imagine so
<pjb> dgtlcmo: easy: get yourself a blank DasKeyboard (105 keys). Use xmodmap and emacs to map the keys as you wish to be efficient.
<dgtlcmo> pjb: pjb
<dgtlcmo> pjb: it lacks enough keys to the left of tab
<dgtlcmo> pjb: i.e. enough to do a 30 degree rotate of the hand for meta or control. i think the SAIL keyboard calls the key near tab ALT MODE
<pjb> dgtlcmo: but it has a lot of keys to the right, the so called "numpad". Make them function keys!
<pjb> dgtlcmo: and if you want more key, I told you: build your own keyboard!
<dgtlcmo> dgtlcmo: how can i build my own?
<dgtlcmo> actually the kinesis freestyle pro has keys for this
<pjb> there are a lot of tutorials on youtube about DIY keyboard building.
<White_Flame> dgtlcmo: common lisp doesn't require any characters beyond the basic ASCII charset
karlosz has joined #lisp
ahungry has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
<White_Flame> also, why stop at only the space cadet? https://i.imgur.com/1nRp5UO.jpg
<dgtlcmo> White_Flame: that's a nice one, but not very minimalistic
<dgtlcmo> It does have MODE in a better place
<dgtlcmo> and it's USB... where is that keyboard from?
* no-defun-allowed wonders how SYMBOL got all the way over there
<White_Flame> it was a custom one-off
<dgtlcmo> by who where?
amerlyq has quit [Quit: amerlyq]
<dgtlcmo> White_Flame: do you know where to find the owner?
<White_Flame> the keycap set predated it, and was produced by someone else
<White_Flame> (I'd much rather have onscreen compose tips than a massive keyboard like that)
<White_Flame> also lol at the space non-bar
<pjb> dgtlcmo: you should stop worrying about keyboards, and use emacs a little more. The efficiency comes from using emacs efficiently (slime, paredit, abbrev, binding your own keys, etc).
Codaraxis has quit [Read error: Connection reset by peer]
<dgtlcmo> well, i was scared when i saw a developer at my old job who was an avid emacs user with scards down his wrist from carpal surgery. he even had a kinesis keyboard setup
<White_Flame> given the amount of non-emacs carpal tunnel out there from desk jockeys of all stripes, I doubt it's emacs-related
<dgtlcmo> pjb: do you have a particular set of keybindings you use with emacs? what keyboard are you using?
<aeth> There's only one true way to use Emacs: https://duckduckgo.com/?q=emacs+foot+pedals
dale has joined #lisp
<aeth> fwiw, I can program all day with no issues, but if I game all day, that's going to kill my hands the next day
dale has quit [Quit: My computer has gone to sleep]
Oladon has quit [Quit: Leaving.]
dgtlcmo has quit [Quit: Lost terminal]
q-u-a-n2 has joined #lisp
semz has quit [Ping timeout: 264 seconds]
orivej has joined #lisp
q-u-a-n21 has quit [Ping timeout: 268 seconds]
toorevitimirp has joined #lisp
Josh_2 has joined #lisp
semz has joined #lisp
quazimodo has joined #lisp
stepnem has quit [Ping timeout: 268 seconds]
vms14 has quit [Remote host closed the connection]
marusich has quit [Remote host closed the connection]
karlosz has quit [Quit: karlosz]
marusich has joined #lisp
pfdietz has quit [Ping timeout: 260 seconds]
techquila has joined #lisp
mindthelion has quit [Ping timeout: 240 seconds]
dale has joined #lisp
enrio has joined #lisp
stepnem has joined #lisp
Codaraxis has joined #lisp
mindthelion has joined #lisp
techquila has quit [Ping timeout: 240 seconds]
Codaraxis_ has joined #lisp
Codaraxis__ has joined #lisp
Codaraxis has quit [Ping timeout: 265 seconds]
Codaraxis_ has quit [Ping timeout: 240 seconds]
Codaraxis__ has quit [Ping timeout: 268 seconds]
impulse has quit [Quit: leaving]
LoneThistle has joined #lisp
anewuser has joined #lisp
ebzzry has quit [Read error: Connection reset by peer]
Bike has quit [Quit: Lost terminal]
shifty has quit [Ping timeout: 240 seconds]
igemnace has joined #lisp
gravicappa has joined #lisp
iskander has quit [Ping timeout: 265 seconds]
fanta1 has joined #lisp
iskander has joined #lisp
toorevitimirp has quit [Ping timeout: 240 seconds]
toorevitimirp has joined #lisp
nullman has joined #lisp
dddddd has quit [Remote host closed the connection]
karlosz has joined #lisp
karlosz has quit [Quit: karlosz]
nullman has quit [Ping timeout: 240 seconds]
Codaraxis has joined #lisp
igemnace has quit [Remote host closed the connection]
q[corwin] has joined #lisp
keep_learning has joined #lisp
keep_learning has quit [Read error: Connection timed out]
toorevitimirp has quit [Ping timeout: 276 seconds]
toorevitimirp has joined #lisp
dale has quit [Quit: My computer has gone to sleep]
fanta1 has quit [Quit: fanta1]
matijja has joined #lisp
toorevitimirp has quit [Ping timeout: 240 seconds]
enrio has quit [Ping timeout: 265 seconds]
anewuser has quit [Ping timeout: 268 seconds]
sauvin has joined #lisp
shka_ has joined #lisp
_whitelogger has joined #lisp
vlatkoB has joined #lisp
enrio has joined #lisp
manualcrank has quit [Quit: WeeChat 1.9.1]
ahungry has quit [Remote host closed the connection]
PuercoPop has quit [Ping timeout: 265 seconds]
shka_ has quit [Ping timeout: 268 seconds]
libertyprime has joined #lisp
patrixl has left #lisp [#lisp]
beach` is now known as beach
<beach> Good morning everyone!
<edgar-rft> The early bird catches the worm, what makes me think that morning is probably not so good if you're a worm.
<jackdaniel> there was a story about a frozen bird in this spirit, quick search in my favourite search engine which doesn't start with G gave me this reddit link: https://www.reddit.com/r/Jokes/comments/1j0h49/the_frozen_bird/ :)
scymtym has quit [Ping timeout: 265 seconds]
libertyprime has quit [Ping timeout: 240 seconds]
fanta1 has joined #lisp
zaquest has joined #lisp
rgherdt has joined #lisp
libertyprime has joined #lisp
milanj has joined #lisp
sarna has joined #lisp
libertyprime has quit [Ping timeout: 246 seconds]
libertyprime has joined #lisp
JohnMS_WORK has joined #lisp
toorevitimirp has joined #lisp
naryl has quit [Ping timeout: 260 seconds]
schweers has joined #lisp
libertyprime has quit [Ping timeout: 265 seconds]
enrio has quit [Ping timeout: 268 seconds]
libertyprime has joined #lisp
toorevitimirp has quit [Ping timeout: 240 seconds]
enrio has joined #lisp
varjag has joined #lisp
megalography1 has joined #lisp
megalography has quit [Ping timeout: 245 seconds]
superkumasan has quit [Ping timeout: 245 seconds]
scymtym has joined #lisp
jprajzne has joined #lisp
quazimodo has quit [Ping timeout: 246 seconds]
atgreen__ has quit [Ping timeout: 276 seconds]
nullman has joined #lisp
rgherdt has quit [Ping timeout: 252 seconds]
__vlgvrs has quit [Read error: Connection reset by peer]
jonatack has quit [Ping timeout: 245 seconds]
__vlgvrs has joined #lisp
ggole has joined #lisp
cmatei has quit [Ping timeout: 240 seconds]
cmatei has joined #lisp
zaquest has quit [Ping timeout: 265 seconds]
schweers has quit [Remote host closed the connection]
schweers` has joined #lisp
libertyprime has quit [Ping timeout: 245 seconds]
schweers` has quit [Ping timeout: 268 seconds]
nullman has quit [Ping timeout: 240 seconds]
nullman has joined #lisp
superkumasan has joined #lisp
Lycurgus has joined #lisp
jonatack has joined #lisp
stepnem has quit [Ping timeout: 240 seconds]
srji has quit [Ping timeout: 265 seconds]
stepnem has joined #lisp
nullman has quit [Ping timeout: 265 seconds]
enrio is now known as iamnoob
iamnoob is now known as iamnoobb
atgreen__ has joined #lisp
ljavorsk has joined #lisp
libertyprime has joined #lisp
nullman has joined #lisp
clothespin has quit [Ping timeout: 240 seconds]
raghavgururajan has joined #lisp
sarna has quit [Ping timeout: 268 seconds]
cosimone has joined #lisp
iamnoobb has quit [Read error: Connection reset by peer]
m00natic has joined #lisp
nullman has quit [Ping timeout: 264 seconds]
nullman has joined #lisp
sarna has joined #lisp
<luis> Has anyone implemented a compatibility library around excl:fwrap, sb-int:enscapsulate, etc?
ljavorsk has quit [Ping timeout: 240 seconds]
nullman has quit [Ping timeout: 265 seconds]
nullman has joined #lisp
libertyprime has quit [Quit: leaving]
hiroaki has joined #lisp
<Shinmera> What does that do?
ggole has quit [Remote host closed the connection]
ggole has joined #lisp
<Shinmera> What would you do with that? An attempt at a portable TRACE or something?
<luis> Yes, among other things.
<luis> It's useful for monkey patching, too. Not that I recommend monkey patching at home.
<scymtym> Shinmera: this hybrid (deterministic/statistical) profiler uses the encapsulation facility: https://techfak.de/~jmoringe/clamegraph-rewrite-1.ogv (the video doesn't reflect the current state but conveys the basic idea)
<Shinmera> nice
<Shinmera> luis: If you make a portability library, let me know so I can add it to the overview.
<luis> Aye.
ramus has quit [Ping timeout: 250 seconds]
ramus has joined #lisp
Juzzika has joined #lisp
bitmapper has joined #lisp
ebzzry has joined #lisp
amerlyq has joined #lisp
<luis> SBCL doesn't support tracing flets and labels does it?
<scymtym> i think ENCAPSULATE would work with the function object, but there is no way to refer to local functions in TRACE
<luis> scymtym: is there a way to grab the local functions at all?
<Shinmera> how would you?
<phoe> upi
<phoe> I mean uhhh
<phoe> you'd need to crack the function object to get its references to local functions
<Shinmera> often the functions might not even be there at all
<scymtym> i thought something like (labels ((foo ())) (encapsulate #'foo)) could work but ENCAPSULATE seems to assume global functions
<phoe> e.g. inling and such
<scymtym> there is also ENCAPSULATE-FUNOBJ (added two weeks ago) which might work, but i haven't looked into it
cosimone has quit [Quit: Terminated!]
rgherdt has joined #lisp
<luis> phoe: FWIW, Allegro CL supports tracing labels/flet. It seems like it may be only one of the few Lisps that supports that.
<p_l> in compiled code as well?
milanj has quit [Quit: This computer has gone to sleep]
<phoe> Has anyone succeeded running the modern ANSI-TEST on CCL?
q[corwin] has quit [Ping timeout: 276 seconds]
Juzzika has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rople has quit [Ping timeout: 265 seconds]
<phoe> ...ooooh. I see now. OK - I've finally managed to run them.
<luis> p_l: yes.
clothespin has joined #lisp
lucasb has joined #lisp
atgreen__ has quit [Ping timeout: 246 seconds]
anewuser has joined #lisp
jonatack has quit [Ping timeout: 240 seconds]
Bike has joined #lisp
milanj has joined #lisp
amerlyq has quit [Quit: amerlyq]
atgreen__ has joined #lisp
anewuser has quit [Ping timeout: 246 seconds]
matijja has left #lisp ["Killed buffer"]
EvW has joined #lisp
rgherdt has quit [Ping timeout: 268 seconds]
rgherdt has joined #lisp
<lukego> Hey is anyone else doing Lisp with Nix? I'm open to see tricks and snippets if anybody has them. I've found ql2nix and that seems to work pretty well for making a stable Lisp distro
<Cymew> What the heck is "nix"?
<lukego> Yeah, it's a package manager of sorts.
clothespin has quit [Ping timeout: 252 seconds]
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
q[corwin] has joined #lisp
ljavorsk has joined #lisp
ljavorsk_ has joined #lisp
raghavgururajan has quit [Remote host closed the connection]
ljavorsk has quit [Ping timeout: 240 seconds]
X-Scale has quit [Ping timeout: 265 seconds]
X-Scale has joined #lisp
Lycurgus has quit [Quit: Exeunt]
rgherdt has quit [Ping timeout: 252 seconds]
cosimone has joined #lisp
dddddd has joined #lisp
clothespin has joined #lisp
stzsch has quit [Ping timeout: 246 seconds]
amerlyq has joined #lisp
stzsch has joined #lisp
frgo has quit []
manualcrank has joined #lisp
enrio has joined #lisp
mingus` has joined #lisp
frgo has joined #lisp
mingus has quit [Ping timeout: 240 seconds]
mingus` has quit [Ping timeout: 264 seconds]
EvW has quit [Ping timeout: 250 seconds]
atgreen__ has quit [Ping timeout: 265 seconds]
dale_ has joined #lisp
dale_ is now known as dale
atgreen__ has joined #lisp
gareppa has joined #lisp
ddrtddfdfsssdhj has joined #lisp
<Xach> lukego: a few people talk about it from time to time - MichaelRaskin for one, buffergn0me for two - a few others
bitmapper has quit [Remote host closed the connection]
ljavorsk_ has quit [Ping timeout: 250 seconds]
nullman has quit [Ping timeout: 246 seconds]
nullman has joined #lisp
<p_l> lukego: I know of people who gave Lisp as reasons for abandoning NixOS
<Xach> nooo
<p_l> in my practical experience it felt good as deployment target but development was often problematic, not just with lisp
ddrtddfdfsssdhj has quit [Remote host closed the connection]
Inline__ has joined #lisp
smazga has joined #lisp
Inline has quit [Ping timeout: 264 seconds]
milanj has quit [Quit: This computer has gone to sleep]
raghavgururajan has joined #lisp
cosimone has quit [Ping timeout: 250 seconds]
sarna has quit [Remote host closed the connection]
JohnMS_WORK has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
Bike has quit [Remote host closed the connection]
Bike has joined #lisp
nika_ has joined #lisp
enrio has quit [Ping timeout: 268 seconds]
cosimone has joined #lisp
gareppa has quit [Quit: Leaving]
FreeBirdLjj has quit [Remote host closed the connection]
<phoe> Hey #lisp - I would like a review for the Travis configuration that I have prepared for the CCL repository.
<phoe> The Travis build that has just started for this commit is available at https://travis-ci.com/phoe-trash/ccl/builds/134026306
<Cymew> Very creative to implement your own distro since you were fed up with existing package managers.
<phoe> The build overall is supposed to fail, since ANSI-TEST and CCL-TESTS are currently failing.
<phoe> Cymew: smells like /xkcd standards
enrio has joined #lisp
EvW has joined #lisp
davsebamse has quit [Ping timeout: 240 seconds]
milanj has joined #lisp
bitmapper has joined #lisp
nullman has quit [Ping timeout: 265 seconds]
davsebamse has joined #lisp
nullman has joined #lisp
icov0x29a has joined #lisp
clothespin has quit [Ping timeout: 240 seconds]
jonatack has joined #lisp
jprajzne has quit [Quit: Leaving.]
rgherdt has joined #lisp
shka_ has joined #lisp
clothespin has joined #lisp
edgar-rft has quit [Quit: Leaving]
atgreen__ has quit [Ping timeout: 240 seconds]
mathrick has quit [Ping timeout: 245 seconds]
varjagg has joined #lisp
EvW has quit [Ping timeout: 245 seconds]
rumbler3113 has joined #lisp
<rumbler3113> alright lispers, coming at you with what is likely a noob question
LiamH has joined #lisp
madage has quit [Remote host closed the connection]
madage has joined #lisp
cosimone has quit [Quit: Terminated!]
sjl_ has joined #lisp
<rumbler3113> I threw together a freeform datastructure that sorta looks like a parameter list. I was thinking I'd be able to throw in "tags" that have no value into this list, for example '(scan 1 :check "grep this" fix "cat that" :optional)
<rumbler3113> with the idea that users of the format could throw things in and I'd later be able to check for either assignment to a key or the presence or absence of given tags
<rumbler3113> I am now coming to realize that I am essentially trying to reimplement destructuring-bind on lambda lists where I am supplying a malformed lambda list
<dlowe> how would you distinguish between your keys and your tags?
<rumbler3113> that seems to be the question I haven't answered
<dlowe> your "tags" could just be keys with T as their value
<dlowe> anyway, you might want to look at getf
<dlowe> clhs getf
<rumbler3113> while it might sound silly, I was hoping to avoid requiring the users to type in the t
<Bike> ...the values?
<rumbler3113> so I was trying to be loose enough with the input that would allow a user to say something like (there's some special property about this check that I'd like to track" and give them a way of adding say :property1 to the list without needing to say :property1 t
<rumbler3113> I suppose I could post process the final input and add a t to every unpaired property
<sjl_> (:a :b :c) which is the unpaired property there?
<sjl_> is :b the value of :a, or is :a unpaired? etc
<rumbler3113> :c so I guess I am also expecting that symbols that aren't keys or properties won't be actual values
<rumbler3113> but I see the point
<sjl_> I don't know what your use case is, but as a user I find it valuable when things work consistently with the rest of the language, even if it's a tiny bit more typing for me
<sjl_> being able to say "it's just standard keyword args" is preferable to learning a custom thing, even though I have to type a couple extra chars sometimes
<rumbler3113> I read just enough of all of this to be dangerous. I'll just postprocess the input when its all done
<rumbler3113> these are non lisp users and their expectations are what I give them, so I'll just tell them to add the t and I'll clean up the rest
<rumbler3113> and this does explain a strange bug I ran into years ago....
<rumbler3113> its almost like I want a combination of rest and key
<rumbler3113> but I would have to guarantee that all of the loose arguments come before any of the keys
<dlowe> so it sounds like to me that you don't want your users to get a repl
<dlowe> so parse the string you get from your user however you want
<dlowe> but don't let that determine your internal representation
<p_l> parse it as normal list, iterate on it, and have the code that handles each function know whether it has to consume the next item or not?
nika_ has quit []
mathrick has joined #lisp
dgtlcmo has joined #lisp
<dgtlcmo> hi
<dgtlcmo> I'm reading the bash man page and want to vomit
<beach> dgtlcmo: I think you have the wrong channel.
<dgtlcmo> Do LISPers use a different shell?
<dgtlcmo> maybe just e-lisp in Emacs?
<beach> This channel is dedicated to Common Lisp.
<dgtlcmo> beach: ok, wrong channel
<dlowe> Just because someone likes lisp doesn't mean they hate bash, too
<Josh_2> Yes, no bashing bash :P
<rumbler3113> so.. is it true that the only correct usage of &rest and &key together is to expect a list of all parameters, but at the point where &rest is processed, the following arguments must be keyword/value pairs?
<rumbler3113> as in, there will never be things in the &rest list that are not supposed to be keyword/value pairs?
<Bike> correct.
<Bike> at least, the number of remaining arguments must be even, and the keys have to be symbols.
EvW has joined #lisp
icov0x29a has quit [Quit: Leaving]
rgherdt has quit [Ping timeout: 276 seconds]
m00natic has quit [Remote host closed the connection]
ggole has quit [Quit: Leaving]
darksam has joined #lisp
Josh_2 has quit [Remote host closed the connection]
tabaqui1 has joined #lisp
fanta1 has quit [Quit: fanta1]
<Xach> Bike: keys have to be symbols?
<Xach> That constraint is contrary to my experience, I wonder if it is contrary to the spec!
* Xach often uses (&rest args &key &allow-other-keys) to define a table-create-and-populate function with string or integer keys
ubuntu has joined #lisp
ubuntu is now known as Guest95349
<Bike> let me double check
cosimone has joined #lisp
xuxuru has joined #lisp
<Bike> clhs 3.5.1.5
Guest95349 has quit [Client Quit]
<Xach> saved by 3.4.1.4.1
<Bike> oh, you're right.
<Xach> undefined consequences!
krisfris has joined #lisp
<Xach> that's not good for me
darksam has quit [Quit: leaving]
<Xach> well it was fun while it lasted, time to update a million programs!
<Bike> uh oh
<Xach> thanks a lot, bike!
manualcrank has quit [Quit: WeeChat 1.9.1]
Codaraxis has quit [Ping timeout: 240 seconds]
__vlgvrs has quit [Ping timeout: 268 seconds]
buffergn0me has joined #lisp
<buffergn0me> Is there a way to print hexadecimal numbers in lowercase without using FORMAT?
<sjl_> (let ((*print-base* 16)) (princ (string-downcase (princ-to-string 111))))
<buffergn0me> but without the intermediate string?
<sjl_> not that I know of
<dlowe> you can make your own hex printer that outputs in hex
sauvin has quit [Ping timeout: 240 seconds]
<fiddlerwoaroof> rumbler3113: if you insist on making that work, you'll probably want to define some sort of "schema" for your keyword arguments, so you can tell whether or not the next argument is a new keyword argument or the value of the current keyword argument
<fiddlerwoaroof> Or, you could specify values as something like '(:keyword . value) and argumetns that don't take values as just :keyword
<dlowe> or just don't allow keywords as values
<phoe> buffergn0me: all this talk just made me discover a fancy sbcl bug
<phoe> (describe (formatter "a"))
<sjl_> huh
<buffergn0me> phoe: lambda-name should be a symbol?
<Bike> the name of the function is a strong, "fmt$a"
<Bike> which is sorta wacky
<Bike> a string
<Xach> buffergn0me: hi! do you use lisp and nix together?
<buffergn0me> Xach: No. Quicklisp problems on Nix?
<Xach> buffergn0me: no, lukego was looking to chat about it, and i saw from logs you mentioned it. was trying to matchmake a little.
<buffergn0me> Xach: Ah, ok. I have a couple of months down time from contracts as of today, I was going to install Guix and use CL with that.
EvW has quit [Ping timeout: 250 seconds]
enrio has quit [Quit: Leaving]
gabiruh has quit [Read error: Connection reset by peer]
gabiruh has joined #lisp
atgreen has joined #lisp
EvW has joined #lisp
rgherdt has joined #lisp
lavaflow has quit [Ping timeout: 245 seconds]
bitmapper has quit []
vlatkoB has quit [Remote host closed the connection]
shka_ has quit [Ping timeout: 264 seconds]
icov0x29a has joined #lisp
lavaflow has joined #lisp
icov0x29a has quit [Quit: Leaving]
atgreen has quit [Ping timeout: 265 seconds]
atgreen has joined #lisp
cosimone has quit [Quit: Terminated!]
vap1 has quit [Ping timeout: 268 seconds]
gravicappa has quit [Ping timeout: 240 seconds]
matijja` has joined #lisp
<rumbler3113> I'm not trying to add more work, I want to leverage existing stuff. I just told my users to add the t and massaged the old data
<rumbler3113> I was just trying to reason through if this was supported somehow
milanj has quit [Quit: This computer has gone to sleep]
edgar-rft has joined #lisp
Kevslinger has quit [Quit: Connection closed for inactivity]
atgreen has quit [Ping timeout: 240 seconds]
<rumbler3113> I was inspired by that guerrilla lisp opus to "just get started", didn't have any particular way I expected to scarf the input file
cosimone has joined #lisp
cosimone has quit [Client Quit]
xuxuru has quit [Quit: xuxuru]
lavaflow has quit [Ping timeout: 240 seconds]
kpoeck has joined #lisp
<kpoeck> phoe: I run the modern ansi-test with ccl (and all other lisps that run on MacOSX)
<kpoeck> 81 out of 21802 total tests failed:
trafaret1 has joined #lisp
<phoe> kpoeck: yes, I have managed to run them as well. Thank you!
kpoeck has quit [Ping timeout: 260 seconds]
scymtym has quit [Ping timeout: 245 seconds]
milanj has joined #lisp
Lycurgus has joined #lisp
Lycurgus has quit [Quit: Exeunt]
gareppa has joined #lisp
matijja` has quit [Ping timeout: 265 seconds]
atgreen has joined #lisp
gareppa has quit [Remote host closed the connection]
lavaflow has joined #lisp
matijja` has joined #lisp
gareppa has joined #lisp
<mfiano2> Can I somehow use UPDATE-INSTANCE-FOR-DIFFERENT-CLASS to assign slot values to CURRENT based on a list of initargs in PREVIOUS, when I don't know the slot names for the new class, but do know their initargs?
cosimone has joined #lisp
<mfiano2> Without digging into the MOP for this trivial task anyway
<mfiano2> To be specific, I'm not extracting initargs from PREVIOUS. PREVIOUS will have exactly 1 slot which is a list of initargs I want to use to set the slot values of CURRENT
<phoe> You don't know the slot names for the new class?...
<mfiano2> Right. They are dynamically generated with a custom metaclass...but that's a topic for another day...ha
<Bike> how do you have initargs but not slot names?
<Bike> by "initargs" i assume you mean the keywords
<mfiano2> Right. I'm writing a DSL where the user specifies the initargs, but I need to delay shared-initialize so I need to create a fake class with these initargs before i change-class
bitmapper has joined #lisp
<Bike> sounds like you have a lot of specific concerns. hard to say much without knowing the system. But update-instance-for-different-class should basically call shared-initialize and to do that it'll need slot names, i think.
<Bike> i'd also say that whatever you're doing sounds like you'lll be using mop at some point anyway
<jackdaniel> phoe: it seems that you use word "modern" with ansi-test as if there were some significant improvements - that is not true. some tests were added and a directory structure has been introduced
<mfiano2> Yeah I am for sure. It's quite involved what I am doing, and beyond my ability to even try to explain it at the moment. Just something I've been working on for a month and nearly complete. Looks like I'll have to dig into the MOP some more to pull this off.
<jackdaniel> real improvement would be running tests not with make but from a host lisp implementation, i.e: (load-system 'ansi-tests) (ansi-tests:run :ecl "/usr/bin/ecl")
<Bike> it's also really easy to get the slot names with mop
<jackdaniel> with possibility to inspect results
<Bike> (mapcar #'slot-definition-name (class-slots (class-of current))), i guess?
<jackdaniel> here is more involved example with slot moppery: https://github.com/McCLIM/McCLIM/blob/master/Core/clim-basic/utils.lisp#L595
<phoe> jackdaniel: that's what I meant. ccl-tests has forked ansi-tests a considerable amount of time ago and there is an issue on its test repository that mentions that their fork hasn't been updated for a while.
<Bike> aux in a lambda
<mfiano2> Well i don't yet have the class even defined at the point I would need the slots. I only have what will be the keyword initargs
<jackdaniel> I find &aux more useful than single toplevel let spanning whole body tbh
<jackdaniel> but that's a matter of taste I suppose
<Bike> uh, what? you have an object of the new class, you'd better have it defined
<mfiano2> I need the slots before that.
<Bike> update-instance-for-different-class is called by change-class. and to call change-class you need the new class
<Bike> that's all i mean
<mfiano2> Right. I have the old class which knows about the new initargs. I do some things on the old class, create the new class, then change-class it to be an instance of the new class. At some point in there, I need to map the initargs in a slot of the old class to new class initargs
<phoe> is `current` already modified to have the new class assigned to it?
<Bike> yes
<phoe> then use the MOP to get the slots of (class-of current) - should be enough
<phoe> ...wait a second though
<phoe> > i don't yet have the class even defined at the point I would need the slots
<mfiano2> Well I need to map a list of symbols representing initargs of the new class, to actual slot names of new class
<phoe> you cannot be inside U-I-F-D-C if you do not have the class defined yet
gareppa has quit [Quit: Leaving]
<mfiano2> "...create the new class, then change-class..."
<Bike> the initargs don't necessarily have any relation to the slot names. if there is some relation, it's one you define yourself
<mfiano2> Ok I just thought of a way to get the slot names that will be in the current class. I'll just build the previous class with the same structure as the new one then.
<mfiano2> Minus the metaclass and superclasses that is, which is the whole point of this
gareppa has joined #lisp
gareppa has quit [Remote host closed the connection]
alandipert has quit [Quit: The Lounge - https://thelounge.chat]
alandipert has joined #lisp
manualcrank has joined #lisp
trafaret1 has quit [Ping timeout: 265 seconds]
gabiruh has quit [Quit: ZNC - 1.6.0 - http://znc.in]
scymtym has joined #lisp
Bike has quit [Quit: Bike]
hiroaki has quit [Ping timeout: 250 seconds]
quazimodo has joined #lisp
atgreen has quit [Ping timeout: 265 seconds]
grabarz has joined #lisp
hiroaki has joined #lisp
amerlyq has quit [Quit: amerlyq]
sjl_ has quit [Ping timeout: 240 seconds]
buffergn0me has quit [Ping timeout: 246 seconds]
sjl has quit [Quit: WeeChat 2.2-dev]
DataLinkDroid2 has quit [Quit: DataLinkDroid2]
Bike has joined #lisp
DataLinkDroid has joined #lisp
v0|d has quit [Remote host closed the connection]
cosimone has quit [Quit: Quit.]
hydrocat has joined #lisp
<hydrocat> Hello everyone. I am trying to write a text tranformation program but I am not sure about all the things common lisp can do yet. Any recommendation on learning resources ?
<hydrocat> I've found a book called "Practical common lisp" but I'd like your opinion on it :)
<White_Flame> that's a very commonly recommended book for learning CL
<hydrocat> But for example, to read text from a file, I am using read-char. I mean, it can be done but maybe there would be a better way.
<White_Flame> there's also read-line
<White_Flame> but at some point you'd want to look at libraries
<DataLinkDroid> hydrocat: PCL is a decent place to start, especially if (as seems to be the case) you already know something of one or more other languages.
varjagg has quit [Ping timeout: 276 seconds]
<White_Flame> quicklisp is the library downloader tool
clothespin has quit [Ping timeout: 240 seconds]
matijja` has quit [Remote host closed the connection]
<hydrocat> okay, then I have a more specific question, more personal if you will. In the process of implementing a lexer, I am unsure wether I should make a token generic class and implement it multiple times or simply use symbols.
Codaraxis has joined #lisp
<hydrocat> what would be your suggestion ?
rgherdt has quit [Ping timeout: 265 seconds]
<White_Flame> well, having just implemented a lexer, I made each token a list. (:token "foo") (:punc "(") (:whitespace " ") etc
<White_Flame> very easy to construct & deconstruct, and Lisp has good support for ad-hoc data in lists
grabarz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<hydrocat> interesting. why the preference for symbols with : ?
<White_Flame> each package has its own instance of symbols. So lexer:foo is not the same symbol as parser:foo, or cl-user:foo. Keywords are visible and resolve to the same symbol from any package
<White_Flame> they're intended for data that's broadly visible and self-contained across systems
shifty has joined #lisp
<hydrocat> Should we avoid using 'symbols or do they have a meaning too ?
<DataLinkDroid> hydrocat: symbols beginning with a colon are "keyword" symbols belonging to the keyword package
<aeth> 'symbol will become 'current-package::symbol
<aeth> So if you wanted to compare them you'd have to do something like get the symbol name and reintern them, or get the symbol-name and do a string=
<White_Flame> hydrocat: it all depends. I woudln't say to avoid it. But you'll learn the ins & outs with use
<aeth> keywords are simple, just eql them
<White_Flame> source code is made of non keywords. in (defun foo () ..), "FOO" is interned in the package that was read in
<aeth> e.g. LOOP takes symbols from any package so (loop for x in bar do (print x)) and (loop :for x :in bar :do (print x)) both work. Most macros will just take keywords, though, because it makes the implementation simpler and the written code more readable
<White_Flame> so especially in macros where you're building up source code from symbols, those need to be properly packaged symbols in order to reference the right thing
<hydrocat> Okay ! I believe I got the concept between keywords and general symbols
<hydrocat> aeth: But then, wouldn't the loop macro fail in some situations since it is taking symbols from any package ?
<aeth> hydrocat: the loop macro probably is doing something like this: (eql (intern (symbol-name symbol) some-package) 'some-package:foo) instead of (eql symbol 'foo)
<White_Flame> (symbol-name 'foo:abc) => "ABC", (symbol-name 'bar:abc) => "ABC"
<aeth> i.e. it's creating a new symbol in the new package and then comparing.
<White_Flame> the package isignored
<aeth> Alternatively, it could be doing string=
<DataLinkDroid> hydrocat: The LOOP macro would not use the value associated with the symbol, but only its name.
<hydrocat> Right ! makes sense :)
<aeth> Oh, and since LOOP is built-in and commonly used, there might also be some internal implementation-specific symbol-name-equal
count3rmeasure has joined #lisp
<aeth> (Practically, that wouldn't differ too much from doing string= on the symbol-name, though)
<hydrocat> Just wondering about a different topic, did any of you attend ELS 2018 ?
<hydrocat> And tahnk you all for the explanations !
<DataLinkDroid> hydrocat: Not I. It's a long way to Europe from here.
<hydrocat> DataLinkDroid: Well, so it was for me too
<DataLinkDroid> :-)
clothespin has joined #lisp
akoana has joined #lisp
wxie has joined #lisp
niceplaces has quit [Read error: Connection reset by peer]
niceplace has joined #lisp
hydrocat has quit [Ping timeout: 265 seconds]
shifty has quit [Ping timeout: 240 seconds]
LiamH has quit [Quit: Leaving.]
g0d_shatt3r has joined #lisp
davisr__ has quit [Remote host closed the connection]
smazga has quit [Quit: leaving]
count3rmeasure has quit [Ping timeout: 250 seconds]
buffergn0me has joined #lisp
lavaflow has quit [Ping timeout: 265 seconds]
lavaflow has joined #lisp
wxie has quit [Ping timeout: 245 seconds]
icov0x29a has joined #lisp
q-u-a-n2 has quit [Ping timeout: 265 seconds]
makomo has joined #lisp
synaps3 has joined #lisp
synaps3 has quit [Changing host]
synaps3 has joined #lisp
makomo has quit [Ping timeout: 240 seconds]
orivej has quit [Ping timeout: 264 seconds]
icov0x29a has quit [Quit: Leaving]
hiroaki has quit [Ping timeout: 240 seconds]