00:00:58 gds [~nnnuser@zenit.dh.bytemark.co.uk] has joined #lisp 00:07:35 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 00:10:18 Raynes [~macr0@unaffiliated/raynes] has joined #lisp 00:13:42 abhinav [~abhinav@122.172.4.101] has joined #lisp 00:17:30 syamajala [~syamajala@c-75-68-111-84.hsd1.ma.comcast.net] has joined #lisp 00:20:48 -!- timor [~timor@port-92-195-81-129.dynamic.qsc.de] has quit [Ping timeout: 240 seconds] 00:27:44 -!- christoph_debian [christoph@cl-1281.dus-01.de.sixxs.net] has quit [Ping timeout: 272 seconds] 00:30:05 -!- udzinari [~user@209.158.broadband13.iol.cz] has quit [Remote host closed the connection] 00:31:49 -!- tcr1 [~tcr@81-233-246-97-no37.tbcn.telia.com] has quit [Quit: Leaving.] 00:32:35 -!- syamajala [~syamajala@c-75-68-111-84.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 00:35:21 seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has joined #lisp 00:36:18 -!- z0d [~z0d@unaffiliated/z0d] has quit [Ping timeout: 240 seconds] 00:41:02 christoph_debian [christoph@sf-ogame.de] has joined #lisp 00:45:42 -!- _s1gma [~d.d.derp@77.107.164.131] has quit [Remote host closed the connection] 00:52:03 aceluck [~aceluck@175.144.254.120] has joined #lisp 00:52:07 gonzojive [~red@128.12.169.254] has joined #lisp 00:57:16 -!- gonzojive [~red@128.12.169.254] has quit [Quit: gonzojive] 00:57:58 abugosh [~Adium@207-172-111-88.c3-0.tlg-ubr4.atw-tlg.pa.cable.rcn.com] has joined #lisp 00:58:33 legumbre [~leo@r190-135-78-67.dialup.adsl.anteldata.net.uy] has joined #lisp 01:04:53 How do I concatenate two pathname objects to create a full path? 01:05:01 clhs merge-pathnames 01:05:01 http://www.lispworks.com/reference/HyperSpec/Body/f_merge_.htm 01:05:07 thx 01:12:53 -!- fiveop [~fiveop@erft-d932ee45.pool.mediaWays.net] has quit [Quit: humhum] 01:16:01 OEP [~OEP@c-76-27-129-70.hsd1.al.comcast.net] has joined #lisp 01:16:55 -!- lisppaste [~lisppaste@common-lisp.net] has quit [Ping timeout: 258 seconds] 01:19:03 -!- Tordek [tordek@free.blinkenshell.org] has quit [Quit: leaving] 01:19:16 Tordek [tordek@free.blinkenshell.org] has joined #lisp 01:22:00 -!- ikki [~ikki@189.247.159.110] has quit [Ping timeout: 252 seconds] 01:22:51 -!- hohoho [~hohoho@ntkngw229253.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 01:24:04 hohoho [~hohoho@ntkngw229253.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 01:24:05 -!- abugosh [~Adium@207-172-111-88.c3-0.tlg-ubr4.atw-tlg.pa.cable.rcn.com] has quit [Quit: Leaving.] 01:25:58 Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has joined #lisp 01:27:41 -!- mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has quit [Read error: Connection reset by peer] 01:28:40 -!- Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has quit [Excess Flood] 01:28:56 mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has joined #lisp 01:29:42 davazp [~user@128.Red-88-6-207.staticIP.rima-tde.net] has joined #lisp 01:30:32 -!- borkamaniac [~user@S0106001111de1fc8.cg.shawcable.net] has quit [Read error: Connection reset by peer] 01:32:05 -!- manic12 [~andrew@99-100-67-123.lightspeed.sntcca.sbcglobal.net] has quit [Ping timeout: 260 seconds] 01:36:24 cisticola [~daddy@202.134.251.153] has joined #lisp 01:40:43 kwertii [~kwertii@ResNet-32-110.resnet.ucsb.edu] has joined #lisp 01:46:37 homie` [~user@xdsl-78-34-220-52.netcologne.de] has joined #lisp 01:46:37 wbooze` [~user@xdsl-78-34-220-52.netcologne.de] has joined #lisp 01:46:55 MetalDust [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has joined #lisp 01:48:52 askatasuna [~askatasun@190.97.33.72] has joined #lisp 01:49:26 -!- homie [~user@xdsl-87-79-178-201.netcologne.de] has quit [Ping timeout: 272 seconds] 01:49:55 -!- wbooze [~user@xdsl-87-79-178-201.netcologne.de] has quit [Ping timeout: 272 seconds] 01:53:13 -!- lemonade` [~lemonade`@pool-71-178-51-180.washdc.fios.verizon.net] has quit [Quit: lemonade`] 01:55:18 -!- specbot [~specbot@common-lisp.net] has quit [Ping timeout: 240 seconds] 01:55:29 gonzojive [~red@rescomp-09-162682.Stanford.EDU] has joined #lisp 01:59:05 http://paste.lisp.org/display/113999  is this terrible/ugly coding practice, or makes sense? Used as in (getdate 'year) to get current year. 01:59:49 -!- vp8dmh [~clarkema@bs0176.nerc-bas.ac.uk] has quit [Quit: leaving] 02:02:21 lisppaste [~lisppaste@common-lisp.net] has joined #lisp 02:04:20 it is terrible and ugly 02:05:42 (defun getdate (what-we-want) (nth-value (position what-we-want '(second minute hour date month year day-of-week dst-p tz)) (get-decoded-time))) 02:06:49 thx 02:07:11 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Read error: Operation timed out] 02:07:12 +error checking 02:09:00 plus, keywords if this is a part of an API 02:09:15 no, that's part of internal implementation 02:09:49 just a helper function 02:12:05 aidalgol [~user@114-134-7-235.rurallink.co.nz] has joined #lisp 02:18:48 -!- kpreid_ [~kpreid@128.153.212.232] has quit [Quit: Quitting] 02:20:02 antoszka: you may want to have that function accept a universal time, and decode it. 02:20:33 antoszka: otherwise, if you're trying to get more than one of the decoded-time return values, things might end up being inconsistent. 02:21:10 kpreid_ [~kpreid@128.153.212.232] has joined #lisp 02:21:52 xyxxyyy [~xyxu@116.227.195.185] has joined #lisp 02:22:04 -!- ldunn [~user@unaffiliated/baddog144] has quit [Remote host closed the connection] 02:27:38 -!- rrice [~rrice@adsl-76-253-140-91.dsl.akrnoh.sbcglobal.net] has quit [Ping timeout: 245 seconds] 02:29:30 how about (defun get-time-parts (parts &optional (universal-time (get-universal-time)) time-zone) ...) 02:35:25 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [Ping timeout: 252 seconds] 02:37:05 -!- aceluck [~aceluck@175.144.254.120] has quit [Quit: aceluck] 02:41:54 -!- zomgbie [~jesus@h081217133138.dyn.cm.kabsi.at] has quit [Ping timeout: 240 seconds] 02:46:39 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 02:47:06 -!- Raynes [~macr0@unaffiliated/raynes] has left #lisp 02:48:25 Granted this is in a lispworks deployment - I'm generating an uninterned symbol that is being embedded in macroexpanded code; but also stored in an :test #'eq hashtable. But when it comes to the search the symbol is not being found. This is in lispworks - is there any tendency for symbols, as items with identity, to get cloned by FASL-generating or delivery mechanisms? 02:49:22 When it comes to the search? 02:49:38 What search? 02:49:46 Yes. It's basically telling me (effectively) #:G123 not in hash containing #:G123, Etc. etc. 02:50:02 Modius: how are you obtaining the key to look it up? 02:50:23 Xach: It's embedded in delivered code - the gensym is from the same source (hence the value) 02:52:54 -!- dreish [~dreish@2002:cf8a:2fad:0:21f:5bff:fe35:ae0d] has quit [Quit: dreish] 02:58:22 tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has joined #lisp 03:02:24 Hmm. I call system::object-address on the symbol I'm doing the lookup on, and the symbols in the hashtable - the 2 have the same string (i.e. started the same) but different addresses. I guess that some aspect of the delivery process cloned them. 03:03:12 how are you getting the symbol to call system::object-address? 03:04:42 A macro embeds it (the symbol) in runtime code. Code preexisting this has placed it in the hashtable. 03:06:22 What does the code look like? 03:07:38 It's too elaborate - the hashtable is currently residing in the first .lisp file I load in advance of everything else. I'm going to shift it into the sub-library and hope this goes away. It makes sense, though - a symbol that is referenced in code in multiple FASLs can't really be the same in-memory symbol, unless there's something that's meant to reconcile them. 03:08:15 Good morning everyone! 03:08:53 Basically, I'm doing my own thing (it's working fine) with respect to JS and SQL generation; but it runs off symbols and has runtime generation modes. I wanted it to be able to work without *all* symbols in the deployed list, so was making a weak hash table symbol->string for when the symbol-strings were removed. Then found this happening (yes it goes wrong even when hashtable weakness is removed) 03:09:13 -!- LiamH [~nobody@pool-72-75-117-208.washdc.east.verizon.net] has quit [Quit: Leaving.] 03:11:50 hm, is there any function like 'object-address' for sbcl? 03:16:36 ok, I found (sb-di::get-lisp-obj-address x), but it is not exported 03:16:37 davazp: (with-output-to-string (stream) (print-unreadable-object (object stream :identity t))) 03:17:13 stassats: yeah, I found get-lisp-obj-address macroexpanding print-unreadable-object :-) 03:19:01 -!- tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has quit [Quit: tritchey] 03:20:01 aceluck [~aceluck@175.144.254.120] has joined #lisp 03:20:47 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 03:22:45 -!- coyo [~coyotama@unaffiliated/bandu] has quit [Quit: client closed in haste] 03:23:28 -!- ace4016 [~jmarcelin@adsl-32-120-9.mia.bellsouth.net] has quit [Ping timeout: 245 seconds] 03:25:43 -!- gonzojive [~red@rescomp-09-162682.Stanford.EDU] has quit [Remote host closed the connection] 03:25:52 gonzojive [~red@128.12.169.252] has joined #lisp 03:29:28 -!- abhinav [~abhinav@122.172.4.101] has quit [Ping timeout: 240 seconds] 03:32:59 derrida [~derrida@unaffiliated/deleuze] has joined #lisp 03:38:58 -!- carlocci [~nes@93.37.193.228] has quit [Quit: eventually IE will rot and die] 03:41:00 -!- aceluck [~aceluck@175.144.254.120] has quit [Quit: aceluck] 03:42:36 abhinav [~abhinav@nat/cisco/x-gvkogyuktiyyqtyi] has joined #lisp 03:51:36 -!- emacs-dwim [~user@cpe-67-249-221-115.twcny.res.rr.com] has quit [Remote host closed the connection] 03:52:17 -!- zophy [~sy@host-242-6-111-24-static.midco.net] has quit [Read error: Connection reset by peer] 03:52:17 -!- Edward_ [~ed@AAubervilliers-154-1-3-129.w86-212.abo.wanadoo.fr] has quit [] 03:55:03 Salamander_ [~Salamande@ppp118-210-137-4.lns20.adl6.internode.on.net] has joined #lisp 03:56:29 -!- Salamander__ [~Salamande@ppp121-45-5-111.lns20.adl2.internode.on.net] has quit [Ping timeout: 276 seconds] 03:57:58 sanjoyd [~sanjoy@unaffiliated/sanjoyd] has joined #lisp 03:58:15 galaxywatcher [~galaxywat@ppp-61-90-27-51.revip.asianet.co.th] has joined #lisp 03:58:24 -!- moocow is now known as holcyow 03:58:56 Newbie problem: Is there anything wrong with this code (http://pastebin.com/f92khVcX)? I keep getting an `unbound variable finish' error. 03:59:53 there are many wrongs with that code 03:59:57 sanjoyd: What happened to your indentation? 04:00:07 *sykopomp* smells a schemer. 04:00:18 Nope. CLISP beginner. 04:00:24 sanjoyd: DEFUN doesn't work like scheme's define. 04:00:34 and CLISP is an implementation of Common Lisp 04:01:00 sanjoyd: Step 1: indent your code and resubmit. 04:01:14 Step 2: make sure resubmission location is paste.lisp.org 04:01:50 Uhh, this is the default Emacs gives me. I'll try anyways. Thanks. 04:01:56 ^^ The indentation 04:02:02 sanjoyd: That, I don't believe. 04:02:38 beach: I select the code and press TAB, and this is what I get. 04:03:05 it has #\Tab instead of #\Space 04:03:07 zc00gii [~zc00gii@thefacepalm.net] has joined #lisp 04:03:11 Heh, select the code and type C-M-\ or M-x indent-region 04:03:15 say I have a 3 dimensional array 04:03:18 -!- Mesh [~Mesh@216.201.34.14] has quit [Quit: HydraIRC -> http://www.hydrairc.com <- Like it? Visit #hydrairc on EFNet] 04:03:40 how can I set a whole place with 2 dimensional coordinates 04:03:46 something like 04:04:02 clhs make-array 04:04:08 see :displaced-to 04:04:12 I don't want to make-array though 04:05:11 something like (setf (aref some-array 0 0) #(1 2 3)) will set (aref some-array 0 0 0) to 1, (aref some-array 0 0 1) to 2, and (aref some-arrau 0 0 2) to 3 04:05:33 no, you can't 04:05:38 :| 04:05:41 unless you use displaced arrays 04:05:53 I am not :( 04:06:22 it's a solution, not the problem 04:07:13 I think I'll write a function to do so 04:07:42 stassats: do you know how I can see how many elements are in a certain place? 04:08:15 sanjoyd: See http://paste.lisp.org/+2FYR for the correct indentation. 04:08:30 sanjoyd: It seems you don't even have the right number of closing ')'. 04:08:39 zc00gii: e.g. (let ((array (make-array '(2 2)) )) (replace (make-array 2 :displaced-to array :displaced-index-offset 0) #(1 2)) array) => #2A((1 2) (0 0)) 04:08:41 sanjoyd: Are you using SLIME? 04:08:42 04:08:45 say, I have a array #3A(((0 0 0) (0 0 0)) ((0 0 0) (0 0 0)) ((0 0 0) (0 0 0))) 04:09:41 perhaps you want ARRAY-DIMENSION? 04:10:00 how can I see how many elements are in any given two dimensional corridants 04:10:39 it's fixed 04:11:20 sanjoyd: I ran the code, and there are no unbound variables. 04:11:26 sanjoyd: What implementation are you using? 04:12:45 stassats: you are correct, that's what I want, (array-dimension 2 some-array) gets it for mee 04:13:04 your arguments are mixed 04:13:13 er, yeah 04:13:18 epic multitasking ftw 04:15:13 -!- aidalgol [~user@114-134-7-235.rurallink.co.nz] has quit [Quit: Ah-waaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--OOOF!] 04:21:02 holy b'jesus 04:21:15 sbcl is a god at error checking 04:21:44 I mean, I used a argument in a function once as if it was a list, and another time as if it was a vector, and it caught that! 04:22:11 :) 04:22:31 zc00gii: That's known as "type inference". Many compilers do that. 04:22:44 beach: not a lot of CL compilers do that... 04:22:54 sykopomp: Really? 04:23:01 at least not to the extent SBCL does. 04:23:02 I wonder why. 04:23:41 beach: I'm using SBCL. I figured it out, thanks anyways. :) 04:23:50 sanjoyd: What was the problem? 04:23:50 beach: yes, SBCL with SLIME. 04:24:01 sanjoyd: You should use labels instead of nested defuns. 04:24:03 *zc00gii* uses sbcl with slime 04:24:04 let me fix what I meant -- I don't think CLISP, ECL, ABCL, or CCL have a type inference engine like SBCL's. 04:24:18 yes, sbcl is superior :) 04:24:23 beach: thanks for the tip. 04:24:26 sykopomp: I would think you need that to get some speed. 04:24:30 zc00gii: other implementations are useful too. 04:24:33 sanjoyd: Sure. 04:24:39 beach: that, or you can tell people to pepper their code with declarations. 04:24:40 meh :P 04:24:45 Unfortunately I still don't know what the problem was, I re-wrote the whole thing again from scratch. 04:25:01 #-sbcl(declare (integer x)) 04:25:01 :( 04:25:05 sanjoyd: Like I said, when I added a ')' at the end, it ran. 04:25:15 any uh 04:25:18 paredit users? 04:25:22 yes 04:25:42 if I type a parenthesis, and I don't want the closing one, how can I remove the automatically added paren? 04:26:02 beach: May've been the problem. This is like my third LISP program, I still have lots to learn. 04:26:27 zc00gii: Why would you be using paredit if you don't want that feature? 04:26:41 beach: no no, I like that feature 04:26:41 zc00gii: you can have something like (defun array-row (array &rest subscripts) (make-array (array-dimension array (length subscripts)) :displaced-to array :displaced-index-offset (apply #'array-row-major-index array (append subscripts '(0))))) 04:26:46 and then (let ((array (make-array '(2 2 2)))) (replace (array-row array 1 0) #(1 2 3)) array) => #3A(((0 0) (0 0)) ((1 2) (0 0))) 04:26:47 just sometimes I don't want it to do it? 04:27:09 though surely, making your own function will be faster 04:27:11 err 04:27:17 minus the ? 04:28:01 stassats: I don't (think) I'll be worried with speed in this 04:28:01 -!- sanjoyd [~sanjoy@unaffiliated/sanjoyd] has left #lisp 04:28:50 zc00gii: if you want to type a single (, just do C-q ( 04:29:03 that's awkward 04:29:37 zc00gii: Is this something you're expecting to do on a regular basis? 04:29:41 I was looking for more of a way to delete the paren in front of it 04:29:49 it is, because why would you want type a single parenthesis? 04:30:12 if you want to delete: C-u C-d 04:30:16 stassats: if I want to embed one sexp into another one that I'm creating 04:30:49 zc00gii: just type another (, and it'll match another sexp inside that one?... 04:31:00 ( ( => (()) 04:31:06 paredit provides a whole range of operations for manipulation of sexps 04:31:27 perhaps I should learn them 04:31:28 but uh 04:31:46 for algorithms, I sorta program like this 04:31:56 I'll do a simple one 04:32:02 (+ 1 2) --> 3 04:32:10 and then i want to embed that sexp in another 04:32:21 (* (+ 1 2) 4) --> 12 04:32:24 something like that 04:32:26 okay 04:32:51 C-M-k will kill only the sexp after the cursor. 04:33:05 why would I want to kill it? 04:33:08 if you want to _write_ that line, I don't see what the problem is at all. 04:34:02 perhaps there's a feature that puts a close paren at the end of the sexp the cursor is in front of, and a fron parent in front of it? 04:34:21 C-M-( 04:34:30 is that what you're looking for? 04:35:01 C-M-( is undefined 04:35:11 perhaps I don't have all of the hooks setup? 04:35:15 that's odd 04:35:29 ITYM C-S-( 04:35:40 http://gist.github.com/555966 04:35:57 damn 04:36:06 stassats: no, I definitely meant C-M-( 04:36:08 up-list: Scan error: "Unbalanced parentheses", 143, 1 [2 times] 04:36:09 i never can't type key-bindings 04:36:27 i meant M-S-9, which is M-( 04:36:33 that's for C-( 04:36:40 oh yes 04:36:43 Sorry :\ 04:37:00 My muscles know what I'm trying to say. 04:37:58 I did it 04:37:59 somehow 04:38:04 but I can't figure out how I did it 04:38:30 C-h l 04:39:09 ooooh 04:39:11 I get it now 04:39:32 say you have ( 04:39:33 eer 04:39:41 say you have (foo) () (bar) 04:39:49 and your cursor is inbetween the ( and ) 04:40:11 then you do C-( and it put sthe closing paren in the middle in front of (foo) 04:40:17 say you read paredit documentation? 04:40:31 do C-) and it puts the closing paren at the end of (bar) 04:40:33 I did not. 04:40:39 Heh. What would have non-Lispers have thought if CL had kept the old names for READ-CHAR and WRITE-CHAR, INCH and OUCH? 04:40:41 like C-h f paredit-mode 04:41:01 -!- davazp [~user@128.Red-88-6-207.staticIP.rima-tde.net] has left #lisp 04:41:39 gigamonkey: I'd imagine they'd figure that more stoners were at MIT then berkeley at the time that lisp was invented 04:42:09 And INTEGER-LENGTH used to be called HAULONG 04:42:32 that looks like lolcats for how long 04:43:24 Lisp has always been ahead of its time. 04:43:26 gigamonkey: when was it those weird function names? 04:43:35 In MacLisp, I believe. 04:43:49 ah 04:44:15 hi gigamonkey. working on any new books? 04:46:00 holcyow: worse: http://www.codequarterly.com/ 04:46:14 Though right now I'm working on my talk for the next ILC. 04:46:24 oh cool 04:46:27 i'll look into this 04:47:05 (a b |c d) 04:47:05 ---> 04:47:08 (a b (|) c d) 04:47:13 that totally confuses me 04:47:18 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [] 04:47:59 stassats: can you help me understand this notation? 04:48:06 no 04:48:12 gigamonkey: submitted a request. cool stuff, I am actually interested in something like that 04:48:21 oh 04:48:23 I get it 04:48:30 | is where the cursor is 04:48:35 zc00gii: you're welcome! 04:48:56 stassats: but 1, I didn't thank you, and 2, you didn't help me :P 04:49:34 gonzojive_ [~red@rescomp-09-162682.Stanford.EDU] has joined #lisp 04:51:51 aceluck [~aceluck@175.144.254.120] has joined #lisp 04:52:17 -!- gonzojive [~red@128.12.169.252] has quit [Ping timeout: 260 seconds] 04:52:44 Oh man, someone suggesed back in '83 a per-package intern hook. 04:53:35 i wonder what are the applications 04:54:35 Well, it came up in the context of the keyword package. (i.e. how is it that all keyword symbols get them selves as their value) 04:54:51 stassats: mmm 04:55:00 It has struck me in the past that it's the one bit of the reader that you can't hook. 04:55:01 I'm loving C-h f paredit-mode RET 04:55:38 seekalana [~seekalana@CPE-58-175-25-194.mqdl1.lon.bigpond.net.au] has joined #lisp 04:57:27 -!- seekalana [~seekalana@CPE-58-175-25-194.mqdl1.lon.bigpond.net.au] has quit [Client Quit] 04:57:42 seekalana [~seekalana@CPE-58-175-25-194.mqdl1.lon.bigpond.net.au] has joined #lisp 04:58:37 gigamonkey: you can't hook #\: either 04:58:54 Heh. Foderaro was pushing for case sensitivity back in '83. 04:59:03 stassats: Yeah. 04:59:31 regarding interesting old tricks - it would be funny to implement "Programmer's Apprentice" in Emacs, especially for CL :D 05:00:06 Actually that's what I wanted: an *intern-hook* sort of at the level of the *readtable* that you can change to control how tokens get turned into symbols/numbers/whathaveyou. 05:03:08 i guess it'd be easier to write your own reader than to understand all these hooks 05:03:37 stassats: I don't think so! 05:03:44 Yeesh, the minion bot is as irascible as some actual lispers.... 05:03:51 lol 05:04:28 minion: who is your master? 05:04:28 chandler is my master 05:05:00 heh 05:06:13 stassats: I'm looking into what it would take to write a specitialized reader for lisp, and it isn't all that straightforward... 05:06:37 stassats: that just made me like paredit-mode like, a billion times more :P 05:06:52 isn't the reader algorithm laid out in CLHS? 05:07:07 stassats: It is. 05:07:27 clhs 2.2 05:07:50 minion: where is your friend? 05:07:50 behind you! 05:07:56 psilord1: pjb wrote an extensible reader. 05:08:00 It is not *that* hard, if you don't need performance or all the reader macros. 05:08:04 if you don't mind GPL, you can probably grab that. 05:08:09 stassats: That's true, but I want to do something special with it that the reader algorithm doesn't do, namely keep a recorded history of where all the tokens were found. 05:08:15 There's also the SICL reader, which is public domain. 05:08:37 sykopomp: But it's not operational yet. 05:08:40 sykopomp: I know about pjb's reader, but I can't use it because of the GPL. 05:09:16 heh 05:09:21 writing a reader _is_ a bit of a pain. 05:10:00 sykopomp: It was much easier for scheme. :) It couldn't call back into itself, or change the reader semantics as it is reading the code. 05:10:14 pplication was compiled with png.h from libpng-1.2.26 05:10:15 [Condition of type SIMPLE-ERROR] 05:10:18 wtf? 05:10:37 psilord1: it was easier, but not nearly as awesome! :) 05:10:54 any cl-png people? 05:11:01 because i haz errurz! 05:11:26 that's FFI for you 05:11:39 how do I fix it? 05:12:21 Use the source, luke. 05:12:24 minion: zpng? 05:12:25 zpng: ZPNG is a graphics library for creating PNG file format files. http://www.cliki.net/zpng 05:12:30 minion: png-read? 05:12:30 Sorry, I couldn't find anything in the database for ``png-read''. 05:12:44 so 05:12:49 I spend all of this time learning cl-png 05:12:53 sykopomp: true that. 05:12:54 and turns out I have to use zpng 05:12:56 great. 05:13:49 Speaking of zc00gii's apparent waste of time, I'm about to start poking cl-graph, is that library still maintained? 05:14:26 -!- jmbr [~jmbr@28.33.220.87.dynamic.jazztel.es] has quit [Ping timeout: 265 seconds] 05:14:36 does it matter? 05:15:01 well 05:15:04 manic12 [~andrew@99-100-67-123.lightspeed.sntcca.sbcglobal.net] has joined #lisp 05:15:07 any zpng users? 05:15:25 psilord1: as I found out today, writing a complete interpreter for brainfuck is an exceptionally easy task. 05:15:31 i believe Xach may use zpng 05:15:31 stassats: Actually yes. I don't want to become the maintainer of it if I use it. :) 05:15:43 Xach: poke 05:15:54 psilord1: is it so buggy? 05:16:22 sykopomp: I'd imagine, the syntax is incredibly simple to parse, and what it does is equally simple 05:17:04 sykopomp: interpreter is lame 05:17:25 stassats: Don't know, that's why I'm asking if it is a well-used library or not. 05:17:29 sykopomp: I once wrote a befunge interpreter, though not in lisp.... 05:17:51 I know several people who have written lisps 05:17:56 one in python, the other in ruby 05:18:11 they must be very hard-core hackers 05:18:19 wat 05:18:45 I'd appreciate someone who uses zpng to help here. 05:19:24 sykopomp: You should create an RLE encoded brainfuck dialect. :) 05:19:43 sykopomp: There are too many characters in brainfuck programs... :) 05:20:34 *sykopomp* wonders how many people in #lisp _haven't_ written toy lisps. 05:20:58 does SBCL count as a toy lisp? 05:21:09 of course! 05:21:17 I haven't! 05:21:33 but I will be making a real lisp compiler in assembly soon 05:21:48 with an assembler written in lisp, btw 05:21:49 is that so 05:21:56 tru story bro 05:22:05 I am _seriously_ not joking 05:22:12 I see. 05:22:16 the assembler is kinda cool 05:22:18 -!- vsync [~vsync@24.173.173.82] has quit [Read error: Connection reset by peer] 05:22:27 ohbtw, after that, an OS in that lisp compiler I made 05:22:37 but yeah, the assembler is like...eg 05:22:38 *p_l* didn't write a toy lisp, though nearly ended up trying 05:22:48 I blame all those "Write Scheme in Haskell" tutorials 05:22:50 lol 05:22:51 (asm (:mov :eax :ebx) (:jmp :eax)) 05:22:56 vsync [~vsync@24.173.173.82] has joined #lisp 05:23:07 p_l: you've never written one of them metacircular interpreters? 05:23:40 here, have one: (loop (print (eval (read)))) 05:23:45 sykopomp: not really. I'm planning on subset of CL that is actually still CL, you just get different package instead of :CL and slightly different macros 05:23:48 zc00gii: The hardest part about writing an x86/x86_64 OS in lisp is... the horrendous hardware and device driver codes. :) Language has nothing to do with it... :) 05:24:24 psilord1: i'm sure zc00gii will have his own hardware platform 05:24:44 And get ready to pay 300 USD for the ATAPI6 specification, which is wrong in insidious ways by the way.... 05:25:35 psilord1: or pillage BSD source code? :P 05:26:29 p_l: indeed! Indeed! 05:26:49 -!- Beetny [~Beetny@ppp118-208-40-54.lns20.bne1.internode.on.net] has quit [Read error: Connection reset by peer] 05:26:56 how it went? Burn the women, rape the houses? no, not that way... 05:27:35 Beetny [~Beetny@ppp118-208-40-54.lns20.bne1.internode.on.net] has joined #lisp 05:27:51 well arm cpus are doing quite well in cel phones and they are starting to show up in servers 05:27:54 *p_l* always recalls the rather insane variants of that phrase used in some play, whenever someone mentions pillaging 05:28:08 perhaps a kernel geared around that architecture might be in order :) 05:28:14 holcyow: servers? hmmm.... 05:28:46 the most I heard of ARM on "normal" servers was as IOP 05:28:53 p_l: It might as well has once you've seen the atrocities in the low level PCI bus detection codes. "Many pyres were lit and common sense heaped upon them that day." 05:29:44 embedded/ruggedized market seems like the place I might expect some ARMs, though PowerPC and MIPS still play well there (outside of mobile embedded, where ARM rules) 05:30:05 mega1 [~quassel@catv4E5CABA2.pool.t-online.hu] has joined #lisp 05:30:09 *stassats* expects some on-topic 05:30:24 Any lisps run on ARM? :) 05:30:33 CCL 05:30:35 actually, that is an excellent question 05:31:49 stassats: oh, is there *working* arm port of CCL? 05:31:59 or is the port on the level of SBCL/arm? 05:32:12 Ok, from the CLL web site: "Excellent debugging facilities. The names of all local variables are available in a backtrace." 05:32:20 That's excellent? *weeps* 05:32:59 well... if all appear... it's not that easy when you notice that the compiler is free to do crazy things to some of them 05:33:01 aidalgol [~user@114-134-7-235.rurallink.co.nz] has joined #lisp 05:33:25 p_l: I believe it's fairly unstable, but it's official. 05:33:55 psilord1: Contrary to what one might expect, many Lispers seem content with abominable development environments. 05:33:57 and they explicitly stated that this is still a far cry from "CCL on iOS/Android", but that it's a first step towards being able to achievet hat. 05:34:01 p_l: I concur, and I mean to write a lisp compiler and an IDE which means to change that. 05:34:47 psilord1: see you in ten years! 05:34:48 psilord1: what, you plan on removing optimizations that raep lexical variables? ^^; 05:35:05 stassats: yeah, that's probably right. :) 05:35:09 i wonder what it would take to port sbcl to arm ... sbcl.org suggests between 1 man month and 1man year given the proiperly experienced dev 05:35:37 holcyow: just finance nyef 05:35:54 if i had the money i would, i'm about to buy a beagleboard 05:36:08 it never occured to me sbcl doesn't run onarm :/ 05:36:20 p_l: I am pretty sure that the value of a lexical variable can be derived from the state of variables that the compiler *really* generated. 05:36:21 *p_l* has enough fun lately with his ARMv6KZ cpu... and the atrocious Samsung Drivers 05:36:37 beach: if you keep enough information :) 05:36:44 psilord1: So, do you want to help me write SICL? 05:36:46 GCC is infamous for not keeping said info :D 05:36:56 tcr [~tcr@81-233-246-97-no37.tbcn.telia.com] has joined #lisp 05:37:26 *stassats* is tired of spending more time on tools than using them 05:38:11 -!- tcr [~tcr@81-233-246-97-no37.tbcn.telia.com] has quit [Client Quit] 05:39:01 beach: I may. Do you have a design document for it? One of the reasons why I'm writing what I'm writing is because I have somewhat of an innovative code visualization and searching system that I want to implement. If your stuff is close enough, I might be able to help. So far I've implemented a master/worker system which will be the execution engine for the compiler. 05:39:16 Lately, I have been spending time with a compiler reporting "an error occurred", and reporting a fatal error, but which is really due to a Warning, and of course, the place in the code where it occurred is indicated in terms of macro-expanded internals :( 05:40:02 -!- galaxywatcher [~galaxywat@ppp-61-90-27-51.revip.asianet.co.th] has quit [Quit: galaxywatcher] 05:40:08 beach: I've basically figured out a way to track annotation data through all phases of a compiler for a language like C, and now I'm trying to figure out how to do it for lisp. 05:40:11 right. Remind me to try importing SICL's reader and making it eat CL without spilling symbols :D 05:40:32 galaxywatcher [~galaxywat@ppp-61-90-27-51.revip.asianet.co.th] has joined #lisp 05:40:36 psilord1: The design document is very skimpy at the moment. 05:40:42 just GCTWA 05:40:47 -!- galaxywatcher [~galaxywat@ppp-61-90-27-51.revip.asianet.co.th] has quit [Client Quit] 05:40:51 psilord1: That is *very* interesting! 05:41:20 psilord1: I was thinking of doing that by having the reader give me source code information, and then try to track that after macro expansions. 05:42:12 psilord1: have you seen clang? It tracks all knowledge through all phases, including assembly, to the point where you get accurate line numbers for errors in inline assembly, with detailed information. 05:42:28 -!- mega1 [~quassel@catv4E5CABA2.pool.t-online.hu] has quit [Ping timeout: 265 seconds] 05:42:50 beach: I've seen clang, but the annotation data I want to do is much more. 05:43:00 breach: For example, code coverage testing. 05:43:18 psilord1: I see. Very interesting! 05:44:05 -!- jaiball [~justin@c-76-119-131-178.hsd1.ct.comcast.net] has quit [Ping timeout: 260 seconds] 05:44:28 p_l: The hard part is this: You have a (nested) form with information about source-code position, and then you macro-expand it. Now you have to figure out what parts in the expanded code came from the original form, and what parts were introduced by the macro expander. 05:45:03 beach: One can get a map of all branches taking in a flow of control from file:line A to file:line B. Then the compiler can produce an ACTUAL map for you to fill in "do what's there, or use true/false". The developer then states in the map which branches should be taken/not taken, or computed as found in the source. This allows testing of very complex code paths algorithmically. 05:45:19 beach: clang's architecture was designed specially to combat this 05:45:59 beach: I was going to solve that by interpreting the macro expansion in an explicit token stream. Then you can mark which tokens were produced by the lisp tokenizer and which ones were passed through to the output form. 05:46:25 p_l: Clang works with CL? 05:46:31 beach: is your reader Unicode aware? 05:46:39 If so, how does it deal with case conversion? 05:46:39 gigamonkey: Of course. 05:47:12 gigamonkey: It calls char-upcase (which can't work in the general case). 05:47:26 psilord1: what is an "explicit token stream"? 05:48:02 psilord1: And how are you thinking of marking tokens? 05:48:15 Right. I noticed the other day that the reason XML is case sensitive (where HTML is not) is because they realized case-insensitivity is basically not tenable in a Unicode world. 05:48:31 gigamonkey: Indeed. 05:48:45 beach: no, but it was created in part to deal with the multiple levels of expansions, optimizations etc. performed in modern C/C++ 05:48:54 beach: yeah, I was wondering when you'd ask that question. :) An explicit token stream is what you would produce with a compiler for something like C. A stream of token structures. Lisp doesn't have this notion since the reader is built in and when it finishes all you have in memory is a pile of cons cells of lisp objects. 05:49:36 psilord1: My reader is able to create that, but you can't feed that result into the macro expanders, hence the problem. 05:50:59 p_l: But those languages are very limited when it comes to meta programming, so the problem is much harder in CL. 05:51:02 Well, the problem is that the macro expanders work with the implicit structure of the code, not the explicit one you've made. This is a situation which scheme has somewhat solved because their macro system isn't as flexible as lisps. 05:51:36 psilord1: So the problem remains, unless you suggest dumbing down the CL macro system. 05:51:50 I don't suggest that, and I think it is fixable. :) 05:52:04 psilord1: I still don't understand how you plan to track tokens through macro expansions. 05:52:05 bozhidar [~user@93-152-185-88.ddns.onlinedirect.bg] has joined #lisp 05:54:33 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 265 seconds] 05:55:29 beach: CL seems much better in catching errors of template metaprogramming than them... 05:56:18 beach: Suppose lisp objects have a shadow cell in them which points to an annotation of that cell which might include things like the lexical location of the object, or the extent of the expression in which it lives. A macro expander may take tokens as input, and produce new tokens as output. If any of the original tokens as input move unchanged to the output, the shadow cell moves with them. If new tokens are created, they are 05:56:21 beach: clang basically tags all data along from start to end, so final stages are still annotated where possible regarding the sourcecode they were created from, and all transformations 05:57:24 p_l: Also, I want to do a few special things with the data, such as abstract interpretation, and aspect oriented editing. :) 05:57:31 heh 05:58:12 psilord1: How do you distinguish between a symbol that was introduced by the macro expander, and the same symbol that was in the original form? 05:59:03 psilord1: The problem is easy with compound forms and atoms other than symbols, numbers, and characters. 05:59:48 beach: Can you give a small example of what you think is a problematic macro? 05:59:57 what are bivalent streams? 06:01:15 psilord1: original form: (ff (cons foo bar)). Resulting form: (cons 234 (cons foo bar)). Did the first cons of the resulting form come from the cons of the original form, i.e, if I had typed (ff (bla foo bar)) instead, would I have gotten (bla 234 (bla foo bar)) or (cons 234 (bla foo bar)? 06:01:36 sykopomp: streams that you can read/write both bytes and characters. 06:01:44 psilord1: You can't distinguish them because symbols are unique. 06:02:29 leo2007 [~leo@cpc1-cmbg13-0-0-cust596.5-4.cable.virginmedia.com] has joined #lisp 06:02:36 p_l: I think the is easier in those languages, because those languages do not impose the structure of the ASTs that the compiler must manipulate, whereas CL does. 06:02:45 good morning folks. It is 7am here ;) 06:02:47 beach: Ah, see this is where a lisp tokenizer (a term I've been using since pjb set me straight on terminology) and a lisp reader differ. 06:02:52 hello leo2007 06:03:16 beach: The differentiation happens because the shadow cells holding the nnotation data are not the same. 06:03:24 psilord1: But, like I said, you are not allowed to feed such tokens to the macro expanders. 06:03:34 gigamonkey: thanks 06:03:46 How realistic it is to build a better website than stackoverflow in common lisp? 06:04:51 leo2007: Do you think choice of programming language is your biggest concern in that situation? 06:06:19 quite realistic i would say, hutchentoot seems quite powerfull so you would either write a one off or perhaps want to try a framework and abstract a bunch of things fromthe get go 06:06:31 sykopomp: probably not. But I would like to know how to do that in common lisp. 06:06:48 leo2007: You can do it. 06:07:21 beach: Well, it all depends. :) A macro expander is ultimately just a piece of code, and you can trace anything that code creates, assembles, or drops from a previous form. 06:07:23 rather, the technology to be able to do so is easily available. 06:07:49 psilord1: No you can't. Unless you can solve the halting problem. 06:08:19 beach: I didn't say I could predict what it would do, I said you could trace what it actually did. :) 06:09:10 psilord1: That would be possible. Is that the system you are thinking of? It didn't sound like it, and I am interested in how you distinguish the annotations of one single symbol named CONS. 06:12:13 psilord1: I.e., when the macro expander returns (cons (cons foo bar)), how can you tell the two occurrences of the symbol cons apart? 06:12:13 06:12:32 beach: Yeah, that's the system I'm thinking of. I can know what the data is going into a macro, and what literal objects the macro *could* use to put together a new form. As for distinguishing the annotations of a single symbol named CONS, this is similar to keeping track of the same (suppose in C) variable name in different scopes when you need to implement a debugger. Usually in a C compiler, a variable name has a unique seria 06:13:05 psilord1: Your uttering got cut off. 06:13:21 beach: met me split it up, also, you wrote an empty line too. 06:13:40 Beach: Yeah, that's the system I'm thinking of. I can know what the data is going into a macro, and what literal objects the macro *could* use to put together a new form. As for distinguishing the annotations of a single symbol named CONS, this is similar to keeping track of the same (suppose in C) variable name in different scopes when you need to implement a debugger. 06:13:46 beach: Usually in a C compiler, a variable name has a unique serial number no matter what scope it is in. Same with symbols, they have the same internal identification, but a symbol table is kept around which keeps track of their annotation data in various scopes. 06:14:36 psilord1: But like I told p_l, you can't use the same system in CL as in C because in CL, you don't have a choice about the representation of the AST when it comes to macro expansion, so you can't track that information in the same way. 06:16:05 beach: Think of the annotation data like tags on bytes that represent the lisp object type. Those aren't part of the AST, but yet are still moved along with the objects as they pass through the macro expander. 06:16:47 -!- SegFaultAX [~SegFaultA@c-98-234-1-162.hsd1.ca.comcast.net] has quit [Quit: Lost terminal] 06:17:04 psilord1: I still don't see how you would be able to detect the difference between a macro expander (defmacro ff (x) `(cons ,x)) from this one: (defmacro ff (x) `(,(car x) x)) when you feed them (cons foo bar) because the object produced by typing cons and the object produced from ,(car x) are identical. 06:17:43 Ok, according to CL, those cons' are identical. 06:17:49 mega1 [~quassel@catv4E5CABA2.pool.t-online.hu] has joined #lisp 06:17:56 psilord1: By "identical" I mean that they are eq, so if there are annotations associated with them, they are identical too. 06:18:08 psilord1: and there is nothing you can do about that. 06:18:18 Now, I'm (hopefully) going to explain how they can be identical in CL and yet not identical. :) 06:18:37 sykopomp: thanks. 06:18:44 -!- seekalana [~seekalana@CPE-58-175-25-194.mqdl1.lon.bigpond.net.au] has quit [Remote host closed the connection] 06:18:47 beach: Suppose I have one file where both of those macro definitions are available (and named differently). 06:19:16 rbarraud [~rbarraud@118-92-12-143.dsl.dyn.ihug.co.nz] has joined #lisp 06:20:10 beach: Now the original lisp tokenizer analyzes the file and assigns a lexical location to the cons inside of the first macro. To keep this simple, let's put the use cases of the two macros also in the same file (as opposed to a REPL). 06:20:34 psilord1: Where is that location kept? 06:22:05 beach: I haven't thought about the concrete representation, but it is kept with the symbol itself as it is used in that macro. Give me a minute and I can make up a plausible representation.... 06:22:56 psilord1: It's OK, don't worry about it. I now understand you haven't completely thought it through, whereas it sounded like that before. 06:23:06 beach: When the 'cons' symbol is seen in the original macro, a symbol table entry is associated with the cons that states "in this macro expansion, cons has this lexical location in the file". 06:23:11 -!- leo2007 [~leo@cpc1-cmbg13-0-0-cust596.5-4.cable.virginmedia.com] has left #lisp 06:23:19 beach: Well, I've thought a lot of it through. :) 06:23:30 -!- mega1 [~quassel@catv4E5CABA2.pool.t-online.hu] has quit [Ping timeout: 240 seconds] 06:23:31 beach: but not all of it. :) 06:24:06 psilord1: I am not pressing you to come up with a solution, I was just interested in knowing whether you had thought of something I didn't. 06:24:37 beach: I see. Have I? :) 06:24:50 doesn't seem that way, no. 06:25:57 beach: Can you give a good reason why tagging the lisp objects themselves with scoped symbol tables won't work? 06:26:40 psilord1: That will work, but you can't trace them through macro expansion, because you don't know how the macro expander came up with the result. 06:27:31 beach: But in a sense, I don't care how it came up with it, I can just look at the resultant form and know that some pieces of the form were passed through the macro unchanged, and other parts originated at a specific location in the macro. 06:27:53 psilord1: so if instead I do (defmacro ff (x) `(,(if (= (ackermann 3 4) 33) 'cons (car x)) x)), how do I know when the cons came from the original form? 06:28:15 psilord1: I am claiming you can't and you haven't convinced me otherwise. 06:29:50 psilord1: And that's OK with me. I just wanted to know whether to continue the line of thought I started. 06:30:05 psilord1: And clearly I should. 06:30:15 beach: If I understand properly, the original x passed into the macro already has an annotation with each lisp object. So, when the ff form finishes processing the form, either it chose the 'cons from the lexical space of the macro, ot the one which already had the previous annotation data. 06:30:47 the resultant form's cons will either be the one passed in, or the one generated in the macro. 06:31:13 Both cons are eq in CL, but not eq in their lexical location space. 06:31:21 psilord1: How many times do I have to say this: There is only one single symbol cons; you can't distinguish between them in a macro expander unless you use something other than the symbol cons itself, which you are not allowed to do. 06:32:43 beach: But CL doesn't distinguish between them, and access to the lexical annotation space is not available in CL. As far as I can tell, I haven't broken any rules here. The lexical location data is only available to the compiler which writes out annotation information about the form. 06:33:16 The macro never distinguishes between them, according to it, the cons it chose, or the one in the passed is form are identical. 06:33:33 psilord1: THERE IS ONLY ONE SYMBOL CONS. YOU CAN'T TELL WHERE IT CAME FROM IF ALL YOU HAVE IS THAT SYMBOL. 06:33:34 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 06:34:24 buh 06:34:26 beach: I'm agreeing with you! But it isn't the CL program that is looking at the difference! 06:34:35 *sigh* 06:35:20 beach: well, maybe what I'll do is write an interpreter which tries to solve this exact problem, and one of us will be right (likely you, but I'm stubborn). 06:35:43 psilord1: I am looking forward to hearing any progress you make. 06:36:01 -!- abhinav [~abhinav@nat/cisco/x-gvkogyuktiyyqtyi] has quit [Read error: Connection reset by peer] 06:36:10 beach: I appreciate it. 06:36:49 Man, I don't know how someone, like KMP, who participated in the early-80s design of CL, can watch a flame fest errupt on c.l.l. about case sensitivity and not seriously lose it. That debate has been *raging* for decades now. 06:39:54 beach: Likely, the interpreter will have symbols, numbers, strings, eq, eql, and equal, and a defmacro. Would that suffice for you to test whether or not what I said would work? 06:40:25 beach: well, defun too. Implemented as basely as possible. 06:45:34 emacs-dwim [~user@cpe-67-249-221-115.twcny.res.rr.com] has joined #lisp 06:45:42 I've seen common lisp implemented in C and Java, but has it ever been implemented in common lisp? 06:48:15 aceluck: of course, check CMUCL. 06:48:28 aceluck: I suggest you try compiling CMUCL from source without using CMUCL... 06:48:43 (insert insane mad cackling here) 06:49:12 Where can i find :docudown? 06:49:54 Hmm.... it's using and image though, isn't it 06:50:50 I'm implementing a lisp interpreter for my own purposes, but would like it to be closer to common lisp 06:51:11 and was thinking to bootstrap that from lisp code that already exists 06:51:13 emacs-dwim: try using asdf-install rather than clbuild. 06:51:27 aceluck: fyi - my last mind experiment concerning this ended with solution "setup an ITS installation on a PDP-10, with working Maclisp, to start" 06:54:18 my platform is ipad though... 06:55:23 aceluck: afaik you can forget about Lisp there, given SDKv4 publication agreement 06:56:20 p_l: Does that prevent you from writing lisp software for it? 06:56:31 is the legitimate site? 06:56:53 abhinav [~abhinav@122.172.4.101] has joined #lisp 06:56:53 I don't care about publication, it's for my own use 06:57:00 aceluck: that's the spirit. 06:58:04 I've already made a lisp interpreter for it, and a rudimentary ide so I can code on the road 06:58:21 but it's not common lisp, and I'd like it to be (closer to) 06:58:34 aceluck: can't you build clisp on it? 06:58:56 aceluck: and you might want to look at the book Lisp in Small Pieces. 06:59:16 schmrkc: if you plan on installing it in officially-approved way without jailbreak, yes. 06:59:44 p_l: Right. So it doesn't stop you at all. 06:59:48 psilord1: I need to leave for a while. I'll talk to you later. 07:00:30 beach: Later, and I appreciate the spirited conversation! 07:00:33 You don't need to jailbreak anything. If you're a registered developer you can install anything you want on your device 07:00:37 Thank you for you time! 07:00:59 How considerate of our mighty Apple overlords! 07:02:14 mrSpec [spec@unaffiliated/mrspec] has joined #lisp 07:04:26 -!- rbarraud [~rbarraud@118-92-12-143.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 07:04:48 -!- kleppari [~spa@bitbucket.is] has quit [Ping timeout: 240 seconds] 07:04:54 rbarraud [~rbarraud@118-92-12-143.dsl.dyn.ihug.co.nz] has joined #lisp 07:06:30 kleppari [~spa@bitbucket.is] has joined #lisp 07:13:47 Athas [~athas@82.211.209.226] has joined #lisp 07:14:24 -!- aceluck [~aceluck@175.144.254.120] has left #lisp 07:14:31 aceluck [~aceluck@175.144.254.120] has joined #lisp 07:15:38 -!- gigamonkey [~user@adsl-99-24-217-129.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 264 seconds] 07:16:43 -!- peterhil` [~peterhil@a91-153-116-43.elisa-laajakaista.fi] has quit [Ping timeout: 265 seconds] 07:16:46 -!- peterhil [peterhil@a91-153-120-132.elisa-laajakaista.fi] has quit [Ping timeout: 252 seconds] 07:25:34 -!- askatasuna [~askatasun@190.97.33.72] has quit [Read error: Connection reset by peer] 07:26:53 gemelen [~shelta@shpd-95-53-161-198.static.vologda.ru] has joined #lisp 07:28:35 -!- rbarraud [~rbarraud@118-92-12-143.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 07:29:01 rbarraud [~rbarraud@118-92-12-143.dsl.dyn.ihug.co.nz] has joined #lisp 07:30:16 acieroid: perfect 07:32:01 hmm, aceluck* I guess 07:32:07 :) 07:32:59 tcr [~tcr@81-233-246-97-no37.tbcn.telia.com] has joined #lisp 07:40:54 mega1 [~quassel@netacc-gpn-5-4-86.pool.telenor.hu] has joined #lisp 07:43:37 askatasuna [~askatasun@190.97.33.72] has joined #lisp 07:44:19 minion: memo for beach: ask minion for paste 114013. That test case should suffice for our needs. 07:44:19 Remembered. I'll tell beach when he/she/it next speaks. 07:45:47 josemanuel [~josemanue@178.1.222.87.dynamic.jazztel.es] has joined #lisp 07:50:18 jmbr [~jmbr@141.32.220.87.dynamic.jazztel.es] has joined #lisp 07:50:23 Good morning, i would like to ask what does the argument :test do in functions such as REMOVE or MEMBER? 07:51:41 I'm out, good night all. 07:52:08 good night 07:52:52 -!- askatasuna [~askatasun@190.97.33.72] has quit [Quit: WeeChat 0.3.3] 07:59:25 sykopomp: Are you here? 08:00:00 rdd [~rdd@c83-250-48-164.bredband.comhem.se] has joined #lisp 08:03:06 -!- rbarraud [~rbarraud@118-92-12-143.dsl.dyn.ihug.co.nz] has quit [Read error: Connection reset by peer] 08:04:24 -!- drewc [~user@S01060013101b6ddb.vc.shawcable.net] has quit [Ping timeout: 258 seconds] 08:09:36 minion: paste 114013? 08:09:36 Paste number 114013: "example" by psilord in None. http://paste.lisp.org/display/114013 08:09:36 beach, memo from psilord1: ask minion for paste 114013. That test case should suffice for our needs. 08:10:44 -!- mega1 [~quassel@netacc-gpn-5-4-86.pool.telenor.hu] has quit [Remote host closed the connection] 08:13:45 Dousan: It alters the way an argument is considered the same as an element in the sequence. 08:15:21 beach... because i am a newbie in lisp, could you explain it a little more? 08:16:17 Dousan: By default, eql is used, so if you search for (say) an integer in a list of integers, that works fine. But if you search for a list in a list of lists, then that won't work, because typically (a b c) is not eql to (a b c). So then you have to use a test that works for comparing list structure, in this case, equal will work for instance. 08:16:42 Dousan: Are you new to programming in general? 08:17:17 i have some experience in c and java 08:17:40 Dousan: Then you know that whether two objects are considered equal, depends on the application. For instance, my wife and I are equal as far as the phone company is concerned, because they care only about phone numbers. 08:18:20 Dousan: It wouldn't do for the phone company to search for my wife in a list of customers using eql, if I am in that list and not her. 08:18:54 Dousan: So any decent programming language lets you use the test of your choice to find an element of a list. 08:19:15 beach... if i got it right, giving the argument :test, i tell the remove function not to use eql but to use the fourth argument which is 'equalp 08:19:24 I think that instead of thinking of 'equal' you should think of 'interchangeable in a given context'. 08:19:56 Dousan: I don't know what your fourth argument is, but if you put in #'equalp, then that is what is going to be used. 08:21:52 beach... Couldn't i just add the argument 'equal without using the :test argument? 08:22:02 *'equalp 08:22:02 Dousan: no. 08:22:18 Dousan: Those are keyword arguments, and need to be named. 08:22:45 Dousan: Otherwise, it wouldn't know whether you are passing a :test argument or a :key argument. 08:23:08 But I suppose C and Java can't do that, because they don't have first-class functions, so I guess you have to manually loop through your data structures and explicitly program your test each time. 08:23:47 Or, I suppose you use a relational database, so that things get even more primitive. 08:24:00 Oh now i got it, it tells the function REMOVE the type of argument i am giving 08:24:13 Dousan: Not the type, no. The role. 08:24:29 ok i understand 08:24:38 beach... thank you very much 08:24:44 No problem. 08:25:05 C has first class function pointers. 08:25:21 Dousan: You are never going to want to go back to C or Java after having gotten used to the advantages of Common Lisp :) 08:25:35 With java you could simply pass a comparator object. 08:25:47 Not sensible arguments. 08:26:01 timor [~timor@port-92-195-115-236.dynamic.qsc.de] has joined #lisp 08:26:08 legumbre_ [~leo@r190-135-30-162.dialup.adsl.anteldata.net.uy] has joined #lisp 08:26:55 Zhivago... i had never thought about it, nice 08:27:25 qsort in C uses this approach. 08:27:49 -!- mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has quit [Remote host closed the connection] 08:27:50 The main annoyance there is that you need to go and write a separate function to do it, and there is no support for lexical closure. 08:27:59 beach... he he at first i hate Lisp, but as i understood it better, it became very easy to program 08:28:11 -!- legumbre [~leo@r190-135-78-67.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 276 seconds] 08:28:22 Lisp is fundamentally simple, which can make it difficult to grasp at first. 08:32:04 -!- wbooze` [~user@xdsl-78-34-220-52.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 08:32:13 -!- homie` [~user@xdsl-78-34-220-52.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 08:32:51 morphling [~stefan@gssn-5f7570d5.pool.mediaWays.net] has joined #lisp 08:36:13 mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has joined #lisp 08:38:51 -!- aceluck [~aceluck@175.144.254.120] has quit [Quit: aceluck] 08:42:11 -!- mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has quit [Remote host closed the connection] 08:42:39 ejh [~ejh@ip208-103-38-36.dyn.mintel.net] has joined #lisp 08:46:01 -!- ejh [~ejh@ip208-103-38-36.dyn.mintel.net] has quit [Client Quit] 08:48:40 Dousan: What made you persist in learning it? 08:50:10 beach... i had a project to do for the university i am studying at 08:50:17 Ah! 08:50:35 slash_ [~unknown@p5DD1CEDA.dip.t-dialin.net] has joined #lisp 08:52:14 beach... at first i may say that i was afraid of it, but 2-3 days trying to understand the hole concept of Lisp, i find it entertaining to code in Lisp 08:52:33 beach... is it used in any field nowadays? 08:53:02 Dousan: Of course. 08:53:54 beach... could you give an example with the most popular fields? 08:54:25 Dousan: I have no numbers available. From my own field, I know it is very popular in computer music. 08:54:31 It is used sporadically in many fields. 08:54:35 Google just bought a company that uses it for very sophisticated airline reservation stuff. 08:55:24 Oh nice 08:55:58 Well, not really, since google has traditionally been unenthusiastic about lisp. 08:56:37 I think that you need to understand lisp as being a tool that primarily empowers individuals. 08:56:49 So you'll see it used by individuals in arbitrary fields. 08:57:10 On the other hand, the empowerment of the individual is a problem as groups become larger. 08:57:35 So there are scaling issues involved. 08:57:56 It is also a problem for companies who like to control their employees rather than empower them. 08:57:57 Jabberwockey [~Jens@port-8781.pppoe.wtnet.de] has joined #lisp 08:58:03 These scaling issues have consequences for the network effects required to be a popular language. 08:58:10 -!- Jabberwockey [~Jens@port-8781.pppoe.wtnet.de] has quit [Client Quit] 08:59:07 hm i understand.. using web services can they bypass those problems? 08:59:45 No. 08:59:59 I think that you misunderstand what I'm saying. 09:00:12 Having made something with lisp, deployment isn't a big deal. 09:00:24 -!- aidalgol [~user@114-134-7-235.rurallink.co.nz] has quit [Remote host closed the connection] 09:00:45 But you're unlikely to ever see companies using lisp in the ways that they use java (or C, for that matter). 09:01:12 Because of how it empowers individuals it's usually going to be used by small groups or individuals. 09:02:35 Could explain a little more what you mean saying that it empowers individuals? in what way? 09:02:47 What does (a b c) mean in lisp? 09:03:10 it is a list with three elements 09:03:27 Only if it is surrounded by quote. 09:03:42 Maybe it is a function call, maybe it involves a macro, maybe it is data. 09:03:45 right 09:03:50 This all depends on context that may or may not be local. 09:04:26 What does (b, c); mean in C? 09:05:02 oops, I mean a(b, c) 09:05:17 it is a function call 09:05:31 unless there is a macro with a stupid name, yes. 09:05:51 What this means is that in C you can look at arbitrary functions more or less in isolation. 09:06:11 In lisp this is less true since so much depends on the context set up earlier by the program. 09:06:38 ah so it is difficult to maintain the code 09:06:40 You need to make a higher investment in understanding the text, but you get to make texts much more suited to the problem you're solving. 09:06:48 No -- not more difficult. 09:07:14 It just means that you need to have a deeper understanding of the code you're operating on. 09:07:39 What that means is that you can't so easily jump into another team's code-base, understand one function and then fix it. 09:07:52 Maintenance on your own code base, on the other hand, is probably easier. 09:08:17 now i understand what you mean 09:09:42 In the code i wrote i had some problems, but when i understood how to program in Lisp, it was very easy to debug my code 09:09:57 Ok. 09:09:59 in C it tooks sometimes days to find an error 09:10:10 and fix it 09:10:25 also, a very real issue and probably bigger than the "empowering" one - lots of companies want interchangeable skills 09:12:42 Well, that's just a consequence of network effects. 09:13:13 It isn't as though it is difficult to learn lisp. 09:18:25 Zhivago... i read some codes of Lisp, which i found on the net, and everyone had null or just a line at the beginning of the function with comments 09:19:14 aceluck [~aceluck@175.144.254.120] has joined #lisp 09:19:48 i may be coincidence, but it impressed me, because code in such a language i believe should have many comments 09:20:13 s/i/it 09:20:23 Why? 09:20:47 so that people that read that code could easily understand it 09:20:47 If you write the code to express things clearly then you shouldn't need many comments. 09:22:14 also if it's hard to write then it should be hard to read! 09:22:35 MikeSeth... you have a point 09:23:07 seekalana [~seekalana@CPE-58-175-25-194.mqdl1.lon.bigpond.net.au] has joined #lisp 09:23:07 Sumpen [~Sumpen@81-232-77-93-no46.tbcn.telia.com] has joined #lisp 09:23:12 but i still believe that people should write many lines of comments especially in languages such as Lisp 09:23:26 -!- Sumpen [~Sumpen@81-232-77-93-no46.tbcn.telia.com] has quit [Client Quit] 09:24:07 Sumpen [~Sumpen@81-232-77-93-no46.tbcn.telia.com] has joined #lisp 09:24:24 -!- seekalana [~seekalana@CPE-58-175-25-194.mqdl1.lon.bigpond.net.au] has quit [Client Quit] 09:24:43 -!- Athas [~athas@82.211.209.226] has quit [Remote host closed the connection] 09:26:07 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #lisp 09:27:28 I think that if they do that then they have failed. 09:27:52 In C would you write i++; /* Increment I */? 09:28:16 Zhivago: the companies that are worried about interchangeability of programmers are probably also interested in "hitting the ground running" 09:28:24 j4k0b [~j4k0b@1503024517.dhcp.dbnet.dk] has joined #lisp 09:28:31 p_l: sure, and that's back to network effects. 09:28:53 It all comes back to the difficulty with scaling that empowering individuals produces. 09:29:23 Dousan: It would be a mistake to write code in an attempt that people without adequate knowledge of the language would understand it. 09:30:19 Dousan: Comments are meant for the same people who read the code, so the only reason to write a comment is to explain something that is not clear to such a person, but that usually means that your code is not clearly written, so you should fix the code instead. 09:30:29 Dousan: There are exceptions to that rule of course. 09:30:55 Dousan: One such exception is when the code is convoluted because you have to squeeze some extra performance out of it. 09:31:34 Dousan: Another exception is when you exploit a situation that is not evident from the code, so you want to remind your reader about it. 09:31:36 though if the comment states "You're not supposed to understand it", think twice 09:31:44 -!- gonzojive_ [~red@rescomp-09-162682.Stanford.EDU] has quit [Quit: gonzojive_] 09:32:03 Dousan: and before you ask, that's a real world case 09:32:10 heh! 09:32:14 And given that you've got the tools to write code that should be obvious from reading it ... 09:32:27 serichsen [~user@f048066188.adsl.alicedsl.de] has joined #lisp 09:32:34 Good morning! 09:32:34 Of course, that's assuming that things are working as expected. 09:33:19 beach... i clearly understand what Zhivago and you are saying. But for example, if a function gets as argument another function why not comment it? 09:33:36 Why not pick a name that makes it clear? 09:33:37 Dousan: the rules of the people I respect (and whose code I've actually read) usually suggest that comments should be written only when they are really necessary to explain a bit of code, or as documentation for API 09:34:10 -!- Kenjin [~josesanto@2.80.222.93] has quit [Quit: Get MacIrssi - http://www.sysctl.co.uk/projects/macirssi/] 09:34:21 Dousan: Mainly because comments are not checked by the compiler, so if they are redundant with the code, the risk is very high that they will one day be out of synch with the code. 09:34:34 Dousan: or if you dislike combining various declaims etc., use something like cl-def (I dislike it though) or some of the other similar packages 09:34:36 Also comments can lead to lazy code. 09:35:46 That is, if you think that you should explain non-obvious code with comments, then you might be less likely to rewrite it as obvious code. 09:36:08 Dousan: My favorite example as a consultant was for a software company: /* function f, arguments a and b of type integer */ int f(int a, float b, int c) { ...} 09:36:38 AHAHAHAHAHAHAHA 09:38:06 hahaha, if you write this comment explaining what f does, and what is a, what is b and what is c i believe that it is good programming style 09:38:40 Dousan: The trouble is, that the code will evolve, and when it does, the comment is wrong. 09:39:05 Dousan: It is much better to put that information in the names of the parameters. 09:39:43 but i get your point and i agree that people must not write non useful comments 09:40:16 Dousan: if you can't read the code of the function faster than you could read that kind of comment, then it's probably badly written. 09:40:36 Dousan: Compare: /* if the temperature is higher than the threshold, alert the operator */ if (t > thres) msg("...") to: if(temperature > threshold) alert_operator("...") 09:40:48 about the code that evolves, comments must also evolve, if they don't evolve they are meaningless 09:41:26 Dousan: Programmers are naturally lazy, and often pressed for time. You can't change that easily. 09:41:44 beach... hahaha indeed 09:41:46 Don't comment obvious things, and write obvious code. :) 09:42:32 Zhivago... i believe that is the best advice for a programmer 09:43:01 Dousan: The consequences of which are, as you probably noticed, "don't write comments". 09:43:38 beach... i will change it "write useful comments" :) 09:44:21 -!- kwertii [~kwertii@ResNet-32-110.resnet.ucsb.edu] has quit [Quit: bye] 09:44:43 Dousan: You don't get it. The logic consequences of: 1. Don't comment obvious things and 2. Write obvious code, are "don't write comments", because all the code is obvious so should not be commented. See? 09:45:29 Occasionally you'll fail to be able to write obvious code for some reason or other -- probably due to a lack of domain knowledge or skill. 09:45:35 (for completeness, you probably need to stick in a "code is a subclass of thing" somewhere) 09:45:42 In that case, comments are useful -- but they represent a failure at some level. 09:46:15 pdelgallego [~pdelgalle@1503031474.dhcp.dbnet.dk] has joined #lisp 09:46:57 beach... i get what you say. But i still believe that programmers should comment their code. 09:47:49 Most people cannot write code that doesn't need comments.. 09:48:10 *cannot or wont 09:48:56 <_3b> not like they can write useful comments either :p 09:49:06 hahaha 09:58:14 abhinavm [~abhinav@122.172.196.29] has joined #lisp 09:59:22 -!- abhinav [~abhinav@122.172.4.101] has quit [Read error: Operation timed out] 10:06:57 silenius [~silenus@p54946615.dip.t-dialin.net] has joined #lisp 10:10:03 -!- jmcphers [~jmcphers@218.185.108.156] has quit [Remote host closed the connection] 10:10:51 jmcphers [~jmcphers@218.185.108.156] has joined #lisp 10:11:17 -!- daniel__ is now known as daniel 10:16:23 sykopomp: 04:20 < sykopomp> antoszka: otherwise, if you're trying to get more than one of the decoded-time return values, things might end up being inconsistent. 10:16:36 sykopomp: right, it should be a somewhat atomic operation. 10:16:46 sykopomp: i'll think about that. 10:17:35 Apiman_ [~aitor@89.130.203.127] has joined #lisp 10:18:02 -!- Apiman [~aitor@89.130.203.127] has quit [Ping timeout: 264 seconds] 10:25:13 morning 10:25:54 looking at the hyperspec, its header says it's generated 10:26:24 what's the source format and is it available for download too? 10:26:36 -!- jmbr [~jmbr@141.32.220.87.dynamic.jazztel.es] has quit [Remote host closed the connection] 10:27:31 Regarding code comments: I found the rule of thumb useful to comment why something is done, not what is done. 10:27:32 is there a better formated version available somewhere? 10:29:22 zomgbie [~jesus@h081217133138.dyn.cm.kabsi.at] has joined #lisp 10:35:15 turbo24prg: look for dp3ans, it's the tex source of the revision of the text before it got the ANSI seal of approval 10:35:27 you can make an emacs info file from it, for one (: 10:35:47 or go texinfo->html. I've made a kindle version of the standard 10:36:08 -!- slash_ [~unknown@p5DD1CEDA.dip.t-dialin.net] has quit [Remote host closed the connection] 10:40:16 -!- vsync [~vsync@24.173.173.82] has quit [Read error: No route to host] 10:43:32 lukego [~lukegorri@81-233-246-97-no37.tbcn.telia.com] has joined #lisp 10:43:40 -!- gemelen [~shelta@shpd-95-53-161-198.static.vologda.ru] has quit [Read error: Connection reset by peer] 10:43:50 Howdy! 10:44:11 -!- silenius [~silenus@p54946615.dip.t-dialin.net] has quit [Read error: Connection reset by peer] 10:44:58 So I've been chasing bottlenecks around SB-SPROF for some time now, and it's a bit funny. I optimize and reprofile, and as expected the functions I'm working on move down the list of CPU hogs. I've iterated through this process about five times now and expect a nice speedup. But! The actual application-level performance doesn't seem to be changing. Is it possible that SB-SPROF is measuring something other than what's actually taking my ti 10:45:59 TIME suggests that the majority of work is done in non-GC userspace, as expected. 10:46:23 silenius [~silenus@p54946615.dip.t-dialin.net] has joined #lisp 10:47:02 vsync [~vsync@24.173.173.82] has joined #lisp 10:47:23 Athas [~athas@shop3.diku.dk] has joined #lisp 10:51:02 are you using things like with-gcing and without-interrupts? 10:51:08 nay 10:51:11 howdy jsnell :) 10:51:35 what does SB-SPROF do on samples when control is in the runtime system (GC, etc) rather than Lisp code? 10:52:02 yo lukego 10:52:09 hi Xach :) 10:53:03 for GC the interrupt should be deferred to until right after the GC 10:53:42 I don't think much time is being spent in GC. I wonder if there is any other similar thing that could be at play though. 10:53:44 so it'll usually show up as cpu usage for something like sb-impl::sub-gc 10:54:15 likewise for anything else that blocks or defers interrupts 10:54:43 if time were spent in foreign code that would show up somehow? 10:54:55 yes, it shold show up with the C fuction name 10:55:36 -!- Apiman_ is now known as Apiman 10:55:39 the only place where samples should get lost is interrupts being blocked for longer than your sampling interval 10:56:32 how long does it take to run your function on some data, and how many samples get reported? 10:59:18 I usually run it for about 10 - 20 seconds 10:59:20 reverse translating C function name does not work at the moment on linux, at least in the debugger 10:59:34 using slime-sprof, which doesn't tell me how many samples 10:59:49 it's because the grovelling C program is not run with _USE_GNU or some such 11:00:07 so it thinks dlsym is not available  on my machine anyway 11:00:42 wow, that's bad. but I refuse to believe that you're supposed to be setting _USE_GNU to get dlsym :-) 11:02:42 _s1gma [~d.d.derp@77.107.164.131] has joined #lisp 11:02:43 lukego: could you run (time (sb-sprof:with-profiling (:max-samples 10000 :report :flat) ...))? 11:03:01 -!- _s1gma [~d.d.derp@77.107.164.131] has quit [Max SendQ exceeded] 11:04:18 -!- zomgbie [~jesus@h081217133138.dyn.cm.kabsi.at] has quit [Ping timeout: 240 seconds] 11:05:26 jsnell: it's about dladdr, not dlsym 11:06:17 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 11:07:39 makes sense. anyway, I think the time spent in foreign code should still show up 11:07:48 dladdr() is non-POSIX, and glibc requires _USE_GNU to expose its declaration 11:13:53 -!- Xach [~xach@cpe-72-227-90-1.maine.res.rr.com] has quit [Ping timeout: 245 seconds] 11:14:17 rbarraud [~rbarraud@118-92-12-143.dsl.dyn.ihug.co.nz] has joined #lisp 11:17:11 zomgbie [~jesus@h081217133138.dyn.cm.kabsi.at] has joined #lisp 11:20:33 rares [~rares@184-98-134-85.phnx.qwest.net] has joined #lisp 11:21:32 Zephyrus [~emanuele@unaffiliated/zephyrus] has joined #lisp 11:21:50 -!- rares [~rares@184-98-134-85.phnx.qwest.net] has quit [Client Quit] 11:22:42 AllNight^ [~singulari@ai-core.demon.co.uk] has joined #lisp 11:22:47 hi all :) 11:23:27 *Krystof* curses as he loses yet another game of Linley's Crawl, starts sbcl release process instead 11:23:48 a quick novice common-lisp question... is there a way to make a function exit early? .e.g. (defun foo (x) (when (> 2 x) (return "foo!"))) 11:24:36 *AllNight^* finds he's keeps having stuff inside if / cond statements, where I'd rather have a bunch of when / unless statements to handle obvious cases up front 11:24:41 any help appreciated :) 11:24:48 -!- zomgbie [~jesus@h081217133138.dyn.cm.kabsi.at] has quit [Ping timeout: 240 seconds] 11:24:58 hi Krystof 11:25:06 clhs return-from 11:25:13 antifuchs: thanks! 11:25:32 -!- Apiman [~aitor@89.130.203.127] has quit [Remote host closed the connection] 11:25:41 what, no bots? 11:25:48 thanks jsnell :) 11:26:05 Krystof: funny, I recently started playing DC: Stone Soup myself 11:26:07 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 11:26:17 (except I am pretty good at keeping the addiction in check) 11:26:22 antivigilante [~antivigil@184-98-134-85.phnx.qwest.net] has joined #lisp 11:26:23 good luck with that 11:27:45 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has left #lisp 11:28:09 it is hideously well-balanced (by which I mean very hard, frustratingly hard, but not blatantly impossible hard) 11:28:11 I blame jsnell 11:28:49 yeah, it gives me that impression, too. convenience things like automatic crawling are pretty nice, too. 11:28:50 whaa? 11:29:06 the only thing i can't stand about lisp is the accumulated vocabulary 11:30:39 what do you mean antivigilante? (curious) 11:30:49 slash_ [~unknown@p5DD1CEDA.dip.t-dialin.net] has joined #lisp 11:31:00 antivigilante: yeah, cryptic names like update-instance-for-redefined-class really cramp all our style (-; 11:31:20 it's like forth stopped being a stack based dyslexic drunk and got tenure at Oxford where they added bling bling to the dictionary 11:32:22 point taken it's just that I AM REALLY BAD with names 11:32:40 learning disability prevents me from going fully with lisp 11:32:51 i just end up reinventing it badly 11:33:04 -!- silenius [~silenus@p54946615.dip.t-dialin.net] has quit [Remote host closed the connection] 11:33:51 there are a lot of standard functions - like elt & nth (which seem redundant to me) 11:33:53 silenius [~silenus@p54946615.dip.t-dialin.net] has joined #lisp 11:34:03 is that what your complaining about? too many reserved names? 11:34:07 *AllNight^* still not entirely sure 11:34:26 too many reserved names to remember 11:34:37 I find it hard to memorize the whole vocabulary in lisp, too. for every cool function or concept (like synonym-streams), I forget another (like boole) (: 11:34:56 jewel [~jewel@196-215-16-132.dynamic.isadsl.co.za] has joined #lisp 11:35:23 i have come up with a form based language with lisp syntax which i can read structurally without even blinking 11:35:50 has anyone thought of doing flashcards for a spaced-repetition system with lisp keywords? like Mnemosyne or something? 11:35:56 *AllNight^* hasnt - but has been considering that 11:36:06 as I too have ran into the 'boy there are a lot of keywords' problem 11:37:08 *AllNight^* wonders - how many of them are actually used? is there a frequency analysis of some reasonable lisp corpus somewhere? 11:37:17 my lil language has and going horizontally and or going vertically and not is simply a mischievious use of a break type symbol 11:37:18 (a serious question) 11:37:44 logical conditionals are IMPLIED 11:37:49 not explicit 11:38:26 i think i can make if be IMPLIED rather than specified too 11:38:26 I have bad news for you! As well as all the words in the lisp standard, there are a lot of other words defined by programmers 11:38:47 and I know how to do it too 11:39:51 i mean i would be happy if the standard were broken up into libraries 11:40:08 and just the basics were necessary to get going 11:40:17 Krystof - I know - I'm looking at doing a PhD - and the source to the system I would be working on is all in Lisp -- but it would at least *help* if I had a thorough knoweldge of common-lisp (which I dont yet) 11:40:36 practice, practice 11:40:43 i still code in c when i can afford the constant recompiling 11:41:05 I MISPELL LIKE A WESTBORO BAPTIST 11:41:18 see I misspelled misspell 11:41:25 so use a good tool 11:41:31 (and don't shout) 11:41:39 wbooze [~user@xdsl-78-34-220-52.netcologne.de] has joined #lisp 11:41:42 homie [~user@xdsl-78-34-220-52.netcologne.de] has joined #lisp 11:41:46 that was for empahis 11:41:50 see 11:41:51 ! 11:42:13 of course that's more my fingers than missed signal 11:44:17 would any one hate me if I used hashes to create objects instead of generics and classes? 11:45:06 *antivigilante* hides under flame retardant diapers 11:45:11 xan_ [~xan@220.118.197.183] has joined #lisp 11:45:30 -!- j4k0b [~j4k0b@1503024517.dhcp.dbnet.dk] has quit [Ping timeout: 240 seconds] 11:45:53 or maybe I should use property lists 11:46:13 plists seem a little hackish though 11:46:23 antivigilante: lisp allows you to reinvent the wheel wherever you want to. go ahead. the only ones who might hate you are the people who have to work on your code (including you). 11:46:26 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Ping timeout: 276 seconds] 11:46:37 they are also slower - access time to the nth field is now dependent on how many fields you have 11:47:11 plists or hashes are slower or both? 11:47:20 cuz that's a deal breaker 11:47:36 antivigilante - plists .. access time to the nth element of the list is O(n) 11:47:47 how many fields have you got? 11:47:58 up to the coder 11:48:12 so could a few brazillians 11:48:23 if it's a small number it probably doesnt matter - if there might be hundreds or more, then Plists could be *much* slower 11:48:23 sorry inside joke 11:48:35 hashes it is 11:48:46 does it refer to one g.w. bush? (the inside joke) :) 11:48:56 yes it does 11:49:33 :) 11:49:58 but hey now that president browser helper object is outed as cia we can just blame the pantheon of presidents for this mess 11:50:25 er blame the whole pantheon even 11:50:30 anyway digressing 11:51:13 ok so that's my coolest feature and goes across the screen and or goes vertical 11:52:13 i see structure before content like a desert mirage from a distance so it just works for me 11:53:21 all I need to do is come up with a notion of (nil nil nil) as being an infinite loop to justify using it as the break symbol 11:54:17 any zpng users? 11:54:46 my little language goes like this (var function value) leave one of them out and the fun begins 11:55:09 (var function nil) is a query 11:55:20 (var nil value 11:55:25 ) 11:55:30 is an assignment 11:55:56 (nil function value) is a test 11:55:59 or wait 11:56:07 yea 11:56:10 that's it 11:56:25 have you looked at Mercury antivigilante? 11:56:33 mercury? 11:56:40 it's a logic programming language 11:56:47 ooh 11:57:24 here's the kicker 11:57:27 with a 'mode' system a bit like your idea 11:57:28 any luck with ccl on win32 with slime? 11:57:39 presentations won't work, debugger won't work 11:58:00 (var nil (var nil value)) is a class member assignment 11:59:04 but you can if you want redefine assignment in the outer var and wreak havoc 12:00:02 for example instead of assigning a value 12:00:34 it would receive an object and decide internally what to do with it 12:00:48 API-less object programming 12:01:15 high level conceptual programming in a low level package 12:03:08 i just have to relearn read macros particularly read-with-delimiter 12:03:36 so 'var' could be an object? 12:03:44 *AllNight^* not completely sure he follows you 12:03:54 doesn't sound like you nead read macros for that, if you're operating on lists? 12:04:17 it gets escalated to an object because of the inner assignment 12:04:27 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #lisp 12:05:06 but in the sense that a var is a container of value 12:05:10 attila_lendvai [~attila_le@145.236.198.66] has joined #lisp 12:05:23 and an object is a container of vars 12:06:07 zomgbie [~jesus@h081217133138.dyn.cm.kabsi.at] has joined #lisp 12:06:08 i just need for logical consistency to say that (nil nil nil) leads to an infinite loop 12:06:18 -!- slash_ [~unknown@p5DD1CEDA.dip.t-dialin.net] has quit [Remote host closed the connection] 12:06:47 therefore it should be reserve for breaking out of loops and ending functions 12:07:26 any zpng users? 12:07:56 just the idea of a function being a sequence of statements terminated by a nil nil nil is hilarious 12:08:23 Yuuhi [benni@p5483C669.dip.t-dialin.net] has joined #lisp 12:08:27 matlisp does not compile 12:08:31 rlab does not compile 12:08:43 jsnell: with ~2000 samples the flat profile looks consistent with the slime-sprof one 12:08:44 ... 12:08:46 -!- rbarraud [~rbarraud@118-92-12-143.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 12:09:10 even with patches to lazy-loader.lisp.in etc.... 12:09:15 let's nothing is operated on with the default operator with the value of nothing 12:09:22 rbarraud [~rbarraud@118-92-12-143.dsl.dyn.ihug.co.nz] has joined #lisp 12:09:31 the default operator 12:09:38 is assignment but 12:09:55 what default op is in nothing? 12:10:07 impossible to continue 12:10:18 perfecyt 12:11:10 i'm gonna go study read macros I will be using [] instead of () 12:11:57 i wish i could use .= =. or ._ _. 12:12:00 but ala 12:12:01 s 12:13:23 -!- holcyow [~new@poco208-2.fredcanhelp.com] has quit [Remote host closed the connection] 12:13:26 -!- stepnem [~stepnem@88.103.132.186] has quit [Read error: Operation timed out] 12:16:01 stepnem [~stepnem@88.103.132.186] has joined #lisp 12:18:10 spradnyesh [~pradyus@122.166.149.101] has joined #lisp 12:18:15 -!- spradnyesh [~pradyus@122.166.149.101] has left #lisp 12:19:57 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #lisp 12:24:42 zpng users here? 12:25:19 jsnell: ahem. the program I'm optimizing has crossed the line from CPU-bound to network-bound, which explains perfectly why I don't see application-level speedups. I'll rig a faster network :) 12:25:30 urandom__ [~user@p548A30BB.dip.t-dialin.net] has joined #lisp 12:25:46 -!- stepnem [~stepnem@88.103.132.186] has quit [Quit: ZNC - http://znc.sourceforge.net] 12:28:52 how easily does lisp do co-routines? 12:29:57 which are essentially inside out loops 12:33:01 stepnem [~stepnem@88.103.132.186] has joined #lisp 12:33:40 -!- lukego [~lukegorri@81-233-246-97-no37.tbcn.telia.com] has quit [Remote host closed the connection] 12:37:43 hargettp [~anonymous@pool-71-184-181-149.bstnma.east.verizon.net] has joined #lisp 12:38:26 -!- Beetny [~Beetny@ppp118-208-40-54.lns20.bne1.internode.on.net] has quit [Ping timeout: 276 seconds] 12:38:36 -!- Zephyrus [~emanuele@unaffiliated/zephyrus] has quit [Ping timeout: 272 seconds] 12:39:44 Zephyrus [~emanuele@unaffiliated/zephyrus] has joined #lisp 12:40:34 (loop for i from 0 to 9 do 12:40:35 (loop for j from 0 to 9 do 12:40:35 (set-pixel-array test-image-data i j (list (random 255) (random 255) (random 255))))) 12:40:46 but I'm getting a bizarre error with a confusing stack-trace 12:41:38 The value NIL is not of type (UNSIGNED-BYTE 8). 12:41:39 [Condition of type TYPE-ERROR] 12:43:03 -!- manic12 [~andrew@99-100-67-123.lightspeed.sntcca.sbcglobal.net] has quit [Ping timeout: 245 seconds] 12:43:49 lol 12:43:52 I see the problem 12:46:28 -!- tcr [~tcr@81-233-246-97-no37.tbcn.telia.com] has quit [Ping timeout: 252 seconds] 12:56:14 lukego [~lukegorri@81-233-246-97-no37.tbcn.telia.com] has joined #lisp 13:02:08 -!- AllNight^ [~singulari@ai-core.demon.co.uk] has quit [] 13:02:51 disumu [~disumu@pD4B9E991.dip.t-dialin.net] has joined #lisp 13:03:00 jmbr [~jmbr@141.32.220.87.dynamic.jazztel.es] has joined #lisp 13:03:05 Xach [~xach@cpe-72-227-90-1.maine.res.rr.com] has joined #lisp 13:06:44 Is nesting reader conditionals like "#-sb-xc-host #!+sb-foo bar" valid? 13:10:18 hmm, i thought nested conditionals apply to N expressions, where N is the number of conditionals 13:10:35 like (values #+foo #-foo 42 42) 13:10:44 lemonade` [~lemonade`@pool-71-178-51-180.washdc.fios.verizon.net] has joined #lisp 13:11:01 and i was right 13:11:55 -!- silenius [~silenus@p54946615.dip.t-dialin.net] has quit [Remote host closed the connection] 13:12:15 -!- rbarraud [~rbarraud@118-92-12-143.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 13:12:28 rbarraud [~rbarraud@118-92-12-143.dsl.dyn.ihug.co.nz] has joined #lisp 13:13:15 ? 13:13:44 so uh 13:14:11 is there some loop syntax for like, while something is true? 13:15:02 yes, the most obvious one :) 13:15:11 loop while ... 13:15:18 (loop while (some sexp that returns true) ? 13:15:22 heh, I was right :) 13:15:31 ignotus [~ignotus@unaffiliated/ignotus] has joined #lisp 13:18:49 peterhil` [~peterhil@a91-153-116-43.elisa-laajakaista.fi] has joined #lisp 13:20:48 so hum 13:20:53 er, wrong channel 13:21:55 z0d [~z0d@unaffiliated/z0d] has joined #lisp 13:22:17 minion: memo for pkhuong_: I have hacked the compiler to preserve precise sse types when folding or in (the constant). This appears to fix my previous examples: http://github.com/angavrilov/sbcl/commit/e898a31e024beccd8c83ec6cf8e8a96133b6c3a2 13:22:17 Remembered. I'll tell pkhuong_ when he/she/it next speaks. 13:24:43 minion: memo for pkhuong_: Are you absolutely against the idea to use a runtime type tag solely for printing? I think I'll keep that in ECL anyway since it's already been committed. After all, what really matters is how type-of and typep work, not the way stuff is printed. 13:24:43 Remembered. I'll tell pkhuong_ when he/she/it next speaks. 13:26:08 minion: forget my memos 13:26:09 OK, I threw them out. 13:28:41 -!- lukego [~lukegorri@81-233-246-97-no37.tbcn.telia.com] has quit [Ping timeout: 276 seconds] 13:28:44 ikki [~ikki@189.247.159.110] has joined #lisp 13:28:52 regarding constants: maybe... although, again, the VOPs should emit most of the loading themselves anyway. 13:30:08 re runtime tag for printing: inconsistent behaviour is always fun to explain. Would customising the printer function instead be good enough? 13:30:57 lukego [~lukegorri@81-233-246-97-no37.tbcn.telia.com] has joined #lisp 13:31:40 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Quit: +++ killed by SIGSEGV +++] 13:31:47 -!- Zephyrus [~emanuele@unaffiliated/zephyrus] has quit [Ping timeout: 276 seconds] 13:33:06 -!- zomgbie [~jesus@h081217133138.dyn.cm.kabsi.at] has quit [Ping timeout: 240 seconds] 13:38:31 pkhuong_: how exactly do you want to customize it? 13:39:04 some kind of *sse-pack-print-mode*? 13:39:17 angavrilov: something like that. 13:40:47 fiveop [~fiveop@erft-4d07f053.pool.mediaWays.net] has joined #lisp 13:40:52 maybe; I now see that the primitive type is not available to the sbcl's debugger... 13:41:17 incidentally, it doesn't understand sse SCs yet 13:44:59 Is it in any way possible to decide on a contrib & package name without sb in it? Like x86-sse or x86-simd for contrib & sse for package (or nickname), or something 13:46:22 -!- e-future [~e-future@unaffiliated/sergio/x-8197433] has quit [Ping timeout: 272 seconds] 13:47:21 zomgbie [~jesus@h081217133138.dyn.cm.kabsi.at] has joined #lisp 13:47:25 sure.. 13:47:25 Shoggoth [~chatzilla@CPE-58-172-210-36.ewqo1.ken.bigpond.net.au] has joined #lisp 13:47:46 e-future [~e-future@unaffiliated/sergio/x-8197433] has joined #lisp 13:49:29 tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has joined #lisp 13:49:37 -!- ignotus [~ignotus@unaffiliated/ignotus] has left #lisp 13:57:01 Did you think about possibly supporting AVX in the future? 13:59:06 -!- antivigilante [~antivigil@184-98-134-85.phnx.qwest.net] has quit [Ping timeout: 240 seconds] 14:02:58 dreish [~dreish@2002:cf8a:2fad:0:21f:5bff:fe35:ae0d] has joined #lisp 14:03:40 yrgd [~yrgd@c-98-235-44-106.hsd1.pa.comcast.net] has joined #lisp 14:05:23 dfox [~dfox@ip-89-176-209-74.net.upcbroadband.cz] has joined #lisp 14:06:21 minion: help 14:06:21 There are multiple help modules. Try ``/msg minion help kind'', where kind is one of: "lookups", "helping others", "adding terms", "aliasing terms", "forgetting", "memos", "avoiding memos", "nicknames", "goodies", "eliza", "advice", "apropos", "acronyms". 14:07:36 minion: memo for antivigilante: there's no native support for coroutines in Common Lisp. Most implementations support threads, which you could use to implement coroutines. Otherwise, you can do yourself the transformations needed to implement coroutines. Something like that is done in UncommonWeb, to implement delimited continuations. 14:07:36 Remembered. I'll tell antivigilante when he/she/it next speaks. 14:11:20 Zephyrus [~emanuele@unaffiliated/zephyrus] has joined #lisp 14:11:33 antivigilante [~antivigil@184-98-134-85.phnx.qwest.net] has joined #lisp 14:13:40 -!- jmbr [~jmbr@141.32.220.87.dynamic.jazztel.es] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 14:15:41 -!- tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has quit [Quit: tritchey] 14:16:23 -!- Shoggoth [~chatzilla@CPE-58-172-210-36.ewqo1.ken.bigpond.net.au] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.5.5/20091124072228]] 14:18:22 with the loop macro, say I'm doing a loop while (something), how can I iterate a number? just do for x? 14:19:55 jmbr [~jmbr@141.32.220.87.dynamic.jazztel.es] has joined #lisp 14:20:29 zc00gii: What does it mean to "iterate a number"? 14:20:46 beach: it increases each time it loops 14:20:59 (loop for x from 1 do ...) 14:21:14 thank you :) 14:22:06 -!- Yuuhi [benni@p5483C669.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 14:22:45 stassats [~stassats@wikipedia/stassats] has joined #lisp 14:23:21 -!- tompa [~tompa@h59ec27fb.sehjjak.dyn.perspektivbredband.net] has left #lisp 14:24:05 -!- Krystof changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language . New: SBCL 1.0.42, CFFI 0.10.6, IOLib 0.7.0 14:26:15 -!- josemanuel [~josemanue@178.1.222.87.dynamic.jazztel.es] has quit [Quit: Saliendo] 14:26:58 jleija [~jleija@adsl-243-224-109.chs.bellsouth.net] has joined #lisp 14:27:43 programs that program themselves 14:27:44 oh my 14:28:49 it's like wives that beat themselves 14:29:18 -!- OEP [~OEP@c-76-27-129-70.hsd1.al.comcast.net] has quit [Ping timeout: 265 seconds] 14:29:18 bah 14:29:28 I made a whole mandelbrot function 14:29:45 Yuuhi [benni@p5483C669.dip.t-dialin.net] has joined #lisp 14:29:46 and (setf imagpart) and (setf realpart) doesn't exist! 14:30:43 OEP [~OEP@c-76-27-129-70.hsd1.al.comcast.net] has joined #lisp 14:30:53 complex numbers are immutable 14:31:10 all numbers are immutable 14:31:14 -!- abhinavm [~abhinav@122.172.196.29] has quit [Ping timeout: 265 seconds] 14:31:44 mmm 14:31:48 well 14:32:01 I'm also pissed that sbcl is deleting unreachable code that's reachable 14:32:15 are you sure? 14:32:20 positive 14:32:36 you think that you're sure 14:32:40 http://gist.github.com/556337 14:32:43 I know that I am 14:33:26 (if (= k 100) (set-pixel png j i '(0 1))) 14:33:37 it's saying that that (set-pixel ...) is unreachable 14:34:15 k is never equal 100 14:34:26 why not? 14:34:45 it's always 0! 14:34:50 -!- attila_lendvai [~attila_le@145.236.198.66] has quit [Quit: Leaving.] 14:34:52 because no matter how hard you increment it within the loop with a local binding, the outer binding is never changed 14:34:53 you're misusing it in the LOOP 14:35:11 in the second loop, that is 14:35:14 Aferlak12 [~Aferlak12@64.120.233.114] has joined #lisp 14:35:18 third :P 14:35:30 <_3b> also, you can't put WHILE before FOR 14:36:10 bleh, this is pissing me off 14:36:20 I'll redo it later when I'm more calm 14:36:25 and more patient 14:39:31 oh, there was me thinking that an apology would be appropriate 14:40:02 -!- stepnem [~stepnem@88.103.132.186] has quit [Ping timeout: 276 seconds] 14:40:03 ace4016 [~jmarcelin@adsl-32-117-5.mia.bellsouth.net] has joined #lisp 14:40:38 -!- antivigilante [~antivigil@184-98-134-85.phnx.qwest.net] has quit [Ping timeout: 276 seconds] 14:42:32 stepnem [~stepnem@88.103.132.186] has joined #lisp 14:43:09 wbooze` [~user@xdsl-78-34-97-238.netcologne.de] has joined #lisp 14:43:32 <_3b> does the spec forbid making accessors out of things (like realpart and imagpart) in CL package? 14:43:35 -!- wbooze` [~user@xdsl-78-34-97-238.netcologne.de] has quit [Remote host closed the connection] 14:44:39 *_3b* thinks more of the functions in the numbers dictionary should be places 14:45:39 homie` [~user@xdsl-78-34-97-238.netcologne.de] has joined #lisp 14:45:40 -!- homie [~user@xdsl-78-34-220-52.netcologne.de] has quit [Ping timeout: 255 seconds] 14:45:44 wbooze` [~user@xdsl-78-34-97-238.netcologne.de] has joined #lisp 14:45:51 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 14:45:53 -!- wbooze [~user@xdsl-78-34-220-52.netcologne.de] has quit [Ping timeout: 276 seconds] 14:46:08 peterhil [peterhil@a91-153-120-132.elisa-laajakaista.fi] has joined #lisp 14:46:29 -!- jleija [~jleija@adsl-243-224-109.chs.bellsouth.net] has quit [Quit: leaving] 14:48:37 Kenjin [~josesanto@2.80.222.93] has joined #lisp 14:49:12 -!- homie` is now known as homie 14:49:36 -!- homie [~user@xdsl-78-34-97-238.netcologne.de] has quit [Client Quit] 14:49:37 -!- stepnem [~stepnem@88.103.132.186] has quit [Ping timeout: 260 seconds] 14:50:38 -!- wbooze` is now known as wbooze 14:50:50 -!- wbooze [~user@xdsl-78-34-97-238.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 14:51:08 jsnell: sb-sprof is a dreamboat now that I've sorted out my "test lab". thanks for the great program! 14:51:31 stepnem [~stepnem@88.103.132.186] has joined #lisp 14:53:28 -!- ASau [~user@83.69.227.32] has quit [Ping timeout: 240 seconds] 14:54:54 homie [~user@xdsl-78-34-97-238.netcologne.de] has joined #lisp 14:55:00 wbooze [~user@xdsl-78-34-97-238.netcologne.de] has joined #lisp 14:57:45 lukego: you can get wall-clock time rather than cpu time, next time you find a discrepancy like that 14:59:57 jaiball [~justin@c-76-119-131-178.hsd1.ct.comcast.net] has joined #lisp 15:00:04 -!- disumu [~disumu@pD4B9E991.dip.t-dialin.net] has quit [Quit: ...] 15:02:07 _s1gma [~d.d.derp@77.107.164.131] has joined #lisp 15:07:18 manic12 [~andrew@99-100-67-123.lightspeed.sntcca.sbcglobal.net] has joined #lisp 15:07:56 -!- lukego [~lukegorri@81-233-246-97-no37.tbcn.telia.com] has quit [Ping timeout: 276 seconds] 15:12:00 Edward_ [~ed@AAubervilliers-154-1-28-63.w90-3.abo.wanadoo.fr] has joined #lisp 15:13:06 ramus_ [~ramus@99.23.135.103] has joined #lisp 15:13:59 -!- ramus [~ramus@adsl-99-23-148-86.dsl.chcgil.sbcglobal.net] has quit [Ping timeout: 276 seconds] 15:14:10 zophy [~sy@host-242-6-111-24-static.midco.net] has joined #lisp 15:22:00 -!- krl [~krl@port-87-193-235-133.static.qsc.de] has quit [Ping timeout: 272 seconds] 15:24:10 sbahra [~sbahra@pool-74-106-252-24.bltmmd.fios.verizon.net] has joined #lisp 15:24:23 -!- seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has quit [Ping timeout: 276 seconds] 15:27:42 minion: memo for lukego: linux's perf toolkit may be useful. It has a fairly simple interface, can get statistics with backtraces on a number of events, and the backtracing is sbcl-compatible (assumes x86-style fp/sp convention). 15:27:42 Remembered. I'll tell lukego when he/she/it next speaks. 15:27:59 Yuuhi` [benni@p5483D2EC.dip.t-dialin.net] has joined #lisp 15:28:44 -!- OEP [~OEP@c-76-27-129-70.hsd1.al.comcast.net] has quit [Ping timeout: 265 seconds] 15:29:43 -!- Yuuhi [benni@p5483C669.dip.t-dialin.net] has quit [Ping timeout: 265 seconds] 15:37:17 -!- mathrick [~mathrick@users177.kollegienet.dk] has quit [Read error: Connection reset by peer] 15:37:17 -!- m4thrick [~mathrick@users177.kollegienet.dk] has quit [Read error: Connection reset by peer] 15:37:27 beach` [~user@ABordeaux-552-1-112-68.w92-156.abo.wanadoo.fr] has joined #lisp 15:38:20 mathrick [~mathrick@users177.kollegienet.dk] has joined #lisp 15:39:43 -!- beach [~user@ABordeaux-552-1-80-110.w90-38.abo.wanadoo.fr] has quit [Ping timeout: 252 seconds] 15:42:09 SegFaultAX [~SegFaultA@c-98-234-1-162.hsd1.ca.comcast.net] has joined #lisp 15:42:14 rrice [~rrice@adsl-76-253-140-91.dsl.akrnoh.sbcglobal.net] has joined #lisp 15:43:43 -!- RaceCondition [~RaceCondi@82.131.67.157.cable.starman.ee] has quit [Quit: Computer has gone to sleep] 15:46:30 RaceCondition [~RaceCondi@82.131.67.157.cable.starman.ee] has joined #lisp 15:48:47 gravicappa [~gravicapp@ppp85-141-164-247.pppoe.mtu-net.ru] has joined #lisp 15:49:54 -!- mathrick [~mathrick@users177.kollegienet.dk] has quit [Ping timeout: 240 seconds] 15:53:34 m4thrick [~mathrick@users177.kollegienet.dk] has joined #lisp 15:54:12 seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has joined #lisp 15:54:30 -!- xyxxyyy [~xyxu@116.227.195.185] has quit [Quit: Leaving.] 15:55:30 gonzojive [~red@128.12.169.254] has joined #lisp 15:57:16 ASau [~user@83.69.227.32] has joined #lisp 15:58:19 -!- xan_ [~xan@220.118.197.183] has quit [Quit: leaving] 16:01:27 antoszka [~antoszka@unaffiliated/antoszka] has joined #lisp 16:02:00 udzinari [~user@209.158.broadband13.iol.cz] has joined #lisp 16:02:23 -!- Edward_ [~ed@AAubervilliers-154-1-28-63.w90-3.abo.wanadoo.fr] has quit [] 16:02:47 Edward_ [~ed@AAubervilliers-154-1-28-63.w90-3.abo.wanadoo.fr] has joined #lisp 16:03:02 -!- hohoho [~hohoho@ntkngw229253.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 16:08:26 -!- udzinari [~user@209.158.broadband13.iol.cz] has quit [Remote host closed the connection] 16:09:22 mathrick [~mathrick@emp.nat.sdu.dk] has joined #lisp 16:13:47 I'm writing some CL code in slime in emacs-23 in X and I have some (error ...) forms in the code. Why is the word error highlighted in red as soon as I type it in? 16:16:34 antoszka: because that's how it's coloured. 16:16:57 That's a bit of an exaggeration :) 16:17:29 As if I they were the most important things I need to see the moment I look at my buffer. 16:17:52 And get them confused with actual errors in the code (also highlighted red after compilation). 16:19:12 It's been a while since I used those features, but I believe error will be pink-coloured, while errors get a more solid red. 16:20:09 Hm... Same colour for me. 16:20:22 Unfortunately. 16:20:54 -!- Krystof [~csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has quit [Remote host closed the connection] 16:21:26 -!- zomgbie [~jesus@h081217133138.dyn.cm.kabsi.at] has quit [Ping timeout: 276 seconds] 16:22:18 zomgbie [~jesus@h081217133138.dyn.cm.kabsi.at] has joined #lisp 16:24:15 actually i was thinking about it too 16:24:18 -!- seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has quit [Ping timeout: 240 seconds] 16:24:28 (define-condition foo-error (error) 16:24:30 ...) 16:24:51 error is highlighted, albeit i think it should not be 16:27:14 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 16:28:41 -!- jmbr [~jmbr@141.32.220.87.dynamic.jazztel.es] has quit [Read error: Connection reset by peer] 16:30:27 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 16:31:03 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Client Quit] 16:31:26 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #lisp 16:31:27 -!- cisticola [~daddy@202.134.251.153] has quit [Read error: Connection reset by peer] 16:31:45 cisticola [~daddy@202.134.251.153] has joined #lisp 16:32:49 udzinari [~user@209.158.broadband13.iol.cz] has joined #lisp 16:32:57 jmbr [~jmbr@244.32.220.87.dynamic.jazztel.es] has joined #lisp 16:33:34 o/ 16:34:45 hi nikodemus :) 16:34:59 how's hacking? 16:35:04 Krystof [~csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has joined #lisp 16:35:10 good :) 16:35:17 tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has joined #lisp 16:35:53 antivigilante [~antivigil@184-98-134-85.phnx.qwest.net] has joined #lisp 16:40:45 -!- benny [~user@i577A7C99.versanet.de] has quit [Ping timeout: 258 seconds] 16:42:22 -!- Sumpen [~Sumpen@81-232-77-93-no46.tbcn.telia.com] has quit [Quit: Planned down time ^^] 16:42:47 antoszka: you can M-x customize-face on it 16:43:07 stassats: I'll have a go, thx. 16:43:43 <_3b> nikodemus: did you see http://thread.gmane.org/gmane.lisp.steel-bank.devel/14928 ? 16:44:42 antoszka: i have font-lock-maximum-decoration set to NIL, because i don't like much colors 16:45:13 _3b: saw, yes, thought about -- no 16:45:37 <_3b> ok 16:46:20 _3b: if you put the patch on launchpad i'm more likely to remember it the next time i look for stuff to do 16:46:35 (esp. if you tag it with "review") 16:46:52 -!- ramus_ [~ramus@99.23.135.103] has quit [Ping timeout: 272 seconds] 16:47:01 francogrex [~user@109.130.163.134] has joined #lisp 16:48:36 kami [~user@unaffiliated/kami-] has joined #lisp 16:48:42 *_3b* adds that to my todo list for this week 16:49:11 mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has joined #lisp 16:50:10 ramus [~ramus@adsl-99-136-194-40.dsl.chcgil.sbcglobal.net] has joined #lisp 16:51:48 -!- sonnym [~evissecer@rrcs-184-74-137-167.nys.biz.rr.com] has quit [Ping timeout: 240 seconds] 16:52:01 sonnym [~evissecer@rrcs-184-74-137-167.nys.biz.rr.com] has joined #lisp 16:52:06 abugosh [~Adium@207-172-111-88.c3-0.tlg-ubr4.atw-tlg.pa.cable.rcn.com] has joined #lisp 16:53:40 gigamonkey [~user@adsl-99-24-217-129.dsl.pltn13.sbcglobal.net] has joined #lisp 21:35:40 ccl-logbot [~ccl-logbo@setf.clozure.com] has joined #lisp 21:35:40 21:35:40 -!- names: ccl-logbot me345 Apiman francogrex diwr coyo zomgbie seangrove Reav_ MagBo rtra pizzledizzle Edward_ carlocci rfg legumbre holycow b-man_ s0ber schoppenhauer upward emacs-dwim pdo lemonade` stepnem sykopomp lemoinem sonnym1 lolsuper_ wbooze homie ramus sdsds daniel_ _death ikki HET2 atomx tcr rvirding red1ynx Holcxjo krl gonzojive slash_ jleija gigamonkey mjonsson Krystof jmbr udzinari cisticola mathrick antoszka ASau m4thrick gravicappa RaceCondition 21:35:40 -!- names: rrice SegFaultAX beach Yuuhi` sbahra zophy manic12 _s1gma jaiball Kenjin peterhil bgs100 Aferlak12 dfox yrgd dreish e-future peterhil` Xach hargettp urandom__ stis ignas vsync jmcphers pdelgallego serichsen rdd kleppari bozhidar zc00gii Salamander_ derrida kpreid_ lisppaste MetalDust Tordek christoph_debian gds mulander Nshag redline6561 CrEddy sellout Euthydemus rich_holygoat Plazma Buganini khrum42 tankrim psilord1 dmiles_afk cinch TomJ Kae cpt_nemo 21:35:40 -!- names: dfkjjkfd weirdo cow-orker lusory pchrist cmm BrianRice kephas incandenza bobbysmith007 hohum lnostdal Jasko heaumer deepfire rread dstatyvka Adamant srolls ianmcorvidae rootzlevel scode eldragon arbscht franki^ Borbus trebor_dki rsynnott levene fda314925 angavrilov Modius eno phadthai Anarch sabalaba bzzbzz rtoym schmrkc naiv billstclair hypno Aisling metasyntax Amadiro Madsy dnm acieroid Tasunteld HarryS TraumaPony Khisanth quasisane gonzojive1 [df] prip 21:35:40 -!- names: PuffTheMagic debiandebian mornfall tsuru madnificent metasyntax` delYsid yacin stokachu slyrus araujo rahul Demosthenes djinni` rapacity Dousan seejay tychoish hugod Lycurgus Tabmow eli Ralith Dodek srcerer micro`` samo albino foom fe[nl]ix OliverUv erg felipe stettberger AntiSpamMeta Pepe_ kooll tessier Patzy bougyman galdor zbigniew kuwabara vinnana jsnell andreer gz xristos chris___1 p_l ski bfein ecraven baley emma dboswell PissedNumlock ineiros_ 21:35:40 -!- names: Xantoz minion Quadrescence johanbev yahooooo Obfuscate joshe starseeker dcrawford zfx mapour leviathan nullman pjb clop Deltafire Davsebamse marienz erk__ pok amaron _3b codemonkeyx Odin- dostoyevsky setheus Ginei_Morioka potatishandlarn jrockway abend Tril djm frodef Draggor joast ASau` ineiros luis cods housel krappie_ pr l_a_m herbieB johs aoh pkhuong_ Fade spacebat clog tomaw easyE turbo24prg brickhazel fmu` Adrinael Yamazaki-kun antifuchs _3b` 21:35:40 -!- names: xavieran_ boyscared reb mtd Bucciarati Xof mal__ nuba ``Erik lonstein kloeri pp206 rotty tvaalen hanneso qsun MikeSeth Dazhbog @Zhivago amontez cYmen jpanest hc_e 21:37:16 hi! has anyone ever used load-pixmap in Allegro CL?? "(load-pixmap "/home/path/cas-1.bmp" nil nil)" fails saying: "Error: Illegal keyword given: NIL." but as I can understand from doc (http://www.franz.com/support/documentation/8.1/doc/operators/cg/l/load-pixmap.htm) it should work. doesn't it? 21:37:41 -!- rtra [~rtra@unaffiliated/rtra] has left #lisp 21:38:23 -!- Dousan [~dae@178.128.52.138.dsl.dyn.forthnet.gr] has quit [Remote host closed the connection] 21:39:29 _3b: it's not my code it's from local-time library 21:40:54 -!- Ralith [~ralith@216.162.199.202] has quit [Read error: Connection reset by peer] 21:41:00 abugosh [~Adium@pool-173-66-11-121.washdc.fios.verizon.net] has joined #lisp 21:41:35 Ralith [~ralith@216.162.199.202] has joined #lisp 21:41:48 -!- urandom__ [~user@p548A30BB.dip.t-dialin.net] has quit [Remote host closed the connection] 21:43:31 Apiman: the remaining arguments after the pathname are keyword arguments 21:43:31 so you would use :format nil :make-unique-name nil, or whichever additional arguments you wanted to pass 21:44:07 Apiman: the way you wrote it would be appropriate if the additional args were &optional (which means, omittable but positional) 21:44:21 <_3b> francogrex: calling with-decoded-timestamps? might try macroexpanding that call and see if it looks reasonable 21:44:25 &key arguments always come in pairs: the name, then the value 21:45:09 sc 21:45:13 oops 21:45:55 antifuchs: alright thank you 21:49:01 ccl-logbot [~ccl-logbo@setf.clozure.com] has joined #lisp 21:49:01 21:49:01 -!- names: ccl-logbot rbarraud Ralith me345 Apiman francogrex diwr coyo zomgbie seangrove Reav_ MagBo pizzledizzle Edward_ carlocci rfg legumbre holycow b-man_ s0ber schoppenhauer upward emacs-dwim pdo lemonade` stepnem sykopomp lemoinem sonnym1 lolsuper_ wbooze homie ramus sdsds daniel_ _death ikki HET2 atomx tcr rvirding red1ynx Holcxjo krl gonzojive slash_ jleija gigamonkey mjonsson Krystof jmbr udzinari cisticola mathrick antoszka ASau m4thrick gravicappa 21:49:01 -!- names: RaceCondition rrice SegFaultAX beach Yuuhi` sbahra zophy manic12 _s1gma jaiball Kenjin peterhil bgs100 Aferlak12 dfox yrgd dreish e-future peterhil` Xach hargettp stis ignas vsync jmcphers pdelgallego serichsen rdd kleppari zc00gii Salamander_ derrida kpreid_ lisppaste MetalDust Tordek christoph_debian gds mulander Nshag redline6561 CrEddy sellout Euthydemus rich_holygoat Plazma Buganini khrum42 tankrim psilord1 dmiles_afk cinch TomJ Kae cpt_nemo dfkjjkfd 21:49:01 -!- names: weirdo cow-orker lusory pchrist cmm BrianRice kephas incandenza bobbysmith007 hohum lnostdal Jasko heaumer deepfire rread dstatyvka Adamant srolls ianmcorvidae rootzlevel scode eldragon arbscht franki^ Borbus trebor_dki rsynnott levene fda314925 angavrilov Modius eno phadthai Anarch sabalaba bzzbzz rtoym schmrkc naiv billstclair hypno Aisling metasyntax Amadiro Madsy dnm acieroid Tasunteld HarryS TraumaPony Khisanth quasisane gonzojive1 [df] prip 21:49:01 -!- names: PuffTheMagic debiandebian mornfall tsuru madnificent metasyntax` delYsid yacin stokachu slyrus araujo rahul Demosthenes djinni` rapacity seejay tychoish hugod Lycurgus Tabmow eli Dodek srcerer micro`` samo albino foom fe[nl]ix OliverUv erg felipe stettberger AntiSpamMeta Pepe_ kooll tessier Patzy bougyman galdor zbigniew kuwabara vinnana jsnell andreer gz xristos chris___1 p_l ski bfein ecraven baley emma dboswell PissedNumlock ineiros_ Xantoz minion 21:49:01 -!- names: Quadrescence johanbev yahooooo Obfuscate joshe starseeker dcrawford zfx mapour leviathan nullman pjb clop Deltafire Davsebamse marienz erk__ pkhuong_ Fade spacebat clog tomaw easyE turbo24prg brickhazel fmu` Adrinael Yamazaki-kun antifuchs _3b` xavieran_ boyscared reb mtd Bucciarati Xof mal__ nuba ``Erik lonstein kloeri pp206 rotty tvaalen hanneso qsun MikeSeth Dazhbog @Zhivago amontez cYmen jpanest hc_e aoh johs herbieB l_a_m pr krappie_ housel cods luis 21:49:01 -!- names: ineiros ASau` joast Draggor frodef djm Tril abend jrockway potatishandlarn Ginei_Morioka setheus dostoyevsky Odin- codemonkeyx pok amaron _3b 21:51:22 -!- me345 [~me345@adsl-75-15-177-134.dsl.bkfd14.sbcglobal.net] has quit [Read error: Connection reset by peer] 21:51:31 abugosh [~Adium@pool-173-66-11-121.washdc.fios.verizon.net] has joined #lisp 21:56:10 _3b: it must be something that is broken not in the code but in ECL because in sbcl it compiled well 21:57:01 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Remote host closed the connection] 21:59:31 lemonade`_ [~lemonade`@pool-71-178-51-180.washdc.fios.verizon.net] has joined #lisp 21:59:31 -!- lemonade` [~lemonade`@pool-71-178-51-180.washdc.fios.verizon.net] has quit [Read error: Connection reset by peer] 21:59:32 -!- lemonade`_ is now known as lemonade` 22:01:16 -!- Apiman [~aitor@89.130.203.127] has quit [Remote host closed the connection] 22:01:44 how about I change all (integer 0 99999) types to just integer 22:01:57 default is 0 255 ? 22:03:05 -!- abugosh [~Adium@pool-173-66-11-121.washdc.fios.verizon.net] has quit [Quit: Leaving.] 22:03:50 *_3b* would just remove it if it isn't working 22:04:06 -!- pdo [~pdo@dyn-62-56-49-182.dslaccess.co.uk] has quit [Ping timeout: 265 seconds] 22:10:23 Mesh [~Mesh@216.201.34.14] has joined #lisp 22:10:25 pdo [~pdo@dyn-62-56-49-182.dslaccess.co.uk] has joined #lisp 22:13:07 -!- pdo [~pdo@dyn-62-56-49-182.dslaccess.co.uk] has quit [Client Quit] 22:13:16 -!- HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Quit: This computer has gone to sleep] 22:20:46 -!- gravicappa [~gravicapp@ppp85-141-164-247.pppoe.mtu-net.ru] has quit [Ping timeout: 258 seconds] 22:21:58 -!- francogrex [~user@109.130.163.134] has quit [Remote host closed the connection] 22:22:27 I've found that in Lispworks an uninterned symbol that's stored in 2 FASLs ends up being 2 different identities when run. Is that the same in SBCL? 22:23:15 This is done by having a macro in package AAA both store a new sym in an AAA location, yet expand the returned symbol into delivered code in module BBB 22:23:36 Interested if it's the same as you may have encountered and come up with strategies (I realize interning may be the strategy but one I'm trying to avoid) 22:24:28 -!- lemonade` [~lemonade`@pool-71-178-51-180.washdc.fios.verizon.net] has left #lisp 22:29:43 -!- yrgd [~yrgd@c-98-235-44-106.hsd1.pa.comcast.net] has quit [Ping timeout: 265 seconds] 22:31:50 -!- red1ynx [~Dzmitry@91.149.140.201] has quit [Ping timeout: 264 seconds] 22:38:19 -!- jmbr [~jmbr@244.32.220.87.dynamic.jazztel.es] has quit [Remote host closed the connection] 22:38:49 jmbr [~jmbr@244.32.220.87.dynamic.jazztel.es] has joined #lisp 22:41:27 Modius: sounds like a bug to me 22:42:49 Ralith: Maybe, maybe not. Might not fit with the definition of FASL (like I'd know. . . ) 22:42:54 -!- Reav_ [~Sarge@h3f04.n1.ips.mtn.co.ug] has quit [Quit: Leaving.] 22:47:05 -!- atomx [~user@93.112.81.240] has quit [Remote host closed the connection] 22:53:52 It's got me thinking - I don't really know what's in a FASL or how the whole thing works (asdf etc probably hiding the complexity) - is there a good guide for that? 22:54:40 FASLs are implementation-specific 22:56:13 Madsy^ [~madman@ti0207a340-0265.bb.online.no] has joined #lisp 22:57:25 -!- slash_ [~unknown@p4FF0B34E.dip.t-dialin.net] has quit [Remote host closed the connection] 22:58:07 yrgd [~yrgd@c-98-235-44-106.hsd1.nj.comcast.net] has joined #lisp 22:58:14 -!- serichsen [~user@f048066188.adsl.alicedsl.de] has quit [Quit: Good night!] 22:58:20 nils___ [~nils@wsip-70-165-18-98.ok.ok.cox.net] has joined #lisp 22:59:53 -!- Madsy [~madman@fu/coder/madsy] has quit [Ping timeout: 276 seconds] 23:07:30 newbie Q: can i '(1 2 3) -> 1 2 3 23:07:39 -!- naiv [~naiv@ARennes-553-1-46-120.w86-214.abo.wanadoo.fr] has quit [Remote host closed the connection] 23:08:44 *rtoym* doesn't understand the question. 23:09:19 <_3b> (values-list '(1 2 3)) ? 23:10:37 (format t "{~A~^ ~A}" '(1 2 3)) 23:10:48 without the double ~A of course 23:12:14 I will paste.. sec 23:12:57 http://paste.lisp.org/display/114038 I am trying to simplify this 23:13:03 NNshag [user@lns-bzn-53-82-65-37-42.adsl.proxad.net] has joined #lisp 23:15:06 <_3b> yeah, ~{ ~} format controls could probably help there 23:16:13 -!- Nshag [user@lns-bzn-36-82-251-54-87.adsl.proxad.net] has quit [Ping timeout: 272 seconds] 23:16:22 -!- zomgbie [~jesus@h081217133138.dyn.cm.kabsi.at] has quit [Ping timeout: 272 seconds] 23:16:45 *_3b* might just draw out the whole thing in the format string though 23:16:59 -!- dfox [~dfox@ip-89-176-209-74.net.upcbroadband.cz] has quit [Read error: Operation timed out] 23:18:53 udzinari: FLET's body can handle multiple expressions. 23:18:57 have not mastered that and loop yet, thanks for the clue! still finishing pcl/gentle.. 23:19:32 -!- rbarraud [~rbarraud@118-92-12-143.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 23:19:55 sykopomp: thanks :) 23:20:03 rbarraud [~rbarraud@118-92-12-143.dsl.dyn.ihug.co.nz] has joined #lisp 23:20:32 <_3b> http://paste.lisp.org/+2FZQ/1 would be one way 23:21:40 stassats [~stassats@wikipedia/stassats] has joined #lisp 23:23:47 <_3b> actually, that should just be ~{ not ~:@{ 23:24:14 *sykopomp* has been growing more fond of just printing stuff out to a stream, lately. 23:24:40 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [Read error: Connection reset by peer] 23:24:45 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 23:25:01 <_3b> you could do it without repeating the ~a | ~a | ~a and ---+---+--- lines, but i'm too lazy to look up how to do conditionals in format :p 23:27:15 -!- Madsy^ [~madman@ti0207a340-0265.bb.online.no] has quit [Ping timeout: 265 seconds] 23:27:31 _3b: I will :D thanks! 23:29:07 sykopomp: with FORMAT? 23:29:34 Jeddeb [~Jeddeb@modemcable109.239-37-24.mc.videotron.ca] has joined #lisp 23:29:37 stassats: well, to clarify -- I've been growing fonder of making several calls to FORMAT, using simpler constructs. 23:29:53 instead of using FORMAT's fancy features like iteration. 23:34:11 "~{~& ~A | ~A | ~A~^~&---+---+---~}" is an obvious change 23:34:34 zomgbie [~jesus@h081217133138.dyn.cm.kabsi.at] has joined #lisp 23:39:17 atomx [~user@93.112.81.240] has joined #lisp 23:41:02 austinh [~austinh@c-67-189-92-40.hsd1.or.comcast.net] has joined #lisp 23:41:09 *Xach* is a little sad that the de facto CL http client (drakma) does not work with the de facto arc http server 23:42:04 Xach: Whose fault is it? 23:42:05 'does not work?' 23:42:44 gigamonkey: well, What Would Jon Postel Do? 23:42:47 Can't use an Arc http server?... "And nothing of value was lost." 23:43:03 arc httpd produces crap, sure. 23:44:15 mbohun [~mbohun@202.124.72.96] has joined #lisp 23:45:32 udzinari: I don't know if this is exactyl what you're looking for but: (format t "~{~&~3@{ ~a |~}~&---+---+---+~}" (list 1 2 3 4 5 6 7 8 9)) 23:45:46 Madsy [~madman@ti0207a340-0132.bb.online.no] has joined #lisp 23:45:46 -!- Madsy [~madman@ti0207a340-0132.bb.online.no] has quit [Changing host] 23:45:46 Madsy [~madman@fu/coder/madsy] has joined #lisp 23:45:55 sykopomp: trying to scrape Hacker News from CL. I guess I'll use the quicklisp http client, which doesn't mind bad protocol line endings. 23:45:56 -!- rbarraud [~rbarraud@118-92-12-143.dsl.dyn.ihug.co.nz] has quit [Read error: Connection reset by peer] 23:46:17 Xach: just trying to deploy something and running into an error in hunchentoot:authorization 23:46:41 tcr: what kind of something? 23:47:09 Xach: for some reason, the base64 decoded user password thingie gets to "user::pass" in case the password typed in is ":pass" 23:47:15 Xach: making the destructuring-bind fail 23:47:17 gigamonkey, stassats: thanks for the hint, but I want to skip the last separator line :) 23:47:19 I'm wondering who's to blame 23:47:34 stupid browsers, or that hunchentoot function 23:47:38 -!- psilord1 [~psilord@adsl-99-154-14-142.dsl.mdsnwi.sbcglobal.net] has left #lisp 23:47:50 udzinari: (format t "~{~&~3@{ ~a~^ |~}~^~&---+---+---+~}" (list 1 2 3 4 5 6 7 8 9)) is closer. 23:47:52 udzinari: my and gigamonkey code do that 23:48:12 Xach: a network traffic analyzer 23:48:14 However, I can't figure out, at the moment, how to suppress the third | on each line 23:48:37 tcr: i'm afraid i must have missed some context. was it "things in weitzware that don't seem to work right"? 23:48:49 -!- schoppenhauer [~christoph@unaffiliated/schoppenhauer] has quit [Quit: Leaving.] 23:49:45 Xach In the function hunchentoot::authorization 23:50:13 return value of (base64:base64-string-to-string (subseq authorization start)) turns out to be "user::password" 23:50:30 as a result the (split ":" ) results in a three-item list, making the destructuring-bind fail 23:50:52 sounds like a hunchentoot error to me. 23:52:41 gigamonkey: since the size is fixed, you can just use ~@{ ~A | ~A | ~A ~} 23:53:02 Yeah, though I'm trying to eliminate duplication. 23:53:09 (format t "~{~&~2@{ ~a |~} ~a~^~&---+---+---~}" (list 1 2 3 4 5 6 7 8 9)) 23:53:16 *udzinari* starts to consume FORMAT chapter from PCL 23:54:08 Guy Steele had an awesome proposed format directive ~U for units, that was never added. 23:54:19 *tcr* loves to write FORMAT strings, but hates to read them :-) 23:54:31 It caused rounding by powers of ten and emitting the appropriate prefix: 23:55:06 (format nil "~Umeters" 50000") => "50 kilometers" 23:55:27 aidalgol [~user@114-134-7-235.rurallink.co.nz] has joined #lisp 23:55:56 I wrote a ~/FMT:SIZE/ which does that for bytes :-) 23:56:26 gigamonkey: ~2@{ ~a |~} ~a isn't much better than ~a | ~a | ~a 23:57:00 these tilde-slash functions have wonderful write-once, use everywhere characteristics 23:57:31 -!- rvirding [~chatzilla@h19n4c1o1034.bredband.skanova.com] has left #lisp 23:57:58 i've never considered using one 23:58:20 *Xach* feels compelled to bring up the ~/iso:8601/ formatting function 23:58:55 Xach: does that exist? 23:59:14 -!- b-man_ [~b-man@189.34.57.94] has quit [Remote host closed the connection] 23:59:15 gigamonkey: it was written 23:59:55 http://xach.com/naggum/articles/3127698009640562@naggum.no.html