00:00:56 -!- grumps_ [n=grumps@adsl-75-3-90-107.dsl.chcgil.sbcglobal.net] has quit [] 00:02:25 -!- The-Kenny [n=moritz@p5087ABA9.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 00:05:13 -!- deliana [n=deliana@ABordeaux-158-1-117-18.w90-60.abo.wanadoo.fr] has quit [Remote closed the connection] 00:05:22 -!- X-Scale [i=email@2001:470:1f0a:13ea:0:0:0:2] has quit [Read error: 104 (Connection reset by peer)] 00:06:29 -!- ajcc_ [n=adrian@81-234-211-246-no118.tbcn.telia.com] has quit ["leaving"] 00:16:41 -!- dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has left #lisp 00:17:09 -!- Yuuhi [n=user@p5483F3E8.dip.t-dialin.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 00:23:21 X-Scale2 [n=email@2001:470:1f0a:13ea:0:0:0:2] has joined #lisp 00:28:07 -!- sepult [n=sepult@xdsl-87-78-74-113.netcologne.de] has quit ["leaving"] 00:29:11 sepult [n=sepult@xdsl-87-78-74-113.netcologne.de] has joined #lisp 00:29:27 -!- dialtone [n=dialtone@93-34-8-7.ip47.fastwebnet.it] has quit [Remote closed the connection] 00:29:38 dialtone [n=dialtone@93-34-8-7.ip47.fastwebnet.it] has joined #lisp 00:29:38 Vegan [n=sdfpme@119.128.108.245] has joined #lisp 00:39:29 qbg [n=qbg@rn084084.morris.umn.edu] has joined #lisp 00:46:28 lambda-avenger [n=roman@adsl-63-197-150-112.dsl.snfc21.pacbell.net] has joined #lisp 00:48:03 -!- X-Scale2 [n=email@2001:470:1f0a:13ea:0:0:0:2] has quit [Connection timed out] 00:54:39 -!- manby-ace_ [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [] 00:55:15 retupmoca [n=retupmoc@ppp-69-218-255-225.dsl.klmzmi.ameritech.net] has joined #lisp 00:55:59 X-Scale [n=email@2001:470:1f0a:13ea:0:0:0:2] has joined #lisp 00:56:58 hello, I am really new to Lisp and amongst the many questions that I got right now is the following one: If I can do everything by using lists, why do we need vectors? 00:57:39 i think you've misunderstood something .. "the everything is a list" refers to the source code 00:57:48 theL00p: If you can do everything by using lists, then by all means do so. 00:57:48 -!- deech [n=deech@71-10-166-226.dhcp.stls.mo.charter.com] has quit [Connection timed out] 00:58:04 ManateeLazyCat [n=user@116.4.141.90] has joined #lisp 00:58:20 joachifm [n=joachim@bjo1-1x-dhcp143.studby.uio.no] has joined #lisp 00:59:13 i meant; the "everything is a list" thing 00:59:17 dtangren [n=dtangren@cpe-74-68-142-74.nyc.res.rr.com] has joined #lisp 00:59:52 benreesman [n=ben@ip68-101-196-173.sd.sd.cox.net] has joined #lisp 01:01:14 theL00p: vectors are a really efficient use of memory. 01:01:36 konr1 [n=karkeej@201.82.139.214] has joined #lisp 01:01:37 lnostdal: in most of the books that I have read until now this is what they say, that everything is a list 01:01:49 you're reading bad books then 01:02:15 ok, that's not true .. lisp has support for many data structures, and it's easy to add new ones (or find new ones via libraries) 01:02:19 It's an alright metaphor, as long as you realize the truth less than five minutes later. 01:02:22 vectors have no space occupied for pointers to the next cons cell, and O(1) access to any element 01:02:43 (well, O(behavior of your hardware's caches), but ...) 01:04:04 it's not that the books which I read are bad. Unfortunately my understanding about basic Lisp concepts is still really poor 01:05:43 -!- brandelune [n=suzume@pl065.nas932.takamatsu.nttpc.ne.jp] has quit [Read error: 110 (Connection timed out)] 01:06:19 theL00p, http://pastebay.com/13091 01:07:36 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 01:10:14 (nth 0 (list 10 20 30 40)) => 10 (nth 1 (list 10 20 30 40)) => 10 so NTH is just a function that extracts the, well, n'th, element of a list .. and source code just happens to be lists, also 01:10:31 Vicfred [n=Vicfred@189.228.51.91] has joined #lisp 01:10:31 ups, last one would return 20 of course .. heh 01:10:41 i should sleep .. bye 01:10:44 thx to everyone for ur answers. Based on them I'll try to think the whole think again over :) 01:10:59 thx lnostdal 01:13:32 sbahra [n=sbahra@c-98-218-239-172.hsd1.dc.comcast.net] has joined #lisp 01:13:42 -!- ManateeLazyCat [n=user@116.4.141.90] has quit [Read error: 54 (Connection reset by peer)] 01:15:37 -!- konr [n=karkeej@201.82.139.214] has quit [Read error: 110 (Connection timed out)] 01:16:07 lnostdal: now I get it, that's really interesting. Even something like this is a list. 01:16:14 -!- amnesiac [n=amnesiac@p3m/member/Amnesiac] has quit ["Leaving"] 01:20:54 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #lisp 01:22:27 -!- theL00p [n=user@78.33.52.101] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 01:22:58 -!- sbahra [n=sbahra@c-98-218-239-172.hsd1.dc.comcast.net] has quit [Remote closed the connection] 01:23:08 sbahra [n=sbahra@c-98-218-239-172.hsd1.dc.comcast.net] has joined #lisp 01:24:07 theL00p [n=user@78.33.52.101] has joined #lisp 01:26:30 fisxoj [n=fisxoj@149.43.110.22] has joined #lisp 01:27:47 -!- X-Scale [n=email@2001:470:1f0a:13ea:0:0:0:2] has quit [Connection timed out] 01:30:10 -!- ikki [n=ikki@189.228.212.31] has quit ["Leaving"] 01:37:56 X-Scale [n=email@2001:470:1f0a:13ea:0:0:0:2] has joined #lisp 01:39:05 -!- phadthai [i=mmondor@ginseng.pulsar-zone.net] has quit [Read error: 113 (No route to host)] 01:39:19 dysinger [n=tim@166.129.112.174] has joined #lisp 01:44:06 -!- sepult [n=sepult@xdsl-87-78-74-113.netcologne.de] has quit [Read error: 60 (Operation timed out)] 01:44:52 ltriant [n=none@202.136.38.162] has joined #lisp 01:48:20 -!- lambda-avenger [n=roman@adsl-63-197-150-112.dsl.snfc21.pacbell.net] has quit ["Ex-Chat"] 01:51:29 -!- dtangren [n=dtangren@cpe-74-68-142-74.nyc.res.rr.com] has quit ["Leaving..."] 01:52:49 -!- spiaggia [n=user@armadillo.labri.fr] has quit [Read error: 60 (Operation timed out)] 01:58:54 -!- Vicfred [n=Vicfred@189.228.51.91] has quit [Read error: 60 (Operation timed out)] 01:59:10 Taggnostr2 [n=x@wolf.yok.utu.fi] has joined #lisp 02:00:18 phadthai [i=mmondor@ginseng.pulsar-zone.net] has joined #lisp 02:00:46 JohnnyL [i=IHadToWr@ool-182f0b98.dyn.optonline.net] has joined #lisp 02:02:20 holycow [n=rtaylor@S01060016b6b53675.vf.shawcable.net] has joined #lisp 02:04:03 -!- Taggnostr [n=x@wolf.yok.utu.fi] has quit [Read error: 60 (Operation timed out)] 02:04:09 -!- fisxoj [n=fisxoj@149.43.110.22] has quit [Remote closed the connection] 02:06:12 -!- danlei [n=user@pD9E2FD07.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 02:10:41 Taggnostr [n=x@wolf.yok.utu.fi] has joined #lisp 02:11:26 X-Scale2 [n=email@2001:470:1f0a:13ea:0:0:0:2] has joined #lisp 02:12:50 -!- X-Scale [n=email@2001:470:1f0a:13ea:0:0:0:2] has quit [Connection reset by peer] 02:15:55 white-rabbit-obj [n=cpc5@cpe-67-241-171-153.buffalo.res.rr.com] has joined #lisp 02:16:38 -!- alec [n=alec@pool-96-237-2-171.bstnma.east.verizon.net] has quit ["leaving"] 02:19:14 aja [n=aja@S01060018f3ab066e.ed.shawcable.net] has joined #lisp 02:19:14 karlw [n=user@adsl-99-157-202-134.dsl.pltn13.sbcglobal.net] has joined #lisp 02:19:31 -!- nvoorhies [n=nvoorhie@adsl-75-36-207-191.dsl.pltn13.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 02:19:39 -!- Taggnostr2 [n=x@wolf.yok.utu.fi] has quit [Read error: 110 (Connection timed out)] 02:19:42 nvoorhies [n=nvoorhie@adsl-75-36-207-191.dsl.pltn13.sbcglobal.net] has joined #lisp 02:20:12 Which implementation do most people use with Apache? 02:23:10 i.e., for CGI. 02:24:12 -!- mrsolo_ [n=mrsolo@nat/yahoo/x-3e7550ecb69c5772] has left #lisp 02:24:55 Or, rather, is there an implementation that builds and runs well on Solaris x86? 02:26:55 hugod [n=hugod@bas1-montreal50-1279633852.dsl.bell.ca] has joined #lisp 02:27:24 karlw: i've ran clisp as a cgi before (the client wanted it deployed that way for evil legacy reasons), and it should also build on solaris 02:27:32 -!- X-Scale2 is now known as X-Scale 02:27:49 drafael [n=tapio@ip-118-90-129-111.xdsl.xnet.co.nz] has joined #lisp 02:27:49 -!- ThomasI [n=thomas@unaffiliated/thomasi] has quit ["Bye Bye!"] 02:29:44 danlei [n=user@pD9E2DC83.dip.t-dialin.net] has joined #lisp 02:29:58 -!- Vegan [n=sdfpme@119.128.108.245] has quit ["leaving"] 02:30:00 Yeah, I thought clisp... 02:35:31 -!- karlw [n=user@adsl-99-157-202-134.dsl.pltn13.sbcglobal.net] has left #lisp 02:35:47 -!- joachifm [n=joachim@bjo1-1x-dhcp143.studby.uio.no] has quit [Read error: 110 (Connection timed out)] 02:36:13 -!- Phoodus [i=foo@ip68-231-38-131.ph.ph.cox.net] has quit [Read error: 110 (Connection timed out)] 02:37:28 -!- Soulman [n=kvirc@42.84-48-88.nextgentel.com] has quit [Read error: 110 (Connection timed out)] 02:38:38 -!- Taggnostr [n=x@wolf.yok.utu.fi] has quit ["100 days are gone..."] 02:45:00 certron [n=certron@ool-44c58d40.dyn.optonline.net] has joined #lisp 02:46:00 Good evening! I wish to overcome my stupidity in writing functions... Specifically, how to pass a list to another function inside the defined function. 02:49:47 certron: not sure if I'm understanding but something like this: (defun defined-fn () (let ((my-list (list 1 2 3 4))) (another-fn my-list))) maybe? 02:49:53 dtangren [n=dtangren@cpe-74-68-142-74.nyc.res.rr.com] has joined #lisp 02:50:29 it's not clear from the question, but I'll put my chips on him looking for APPLY 02:50:29 CyberBlue [n=yong@60.26.108.12] has joined #lisp 02:50:53 There has to be a better way to do it than (apply #'func my-var) yes? 02:51:17 certron: sorry, I don't think anyone understands the question. 02:52:04 -!- fnordus [n=dnall@70.71.225.48] has quit [Success] 02:54:08 That's OK, I have 2 lisp books and a PDF and I can't make sense of it. Basically, I want to pass a list of numbers and return the min and max of the list. 02:55:00 I need to turn my (da-func '(1 2 3 4)) call and 'unlist' the list. 02:56:15 Once it is called, I want it to be (min 1 2 3 4) which works, but instead it gets turned into the same as calling (min '(1 2 3 4)) 02:57:03 Is there a better way than calling (apply #'min passed-var) 02:57:55 brandelune [n=suzume@pl065.nas932.takamatsu.nttpc.ne.jp] has joined #lisp 02:59:26 -!- theoffset [n=ismael@189.169.169.212] has quit [Read error: 110 (Connection timed out)] 03:01:41 envi^home [n=envi@220.121.234.156] has joined #lisp 03:03:10 JAS415 [n=jon@ip24-250-13-137.ri.ri.cox.net] has joined #lisp 03:03:25 -!- benreesman [n=ben@ip68-101-196-173.sd.sd.cox.net] has quit [] 03:04:06 fusss [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has joined #lisp 03:05:44 -!- JAS415 [n=jon@ip24-250-13-137.ri.ri.cox.net] has left #lisp 03:06:23 -!- nvoorhies [n=nvoorhie@adsl-75-36-207-191.dsl.pltn13.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 03:07:03 nvoorhies [n=nvoorhie@adsl-75-36-207-191.dsl.pltn13.sbcglobal.net] has joined #lisp 03:11:40 -!- anekos is now known as awayekos 03:14:10 fnordus [n=dnall@70.71.225.48] has joined #lisp 03:15:24 -!- dtangren [n=dtangren@cpe-74-68-142-74.nyc.res.rr.com] has quit ["Leaving..."] 03:15:43 Well apply limits the list size to call-arguments-limit. You could do a (reduce #'min list) instead to handle a arbitrairly sized list 03:16:10 -!- certron [n=certron@ool-44c58d40.dyn.optonline.net] has quit [Read error: 60 (Operation timed out)] 03:16:23 certron [n=certron@68.197.141.64] has joined #lisp 03:17:04 Vegan [n=sdfpme@119.128.108.245] has joined #lisp 03:18:12 -!- stakkaboy [n=user@c-9de3e055.31-4-64736c11.cust.bredbandsbolaget.se] has quit [Read error: 110 (Connection timed out)] 03:28:24 -!- dysinger [n=tim@166.129.112.174] has quit [Read error: 110 (Connection timed out)] 03:28:31 SandGorgon [n=user@122.162.48.233] has joined #lisp 03:32:08 -!- gigamonk` [n=user@adsl-76-254-21-123.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 03:32:38 -!- CyberBlue [n=yong@60.26.108.12] has quit ["Leaving"] 03:37:56 Taggnostr [n=x@wolf.yok.utu.fi] has joined #lisp 03:39:19 fisxoj [n=fisxoj@149.43.110.22] has joined #lisp 03:39:56 -!- theL00p [n=user@78.33.52.101] has quit [""Tommorow again with Lisp... time to sleep""] 03:44:13 -!- Vegan [n=sdfpme@119.128.108.245] has quit ["leaving"] 03:45:40 jlf`` [n=user@netblock-68-183-235-29.dslextreme.com] has joined #lisp 03:45:56 Vegan [n=sdfpme@119.128.108.245] has joined #lisp 03:47:52 -!- doxtor [n=doxtor@unaffiliated/mitja] has quit [Remote closed the connection] 03:57:35 ignas [n=ignas@88.119.72.10] has joined #lisp 04:00:41 vinleod [n=vince@c-76-105-157-42.hsd1.or.comcast.net] has joined #lisp 04:02:24 certron: (reduce #'min list) and (reduce #'max list) are the preferred ways 04:04:39 jackdaw [n=chris@cpe-098-122-166-119.nc.res.rr.com] has joined #lisp 04:08:07 hmmm.. seems ugly. But, who am I to judge? 04:08:34 leave it to me to say that the right answer is terrible. :-) Thanks for the help. 04:10:26 what would your ideal answer look like? 04:11:13 -!- jackdaw [n=chris@cpe-098-122-166-119.nc.res.rr.com] has quit [Remote closed the connection] 04:11:35 -!- vinleod [n=vince@c-76-105-157-42.hsd1.or.comcast.net] has quit [Remote closed the connection] 04:11:41 I'm not sure if that is what I was expecting... Paste time! 04:12:48 certron pasted "can't bring da-func" at http://paste.lisp.org/display/79528 04:13:26 That is actually quite nifty. 04:15:12 sohum [n=sohum@unaffiliated/sohum] has joined #lisp 04:15:28 -!- SandGorgon [n=user@122.162.48.233] has quit [Read error: 110 (Connection timed out)] 04:15:44 I don't think you mean to use &rest there. You aren't calling it as though you do. 04:15:53 -!- wchogg [n=wchogg@h216-165-144-151.mdtnwi.dsl.dynamic.tds.net] has quit [Connection timed out] 04:16:01 how would you open remote http files? 04:16:25 when I just use one variable, it complains about too many arguments. 04:16:59 I'm basically Not Getting It, which is sort of annoying. I just hope I am not passing the annoying part on to other people. 04:17:45 Phoodus [i=foo@ip68-231-38-131.ph.ph.cox.net] has joined #lisp 04:18:19 I think you're mixing up how you're calling it, then. 04:18:29 That wouldn't surprise me at all. 04:18:33 either you do (defun minmax (&rest x) (list (reduce #'min x)(reduce #'max x)) and call it as (minmax 1 2 3 4) 04:18:50 or you do (defun minmax (x) (list (reduce #'min x)(reduce #'max x)) and call it as (minmax '(1 2 3 4)) 04:19:13 I am officially stupid. I just called the func in the paste and... guess what? It worked. 04:20:06 -!- Pegazus [n=awefawe@host224.201-253-84.telecom.net.ar] has left #lisp 04:20:25 I used &rest x and reduce #' and called (minmax 1 2 3 4) and it worked. 04:20:56 So, thanks everyone. I'll have to read more documentation tomorrow to figure out what I'm not quite getting. 04:21:45 you've probably got it, and just need to flush the lingering confusion from memory 04:22:16 never mind, I found drakma and trivial-http 04:22:47 jackdaw [n=chris@cpe-098-122-166-119.nc.res.rr.com] has joined #lisp 04:23:11 if I don't use rest and call it (fn 1 2 3) it says too many arguments. Should I not be using &rest when I want to pass in a variable number of arguments? or should I store the arguments into a variable and pass that instead? 04:23:41 The purpose of &rest is to collect a variable number of arguments as a list. 04:24:12 -!- phf [n=phf@c-98-231-211-226.hsd1.md.comcast.net] has quit ["Leaving..."] 04:25:02 if you don't use rest then the function takes just one argument, and (fn 1 2 3) is supplying three. 04:25:26 legumbre_ [n=user@r190-135-5-15.dialup.adsl.anteldata.net.uy] has joined #lisp 04:25:28 without &rest (no other changes) I can say (minmax var) but with &rest I can say (minmax 1 3 5) 04:25:45 I think I need a bit of rest myself. Good night, thanks for the help. 04:29:39 -!- ignas [n=ignas@88.119.72.10] has quit [Read error: 110 (Connection timed out)] 04:33:01 -!- sbahra [n=sbahra@c-98-218-239-172.hsd1.dc.comcast.net] has quit [Read error: 110 (Connection timed out)] 04:33:44 -!- nvoorhies [n=nvoorhie@adsl-75-36-207-191.dsl.pltn13.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 04:33:52 nvoorhies [n=nvoorhie@adsl-75-36-207-191.dsl.pltn13.sbcglobal.net] has joined #lisp 04:38:01 -!- jackdaw [n=chris@cpe-098-122-166-119.nc.res.rr.com] has left #lisp 04:40:02 -!- bittin` [i=bittin@anapnea.net] has quit [Remote closed the connection] 04:41:29 seejay [n=seejay@unaffiliated/seejay] has joined #lisp 04:42:00 dialtone_ [n=dialtone@93-34-8-7.ip47.fastwebnet.it] has joined #lisp 04:42:45 -!- dialtone [n=dialtone@93-34-8-7.ip47.fastwebnet.it] has quit [Read error: 60 (Operation timed out)] 04:44:39 mv617 [n=mv617@c-24-0-153-83.hsd1.pa.comcast.net] has joined #lisp 04:45:31 -!- mv617 [n=mv617@c-24-0-153-83.hsd1.pa.comcast.net] has quit ["Java user signed off"] 04:46:26 mv617 [n=mv617@c-24-0-153-83.hsd1.pa.comcast.net] has joined #lisp 04:48:11 -!- legumbre [n=user@r190-135-0-27.dialup.adsl.anteldata.net.uy] has quit [Read error: 110 (Connection timed out)] 04:49:07 -!- sohum [n=sohum@unaffiliated/sohum] has left #lisp 04:50:23 -!- rullie [n=rullie@bas4-toronto47-1176151400.dsl.bell.ca] has quit ["Lost terminal"] 04:51:12 vinleod [n=vince@c-76-105-157-42.hsd1.or.comcast.net] has joined #lisp 04:52:52 durka42 [n=durka@d81.wireless.swarthmore.edu] has joined #lisp 04:54:44 Hi, If I wanted to build a UI for my Lisp program could this be accomplished using Lisp or is another language better? 04:55:32 mv617 sure. html/canvas is now becoming popular. 04:55:42 Lisp is good 04:56:14 for ui that is. 04:56:22 thanks 04:58:33 -!- qbg [n=qbg@rn084084.morris.umn.edu] has quit [Remote closed the connection] 05:01:04 -!- legumbre_ is now known as legumbre 05:02:06 -!- fisxoj [n=fisxoj@149.43.110.22] has quit [Read error: 110 (Connection timed out)] 05:04:12 -!- aja [n=aja@unaffiliated/aja] has quit [Client Quit] 05:06:15 -!- ia [n=ia@89.169.189.230] has quit [Read error: 110 (Connection timed out)] 05:07:18 ia [n=ia@89.169.189.230] has joined #lisp 05:08:21 fusss_ [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has joined #lisp 05:08:41 -!- fusss [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has quit [Read error: 54 (Connection reset by peer)] 05:08:48 -!- fusss_ is now known as fusss 05:11:12 fusss_ [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has joined #lisp 05:13:16 benreesman [n=ben@ip68-101-196-173.sd.sd.cox.net] has joined #lisp 05:15:23 fusss__ [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has joined #lisp 05:15:23 -!- fusss_ [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 05:15:40 -!- seejay [n=seejay@unaffiliated/seejay] has quit ["Leaving"] 05:16:31 -!- fusss [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 05:16:35 -!- fusss__ is now known as fusss 05:16:57 -!- dreish [n=dreish@minus.dreish.org] has quit [] 05:19:28 fusss_ [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has joined #lisp 05:19:28 -!- fusss [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 05:19:31 -!- fusss_ is now known as fusss 05:22:05 -!- mv617 [n=mv617@c-24-0-153-83.hsd1.pa.comcast.net] has quit ["Java user signed off"] 05:22:48 -!- fusss [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has quit [Client Quit] 05:22:53 cornucopic [n=r00t@115.241.160.45] has joined #lisp 05:23:06 xinming_ [n=hyy@218.73.142.52] has joined #lisp 05:24:39 Good morning. 05:25:37 beach, Good Morning :) 05:26:22 Hello cornucopic. You are pretty new here right? 05:26:46 Morning Beach. Where are you that it is morning? 05:26:56 beach, Yes. New to Lisp- and to #lisp 05:26:59 GrayMagiker: Bordeaux 05:27:20 I hope I din 05:27:37 break any protocol :) 05:27:54 cornucopic: Not at all. 05:28:15 Ah. Over here it is just 2328. (here being in New Mexico, US). 05:28:49 beach, So, is it only CL here? 05:29:38 cornucopic: pretty much. 05:29:52 -!- Vegan [n=sdfpme@119.128.108.245] has quit ["leaving"] 05:30:27 dv_ [n=dv@85-127-117-181.dynamic.xdsl-line.inode.at] has joined #lisp 05:30:59 beach, Ok 05:31:20 cornucopic: What made you want to learn Lisp? 05:33:02 beach, Its mainly tied to CS academics and CS interests me. And so, after reading a lot about Lisp, 5 months ago, I finally decided to start off with it. Its been enlightening so far. 05:33:03 TimoT [n=ttossava@cs163143.pp.htv.fi] has joined #lisp 05:33:12 morning 05:33:29 good morning TimoT 05:33:51 cornucopic: Excellent! Are you studying from a book? 05:34:21 beach, Haven;t done anything cool with it. But it has taught me CS stuffs like recursion in a far clearer way 05:34:25 sbcl question: I'm trying to optimize some numerical stuff, does consing in sbcl profiler include stack space? 05:35:17 and can fixed dimension simple arrays be allocated on the stack (I use some smallish matrix computations inside an inner loop...) 05:35:33 beach, Yes. I started off with "Practical Common Lisp" - which proved to be a easy start, but I soon started scheming through it, since I was more interested in learning god stuffs, rather than being "practical" 05:36:20 cornucopic: I see. Next you might want to try PAIP or On Lisp. 05:36:23 beach, then I managed a copy of SICP, and yes, though SICP is mainly Scheme- but Lisp, after all 05:36:39 cornucopic: you might enjoy #scheme as well 05:36:52 beach, Have been working through SICP mainly, and currently trying to learn about continuations 05:37:15 beach, sadly, SICP doesnt't treat it well, enough 05:38:18 beach, Yes. I have obtained a PDF of PAIP and On Lisp, both. 05:38:44 beach, I am there too :) for 5-6 days now 05:39:05 -!- xinming [n=hyy@125.109.77.122] has quit [Read error: 110 (Connection timed out)] 05:40:13 cornucopic: Are you considering writing any applications? 05:40:24 beach, would you have some time to explain continuations to me? I have read some of the things there and only have a somewhat cloudy idea 05:40:47 cornucopic: Think of a continuation as a copy of the execution stack. 05:41:38 cornucopic: when you invoke a continuation, you are essentially re-installing a previously saved stack. 05:41:52 cornucopic: so the computation is repreated from that point. 05:42:36 beach, is knowing about closures needed for understanding them? 05:43:20 I wouldn't think so. 05:46:26 beach, Yes. as a mini project, I am considering writing a Python,like SimpleHTTPServer app, which serves over HTTP, the directory from which it is invoked 05:47:14 beach, The theory is somewhat clear to me. Let me do something. Shall I refer you to a doc I am reading and you can help me understand the example? 05:47:46 cornucopic: About continuations? Sure. 05:48:25 beach, yes. Please refer to http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme-Z-H-15.html#node_chap_13 05:49:05 beach, in the section call/cc. what is the expression (k 3) doing? 05:49:33 sbahra [n=sbahra@c-98-218-239-172.hsd1.dc.comcast.net] has joined #lisp 05:50:49 cornucopic: Well k is a function, and it is an abstraction of the continuation, i.e., the call stack at the point when call/cc was invoked. 05:51:39 cornucopic: calling that function with some argument, supplies that argument to the point where the continuation was captured. 05:54:14 beach, the "rest of the program" is captured as 'k' ?and when '1' is passed, where does it go to? 05:55:20 beach, in place of whole of the "Rest of the program" the value of the argument is substituted? 05:56:03 cornucopic: Yes, the stack *is* a description of the remaining computation to be done. On the stack in this example is a value of the program counter that will add 1 to whatever the value is passed to the continuation. So if you pass 1 instead of 3, you will get 2. 05:56:51 -!- dialtone_ [n=dialtone@93-34-8-7.ip47.fastwebnet.it] has quit [Read error: 104 (Connection reset by peer)] 06:02:17 beach, Can you please explain your use of "stack" here? 06:04:11 cornucopic: Do you know any computer architecture or any other programming language? 06:04:16 Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has joined #lisp 06:04:41 beach, Is it like this: the code after call/cc is abstracted into K and pushed to the stack. Now when I invoke (k 1), the 1 is passed to the place from which the continuation was invoked? 06:05:12 cornucopic: not exactly. 06:05:28 cornucopic: calling (k 1) *is* invoking the continuation. 06:05:48 cornucopic: the continuation that is invoked is that one that was in place when call/cc was called. 06:06:44 *_3b* wonders if continuations would be easier to explain in an imperative language 06:07:38 beach, Yes. I know some architecture and some languages too. I wasn't too sure of your usage here. 06:07:44 cornucopic: The execution stack is a pile of stack frames. Each frame rougly corresponds to the invocation of a function. When a function f calls another function g, the computation of f is temporarily suspended, and a stack frame for g is established. When g returns a value, the computation of f continues where it left off. 06:08:47 beach, I think I have got it now. Atleast I understand that piece of code now. 06:08:50 -!- konr1 is now known as konr 06:08:59 Good! 06:09:50 beach, Thanks ! 06:09:59 cornucopic: No problem. 06:10:00 dysinger [n=tim@166.129.40.125] has joined #lisp 06:10:17 -!- dysinger [n=tim@166.129.40.125] has quit [Remote closed the connection] 06:12:31 -!- projections [n=p@88.235.101.2] has quit [Read error: 110 (Connection timed out)] 06:12:53 _3b: Possibly. I find it useful sometimes to refer to the operational semantics. I do the same when I explain recursion the first time. 06:14:03 This, of course, only works if the person has some knowledge about how things are implemented. 06:14:39 <_3b> seems like it would at least be easier to draw a diagram of what happens for a simple imperative language 06:19:43 beach, Considering the sample example, what will happen if k is invoked more than one time, which argument is returned? 06:20:16 cornucopic pasted "continuation1" at http://paste.lisp.org/display/79532 06:21:55 beach, http://paste.lisp.org/display/79532 06:21:58 cornucopic: When k is invoked the first time, the current computation is abandoned, and control is passed to the point where call/cc was invoked, so in your example, k will only be called once. You don't know which one, because Scheme doesn't specify the order of evaluation of arguments to a function. 06:22:23 fusss [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has joined #lisp 06:22:49 cornucopic: Another experiment you can make is to store the value of k in a global variable, and then call k with different arguments. 06:23:58 beach, from what I am seeing with mit-scheme, it seems to be R-L 06:24:09 i was having fun creating 500 threads in less than a second on sbcl, then i read the NPTL docs there is a report about 10k threads in a second. ouch. 06:24:14 cornucopic: Scheme doesn't specify it. 06:24:17 beach, I am guessing that is implementation dependent.. 06:24:23 cornucopic: yes. 06:27:17 -!- jlf [n=user@unaffiliated/jlf] has quit [Read error: 110 (Connection timed out)] 06:29:57 ehu` [n=chatzill@82-170-33-173.ip.telfort.nl] has joined #lisp 06:30:50 sellout- [n=greg@24.128.50.176] has joined #lisp 06:30:50 -!- sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 06:34:09 fusss: do you really want to spend all your time making threads? 06:34:58 -!- JohnnyL [i=IHadToWr@ool-182f0b98.dyn.optonline.net] has quit [] 06:36:21 beach, store k in a global variable and invoke it via the variable after all my invocations (via 'k') and the result that I get is of the invocation via the global variable. - the last one 06:36:31 hefner: i'm not, just had to see what the system is capable of just in case i ever need it. 06:36:52 -!- sohail [n=Sohail@unaffiliated/sohail] has quit [Remote closed the connection] 06:37:15 cornucopic: If you want that well defined, you will need to CPS transform the argument evaluations. 06:37:44 cornucopic: I am not sure what you are saying. 06:37:58 Zhivago: Why is that? 06:38:22 beach: Because, as you note, the order of evaluation of arguments is undefined by scheme. 06:38:34 beach, Can i paste the code here? 06:38:53 minion: tell cornucopic about lisppaste 06:38:53 beach: If you cps transform them, then you can choose the order. 06:38:54 To use the lisppaste bot, visit http://paste.lisp.org/new/lisp and enter your paste. 06:39:52 beach, I got it. 06:40:54 beach, sending you the code: http://paste.lisp.org/display/79533 06:41:42 cornucopic: You would have to set! ke before you call k, otherwise, since the computation is abandoned, the set! will never happen. 06:42:02 (lambda (k) (set! ke k) (k 2)) for instance 06:43:00 beach, then how does it invoke the continuation? For this code, I am getting 9 06:43:30 cornucopic: oh, sorry, evaluation right to left. 06:43:48 cornucopic: yes, that works, just because of the particular evaluation order. 06:43:50 yes 06:44:18 cornucopic, But, why doesn't any of the 'k' invocations work? 06:44:59 cornucopic: (k 6) probably does. 06:45:49 cornucopic, It should, But all I get back is 9. 06:46:11 cornucopic: you should get a 7 back from (+ 1 (call ...)) 06:46:24 aja [n=aja@S01060018f3ab066e.ed.shawcable.net] has joined #lisp 06:47:09 cornucopic: are you surprised you got 9 back from (ke 8)? 06:47:52 cornucopic, No. I also should get back 7, I think 06:49:28 cornucopic: It would help if you would answer my questions. 06:49:32 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 06:49:58 Ragnaroek [i=54a67828@gateway/web/ajax/mibbit.com/x-48aee80a31fe10e2] has joined #lisp 06:50:22 beach, ( I have a slow connection, that might be causing the delay) 06:50:40 cornucopic: so are you surprised (ke 8) gave you 9? 06:51:13 good morning. no heated McCLIM discussions? 06:51:30 tic_: Hello tic_. Not yet, no. 06:51:31 beach, No. I should also get 7 right? Since the continuation is invoked twice? 06:52:00 cornucopic: you should get 7 back from (+ 1 (call...)) and 9 back from (ke 8). Is that not the case? 06:52:45 cornucopic, No. I am only getting back 9 06:53:14 -!- ltriant [n=none@202.136.38.162] has quit ["Get MacIrssi - http://www.sysctl.co.uk/projects/macirssi/"] 06:53:20 What do you get back from (+ 1 (call...)) assuming you don't do the (ke 8) at all? 06:54:29 7 06:54:57 cornucopic: That is what I said. You get 7 back from (+ 1 (call...)) and you get 9 back from (ke 8). 06:55:05 cornucopic: How are you executing this program? 06:55:29 -!- xinming_ [n=hyy@218.73.142.52] has quit ["leaving"] 06:56:06 beach, "load" 06:56:30 cornucopic: That probably explains it. You probably only get the result of the last form evaluated. 06:56:40 cornucopic: Try doing it interactively instead. 06:58:11 xinming [n=hyy@218.73.142.52] has joined #lisp 06:58:45 beach, Hmm okay. I was expecting that I would see both of 7 and 9, since It was geting invoked twice 06:59:37 cornucopic: Each expression returns a value, but you are using load, and I am assuming it return the value of the last expression evaluated. 07:00:41 beach, was also guessing that it was probably giving me 9 because it was the last form evaluated 07:02:48 guille_ [n=guille_@106.Red-83-39-171.dynamicIP.rima-tde.net] has joined #lisp 07:03:05 manuel_ [n=manuel@HSI-KBW-078-043-184-124.hsi4.kabel-badenwuerttemberg.de] has joined #lisp 07:03:42 hi 07:03:53 anybody have tried perlin noise with lisp? 07:04:12 roidrage [n=roidrage@dslb-084-058-135-011.pools.arcor-ip.net] has joined #lisp 07:06:14 <_3b> topo: didn't someone give you perlin noise code 2 days ago? 07:06:26 yes i been experimenting with it 07:06:43 i cant understand it very well 07:06:49 <_3b> well, that should make it pretty obvious that someone has tried perlin noise with lisp 07:07:05 <_3b> in that case asking about the code might be more helpful 07:07:06 have you ever tried perlin noise _3b? 07:07:19 -!- fusss [n=chatzill@ip70-179-113-121.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 07:07:33 <_3b> not recently 07:08:59 i have a structure made of a group of opengl primitives as cubes and im using a lot of perlin noise functions to control the rotation and scale of each element 07:09:02 i thought there should be a relation between all the movements 07:09:15 i mean a pattern between all 07:09:28 but each instance moves random in relation of its neigbours 07:09:31 :P 07:09:47 <_3b> what sort of pattern did you want? 07:10:02 Perhaps the pattern is just too subtle for you? :) 07:10:07 i want t complex coordinated behaivor, thats what i thought i could get 07:11:07 -!- tsuru [n=user@c-69-245-36-64.hsd1.tn.comcast.net] has quit [Read error: 110 (Connection timed out)] 07:11:13 i mean: that all elements move corrdinated, not each ne by its own 07:11:13 <_3b> that doesn't really sound like a good application of perlin noise 07:11:57 <_3b> you could get an effect sort of like objects being on the surface of wavy water 07:12:05 the perlin noise function has 3 values , x , y , z, i send those values and i get a value 07:12:11 <_3b> right 07:12:23 is it not suppose to get a matrix of interpolated random points? 07:12:42 why do i get just a value? 07:12:46 and how can i get that matrix? 07:12:46 <_3b> if you want values of nearby objects to be related, you need to pass x,y,z close together for nearby objects 07:13:07 <_3b> it interpolates a value for every x,y,z 07:13:25 <_3b> so just pass a different x,y,z to get another element of the 'matrix' 07:13:34 it interpolates a value between that 3 values? 07:14:04 <_3b> no, it uses those values to generate a predictable noise value 07:14:45 _3b but is i pass a diferent x, y , z i get a value 07:14:49 how can i get the matrix? 07:15:05 <_3b> what would you do with that matrix? 07:15:25 i have a structure made of lot of elementes 07:15:30 a 3d structure in opengl 07:15:37 made with lots of bricks 07:15:42 beach, I compiled the code and now when I run it, I only get back 7, the later statement (ke 8) doesn't get invoked I think 07:15:51 i want the matrix to apply a different value to each brick 07:16:18 <_3b> so why isn't the value you get from using a different x,y,z at every brick good enough? 07:16:32 _3b thats why i did 07:16:36 <_3b> (except don't use integer x,y,z, since then you always get 0) 07:16:37 daniel [i=daniel@unaffiliated/daniel] has joined #lisp 07:16:56 but each element moves random between its neighbour, theres no corelation between the behaivor of each function 07:17:14 <_3b> make sure the values are close together, if x,y,z are more than 1 apart, they will not be related very much 07:17:20 but each element moves random in relation of its neighbour, theres no corelation between the behaivor of each function 07:17:31 -!- trebor_home [n=user@dslb-084-059-025-060.pools.arcor-ip.net] has quit [Read error: 110 (Connection timed out)] 07:17:33 <_3b> xyz from 1 obect to the next, not xyz compared to eachother 07:18:04 you mean a litle change between the xyz variables between each brick? 07:18:11 <_3b> right 07:18:11 cornucopic: You should work interactively, rather than using load or compile+load. 07:18:35 like x, y z = 1, 1, 1 and next function x, y , z= 1.1, 1.1, 1.1 07:18:39 is that a good idea? 07:18:54 <_3b> yeah, something like that 07:19:10 ummm im gonna experiment 07:19:11 thanks 07:19:45 i can use a sine functions 07:20:00 sine functions with a litle phase change bettween each other 07:20:02 im gonna try 07:20:03 :P 07:21:07 rread_ [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has joined #lisp 07:21:59 beach, ok. works expected in the interactively. But, what do you reckon of the compile+load behavior? (I understand the load behavior) 07:22:20 -!- ehu` [n=chatzill@82-170-33-173.ip.telfort.nl] has quit [Read error: 110 (Connection timed out)] 07:29:01 -!- rread [n=rread@nat/sun/x-8b991748be157cc9] has quit [Read error: 110 (Connection timed out)] 07:29:42 gemelen [n=shelta@shpd-78-36-164-66.static.vologda.ru] has joined #lisp 07:29:51 -!- luis [n=user@r42.eu] has quit [Read error: 54 (Connection reset by peer)] 07:29:59 luis` [n=user@r42.eu] has joined #lisp 07:32:04 -!- gemelen [n=shelta@shpd-78-36-164-66.static.vologda.ru] has quit [Client Quit] 07:32:59 gemelen [n=shelta@shpd-78-36-164-66.static.vologda.ru] has joined #lisp 07:33:14 -!- daniel_ [i=daniel@unaffiliated/daniel] has quit [Read error: 110 (Connection timed out)] 07:33:20 -!- awayekos is now known as anekos 07:35:52 cornucopic: I don't know. I can't remember what the spec says. 07:37:15 tomoyuki28jp [n=tomoyuki@EM114-51-170-46.pool.e-mobile.ne.jp] has joined #lisp 07:37:47 good morning 07:37:51 good morning! 07:38:01 hello Ragnaroek, hello tomoyuki28jp 07:38:12 hello beach :) 07:40:24 By the way, what's the pronunciation of hunchentoot? 07:40:28 beach, No problem :) You helped me get started with continuations . WOw ! 07:40:53 beach, Feels god :) 07:40:53 s/god/good:) 07:41:55 tomoyuki28jp: I would think hunch-en-toot. 07:43:07 beach, one thing more: In the example code, (+1 []) (+1 ..) is said to be the continuation of [], right ? 07:43:47 beach: I have been thinking like "hun" like "hundred", "chen" like "Mr. chen", "too" like "two" and "t" like "2". The same with you, right? 07:43:59 tomoyuki28jp: yes. 07:44:14 beach: thank, I have been wondering :) 07:45:02 cornucopic: a continuation is not a piece of code, so it is more complicated than that. The continuation in this case is a computation that will add 1, print the result, and then start another iteration of the command loop. 07:46:25 tcr [n=tcr@host145.natpool.mwn.de] has joined #lisp 07:46:43 Davidbrcz [n=david@193.52.24.125] has joined #lisp 07:49:06 manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 07:49:51 beach, Ok. All (taking care of the paren nesting) computation before the call/cc is abstracted as a continuation - is that a correct generalisation ? 07:50:32 cornucopic: yes, that's what I meant by the execution stack. 07:51:43 cornucopic: In fact, it is not so much what happened before, as what will happen in the future. 07:51:55 KucukMubasir [n=Halliday@unaffiliated/kucukmubasir] has joined #lisp 07:52:01 -!- KucukMubasir [n=Halliday@unaffiliated/kucukmubasir] has left #lisp 07:52:06 -!- tomoyuki28jp [n=tomoyuki@EM114-51-170-46.pool.e-mobile.ne.jp] has left #lisp 07:52:21 Vegan [n=sdfpme@119.128.108.245] has joined #lisp 07:53:16 dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has joined #lisp 07:54:33 beach, I guess that is possible because of the way evaluation of an expression occurs . Innermost to outermost ? 07:55:17 -!- S11001001 [n=sirian@pdpc/supporter/active/S11001001] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 07:55:47 froydnj: here? 07:56:26 it's not the right timezone for froydnj 07:56:56 I'm baffled at his mail, he says recent builds but the describe output tell oct 2008 which is not-so-recent 07:57:08 cornucopic: No, that's just by definition what the stack contains, namely a bunch of suspended computations in the form of local variables and return addresses. 07:57:26 in his version get-cat-entry is still a macro that was changed to an inline function in december by a patch of mine 07:58:31 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 07:58:35 I was trying to figure out whether any of the FZ lyrics actually contains the work hunchentoot, in which case one could listen to the song for the pronunciation. 07:59:01 tcr: yeah, I can't reproduce it either 07:59:10 but I haven't tried very hard 08:00:41 so, what kinds of non-standard packages are people aware of? conduits, local-package nicknames, hierarchical packages, versioned packages... anything else? 08:01:27 real, or imaginary? 08:02:20 do anybody works with slime? 08:02:37 tombom [i=tombom@82.25.194.54] has joined #lisp 08:02:39 which is the command for highlighig of parenthesis pairs in emacs? 08:03:02 show-paren-mode 08:03:27 o 08:03:48 thanks 08:05:24 hefner: sticking with real for now, but if you have an imaginary thing with a use case, a precise description would be cool 08:05:28 beach, Ok. 08:07:15 is this a good common lisp identing? 08:07:22 http://paste.lisp.org/display/79534 08:08:22 hefner: perhaps the main question is "can all of these be supported with two protocol functions: find-package-using-package and find-symbol-using-package?" 08:11:41 Ogedei [n=user@78.52.233.99] has joined #lisp 08:13:11 doxtor [n=doxtor@unaffiliated/mitja] has joined #lisp 08:14:18 -!- rread_ [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has quit [] 08:16:01 Krystof: how will the do-symbols macros behave on them? 08:16:13 good morning 08:16:37 hello kami- 08:16:48 hefner: a very good question 08:17:13 *Krystof* wonders how conduits handles that 08:18:03 manby-ace_ [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 08:18:03 -!- manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 54 (Connection reset by peer)] 08:18:42 beach: hunchentoot is a musical which was never played 08:19:09 kami-: Apparently some of the songs from it are on "sleep dirt". 08:19:41 -!- cornucopic is now known as cornucopic|nap 08:20:37 kami-: http://wiki.killuglyradio.com/index.php/Hunchentoot 08:21:02 Krystof: would package-local casification fit in there? 08:21:09 beach: you're right. :) I was just checking that site. 08:21:13 as a younger, more foolish lisper, I had visions of virtual packages which mirrored files in a directory, or executables in my path (with suitable autogenerated wrapper calling run-program) 08:21:58 beach: Flambay contains the word. But I only have a vinyl record of sleep dirt and no turntable any more :( 08:22:00 pkhuong: hrm, wouldn't the reader get in there first? 08:22:01 X-Scale2 [n=email@2001:470:1f0a:13ea:0:0:0:2] has joined #lisp 08:22:07 -!- slash_ [n=Unknown@whgeh0138.cip.uni-regensburg.de] has quit [Client Quit] 08:23:33 Krystof: right. I assume there's some modification to the reader already. 08:24:06 then I guess that's in find-symbol-using-package 08:24:14 all of these things probably don't compose 08:24:23 which might suggest that a single-inheritance strategy is good enough 08:25:21 rather than this nifty hack of allowing me to subclass structures 08:25:32 (shame, really, because this /is/ a nifty hack) 08:25:41 kami-: right you are. Let me see if I have the CD. 08:26:09 I'm sure we can find a use case! 08:26:37 Joreji [n=nah@41-218.eduroam.RWTH-Aachen.DE] has joined #lisp 08:26:40 athos [n=philipp@92.250.250.68] has joined #lisp 08:26:49 kami-: don't have it :( 08:27:10 pkhuong: lichtblau suggested a non-sucky simple-streams implementation, and I think michaelw had some ideas too 08:28:23 good night, for now. 08:29:48 ehu` [n=chatzill@82-170-33-173.ip.telfort.nl] has joined #lisp 08:31:31 manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 08:31:31 -!- manby-ace_ [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 104 (Connection reset by peer)] 08:31:33 projections [n=p@88.235.101.2] has joined #lisp 08:39:03 nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has joined #lisp 08:40:13 -!- X-Scale [n=email@2001:470:1f0a:13ea:0:0:0:2] has quit [Read error: 110 (Connection timed out)] 08:45:11 good morning 08:45:54 mornin' 08:47:19 morning 08:47:30 hey, long time, etc! 08:47:32 good morning 08:49:25 manby-ace_ [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 08:49:25 -!- manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 104 (Connection reset by peer)] 08:49:32 yup, it's been a while. I came here asking for some advice about optimizing code that uses arrays in an inner loop (e.g. can fixed & known dimension/type simple arrays be allocated on the stack... etc.) 08:50:06 -!- aja [n=aja@unaffiliated/aja] has quit [Client Quit] 08:51:29 Spyderco [n=nash@194.45.110.65] has joined #lisp 08:51:47 do you have the answers alreadty? 08:51:51 nope 08:52:14 ok. on-dimenasional simple-arrays can be stack-allocated 08:52:27 the thing is that i use lapack to solve polynomial roots and eigenvalues in an inner loop. 08:52:54 but (right now) only if MAKE-ARRAY has no other keyword args than :ELEMENT-TYPE 08:53:28 what I've been up to (implemented in CL/fortran): http://www.tml.tkk.fi/~ttossava/tkk-diem-video.avi 08:55:27 if the vector size is not known to be < page size at compile time, stack allocation will be inhibited unless you specify SAFETY 0 08:55:39 ok 08:56:02 TimoT: that is really cool. 08:56:07 I guess I'll have to implement some matrix operations on 1D arrays (simple ones, luckily 08:56:15 -!- brandelune [n=suzume@pl065.nas932.takamatsu.nttpc.ne.jp] has quit [Read error: 110 (Connection timed out)] 08:56:48 is the latter half generated from the first? 08:57:01 hefner: nah, old crap (1,5 months at least, my new system can do a bit more...). That one is still pretty much copying what's in the literature. 08:57:09 nikodemus: yep, automatically 08:57:19 it's all new to me :) 08:58:04 exceedingly cool 08:58:53 is the ring of squares the positions of the photos? 08:59:04 yes 08:59:11 -!- Ogedei [n=user@78.52.233.99] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 08:59:17 SandGorgon [n=user@122.163.203.48] has joined #lisp 08:59:53 x86 or x86-64? 09:00:08 -!- mtd [n=martin@ops-13.xades.com] has quit [Read error: 104 (Connection reset by peer)] 09:00:09 I'm going for generation of full models later, now I'm working on getting the cameras and their parameters accurately and making it fast enough to deal with more than a handful of photos. Such systems have been build already, btw. 09:00:43 nikodemus: both, I still have my old machine that's forcing me to optimize stuff a bit more than the quad-core x86-64 I have at work. 09:00:55 nikodemus: What contribs do you use? 09:01:16 TimoT: how long does the computation of that take? 09:01:43 *kami-* finds TimoT's work impressing 09:01:46 less than 15 minutes 09:01:47 i'm asking because there's some work happening on arrays right now: pkhuong is working on sse, and i'm getting the right data alignment on x86 and making allocation better 09:02:01 (on the quadcore) 09:02:36 (add-hook 'slime-load-hook (lambda () (slime-setup '(slime-fancy slime-fancy-inspector slime-presentations)))) 09:02:36 (add-hook 'slime-load-hook (lambda () (slime-setup '(slime-fancy slime-fancy-inspector slime-presentations)))) 09:02:42 oops, sorry for the doubling 09:04:18 you do not need the hook unless you use autoloads perhaps 09:04:19 nikodemus: would be nice to have stack-allocatable fixed dimension arrays 09:04:50 tcr: i use a hook because i don't load slime on startup 09:04:52 does the consing in the profiler contain also stack space? 09:05:02 no, just heap 09:05:03 mtd [n=martin@ops-13.xades.com] has joined #lisp 09:05:23 TimoT: you mean multidimensional arrays? 09:05:26 damn, any nice way to find what's causing the consing after the compiler stops complaining? 09:05:30 nikodemus, yes 09:06:05 e.g. I find it a bit weird that (sort array #'<) conses quite a lot even then the array type is known ... 09:06:23 nikodemus: I have no luck reproducing that. (Using 22.1.1 now, too.) What's the header line of the *Warnings* buffer popping up? 09:06:40 TimoT: use #'(lambda (x y) (< x y)) 09:06:52 put a break on Warning (slime): " *slime-fontify*":1:77 (pt=78). 09:06:53 TimoT: It's consing the &REST of #'< 09:07:37 is it still? 09:07:40 nikodemus: Oh right, I know that one! I fixed that locally but forgot to commit it yesterday 09:07:42 i thought we fixed that 09:07:55 ah, I see. How about using recursive closures? 09:08:06 For implementing stuff like sorting? 09:08:20 you lost me there 09:08:54 I mean having a recursive labels sorter (begin end) for a quicksort for example 09:10:53 what would be the advantage over the current open coding strategy? 09:11:18 nikodemus: Ok, committed. 09:11:37 does postmodern solve sql injection when using the lispy syntax? 09:12:53 nowhere_man [i=pierre@pthierry.pck.nerim.net] has joined #lisp 09:14:54 huh, since when doesn't MAYBE-INLINE inline for SPEED 3 and SPACE 1? 09:15:50 hm, since forever, it seems 09:16:57 Hun [n=hun@p50993726.dip0.t-ipconnect.de] has joined #lisp 09:17:03 TimoT: (declare (optimize (space 0))) for calls to SORT, and you should see a clear improvement 09:17:52 yep, but it still seems to cons 09:18:21 eg for 20000 doubles it conses about 17M 09:18:43 -!- Spyderco [n=nash@194.45.110.65] has quit [Read error: 104 (Connection reset by peer)] 09:18:45 do you have it isolated in source, so you can paste it? 09:19:03 oh, now it works 09:19:20 I was using that #'(lambda (x y) (< x y)) there, #'< doesn't cons now 09:20:17 oh, by the way -- a dirty trick to figure out what is consing is to but a break in sb-vm::allocation... 09:20:21 I have to see how to get this in my own code (I'm using a variation on quicksort that doesn't fit into sort...) 09:20:33 Spyderco [n=nash@194.45.110.65] has joined #lisp 09:20:44 The-Kenny [n=moritz@p5087E42E.dip.t-dialin.net] has joined #lisp 09:20:49 nikodemus: nice! thanks. I should see a 100x speed improvement in cases, I think. 09:20:56 TimoT: about multidimensional arrays 09:21:34 right now, even if we were to stack allocate them, they are still slow because there is an additional layer of indirection 09:22:24 well, at least slower 09:22:54 ok, I'll see about implementing these routines differently them. In particular optimal two-view triangulation seems to eat up about 50% of the execution time during image matching (needs to solve 6th order polynomial, uses svd, etc.) 09:23:22 and that routine uses multiple 3x3 and 6x6 arrays 09:23:58 how do you initialize your arrays? 09:24:19 just make-array '(3 3) :element-type 'double-float 09:24:40 then fill with data 09:24:40 slime compilation buffer doesn't show up automatically upon compile errors/warnings since I updated to slime HEAD some time ago. 09:24:52 that is, how do you do the fill? 09:25:06 do I have to enable it, somehow? 09:25:15 (setf (aref ...) ) usually 09:25:22 (I have slime-fancy in slime-setup) 09:25:33 element at a time, or do you ever initialize all elements to same? 09:26:03 differing elements usually, sometimes the array is needed for output from fortran 09:26:17 tcr: you're involved in slime development, right? 09:26:53 do you ever know the elements beforehand when you allocate? 09:27:45 they usually depend on the parameters, I can think of a few cases then the array is basically constant, but gets overwritten in fortran. 09:28:07 could someone explain me in two words why stack allocation is better? 09:28:16 parameters are fine -- just parameters that are known by the time you allocate the array 09:29:00 in that case yes 09:29:01 because in those cases i have some patches that should improve stack allocation speed for you a bit coming up, no measurements yet, though 09:29:17 ThomasI [n=thomas@unaffiliated/thomasi] has joined #lisp 09:30:00 stassats: it's much faster and doesn't have to be cleaned up afterwards 09:30:22 well, why is it much faster? 09:30:34 it's always just a pointer bump 09:30:52 (i.e. 1 asm instruction ;) 09:31:10 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #lisp 09:31:25 kami-: I think that it doesn't show up is diliberate, but I'm not sure. 09:31:26 heap allocation is set pseudo atomic, try to bump the pointer, if region full get a new region, check pseudo atomic interrupted 09:31:27 fiveop [n=fiveop@p579EAE07.dip.t-dialin.net] has joined #lisp 09:31:35 ok, what can i DISASSEMBLE to see the difference? (in sbcl) 09:32:36 tcr: what exactly do you mean by deliberate? 09:33:07 tcr: does it show up for you, when you have warnings/errors? 09:33:14 nikodemus pasted "heap vs stack" at http://paste.lisp.org/display/79540 09:33:41 jmbr [n=jmbr@87.223.68.107] has joined #lisp 09:33:51 kami-: It deliberately does not show up. 09:34:45 nikodemus: thanks for the help, I'll get back to this later... 09:34:49 cya 09:34:55 -!- TimoT [n=ttossava@cs163143.pp.htv.fi] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 09:35:02 nikodemus: thanks 09:35:13 jewel [n=jewel@dsl-242-183-106.telkomadsl.co.za] has joined #lisp 09:36:11 -!- Spyderco [n=nash@194.45.110.65] has quit [Read error: 104 (Connection reset by peer)] 09:37:07 kami-: You have to customize slime-compilation-finished-hook 09:37:21 -!- benny [n=benny@i577A2547.versanet.de] has quit [Read error: 113 (No route to host)] 09:37:21 -!- cornucopic|nap [n=r00t@115.241.160.45] has quit [Read error: 113 (No route to host)] 09:37:45 tcr: ahh. ok. if I decide that the old behaviour was OK, I have to customise slime-compilation-finished-hook 09:38:02 *kami-* goes searching for slime-compilation-finished-hook 09:38:29 kami-: And if you really want the old behaviour you also have to use the slime-compiler-notes-tree contrib 09:38:59 and you have to set the s-comp-finished-hook to slime-maybe-list-compiler-notes 09:39:20 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 09:39:47 -!- saikat [n=saikat@69.181.127.247] has quit [] 09:40:28 tcr: thank you. Will try that. Just out of curiosity: did others complain about this change in behaviour? (or am I the only one who was baffled?) 09:42:19 the notes produces by sbcl does not look well in the new compilation log, and I haven't bothered about that so I'm fine with it not showing up. 09:42:30 Notice that you can use M-n and M-p in a .lisp buffer to go to the notes 09:42:36 Spyderco [n=nash@194.45.110.65] has joined #lisp 09:42:59 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Read error: 104 (Connection reset by peer)] 09:43:01 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 09:43:09 saikat [n=saikat@69.181.127.247] has joined #lisp 09:43:13 tcr: thank you. 09:43:55 -!- Spyderco [n=nash@194.45.110.65] has quit [Client Quit] 09:44:21 rottcodd [n=user@ppp59-167-46-58.lns2.cbr1.internode.on.net] has joined #lisp 09:46:40 -!- manby-ace_ [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 110 (Connection timed out)] 09:46:51 -!- GrayMagiker [n=steve@97-123-189-76.albq.qwest.net] has quit ["Leaving"] 09:48:28 -!- Vegan [n=sdfpme@119.128.108.245] has quit ["leaving"] 09:49:19 Vegan [n=sdfpme@119.128.108.245] has joined #lisp 09:49:39 tcr: works like a charm! the last small issue: the tree always pops up in collapsed mode. 09:49:51 -!- Joreji [n=nah@41-218.eduroam.RWTH-Aachen.DE] has quit [Read error: 60 (Operation timed out)] 09:51:51 -!- projections [n=p@88.235.101.2] has quit [Read error: 110 (Connection timed out)] 09:51:57 kami-: Dunno, look into contrib/slime-compiler-notes-tree.el 09:52:50 -!- nvoorhies [n=nvoorhie@adsl-75-36-207-191.dsl.pltn13.sbcglobal.net] has quit [] 09:54:58 brandelune [n=suzume@pl065.nas932.takamatsu.nttpc.ne.jp] has joined #lisp 09:56:19 -!- CrazyEddy [n=CrazyEdd@wrongplanet/CrazyEddy] has quit [Read error: 113 (No route to host)] 09:56:39 -!- ehu` [n=chatzill@82-170-33-173.ip.telfort.nl] has quit [Read error: 110 (Connection timed out)] 09:57:36 kami- pasted "collapsed slime-compiler-notes-tree" at http://paste.lisp.org/display/79541 09:58:19 X-Scale [n=email@2001:470:1f0a:13ea:0:0:0:2] has joined #lisp 09:59:19 -!- X-Scale2 [n=email@2001:470:1f0a:13ea:0:0:0:2] has quit [Read error: 104 (Connection reset by peer)] 10:00:55 chaitanya [n=chaitany@122.162.99.134] has joined #lisp 10:00:57 CrazyEddy [n=CrazyEdd@wrongplanet/CrazyEddy] has joined #lisp 10:01:04 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 10:01:55 Soulman [n=kvirc@42.84-48-88.nextgentel.com] has joined #lisp 10:03:34 -!- hypno [n=hypno@195.43.248.100] has quit ["leaving"] 10:04:21 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 10:06:42 -!- sbahra [n=sbahra@c-98-218-239-172.hsd1.dc.comcast.net] has quit [Read error: 110 (Connection timed out)] 10:07:11 blbrown [n=Berlin@c-71-236-25-127.hsd1.ga.comcast.net] has joined #lisp 10:09:34 -!- mgr [n=mgr@psychonaut.psychlotron.de] has quit [Read error: 110 (Connection timed out)] 10:13:16 -!- legumbre [n=user@r190-135-5-15.dialup.adsl.anteldata.net.uy] has quit [Read error: 104 (Connection reset by peer)] 10:13:27 legumbre [n=user@r190-135-5-15.dialup.adsl.anteldata.net.uy] has joined #lisp 10:19:22 -!- milanj- is now known as milanj 10:19:29 Joreji [n=nah@41-218.eduroam.RWTH-Aachen.DE] has joined #lisp 10:22:08 -!- CrazyEddy [n=CrazyEdd@wrongplanet/CrazyEddy] has quit [Read error: 110 (Connection timed out)] 10:25:39 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 10:25:42 CrazyEddy [n=CrazyEdd@wrongplanet/CrazyEddy] has joined #lisp 10:29:10 tcr: in that slime-compiler-notes-to-tree function, collapsed-p is non-nil, whenever there is a severity. 10:29:32 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 10:30:37 tcr: I would have expected exactly the opposite: 'if there is a severity, create the tree in expanded state' 10:33:54 -!- jmbr [n=jmbr@87.223.68.107] has quit [Read error: 104 (Connection reset by peer)] 10:34:16 jmbr [n=jmbr@87.223.68.107] has joined #lisp 10:36:01 manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 10:37:56 c|mell [n=cmell@y192010.dynamic.ppp.asahi-net.or.jp] has joined #lisp 10:40:44 mgr [n=mgr@psychonaut.psychlotron.de] has joined #lisp 10:46:55 -!- guille_ [n=guille_@106.Red-83-39-171.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 10:46:56 -!- manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 54 (Connection reset by peer)] 10:47:06 manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 10:47:09 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 10:48:10 -!- manuel_ [n=manuel@HSI-KBW-078-043-184-124.hsi4.kabel-badenwuerttemberg.de] has quit [] 10:54:14 -!- roidrage [n=roidrage@dslb-084-058-135-011.pools.arcor-ip.net] has quit [] 10:54:19 -!- slyrus [n=slyrus@adsl-68-121-172-169.dsl.pltn13.pacbell.net] has quit [Read error: 110 (Connection timed out)] 10:55:09 -!- slyrus_ [n=slyrus@adsl-68-121-172-169.dsl.pltn13.pacbell.net] has quit [Read error: 110 (Connection timed out)] 10:59:18 kami-: I don't think the tree was fully expanded upon insertion previously, wasn't it? 10:59:47 plutonas [n=plutonas@c-83-233-152-13.cust.bredband2.com] has joined #lisp 11:08:56 benny [n=benny@i577A1C5E.versanet.de] has joined #lisp 11:08:57 tcr: I just sent a small patch to the list which allows me to specify which severities should be collapsed, and which expanded 11:09:00 -!- plutonas [n=plutonas@c-83-233-152-13.cust.bredband2.com] has quit [Remote closed the connection] 11:09:41 nostoi [n=nostoi@55.Red-81-36-253.dynamicIP.rima-tde.net] has joined #lisp 11:10:00 hope it's of acceptable quality, as I only occasionally write very small amounts of elisp code (.emacs) 11:14:45 manby-ace_ [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 11:14:45 -!- manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 104 (Connection reset by peer)] 11:18:06 -!- manby-ace_ [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 54 (Connection reset by peer)] 11:18:20 manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 11:19:33 philipp_ [n=pbenner@ini-firewall.unizh.ch] has joined #lisp 11:21:03 tried to compile the current sbcl version with clisp and I'm getting 'ensure_space: failed to validate 8589869056 bytes at 0x1000000000', why does sbcl need 8gigs of memory?! 11:22:17 Sounds like a clisp problem rather than sbcl, although sbcl is a pretty big lisp program. 11:22:38 no, that's an sbcl error message 11:22:48 it doesn't need 8 gigs of memory. It needs to reserve 8 gigs of address space 11:23:11 you may have OS restrictions not letting you do that, or only letting you do that at a random address, or something 11:23:42 sepult [n=sepult@xdsl-87-78-29-206.netcologne.de] has joined #lisp 11:23:47 so without root rights I can't do anything? 11:24:28 seelenquell [n=seelenqu@pD9E437B7.dip.t-dialin.net] has joined #lisp 11:24:42 philipp_: what distro and what kernel version? 11:24:50 plutonas [n=plutonas@c-83-233-152-13.cust.bredband2.com] has joined #lisp 11:25:01 2.6.22.19-0.2-default, probably opensuse 11:25:11 do you have overcommit disabled? 11:25:20 can't do that 11:25:38 no, i'm asking *if* it is disabled? 11:25:44 no it's not 11:28:07 -!- nostoi [n=nostoi@55.Red-81-36-253.dynamicIP.rima-tde.net] has quit ["Verlassend"] 11:28:30 -!- dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has quit [Read error: 110 (Connection timed out)] 11:28:42 /proc/sys/vm/overcommit_memory says 0 11:29:19 what about address space randomization? What about process ulimits? 11:30:03 ulimits are my next guess. randomization would have produced a different error message 11:30:41 what does ulimit -m say? 11:31:02 Yuuhi [i=benni@p5483F978.dip.t-dialin.net] has joined #lisp 11:31:09 hm, or is it ulimit -v? 11:31:28 http://paste.lisp.org/display/79543 11:32:42 that'll be it 11:34:03 either ask someone to turn those limits off, or use a smaller heap. (You'd need to hack that into the build scripts in this instance) 11:35:09 oh nice 11:35:45 or build with SBCL_ARCH=x86 ... 11:36:07 (iirc the x86 address space should fit inside your ulimits) 11:36:26 that sounds good, thanks! 11:36:27 sohum [n=sohum@unaffiliated/sohum] has joined #lisp 11:37:27 ok, so, this ELS tutorial about nifty unportable sbcl functionality that is rumoured but not actually announced 11:37:30 what shall I put in it? 11:38:21 sequences, dx stuff, writing a deftransform? 11:38:44 maybe VOPs. 11:38:48 sb-sprof, code coverage tools? 11:38:56 got all of those 11:39:34 but slightly higher level: nice examples to use as motivation. 11:39:44 -!- ace4016 [i=ace4016@cpe-76-168-248-118.socal.res.rr.com] has quit ["night"] 11:40:27 I have a couple of ideas: I can illustrate vops, transforms and generic specializers using pkhuong's string-case compiler along with specializers 11:40:58 generic sequences I thought of mmapping a data file to treat it as a sequence 11:41:13 -!- Davidbrcz [n=david@193.52.24.125] has quit [Remote closed the connection] 11:43:00 sohum pasted "cl-who, macros, and lists" at http://paste.lisp.org/display/79544 11:43:26 bah, I don't know why the formatting's all screwed up 11:43:33 <_3b> sohum: cl-who doesn't expand macros 11:44:08 _3b: but shouldn't the macro be expanded before it's handed over? 11:44:26 sohum: Uhm, no. 11:44:28 <_3b> sohum: w-h-o is a macro, so it goes first 11:44:49 <_3b> or w-h-o-t-s in this case 11:45:18 any other sbcl features that anyone uses? 11:45:19 <_3b> sohum: you might try adding methods to cl-who:convert-tag-to-string-list 11:45:34 Krystof: How about briefly discussing some recurring patterns in the output of DISASSEMBLE? 11:46:42 compare-and-swap and atomic-incf? 11:47:52 restrict-compiler-policy? 11:49:32 array-storage-vector? 11:51:28 -!- blbrown [n=Berlin@c-71-236-25-127.hsd1.ga.comcast.net] has quit [Remote closed the connection] 11:52:02 what does array-storage-vector let me do? 11:52:03 Pocket [n=Pocket78@p2169-ipbf1611hodogaya.kanagawa.ocn.ne.jp] has joined #lisp 11:52:08 -!- Pocket [n=Pocket78@p2169-ipbf1611hodogaya.kanagawa.ocn.ne.jp] has left #lisp 11:52:51 paw` [n=user@78-69-82-87-no172.tbcn.telia.com] has joined #lisp 11:53:21 I'd like to know about with-array-data 11:53:48 -!- Joreji [n=nah@41-218.eduroam.RWTH-Aachen.DE] has quit [Read error: 60 (Operation timed out)] 11:54:22 it gives you the underlying data vector of an array 11:54:56 basically you could build with-array-data on top of it and array-displaced-to 11:55:49 but perhaps more importatly it plus vector-sap allows you to pass multidimensional arrays to C 11:59:54 -!- nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has quit ["This computer has gone to sleep"] 12:00:07 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 12:03:01 nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has joined #lisp 12:03:08 -!- ThomasI [n=thomas@unaffiliated/thomasi] has quit ["Bye Bye!"] 12:04:00 what is a menu-frame? 12:04:44 deepfire: in what context? 12:05:22 beach, I'm trying to figure out whether menu popups are top-level-sheets 12:05:44 deepfire: So this is CLIM? 12:05:50 beach, yes 12:05:52 user__ [n=user@122.162.231.123] has joined #lisp 12:06:27 -!- SandGorgon [n=user@122.163.203.48] has quit [Read error: 104 (Connection reset by peer)] 12:06:36 I googled a bit and couldn't find easy explanations. 12:06:50 -!- chaitanya [n=chaitany@122.162.99.134] has quit [Read error: 110 (Connection timed out)] 12:07:17 -!- Fuufie [n=innocent@86.80-203-225.nextgentel.com] has quit ["Leaving"] 12:07:30 Lessee if I remember this right. Each frame has a single top-level sheet, I think. 12:07:35 I thought that menu popups are unmanaged-top-level-sheet-pane's, but then I saw menu-frame and it had that as its top-level-sheet, which made me wonder. 12:07:42 -!- Vegan is now known as testeee 12:08:00 -!- testeee is now known as Vegan 12:08:13 -!- rottcodd [n=user@ppp59-167-46-58.lns2.cbr1.internode.on.net] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 12:11:45 deepfire: But sheets can be grafted in a hierarchy different from the one whose top is frame-top-level-sheet. 12:12:45 deepfire: So I guess a popup menu must be such an independently-grafted sheet. 12:14:21 manuel_ [n=manuel@HSI-KBW-078-043-184-124.hsi4.kabel-badenwuerttemberg.de] has joined #lisp 12:14:21 beach: do you ever give assignments to groups of peopel? 12:14:29 s/peopel/students/ 12:15:55 I just realised that menu-frame isn't subclassed from application-frame. Heh. 12:16:01 joachifm [n=joachim@bjo1-1x-dhcp143.studby.uio.no] has joined #lisp 12:16:26 madnificent: yes. 12:16:43 beach: please stop doing that :) 12:16:50 madnificent: why? 12:16:53 * I know no one of your students 12:17:14 -!- paw` [n=user@78-69-82-87-no172.tbcn.telia.com] has quit [Remote closed the connection] 12:17:25 madnificent: Sorry, I'm lost. 12:17:25 because for some reason, you need to spend hours and hours to motivate your companion, and in the end you have to make it yourself. Sad part is that the other one passes too 12:17:26 Diesel_ [n=rooms@fl-74-4-60-225.dhcp.embarqhsd.net] has joined #lisp 12:18:17 -!- stassats` [n=stassats@wikipedia/stassats] has quit [Read error: 104 (Connection reset by peer)] 12:18:32 madnificent: Yes, that is an unfortunate side effect. 12:18:45 <_3b> madnificent: good preparation for the real world :p 12:18:50 and for some reason, they keep thinking that it is the same as you'll have in your later work. But it is not, as you know where the people are and when they'll work on the code. 12:18:52 but that's how it works in the real world 12:19:34 it is not, if I do payed jobs with people, then everyone works, because... its their pay. You have something to force them with: no work, no money. Whereas students... well we only drink beer 12:19:41 Jabberwockey [n=jens@82.113.106.158] has joined #lisp 12:19:46 stassats` [n=stassats@wikipedia/stassats] has joined #lisp 12:20:06 <_3b> madnificent: you overestimate the willingness/ability of people to make use of that theoretical force :( 12:20:16 -!- Diesel_ [n=rooms@fl-74-4-60-225.dhcp.embarqhsd.net] has left #lisp 12:20:24 god grades and money, isn't that the same incentive`? 12:20:33 _3b: I don't get payed if I don't work as a student... but yes 12:20:47 You could always give group tasks and score for the members on criteria that measure different aspects of the result. 12:21:05 Ragnaroek: not really, if you don't work together, then you have 'fair' grades, but you did nothing. Thus the optimal strategy lies more on the camp of not helping 12:22:18 puchacz [n=puchacz@87.194.5.99] has joined #lisp 12:22:24 *madnificent* is frustrated 12:27:10 so is it possible to use cl-who on a variable that contains a (:html ...) list? 12:27:45 beach, do you think that it can be reasonable to differentiate the top-level-sheets made by adopt-frame for application-frames from menu-unmanaged-top-level-sheets? 12:29:09 beach, realise-mirror could make more informed choices, then 12:29:59 that is, is it possible to use cl-who on a programmatically generated html-like form? 12:31:36 deepfire: By subclassing them you mean? Sounds plausible. 12:32:05 beach, yes 12:34:02 -!- manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 54 (Connection reset by peer)] 12:34:32 manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 12:34:37 -!- nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has quit ["This computer has gone to sleep"] 12:40:56 HG` [n=wells@91.108.74.20] has joined #lisp 12:42:10 chaitanya [n=chaitany@122.162.99.134] has joined #lisp 12:44:40 mumtazah1 [n=mumtazah@203.82.79.101] has joined #lisp 12:45:38 -!- tombom [i=tombom@wikipedia/Tombomp] has quit [Read error: 110 (Connection timed out)] 12:47:11 tsuru [n=user@c-69-245-36-64.hsd1.tn.comcast.net] has joined #lisp 12:48:51 -!- mumtazah1 [n=mumtazah@203.82.79.101] has left #lisp 12:49:28 Fufie [n=innocent@86.80-203-225.nextgentel.com] has joined #lisp 12:50:28 Okay, libsdl 1.2 is doomed as a clim backend, as it cannot create multiple top level windows. 12:50:47 <_3b> deepfire: just run it fullscreen :) 12:51:32 _3b, maximum undisturbed CLIM experience! 12:51:47 nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has joined #lisp 12:59:14 benreesman_ [n=ben@ip68-101-196-173.sd.sd.cox.net] has joined #lisp 13:00:59 valvola [n=fabiovio@host82-251-dynamic.9-79-r.retail.telecomitalia.it] has joined #lisp 13:04:08 -!- sellout- is now known as sellout 13:08:07 volh [n=user@166-33-124-91.pool.ukrtel.net] has joined #lisp 13:08:53 -!- Yuuhi [i=benni@p5483F978.dip.t-dialin.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 13:12:58 mouratov [n=mouratov@77.79.138.4.dynamic.ufanet.ru] has joined #lisp 13:13:00 ikki [n=ikki@189.228.212.31] has joined #lisp 13:16:07 -!- benreesman [n=ben@ip68-101-196-173.sd.sd.cox.net] has quit [Read error: 110 (Connection timed out)] 13:19:12 is apd's pattern-matching ir1 magic in the tree anywhere? 13:19:57 -!- valvola [n=fabiovio@host82-251-dynamic.9-79-r.retail.telecomitalia.it] has quit [Remote closed the connection] 13:20:27 valvola [n=fabiovio@host82-251-dynamic.9-79-r.retail.telecomitalia.it] has joined #lisp 13:21:28 someone (pkhuong) had some hack that worked with it recently 13:21:29 ? 13:22:32 -!- manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 104 (Connection reset by peer)] 13:23:04 manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 13:25:56 X-Scale2 [n=email@2001:470:1f0a:13ea:0:0:0:2] has joined #lisp 13:26:25 not in CVS at least, maybe in pkhuong's repo? 13:26:37 -!- X-Scale2 [n=email@2001:470:1f0a:13ea:0:0:0:2] has quit [Read error: 104 (Connection reset by peer)] 13:26:47 X-Scale2 [n=email@2001:470:1f0a:13ea:0:0:0:2] has joined #lisp 13:30:07 not as far as I can see (though some interesting stuff that I can't tell whether it's been merged or not) 13:33:35 -!- X-Scale [n=email@2001:470:1f0a:13ea:0:0:0:2] has quit [Nick collision from services.] 13:33:48 -!- X-Scale2 is now known as X-Scale 13:34:07 i don't think much anything from pkhuong's work has been merged yet 13:38:44 -!- chaitanya [n=chaitany@122.162.99.134] has quit ["Leaving."] 13:39:10 this might be interesting for some of you: 13:39:11 http://www.infoq.com/news/2009/04/Steele-Interviews-John-McCarthy 13:39:30 jli [n=jli@adsl-074-229-201-181.sip.gnv.bellsouth.net] has joined #lisp 13:40:27 is there a way to destructure arrays? destructuring-bind doesn't do it, apparently 13:40:52 no, there isn't 13:41:05 Krystof, okay, thanks! 13:41:09 No built-in macros that I know of. I suppose you could do (destructuring-bind (...) (concatenate 'list array)) 13:41:21 But that's pretty ugly 13:41:23 Spyderco [n=nash@194.45.110.65] has joined #lisp 13:41:29 at the very least you could use coerce 13:41:41 aye 13:42:35 suifur [n=suifur@unaffiliated/zbrown] has joined #lisp 13:44:17 -!- abeaumont [n=abeaumon@84.76.48.250] has quit [Read error: 104 (Connection reset by peer)] 13:46:06 -!- drafael [n=tapio@ip-118-90-129-111.xdsl.xnet.co.nz] has quit ["Leaving."] 13:46:07 -!- kpreid [n=kpreid@216-171-189-59.northland.net] has quit [] 13:47:20 Yuuhi [i=benni@p5483F978.dip.t-dialin.net] has joined #lisp 13:48:59 Ogedei [n=user@78.52.238.204] has joined #lisp 13:53:08 Jabberwock [n=jens@82.113.121.148] has joined #lisp 13:56:10 LiamH [n=nobody@pool-68-239-77-4.res.east.verizon.net] has joined #lisp 14:05:24 davazp [n=user@79.153.148.56] has joined #lisp 14:10:04 dorian87 [i=52555923@gateway/web/ajax/mibbit.com/x-45ce9f14de215836] has joined #lisp 14:10:36 b4|hraban [n=b4@a83-163-41-120.adsl.xs4all.nl] has joined #lisp 14:12:29 fe[nl]ix: ping 14:12:46 -!- Jabberwockey [n=jens@82.113.106.158] has quit [Read error: 110 (Connection timed out)] 14:13:11 billstclair: it would be rather trivial to write a destructuring-vector-bind or even a destructuring-array-bind... 14:13:56 You don't know the fun you're missing in not writting such macros... 14:14:00 lock-free hash tables seem cool .. compare-and-swap is all that is needed, i think .. maybe its possible to build concurrent GC on some of the same atomic primitives .. /me is reading about stuff done for java by a company, azul systems 14:14:39 lnostdal: There's a google tech talk about their hash-table, too 14:14:59 -!- nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has quit ["This computer has gone to sleep"] 14:15:19 lnostdal: CCL has lock-free hash-tables, too. 14:15:30 yeah, just found the page, sellout .. cool 14:15:41 -!- valvola [n=fabiovio@host82-251-dynamic.9-79-r.retail.telecomitalia.it] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 14:15:46 sellout: pong 14:16:15 fe[nl]ix: So ... I'm catching up on stuff I've let languish for too long. 14:16:30 sellout: nice 14:17:09 Do you still want me to review the fluids stuff, or is that all integrated/tossed/whatever? 14:17:25 (you can see how much attention I've paid to B-T in the past forever) 14:17:37 pjb: hm, I'm not sure how to go about doing destructuring-vector-bind. could you give some hints? 14:18:28 jli: Depending on your needs, I'd rather do a defstruct :type vector, and then use with-struct 14:19:24 jli: you have a pattern matching variable names with vector positions. You will have to resolve it, that is, to find the index or range corresponding to each variable. Then you build a let to bind them using aref or subseq. 14:19:42 lnostdal: lock-free is neat, but lock-free rehashes sound really lossy to me. 14:20:05 -!- sepult [n=sepult@xdsl-87-78-29-206.netcologne.de] has quit [Read error: 60 (Operation timed out)] 14:21:20 nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has joined #lisp 14:21:30 -!- joachifm [n=joachim@bjo1-1x-dhcp143.studby.uio.no] has quit [Read error: 60 (Operation timed out)] 14:21:33 Krystof: right, AFAICT, the magic IR1-frobbing function is all that's in mainline. Building the rest from that isn't hard. The problem (the way I see it) is that transforms are executed bottom-up, while we probably want top-down, or at least some way to delay "inlining" transforms. 14:22:18 bew [n=chatzill@82-35-250-119.cable.ubr04.dals.blueyonder.co.uk] has joined #lisp 14:22:18 where inlining transforms are transform that inline combinations into more complex nodes, and maybe combinations into multiple combinations. 14:23:07 -!- nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has quit [Client Quit] 14:23:10 -!- dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has left #lisp 14:23:57 dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has joined #lisp 14:24:24 volh` [n=user@129-120-124-91.pool.ukrtel.net] has joined #lisp 14:25:10 -!- manuel_ [n=manuel@HSI-KBW-078-043-184-124.hsi4.kabel-badenwuerttemberg.de] has quit [] 14:25:50 -!- dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has left #lisp 14:26:04 Davse_Bamse [n=davse@4306ds4-soeb.0.fullrate.dk] has joined #lisp 14:27:01 sellout: it's in clsql-fluid now 14:27:31 Alright, cool. Thanks. 14:28:26 dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has joined #lisp 14:29:42 dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has joined #lisp 14:30:01 -!- manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 104 (Connection reset by peer)] 14:30:26 -!- brandelune [n=suzume@pl065.nas932.takamatsu.nttpc.ne.jp] has quit [] 14:30:35 manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 14:32:07 sohail [n=Sohail@unaffiliated/sohail] has joined #lisp 14:35:48 joachifm [n=joachim@bjo1-1x-dhcp143.studby.uio.no] has joined #lisp 14:35:56 bew_ [n=chatzill@82-35-250-119.cable.ubr04.dals.blueyonder.co.uk] has joined #lisp 14:38:55 topo_ [n=topo@77.228.136.95] has joined #lisp 14:40:19 -!- volh [n=user@166-33-124-91.pool.ukrtel.net] has quit [Read error: 110 (Connection timed out)] 14:41:24 rogue [n=rogue@208.49.241.227] has joined #lisp 14:41:28 nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has joined #lisp 14:42:45 -!- topo [n=topo@77.228.136.95] has quit [Read error: 104 (Connection reset by peer)] 14:46:35 and do anybody have any experiencia in primitive instanciating? 14:47:33 Joreji [n=nah@41-218.eduroam.RWTH-Aachen.DE] has joined #lisp 14:47:53 topo_: (make-instance 'name-of-class) I do it all the time. 14:48:19 (defclass primitive () ()) (make-instance 'primitive) ; perhaps. 14:48:24 oops sorry 14:48:39 i was talking about doing that in the gpu 14:48:49 you were? 14:49:03 yes 14:49:45 I didn't even know we had a Common Lisp implementation running on a GPU. 14:49:57 well huh. 14:50:18 add_ [n=add@78-69-82-87-no172.tbcn.telia.com] has joined #lisp 14:50:26 tombom [i=tombom@wikipedia/Tombomp] has joined #lisp 14:51:05 anybody have any experiencia with opengl and lisp? 14:53:02 kpreid [n=kpreid@cpe-67-242-4-64.twcny.res.rr.com] has joined #lisp 14:54:06 -!- c|mell [n=cmell@y192010.dynamic.ppp.asahi-net.or.jp] has quit [Read error: 110 (Connection timed out)] 14:54:21 -!- bew [n=chatzill@82-35-250-119.cable.ubr04.dals.blueyonder.co.uk] has quit [Read error: 110 (Connection timed out)] 14:58:44 i made a spinning triangle thingy once .. heh 14:59:16 -!- Ragnaroek [i=54a67828@gateway/web/ajax/mibbit.com/x-48aee80a31fe10e2] has quit ["http://www.mibbit.com ajax IRC Client"] 14:59:58 -!- bew_ [n=chatzill@82-35-250-119.cable.ubr04.dals.blueyonder.co.uk] has quit ["ChatZilla 0.9.84 [Firefox 3.0.10/2009042316]"] 15:00:17 I made a fractal mountain range thingie. but that was with C 0_0 15:00:57 -!- The-Kenny [n=moritz@p5087E42E.dip.t-dialin.net] has quit [Read error: 60 (Operation timed out)] 15:01:18 abeaumont [n=abeaumon@84.76.48.250] has joined #lisp 15:06:01 -!- Vegan [n=sdfpme@119.128.108.245] has quit [Read error: 104 (Connection reset by peer)] 15:06:45 -!- dorian87 [i=52555923@gateway/web/ajax/mibbit.com/x-45ce9f14de215836] has quit ["http://www.mibbit.com ajax IRC Client"] 15:07:12 pkhuong: you've had more recent experience; how easy is transforming (mod (expt ) ) to a single function call? 15:09:17 interestingly, whoever it is who runs "cl-utilities" on cl.net seems to think that sbcl already performs that optimization. 15:09:24 beaumonta [n=abeaumon@84.76.48.250] has joined #lisp 15:09:24 -!- beaumonta [n=abeaumon@84.76.48.250] has quit [Remote closed the connection] 15:15:31 Vegan [n=sdfpme@119.128.108.245] has joined #lisp 15:18:48 -!- manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [] 15:20:55 Krystof: not hard. 15:23:54 Ragnaroek [i=54a67828@gateway/web/ajax/mibbit.com/x-e982fd3c05a33993] has joined #lisp 15:24:20 -!- volh` [n=user@129-120-124-91.pool.ukrtel.net] has left #lisp 15:25:14 -!- Vegan [n=sdfpme@119.128.108.245] has quit ["leaving"] 15:26:42 except that there's some weirdness around transforms on MOD. 15:27:18 -!- topo_ [n=topo@77.228.136.95] has quit [Read error: 104 (Connection reset by peer)] 15:27:30 topo [n=topo@77.228.136.95] has joined #lisp 15:28:41 numbers.lisp:599 #!-sb-fluid (declaim (inline rem mod fceiling ffloor ftruncate)) 15:30:00 oh, bother 15:31:44 can you do it on (truncate expt)? That'd fire correctly. 15:37:23 -!- rogue [n=rogue@208.49.241.227] has quit [Client Quit] 15:37:32 it'd have to be (values (truncate (expt ...))) 15:37:47 why is mod inlined, anyway? Does it actually win anything? 15:38:56 -!- xinming [n=hyy@218.73.142.52] has quit [Remote closed the connection] 15:39:07 xinming [n=hyy@218.73.142.52] has joined #lisp 15:39:51 Vegan [n=sdfpme@119.128.108.245] has joined #lisp 15:41:35 -!- Vegan [n=sdfpme@119.128.108.245] has quit [Client Quit] 15:42:45 Vegan [n=sdfpme@119.128.108.245] has joined #lisp 15:44:55 Nshag [i=user@Mix-Orleans-106-4-46.w193-248.abo.wanadoo.fr] has joined #lisp 15:47:50 -!- Quadrescence [n=quad@unaffiliated/quadrescence] has quit [Connection timed out] 15:50:21 -!- dkcl [n=dkcl@unaffiliated/dkcl] has quit ["leaving"] 15:53:03 -!- vinleod [n=vince@c-76-105-157-42.hsd1.or.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 15:56:22 -!- nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has quit ["This computer has gone to sleep"] 16:00:41 cornucopic [n=r00t@115.241.240.32] has joined #lisp 16:01:43 -!- joachifm [n=joachim@bjo1-1x-dhcp143.studby.uio.no] has quit [Read error: 110 (Connection timed out)] 16:03:40 X-Scale2 [n=email@2001:470:1f0a:13ea:0:0:0:2] has joined #lisp 16:04:07 -!- dv_ [n=dv@85-127-117-181.dynamic.xdsl-line.inode.at] has quit [Read error: 113 (No route to host)] 16:05:21 dv_ [n=dv@85-127-128-68.dynamic.xdsl-line.inode.at] has joined #lisp 16:11:11 hi, can I copy values from sldb frames (in Slime, mouse-3, copy-to-repl)? I have "Attempt to access unrecorded object (id (FRAME-VAR 1 17 7))." 16:13:44 -!- Joreji [n=nah@41-218.eduroam.RWTH-Aachen.DE] has quit [] 16:14:39 rullie [n=rullie@bas4-toronto47-1176151400.dsl.bell.ca] has joined #lisp 16:21:05 -!- envi^home [n=envi@220.121.234.156] has quit ["Leaving"] 16:21:51 hsaliak [n=hsaliak@cm158.epsilon100.maxonline.com.sg] has joined #lisp 16:25:46 -!- benreesman_ [n=ben@ip68-101-196-173.sd.sd.cox.net] has quit [Read error: 104 (Connection reset by peer)] 16:26:11 legumbre_ [n=user@r190-135-62-200.dialup.adsl.anteldata.net.uy] has joined #lisp 16:27:20 -!- X-Scale [n=email@2001:470:1f0a:13ea:0:0:0:2] has quit [Connection timed out] 16:30:33 -!- Ragnaroek [i=54a67828@gateway/web/ajax/mibbit.com/x-e982fd3c05a33993] has quit ["http://www.mibbit.com ajax IRC Client"] 16:30:47 puchacz: Presentations are recorded internally in a weak hash-table; it seems that the object has gone since. 16:31:14 tcr: I just copied it to REPL and pressed Enter.... 16:31:21 did you close sldb? 16:31:24 no 16:31:55 beach, hello 16:33:08 puchacz: Dunno. 16:33:15 tcr: no worries, thanks 16:34:34 beach, in http://paste.lisp.org/display/79533, (continuation? ke) should return #t ? 16:36:42 -!- ejs [n=eugen@224-19-178-94.pool.ukrtel.net] has quit [Read error: 60 (Operation timed out)] 16:38:32 -!- philipp_ [n=pbenner@ini-firewall.unizh.ch] has quit ["leaving"] 16:39:09 -!- Vegan [n=sdfpme@119.128.108.245] has quit ["leaving"] 16:39:28 cornucopic: I don't know. I have forgotten my Scheme. But it's undefined anyway, because you rely on an evaluation order that is not specified. That is not such a good thing to do. 16:40:46 beach, Ok. I will try to explore. 16:42:05 -!- legumbre [n=user@r190-135-5-15.dialup.adsl.anteldata.net.uy] has quit [Read error: 110 (Connection timed out)] 16:42:55 manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 16:44:23 pkhuong: what's the entry point to the ir1 frobber? 16:45:10 roidrage [n=roidrage@dslb-084-058-135-011.pools.arcor-ip.net] has joined #lisp 16:45:41 mrsolo_ [n=mrsolo@adsl-68-126-205-8.dsl.pltn13.pacbell.net] has joined #lisp 16:46:39 Pandala [n=Pandala@LPuteaux-156-16-28-243.w82-127.abo.wanadoo.fr] has joined #lisp 16:48:15 ejs [n=eugen@143-201-124-91.pool.ukrtel.net] has joined #lisp 16:49:51 guille_ [n=guille_@106.Red-83-39-171.dynamicIP.rima-tde.net] has joined #lisp 16:51:45 c|mell [n=cmell@x250004.dynamic.ppp.asahi-net.or.jp] has joined #lisp 16:51:50 valvola [n=fabiovio@host247-175-dynamic.3-79-r.retail.telecomitalia.it] has joined #lisp 16:54:25 Vegan [n=sdfpme@119.128.108.245] has joined #lisp 16:54:38 benreesman [n=ben@ip68-101-196-173.sd.sd.cox.net] has joined #lisp 16:59:37 -!- X-Scale2 is now known as X-Scale 17:00:14 etate [n=etate@bb-87-81-97-91.ukonline.co.uk] has joined #lisp 17:00:47 -!- Vegan [n=sdfpme@119.128.108.245] has quit [Remote closed the connection] 17:02:12 automatic modular exponentiation transform? that seems cool, if a little too magic. 17:02:31 Davidbrcz [n=david@nsc.ciup.fr] has joined #lisp 17:03:41 hefner: it probably is too magic for general use (like an automatic boyer-moore search transform); I'm probably giving a tutorial at ELS on unportable sbcl stuff, and I think these are good examples 17:05:21 sbahra [n=sbahra@c-98-218-239-172.hsd1.dc.comcast.net] has joined #lisp 17:05:59 -!- Jabberwock [n=jens@82.113.121.148] has quit ["Verlassend"] 17:07:00 suggests to me the spiffy idea that an implementation could represent huge exponentiations lazily with a different type of bignum which mod could detect and use the appropriate algorithm on 17:07:01 dreish [n=dreish@minus.dreish.org] has joined #lisp 17:08:16 reboot 17:08:43 -!- Spyderco [n=nash@194.45.110.65] has quit [Read error: 104 (Connection reset by peer)] 17:08:46 hefner: or huge computations generally. But at some point someone has to do some actual computation 17:11:21 -!- guille_ [n=guille_@106.Red-83-39-171.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 17:11:51 jewel_ [n=jewel@dsl-247-202-230.telkomadsl.co.za] has joined #lisp 17:12:02 -!- jewel [n=jewel@dsl-242-183-106.telkomadsl.co.za] has quit [Read error: 110 (Connection timed out)] 17:15:30 -!- vsync [n=vsync@220-27.202-68.tampabay.res.rr.com] has quit [Read error: 110 (Connection timed out)] 17:16:17 -!- Pandala [n=Pandala@LPuteaux-156-16-28-243.w82-127.abo.wanadoo.fr] has quit [Read error: 113 (No route to host)] 17:17:20 Symmetry- [n=thezog@host-static-92-114-165-252.moldtelecom.md] has joined #lisp 17:17:31 hi 17:18:02 can I ask, is "call with current continuation" just a pseudonim for tail call optimization? 17:18:29 dgou [n=dgou@c-71-61-180-53.hsd1.pa.comcast.net] has joined #lisp 17:18:33 No. 17:18:42 -!- dgou [n=dgou@c-71-61-180-53.hsd1.pa.comcast.net] has quit [Remote closed the connection] 17:19:04 Think of normal recursion as being an inward journey followed by an outward journey of the same length. 17:19:32 Then think of tail call optimization as skipping the outward journey. 17:19:57 So the number of calls in this case, in the CPS form is halved, if you have TCO. 17:20:06 I can visualize that, it's like doing an assembler jump to foo() instead of doing return foo() 17:20:25 C speak, sorry 17:20:36 call-with-current-continuation has nothing to do with that -- it is a way of capturing the current continuation so that you can use it later. 17:21:17 ok I guess I don't know what "current continuation" is - is it just "the caller's scope"? 17:21:48 The current continuation is the function you would have called in order to pass on your result for further computation -- the next step. 17:22:28 So, you can capture that 'next step' and then do something else, and then continue on to that 'next step' later with a result for that further computation. 17:22:29 Symmetry-: call with current continuation is something else entirely than tail call optimization 17:22:50 Now, you could use that to implement tail call optimization, but that's another story. 17:23:31 ah, this "next step" could very well be the next statement in the middle of a long function? 17:23:43 e.g, you capture the 'next step' at the start of the recursion, and then continue directly to that with the result when you've recursed as deep as you need to, to skip the return journey. 17:24:04 (foo (+ 1 2)) -- the next step of (+ 1 2) is to call foo with 3. 17:24:31 I see 17:24:53 If you captured that next step, you could just pass whatever you wanted to foo with it. 17:25:18 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 17:25:28 could you make up an example that uses call-cc with that (foo (+ 1 2))? 17:26:35 -!- rullie [n=rullie@bas4-toronto47-1176151400.dsl.bell.ca] has quit ["Lost terminal"] 17:28:05 Zhivago, ah I processed what you said above. so you still recurse (grow the stack) but once you're done, you just jump straight back through the stack without unwinding 17:28:07 I don't have a scheme system handy, but perhaps (foo (call-with-current-continuation (lambda (k) (k 3)))) 17:28:10 Good evening. 17:28:46 symmetry: Well, that's one option -- another option would be to jump back through the stack after each stage in the computation, if you want to think in terms of stacks. 17:28:46 Lots of continuation questions lately. Did the Scheme people put an ad campaign on TV or something? 17:28:58 symmetry: I suggest that you stop thinking about stacks, though. 17:29:15 why? 17:29:26 symmetry: Because it is wrong. :) 17:29:41 haha ok :) 17:29:49 symmetry: The simplest way to think about a continuation based system is to imagine that the activation records are allocated in the 'heap'. 17:30:20 Spyderco [n=nash@194.45.110.65] has joined #lisp 17:30:24 symmetry: Which is why you can continue to the same continuation multiple times. 17:30:49 symmetry: If it were on a stack, then those records would have been erased already, which would make that impossible. 17:31:07 I see, D does this trick where is allocates activation records on the heap when there's the possibility of lambda functions 17:31:33 Symmetry-, Hi. Please access the public logs of this channel and look for some recently old discussions between me and beach on call/cc 17:31:53 Yes -- you often optimize it better than allocating everything like that, but just think of the general case as not involving a stack. 17:31:55 beach: if I had to guess, I'd point to Joe Marshall blogging about python, scheme, and tail recursion as a contributing factor 17:32:04 cornucopic, thank you. Any link perhaps?.. :) 17:32:09 Symmetry-, I am a newbie and beach helped me understand it well 17:32:14 It's probably just homework :) 17:32:23 hefner: I see. That might explain some of it. 17:32:34 hefner, exactly :) 17:32:54 Guido's confusion saves the day, again. 17:33:06 Symmetry-, not sure about where the public logs for this channel are kept :( 17:33:14 Zhivago: has this happened before? 17:33:18 rullie [n=rullie@bas4-toronto47-1176151400.dsl.bell.ca] has joined #lisp 17:33:24 minion: tell Symmetry- about logs 17:33:25 Symmetry-: have a look at logs: #lisp logs are available at http://ccl.clozure.com/irc-logs/lisp/ (since 2008-09) and http://tunes.org/~nef/logs/lisp/ (since 2000) 17:33:39 m(_)m 17:33:53 there you g o:) 17:34:16 Astyan [n=mickael@megami.fr] has joined #lisp 17:34:19 hi 17:34:25 hello Astyan 17:34:56 does making a regular call e.g. (foo 2) involve creating a continuation? 17:35:14 if i say i have a question you answer "ok good tell us !" so i ask directly ..: how can i exec lisp code in a variable in lisp ? 17:35:28 Symmetry-: conceptually, yes, but it might be represented in a very inexpensive way. 17:35:28 (setq foo "some lisp code") 17:35:36 (exec foo) 17:35:38 the eval? 17:35:41 symmetry: In scheme, I'd suggest that you imagine that it involves creating a whole bunch of continuations. 17:35:50 (eval foo) 17:35:51 ? 17:35:54 Astyan: if it is a function, (funcall foo) 17:36:08 Astyan: how is this code represented? 17:36:18 it's three function call 17:36:21 Zhivago, a single function call creates a whole bunch of continuations? 17:36:40 Astyan: How did this code come to be the value of foo? 17:36:43 symmetry: When you call a function you need to tell it where to continue to when it returns ... 17:36:46 in fact i am trying to do something with emacs .. 17:37:03 so that's one.. 17:37:51 hmm 17:38:02 Quadrescence [n=quad@unaffiliated/quadrescence] has joined #lisp 17:38:06 I read that continuations enable very elegant exception/error handling 17:38:17 well I need to rtfm but just curious 17:38:22 Astyan: To answer your question, we need to know how the code is represented. 17:39:25 Symmetry-, you have a success continuation and failure continuation (disclaimer: I am a utter noob) 17:39:38 whoa 17:40:04 beach .hu ? it's lips code 17:40:05 Symmetry-, that probably is a good mechanism for exception handling and non-deterministic evaluation 17:40:18 denios [n=kesslerc@aixd3.rhrk.uni-kl.de] has joined #lisp 17:40:19 beach the same way you write a lisp file .. 17:40:39 Astyan: There are a gazillion ways of representing Lisp code. As a string? As list structures? As a function? 17:40:47 string 17:41:04 i dont know the other ways your talking .. 17:41:07 *you are 17:41:21 Symmetry-, reification of continuations, and condition handling, are two pretty much unrelated beasts. 17:41:39 Astyan: What book do you learn Lisp from? 17:41:51 Astyan: Then you first need to parse it into a list structure (which is the standard internal representation of Lisp programs in Lisp), and then you need to call EVAL on that. 17:42:07 Symmetry-, you may want to refer to SICP Chapter 4 17:42:24 Astyan: But it would be *very* surprising to end up with Lisp code as a string value of a variable. 17:43:29 Astyan: That would be the only choice in most other languages, but Lisp actually defines how programs are represented as list structures. Handy huh? 17:43:55 -!- ASau [n=user@193.138.70.52] has quit ["Reboot"] 17:45:50 -!- manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 104 (Connection reset by peer)] 17:45:59 Astyan: In addition, functions are first-class objects in Lisp, so one possible representation would be a function. 17:46:00 manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 17:46:13 Astyan: that is also not a choice in most languages. 17:47:36 -!- hsaliak [n=hsaliak@cm158.epsilon100.maxonline.com.sg] has quit [Read error: 60 (Operation timed out)] 17:47:40 -!- Davse_Bamse [n=davse@4306ds4-soeb.0.fullrate.dk] has quit ["leaving"] 17:48:29 X-Scale2 [n=email@2001:470:1f0a:13ea:0:0:0:2] has joined #lisp 17:48:40 *beach* has the impression Astyan doesn't care and just wants a cookbook-type answer for a perticular problem of using Emacs. 17:48:44 -!- X-Scale [n=email@2001:470:1f0a:13ea:0:0:0:2] has quit [Read error: 104 (Connection reset by peer)] 17:48:45 tcr i did not learn lisp 17:48:51 i just try to do something in emacs 17:49:08 i just want it executes a command when i open a file 17:49:20 Astyan: This channel is concerned with Common Lisp as opposed to Emacs Lisp 17:49:29 i foudn a solution (on #emacs) but i dont make it works currently 17:49:31 using : 17:49:45 eval: (highlight-regexp regexp face) 17:49:49 in a local variable block 17:50:08 yeah my question was purely lisp early :) 17:50:17 not anymore .. 17:50:58 i did not have choice about representation sring function and list 17:52:56 rjack [n=rjack@adsl-ull-234-19.51-151.net24.it] has joined #lisp 17:52:59 SandGorgon [n=user@122.162.231.123] has joined #lisp 17:53:46 It's hard for me to understand what are you talking about, Astyan 17:53:58 can you, please, be a bit more specific? 17:54:06 mouratov: He is talking about Emacs, as opposed to Common Lisp. 17:54:29 postamar [n=postamar@x-132-204-255-253.xtpr.umontreal.ca] has joined #lisp 17:54:38 I don't understand what exactly does he want to do in emacs 17:54:44 mouratov: ok remove all you know about me in your head :) 17:54:53 i hada problem in elisp .. 17:54:56 i wanted to do something 17:55:10 Astyan: you wanted to read elisp from a text file and then execute it? 17:55:47 i found only one way to do it, an ugly way and i needed to eval a string which was lisp code (elisp yeah but it was lisp syntax) 17:56:03 you have it in a text file, right? 17:56:06 Now i found another way, not ugly, more standard, but i cant make it to work 17:56:16 yeah 17:56:32 in a file i could define a variable (so a string, not a list nor struct) 17:56:32 joachifm [n=joachim@bjo1-1x-dhcp143.studby.uio.no] has joined #lisp 17:56:42 and it was that string i want to eval 17:56:51 there is a "load-file" function in emacs 17:57:16 yes but the thing i want was specific to this file 17:57:35 -!- X-Scale2 [n=email@2001:470:1f0a:13ea:0:0:0:2] has quit [Read error: 104 (Connection reset by peer)] 17:57:38 i ant to specify some highlightement 17:57:39 X-Scale [i=email@89.180.239.41] has joined #lisp 17:57:41 *want 17:57:55 oh 17:58:05 just to make the file more pleasant to read 17:58:14 so you want to highlight a particular part of the file? 17:58:16 missyjane [n=hey@unaffiliated/missyjane] has joined #lisp 17:58:39 then you need to define a new syntax-highlighting scheme 17:58:57 yeah for example i am writing a tiny doc for me only, i decide that line starting by ** would be comments, starting by "$ " would be shell command etc .. 17:58:58 or to modify some of the existing 17:59:15 and i want colorize them.. but this file is only a .txt file actually 17:59:46 mouratov: yeah 18:00:01 -!- Modius_ is now known as Modius 18:00:17 ehu` [n=chatzill@82-170-33-173.ip.telfort.nl] has joined #lisp 18:00:56 Guessing the answer is "no"; but I'll ask anyway - is there any way a class can be set up to make (common-lisp:funcall obj) dispatch some other way? 18:00:56 i am not as good as it need to write a good elisp script to colorize a type of file 18:01:07 -!- rullie [n=rullie@bas4-toronto47-1176151400.dsl.bell.ca] has quit ["Lost terminal"] 18:01:25 -!- mrsolo_ [n=mrsolo@adsl-68-126-205-8.dsl.pltn13.pacbell.net] has quit [Read error: 60 (Operation timed out)] 18:02:22 I'm kind of a novice myself, Astyan. Lets figure out how to solve this problem together 18:02:46 1) We need to understand how to define a new highlighting scheme 18:02:57 let's consult Emacs manual 18:03:42 Modius: funcallable instances? 18:04:14 Astyan: chapter 57.5 - The Syntax Table 18:04:36 mathias [n=user@39.84-48-162.nextgentel.com] has joined #lisp 18:04:59 ehu` : Hmm I need to research this. I'm guessing: This is nonstandard but something the big implementations support? 18:05:11 Astyan: Function: make-syntax-table &optional table 18:05:26 Astyan: let's move our discussion to #emacs 18:05:43 mouratov: i am on a emacs-way to resolve this problem 18:05:53 Modius: I *think* it's part of the AMOP, but I'm not sure. 18:05:59 ASau [n=user@193.138.70.52] has joined #lisp 18:06:34 Modius: why ddo you want to do it? 18:06:49 bombshelter13_ [n=bombshel@209-161-231-13.dsl.look.ca] has joined #lisp 18:07:03 -!- user__ [n=user@122.162.231.123] has quit [Connection timed out] 18:07:20 -!- mathias [n=user@39.84-48-162.nextgentel.com] has quit [Remote closed the connection] 18:07:44 nurv101 [n=nurv101@bl6-64-46.dsl.telepac.pt] has joined #lisp 18:07:55 -!- davazp [n=user@79.153.148.56] has quit [Remote closed the connection] 18:08:04 rsynott: Long story. Did a codewalker to acommodate call/cc, multi-values, cloned continuations, unwind-protect - and conventions for inter-function calls. Trick is while I can have a function accept both types of calling convention via a marker as the first param, I can't identify calls at runtime. 18:08:18 It appears this funcallable may be just the ticket 18:10:34 mouratov: i resolve my problem :) 18:10:35 dmiles [n=dmiles@c-71-197-210-170.hsd1.wa.comcast.net] has joined #lisp 18:10:40 see the tiny file : http://astyan.megami.fr/public/test 18:10:57 -!- dmiles_afk [n=dmiles@c-71-197-210-170.hsd1.wa.comcast.net] has quit [Read error: 60 (Operation timed out)] 18:11:43 great :-) 18:11:50 now a way to always accept eval ... it's annoying me to say yes every time i open the file 18:11:57 ehu` : Enlighten me (I've never messed with AMOP but it looks like I should now) - What is the method that I would override in order to replace the standard funcall behavior? 18:11:59 m4thias [n=user@39.84-48-162.nextgentel.com] has joined #lisp 18:12:15 ehu` : Or to refer funcall to funcall my member variable? 18:14:24 The-Kenny [n=moritz@p5087E42E.dip.t-dialin.net] has joined #lisp 18:14:59 <_3b> Modius: if nobody else has better examples, you could try looking at http://paste.lisp.org/display/78848 18:15:15 rullie [n=rullie@bas4-toronto47-1176151400.dsl.bell.ca] has joined #lisp 18:15:40 -!- missyjane [n=hey@unaffiliated/missyjane] has left #lisp 18:16:46 Symmetry-, You may find this link useful: http://www.madore.org/~david/computers/callcc.html 18:16:54 dkcl [n=dkcl@unaffiliated/dkcl] has joined #lisp 18:17:03 -!- joachifm [n=joachim@bjo1-1x-dhcp143.studby.uio.no] has quit ["leaving"] 18:17:10 <_3b> Modius: just the first part that is, the annotation was about some sbcl bug it triggered 18:17:49 _3b What about the member makes it the active/called element? Just the fact that it is called "function"? 18:17:56 _3b I mean, the function symbol 18:18:18 <_3b> was just about to say i don't actually know how it works, that was just a reduced test case for the bug :) 18:19:11 -!- denios [n=kesslerc@aixd3.rhrk.uni-kl.de] has quit ["leaving"] 18:21:24 I'm wondering if anybody could explain the NILs i this example. Cant figure out how to do it. http://pastebin.com/d451aa626 18:21:25 <_3b> i'd guess the set-funcallable-instance-function is the important bit though 18:23:08 <_3b> m4thias: when the car is a list, you return a list with the results of searching the car and cdr 18:23:17 guille_ [n=guille_@106.Red-83-39-171.dynamicIP.rima-tde.net] has joined #lisp 18:23:24 Seems I need to dust off my "art of the metaobject protocol" copy, which was never actually read. If this can work on SBCL, Lispworks and CCL I'll consider it portable. 18:23:41 *rsynnott* keeps meaning to get that book 18:24:11 right now, my scanty knowledge of MOP is mostly from fiddling with elephant 18:27:49 <_3b> Balooga: if you are reading logs, is (sdl-base::with-pixel (p (sdl:fp surface)) ... (sdl-base::pixel-data)) still the right way to access the contents of a surface as a cffi pointer? 18:29:36 Modius: http://www.lisp.org/mop/concepts.html ; more I don't really know. 18:33:54 Modius: Google for more. 18:35:09 chrismay [n=user@d83-176-137-22.cust.tele2.de] has joined #lisp 18:35:22 where can we post lisp cod etc online? 18:35:47 <_3b> small pieces of code or whole projects? 18:35:49 minion: tell chrismay about lisppaste 18:35:50 To use the lisppaste bot, visit http://paste.lisp.org/new/lisp and enter your paste. 18:35:56 _3B: small pieces 18:36:08 thank you 18:36:09 <_3b> ok, that URL is what you want then 18:37:14 Modius, for portability wrt. MOP check out closer-mop .. http://common-lisp.net/project/closer/closer-mop.html 18:37:34 Ogedei` [n=user@78.52.235.173] has joined #lisp 18:37:51 lnostdal: Thanks - yeah, anything I add to my lib will reference only closer-mop 18:39:08 -!- suifur [n=suifur@unaffiliated/zbrown] has quit ["Yo dawg I hurd you like quit msgs..."] 18:40:02 vy [n=user@88.231.234.19] has joined #lisp 18:41:02 -!- mouratov [n=mouratov@77.79.138.4.dynamic.ufanet.ru] has quit ["Leaving."] 18:41:37 -!- roidrage [n=roidrage@dslb-084-058-135-011.pools.arcor-ip.net] has quit [] 18:43:13 ivenkys [n=ivenkys@unaffiliated/ivenkys] has joined #lisp 18:44:20 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 18:44:45 -!- jli [n=jli@adsl-074-229-201-181.sip.gnv.bellsouth.net] has left #lisp 18:46:18 attila_lendvai [n=ati@www.netvisor.hu] has joined #lisp 18:46:20 alec [n=alec@pool-96-237-2-171.bstnma.east.verizon.net] has joined #lisp 18:47:43 mattrepl [n=mattrepl@ip68-100-82-124.dc.dc.cox.net] has joined #lisp 18:50:05 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 18:51:35 -!- Ogedei [n=user@78.52.238.204] has quit [Read error: 110 (Connection timed out)] 18:54:52 slyrus_ [n=slyrus@adsl-68-121-172-169.dsl.pltn13.pacbell.net] has joined #lisp 19:00:14 -!- chrismay [n=user@d83-176-137-22.cust.tele2.de] has quit [Read error: 110 (Connection timed out)] 19:01:30 chrismay [n=user@d83-176-133-102.cust.tele2.de] has joined #lisp 19:05:26 -!- Spyderco [n=nash@194.45.110.65] has quit [Read error: 110 (Connection timed out)] 19:11:30 -!- valvola [n=fabiovio@host247-175-dynamic.3-79-r.retail.telecomitalia.it] has quit [Read error: 104 (Connection reset by peer)] 19:14:01 -!- cornucopic [n=r00t@115.241.240.32] has quit [Read error: 110 (Connection timed out)] 19:14:34 cornucopic [n=r00t@115.241.240.32] has joined #lisp 19:15:55 Jacob_H [n=jacob@92.6.238.44] has joined #lisp 19:16:14 -!- chrismay [n=user@d83-176-133-102.cust.tele2.de] has quit ["thank you"] 19:18:48 theoffset [n=ismael@201-130-203-252-cable.cybercable.net.mx] has joined #lisp 19:18:51 ehu`: ping 19:19:04 hi 19:20:04 ehu`: I've a patch to add join-thread to abcl 19:20:41 "MOP - More than just classes" 19:21:29 -!- manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 104 (Connection reset by peer)] 19:22:00 manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 19:23:04 fe[nl]ix pasted "join-thread for ABCL" at http://paste.lisp.org/display/79556 19:23:31 ehu`: does 79556 look ok ? 19:25:16 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 19:26:00 apart from the FIXME, looks good. 19:26:31 ehu`: I don't know how to do that, I was hoping you'd fill in the gap :) 19:26:43 10:13:10 pjb: billstclair: it would be rather trivial to write a destructuring-vector-bind or even a destructuring-array-bind... 19:26:43 10:13:56 pjb: You don't know the fun you're missing in not writting such macros... 19:27:01 I write macros like that whenever I need them, but I wasn't the guy asking about destructuring-array-bind 19:27:01 fe[nl]ix: ah! ok. 19:27:27 billstclair: sorry them. 19:27:32 No prob 19:33:22 mokogobo [n=mokogobo@pcp075595pcs.unl.edu] has joined #lisp 19:33:31 ziarkaen [n=ziarkaen@88-108-56-140.dynamic.dsl.as9105.com] has joined #lisp 19:39:05 _3b: I see that, but is there a way to do this and not get the NILs? Without the cons it yields NIL (from the ((null html)) test). 19:39:34 <_3b> do you want the first match, or all of them? 19:40:42 <_3b> (either way, just think about what the possibilities are for that branch of the cond, and what answer you want to return in that case :) 19:41:32 -!- SandGorgon [n=user@122.162.231.123] has quit [Read error: 110 (Connection timed out)] 19:42:57 if none of the tests return true, it should return nada. 19:44:00 prefer to get all the matches, guess it should be traverse (html find found) then 19:44:31 <_3b> you don't need an extra arg 19:44:47 <_3b> you already know how to return a list of answers :) 19:45:30 I guess you're pointing at the (null html) nil cond? 19:45:55 <_3b> no, still the part with the CONS in it 19:47:02 sorry, I don't get it... 19:48:18 <_3b> in the (listp ...) branch, you have 2 sets of 2 possibilities to worry about: found or not found for each of FIRST and REST of html, right? 19:48:39 yes 19:49:18 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 19:49:37 <_3b> ok, so if it is found in both, you want to return both, so (cons ... ...) is at least close to right (you might want append or something, not sure) 19:50:00 <_3b> but in the other three cases, you don't want to return both, so the cons is wrong 19:50:31 -!- dkcl [n=dkcl@unaffiliated/dkcl] has quit [Read error: 104 (Connection reset by peer)] 19:50:51 dkcl [n=dkcl@unaffiliated/dkcl] has joined #lisp 19:51:02 <_3b> well, it might be right if you found something in FIRST but not REST, since that puts it in a list which would make the append i mentioned above work, but just calling list would be cleaner if that is the goal :) 19:51:17 hm, get it: both cons cells should have a value? 19:51:46 <_3b> other way around... if there aren't 2 values, you don't need a cons 19:52:44 Jabberwockey [n=jens@port-14644.pppoe.wtnet.de] has joined #lisp 19:52:59 <_3b> (but probably that means 'yes') 19:53:10 dv___ [n=dv@85-127-128-68.dynamic.xdsl-line.inode.at] has joined #lisp 19:54:00 -!- dv_ [n=dv@85-127-128-68.dynamic.xdsl-line.inode.at] has quit [Nick collision from services.] 19:54:24 -!- dv___ is now known as dv_ 20:00:14 -!- vy [n=user@88.231.234.19] has quit [Remote closed the connection] 20:02:45 -!- schme [n=marcus@sxemacs/devel/schme] has quit [Read error: 113 (No route to host)] 20:02:50 -!- jewel_ [n=jewel@dsl-247-202-230.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 20:05:07 _3b: still a bit in the dark. any book suggestions? 20:06:16 -!- HG` [n=wells@91.108.74.20] has quit [Client Quit] 20:06:37 <_3b> m4thias: have you tried pcl or the gentle introduction to something something one? 20:06:53 *_3b* isn't awake enough for remembering whole phrases 20:07:24 <_3b> m4thias: is this homework or just hobby code? 20:07:32 both := 20:07:53 -!- tcr [n=tcr@host145.natpool.mwn.de] has quit ["Leaving."] 20:08:16 <_3b> ok, you might be better off waiting for someone awake enough to explain it properly then :) 20:08:27 *_3b* can try again if you like though 20:09:00 please do :) 20:09:26 minion: tell m4thias about pcl 20:09:27 m4thias: look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 20:10:22 <_3b> ok, the first case is if html is nil, the function returns nil, so that part is right 20:11:07 yes (if nil is not specified it's T, correct?) 20:11:11 antoszka [n=antoszka@unaffiliated/antoszka] has joined #lisp 20:11:38 -!- guille_ [n=guille_@106.Red-83-39-171.dynamicIP.rima-tde.net] has quit ["Leaving..."] 20:12:19 <_3b> it is the result of the test (null html), so yeah, T in this case 20:12:32 -!- theoffset [n=ismael@201-130-203-252-cable.cybercable.net.mx] has quit [Read error: 60 (Operation timed out)] 20:12:56 <_3b> the (equal ...) part presumably matches the spec as well 20:13:31 <_3b> the (t (traverse ...)) is maybe a bit odd 20:13:49 <_3b> what should it return for (:foo "bar" :title) ? 20:14:06 what library is this? 20:14:15 <_3b> or ((:foo "bar" :title)) for that matter 20:14:44 well it's parsed lhtml, so the tag will always be the car (:TITLE ..) 20:15:16 the library is a port(?) of Allegro-something-html 20:15:22 <_3b> this is one of those cases where tree vs. list is a bit confusing 20:15:52 <_3b> if you are sure the input is properly formatted, it should be OK too though 20:16:04 <_3b> just possibly doing a bit more work than it needs to 20:17:05 jewel_ [n=jewel@dsl-247-202-230.telkomadsl.co.za] has joined #lisp 20:17:28 <_3b> (or possibly i'm not thinking clearly there, so lets skip that one either way :) 20:17:43 <_3b> which brings us back to the (listp ...) 20:18:41 dreish_ [n=dreish@minus.dreish.org] has joined #lisp 20:20:11 <_3b> you have 2 sublists, we'll call them first and rest for obvious reaons 20:20:58 <_3b> if first contains a match, and traverse is workink, the (traverse first ...) call returns the match, right? 20:21:12 yep 20:21:14 <_3b> and if it doesn't contain a match, it rteurns nil 20:21:20 yep 20:21:31 <_3b> and the same applies to rest 20:21:40 correct 20:22:14 <_3b> so now the only thing remaining is to convert those 2 answers into an answer that is correct for the current tree from which we got first and rest 20:22:44 -!- postamar [n=postamar@x-132-204-255-253.xtpr.umontreal.ca] has quit [] 20:23:12 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 20:23:14 yes 20:23:45 <_3b> lets call the answers first-match and rest-match, what logic do you need to combine them? 20:25:20 you would cons them, but only if the result !nil 20:26:16 <_3b> if both are not nil, right 20:26:22 -!- dreish [n=dreish@minus.dreish.org] has quit [Read error: 113 (No route to host)] 20:27:39 yes 20:28:59 <_3b> so is that enough to try implementing something? 20:30:04 kadaver_ [n=hask@h168n2c1o1097.bredband.skanova.com] has joined #lisp 20:30:16 -!- kadaver_ [n=hask@h168n2c1o1097.bredband.skanova.com] has left #lisp 20:30:47 poet [n=tim@unaffiliated/poet] has joined #lisp 20:31:09 is there a way to print out a lisp expression without evaluating it? 20:31:40 quote it 20:31:56 well the lisp expression is stored in a variable, so that just results in the name of the variable being printed out 20:32:23 (pprint variable) ? 20:32:26 <_3b> printing doesn't generally evaluate, could you give an example? 20:32:37 sure one sec, lemme pastebin 20:32:38 _3b: no, still a bit in the dark. 20:32:49 but thanks for trying. 20:33:04 <_3b> m4thias: ok, well, you can implement the variables i've been talking about, right? 20:33:10 http://paste.lisp.org/display/79562 20:33:17 -!- benreesman [n=ben@ip68-101-196-173.sd.sd.cox.net] has quit [] 20:33:49 what do you want it to print? 20:33:55 <_3b> poet: and what does that do/not do that is a problem? 20:34:18 <_3b> m4thias: first, rest, first-answer, rest-answer 20:34:43 _3b: it prints out test instead of the test expression 20:34:56 I want the user to know what lisp expression passed/failed 20:34:58 don't quote it? 20:35:21 wouldnt that simply evaluable the test epxression to T or Nil and print that? 20:35:23 <_3b> poet: you are passing the result of evaluating something to that function 20:35:25 *evaluate 20:35:27 -!- ikki [n=ikki@189.228.212.31] has quit [Read error: 113 (No route to host)] 20:36:08 _3b: ah, so the expression is evaluated before the function body 20:36:09 <_3b> poet: (or else doing something odd... post a sample call?) 20:36:29 <_3b> poet: right, arguments are evaluated, then the function is called with the results 20:36:44 wow this makes perfect sense 20:36:50 ikki [n=ikki@189.228.212.31] has joined #lisp 20:36:51 no wonder this example is part of a section on macros 20:37:25 <_3b> yeah, that would probably work better as a macro 20:39:10 ManateeLazyCat [n=user@116.18.174.60] has joined #lisp 20:40:00 well, it might work as an NLAMBDA expression :P 20:42:05 -!- jewel_ is now known as jewel 20:43:55 In a loop macro, how do I sum up the result of an iterated block of code? 20:44:18 (loop for i to 1000 sum i) 20:44:20 (loop ... sum iterated-block-of-code) 20:44:26 thx 20:44:44 and that returns the sum as the value of the whole (loop ...)? 20:44:51 yep 20:44:55 thx 20:45:42 One other thing. When calculating modulo I get the impression that in CL is other way round, than most other languages. 20:45:52 rem is what mod is usually 20:45:59 while mod is the other part? 20:46:15 modular arithmetic? 20:47:20 say, 11 modulo 3 20:47:25 2 20:47:28 the rest from integer division 20:47:28 mjf [n=mjf@r3a48.net.upc.cz] has joined #lisp 20:47:30 yeah 20:47:31 well, in that case it's like rem 20:47:37 ok 20:47:45 it's different on negative arguments 20:48:55 as a total noob I'm trying to reimplement a ruby algorithm in CL, will paste some code for critique soon, hopefully... 20:51:00 schoppenhauer [n=schoppen@unaffiliated/schoppenhauer] has joined #lisp 20:52:08 HG` [n=wells@91.108.74.20] has joined #lisp 20:52:44 -!- fe[nl]ix [n=algidus@88-149-209-246.dynamic.ngi.it] has quit ["Valete!"] 21:01:14 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 21:07:29 -!- kpreid [n=kpreid@cpe-67-242-4-64.twcny.res.rr.com] has quit [] 21:07:36 -!- ziarkaen [n=ziarkaen@88-108-56-140.dynamic.dsl.as9105.com] has quit [Remote closed the connection] 21:08:29 Krystof: My current semi usable draft is at 21:10:07 -!- attila_lendvai [n=ati@www.netvisor.hu] has quit [Read error: 113 (No route to host)] 21:11:58 lazyking [n=lazyking@pool-70-110-61-110.sttlwa.dsl-w.verizon.net] has joined #lisp 21:12:09 VisezTrance [n=daniel@unaffiliated/viseztrance] has joined #lisp 21:13:36 -!- lazyking [n=lazyking@pool-70-110-61-110.sttlwa.dsl-w.verizon.net] has quit [Client Quit] 21:13:36 Is there a command-line paste.lisp.org paster? 21:13:45 -!- b4|hraban [n=b4@a83-163-41-120.adsl.xs4all.nl] has quit [Remote closed the connection] 21:13:50 lazyking [n=lazyking@pool-70-110-61-110.sttlwa.dsl-w.verizon.net] has joined #lisp 21:13:52 there is emacs paster 21:14:02 Hi, I'm sure you hear this a lot, but is there any other editor suitable for lisp than emacs ? 21:14:27 emacs is the best 21:15:00 VisezTrance: emacs is what nearly all lisp hackers use 21:15:15 http://paste.lisp.org/display/79563  ok, here's my first code in CL 21:15:38 i really hate the lack of antialiasing 21:16:00 VisezTrance: you can have aa in emacs-23 21:16:00 -!- lazyking [n=lazyking@pool-70-110-61-110.sttlwa.dsl-w.verizon.net] has quit [Client Quit] 21:16:02 attila_lendvai [n=ati@adsl-89-134-4-152.monradsl.monornet.hu] has joined #lisp 21:16:46 If you have any suggestions to the above, please do not hesitate. 21:17:40 the current stable is 22.3, which is what I'm running and I'm pretty sure it ain't aliased. though I think the mac os x and windows builds have aliased text 21:17:41 slash_ [n=Unknown@p4FF0A61A.dip.t-dialin.net] has joined #lisp 21:17:58 *guaqua* prefers the lisp machine font 21:18:22 VisezTrance: yeah, 23 is still in development, but lots of OS'es have packages provided with current builds 21:18:23 antoszka, what's aa? 21:18:29 Symmetry-: antialiasing 21:18:30 -!- sbahra [n=sbahra@c-98-218-239-172.hsd1.dc.comcast.net] has quit [Remote closed the connection] 21:18:32 ah, duh, nevermind 21:18:40 <_3b> antoszka: don't indent with tabs :) 21:18:53 -!- seelenquell [n=seelenqu@pD9E437B7.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 21:18:54 guaqua: how do you get to use the lisp machine font? 21:19:03 curious, I can't stand AA'd text 21:19:05 _3b: I just indent the way the slime does 21:19:20 VisezTrance: http://www.emacswiki.org/emacs/AntiAliasedFaces 21:19:20 _3b: without much manual intervention 21:19:24 <_3b> antoszka: yeah, there is an emacs option to fix it 21:19:34 antoszka: http://www.eurogaran.com/downloads/lispmfont/ 21:19:38 _3b: will get to that one day :) 21:19:40 guaqua: thx 21:19:44 i've been running -23 for a long time .. it looks great .. (currently using DejaVu Sans Mono font .. Debian Linux, Gnome desktop) 21:19:56 thanks for the link, tsuru 21:21:12 can slime/emacs be better at proper indenting of the loop macro? seems pretty non-standard by default 21:21:40 chrismay [n=user@d83-176-132-249.cust.tele2.de] has joined #lisp 21:22:20 i use (setq lisp-simple-loop-indentation 1 lisp-loop-keyword-indentation 6 lisp-loop-forms-indentation 6) 21:22:20 21:22:45 i'll try 21:22:53 <_3b> antoszka: possibly digit-char-p would simplify the code a bit? (it returns the value of the # represented by the char for the 'true' value) 21:23:30 *_3b* hasn't had any luck getting proper LOOP indentation out of emacs :( 21:23:32 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 21:24:06 *tsuru* seconds that 21:24:31 any idea what to do when you get lots of the following? ;; Loading file /home/chris/hacking/lisp/clisp-2.47/src/readline/readline.fas ... WARNING: FFI::FIND-FOREIGN-FUNCTION: foreign function "rl_set_prompt" does not exist Skip foreign function creation 21:24:57 <_3b> chrismay: install readline libs maybe? 21:24:58 Do you guys suggest that a noob learn iterate instead of loop right from the start? Or shall I rather stick to loop as part of the ANSI spec? 21:25:09 *_3b* still uses LOOP 21:25:19 _3b: I have the same message for dbus too 21:25:46 antoszka: loop is not necessary, per say 21:25:49 per se 21:25:51 chrismay: yeah, looks like you're missing the libs 21:25:51 and install both, but I will check it nonetheless 21:25:53 <_3b> well, the general answer is 'don't try to load libs you don't have installed', you can solve it either way 21:26:28 but it has its advantages. learning to use mapcar and lambdas might be better in the beginning 21:26:34 libreadline5 5.2-3 5.2-3 5.2-3 install libreadline5-dev 5.2-3 5.2-3 5.2-3 install 21:26:39 though there are as many opinions as there are hackers 21:26:59 libs are installed :( 21:27:22 -!- slash_ [n=Unknown@p4FF0A61A.dip.t-dialin.net] has quit [Client Quit] 21:27:24 _3b: I'm not sure I understand your suggestion. I presume (from the name), that digit-char-p return true if a given char is a digit? How would that help? 21:27:28 I would say probably say loop just 'cause it's used pretty extensively in PCL 21:27:45 <_3b> antoszka: in CL, 'true' is any value that isn't NIL 21:27:53 yeah 21:27:57 <_3b> antoszka: digit-char-p returns the actual number 21:27:59 generalized true 21:28:17 <_3b> (digit-char-p #\4) => 4 21:28:24 _3b: I still need to test equality between the last digit of the string and the modulo remainders of the checksum 21:28:51 _3b: how would you suggest I modify the code? 21:29:08 use that instead of parse-integer? 21:29:27 <_3b> i was thinking (parse-integer (subseq ... )) -> (digit-char-p (char ...)) 21:29:38 <_3b> not completely sure it would actually be shorter/clearer though 21:29:43 kpreid [n=kpreid@cpe-67-242-4-64.twcny.res.rr.com] has joined #lisp 21:29:48 mhm 21:29:59 -!- nurv101 [n=nurv101@bl6-64-46.dsl.telepac.pt] has quit [Remote closed the connection] 21:30:18 is there an equivalent of "String".last from ruby in CL? 21:30:34 what does it do? 21:30:37 my subseq string 9 isn't very elegant in that context ;) 21:30:40 subseq & length, i'd presume 21:30:47 returns last character of string 21:30:57 <_3b> also, instead of 'counting w into i' maybe you meant 'for i from 0' ? 21:30:59 you can always make up a function last-char 21:31:18 _3b: yeah, I thought about that, too 21:31:18 uname -a -> Linux 2.6.26 #1 SMP Fri Apr 3 20:31:47 CEST 2009 x86_64 GNU/Linux Would installing lib32readline5 be the solution? 21:31:25 _3b: probably simpler 21:31:39 (char string (1- (length string))) ? 21:31:41 chrismay: i'm guessing it doesn't have the required libraries on the path 21:31:44 <_3b> antoszka: well, it took me this long to even figure out that is what it was doing :) 21:31:57 :) 21:32:20 chrismay: there might be something wrong with paths...do you have something funky going on? :) 21:32:33 with env variables, that is 21:32:38 guaqua: ffi? where do to look for the pathes? 21:32:46 <_3b> actually, maybe you meant 'for char across nip' or something? that would work even better with digit-char-p 21:32:54 where does it look for them, chrismay? 21:33:09 _3b: except it should be "for i from 1" 21:33:12 but yeah 21:33:14 (i really don't know) 21:33:42 for char across nip sound cool 21:33:50 guaqua: nothing funky, just ./configure --with-ffcall; cd src; make 21:33:52 will try to hack up a version with that 21:34:09 chrismay: you could try setting LD_LIBRARY_PATH 21:34:17 chrismay, readline might help.. 21:34:53 cornucopic: he seems to have the relevant dev-packages installed 21:35:25 slash_ [n=Unknown@p4FF0A61A.dip.t-dialin.net] has joined #lisp 21:35:43 and how about constructions like "string"[index] 21:35:50 do I need the subseq? 21:35:58 or is there a more shorthand way? 21:36:00 this ffcall thing maybe funky? http://www.nabble.com/Invalid-url-for-ffcall-package-td23070696.html 21:36:02 typically with subseq, yes 21:36:07 fe[nl]ix [n=algidus@88-149-209-246.dynamic.ngi.it] has joined #lisp 21:36:16 one element? 21:36:20 aref/char/elt 21:36:30 aha 21:36:37 those too. elt is what pcl used, iirc 21:36:43 or usus 21:36:44 uses 21:36:54 guaqua, chrismay hmm.'ldconfig' ? 21:37:01 *antoszka* looks up those in the hyperspec 21:37:01 -!- fe[nl]ix [n=algidus@88-149-209-246.dynamic.ngi.it] has quit [Client Quit] 21:37:32 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 21:37:57 fe[nl]ix [n=algidus@88-149-209-246.dynamic.ngi.it] has joined #lisp 21:38:43 -!- Fufie [n=innocent@86.80-203-225.nextgentel.com] has quit [Read error: 104 (Connection reset by peer)] 21:38:43 elt won't work 21:38:50 says nip is not of type sequence 21:39:06 how do I turn a string into sequence? 21:39:07 -!- tombom [i=tombom@wikipedia/Tombomp] has quit ["Peace and Protection 4.22.2"] 21:39:16 string is a sequence already 21:39:48 duh 21:39:54 just got the arguments wrong way round 21:39:56 nvm 21:40:06 that's what i guessed 21:41:03 -!- rjack [n=rjack@adsl-ull-234-19.51-151.net24.it] has quit ["leaving"] 21:41:15 -!- HG` [n=wells@91.108.74.20] has quit [Client Quit] 21:41:32 -!- cornucopic is now known as cornucopic|dozed 21:41:35 CHAR is the most specific way if you are talking about strings 21:42:08 (besides schar) 21:45:23 http://paste.lisp.org/display/79563#1  simplified a little with elt and digit-char-p 21:46:13 when configuring clisp: Configure findings: FFI: yes (user requested: default) readline: yes (user requested: default) libsigsegv: yes 21:46:13 21:46:34 chrismay: ok, what's wrong? 21:47:46 antoszka: maybe then "for i in nip" too? 21:48:04 and sum (* w (digit-char-p i)) 21:48:26 <_3b> yeah, probably across though, not in 21:48:39 -!- attila_lendvai [n=ati@adsl-89-134-4-152.monradsl.monornet.hu] has quit [Read error: 113 (No route to host)] 21:48:46 ah, that's a string, yeah 21:48:53 <_3b> oh yeah... don't use EQ on numbers 21:49:06 eql? 21:49:09 damn, /me's slightly not sober 21:49:09 <_3b> use eql or = 21:49:14 ok 21:49:59 stassats: my internet connection, 56k modem and when I try to upload the 216K config-make-output my connection dies. My guess is it's because my mainboard does't have a serial port and i have to use pci serial card ... But erm I don't know I got it working here: Linux dave 2.6.26-1-686 #1 SMP Thu Aug 28 12:00:54 UTC 2008 i686 GNU/Linux but not here Linux catch22 2.6.26 #1 SMP Fri Apr 3 20:31:47 CEST 2009 x86_64 GNU/Linux but well that 21:49:59 does't help much ... :-/ 21:50:09 -!- add_ [n=add@78-69-82-87-no172.tbcn.telia.com] has left #lisp 21:50:13 for i across nip will be iterating by CHAR's? 21:50:16 *_3b* would probably move that NIL to the next line as well 21:50:17 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 21:51:09 <_3b> or maybe just replace the COND with UNLESS 21:51:14 i'd do (when (= (length nip) 10) (let ...)) 21:51:20 <_3b> or rather drop the NOT and use WHEN 21:51:27 let's try 21:51:34 <_3b> yeah, like that 21:52:10 but will that whole function return NIL when nip is not of lenght 10? 21:52:17 chrismay: i don't follow you, maybe i haven't read the whole log 21:52:29 attila_lendvai [n=ati@adsl-89-134-4-152.monradsl.monornet.hu] has joined #lisp 21:52:33 antoszka: when will return nil if it's not true 21:52:42 ok 21:53:17 paw` [n=user@78-69-82-87-no172.tbcn.telia.com] has joined #lisp 21:54:08 *paw`* is a newbie and needs help with emacs/slime/sbcl 21:54:19 paw`: what's the problem? 21:54:50 stassats`: I can't get to the "CL-USER>" part of the REPL 21:55:10 do you have (slime-setup '(slime-fancy)) in your .emacs? 21:55:12 http://paste.lisp.org/display/79563#2  better? 21:55:14 (I've only used lispbox before, but I wanted to try it with my builtin emacs) 21:55:36 paw: maybe m-x slime-connect? 21:56:19 i guess no 21:56:21 chrismay: nah, m-x slime should work, it's on a locale machine 21:56:24 I just do M-x slime 21:56:29 and it works 21:56:41 paw`: sometimes it doesn't 21:56:49 (setq inferior-lisp-program "/usr/bin/sbcl --no-linedit") 21:56:54 and I have that in my .emacs 21:57:16 paw`: do you get any error messages? or just inferior buffer? 21:57:33 (if the latter, then see my previous message) 21:57:34 stassats`: No I don't have (slime-setup '(slime-fancy)) in my .emacs 21:57:49 paw`: then put it there 21:58:19 I don't have that either, but works for me. What does it do? 21:58:37 oh 21:58:55 antoszka: it's for some things removed from the core of slime, like REPL 21:58:56 starts up the 'actual' slime repl, not just the native one 21:58:57 paw`: read slime/README ? 21:59:07 stassats`: thanks, I guess it wasn't so bad to ask for help :-) 21:59:46 paw`: no, this change caused a lot of trouble, you are not alone 22:00:30 chrismay: I've been looking around for info about why it wasn't there, hard to search on something you don't know the source of the problem though 22:00:37 attila_lendvai_ [n=ati@adsl-89-132-2-96.monradsl.monornet.hu] has joined #lisp 22:00:47 -!- attila_lendvai [n=ati@adsl-89-134-4-152.monradsl.monornet.hu] has quit [Nick collision from services.] 22:01:01 -!- attila_lendvai_ is now known as attila_lendvai 22:01:18 paw`: got the same problem today after upgrading from slime-2.0 to slime-cvs jsut forgot it because of my damn ffi lib problem ... 22:02:02 drives me crazy after all these hours with no results 22:02:07 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 22:03:00 any particular reason you use clisp? 22:03:05 chrismay: yeah, I see what you mean 22:03:44 stassats`: Interest 22:04:12 Maybe hobby is a valid reason 22:04:42 clisp, the common lisp implementation, not contraction for "common lisp" 22:05:14 stassats`: well, got to know the berkeley-db module and wrote a libcurl and graphicsmagick module and plan to use dbus 22:05:53 stassats`: ah, I'm going with sbcl though 22:07:31 -!- ehu` [n=chatzill@82-170-33-173.ip.telfort.nl] has quit [Read error: 110 (Connection timed out)] 22:08:59 Are there any other inplementations you recommend using instead of sbcl? 22:09:18 implementation 22:09:20 i like sbcl and closure common lisp 22:09:29 damn, clozure 22:09:34 that's a typo! 22:09:41 :-) 22:10:05 most people here use sbcl. so only for support... 22:10:07 -!- schoppenhauer [n=schoppen@unaffiliated/schoppenhauer] has quit [Read error: 104 (Connection reset by peer)] 22:10:48 b4|hraban [n=b4@a83-163-41-120.adsl.xs4all.nl] has joined #lisp 22:11:04 -!- Yuuhi [i=benni@p5483F978.dip.t-dialin.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 22:11:05 -!- Jacob_H [n=jacob@92.6.238.44] has quit ["Leaving"] 22:11:46 mrsolo_ [n=mrsolo@adsl-68-126-205-8.dsl.pltn13.pacbell.net] has joined #lisp 22:12:09 My lispbox copy used the openMCL (Clozure) 22:12:32 What is the main difference? 22:13:12 they are quite different as far as i know 22:13:12 -!- topo [n=topo@77.228.136.95] has quit [Read error: 104 (Connection reset by peer)] 22:13:17 sbcl produces faster code, but compilation is slower 22:13:27 topo [n=topo@77.228.136.95] has joined #lisp 22:13:38 and images tend to be larger 22:13:42 from what I tested 22:13:48 ah ok 22:13:55 well, i don't care much about images 22:14:16 memory footprint is often of more concern once you have to deploy 22:14:17 about their size 22:14:49 CCL has some interesting "habits" when it comes to memory allocation, at least on linux 22:15:06 is it better to use functions + macros or objects + macros? 22:15:07 512G? that's nothing 22:15:18 as long as it's virtual :) 22:15:21 etate: for what? 22:15:34 stassats`: a medium scale system 22:15:54 etate: it's better to use functions + objects + macros 22:15:57 etate: functions tend to be easier to read than macros. oo is another ball game 22:16:10 use oo if you have data that maps to objects 22:16:23 well, potentially all the data maps to objects 22:16:33 but it maps in the same way to functions 22:16:34 WhitFlame [i=foo@ip68-231-38-131.ph.ph.cox.net] has joined #lisp 22:16:39 the function + macro code is a bit shorter 22:16:54 -!- WhitFlame [i=foo@ip68-231-38-131.ph.ph.cox.net] has quit [Client Quit] 22:17:01 do you have to care about social factors? 22:17:06 but isn't as configurable, because the configuration data is mostly defparameters 22:17:24 guaqua: i don't know? if i did what would i choose? 22:17:41 estate: the length and clarity of the code guides me when facing such decsions ... 22:17:45 people tend to think oo is more re-usable :) 22:18:07 i'd go with what chrismay said 22:18:18 chrismay: the thing is to me they both look just as readable 22:18:33 estate: something has to be shorter :-) 22:18:44 yeah the macro + function code is shorter 22:18:48 and gets to the point quicker 22:19:11 -!- durka42 [n=durka@d81.wireless.swarthmore.edu] has quit [] 22:19:15 its like writing a language instead of an object system 22:19:15 shorter doesn't mean clearer 22:19:20 yep often old way of doing things is shorter 22:19:44 stassats: not necesarily but it's often the case 22:19:48 topo_ [n=topo@77.228.136.95] has joined #lisp 22:19:48 more often than not 22:20:25 -!- topo [n=topo@77.228.136.95] has quit [Read error: 104 (Connection reset by peer)] 22:20:26 i think if you understand macros the macro+function code is clearer 22:20:33 but if you don't, the OO code is clearer 22:20:56 hm .. a question; i've never used the printer much .. i notice that (print-object (cons 1 2) *standard-output*) results in something like # instead of (1 . 2) .. what mechanism or method does lists and conses use to print? 22:21:14 BTW, do any open-sauce implementations have a tree-shaker built-in for deployment? 22:21:35 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 22:21:43 antoszka: no 22:21:44 Or not built-in, but available at all? 22:21:46 ok 22:22:16 It's not terribly important for me, I was just curious. 22:22:22 antoszka, SBCL core dumps compress down to around 9-10 MB using bzip2 btw. 22:22:23 antoszka: there is a no-longer-working tree shaker lying somewhere on the net, for SBCL 22:22:51 antoszka: you can use the source to play and maybe cut down some stuff you don't want lying in release binary 22:22:53 who needs to save space nowadays? 22:22:59 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 22:23:06 stassats`: shared hosting/VPS guys 22:23:22 stassats`: Whenever I hear stuff like that, I want to murder the one who uttered that phrase... 22:23:37 (especially about cpu cycles or core memory) 22:23:42 It's just that a standalone hello-world created with cl-launch takes about 27MB :) 22:23:43 ok, i'm ready 22:23:53 you should not try IE8 then, p_l .. 22:24:05 lnostdal: IE8 was faster than my firefox. 22:24:17 *p_l* actually had nice experience with IE8b2 22:24:24 firefox on linux is terribly slow, somehow. 22:24:27 -!- VisezTrance [n=daniel@unaffiliated/viseztrance] has quit [Read error: 110 (Connection timed out)] 22:24:38 Fufie [n=innocent@86.80-203-225.nextgentel.com] has joined #lisp 22:24:39 more like firefox is terribly slow, by definition 22:25:03 emacs-w3m is the way 22:25:22 now that I'm using a "tuned" build, I'm back to "normal" memory usage and it works slightly faster... but it still needs to be restarted from time to time 22:26:08 how do you set emacs-w3m as standard browser in the .emacs file? 22:26:38 let me see... 22:27:01 (setq browse-url-browser-function 'w3m-browse-url) 22:27:40 p_l: Thanks 22:27:56 oh, ff-3.0.x has been fast here .. i don't notice it as often as i used to .. could be better of course; i do notice a difference using ff-3.5 22:28:23 every major version of FF they say it's faster 22:28:35 3.0 was much slower than 2.0 22:28:55 not here 22:29:11 well, 3.0 killed my machine once. 1.6G RSS 22:29:28 (that is, Resident memory) 22:29:38 on a machine with 1.5G RAM 22:29:49 I routinely run opera with about 50-70 tabs, and it's pretty swift. No leaks. 22:29:55 Doesn't like plugins, though. 22:30:07 (neither do i like them, so that doesn't bother me much) 22:30:09 antoszka: same here, but with ~30-40 tabs 22:30:45 Help me understand why : (setf (symbol-function 'test) (compile nil (lambda () 99))) <-- This complains that "anonymous function xxx is a lexical closure" 22:31:03 Works when uncompiled; but complains if I type (compile 'test) 22:31:32 Modius: you can't portably use COMPILE on closures. 22:31:45 The compile in a vacuum succeeds 22:31:57 -!- Davidbrcz [n=david@nsc.ciup.fr] has quit ["Ex-Chat"] 22:32:03 Isn't it a closure only if I capture a variable? 22:32:06 you likely want (compile nil '(lambda ...)). 22:32:49 If it's not at the toplevel (as defined by the CLHS), it may be considered a closure by the implementation even if you don't use any closed-over binding in the function. 22:32:57 Modius: lambda is like let if you think about it 22:33:59 internally it can be implemented as an implicit let 22:34:10 -!- Phoodus [i=foo@ip68-231-38-131.ph.ph.cox.net] has quit [Read error: 110 (Connection timed out)] 22:34:13 dunno how the implementations do it, though 22:35:26 I disagree on the claim that this example would be undefined 22:35:27 -!- ManateeLazyCat [n=user@116.18.174.60] has quit [Success] 22:35:37 -!- fiveop [n=fiveop@p579EAE07.dip.t-dialin.net] has quit ["humhum"] 22:36:26 (unless there's something else to your example than what you pasted here) 22:37:27 The example here will fail. It will succeed without the "compile"; but then (compile 'test) will give the same error. 22:37:34 In slime, can I make emacs highlight the matching bracket not only when I type it, but also when I stand on one (like in vim)? 22:37:35 drafael [n=tapio@ip-118-90-129-111.xdsl.xnet.co.nz] has joined #lisp 22:37:57 (or perhaps even subtly highlight the whole region between matching brackets?) 22:39:38 closures only get compiled when you compile a whole file, read something like this i think 22:39:39 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 22:39:40 -!- manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 104 (Connection reset by peer)] 22:40:08 antoszka: (show-paren-mode 1) ? 22:40:12 manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 22:40:15 benreesman [n=ben@ip68-101-196-173.sd.sd.cox.net] has joined #lisp 22:40:24 ah, that simple.. 22:40:51 topo [n=topo@77.228.136.95] has joined #lisp 22:43:06 Modius: right, that's what I understood you to be saying. that should work assuming, like pkhuong said, your setf fdefinition was at the toplevel 22:43:22 -!- c|mell [n=cmell@x250004.dynamic.ppp.asahi-net.or.jp] has quit [Read error: 60 (Operation timed out)] 22:43:39 (as a quality of implementation issue I'd say it's pretty bad form to have compile fail on a function that's already compiled-function-p) 22:46:55 vasa [n=vasa@80.94.234.105] has joined #lisp 22:47:29 jsnell: indeed, clhs compile says that the definition may be a function, which includes compiled-functions. 22:48:05 I don't know what you mean by that observation 22:48:19 topo__ [n=topo@77.228.136.95] has joined #lisp 22:48:44 I mean that not inly it's bad form, but it's even non conformant. 22:48:56 -!- milanj [n=milan@79.101.204.115] has quit ["Leaving"] 22:48:58 no, it would be perfectly conformant 22:49:24 compile is allowed to fail if the function to be compiled was defined in a non-trivial lexical environment 22:50:14 now, it'd be silly to do that for something that has already been compiled, since compile is allowed to just return the original function anyway 22:51:06 but it'd still be a valid implementation 22:51:17 Well, ok, in this case when the compiled function is a closure. 22:52:08 hey, what a coincidence! that's exactly the case that was being discussed 22:52:13 The standard is really nice to the implementers... 22:52:18 sbahra [n=sbahra@c-98-218-239-172.hsd1.dc.comcast.net] has joined #lisp 22:52:22 topo___ [n=topo@77.228.136.95] has joined #lisp 22:52:31 -!- topo__ [n=topo@77.228.136.95] has quit [Read error: 104 (Connection reset by peer)] 22:52:35 -!- topo [n=topo@77.228.136.95] has quit [Read error: 54 (Connection reset by peer)] 22:53:13 ace4016 [i=ace4016@cpe-76-168-248-118.socal.res.rr.com] has joined #lisp 22:54:21 -!- topo_ [n=topo@77.228.136.95] has quit [Read error: 110 (Connection timed out)] 22:56:39 -!- paw` [n=user@78-69-82-87-no172.tbcn.telia.com] has left #lisp 22:57:28 -!- topo___ [n=topo@77.228.136.95] has quit [Read error: 104 (Connection reset by peer)] 22:57:50 c|mell [n=cmell@x250021.dynamic.ppp.asahi-net.or.jp] has joined #lisp 22:58:16 topo [n=topo@77.228.136.95] has joined #lisp 22:58:56 checking readline/readline.h presence... yes :( 23:00:21 topo_ [n=topo@77.228.136.95] has joined #lisp 23:00:23 -!- Ogedei` [n=user@78.52.235.173] has quit [Read error: 110 (Connection timed out)] 23:00:30 -!- topo [n=topo@77.228.136.95] has quit [Read error: 104 (Connection reset by peer)] 23:03:24 ldconfig: libreadline.so.5 (libc6,x86-64) => /lib/libreadline.so.5, libreadline.so (libc6,x86-64) => /usr/lib/libreadline.so 23:04:08 -!- topo_ [n=topo@77.228.136.95] has quit [Read error: 104 (Connection reset by peer)] 23:04:23 zilt [n=zilt@67.23.13.119] has joined #lisp 23:05:27 still: ;; Loading file /home/chris/hacking/lisp/clisp-2.47/src/readline/readline.lisp ... WARNING: FFI::FIND-FOREIGN-FUNCTION: foreign function "rl_set_prompt" does not exist Skip foreign function creation .... 23:08:03 durka42 [n=durka@d81.wireless.swarthmore.edu] has joined #lisp 23:09:09 topo [n=topo@77.228.136.95] has joined #lisp 23:12:08 -!- manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 54 (Connection reset by peer)] 23:12:10 manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 23:14:32 -!- jewel [n=jewel@dsl-247-202-230.telkomadsl.co.za] has quit [Read error: 60 (Operation timed out)] 23:17:30 -!- gemelen [n=shelta@shpd-78-36-164-66.static.vologda.ru] has quit ["I wish the toaster to be happy, too."] 23:18:24 -!- manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has quit [Read error: 104 (Connection reset by peer)] 23:18:53 manby-ace [n=manby-ac@88-96-24-54.dsl.zen.co.uk] has joined #lisp 23:19:08 -!- chrismay [n=user@d83-176-132-249.cust.tele2.de] has quit ["thanks anyway"] 23:19:20 -!- puchacz [n=puchacz@87.194.5.99] has quit ["Konversation terminated!"] 23:19:29 -!- benreesman [n=ben@ip68-101-196-173.sd.sd.cox.net] has quit [] 23:20:47 m801 [n=user@wsip-72-214-25-53.sd.sd.cox.net] has joined #lisp 23:21:33 -!- Jabberwockey [n=jens@port-14644.pppoe.wtnet.de] has quit [Read error: 110 (Connection timed out)] 23:21:57 -!- mrsolo_ [n=mrsolo@adsl-68-126-205-8.dsl.pltn13.pacbell.net] has quit [Read error: 110 (Connection timed out)] 23:22:48 -!- dkcl [n=dkcl@unaffiliated/dkcl] has quit ["leaving"] 23:28:16 -!- mjf [n=mjf@r3a48.net.upc.cz] has quit ["dew on the telephone lines"] 23:29:56 _8david` [n=user@pD9543601.dip0.t-ipconnect.de] has joined #lisp 23:36:11 -!- b4|hraban [n=b4@a83-163-41-120.adsl.xs4all.nl] has quit ["Leaving"] 23:41:30 -!- legumbre_ is now known as legumbre 23:43:36 -!- guenthr [n=unknown@sahnehaschee.unix-ag.uni-kl.de] has quit [brown.freenode.net irc.freenode.net] 23:43:36 -!- Wombat1 [n=willy@216-31-242-4.static-ip.telepacific.net] has quit [brown.freenode.net irc.freenode.net] 23:43:36 -!- maxote [n=el_ermit@84.79.67.254] has quit [brown.freenode.net irc.freenode.net] 23:43:36 -!- housel [n=nhousel@mccarthy.opendylan.org] has quit [brown.freenode.net irc.freenode.net] 23:43:36 -!- deepfire [n=deepfire@80.92.100.69] has quit [brown.freenode.net irc.freenode.net] 23:43:36 -!- tcoppi [n=nuclear@57c3ed63-1294-45bd-a8e8-cdcc07cfa16f.static.grokthis.net] has quit [brown.freenode.net irc.freenode.net] 23:43:36 -!- clog [n=nef@bespin.org] has quit [brown.freenode.net irc.freenode.net] 23:43:36 -!- herbieB [n=herbie@u15287329.onlinehome-server.com] has quit [brown.freenode.net irc.freenode.net] 23:44:38 herbieB [n=herbie@u15287329.onlinehome-server.com] has joined #lisp 23:44:54 guenthr [n=unknown@sahnehaschee.unix-ag.uni-kl.de] has joined #lisp 23:44:54 tcoppi [n=nuclear@57c3ed63-1294-45bd-a8e8-cdcc07cfa16f.static.grokthis.net] has joined #lisp 23:45:18 -!- younder [n=jthing@084202013251.customer.alfanett.no] has quit [Remote closed the connection] 23:45:27 younder [n=jthing@084202013251.customer.alfanett.no] has joined #lisp 23:45:47 -!- _8david [n=user@pD9541A55.dip0.t-ipconnect.de] has quit [Read error: 110 (Connection timed out)] 23:47:09 -!- drafael [n=tapio@ip-118-90-129-111.xdsl.xnet.co.nz] has quit [Read error: 104 (Connection reset by peer)] 23:49:47 -!- vasa [n=vasa@80.94.234.105] has quit ["I am not vasya, i am vasa"] 23:56:46 housel [n=nnhousel@mccarthy.opendylan.org] has joined #lisp 23:57:12 Wombat1 [n=willy@216-31-242-4.static-ip.telepacific.net] has joined #lisp 23:57:42 mrsolo_ [n=mrsolo@adsl-68-126-205-8.dsl.pltn13.pacbell.net] has joined #lisp 23:58:13 brandelune [n=suzume@pl275.nas934.takamatsu.nttpc.ne.jp] has joined #lisp 23:58:30 maxote [n=el_ermit@84.79.67.254] has joined #lisp