2014-11-29T00:00:01Z theseb: help! trying to understand this tiny lisp function called pair. on page 7 of Paul Graham's Roots Of Lisp here:http://www.cse.sc.edu/~mgv/csce531sp07/jmc.pdf 2014-11-29T00:00:11Z vaporatorius quit (Remote host closed the connection) 2014-11-29T00:00:39Z theseb: why used atom? (the car and cdr of lists are never atoms right? if he wants to check for '() why didn't he use null. instead?) 2014-11-29T00:00:49Z theseb: (yes i know '() is an "atom") 2014-11-29T00:01:15Z theseb: also...when if both branches of cond are false?...isn't that an undefined condition if one of the branches doesn't hit? 2014-11-29T00:01:41Z Bicyclidine: no, it returns nil. 2014-11-29T00:02:11Z Bicyclidine: the atom thing is to check for wrong code like (pair. 'a 'b) 2014-11-29T00:02:57Z theseb: ah error handling 2014-11-29T00:03:20Z theseb: Bicyclidine: oh the last step will be to cons the empty list to the answer 2014-11-29T00:05:51Z a20141128 quit (Quit: Page closed) 2014-11-29T00:06:25Z larme: Hi all, how can I test if a package exist, then run a function in the package when the test success while avoid erros when the test failed? find-package cannot do that 2014-11-29T00:06:51Z attila_lendvai joined #lisp 2014-11-29T00:06:52Z attila_lendvai quit (Changing host) 2014-11-29T00:06:52Z attila_lendvai joined #lisp 2014-11-29T00:06:53Z larme: even something like (if nil (package-not-exist:run) 1) will signal an error 2014-11-29T00:07:50Z Bicyclidine: larme: (when (find-package package) (funcall (find-symbol "NAME" package) ...)) 2014-11-29T00:07:55Z jlarocco joined #lisp 2014-11-29T00:08:50Z dagnachew joined #lisp 2014-11-29T00:14:52Z larme: Bicyclidine: thanks! 2014-11-29T00:15:30Z pnpuff quit (Quit: Lost terminal) 2014-11-29T00:17:04Z jlarocco quit (Quit: This computer has gone to sleep) 2014-11-29T00:17:38Z test1600 quit (Ping timeout: 258 seconds) 2014-11-29T00:31:28Z igorw joined #lisp 2014-11-29T00:32:06Z igorw left #lisp 2014-11-29T00:32:25Z boogie joined #lisp 2014-11-29T00:34:06Z BlueRavenGT joined #lisp 2014-11-29T00:34:56Z BlueRavenGT quit (Remote host closed the connection) 2014-11-29T00:35:39Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-29T00:39:45Z zxq9 joined #lisp 2014-11-29T00:40:59Z blahzik quit (Quit: blahzik) 2014-11-29T00:44:46Z cbryan joined #lisp 2014-11-29T00:55:40Z jlarocco joined #lisp 2014-11-29T01:00:38Z nha_ quit (Ping timeout: 250 seconds) 2014-11-29T01:01:03Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-11-29T01:01:49Z boogie quit (Remote host closed the connection) 2014-11-29T01:02:18Z BitPuffin joined #lisp 2014-11-29T01:03:52Z blahzik joined #lisp 2014-11-29T01:06:25Z urandom__ quit (Quit: Konversation terminated!) 2014-11-29T01:11:21Z nand1 quit (Remote host closed the connection) 2014-11-29T01:17:16Z nand1 joined #lisp 2014-11-29T01:24:12Z nand1 quit (Remote host closed the connection) 2014-11-29T01:24:32Z jlarocco quit (Quit: This computer has gone to sleep) 2014-11-29T01:24:57Z nand1 joined #lisp 2014-11-29T01:26:09Z jlarocco joined #lisp 2014-11-29T01:27:10Z zeitue joined #lisp 2014-11-29T01:28:38Z jlarocco quit (Client Quit) 2014-11-29T01:30:35Z kuanyui quit (Quit: Leaving.) 2014-11-29T01:31:14Z tharugrim joined #lisp 2014-11-29T01:31:59Z kuanyui joined #lisp 2014-11-29T01:35:29Z tharugrim quit (Client Quit) 2014-11-29T01:36:16Z cbryan quit (Quit: Lost terminal) 2014-11-29T01:41:56Z tharugrim joined #lisp 2014-11-29T01:44:18Z zRecursive joined #lisp 2014-11-29T01:49:24Z jlarocco joined #lisp 2014-11-29T01:55:23Z sbryant quit (Ping timeout: 258 seconds) 2014-11-29T01:55:46Z nightshade427 quit (Ping timeout: 258 seconds) 2014-11-29T01:56:58Z drewc quit (Ping timeout: 250 seconds) 2014-11-29T01:57:01Z jumblerg joined #lisp 2014-11-29T02:02:48Z nightshade427 joined #lisp 2014-11-29T02:02:57Z drewc joined #lisp 2014-11-29T02:08:58Z blahzik quit (Quit: blahzik) 2014-11-29T02:10:10Z sbryant joined #lisp 2014-11-29T02:16:30Z jlarocco quit (Quit: This computer has gone to sleep) 2014-11-29T02:26:47Z tkhoa2711 joined #lisp 2014-11-29T02:46:05Z Khisanth quit (Ping timeout: 264 seconds) 2014-11-29T02:46:33Z katco: is there any way to print a string representation of an entire object to stdout in CL? 2014-11-29T02:47:35Z Bicyclidine: the function "print"? 2014-11-29T02:48:10Z Khisanth joined #lisp 2014-11-29T02:48:20Z katco: Bicyclidine: that just gives me # 2014-11-29T02:48:34Z Bicyclidine: that's a string representation 2014-11-29T02:48:40Z Bicyclidine: you can customize it, if you want. what kind of object is it? 2014-11-29T02:48:50Z katco: "of an entire object", nested types and all 2014-11-29T02:49:13Z katco: it's an instance of a custom class 2014-11-29T02:49:21Z Bicyclidine: define a method on print-object. 2014-11-29T02:49:21Z katco: i don't want to customize it, i'm just debugging 2014-11-29T02:49:33Z _death: clhs describe 2014-11-29T02:49:33Z katco: i just want to dump out what's in memory 2014-11-29T02:49:33Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_descri.htm 2014-11-29T02:49:49Z Bicyclidine: yeah, describe might work then 2014-11-29T02:49:55Z katco: _death: ty 2014-11-29T02:49:58Z katco: Bicyclidine: ty 2014-11-29T02:50:00Z katco: i'll try that out 2014-11-29T02:50:13Z katco: perfect 2014-11-29T02:50:19Z katco: exactly what i wanted :) 2014-11-29T02:51:08Z katco: _death: i don't suppose there's a way to have it recursively call describe on its member-variables? 2014-11-29T02:51:20Z _death: nope.. you can write your own describe though 2014-11-29T02:51:32Z katco: _death: bleh, nah. this is good enough for debugging 2014-11-29T02:51:43Z Bicyclidine: clhs describe-object 2014-11-29T02:51:44Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_desc_1.htm 2014-11-29T02:51:48Z _death: if you just want your object to be describe-friendly, you could specialize describe-object 2014-11-29T02:51:53Z Bicyclidine: would mostly consist of calling describe on whichever slots you want 2014-11-29T02:51:54Z tkhoa2711 quit (Quit: tkhoa2711) 2014-11-29T02:51:58Z innertracks joined #lisp 2014-11-29T02:52:30Z araujo quit (Quit: Leaving) 2014-11-29T02:53:23Z _death: katco: why aren't you using slime 2014-11-29T02:53:28Z _death: it has a nice inspector 2014-11-29T02:53:47Z katco: _death: i am, but i am new and ignorant... there's some way to poke around things while it's running? 2014-11-29T02:54:30Z katco: _death: the variables are resident in a function, so i'd have to pause it within to poke at it with the repl 2014-11-29T02:54:39Z _death: yes.. you can right click on the object and choose inspect.. or `C-c I
RET' 2014-11-29T02:54:54Z katco: _death: oh... i think i knew that at some point 2014-11-29T02:54:57Z katco: let me try that 2014-11-29T02:56:00Z _death: you can also call INSPECT with an object.. 2014-11-29T02:56:05Z katco: it's complaining that it's unbound? 2014-11-29T02:57:30Z _death: do you use quicklisp's slime-helper? 2014-11-29T02:57:51Z _death: if not, maybe you should pass slime-fancy to slime-setup 2014-11-29T02:57:52Z BitPuffin quit (Ping timeout: 240 seconds) 2014-11-29T02:57:54Z katco: _death: mmm i don't think so... ql:quickload "s-h"? 2014-11-29T02:58:24Z _death: katco: https://github.com/quicklisp/quicklisp-slime-helper 2014-11-29T02:58:26Z _death: see readme 2014-11-29T02:58:34Z katco: _death: ty, reading 2014-11-29T03:00:53Z katco: _death: so i load that, and then i need an emacs minor mode it looks like? is that in elpa? 2014-11-29T03:01:27Z _death: what do you mean about an emacs minor mode 2014-11-29T03:01:34Z k-dawg joined #lisp 2014-11-29T03:02:04Z katco: _death: well it looks like it wants me to load an .el file 2014-11-29T03:02:12Z katco: _death: i'm assuming that's a minor mode definition 2014-11-29T03:02:28Z _death: quickload will install that file 2014-11-29T03:02:52Z katco: _death: oh, ok. so i just have to run it... trying that 2014-11-29T03:03:34Z _death: well, make sure to put those two lines from the readme in your .emacs.. and remove old slime calls 2014-11-29T03:06:40Z _death: btw it appears slime doesn't hook into cl:inspect at the moment, heh 2014-11-29T03:07:23Z katco: _death: hrm. is that why it's still complaining or have i done something wrong? 2014-11-29T03:07:32Z katco: _death: i have a nicer repl prompt now 2014-11-29T03:08:02Z _death: katco: can you be more specific about the complaint 2014-11-29T03:08:39Z katco: _death: sure. "The variable foo is unbound." 2014-11-29T03:08:49Z _death: well, maybe it is unbound :) 2014-11-29T03:08:54Z katco: _death: haha 2014-11-29T03:08:56Z kapil__ joined #lisp 2014-11-29T03:08:59Z katco: _death: so i load my package 2014-11-29T03:09:06Z katco: _death: and run the main function, it exits 2014-11-29T03:09:16Z katco: _death: and i try and do the inspect on this variable 2014-11-29T03:09:21Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-11-29T03:09:30Z katco: _death: it sounds like maybe i have to set a breakpoint somehow in this function 2014-11-29T03:09:33Z katco: _death: yeah? 2014-11-29T03:10:19Z _death: katco: it's a good idea to have functions that return complex objects rather than just build & use them in a single function 2014-11-29T03:10:20Z wizzo joined #lisp 2014-11-29T03:11:01Z katco: _death: this is an experimental main function i'm working through. it's the procedural bit at the top of the call-stack 2014-11-29T03:11:14Z katco: _death: i'm just trying to see if it's doing what i think it is 2014-11-29T03:11:18Z wizzo: if i'm developing on windows should i use ccl or sbcl? normally i use sbcl on mac and linux but the warning on the sbcl site for windows is really putting me off 2014-11-29T03:11:29Z _death: katco: you can always type some (defvar *my-foo*) in the repl, then in the function (setf *my-foo* my-foo) and inspect it after running 2014-11-29T03:11:59Z katco: _death: that's a good idea... does slime not have any kind of breakpoint functionality? elisp is kind of nice in that regard 2014-11-29T03:12:02Z _death: katco: you can use (break) to enter the debugger, from which you can inspect stuff as well 2014-11-29T03:12:24Z katco: _death: oh nice! just in the middle of the function? 2014-11-29T03:12:28Z _death: yes 2014-11-29T03:12:48Z katco: _death: is there a way to tell emacs/slime to inject that silently (e.g. click in the fringe or something) 2014-11-29T03:13:11Z _death: hmm not that I know of.. 2014-11-29T03:13:33Z katco: _death: that would be really nice to be able to dynamically insert breaks wherever you clicked 2014-11-29T03:13:43Z katco: _death: and then remove them automatically when you clicked agian 2014-11-29T03:13:52Z _death: I also have (declaim (optimize (debug 3) (safety 3))) in my image btw 2014-11-29T03:14:11Z katco: _death: ah. i haven't set anything like that yet 2014-11-29T03:14:23Z katco: _death: are those generally good values for debugging? 2014-11-29T03:14:24Z _death: well, I think that kind of feature doesn't make sense in Lisp 2014-11-29T03:14:28Z katco: slash development? 2014-11-29T03:14:35Z _death: since you can't just stick (break) somewhere and expect it to work 2014-11-29T03:14:44Z katco: _death: oh really? 2014-11-29T03:15:06Z _death: katco: yes, think macros :) 2014-11-29T03:15:33Z katco: _death: lol yeah. i guess it would have to be restricted to not-macros :p 2014-11-29T03:16:05Z _death: it's pretty hard to write a lisp program without using macros :) 2014-11-29T03:16:16Z _death: (a nontrivial one) 2014-11-29T03:16:21Z katco: no i don't mean don't use macros 2014-11-29T03:16:30Z katco: i mean don't allow breaks to be set dynamically in a macro 2014-11-29T03:16:49Z katco: well so i set a break in this function, and it worked (yay!) 2014-11-29T03:16:59Z katco: and then i go to the source, inspect this variable 2014-11-29T03:17:01Z Bicyclidine: the vast majority of lisp code is "in a macro". like, defun is a macro 2014-11-29T03:17:12Z _death: no, think (my-macro ... (break) ...) what can you say about that (break)? 2014-11-29T03:17:27Z _death: not much 2014-11-29T03:17:36Z katco: _death: but it still says the variable is unbound... 2014-11-29T03:17:47Z _death: you need to inspect it from the debugger 2014-11-29T03:17:53Z katco: ohh 2014-11-29T03:18:27Z katco: so drill down into the stack frame, there it is 2014-11-29T03:18:31Z katco: return on it 2014-11-29T03:18:42Z katco: and i get information... hm how do i see its value though 2014-11-29T03:19:20Z _death: you can click with the mouse middle button 2014-11-29T03:19:55Z katco: _death: i know what i did wrong, debug level was too low 2014-11-29T03:20:04Z katco: _death: now i can see the values 2014-11-29T03:20:29Z katco: _death: ahhh this is wonderfu!! 2014-11-29T03:20:38Z katco: _death: thank you so much! :) 2014-11-29T03:20:45Z _death: have fun ;) 2014-11-29T03:20:46Z katco: _death: you have made me a happy newbie lisper 2014-11-29T03:20:56Z drdanmaku quit (Quit: Connection closed for inactivity) 2014-11-29T03:20:59Z zRecursive quit (Remote host closed the connection) 2014-11-29T03:23:56Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-29T03:24:00Z zyaku joined #lisp 2014-11-29T03:32:01Z wizzo quit (Remote host closed the connection) 2014-11-29T03:32:53Z theseb quit (Quit: Leaving) 2014-11-29T03:34:57Z fragamus_ joined #lisp 2014-11-29T03:35:12Z dagnachew quit (Quit: WeeChat 1.0.1) 2014-11-29T03:46:30Z oleo__ joined #lisp 2014-11-29T03:47:03Z oleo is now known as Guest27064 2014-11-29T03:47:49Z scymtym_ joined #lisp 2014-11-29T03:48:03Z Guest27064 quit (Ping timeout: 244 seconds) 2014-11-29T03:50:05Z katco: what is the canonical library for working with sockets, e.g. a telnet server? 2014-11-29T03:51:52Z PuercoPop: katco: usocket 2014-11-29T03:52:08Z munksgaard quit (Ping timeout: 256 seconds) 2014-11-29T03:52:26Z katco: PuercoPop: ty! 2014-11-29T03:52:56Z k-dawg quit (Quit: This computer has gone to sleep) 2014-11-29T03:55:05Z oudeis quit (Quit: This computer has gone to sleep) 2014-11-29T04:01:30Z leo2007 quit (Quit: rcirc on GNU Emacs 25.0.50.1) 2014-11-29T04:05:25Z tesuji joined #lisp 2014-11-29T04:09:31Z EvW quit (Ping timeout: 265 seconds) 2014-11-29T04:21:09Z zacharia1 joined #lisp 2014-11-29T04:21:35Z soulbird left #lisp 2014-11-29T04:24:13Z zacharias quit (Ping timeout: 244 seconds) 2014-11-29T04:24:14Z fragamus_ quit (Quit: Computer has gone to sleep.) 2014-11-29T04:29:55Z chu joined #lisp 2014-11-29T04:30:39Z maxpeck quit (Ping timeout: 272 seconds) 2014-11-29T04:32:52Z jumblerg joined #lisp 2014-11-29T04:36:32Z zyaku quit (Ping timeout: 245 seconds) 2014-11-29T04:38:01Z xrash joined #lisp 2014-11-29T04:40:40Z maxpeck joined #lisp 2014-11-29T04:42:05Z maxpeck quit (Remote host closed the connection) 2014-11-29T04:42:36Z tkhoa2711 joined #lisp 2014-11-29T04:44:30Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-29T04:46:28Z jumblerg joined #lisp 2014-11-29T04:48:37Z resttime_ joined #lisp 2014-11-29T04:52:12Z resttime quit (Ping timeout: 256 seconds) 2014-11-29T04:52:32Z resttime_ quit (Read error: Connection reset by peer) 2014-11-29T04:52:59Z attila_lendvai quit (Quit: Leaving.) 2014-11-29T04:53:01Z resttime_ joined #lisp 2014-11-29T04:55:28Z rhollor joined #lisp 2014-11-29T04:56:33Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-29T04:58:27Z xrash quit (Remote host closed the connection) 2014-11-29T04:59:11Z maxpeck joined #lisp 2014-11-29T05:02:13Z bgs101 joined #lisp 2014-11-29T05:03:39Z jumblerg joined #lisp 2014-11-29T05:04:52Z bgs100 quit (Ping timeout: 240 seconds) 2014-11-29T05:05:00Z leo2007 joined #lisp 2014-11-29T05:08:25Z resttime_ quit (Read error: Connection reset by peer) 2014-11-29T05:08:46Z resttime_ joined #lisp 2014-11-29T05:09:22Z milosn joined #lisp 2014-11-29T05:13:28Z pjb` joined #lisp 2014-11-29T05:13:34Z resttime_ quit (Read error: Connection reset by peer) 2014-11-29T05:14:12Z resttime joined #lisp 2014-11-29T05:14:53Z pjb quit (Ping timeout: 264 seconds) 2014-11-29T05:14:55Z ekinmur joined #lisp 2014-11-29T05:16:42Z pjb joined #lisp 2014-11-29T05:17:06Z pjb is now known as Guest84771 2014-11-29T05:18:44Z Guest84771 is now known as pjb 2014-11-29T05:18:47Z pjb` quit (Ping timeout: 272 seconds) 2014-11-29T05:23:36Z resttime_ joined #lisp 2014-11-29T05:24:52Z beach joined #lisp 2014-11-29T05:24:58Z beach: Good morning everyone! 2014-11-29T05:25:00Z bgs101 is now known as bgs100 2014-11-29T05:25:56Z resttime quit (Ping timeout: 264 seconds) 2014-11-29T05:26:26Z resttime_ quit (Client Quit) 2014-11-29T05:27:04Z rhollor: good night!! 2014-11-29T05:34:07Z tkhoa2711 quit (Quit: tkhoa2711) 2014-11-29T05:42:23Z tkhoa2711 joined #lisp 2014-11-29T05:43:52Z beach: Bootstrapping is both hard and fun. 2014-11-29T05:44:16Z beach: I mean "bootstrapping problems", not the bootstrapping itself. 2014-11-29T05:44:39Z psy quit (Remote host closed the connection) 2014-11-29T05:46:39Z psy joined #lisp 2014-11-29T05:47:18Z henesy quit (Ping timeout: 258 seconds) 2014-11-29T05:50:51Z axion: heya guys, how can i sort a list of alists by value? ((a . 2) (b . 1) (c . 3)) => ((b . 1) (a . 2) (c . 3)) 2014-11-29T05:51:12Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-29T05:51:27Z Bicyclidine: axion: :key #'car 2014-11-29T05:51:31Z Bicyclidine: er, cdr 2014-11-29T05:52:35Z drewc: (sort (copy-list '((a . 2) (b . 1))) #'< :key #'cdr) 2014-11-29T05:52:51Z axion: thanks 2014-11-29T05:53:29Z drewc will now pipe up that it should be named CL:NSORT 2014-11-29T05:53:43Z tkhoa2711 quit (Quit: tkhoa2711) 2014-11-29T05:54:43Z jlarocco joined #lisp 2014-11-29T05:58:30Z rhollor: cdr will return it in list form, which can't be compared 2014-11-29T05:59:07Z rhollor: sorry, nevermind 2014-11-29T05:59:32Z henesy joined #lisp 2014-11-29T05:59:45Z rhollor: I forgot that it consed to a value other than nil 2014-11-29T06:01:51Z jlarocco quit (Quit: This computer has gone to sleep) 2014-11-29T06:08:41Z fragamus_ joined #lisp 2014-11-29T06:09:52Z tkhoa2711 joined #lisp 2014-11-29T06:12:19Z jumblerg joined #lisp 2014-11-29T06:13:17Z fragamus_ quit (Ping timeout: 240 seconds) 2014-11-29T06:26:20Z specbot quit (Disconnected by services) 2014-11-29T06:26:24Z specbot joined #lisp 2014-11-29T06:26:31Z frkout_ joined #lisp 2014-11-29T06:27:35Z hugoduncan joined #lisp 2014-11-29T06:31:04Z pok_ joined #lisp 2014-11-29T06:32:21Z rhollor quit (Ping timeout: 244 seconds) 2014-11-29T06:34:11Z agumonkey_ joined #lisp 2014-11-29T06:37:00Z drmeister: beach: Yes - yes it is. 2014-11-29T06:37:14Z zacharia1 quit (*.net *.split) 2014-11-29T06:37:14Z agumonkey quit (*.net *.split) 2014-11-29T06:37:14Z frkout quit (*.net *.split) 2014-11-29T06:37:14Z ferada quit (*.net *.split) 2014-11-29T06:37:14Z _5kg quit (*.net *.split) 2014-11-29T06:37:15Z loke quit (*.net *.split) 2014-11-29T06:37:15Z nightfly quit (*.net *.split) 2014-11-29T06:37:15Z hugod quit (*.net *.split) 2014-11-29T06:37:15Z pok quit (*.net *.split) 2014-11-29T06:38:35Z beach: In the beginning when I started writing SICL, I had this hunch that I could use the full Common Lisp language to write the macros and such, but I wasn't quite sure how it would work out. Now I do! :) 2014-11-29T06:38:37Z _5kg joined #lisp 2014-11-29T06:39:18Z loke joined #lisp 2014-11-29T06:39:39Z nightfly joined #lisp 2014-11-29T06:39:56Z zacharia1 joined #lisp 2014-11-29T06:42:52Z drmeister: I'm off to bed. I almost have the new calling convention in place. 2014-11-29T06:43:13Z beach: Congratulations, and good night. 2014-11-29T06:45:31Z pppp2 joined #lisp 2014-11-29T06:45:59Z ekinmur quit (Quit: no longer available) 2014-11-29T06:46:01Z pppp2 quit (Remote host closed the connection) 2014-11-29T06:51:20Z ekinmur joined #lisp 2014-11-29T06:51:28Z slacko80541 joined #lisp 2014-11-29T06:55:36Z ekinmur quit (Ping timeout: 244 seconds) 2014-11-29T06:55:44Z chu quit (Read error: Connection reset by peer) 2014-11-29T06:55:52Z tkhoa2711 quit (Quit: tkhoa2711) 2014-11-29T07:00:07Z pppp2 joined #lisp 2014-11-29T07:04:01Z pt1 joined #lisp 2014-11-29T07:14:26Z gingerale joined #lisp 2014-11-29T07:18:57Z Beetny quit (Ping timeout: 240 seconds) 2014-11-29T07:19:32Z rszeno joined #lisp 2014-11-29T07:22:45Z pt1 quit (Remote host closed the connection) 2014-11-29T07:23:59Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-29T07:26:32Z yeticry quit (Ping timeout: 245 seconds) 2014-11-29T07:27:10Z yeticry joined #lisp 2014-11-29T07:27:19Z meiji11 joined #lisp 2014-11-29T07:41:31Z jtza8 joined #lisp 2014-11-29T07:46:51Z beach: The error message "The value 234 is not of type LIST." has got to be one of the more stupid ones. 2014-11-29T07:47:23Z beach: I mean, does it contain *any* information to even a newbie Common Lisp programmer? 2014-11-29T07:52:14Z vaporatorius joined #lisp 2014-11-29T07:52:17Z Shinmera joined #lisp 2014-11-29T08:04:35Z Vutral quit (Read error: Connection reset by peer) 2014-11-29T08:05:58Z alexey1 joined #lisp 2014-11-29T08:12:18Z chu joined #lisp 2014-11-29T08:13:56Z jewel quit (Ping timeout: 256 seconds) 2014-11-29T08:14:07Z innertracks quit (Remote host closed the connection) 2014-11-29T08:15:24Z mrSpec joined #lisp 2014-11-29T08:15:26Z mrSpec quit (Changing host) 2014-11-29T08:15:26Z mrSpec joined #lisp 2014-11-29T08:23:13Z Beetny_ joined #lisp 2014-11-29T08:26:32Z jtza8 quit (Ping timeout: 244 seconds) 2014-11-29T08:30:03Z defaultxr quit (Quit: gnight) 2014-11-29T08:31:25Z stacksmith: beach, what do you mean? It says plainly that it's not a list, but a value... 2014-11-29T08:32:01Z beach: Even a newbie programmer knows that 234 is not a list. So the message contains no information. 2014-11-29T08:32:15Z beach: Lists are values too, by the way. 2014-11-29T08:33:46Z beach: Now, if it had said something like "The function CAR was given the value 234, but it expected a LIST." then that would have been a different matter. 2014-11-29T08:34:23Z stacksmith: Agreed. 2014-11-29T08:34:48Z Vutral joined #lisp 2014-11-29T08:35:08Z stacksmith: I see what you mean now. 2014-11-29T08:35:27Z beach: Good! :) 2014-11-29T08:36:42Z alexey1 quit (Remote host closed the connection) 2014-11-29T08:38:03Z ASau` joined #lisp 2014-11-29T08:38:13Z slacko80541 quit (Remote host closed the connection) 2014-11-29T08:40:30Z jtza8 joined #lisp 2014-11-29T08:41:27Z ASau quit (Ping timeout: 272 seconds) 2014-11-29T08:42:34Z ehu_ joined #lisp 2014-11-29T08:44:18Z InvalidCo quit (Ping timeout: 250 seconds) 2014-11-29T08:44:32Z Shinmera: What's happening in Lisp land on a Saturday morning? 2014-11-29T08:45:01Z ehu quit (Ping timeout: 265 seconds) 2014-11-29T08:47:05Z beach: Shinmera: I am slowly understanding how to accomplish what was a hunch when I started writing SICL, namely how to get away with using the full language to write the macros. 2014-11-29T08:47:15Z test1600 joined #lisp 2014-11-29T08:47:40Z Shinmera: beach: I'm not sure I know what that means, entirely. 2014-11-29T08:47:59Z beach: It's about bootstrapping. 2014-11-29T08:48:30Z Shinmera: That much I read, but what do you mean with "the macros"? 2014-11-29T08:48:31Z beach: Many people bootstrap Common Lisp from some other language, or from an impoverished version of Common Lisp. 2014-11-29T08:49:14Z beach: When I started writing SICL macros such as DEFUN, or LOOP, I kind of knew I could use the full language. 2014-11-29T08:49:14Z Shinmera: Right, I've read a couple of entries about SBCL's efforts in that area. 2014-11-29T08:49:37Z beach: So my LOOP implementation uses CLOS, and yes, LOOP. :) 2014-11-29T08:50:00Z Shinmera: So you're referring to the problem of bridging over between the two worlds, so to speak? 2014-11-29T08:50:26Z beach: Yes, to get a target system running from a host system. 2014-11-29T08:50:37Z beach: And I had a hunch that it would be possible, but I wasn't sure how. 2014-11-29T08:51:22Z beach: For example SBCL plays with the package system, so that when they define Common Lisp macros, they define them in some package other than COMMON-LISP. 2014-11-29T08:51:39Z Shinmera: That would be my first, obvious guess as to how to do it. 2014-11-29T08:51:58Z beach: They have to do it that way because they have only one single global environment. 2014-11-29T08:52:10Z Shinmera: Right. 2014-11-29T08:52:12Z beach: In SICL, I have first-class global environment. 2014-11-29T08:52:30Z Shinmera: Yeah, I think I see where this is going. 2014-11-29T08:52:46Z mwsb joined #lisp 2014-11-29T08:53:02Z beach: So I am setting up an environment that initially contains host functions. I use that to define macros. Those macros can then be used to define replacement functions and more macros. 2014-11-29T08:53:57Z Shinmera: Right, so basically you're first copying the host to an environment where you can change it 2014-11-29T08:54:19Z beach: I am copying host *functions* to it. Not its macros. 2014-11-29T08:54:26Z beach: Not even all host functions. 2014-11-29T08:54:41Z beach: Only the ones that I need in order to execute macro expanders. 2014-11-29T08:54:48Z beach: [basically] 2014-11-29T08:55:04Z Shinmera: Couldn't you also just copy everything, replace things incrementally and then lock the package? 2014-11-29T08:55:12Z beach: I could. 2014-11-29T08:55:20Z Shinmera: But.. I'm guessing that would cause problems? 2014-11-29T08:55:37Z mwsb quit (Client Quit) 2014-11-29T08:56:03Z beach: Probably not. But some stuff is going to be useless immediately, such as the environment functions like FDEFINITION, SYMBOL-VALUE, etc. 2014-11-29T08:56:17Z ndrei quit (Quit: Lost terminal) 2014-11-29T08:56:34Z ndrei joined #lisp 2014-11-29T08:56:34Z ndrei quit (Client Quit) 2014-11-29T08:56:45Z beach: Those functions need to work in the SICL first-class environment from the start. 2014-11-29T08:56:59Z milosn quit (Quit: Lost terminal) 2014-11-29T08:57:11Z bgs100 quit (Quit: bgs100) 2014-11-29T08:57:23Z ndrei joined #lisp 2014-11-29T08:57:30Z Shinmera: Right. I'm more thinking that if you copy everything you could test things quicker since you'll always have a more or less complete environment. 2014-11-29T08:57:55Z beach: Maybe. I will have to think about that. 2014-11-29T08:57:58Z ndrei quit (Client Quit) 2014-11-29T08:58:48Z rszeno quit (Quit: Leaving.) 2014-11-29T09:00:11Z mwsb joined #lisp 2014-11-29T09:00:31Z beach: Initially, I thought I would use the package-renaming trick when bootstrapping CLOS (which I do early on), but it became unmanageable, mainly because I needed two simultaneous versions of some metaobject accessors, working on different representations of the metaobject. 2014-11-29T09:00:59Z Shinmera: That sounds quite painful. 2014-11-29T09:01:50Z beach: It was, but I think first-class global environments will solve the problem. They will exist in two different environments. Functions in one environment work on one representation. Functions in the other environment work on a different representation. 2014-11-29T09:02:25Z beach: Still not trivial to accomplish, but it should be a lot less messy. 2014-11-29T09:02:46Z Karl_Dscc joined #lisp 2014-11-29T09:03:14Z Shinmera: I can't quite visualise it yet, but I'm sure I'll get a better understanding as you make progress on it. 2014-11-29T09:03:48Z beach: It is quite understandable that you can't visualize it. It has taken me a year or so to figure it out. 2014-11-29T09:04:21Z beach: But I'll make sure the method is thoroughly documented. 2014-11-29T09:04:35Z beach: I think I'll submit a paper to ELS2015 about it. 2014-11-29T09:05:10Z Shinmera looks anxiously around himself as he is reminded that the radiance spec is still pretty much inexistent. 2014-11-29T09:06:14Z Shinmera: I really wish I could attend the ELS or ILC, but I think that's not possible with being a student at the moment. 2014-11-29T09:06:45Z beach: 2015 it will be in London, so transportation should be affordable. 2014-11-29T09:07:03Z beach: Ask a professor to finance it for you. 2014-11-29T09:07:11Z zacharia1 quit (Quit: WeeChat 0.4.3) 2014-11-29T09:07:18Z beach: They have grants for that kind of stuff. 2014-11-29T09:07:25Z Shinmera: I'm in my first year of the bachelor, so I'm nowhere near that kind of treatment, haha 2014-11-29T09:07:50Z beach: Oh, well. In a few years maybe then. 2014-11-29T09:07:56Z Shinmera: Yes, I hope so. 2014-11-29T09:08:13Z alexey1 joined #lisp 2014-11-29T09:09:16Z oleo__ quit (Quit: Verlassend) 2014-11-29T09:10:10Z beach: Shinmera: Here is a trick: submit a paper. If it is accepted, you then go cry to the faculty that you can't afford to go. They will pay you because it will improve their status in the Shanghai ranking. 2014-11-29T09:10:34Z Shinmera: Heh, I'll keep that in mind. 2014-11-29T09:10:34Z mwsb quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-29T09:10:43Z beach: Plus, you will forever be remembered by the faculty members. :) 2014-11-29T09:10:58Z Shinmera: That could go either way 2014-11-29T09:11:06Z beach: Nah, trust me. 2014-11-29T09:11:46Z Shinmera: Yeah, I'll keep it in mind, thanks 2014-11-29T09:12:08Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-29T09:13:38Z Shinmera: But first I need to study more and code less, I suppose. 2014-11-29T09:14:19Z lavokad joined #lisp 2014-11-29T09:16:18Z beach: At least study more. 2014-11-29T09:22:54Z quazimodo quit (Quit: leaving) 2014-11-29T09:23:11Z quazimodo joined #lisp 2014-11-29T09:24:32Z Lowl3v3l joined #lisp 2014-11-29T09:26:31Z nostoi joined #lisp 2014-11-29T09:30:52Z oleo joined #lisp 2014-11-29T09:31:06Z leo2007 quit (Quit: rcirc on GNU Emacs 25.0.50.1) 2014-11-29T09:31:50Z mishoo joined #lisp 2014-11-29T09:33:13Z grungier quit (Remote host closed the connection) 2014-11-29T09:33:38Z zymurgy quit (Quit: WeeChat 0.3.8) 2014-11-29T09:35:08Z atgreen joined #lisp 2014-11-29T09:36:49Z meiji11 quit (Remote host closed the connection) 2014-11-29T09:37:05Z milosn joined #lisp 2014-11-29T09:38:30Z chu joined #lisp 2014-11-29T09:41:53Z grungier joined #lisp 2014-11-29T09:42:34Z zymurgy joined #lisp 2014-11-29T09:49:15Z CrazyWoods joined #lisp 2014-11-29T10:04:11Z tharugrim quit (Ping timeout: 244 seconds) 2014-11-29T10:06:34Z fikusz quit (Quit: Leaving) 2014-11-29T10:06:42Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-11-29T10:06:50Z Shinmera joined #lisp 2014-11-29T10:07:13Z Shinmera quit (Client Quit) 2014-11-29T10:08:49Z fikusz joined #lisp 2014-11-29T10:09:12Z Shinmera joined #lisp 2014-11-29T10:10:13Z MrWoohoo joined #lisp 2014-11-29T10:10:54Z BitPuffin joined #lisp 2014-11-29T10:11:14Z nha_ joined #lisp 2014-11-29T10:14:57Z zacharias joined #lisp 2014-11-29T10:15:47Z alexey1 quit (Remote host closed the connection) 2014-11-29T10:17:32Z jtza8 quit (Ping timeout: 264 seconds) 2014-11-29T10:17:37Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-29T10:17:47Z mishoo_ joined #lisp 2014-11-29T10:19:02Z mishoo quit (Ping timeout: 245 seconds) 2014-11-29T10:23:46Z pppp3 joined #lisp 2014-11-29T10:26:39Z pppp4 joined #lisp 2014-11-29T10:27:40Z pppp2 quit (Ping timeout: 256 seconds) 2014-11-29T10:28:25Z tharugrim joined #lisp 2014-11-29T10:30:19Z pppp3 quit (Ping timeout: 252 seconds) 2014-11-29T10:32:31Z Vutral quit (Excess Flood) 2014-11-29T10:42:08Z Vutral joined #lisp 2014-11-29T10:45:52Z BitPuffin quit (Ping timeout: 240 seconds) 2014-11-29T10:46:34Z ehu_ is now known as ehu 2014-11-29T10:51:58Z zacharia1 joined #lisp 2014-11-29T10:53:45Z zacharia1 is now known as zacharias_ 2014-11-29T10:56:05Z nostoi quit (Quit: Verlassend) 2014-11-29T10:56:41Z InvalidCo joined #lisp 2014-11-29T11:02:33Z munksgaard joined #lisp 2014-11-29T11:08:06Z momo-reina joined #lisp 2014-11-29T11:09:08Z pnpuff joined #lisp 2014-11-29T11:13:59Z zacharias_ quit (Quit: WeeChat 0.4.3) 2014-11-29T11:15:45Z momo-reina: Aside from Marco's video on SLIME, are there any other resources on the use of SLDB? 2014-11-29T11:17:41Z beach: momo-reina: The SLIME manual has a chapter on it. 2014-11-29T11:17:44Z test1600 quit (Ping timeout: 258 seconds) 2014-11-29T11:18:14Z beach: http://common-lisp.net/project/slime/doc/html/Debugger.html#Debugger 2014-11-29T11:18:17Z momo-reina: beach: I saw that, but was wondering about observing an actual workflow 2014-11-29T11:18:46Z zacharias_ joined #lisp 2014-11-29T11:19:33Z pnpuff quit (Quit: Lost terminal) 2014-11-29T11:20:04Z schaueho joined #lisp 2014-11-29T11:23:50Z zacharias quit (Quit: WeeChat 0.4.3) 2014-11-29T11:24:00Z zacharias_ is now known as zacharias 2014-11-29T11:30:05Z k-stz joined #lisp 2014-11-29T11:31:28Z ferada joined #lisp 2014-11-29T11:39:37Z Shinmera: Does anyone know of a library that gives me disk space information for a pathname on at least lin/mac/win? 2014-11-29T11:39:45Z Shinmera: I couldn't find anything in uiop at least. 2014-11-29T11:40:28Z ananda joined #lisp 2014-11-29T11:40:41Z urandom__ joined #lisp 2014-11-29T11:43:46Z CrazyWoods quit (Quit: leaving) 2014-11-29T11:45:22Z momo-reina quit (Ping timeout: 240 seconds) 2014-11-29T11:48:29Z test1600 joined #lisp 2014-11-29T11:51:09Z ch077179 joined #lisp 2014-11-29T11:52:22Z mishoo_ quit (Ping timeout: 250 seconds) 2014-11-29T11:54:57Z ggole joined #lisp 2014-11-29T11:58:09Z test1600 quit (Read error: Connection reset by peer) 2014-11-29T12:06:57Z edgar-rft quit (Quit: activity destroyed because computer died) 2014-11-29T12:10:33Z alexey1 joined #lisp 2014-11-29T12:11:15Z BitPuffin joined #lisp 2014-11-29T12:17:29Z heurist quit (Ping timeout: 244 seconds) 2014-11-29T12:19:20Z Petit_Dejeuner_ joined #lisp 2014-11-29T12:22:41Z Petit_Dejeuner quit (Ping timeout: 264 seconds) 2014-11-29T12:23:49Z ASau` is now known as ASau 2014-11-29T12:26:21Z Petit_Dejeuner_ quit (Ping timeout: 258 seconds) 2014-11-29T12:26:59Z alexey1 quit (Remote host closed the connection) 2014-11-29T12:36:09Z pppp3 joined #lisp 2014-11-29T12:36:36Z Lowl3v3l quit (Read error: Connection reset by peer) 2014-11-29T12:39:23Z pppp4 quit (Ping timeout: 252 seconds) 2014-11-29T12:41:32Z bjorkintosh quit (Ping timeout: 245 seconds) 2014-11-29T12:43:04Z pppp3 quit (Read error: Connection reset by peer) 2014-11-29T12:43:48Z pppp3 joined #lisp 2014-11-29T12:49:56Z kcj quit (Read error: Connection reset by peer) 2014-11-29T12:57:52Z pppp4 joined #lisp 2014-11-29T13:00:53Z pppp3 quit (Ping timeout: 244 seconds) 2014-11-29T13:03:16Z chu joined #lisp 2014-11-29T13:03:28Z pppp4 quit (Read error: Connection reset by peer) 2014-11-29T13:04:56Z alexey1 joined #lisp 2014-11-29T13:05:55Z pppp2 joined #lisp 2014-11-29T13:10:57Z pppp2 quit (Read error: Connection reset by peer) 2014-11-29T13:13:12Z pppp2 joined #lisp 2014-11-29T13:14:16Z hiroaki joined #lisp 2014-11-29T13:15:09Z oudeis joined #lisp 2014-11-29T13:15:41Z pppp2 quit (Read error: No route to host) 2014-11-29T13:16:22Z pppp2 joined #lisp 2014-11-29T13:18:34Z pppp3 joined #lisp 2014-11-29T13:21:01Z pppp4 joined #lisp 2014-11-29T13:21:07Z pppp2 quit (Ping timeout: 245 seconds) 2014-11-29T13:22:43Z TDog quit (Quit: ChatZilla 0.9.91 [Firefox 33.1/20141106120505]) 2014-11-29T13:23:42Z drdanmaku joined #lisp 2014-11-29T13:24:29Z pppp3 quit (Ping timeout: 264 seconds) 2014-11-29T13:28:08Z BitPuffin quit (Ping timeout: 250 seconds) 2014-11-29T13:38:38Z Beetny_ quit (Ping timeout: 256 seconds) 2014-11-29T13:41:28Z Harag joined #lisp 2014-11-29T13:42:26Z hiroaki quit (Ping timeout: 250 seconds) 2014-11-29T13:50:11Z milosn quit (Remote host closed the connection) 2014-11-29T13:52:59Z hiroaki joined #lisp 2014-11-29T13:55:05Z alexey1 quit (Remote host closed the connection) 2014-11-29T13:59:04Z EvW joined #lisp 2014-11-29T14:00:25Z pt1 joined #lisp 2014-11-29T14:01:07Z hiroaki quit (Ping timeout: 265 seconds) 2014-11-29T14:02:21Z gendl_ joined #lisp 2014-11-29T14:03:12Z boogie joined #lisp 2014-11-29T14:04:36Z heurist joined #lisp 2014-11-29T14:05:00Z gendl_ quit (Remote host closed the connection) 2014-11-29T14:05:27Z doki-worry joined #lisp 2014-11-29T14:09:06Z beach: Suppose I have some ASDF system in some directory. Suppose also that one of the components of the system, when the FASL is loaded, should open a file, where the location of the file is fixed relative to the directory in which the ASDF system is located. How can I make sure it finds the file, even though the current directory may be different when the system is built? 2014-11-29T14:09:31Z beach: There has got to be an idiom for that. 2014-11-29T14:11:45Z beach: .. involving *LOAD-TRUENAME* or something? 2014-11-29T14:12:23Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-29T14:12:54Z Shinmera: You can get the path to the system definition's directory with asdf:system-source-directory (and paths relative to that with asdf:system-relative-pathname) 2014-11-29T14:14:56Z beach: Where would I call those from? 2014-11-29T14:15:07Z jtza8 joined #lisp 2014-11-29T14:15:40Z Shinmera: I'm not sure I entirely understand the difficulty of your problem.. 2014-11-29T14:16:02Z Shinmera: What do you mean by "current directory"? 2014-11-29T14:16:09Z beach: ,pwd 2014-11-29T14:16:12Z Shinmera: Ah. 2014-11-29T14:16:29Z Shinmera: ASDF will always keep track of the system location 2014-11-29T14:16:42Z beach: Yes, it does. 2014-11-29T14:16:45Z beach: Luckily. 2014-11-29T14:16:46Z Shinmera: so you can call the above functions at any time that the system definition is known. 2014-11-29T14:17:15Z beach: OK, I'll check them out. Thanks. 2014-11-29T14:17:34Z Shinmera: So, simply (with-open-file (stream (asdf:system-relative-pathname :my-system "some-file") ..) ..) 2014-11-29T14:18:59Z LiamH joined #lisp 2014-11-29T14:19:27Z beach: Neat! Thanks. 2014-11-29T14:21:53Z beach: Exactly what I was looking for! Thanks again. 2014-11-29T14:23:07Z Shinmera: No problem. 2014-11-29T14:27:08Z resttime joined #lisp 2014-11-29T14:29:01Z jtza8 quit (Remote host closed the connection) 2014-11-29T14:29:24Z schaueho quit (Ping timeout: 258 seconds) 2014-11-29T14:44:11Z madmalik joined #lisp 2014-11-29T14:47:30Z faheem_: hi beach. I hear exciting things are happening with Cleavir. In combination with Clasp. 2014-11-29T14:48:59Z beach: faheem_: I am not sure drmeister has really started that part yet. His idea is to translate Cleavir HIR to LLVM. 2014-11-29T14:49:44Z drmeister: Don't believe everything you hear 2014-11-29T14:49:54Z wasamasa: lol 2014-11-29T14:49:55Z drmeister: That's general advice. This, what you hear, this you can believe 2014-11-29T14:50:06Z beach: Heh! I thought you were working on argument passing at the moment. 2014-11-29T14:50:55Z faheem_: beach: well, i don't know the details. i guess it is just a general "exciting things" vibe. 2014-11-29T14:51:03Z drmeister: I'm doing the ground work to incorporate cleavir. I'm starting with the ENTRY HIR instruction. 2014-11-29T14:51:12Z beach: faheem_: Yeah. That's good. 2014-11-29T14:52:10Z beach: drmeister: I hope I can stay ahead of you sufficiently that you won't run into too many defects. 2014-11-29T14:52:52Z beach: drmeister: I am currently debugging MULTIPLE-VALUE-CALL-INSTRUCTION, a recent addition. 2014-11-29T14:53:20Z drmeister: My argument handling code uses my compilers code generation facility for the init forms for &optional (XXX foo) and &keyword (YYY bar) and only returns XXX-p, YYY-p values if they are asked for. I need to rewrite it so that it always returns the XXX-p values and doesn't generate code for the init forms. Cleavir will do that. 2014-11-29T14:53:25Z ananda: anyone experience to program microcontroller with lisp programming language 2014-11-29T14:54:42Z maxpeck: ananda: Look at Arduino Lisp. Compiles to a subset of C++. (http://sourceforge.net/projects/arduinolisp/develop) 2014-11-29T14:55:01Z maxpeck: ananda: Note that my recommendation comes with the caveat that I have heard about it, but not used it. ;-) 2014-11-29T14:55:21Z beach: drmeister: Sounds right. 2014-11-29T14:56:01Z drmeister: Got it! ( cmp:compile 'foo '(lambda (a0 a1 a2 a3 a4 a5 a6 a7 ) ( bar 1 2 3))) --> 2014-11-29T14:56:14Z drmeister: Those of you with delicate constitutions, cover your eyes! 2014-11-29T14:56:27Z drmeister: https://www.irccloud.com/pastebin/JYgJacL7 2014-11-29T14:56:28Z beach: Done! 2014-11-29T14:56:42Z EvW quit (Ping timeout: 265 seconds) 2014-11-29T14:57:09Z Shinmera: That's some good code soup. 2014-11-29T14:57:26Z boogie quit (Remote host closed the connection) 2014-11-29T14:58:23Z tcr joined #lisp 2014-11-29T14:58:43Z drmeister: Five arguments in variables (check) passes and receives excess arguments by writing them too/from the multiple-values array on the stack (check) returns result in a multiple-values pointer [pointer,number-of-values] (check) 2014-11-29T14:59:03Z ananda: thaks for respons i hear if its more efficient code than C programming is it right ? 2014-11-29T14:59:38Z drmeister: maxpeck: Check out Clasp - it compiles to LLVM-IR. 2014-11-29T14:59:49Z drmeister: Whoops - sorry. 2014-11-29T15:00:00Z drmeister: ananda: Check out Clasp - it compiles to LLVM-IR 2014-11-29T15:00:47Z beach: ananda: It depends on the compiler. Currently, Clasp does not generate code that is faster than C. 2014-11-29T15:00:50Z drmeister: Five arguments in _registers_ (sigh) 2014-11-29T15:01:04Z alpha-: yummy spaghetti 2014-11-29T15:01:22Z beach: ananda: Or perhaps you are talking about human efficiency during programming? 2014-11-29T15:01:39Z drmeister: Right - not yet. But other than overhead from boxing/unboxing it will. 2014-11-29T15:01:56Z maxpeck: drmeister: No problem, I hadn't heard of Clasp anyway. :-) 2014-11-29T15:03:21Z drmeister: And you can see the IR and compare it to the IR generated by Clang for similar functions. We can make it faster. 2014-11-29T15:03:31Z jlarocco joined #lisp 2014-11-29T15:03:54Z ggole: drmeister: oh nice. Does it work? Is it any faster? 2014-11-29T15:04:08Z drmeister is pretty excited right now that he pretty much completely rewrote his calling convention in a day. 2014-11-29T15:04:21Z drmeister: Does it work? Dunno, I haven't tried it. Trying now. 2014-11-29T15:04:45Z ananda: have you experience to use that drmeister ? 2014-11-29T15:05:26Z ananda: i am intersting to program using LISP instead C 2014-11-29T15:05:30Z drmeister: No, it segfaults when it calls FOO. That's just nature's way of saying "keep trying". 2014-11-29T15:05:42Z scymtym_ quit (Ping timeout: 245 seconds) 2014-11-29T15:06:17Z drmeister: ananda: I'm writing it. I also am interested in programming in Lisp instead of C/C++. So I wrote a Lisp that interoperates with C++/C so that I can still use C++/C libraries. 2014-11-29T15:06:24Z beach: ananda: That's good. The choices of Common Lisp systems for microcontrollers might be a bit limited. 2014-11-29T15:06:27Z araujo joined #lisp 2014-11-29T15:07:00Z doki-wor` joined #lisp 2014-11-29T15:07:07Z ananda: hmmm.... but i hear some project on military is US use lisp as main 2014-11-29T15:07:41Z maxpeck: ananda: Potentially they are not running their code directly on the bare metal. Likely running on top of Linux or something. 2014-11-29T15:09:42Z oudeis quit (Quit: This computer has gone to sleep) 2014-11-29T15:10:19Z doki-worry quit (Ping timeout: 272 seconds) 2014-11-29T15:11:28Z faheem_: beach: doesn't CL use too much memory for microcontrollers? 2014-11-29T15:11:31Z tkhoa2711 joined #lisp 2014-11-29T15:13:55Z p_l: faheem_: depends what is your microcontroller... 2014-11-29T15:13:57Z ananda: if i can req maybe you can make that compiler for windows too... 2014-11-29T15:14:36Z p_l: faheem_: also, a lot of old JPL projects used Lisp to generate code for constrained devices (along with having specialized implementations for medium-sized ones) 2014-11-29T15:15:14Z faheem_: p_l: yes, that is true. like the famous mars rover thingy. 2014-11-29T15:15:30Z faheem_: but these days CL seems to use quite a lot of memory 2014-11-29T15:15:33Z Nshag quit (Read error: Connection reset by peer) 2014-11-29T15:15:36Z p_l: today, a microcontroller can easily have more resources that ground station machines used to monitor Space Shuttle launch 2014-11-29T15:16:01Z drmeister: ananda: Clasp is very new and pretty rough around the edges. The only reason I suggest it is because it generates LLVM-IR rather than C or C++ and LLVM-IR is the output of the Clang C++/C compiler. It cuts out the middle-man C/C++. 2014-11-29T15:16:06Z Nshag joined #lisp 2014-11-29T15:16:12Z p_l: faheem_: because you're looking at implementations geared for "normal" computers, which benefit in their GC design from using lots of *address* space 2014-11-29T15:16:19Z maxpeck: Worth a read: http://www.flownet.com/gat/jpl-lisp.html 2014-11-29T15:16:43Z faheem_: p_l: yes, good point. i don't know about anything but "normal" 2014-11-29T15:17:17Z faheem_: i don't even really know what a micro-controller is. is this something you might stick in a washing machine or suchlike? 2014-11-29T15:17:39Z maxpeck: That sort of thing, yes. 2014-11-29T15:17:50Z |3b|: there are (or at least used to be) CL implementations that ran in 8MB or so, not sure if that qualifies as "microcontroller" yet or not 2014-11-29T15:18:10Z p_l: faheem_: kind of. Think of a CPU+memory + dedicated I/O stuff for easily controlling machinery 2014-11-29T15:18:25Z faheem_: p_l: ok 2014-11-29T15:18:26Z drmeister: ananda: It will be a while before Clasp will compile on Windows. 2014-11-29T15:18:34Z |3b|: i think clisp uses a few MB, but probably also wants a reasonably large OS 2014-11-29T15:18:43Z drmeister: The Clang compiler doesn't support exception handling on Windows. 2014-11-29T15:18:53Z faheem_: there's Debian packaging for Clasp if anyone is interested. requires a patched Boehm though. 2014-11-29T15:19:26Z p_l: that said, micro-controller can go from very simplistic device with <256 bytes of ram to gigabytes of memory, multicore cpu 2014-11-29T15:19:29Z faheem_: is CL in general use on things like micro-controllers? 2014-11-29T15:19:39Z p_l: faheem_: no 2014-11-29T15:19:44Z faheem_: or embedded devices? 2014-11-29T15:19:50Z faheem_: p_l: ok 2014-11-29T15:20:04Z p_l: mind you, there have been recent moves to put JS on micros, CL is not that far behind ;) 2014-11-29T15:21:26Z attila_lendvai joined #lisp 2014-11-29T15:21:26Z attila_lendvai quit (Changing host) 2014-11-29T15:21:26Z attila_lendvai joined #lisp 2014-11-29T15:21:30Z |3b| isn't sure you could call CL in "general use" even on desktops :p most CL use is probably on desktops rather than microcontroller/embedded though 2014-11-29T15:22:06Z ananda: how about ECL / gforth as uC compiler ? 2014-11-29T15:22:11Z ananda: is it worth 2014-11-29T15:22:18Z |3b|: writing compilers for smaller microcontrollers in CL is probably more common 2014-11-29T15:22:38Z |3b|: (than running full CL on them i mean) 2014-11-29T15:23:57Z Shinmera: In minor cl things, I finally recreated my primitive file box in CL http://shinmera.tymoon.eu/public/screenshot-2014.11.29-16:21:45.png 2014-11-29T15:24:52Z xorpse quit (Ping timeout: 240 seconds) 2014-11-29T15:25:45Z Longlius quit (Ping timeout: 258 seconds) 2014-11-29T15:26:53Z xorpse joined #lisp 2014-11-29T15:27:09Z Longlius joined #lisp 2014-11-29T15:30:29Z pt1_ joined #lisp 2014-11-29T15:30:42Z oudeis joined #lisp 2014-11-29T15:33:40Z pt1 quit (Ping timeout: 256 seconds) 2014-11-29T15:34:13Z p_l: ananda: an approach similar to one taken by mocl could also work 2014-11-29T15:34:15Z beach: Shinmera: What is the license of your code? 2014-11-29T15:34:23Z Shinmera: beach: Artistic 2, usually. 2014-11-29T15:35:11Z beach: I was thinking I might steal some of it at some point for CLIMatis. 2014-11-29T15:35:13Z Longlius quit (Ping timeout: 255 seconds) 2014-11-29T15:35:59Z Shinmera: I think it should permit that. 2014-11-29T15:36:04Z beach: I think so too. 2014-11-29T15:36:12Z beach: CLIMatis is basically public domain. 2014-11-29T15:36:17Z Shinmera: Otherwise I'll gladly give you permission anyway. 2014-11-29T15:36:31Z beach: Excellent! I might take you up on that. 2014-11-29T15:37:23Z Shinmera only really chose Artistic because of the linkback and rename clauses that he prefers over MIT. 2014-11-29T15:38:39Z ekinmur joined #lisp 2014-11-29T15:39:33Z doki-wor` quit (Ping timeout: 258 seconds) 2014-11-29T15:41:03Z drmeister: ananda: I'm not aware the ECL and gforth work together in any way. 2014-11-29T15:43:07Z ekinmur quit (Ping timeout: 244 seconds) 2014-11-29T15:49:20Z beach: drmeister: Compiling MULTIPLE-VALUE-CALL-AST to HIR seems to work. 2014-11-29T15:51:21Z tkhoa2711 quit (Quit: tkhoa2711) 2014-11-29T15:53:04Z oleo__ joined #lisp 2014-11-29T15:53:16Z pt1_ quit (Read error: Connection reset by peer) 2014-11-29T15:53:29Z pt1 joined #lisp 2014-11-29T15:53:36Z oleo is now known as Guest99591 2014-11-29T15:54:10Z Guest99591 quit (Ping timeout: 250 seconds) 2014-11-29T15:54:39Z ananda: ok thanks 2014-11-29T15:55:26Z boogie joined #lisp 2014-11-29T15:56:22Z Ethan- quit (Ping timeout: 255 seconds) 2014-11-29T15:59:27Z Harag quit (Remote host closed the connection) 2014-11-29T15:59:39Z Harag joined #lisp 2014-11-29T16:01:23Z kapil__ quit (Quit: Connection closed for inactivity) 2014-11-29T16:02:35Z lavokad quit (Remote host closed the connection) 2014-11-29T16:05:17Z Vutral quit (Ping timeout: 245 seconds) 2014-11-29T16:05:37Z TDog joined #lisp 2014-11-29T16:06:48Z hardenedapple joined #lisp 2014-11-29T16:06:53Z pppp4 quit (Read error: Connection reset by peer) 2014-11-29T16:07:32Z Xach: _death: thanks for the librarystorm! 2014-11-29T16:08:18Z oleo__ quit (Quit: Verlassend) 2014-11-29T16:10:49Z lavokad joined #lisp 2014-11-29T16:13:38Z _death: hehe, just small stuff.. but could be convenient to have them in ql, and also may draw patches 2014-11-29T16:16:04Z Shinmera just realised he hasn't released any libraries this month 2014-11-29T16:18:28Z oleo__ joined #lisp 2014-11-29T16:19:07Z tkhoa2711 joined #lisp 2014-11-29T16:21:49Z wglb joined #lisp 2014-11-29T16:21:57Z Vutral joined #lisp 2014-11-29T16:26:31Z psy quit (Quit: Leaving) 2014-11-29T16:34:45Z Bicyclidine quit (Ping timeout: 258 seconds) 2014-11-29T16:38:58Z oleo__ is now known as oleo 2014-11-29T16:39:53Z xrash joined #lisp 2014-11-29T16:41:33Z tkhoa2711 quit (Quit: tkhoa2711) 2014-11-29T16:45:08Z milosn joined #lisp 2014-11-29T16:47:46Z lavokad quit (Remote host closed the connection) 2014-11-29T16:48:30Z lavokad joined #lisp 2014-11-29T16:50:28Z echo-area joined #lisp 2014-11-29T16:52:58Z theos quit (Disconnected by services) 2014-11-29T16:53:29Z theos joined #lisp 2014-11-29T16:54:37Z milesrout quit (Ping timeout: 240 seconds) 2014-11-29T16:59:53Z oudeis quit (Quit: This computer has gone to sleep) 2014-11-29T17:00:21Z corni joined #lisp 2014-11-29T17:00:27Z corni quit (Changing host) 2014-11-29T17:00:27Z corni joined #lisp 2014-11-29T17:01:53Z pt1_ joined #lisp 2014-11-29T17:02:03Z dagnachew joined #lisp 2014-11-29T17:02:07Z jlarocco quit (Quit: This computer has gone to sleep) 2014-11-29T17:03:23Z Vutral quit (Ping timeout: 252 seconds) 2014-11-29T17:05:17Z pt1 quit (Ping timeout: 264 seconds) 2014-11-29T17:05:43Z theseb joined #lisp 2014-11-29T17:05:46Z Vutral joined #lisp 2014-11-29T17:07:08Z ananda: librarystorm! ? 2014-11-29T17:07:47Z theseb: please explain difference between (not ,(first args)) and ,(not (first args)) in a macro.....trying to get a sense of what moving COMMA does 2014-11-29T17:08:17Z |3b|: theseb: the stuff inside the , is evaluated when the enclosing ` is evaluated 2014-11-29T17:08:31Z theseb: |3b|: yes 2014-11-29T17:09:07Z theseb: |3b|: both of those give different replacements...my brain can't quite see it that fast yet 2014-11-29T17:09:14Z |3b|: so if ARGS is a list of variable names as you might see in a macro, (not some-variable-name) would probably be false 2014-11-29T17:09:24Z |3b|: if evaluated during macro expansion 2014-11-29T17:09:28Z theseb: |3b|: my "and" macro was giving different answers w/ comma in diff place! 2014-11-29T17:09:51Z |3b|: if it expanded to (not some-variable-name), it would be evaluated when the result is evaluated at which point it would access the variable instead of the symbol 2014-11-29T17:10:09Z |3b|: different things giving different answers is expected :) 2014-11-29T17:10:10Z beach: theseb: Try macroexpanding it to study the difference. It is very enlightening. 2014-11-29T17:10:19Z boogie quit (Remote host closed the connection) 2014-11-29T17:11:28Z theseb: beach: ok...yes that is a nice way to debug 2014-11-29T17:11:41Z theseb: beach: do the pros eventually get to point they can "macroexpand" in their minds? 2014-11-29T17:11:50Z theseb: beach: i certainly cannot and hence make mistakes 2014-11-29T17:12:14Z EvW joined #lisp 2014-11-29T17:12:25Z beach: theseb: Experienced Common Lisp programmers can visualize the result, yes. 2014-11-29T17:12:44Z theseb: beach: nice...the 2 eval steps make mybrain explode atm 2014-11-29T17:12:59Z beach: Things will improve. 2014-11-29T17:13:03Z theseb: :) 2014-11-29T17:13:31Z jlarocco joined #lisp 2014-11-29T17:13:55Z slyrus: drmeister: how are things in clasp-land? 2014-11-29T17:14:13Z xrash quit (Ping timeout: 255 seconds) 2014-11-29T17:14:29Z slyrus: and when do we get demos of you doing useful computational chemistry stuff with it? :) 2014-11-29T17:14:42Z Jesin quit (Quit: Leaving) 2014-11-29T17:14:58Z beach is campaigning for the original use of "amateur" and "professional", i.e. someone who does things for love vs someone who does things for money. 2014-11-29T17:15:41Z oudeis joined #lisp 2014-11-29T17:16:21Z tharugrim quit (Ping timeout: 272 seconds) 2014-11-29T17:16:24Z beach: slyrus: I happen to know that he is trying to get some improvements in performance. He just changed the calling conventions to that end. I believe his next step is to continue trying to translate Cleavir HIR to LLVM. 2014-11-29T17:16:58Z boogie joined #lisp 2014-11-29T17:17:00Z echo-area quit (Remote host closed the connection) 2014-11-29T17:18:25Z tharugrim joined #lisp 2014-11-29T17:18:53Z xrash joined #lisp 2014-11-29T17:21:42Z boogie quit (Ping timeout: 250 seconds) 2014-11-29T17:24:30Z innertracks joined #lisp 2014-11-29T17:25:50Z slyrus: cool 2014-11-29T17:27:56Z slyrus quit (Remote host closed the connection) 2014-11-29T17:30:26Z bgs100 joined #lisp 2014-11-29T17:30:27Z bgs100 quit (Changing host) 2014-11-29T17:30:28Z bgs100 joined #lisp 2014-11-29T17:31:43Z pt1 joined #lisp 2014-11-29T17:32:18Z pt1 quit (Read error: Connection reset by peer) 2014-11-29T17:33:10Z pt1 joined #lisp 2014-11-29T17:34:32Z tcr quit (Quit: Leaving.) 2014-11-29T17:35:14Z pt1_ quit (Ping timeout: 265 seconds) 2014-11-29T17:37:02Z ch077179 quit (Quit: Ex-Chat) 2014-11-29T17:38:13Z wheelsucker joined #lisp 2014-11-29T17:48:44Z boogie joined #lisp 2014-11-29T17:55:37Z psy joined #lisp 2014-11-29T17:58:40Z jlarocco quit (Quit: This computer has gone to sleep) 2014-11-29T17:59:00Z boogie quit (Remote host closed the connection) 2014-11-29T17:59:31Z Longlius joined #lisp 2014-11-29T18:01:00Z xrash quit (Ping timeout: 256 seconds) 2014-11-29T18:03:45Z tharugrim quit (Quit: ZNC - http://znc.in) 2014-11-29T18:04:45Z tharugrim joined #lisp 2014-11-29T18:05:32Z pt1 quit (Ping timeout: 264 seconds) 2014-11-29T18:05:38Z xrash joined #lisp 2014-11-29T18:09:36Z Jesin joined #lisp 2014-11-29T18:10:53Z Harag quit (Ping timeout: 244 seconds) 2014-11-29T18:13:44Z zygentoma joined #lisp 2014-11-29T18:21:28Z puchacz joined #lisp 2014-11-29T18:21:50Z puchacz: hi, have we got something like ispell please? 2014-11-29T18:23:23Z beach: I don't think so. 2014-11-29T18:23:31Z pt1 joined #lisp 2014-11-29T18:23:36Z beach: It would be a valuable project though. Not too hard. 2014-11-29T18:23:55Z beach: Even better if you could include things like possible parts of speech. 2014-11-29T18:27:09Z psy quit (Remote host closed the connection) 2014-11-29T18:29:51Z ghard quit (Ping timeout: 265 seconds) 2014-11-29T18:30:18Z munksgaard quit (Ping timeout: 245 seconds) 2014-11-29T18:31:53Z xrash quit (Remote host closed the connection) 2014-11-29T18:37:16Z Adeon quit (Ping timeout: 256 seconds) 2014-11-29T18:38:57Z Adeon joined #lisp 2014-11-29T18:41:57Z grungier quit (Max SendQ exceeded) 2014-11-29T18:41:58Z ghard joined #lisp 2014-11-29T18:42:09Z superjudge quit (Ping timeout: 256 seconds) 2014-11-29T18:42:21Z clop2 quit (Ping timeout: 256 seconds) 2014-11-29T18:42:40Z Colleen_ joined #lisp 2014-11-29T18:43:03Z Colleen quit (Read error: Connection reset by peer) 2014-11-29T18:43:03Z Colleen_ is now known as Colleen 2014-11-29T18:43:20Z eagleflo quit (Ping timeout: 264 seconds) 2014-11-29T18:43:24Z drmeister: slyrus: Things are going well. 2014-11-29T18:43:38Z eagleflo joined #lisp 2014-11-29T18:43:42Z superjudge joined #lisp 2014-11-29T18:43:51Z beach: drmeister: He left. 2014-11-29T18:43:57Z drmeister: Too bad. 2014-11-29T18:44:12Z drmeister: I had some other stuff to ask him. 2014-11-29T18:44:40Z Shinmera- joined #lisp 2014-11-29T18:44:53Z Shinmera quit (Remote host closed the connection) 2014-11-29T18:45:06Z grungier joined #lisp 2014-11-29T18:45:59Z drmeister: minion: memo for slyrus: Things are going well with Clasp - I hope to have some computational chemistry demos running this winter. I'd like to talk to you about some other stuff - medicinal chemistry related - I don't have your email. If you see me could you poke me? 2014-11-29T18:45:59Z minion: Remembered. I'll tell slyrus when he/she/it next speaks. 2014-11-29T18:46:00Z clop2 joined #lisp 2014-11-29T18:50:32Z ASau quit (Ping timeout: 264 seconds) 2014-11-29T18:50:55Z Tordek quit (Ping timeout: 240 seconds) 2014-11-29T18:50:55Z bend3r quit (Ping timeout: 240 seconds) 2014-11-29T18:51:42Z bend3r joined #lisp 2014-11-29T18:51:48Z Tordek joined #lisp 2014-11-29T18:52:45Z corni quit (Ping timeout: 258 seconds) 2014-11-29T18:53:11Z drmeister: beach: re: "Compiling MULTIPLE-VALUE-CALL-AST to HIR seems to work" Great! I'll pull the latest Cleavir code and try to generate HIR for every form in Clasps Common Lisp source code and report back. 2014-11-29T18:53:52Z beach: drmeister: I still have not made a decision about how to compile the BIND-AST. 2014-11-29T18:56:35Z Khisanth quit (Quit: Leaving) 2014-11-29T18:58:09Z Khisanth joined #lisp 2014-11-29T18:58:27Z GuilOooo quit (Read error: Connection reset by peer) 2014-11-29T18:58:37Z drmeister: What would generate a BIND-AST? 2014-11-29T18:58:53Z beach: A LET of a special variable. 2014-11-29T18:59:00Z GuilOooo joined #lisp 2014-11-29T19:00:36Z drmeister: What are the options? 2014-11-29T19:00:41Z beach: In any case, I'll leave it up to the implementation by adding an IMPLEMENTATION parameter to the conversion. 2014-11-29T19:00:50Z beach: By default, the choices are: 2014-11-29T19:01:02Z beach: 1. Either introduce a BIND instruction. 2014-11-29T19:01:16Z Vutral quit (Ping timeout: 265 seconds) 2014-11-29T19:01:25Z beach: 2. Or turn in into a call to CALL-WITH-BINDING. 2014-11-29T19:01:50Z beach: I prefer number 2, but I can't decide what package that function would be in. 2014-11-29T19:02:09Z Vutral joined #lisp 2014-11-29T19:04:06Z drmeister: A BIND instruction would mean - save the current value, set it to a new value and when the scope ends restore the previous value? 2014-11-29T19:04:08Z beach: I don't like number 1, because then I would have a second instruction (other than ENCLOSE) that takes another instruction as its "input". 2014-11-29T19:04:27Z beach: drmeister: Yeah, pretty much. 2014-11-29T19:04:52Z drmeister: Why would it take another instruction as it's input - is that the code to restore the previous value? 2014-11-29T19:05:10Z beach: drmeister: No, the code to execute while the binding is in effect. 2014-11-29T19:05:27Z beach: I could make that a function, so it would be a normal input. 2014-11-29T19:05:50Z BitPuffin joined #lisp 2014-11-29T19:06:45Z beach: But if I do that, it would be very close to a FUNCALL-INSTRUCTION, hence suggestion number 2. 2014-11-29T19:07:58Z drmeister: beach: Oh, the code to execute while the binding is in effect - that makes more sense. 2014-11-29T19:08:08Z drmeister: And the CALL-WITH-BINDING, how would that work? 2014-11-29T19:09:09Z beach: Call that function with a thunk to execute while the binding is in effect. that function takes the variable name, the value, and the thunk as arguments. 2014-11-29T19:09:22Z Bicyclidine joined #lisp 2014-11-29T19:10:19Z drmeister: Either way one generates another function that evaluates while the binding is in effect? 2014-11-29T19:11:14Z beach: Pretty much. With the BIND instruction, that would be less explicit, but pretty much the only choice. 2014-11-29T19:11:27Z drmeister: I'm thinking how I would implement both of those instructions. I would generate an LLVM function in each case, I think. 2014-11-29T19:11:46Z beach: Yeah. Not many alternatives. 2014-11-29T19:12:09Z beach: So I think I'll go for number 2. I just have to decide the package of the function. 2014-11-29T19:12:30Z beach: ... probably the PRIMOP package that contains CONS-CAR etc. 2014-11-29T19:13:09Z ASau joined #lisp 2014-11-29T19:15:20Z beach: Either way, it can be overridden by an implementation-specific method. 2014-11-29T19:15:49Z drmeister: I think I do it a different way - it's been a while though. I keep track in my environment what special variables have been bound and generate code when leaving the scope of the special variable binding to restore the old value. I also put that code in an exception cleanup clause in case an exception is thrown and the stack unwinds. 2014-11-29T19:16:24Z beach: Yeah, that's one way. 2014-11-29T19:16:46Z drmeister: Ok - I was half expecting you to tell me what was horribly wrong with that. :-) 2014-11-29T19:17:34Z beach: I can't do that, given my feeble knowledge of C++ and LLVM. 2014-11-29T19:18:23Z dagnachew quit (Quit: WeeChat 1.0.1) 2014-11-29T19:18:53Z psy joined #lisp 2014-11-29T19:18:59Z drmeister: I have to make sure to unwind the environment every which way the scope can be left (GO, RETURN-FROM, THROW). Currently I use exceptions for all of them but if the GO destination is in the same function as the GO instruction and it leaves the scope of a special binding then I'd have to ensure that the environment cleanup code is evaluated. 2014-11-29T19:19:01Z jumblerg joined #lisp 2014-11-29T19:19:40Z beach: Of course. 2014-11-29T19:19:50Z beach: And you use shallow binding too, right. 2014-11-29T19:19:54Z beach: ? 2014-11-29T19:20:23Z drmeister: Uh... 2014-11-29T19:20:50Z drmeister: Shallow binding meaning I modify the value cell of my global symbol? And that I have value cells in my symbols? 2014-11-29T19:20:57Z drmeister: If so - yes. 2014-11-29T19:21:36Z beach: http://c2.com/cgi/wiki?ShallowBinding 2014-11-29T19:21:55Z beach: It's a technical term. 2014-11-29T19:22:43Z beach: ... which we have already figured out you need to change when you want threads. 2014-11-29T19:23:01Z drmeister: Yes. 2014-11-29T19:23:08Z drmeister: And yes. 2014-11-29T19:24:48Z jewel joined #lisp 2014-11-29T19:26:53Z dagnachew joined #lisp 2014-11-29T19:26:56Z defaultxr joined #lisp 2014-11-29T19:28:09Z codeberg quit (Ping timeout: 250 seconds) 2014-11-29T19:28:43Z Jesin quit (Ping timeout: 272 seconds) 2014-11-29T19:28:44Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-11-29T19:28:49Z beach: In SICL I am planning to use deep binding. I think the dynamic runtime environment is not going to be very deep. Each stack frame points to its dynamic environment. Undoing a binding is just a matter of restoring the dynamic runtime environment. 2014-11-29T19:29:22Z beach: Furthermore, accessing a value in the dynamic runtime environment is going to be fairly infrequent. 2014-11-29T19:30:30Z drmeister: Can you help me understand your deep binding approach. How do you get the special value of a symbol? 2014-11-29T19:30:55Z codeberg joined #lisp 2014-11-29T19:31:19Z beach: Traverse the dynamic runtime environment for an entry that binds a special variable. If none is found, get the value from the global environment. 2014-11-29T19:31:21Z tharugrim quit (Quit: ZNC - http://znc.in) 2014-11-29T19:31:45Z beach: Bind a variable: add an entry to the dynamic runtime environment. 2014-11-29T19:31:51Z BitPuffin quit (Ping timeout: 258 seconds) 2014-11-29T19:32:53Z drmeister: So the dynamic runtime environment could be as simple as an a-list of (symbol value) pairs? 2014-11-29T19:32:55Z |3b|: beach: are you sure the printer control variables won't make it deeper/more common than you think? 2014-11-29T19:33:03Z beach: drmeister: Yes. 2014-11-29T19:33:25Z beach: |3b|: No, I am not sure. 2014-11-29T19:33:53Z beach: |3b|: Do you have statistics? 2014-11-29T19:34:12Z tharugrim joined #lisp 2014-11-29T19:34:31Z |3b|: no, just thinking that each layer of with-standard-io-syntax is 20 or bindings 2014-11-29T19:34:37Z beach: I'll stick in some meters to check. 2014-11-29T19:34:50Z |3b|: and that printing looks at a lot of them 2014-11-29T19:34:58Z beach: I see. 2014-11-29T19:35:24Z drmeister: You raise a good point. 2014-11-29T19:35:28Z beach: I am not worried though because I still think accessing or setting the value of a special variable is going to be fairly rare. 2014-11-29T19:35:53Z rtoym: Crufty old maxima has tons of special vars everywhere. 2014-11-29T19:35:58Z oudeis_ joined #lisp 2014-11-29T19:36:02Z |3b| supposes it depends on how the printer is implemented 2014-11-29T19:36:35Z beach: rtoym: And you think special variable access is going to be a dominant part of computation time of Maxima? 2014-11-29T19:36:47Z drmeister: Could you not take any CL environment and iterate through all symbols and figure out which are special? 2014-11-29T19:36:54Z oudeis quit (Ping timeout: 250 seconds) 2014-11-29T19:36:54Z rszeno joined #lisp 2014-11-29T19:37:15Z |3b|: drmeister: not portably from what i remember (or at least not easily, i guess you could bind them and see how they behave) 2014-11-29T19:37:25Z beach: drmeister: What matters is how frequently they are bound. 2014-11-29T19:37:27Z |3b|: and that still wouldn't catch locally special bindings 2014-11-29T19:37:50Z Bicyclidine quit (Ping timeout: 245 seconds) 2014-11-29T19:37:52Z rtoym: beach: I don't know, but there are lots of them and many are used in the heart of some core routines. They're probably most read, and infrequently bound. 2014-11-29T19:38:02Z |3b|: or gensymmed specials 2014-11-29T19:38:36Z beach: rtoym: Furthermore, they can be cached in registers unless rebound. 2014-11-29T19:39:31Z |3b| wonders how a per-thread cache would do 2014-11-29T19:39:48Z |3b|: just completely dump it on any binding/unbinding of a special 2014-11-29T19:40:15Z BitPuffin joined #lisp 2014-11-29T19:40:23Z rtoym: beach: Yes. If there are enough registers and if the compiler is smart enough. 2014-11-29T19:42:34Z dagnachew quit (Remote host closed the connection) 2014-11-29T19:44:39Z beach: Interesting discussion, but it's late for me. 2014-11-29T19:44:41Z beach left #lisp 2014-11-29T19:47:11Z rszeno quit (Ping timeout: 265 seconds) 2014-11-29T19:47:34Z Karl_Dscc quit (Remote host closed the connection) 2014-11-29T19:51:51Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-29T19:53:14Z goldenlight joined #lisp 2014-11-29T19:59:09Z Jesin joined #lisp 2014-11-29T19:59:51Z pgomes joined #lisp 2014-11-29T20:00:33Z aleamb joined #lisp 2014-11-29T20:00:36Z boogie joined #lisp 2014-11-29T20:05:15Z boogie quit (Ping timeout: 252 seconds) 2014-11-29T20:11:14Z pt1 quit (Remote host closed the connection) 2014-11-29T20:15:34Z alexey1 joined #lisp 2014-11-29T20:17:34Z tcr joined #lisp 2014-11-29T20:18:08Z Jesin quit (Ping timeout: 256 seconds) 2014-11-29T20:20:04Z alexey1 quit (Ping timeout: 255 seconds) 2014-11-29T20:20:07Z tcr quit (Client Quit) 2014-11-29T20:26:02Z Vutral quit (Ping timeout: 244 seconds) 2014-11-29T20:28:05Z scymtym_ joined #lisp 2014-11-29T20:29:17Z ggole quit 2014-11-29T20:31:32Z bjorkintosh joined #lisp 2014-11-29T20:37:01Z Jesin joined #lisp 2014-11-29T20:37:08Z Vutral joined #lisp 2014-11-29T20:46:52Z tcr joined #lisp 2014-11-29T20:48:07Z Shinmera- quit (Quit: しつれいしなければならないんです。) 2014-11-29T20:48:33Z Shinmera joined #lisp 2014-11-29T20:49:04Z _d3f quit (Ping timeout: 245 seconds) 2014-11-29T20:55:06Z pnpuff joined #lisp 2014-11-29T20:55:58Z theseb quit (Quit: Leaving) 2014-11-29T21:01:01Z msmith joined #lisp 2014-11-29T21:01:24Z boogie joined #lisp 2014-11-29T21:01:35Z s00pcan joined #lisp 2014-11-29T21:03:16Z ekinmur joined #lisp 2014-11-29T21:05:54Z msmith: Hi all, so I'm migrating from sbcl 1.0.55 to 1.1.14 and when I try to compile my project I get a slot definition error in on of my condition objects. the exact error is "initialization argument :NAME was constant: :INITARG". I was wondering if anyone was aware of any changes to condition classes in this newer version of sbcl 2014-11-29T21:05:58Z boogie quit (Ping timeout: 255 seconds) 2014-11-29T21:07:01Z MoALTz joined #lisp 2014-11-29T21:08:14Z zeitue quit (Ping timeout: 245 seconds) 2014-11-29T21:10:56Z oudeis_ quit (Quit: This computer has gone to sleep) 2014-11-29T21:17:23Z Krystof: msmith: I am aware 2014-11-29T21:17:32Z Krystof: what that means is that your slot name is a `constant variable' 2014-11-29T21:17:42Z Krystof: you have named your condition class slot `:initarg' 2014-11-29T21:17:53Z _0bitcount joined #lisp 2014-11-29T21:21:07Z milosn quit (Quit: Lost terminal) 2014-11-29T21:21:38Z zeitue joined #lisp 2014-11-29T21:24:43Z msmith: Krystof: ok, thanks. It was a quick fix. The older version was catching it 2014-11-29T21:28:21Z hiroaki joined #lisp 2014-11-29T21:31:43Z juiko joined #lisp 2014-11-29T21:35:40Z tesuji quit (Ping timeout: 255 seconds) 2014-11-29T21:36:07Z msmith: Krystof: wasn't 2014-11-29T21:38:47Z Beetny joined #lisp 2014-11-29T21:40:47Z pnpuff quit (Quit: Lost terminal) 2014-11-29T21:46:01Z boogie joined #lisp 2014-11-29T21:46:45Z pgomes quit (Quit: Leaving) 2014-11-29T21:47:27Z blahzik joined #lisp 2014-11-29T21:50:28Z boogie quit (Ping timeout: 244 seconds) 2014-11-29T21:53:38Z Vutral quit (Ping timeout: 245 seconds) 2014-11-29T21:54:50Z innertracks quit (Ping timeout: 258 seconds) 2014-11-29T21:56:00Z scymtym_ quit (Ping timeout: 250 seconds) 2014-11-29T21:58:44Z innertracks joined #lisp 2014-11-29T21:59:35Z xrash joined #lisp 2014-11-29T21:59:46Z boogie joined #lisp 2014-11-29T22:00:15Z ekinmur quit (Quit: no longer available) 2014-11-29T22:01:46Z boogie quit (Remote host closed the connection) 2014-11-29T22:05:03Z xrash quit (Read error: Connection reset by peer) 2014-11-29T22:05:36Z LiamH quit (Quit: Leaving.) 2014-11-29T22:06:02Z Vutral joined #lisp 2014-11-29T22:07:41Z hiroaki quit (Ping timeout: 264 seconds) 2014-11-29T22:08:13Z xrash joined #lisp 2014-11-29T22:08:19Z innertracks quit (Ping timeout: 272 seconds) 2014-11-29T22:12:35Z innertracks joined #lisp 2014-11-29T22:16:14Z xrash quit (Read error: Connection reset by peer) 2014-11-29T22:16:35Z alexey1 joined #lisp 2014-11-29T22:17:18Z chu joined #lisp 2014-11-29T22:21:22Z alexey1 quit (Ping timeout: 265 seconds) 2014-11-29T22:26:04Z rick-monster quit (*.net *.split) 2014-11-29T22:26:21Z meiji11 joined #lisp 2014-11-29T22:30:41Z oudeis joined #lisp 2014-11-29T22:34:39Z _0bitcount left #lisp 2014-11-29T22:41:57Z theseb joined #lisp 2014-11-29T22:42:14Z edgar-rft joined #lisp 2014-11-29T22:42:35Z theseb: anyone have a brainless newb example why apply would be useful in addition to eval? 2014-11-29T22:42:44Z theseb: apply seems superfluous to me 2014-11-29T22:43:55Z Shinmera: Why does + accept many arguments when two would suffice? 2014-11-29T22:44:14Z theseb: Shinmera: convenience? 2014-11-29T22:44:41Z theseb: so you don't have to do (+ 1 (+ 2 (+ 3 4))) 2014-11-29T22:44:49Z Shinmera: Yeah, and now what about apply? 2014-11-29T22:45:02Z theseb: Shinmera: are you saying apply is just for convenience too? 2014-11-29T22:45:06Z Shinmera: Not just 2014-11-29T22:45:09Z Shinmera: but it's one reason. 2014-11-29T22:45:26Z urandom__ quit (Quit: Konversation terminated!) 2014-11-29T22:45:35Z theseb: Shinmera: is there a way to simulate what apply does some how like i did above for +? 2014-11-29T22:46:35Z theseb: Shinmera: if we could code apply in lisp analagously to how we can code eval in lisp that'd be cool 2014-11-29T22:46:47Z Shinmera: You cannot 2014-11-29T22:46:58Z theseb: Shinmera: wait..you can ONLY code eval?!?!?!? 2014-11-29T22:47:03Z theseb: what the fruitcake 2014-11-29T22:47:31Z Shinmera: I'm a bit vary on the exact details, but if I recall correctly, apply is one of the basic pieces you need. 2014-11-29T22:48:26Z theseb: Shinmera: wait...something like this..(define (apply x y) (eval (x y))) 2014-11-29T22:48:36Z theseb: errr well you'd need a macro to clean that up 2014-11-29T22:48:46Z theseb: looks like you can do it with eval and a macro system 2014-11-29T22:48:59Z theseb: since apply is basically "just an eval in disguise" 2014-11-29T22:49:28Z Shinmera: I'm not sure what makes you believe it is 2014-11-29T22:49:44Z theseb: (defmacro (apply f args) '(eval (,f ,@args))) 2014-11-29T22:49:50Z theseb: Shinmera: how about that? 2014-11-29T22:50:40Z Shinmera: That's neither a valid cl form, nor a valid definition of apply. 2014-11-29T22:50:45Z theseb: Shinmera: by "eval in disguise" i just meant you can implement apply with eval if that is correct 2014-11-29T22:50:55Z Ethan- joined #lisp 2014-11-29T22:50:56Z scoofy: theseb, what's the purpose of 'apply' then, if it's in fact 'disguised eval' ? 2014-11-29T22:50:59Z theseb: Shinmera: well my CL skills aren't that good but is there at least HOPE it can be fixed? 2014-11-29T22:51:12Z theseb: scoofy: THAT'S MY ORIG QUESTION! 2014-11-29T22:51:16Z theseb: :) 2014-11-29T22:51:18Z scoofy: good question :) 2014-11-29T22:51:25Z jumblerg joined #lisp 2014-11-29T22:51:26Z scoofy sits back and brings some popcorn 2014-11-29T22:51:34Z theseb: apply seems superfluous to me 2014-11-29T22:51:34Z innertracks quit (Quit: innertracks) 2014-11-29T22:51:55Z scoofy: some guys say the same about set! vs. define (though don't know if that applies to CL) 2014-11-29T22:53:00Z ekinmur joined #lisp 2014-11-29T22:54:44Z Shinmera: Well done 2014-11-29T22:54:51Z Shinmera: Whoops, wrong chat, sorry 2014-11-29T22:56:50Z theseb quit (Quit: Leaving) 2014-11-29T23:01:16Z kcj joined #lisp 2014-11-29T23:21:47Z EvW quit (Ping timeout: 265 seconds) 2014-11-29T23:22:26Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-29T23:23:45Z mrSpec quit (Remote host closed the connection) 2014-11-29T23:27:46Z innertracks joined #lisp 2014-11-29T23:28:06Z isoraqathedh quit (Remote host closed the connection) 2014-11-29T23:28:37Z isoraqathedh joined #lisp 2014-11-29T23:28:45Z jumblerg joined #lisp 2014-11-29T23:30:45Z quasisane joined #lisp 2014-11-29T23:34:47Z xrash joined #lisp 2014-11-29T23:36:08Z xrash quit (Read error: Connection reset by peer) 2014-11-29T23:36:25Z ekinmur quit (Quit: no longer available) 2014-11-29T23:36:50Z davazp joined #lisp 2014-11-29T23:37:03Z isoraqathedh quit (Remote host closed the connection) 2014-11-29T23:37:19Z isoraqathedh joined #lisp 2014-11-29T23:37:35Z cy quit (Quit: brb updating kernel) 2014-11-29T23:39:29Z ehu quit (Ping timeout: 244 seconds) 2014-11-29T23:39:50Z cy joined #lisp 2014-11-29T23:41:59Z xrash joined #lisp 2014-11-29T23:45:30Z xrash quit (Read error: Connection reset by peer) 2014-11-29T23:47:32Z Vutral quit (Ping timeout: 244 seconds) 2014-11-29T23:48:27Z xrash joined #lisp 2014-11-29T23:50:02Z Petit_Dejeuner_ joined #lisp 2014-11-29T23:50:24Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-11-29T23:51:18Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-11-29T23:51:18Z xrash quit (Read error: Connection reset by peer) 2014-11-29T23:54:09Z ekinmur joined #lisp 2014-11-29T23:54:23Z xrash joined #lisp 2014-11-29T23:55:02Z xrash quit (Read error: Connection reset by peer) 2014-11-29T23:58:27Z xrash joined #lisp 2014-11-29T23:58:36Z ekinmur quit (Ping timeout: 244 seconds) 2014-11-29T23:59:52Z k-stz quit (Remote host closed the connection) 2014-11-29T23:59:55Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs))