00:02:12 fighterlyt [~liuyuntan@124.165.175.58] has joined #lisp 00:02:23 hi everyone 00:02:26 -!- catphive [~brenmill@nat/cisco/x-zxhhtvqnxziwqusp] has left #lisp 00:03:01 If I want to learn LISP, which book should I read? thank you 00:03:41 -!- hypno [~hypno@impulse2.gothiaso.com] has left #lisp 00:07:51 fighterlyt: Practical Common Lisp is a good start. 00:08:16 thank you so much ,I got this book 00:12:15 -!- hohum_ is now known as hohum 00:14:18 -!- Kenjin [~josesanto@2.80.249.152] has quit [Quit: Computer has gone to sleep] 00:17:32 fighterlyt: Do you already know how to program using some other language? 00:21:45 c,ruby 00:22:03 and some kind of assembley language 00:22:14 OK, then PCL should be fine. 00:22:17 and a bit of java and ruby 00:22:28 Thx 00:23:00 fighterlyt: By the way, we have written it "Lisp" (and not "LISP") for the past couple decades. 00:24:52 xxxyyy [~xyxu@222.68.162.63] has joined #lisp 00:26:22 sellout- [~Adium@c-24-61-13-161.hsd1.ma.comcast.net] has joined #lisp 00:27:01 oh , I see 00:28:29 fighterlyt: What made you interested in Lisp? 00:28:48 it is so powerful and fiexible 00:29:24 isn't it? 00:29:26 fighterlyt: How do you know that if you don't know lisp? :P 00:29:27 Right, I know that, but what made you convinced this is the case. 00:29:52 I am a software engneer 00:30:49 I have heard that Lisp is commonly used in AI, and I feel it great 00:30:53 *beach* wishes "to be a sofware engineer" implies "to know that Lisp is powerful and flexible" were true. 00:31:20 fighterlyt: Excellent! 00:31:29 dmiles_afk [~dmiles@216.227.116.248] has joined #lisp 00:32:35 I usualy use C, and found script language like ruby make the development easy. So think I should know another important kind of general-purpose language 00:33:40 fighterlyt: I fully agree with you. 00:34:04 Thx 00:34:08 is there a concise way, given pathnames A and B, to get B expressed relative to A? 00:34:19 A is assumed to be a directory 00:34:22 merge-pathnames 00:34:42 drdo: uh, no, that goes the other way around 00:35:00 -!- fighterlyt [~liuyuntan@124.165.175.58] has left #lisp 00:35:19 ie. if I have A = #p"/foo/bar/" and B = "/foo/bar/baz", I want to get "baz" as the result 00:35:36 That's not what your question asked 00:35:41 howso? 00:35:53 "get B expressed relative to A" is exactly that 00:36:19 granted, it might not've been entirely _clear_ what I meant, but it certainly wasn't incorrect 00:36:28 I understood B expressed relative to A as for example A = "/foo/bar" B = "lol" and you wanting "/foo/bar/lol" 00:36:36 -!- jajcloz [~jaj@pool-108-20-32-147.bstnma.fios.verizon.net] has quit [Quit: jajcloz] 00:36:50 -!- sellout- [~Adium@c-24-61-13-161.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 00:38:05 workthrick: if A = "/foo/bar/baz/" and B = "/foo/fiz/buz" do you want "../../fiz/buz"? 00:39:45 yeah, though I don't actually need that right now 00:39:49 KaZ- [~lulz@64.79.144.9] has joined #lisp 00:40:11 but I just read that PATHNAME-DIRECTORY gives me a list of components, so what I want is trivial to do 00:40:43 z1l0g [jgw@sverige.freeshell.org] has joined #lisp 00:41:25 well, mostly trivial, I need to juggle things around a bit to compensate for :ABSOLUTE and :RELATIVE, but it's just a small thing 00:42:07 sellout- [~Adium@c-24-61-13-161.hsd1.ma.comcast.net] has joined #lisp 00:43:24 -!- Guthur [~Guthur@cpc11-belf9-2-0-cust855.2-1.cable.virginmedia.com] has quit [Quit: Leaving] 00:43:32 -!- z1l0g [jgw@sverige.freeshell.org] has left #lisp 00:44:06 that sounds like a good quiz question 00:44:47 btw, http://docs.python.org/library/os.path.html#os.path.relpath 00:45:00 it's pretty useful to have 00:45:26 -!- rosario [~rosario@p57967C84.dip.t-dialin.net] has quit [Quit: Leaving] 00:46:31 pnq: does CL actually have .., or is it impossible to say that portably? 00:46:59 ah, :UP 00:47:17 -!- SegFaultAX [~mkbernard@70-36-146-70.dsl.dynamic.sonic.net] has quit [Ping timeout: 276 seconds] 00:53:38 -!- KaZ- [~lulz@64.79.144.9] has quit [Quit: Computer has gone to sleep.] 00:53:55 -!- felideon [~felideon@65.23.61.98.nw.nuvox.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:57:42 ltriant [~ltriant@124-168-205-10.dyn.iinet.net.au] has joined #lisp 00:59:12 wislin [~user@220.166.4.188] has joined #lisp 01:03:27 -!- ec|detached is now known as elliottcable 01:05:07 -!- seangrove [~user@c-69-181-41-116.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 01:13:41 -!- Mococa [~Mococa@187.58.182.164] has quit [Ping timeout: 240 seconds] 01:14:10 joekarma [~joekarma@S01060026f3e2a647.vc.shawcable.net] has joined #lisp 01:17:55 taiyal [~taiyal@bb-216-195-184-102.gwi.net] has joined #lisp 01:19:35 -!- Soulman [~knute@250.80-202-238.nextgentel.com] has left #lisp 01:22:14 mathrick pasted "PATHNAME-AS-RELATIVE" at http://paste.lisp.org/display/122729 01:22:37 do you think it belongs in CL-FAD? 01:23:33 umm, minus that (collect subrest) there, which is an overlooked leftover 01:23:57 Just getting started with lisp... If I'm to set one lisp related website as my home page what should it be? 01:24:00 *JuanDaugherty* .oO(the never ending story) 01:25:07 it's not like that joekarma but there are few, cliki, cl.nt 01:25:12 *cl.net 01:25:44 also there are two distinct dialects of lisp, this channel is about common lisp 01:26:18 you might find a nicer experience with racket 01:26:30 (which uses the other dialect) 01:27:15 Excuse me, common lisp is what I meant. I've invested a little effort in common lisp already, but am definitely considering switching to racket for a while 01:28:42 Racket has the advantage of a single authoritative repository 01:28:44 joekarma: I don't really see why learning lisp should result in you changing your hope page 01:29:05 *home 01:29:10 he meant sites for lisp 01:29:13 like cliki 01:29:42 Mococa [~Mococa@187.58.182.164] has joined #lisp 01:30:15 I'm leaning towards common-lisp.net at the moment 01:30:34 yeah it was down for like two weeks a while back 01:30:53 so that's what I mean, there's no one single shining site like with racket 01:31:06 Simply because it links to the others in a clear way... That could be a problem 01:31:39 joekarma: l1sp.org is a good page for looking up various docs 01:32:02 c-l.net is only useful if you want to look for specific projects, otherwise it won't tell you much 01:32:15 planet.lisp.org is good as a news site 01:32:15 I guess the diversity in common lisp libraries/sites is a blessing and a curse. It's hard to know where to turn if you want to contribute in some way 01:32:21 -!- Landr_ [~user@78-22-150-187.access.telenet.be] has quit [Ping timeout: 240 seconds] 01:32:37 prolly easier/better to subscribe to some lists 01:32:40 joekarma: asking here is often helpful if your question can be stated clearly enough 01:32:50 and hang out here or browse the logs 01:32:53 -!- Mococa [~Mococa@187.58.182.164] has quit [Remote host closed the connection] 01:33:05 joekarma: I really don't know what you want to achieve by picking a single website, so I can't tell you which you should pick 01:33:25 if you want general CL-related reading, pick planet.lisp.org 01:33:25 what I want is a site si 01:34:44 Similar to Drupal.org (or the closest thing to it) where the planet lisp aggregator, clink wiki, github project repositories, etc were in some way integrated 01:35:08 And it was open source so I could 01:35:14 help 01:35:16 no there's absolutely nothing like that for cl 01:35:28 but of course the implementations have their sites 01:36:05 drupal is a captive community 01:36:12 cl is the antithesis of this 01:36:19 racket is closer to it 01:36:55 captious even 01:38:34 Fair enough. The point of my question was to suss out whether the community had a sort of unofficial primary source of organized lisp info 01:39:00 joekarma: it doesn't really make sense for CL, because there's no single resource for most things. No single implementation, no single place for code (though there are a few popular ones), no single place for discussions (though again there are a few popular ones) 01:39:42 I'd say planet.lisp.org is sort of closest to it, because many important people are aggregated there 01:40:32 Cliki seems like one of the more active ones... Would be nice if some of the momentum building around quicklisp could cause something to spring forth, or start an effort to revitalize one of the aging but popular sites 01:40:58 sbryant_work [~user@ghanima.slavasaur.com] has joined #lisp 01:43:19 *JuanDaugherty* likes it like it is. 01:43:31 -!- dlowe [~dlowe@c-66-30-116-162.hsd1.ma.comcast.net] has left #lisp 01:44:09 -!- JuanDaugherty [~Ren@cpe-72-228-177-92.buffalo.res.rr.com] has quit [Quit: Exeunt IRC] 01:46:53 Landr_ [~user@78-22-149-62.access.telenet.be] has joined #lisp 01:47:44 -!- am0c [~am0c@124.49.51.197] has quit [Ping timeout: 276 seconds] 01:47:50 -!- sbryant_work [~user@ghanima.slavasaur.com] has quit [Ping timeout: 244 seconds] 01:47:53 -!- pizzledizzle [~pizdets@pool-98-113-194-183.nycmny.fios.verizon.net] has quit [] 01:49:21 -!- wislin [~user@220.166.4.188] has left #lisp 01:50:31 -!- dnolen [~davidnole@184.152.69.75] has quit [Quit: dnolen] 01:50:59 -!- Joreji [~thomas@89-228.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 276 seconds] 01:52:53 -!- carlocci [~nes@93.37.221.104] has quit [Quit: eventually IE will rot and die] 01:53:11 joekarma_ [~joekarma@S01060026f3e2a647.vc.shawcable.net] has joined #lisp 01:55:09 nefo [~nefo@2001:da8:200:900e:200:5efe:3b42:8f51] has joined #lisp 01:55:09 -!- nefo [~nefo@2001:da8:200:900e:200:5efe:3b42:8f51] has quit [Changing host] 01:55:09 nefo [~nefo@unaffiliated/nefo] has joined #lisp 01:55:20 -!- taiyal [~taiyal@bb-216-195-184-102.gwi.net] has quit [Read error: Connection reset by peer] 01:55:56 taiyal [~taiyal@bb-216-195-184-102.gwi.net] has joined #lisp 01:56:37 joshee [~joshe@2001:470:f4a6:2:20c:29ff:feda:ac03] has joined #lisp 01:56:41 -!- nefo [~nefo@unaffiliated/nefo] has quit [Remote host closed the connection] 02:00:57 am0c [~am0c@124.49.51.197] has joined #lisp 02:02:24 -!- joekarma [~joekarma@S01060026f3e2a647.vc.shawcable.net] has quit [Quit: Colloquy for iPhone - http://colloquy.mobi] 02:02:24 -!- joekarma_ is now known as joekarma 02:03:17 pnq1 [~nick@AC816E61.ipt.aol.com] has joined #lisp 02:03:41 -!- Jasko2 [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has quit [Quit: Leaving] 02:03:57 -!- pnq [~nick@AC8206D4.ipt.aol.com] has quit [Ping timeout: 260 seconds] 02:04:31 cbp [~cesarbol9@189.247.121.82] has joined #lisp 02:05:26 Jasko3 [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has joined #lisp 02:05:34 -!- Amadiro [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has quit [Ping timeout: 246 seconds] 02:06:03 -!- Yuuhi [benni@p5483B267.dip.t-dialin.net] has quit [Ping timeout: 255 seconds] 02:06:42 ramusara [~ramusara@220.156.210.236.user.e-catv.ne.jp] has joined #lisp 02:14:29 -!- ubii [~ubii@207-119-123-149.stat.centurytel.net] has quit [Remote host closed the connection] 02:17:28 McMAGIC--Copy [~McMAGIC--@gateway/tor-sasl/mcmagic--copy] has joined #lisp 02:20:47 Amadiro [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has joined #lisp 02:23:18 found an old lisp.org pastie which exemplifies a problem I'm currently facing with chtml and xpath: http://paste.lisp.org/display/120036 02:23:24 anyone kknow the solution to this? 02:23:42 -!- gffa [~gffa@unaffiliated/gffa] has quit [Quit: sleep] 02:25:07 -!- urandom__ [~user@p548A2C7C.dip.t-dialin.net] has quit [Read error: Connection reset by peer] 02:27:39 -!- taiyal [~taiyal@bb-216-195-184-102.gwi.net] has quit [Ping timeout: 255 seconds] 02:30:27 -!- Hunden [~Hunden@e180101211.adsl.alicedsl.de] has quit [Ping timeout: 276 seconds] 02:31:50 realitygrill [~realitygr@adsl-76-226-114-68.dsl.sfldmi.sbcglobal.net] has joined #lisp 02:32:17 -!- Salamander_ [~Salamande@ppp118-210-128-130.lns20.adl6.internode.on.net] has quit [Quit: G'bye] 02:36:46 Salamander [~Salamande@ppp118-210-128-130.lns20.adl6.internode.on.net] has joined #lisp 02:37:19 -!- lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has quit [Read error: Connection reset by peer] 02:38:00 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 02:40:57 -!- bugQ [~bug@c-71-195-206-245.hsd1.ut.comcast.net] has quit [Ping timeout: 264 seconds] 02:41:56 -!- workthrick [~mathrick@emp.nat.sdu.dk] has quit [Remote host closed the connection] 02:42:16 -!- hugod [~hugod@bas1-montreal50-1279442939.dsl.bell.ca] has quit [Read error: Operation timed out] 02:45:42 hugod [~hugod@bas1-montreal50-1279442939.dsl.bell.ca] has joined #lisp 02:47:42 -!- xinming [~hyy@115.221.33.227] has quit [Ping timeout: 260 seconds] 02:50:31 joekarma: chtml:parse adds in some xmlns stuff, giving the nodes a default namespace. Try wrapping the xpath:evaluate form in an (xpath:with-namespaces (("" "http://www.w3.org/1999/xhtml")) ...) 02:51:49 -!- whee [~whee@misplaced.smaertness.net] has quit [Read error: Operation timed out] 02:58:02 Er, actually, it's sax that adds that, I guess. See also sax:*namespace-processing* 02:58:48 ubii [~ubii@207-119-123-149.stat.centurytel.net] has joined #lisp 02:59:36 thank you very much pinterface, I tried the with-namespaces macro and it's working now 03:00:02 xinming [~hyy@218.73.133.211] has joined #lisp 03:02:59 littlebobby [~bob@unaffiliated/littlebobby] has joined #lisp 03:05:55 centipedefarmer [~centipede@97-125-189-198.desm.qwest.net] has joined #lisp 03:07:36 -!- r11t [~r11t@ec2-50-18-44-29.us-west-1.compute.amazonaws.com] has quit [Ping timeout: 252 seconds] 03:08:37 r11t [~r11t@ec2-50-18-44-29.us-west-1.compute.amazonaws.com] has joined #lisp 03:10:41 -!- Phoodus [~foo@68.107.217.139] has quit [Ping timeout: 240 seconds] 03:11:41 -!- Beetny [~Beetny@ppp118-208-19-192.lns20.bne1.internode.on.net] has quit [Ping timeout: 250 seconds] 03:11:50 adu [~ajr@pool-173-66-6-81.washdc.fios.verizon.net] has joined #lisp 03:20:19 -!- rainyrhy [~rainyrhy@bb220-255-83-118.singnet.com.sg] has quit [Remote host closed the connection] 03:20:45 rainyrhy [~rainyrhy@bb220-255-83-118.singnet.com.sg] has joined #lisp 03:21:32 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 252 seconds] 03:25:21 nicdev [~nicdev@209-6-50-99.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #lisp 03:27:50 -!- kleppari [~spa@bitbucket.is] has quit [Ping timeout: 276 seconds] 03:31:11 kleppari [~spa@bitbucket.is] has joined #lisp 03:31:46 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Remote host closed the connection] 03:32:35 mrSpec [~Spec@pool-151-204-255-122.bstnma.btas.verizon.net] has joined #lisp 03:32:35 -!- mrSpec [~Spec@pool-151-204-255-122.bstnma.btas.verizon.net] has quit [Changing host] 03:32:35 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 03:37:33 -!- ltriant [~ltriant@124-168-205-10.dyn.iinet.net.au] has quit [Quit: Get MacIrssi - http://www.sysctl.co.uk/projects/macirssi/] 03:37:43 -!- realitygrill [~realitygr@adsl-76-226-114-68.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill] 03:39:04 realitygrill [~realitygr@adsl-76-226-114-68.dsl.sfldmi.sbcglobal.net] has joined #lisp 03:44:58 Mococa [~Mococa@187.58.182.164] has joined #lisp 03:46:46 Deathaholic [~Mococa@187.58.182.164] has joined #lisp 03:47:28 -!- Mococa [~Mococa@187.58.182.164] has quit [Disconnected by services] 03:47:50 -!- Deathaholic is now known as Mococa 03:52:12 bugQ [~bug@c-71-195-206-245.hsd1.ut.comcast.net] has joined #lisp 03:52:51 Evanescence [~chris@122.237.35.208] has joined #lisp 03:52:51 -!- am0c [~am0c@124.49.51.197] has quit [Read error: Connection reset by peer] 03:53:00 -!- Mococa [~Mococa@187.58.182.164] has quit [Ping timeout: 260 seconds] 03:53:01 -!- general-general [~marypatri@86-46-61-67-dynamic.b-ras3.mvw.galway.eircom.net] has quit [Ping timeout: 240 seconds] 03:56:44 -!- bugQ [~bug@c-71-195-206-245.hsd1.ut.comcast.net] has quit [Ping timeout: 252 seconds] 03:57:15 BlankVerse [~pankajm@122.172.246.110] has joined #lisp 03:58:40 bugQ [~bug@c-71-195-206-245.hsd1.ut.comcast.net] has joined #lisp 04:00:58 waaaaargh [~waaaaargh@agsb-5d853d0c.pool.mediaWays.net] has joined #lisp 04:02:52 -!- bugQ [~bug@c-71-195-206-245.hsd1.ut.comcast.net] has quit [Ping timeout: 240 seconds] 04:03:41 -!- jweiss_ [~user@cpe-069-134-063-238.nc.res.rr.com] has quit [Ping timeout: 240 seconds] 04:08:30 Mococa [~Mococa@187.58.182.164] has joined #lisp 04:08:53 -!- pnq1 [~nick@AC816E61.ipt.aol.com] has quit [Ping timeout: 244 seconds] 04:10:34 -!- y3llow [~y3llow@111-240-165-104.dynamic.hinet.net] has quit [Remote host closed the connection] 04:11:06 y3llow [~y3llow@111-240-165-104.dynamic.hinet.net] has joined #lisp 04:15:57 hargettp [~hargettp@pool-71-174-131-227.bstnma.east.verizon.net] has joined #lisp 04:16:22 -!- hargettp [~hargettp@pool-71-174-131-227.bstnma.east.verizon.net] has quit [Client Quit] 04:18:05 dnolen [~davidnole@184.152.69.75] has joined #lisp 04:20:57 -!- dnolen [~davidnole@184.152.69.75] has quit [Client Quit] 04:25:33 -!- waaaaargh [~waaaaargh@agsb-5d853d0c.pool.mediaWays.net] has quit [Quit: WTF? leaving!] 04:28:04 andelf [~andelf@2001:da8:9000:a142:215:afff:feef:8095] has joined #lisp 04:28:42 -!- foocraft [~ewanas@78.101.160.76] has quit [Quit: So long, and thanks for all the fish!] 04:35:34 tshauck [~tshauck@51.16.124.24.cm.sunflower.com] has joined #lisp 04:37:22 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 04:38:13 homie` [~levgue@xdsl-78-35-150-125.netcologne.de] has joined #lisp 04:40:15 -!- homie [~levgue@xdsl-87-79-193-36.netcologne.de] has quit [Ping timeout: 260 seconds] 04:40:44 -!- xinming [~hyy@218.73.133.211] has quit [Quit: leaving] 04:47:59 Daev [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has joined #lisp 04:59:31 I am aware of MACROEXPAND(-1), but is there a procedure for doing recursive expansion (probably a poor term for it, since MACROEXPAND does that in a sense)? 05:00:40 Quadrescence: Do you mean macroexpanding subforms as well? 05:00:41 something like macroexpand-all, which isn't standard. 05:01:03 slime exposes a nice interface if you're trying to understand/debug an expansion 05:01:58 I thought macroexpand was supposed to expand it completely? 05:02:07 and macroexpand-1 would only expand once 05:02:40 drdo: It only macroexpand the form itself, until the CAR is not the name of a macro. 05:02:49 beach: Yes. 05:03:39 Quadrescence: It requires a code walker because the subforms should not always be expanded. 05:05:25 -!- adu [~ajr@pool-173-66-6-81.washdc.fios.verizon.net] has quit [Quit: adu] 05:08:06 Phoodus [~foo@ip68-231-47-70.ph.ph.cox.net] has joined #lisp 05:08:14 -!- tshauck [~tshauck@51.16.124.24.cm.sunflower.com] has quit [Quit: tshauck] 05:10:54 -!- nicdev [~nicdev@209-6-50-99.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: nicdev] 05:11:27 -!- beach [~user@116.118.8.216] has quit [Ping timeout: 255 seconds] 05:13:46 tshauck [~tshauck@99-109-59-35.lightspeed.mssnks.sbcglobal.net] has joined #lisp 05:15:12 -!- Scriptor [~user@cpe-68-173-81-41.nyc.res.rr.com] has quit [Read error: No route to host] 05:15:22 Scriptor [~user@cpe-68-173-81-41.nyc.res.rr.com] has joined #lisp 05:15:37 -!- entrix [~entrix@95.27.43.203] has quit [Remote host closed the connection] 05:17:02 -!- Kruppe` [~user@CPE00222d128ba2-CM00222d128b9e.cpe.net.cable.rogers.com] has quit [Ping timeout: 252 seconds] 05:17:11 -!- ryepup [~user@216.155.105.115] has quit [Read error: Operation timed out] 05:18:51 ryepup [~user@216.155.105.115] has joined #lisp 05:21:41 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: grargh] 05:22:05 gravicappa [~gravicapp@ppp91-77-175-58.pppoe.mtu-net.ru] has joined #lisp 05:24:17 -!- tshauck [~tshauck@99-109-59-35.lightspeed.mssnks.sbcglobal.net] has quit [Quit: tshauck] 05:24:33 tsanhwa [~user@2001:da8:8001:111:222:68ff:fe14:6de] has joined #lisp 05:27:29 tessier [~treed@216.105.40.125] has joined #lisp 05:27:35 -!- drdo [~drdo@91.205.108.93.rev.vodafone.pt] has quit [Remote host closed the connection] 05:33:16 -!- benny [~benny@i577A2BFD.versanet.de] has quit [Remote host closed the connection] 05:39:38 anukalp [~anukalp@1.39.198.253] has joined #lisp 05:41:31 -!- Bike [~Glossina@71-38-156-206.ptld.qwest.net] has quit [Quit: Leaving.] 05:42:56 -!- anukalp [~anukalp@1.39.198.253] has quit [Quit: Leaving] 05:54:20 tshauck [~tshauck@99-109-59-35.lightspeed.mssnks.sbcglobal.net] has joined #lisp 05:55:17 -!- Mococa [~Mococa@187.58.182.164] has quit [Remote host closed the connection] 05:56:52 -!- Oddity [~Oddity@unaffiliated/oddity] has quit [Ping timeout: 244 seconds] 05:59:04 -!- rainyrhy [~rainyrhy@bb220-255-83-118.singnet.com.sg] has quit [Remote host closed the connection] 05:59:40 -!- tshauck [~tshauck@99-109-59-35.lightspeed.mssnks.sbcglobal.net] has quit [Quit: tshauck] 06:02:18 -!- gravicappa [~gravicapp@ppp91-77-175-58.pppoe.mtu-net.ru] has quit [Ping timeout: 255 seconds] 06:02:45 tshauck [~tshauck@99-109-59-35.lightspeed.mssnks.sbcglobal.net] has joined #lisp 06:03:14 -!- elliottcable is now known as ec|detached 06:14:58 -!- realitygrill [~realitygr@adsl-76-226-114-68.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill] 06:17:29 -!- tessier [~treed@216.105.40.125] has quit [Changing host] 06:17:29 tessier [~treed@kernel-panic/copilotco] has joined #lisp 06:29:05 slash_ [~unknown@pD955D275.dip.t-dialin.net] has joined #lisp 06:29:07 -!- tshauck [~tshauck@99-109-59-35.lightspeed.mssnks.sbcglobal.net] has quit [Quit: tshauck] 06:29:10 gravicappa [~gravicapp@ppp91-77-175-58.pppoe.mtu-net.ru] has joined #lisp 06:36:03 Oddity [~Oddity@unaffiliated/oddity] has joined #lisp 06:45:08 mikejs [~mike@ec2-50-16-185-74.compute-1.amazonaws.com] has joined #lisp 06:57:56 -!- littlebobby [~bob@unaffiliated/littlebobby] has quit [Quit: Ex-Chat] 06:58:52 darkf [~darkf@unaffiliated/darkf] has joined #lisp 06:59:26 -!- Buganini [~buganini@2001:288:c237:0:dead:beef:cafe:babe] has quit [Read error: Operation timed out] 07:01:09 whee [~whee@misplaced.smaertness.net] has joined #lisp 07:03:32 -!- cmm [~cmm@bzq-79-180-205-150.red.bezeqint.net] has quit [Ping timeout: 240 seconds] 07:04:46 cmm [~cmm@bzq-79-180-205-150.red.bezeqint.net] has joined #lisp 07:08:00 -!- Salamander [~Salamande@ppp118-210-128-130.lns20.adl6.internode.on.net] has quit [Ping timeout: 255 seconds] 07:11:15 -!- ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has quit [Read error: Connection reset by peer] 07:11:35 quotemstr [~quotemstr@dancol.org] has joined #lisp 07:11:44 Why doesn't CASE evaluate its matchers? 07:11:58 It'd have added a fair bit of expressive power at minimal cost in verbosity 07:12:12 So that it can build dispatch tables, presumably. 07:12:32 What you want is probably an anaphoric cond. 07:12:33 Zhivago: Couldn't it just detect whether all entries were static? 07:12:55 Yes, but then you'd need to quote them or whatever. 07:12:57 And acond would suffice, sure. I was just curious. 07:13:54 I think that they tried to avoid being clever in the standard library. 07:14:36 And CL is a hodgepodge of inherited libraries, so it's probably just a common use-case, crystalized. 07:14:51 I prefer "fossilized". :-) 07:15:14 It takes a long time to fossilize a hodgepodge. 07:15:47 It took a long time to standardize CL. :P 07:16:01 Hmm. I have to say that I quite like UML. 07:16:16 CL is the Ediacara biota of programming languages. :) 07:16:31 Zhivago: The diagram language? I've always felt it was overwrought. 07:17:05 -!- gravicappa [~gravicapp@ppp91-77-175-58.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 07:17:48 User Mode Linux. 07:18:27 Ah. I thought everyone used KVM these days. 07:19:07 kvm doesn't seem like a good fit, to me. 07:19:44 Salamander [~Salamande@ppp121-45-99-152.lns20.adl6.internode.on.net] has joined #lisp 07:19:57 -!- Daev [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has quit [Ping timeout: 258 seconds] 07:20:05 With uml I can share the file-system trivially, and the packaging cost is about 8 meg, plus the networking support is straight-forward. 07:21:50 -!- kennyd [~kennyd@93-139-33-11.adsl.net.t-com.hr] has quit [Ping timeout: 276 seconds] 07:23:59 eugu [~Miranda@213.141.157.147] has joined #lisp 07:24:07 -!- tsanhwa [~user@2001:da8:8001:111:222:68ff:fe14:6de] has quit [Remote host closed the connection] 07:24:08 kennyd [~kennyd@93-138-167-200.adsl.net.t-com.hr] has joined #lisp 07:25:24 ecraven [~user@140.78.42.213] has joined #lisp 07:26:00 c_arenz [~arenz@p5B2CD473.dip.t-dialin.net] has joined #lisp 07:30:45 -!- loke [~elias@bb220-255-108-49.singnet.com.sg] has quit [Ping timeout: 276 seconds] 07:33:17 loke [~elias@bb220-255-108-49.singnet.com.sg] has joined #lisp 07:34:40 -!- ecraven [~user@140.78.42.213] has quit [Read error: Connection reset by peer] 07:35:54 -!- lnostdal-laptop [~lnostdal@46.67.67.164.tmi.telenormobil.no] has quit [Ping timeout: 255 seconds] 07:36:20 lnostdal-laptop [~lnostdal@46.67.67.164.tmi.telenormobil.no] has joined #lisp 07:38:27 ecraven [~user@140.78.42.213] has joined #lisp 07:39:06 -!- c_arenz [~arenz@p5B2CD473.dip.t-dialin.net] has quit [Ping timeout: 246 seconds] 07:45:37 insomnia1alt [~milan@port-92-204-35-109.dynamic.qsc.de] has joined #lisp 07:49:36 -!- insomniaSalt [~milan@port-92-204-71-13.dynamic.qsc.de] has quit [Ping timeout: 276 seconds] 07:49:36 -!- insomnia1alt is now known as insomniaSalt 07:51:28 Beetny [~Beetny@ppp118-208-19-192.lns20.bne1.internode.on.net] has joined #lisp 08:03:21 -!- Salamander [~Salamande@ppp121-45-99-152.lns20.adl6.internode.on.net] has quit [Ping timeout: 255 seconds] 08:05:01 zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has joined #lisp 08:06:07 morphling [~stefan@gssn-5f756dd0.pool.mediaWays.net] has joined #lisp 08:10:32 Ragnaroek [~chatzilla@vpnsh0120.fh-trier.de] has joined #lisp 08:11:27 -!- zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has quit [Ping timeout: 255 seconds] 08:14:22 gemelen [~shelta@shpd-92-101-132-182.vologda.ru] has joined #lisp 08:16:39 Salamander [~Salamande@ppp121-45-152-110.lns21.adl6.internode.on.net] has joined #lisp 08:16:57 neoesque [~neoesque@210.59.147.226] has joined #lisp 08:19:09 -!- slash_ [~unknown@pD955D275.dip.t-dialin.net] has quit [Quit: Leaving.] 08:24:19 nikodemus [~nikodemus@cs181063174.pp.htv.fi] has joined #lisp 08:27:53 Hunden [~Hunden@e180098040.adsl.alicedsl.de] has joined #lisp 08:32:25 -!- Hunden [~Hunden@e180098040.adsl.alicedsl.de] has quit [Ping timeout: 260 seconds] 08:36:18 -!- ecraven [~user@140.78.42.213] has quit [Remote host closed the connection] 08:37:33 ecraven [~user@140.78.42.213] has joined #lisp 08:39:37 -!- lnostdal-laptop [~lnostdal@46.67.67.164.tmi.telenormobil.no] has quit [Quit: Leaving] 08:45:50 -!- cbp [~cesarbol9@189.247.121.82] has quit [Ping timeout: 260 seconds] 08:55:00 Davidbrcz [~david@212-198-126-167.rev.numericable.fr] has joined #lisp 08:55:44 Hunden [~Hunden@e180098040.adsl.alicedsl.de] has joined #lisp 09:07:09 Kenjin [~josesanto@2.80.249.152] has joined #lisp 09:07:16 morning 09:08:09 -!- xxxyyy [~xyxu@222.68.162.63] has quit [Ping timeout: 255 seconds] 09:08:56 -!- ecraven [~user@140.78.42.213] has quit [Remote host closed the connection] 09:13:03 fighterlyt [~liuyuntan@118.77.156.54] has joined #lisp 09:13:50 -!- fighterlyt [~liuyuntan@118.77.156.54] has left #lisp 09:14:46 -!- Harag [~Harag@dsl-242-240-240.telkomadsl.co.za] has left #lisp 09:22:26 xxxyyy [~xyxu@222.68.162.63] has joined #lisp 09:30:28 -!- nikodemus [~nikodemus@cs181063174.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 09:34:26 nikodemus [~nikodemus@cs181063174.pp.htv.fi] has joined #lisp 09:37:45 jingtao [~jingtaozf@123.120.13.105] has joined #lisp 09:43:09 -!- homie` [~levgue@xdsl-78-35-150-125.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 09:45:43 -!- rdd [~user@c83-250-52-16.bredband.comhem.se] has quit [Read error: Connection reset by peer] 09:45:57 rdd [~rdd@c83-250-52-16.bredband.comhem.se] has joined #lisp 09:46:41 nicdev [~nicdev@209-6-50-99.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #lisp 09:47:34 jingtao` [~jingtaozf@123.120.13.105] has joined #lisp 09:48:07 -!- jingtao [~jingtaozf@123.120.13.105] has quit [Read error: Connection reset by peer] 09:49:03 -!- xxxyyy [~xyxu@222.68.162.63] has quit [Ping timeout: 250 seconds] 09:49:51 I just noticed something that horrified me in Ruby, then I took it back to lisp where it could horrify me there too. Basically, closures capturing not only the variables they use; but other variables in the lexical scope. 09:49:58 homie [~levgue@xdsl-78-35-150-125.netcologne.de] has joined #lisp 09:50:31 Well, I mean, in uncompiled functions in Lispworks. Fortunately, compiled on the major lisps I have access to just captures the variables they use. . . . 09:51:11 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 09:53:27 ltriant [~ltriant@202.161.19.210] has joined #lisp 09:55:13 Guthur [~Guthur@cpc11-belf9-2-0-cust855.2-1.cable.virginmedia.com] has joined #lisp 09:55:53 Asgeir [~asgeir@tri59-1-82-233-201-74.fbx.proxad.net] has joined #lisp 10:01:21 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 10:02:06 xxxyyy [~xyxu@222.68.162.63] has joined #lisp 10:04:14 zepard [~zepard@unaffiliated/zepard] has joined #lisp 10:05:08 hi 10:06:07 alama [~alama@d86-33-47-55.cust.tele2.at] has joined #lisp 10:06:43 basho- [~basho-@p4FDA6267.dip.t-dialin.net] has joined #lisp 10:06:46 -!- nicdev [~nicdev@209-6-50-99.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: nicdev] 10:07:09 -!- basho- [~basho-@p4FDA6267.dip.t-dialin.net] has quit [Remote host closed the connection] 10:07:47 basho- [~basho-@p4FDA6267.dip.t-dialin.net] has joined #lisp 10:08:54 -!- jingtao` [~jingtaozf@123.120.13.105] has quit [Read error: Connection reset by peer] 10:11:16 hi 10:11:28 may I paste non lisp code on lisppaste? 10:12:21 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [] 10:14:29 No-one will stop you. 10:16:19 http://paste.lisp.org/display/122734 10:16:31 it even highlights quite a few no lisp codes 10:16:31 Mike Francis thanks 10:16:34 non* 10:16:39 good 10:17:36 -!- sonnym [~evissecer@rrcs-184-74-137-167.nys.biz.rr.com] has quit [Quit: Leaving.] 10:17:45 sorry Paul Young 10:17:54 sonnym [~evissecer@rrcs-184-74-137-167.nys.biz.rr.com] has joined #lisp 10:19:31 :( 10:20:03 beeep syntax error 10:20:06 lol 10:20:24 (:)) 10:21:13 (load "homie") 10:21:25 -!- Guthur [~Guthur@cpc11-belf9-2-0-cust855.2-1.cable.virginmedia.com] has quit [Quit: Leaving] 10:21:45 (list (cookies)) 10:24:06 Posterdati: What possessed you? Haha 10:24:42 i crossed jordan paths 10:24:46 and got lost 10:24:47 lol 10:27:56 best living places for the next century! 10:28:01 still caves! 10:28:04 lol 10:30:25 Modius: http://paste.lisp.org/display/122734 10:30:56 npoektop [~npoektop@85.202.112.90] has joined #lisp 10:31:25 jcazevedo [~jcazevedo@bl14-85-146.dsl.telepac.pt] has joined #lisp 10:34:04 add^_ [~add^_^@h114n2c1o838.bredband.skanova.com] has joined #lisp 10:36:23 Posterdati: I think not everyone will be old or cheesy enough to know the tune :) http://www.youtube.com/watch?v=8tTH6ZWMrsg&feature=related 10:36:43 bsod1 [~sinan@188.58.171.130] has joined #lisp 10:40:13 daniel__ [~daniel@p5082910E.dip.t-dialin.net] has joined #lisp 10:42:21 hargettp [~hargettp@pool-71-174-131-227.bstnma.east.verizon.net] has joined #lisp 10:42:44 -!- daniel__1 [~daniel@p5082BCFA.dip.t-dialin.net] has quit [Ping timeout: 258 seconds] 10:43:18 -!- Asgeir [~asgeir@tri59-1-82-233-201-74.fbx.proxad.net] has quit [Quit: mi tawa!] 10:45:20 am0c [~am0c@112.149.169.21] has joined #lisp 10:46:20 rosario [~rosario@p4FCDD8AD.dip.t-dialin.net] has joined #lisp 10:46:23 Athas [~athas@130.225.165.35] has joined #lisp 10:47:18 -!- bsod1 [~sinan@188.58.171.130] has quit [Remote host closed the connection] 10:48:44 sharps [~hazel@121-72-240-85.cable.telstraclear.net] has joined #lisp 10:49:51 -!- Salamander [~Salamande@ppp121-45-152-110.lns21.adl6.internode.on.net] has quit [Ping timeout: 255 seconds] 11:00:05 general-general [~marypatri@86-46-61-67-dynamic.b-ras3.mvw.galway.eircom.net] has joined #lisp 11:01:03 Romney12 [bddc1c59@gateway/web/freenode/ip.189.220.28.89] has joined #lisp 11:01:05 Like individual mandate Obamacare, an agressive foreign policy, and the rest of Barack Obama's policies? Are you nervous around Black people but still like Obama's policies? Then vote for Mitt Romney, the White Barack Obama! 11:01:29 I don't vote for spambots 11:01:48 dfox [~dfox@ip-94-113-17-246.net.upcbroadband.cz] has joined #lisp 11:02:46 Salamander [~Salamande@ppp121-45-145-216.lns10.adl6.internode.on.net] has joined #lisp 11:07:36 ska` [~user@ppp-58-8-198-186.revip2.asianet.co.th] has joined #lisp 11:10:28 -!- Romney12 [bddc1c59@gateway/web/freenode/ip.189.220.28.89] has quit [Ping timeout: 252 seconds] 11:10:36 so in the year 2011 there are still people who are "nervous around black people" *sigh* 11:12:13 drdo [~drdo@91.205.108.93.rev.vodafone.pt] has joined #lisp 11:12:35 -!- tvaalen [~r@67.217.170.35] has quit [Ping timeout: 276 seconds] 11:13:15 -!- xxxyyy [~xyxu@222.68.162.63] has quit [Ping timeout: 255 seconds] 11:14:31 -!- Athas [~athas@130.225.165.35] has quit [Remote host closed the connection] 11:15:30 xxxyyy [~xyxu@222.68.162.63] has joined #lisp 11:16:07 naeg [~naeg@194.208.239.170] has joined #lisp 11:16:16 foocraft [~ewanas@78.100.177.46] has joined #lisp 11:18:18 xale [~xale@2001:4b98:dc0:51:216:3eff:fef2:58dd] has joined #lisp 11:18:20 tvaalen [~r@67.217.170.35] has joined #lisp 11:18:58 Joreji [~thomas@89-228.eduroam.RWTH-Aachen.DE] has joined #lisp 11:20:35 -!- nikodemus [~nikodemus@cs181063174.pp.htv.fi] has quit [Disconnected by services] 11:20:42 nikodemus_ [~nikodemus@cs181058025.pp.htv.fi] has joined #lisp 11:21:03 nikodemus [~nikodemus@cs181063174.pp.htv.fi] has joined #lisp 11:29:29 -!- am0c [~am0c@112.149.169.21] has quit [Ping timeout: 276 seconds] 11:30:42 tcr1 [~tcr@ip-88-220-40-164.unregistered.net.exatel.pl] has joined #lisp 11:31:35 -!- tcr1 [~tcr@ip-88-220-40-164.unregistered.net.exatel.pl] has left #lisp 11:33:13 ecraven [~user@140.78.42.213] has joined #lisp 11:34:48 -!- drdo [~drdo@91.205.108.93.rev.vodafone.pt] has quit [Remote host closed the connection] 11:38:14 Modius: do you recall it? 11:38:31 Modius: we live in the love of Common Lisp 11:38:51 haha 11:39:17 schmrkc: I can drop you out of a car in the bad part of Houston and test that theory. 11:39:19 we the female choir in the background 11:39:34 mrSpec [~Spec@pool-151-204-255-122.bstnma.btas.verizon.net] has joined #lisp 11:39:39 -!- mrSpec [~Spec@pool-151-204-255-122.bstnma.btas.verizon.net] has quit [Changing host] 11:39:39 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 11:40:41 xxxyyy1 [~xyxu@222.68.162.63] has joined #lisp 11:40:42 Modius: I have never been to Houston but I think you are confusing "fear of black people" with "fear of criminal elements" or something. 11:41:50 schmrkc: Actually, I'm being rude to a complete stranger and I'm sorry. I usually make that offer to people not so they'll learn something; but so I won't ever have to listen to their crap ever again. 11:42:02 -!- xxxyyy [~xyxu@222.68.162.63] has quit [Read error: Connection reset by peer] 11:44:04 Modius: I didn't actually notice you being rude. 11:45:23 <_8david> | I finally bit the bullet! I swear I tried! I pestered people! I failed. 11:47:00 <_8david> ITHM "he didn't try to understand the APIs available at all, and nobody stepped forward and did his work for him either" 11:47:57 -!- milanj [~milanj_@109-93-62-183.dynamic.isp.telekom.rs] has quit [Ping timeout: 246 seconds] 11:48:17 -!- darkf [~darkf@unaffiliated/darkf] has quit [Quit: Leaving] 11:55:25 xxxyyy [~xyxu@222.68.162.63] has joined #lisp 11:56:33 -!- xxxyyy1 [~xyxu@222.68.162.63] has quit [Read error: Connection reset by peer] 12:00:11 -!- Salamander [~Salamande@ppp121-45-145-216.lns10.adl6.internode.on.net] has quit [Ping timeout: 240 seconds] 12:00:18 xxxyyy1 [~xyxu@222.68.162.63] has joined #lisp 12:00:21 -!- xxxyyy [~xyxu@222.68.162.63] has quit [Read error: Connection reset by peer] 12:01:23 schmrkc: even if there's no causal relationship between the color of the skin and the criminal behavior, it would be dumb to ignore the corelation. 12:04:30 beach [~user@116.118.0.95] has joined #lisp 12:07:31 Good evening everyone! 12:12:37 -!- Landr_ is now known as Landr 12:12:39 salutations 12:12:50 greetings 12:13:08 pizzledizzle [~pizdets@pool-98-113-194-183.nycmny.fios.verizon.net] has joined #lisp 12:22:25 eddayyy [~etate@cpc2-slam5-2-0-cust373.2-4.cable.virginmedia.com] has joined #lisp 12:22:49 are lisp deftypes with the satisfies clause what haskellers call dependent types? 12:25:41 -!- ska` [~user@ppp-58-8-198-186.revip2.asianet.co.th] has quit [Ping timeout: 240 seconds] 12:25:56 -!- amb007 [~a_bakic@240.29.195.77.rev.sfr.net] has quit [Read error: Connection reset by peer] 12:26:30 -!- alama [~alama@d86-33-47-55.cust.tele2.at] has quit [Quit: alama] 12:28:08 amb007 [~a_bakic@240.29.195.77.rev.sfr.net] has joined #lisp 12:29:50 Salamander [~Salamande@ppp121-45-1-120.lns20.adl2.internode.on.net] has joined #lisp 12:32:20 yates [~yates@nc-71-54-138-121.dhcp.embarqhsd.net] has joined #lisp 12:36:08 eddayyy: yes 12:36:26 ska` [~user@ppp-58-8-198-186.revip2.asianet.co.th] has joined #lisp 12:36:34 sharps: so theres no more to it? 12:36:50 don't ask me about type theory :P 12:37:14 from what I understand, dependant types are those types defined by a predicate 12:37:46 they're usually frowed upon because non-deterministic type-checking is often a Bad Thing 12:37:56 haskellers like their type checks to terminate 12:38:21 they seem exactly the same as types defined with satisfies to me 12:38:29 -!- foocraft [~ewanas@78.100.177.46] has quit [Ping timeout: 250 seconds] 12:38:53 sharps: im just wondering when you would ever write a non-terminating satisfies clause 12:38:58 xxxyyy [~xyxu@222.68.162.63] has joined #lisp 12:39:12 -!- xxxyyy1 [~xyxu@222.68.162.63] has quit [Read error: Connection reset by peer] 12:39:47 sharps: it occured to me whilst doing icfp that lisp actually has a more expressive type system than haskells 12:39:51 sharps: you should take a look at Qi and Shen : http://www.lambdassociates.org/ 12:40:16 they have a turing-complete sequent calculus based type system 12:40:16 yep, I know there are languages designed around dependant types 12:40:17 sharps: i.e i can specify a fixnum range etc 12:40:30 there's even some haskell based ones, I think 12:40:40 yeah like agda etc 12:40:45 yep 12:40:57 can someone explain it to me in english? :< 12:41:05 eddayy: but one thing I found out the hard way: CLOS dispatches on classes, not types 12:41:37 so no fun stuff like dependant type dispatch :/ 12:41:45 pnq [~nick@AC81E6A9.ipt.aol.com] has joined #lisp 12:41:46 sharps: can you not modify it to do that? 12:41:54 probably 12:43:06 defpolymorphic ... 12:43:06 Landr: bascially, you can define a type with a predicate 12:43:19 like, evenp defines the type of even numbers, etc 12:43:42 sharps: i remember seeing a CLOS hack doing that 12:43:43 this means that you can then write functions that do things like take only even numbers as arguments 12:43:56 billitch: I'm not surprised at all 12:43:59 -!- hargettp [~hargettp@pool-71-174-131-227.bstnma.east.verizon.net] has quit [Quit: Leaving...] 12:44:06 can't remember the name though 12:44:14 Landr: so you could have say: (deftype even-number () `(satisfies evenp)) 12:44:30 but you can define your dispatch functions so anything is possible 12:44:52 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 12:44:55 eddayyy: yeah, it's not that people would write non-terminating types 12:44:59 it's that they *could* 12:45:20 though a semantic database approach is much more appealing to me 12:45:46 billitch: what do you mean? 12:46:16 i mean having all your data as triples (facts) and do semantic reasoning on them 12:46:59 billitch: doesn't seem like the two are mutually exclusive 12:47:06 hmm, thanks, that makes sense 12:47:37 billitch: You already have your data as triples. 12:47:54 mrSpec [~Spec@pool-151-204-255-122.bstnma.btas.verizon.net] has joined #lisp 12:47:54 -!- mrSpec [~Spec@pool-151-204-255-122.bstnma.btas.verizon.net] has quit [Changing host] 12:47:54 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 12:48:00 eddayyy: clos and semantic data ? 12:48:07 drdo [~drdo@91.205.108.93.rev.vodafone.pt] has joined #lisp 12:48:08 Zhivago: how ? 12:48:13 Zhivago: what data ? 12:48:21 -!- xxxyyy [~xyxu@222.68.162.63] has quit [Read error: Connection reset by peer] 12:48:25 '(1 2) #, car, 1; #, cdr, #; ... 12:48:32 xxxyyy [~xyxu@222.68.162.63] has joined #lisp 12:49:09 Guthur [~Guthur@host86-139-108-200.range86-139.btcentralplus.com] has joined #lisp 12:49:41 sbryant_work [~user@ghanima.slavasaur.com] has joined #lisp 12:49:45 Zhivago: yes but the interesting part is indexing and querying for predicate-based "types" 12:50:33 -!- cmm [~cmm@bzq-79-180-205-150.red.bezeqint.net] has quit [Ping timeout: 276 seconds] 12:50:55 cmm [~cmm@bzq-79-180-205-150.red.bezeqint.net] has joined #lisp 12:51:13 like this https://github.com/billitch/lowh-facts 12:51:42 (this is pre-release, sorry for missing doc) 12:53:06 for now you can just add and query triples in a short syntax but i plan on indexing specific queries 12:54:00 The big problem with triples is that they force all of your internal structure to have external identity. 12:54:09 -!- Beetny [~Beetny@ppp118-208-19-192.lns20.bne1.internode.on.net] has quit [Ping timeout: 264 seconds] 12:54:23 And if you want to add justification and so on, then ... 12:55:00 Zhivago: i don't understand 12:55:16 Why do I believe this fact? What data source did it come from? What confidence do I have? 12:55:37 ah this is just for internal logic, no rdf parser here 12:55:53 That's not what I'm talking about. 12:56:12 The problem is that triples are a degenerate representation -- they suck pretty hard in practice. 12:56:40 Particularly once you start needing to deal with lists and multiple data sources and retractions due to error and merges and so on. 12:56:43 how does this not apply to the other data representations ? 12:56:59 It tends to be a lot less horribly annoying. 12:57:29 i meant internal application logic, not receiving arbitrary data 12:57:44 For example, given triple, say I want to represent that I believe that singer1 has the name fred with a confidence of 12% because I read it in the newspaper? 12:58:05 -!- xxxyyy [~xyxu@222.68.162.63] has quit [Read error: Connection reset by peer] 12:58:06 xxxyyy1 [~xyxu@222.68.162.63] has joined #lisp 12:58:14 Now say that you didn't start off with multiple sources. 12:58:35 What restructuring work is required to mangle that into triple form? 12:59:48 that would be #1=(_42 foaf:name "fred") (#1# confidence:level 0.12) 13:00:09 lnostdal-laptop [~lnostdal@213.80-202-59.nextgentel.com] has joined #lisp 13:00:15 Modius: you're old enough to know Paul Young then! 13:01:11 billitch: And now distribute that across multiple machines. 13:01:33 Zhivago: i don't see how different it is from another database : you have to create a new db and import your data, fixing it accordingly 13:02:00 and have good backups =) 13:02:03 The main difference is that it exposes internal structure producing an identity explosion. 13:02:54 i'm not talking about distributed triple stores 13:02:54 And then you need to make complex indexes to compensate for the triple structure not reflecting your queries. 13:03:03 this is an in-memory facts database 13:03:27 Well, for toys, almost anything will do. 13:03:55 I think that the triple structure is a reasonable way to reason about data, but a poor way to represent it. 13:04:32 well yes if you try to expose identity like you said, but in-memory the identity is quick to establish 13:04:48 much like #'intern 13:05:45 foocraft [~ewanas@78.101.150.57] has joined #lisp 13:05:50 -!- xxxyyy1 [~xyxu@222.68.162.63] has quit [Read error: Connection reset by peer] 13:06:00 xxxyyy [~xyxu@222.68.162.63] has joined #lisp 13:06:07 but you're right : the notion of triple is more interesting viewed as an API 13:08:10 i guess my code is more to be viewed as a fast local cache of triples 13:08:58 allowing the application to have internal logic coherent with external data 13:10:09 Zhivago: so you point caveats of triples, but what would you favor over triples for storing semantic data ? 13:11:45 -!- Hunden [~Hunden@e180098040.adsl.alicedsl.de] has quit [Ping timeout: 252 seconds] 13:12:43 realitygrill [~realitygr@adsl-76-226-114-68.dsl.sfldmi.sbcglobal.net] has joined #lisp 13:13:06 xan_ [~xan@94.Red-193-152-140.dynamicIP.rima-tde.net] has joined #lisp 13:14:19 xxxyyy1 [~xyxu@222.68.162.63] has joined #lisp 13:14:32 Buganini [~buganini@2001:288:c237:0:dead:beef:cafe:babe] has joined #lisp 13:15:03 -!- xxxyyy [~xyxu@222.68.162.63] has quit [Read error: Connection reset by peer] 13:17:11 Yuuhi [benni@p5483C22F.dip.t-dialin.net] has joined #lisp 13:18:20 Well, the only thing that matters is the indexes. 13:18:57 So, just build indexes of the relationships that you care about from whatever data you happen to have. 13:19:51 Lately I've found decomposable predicates useful. 13:20:21 e.g., p1, job.0.title, dancer 13:21:03 It removes most of the interstitial identities, but allows you to generate them as necessary by derivation. 13:23:49 milanj [~milanj_@109-93-62-183.dynamic.isp.telekom.rs] has joined #lisp 13:24:21 -!- hugod [~hugod@bas1-montreal50-1279442939.dsl.bell.ca] has quit [Ping timeout: 276 seconds] 13:24:28 -!- sellout- [~Adium@c-24-61-13-161.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 13:27:05 sellout- [~Adium@c-24-61-13-161.hsd1.ma.comcast.net] has joined #lisp 13:29:35 hugod [~hugod@bas1-montreal50-1279442192.dsl.bell.ca] has joined #lisp 13:30:51 JonSmith [~jon@c-71-233-176-176.hsd1.ma.comcast.net] has joined #lisp 13:32:39 Bahman [~bahman@2.144.245.129] has joined #lisp 13:33:07 Hi all! 13:33:40 -!- whee [~whee@misplaced.smaertness.net] has quit [Quit: .] 13:33:51 -!- xxxyyy1 [~xyxu@222.68.162.63] has quit [Read error: Connection reset by peer] 13:34:09 whee [~whee@misplaced.smaertness.net] has joined #lisp 13:34:12 xxxyyy [~xyxu@222.68.162.63] has joined #lisp 13:36:44 Soulman [~knute@250.80-202-238.nextgentel.com] has joined #lisp 13:37:35 -!- sharps [~hazel@121-72-240-85.cable.telstraclear.net] has left #lisp 13:40:10 -!- whee [~whee@misplaced.smaertness.net] has quit [Read error: Operation timed out] 13:41:09 whee [~whee@misplaced.smaertness.net] has joined #lisp 13:43:32 gilligan_ [~gilligan@p4FEA5113.dip.t-dialin.net] has joined #lisp 13:44:24 ikki [~ikki@200.95.162.219] has joined #lisp 13:44:45 Hunden [~Hunden@e180098040.adsl.alicedsl.de] has joined #lisp 13:45:01 Zhivago: I did just that with lowh-facts : the db is just the index, you can put any lispy value you want inside, then you can name your predicates as decomposable as you want 13:47:08 and test them as needed as you descend and backtrack in your queries 13:47:42 Personally, I think that's going about it the wrong way. 13:47:44 or when you update the index 13:48:15 Instead, why not just have a collection of data, and a mechanism by which to generate indexes for various predicates from it? 13:48:26 That's the plan 13:48:44 Then you just store the data however you like and rip the indexes out that you're actually going to use when you use them. 13:48:51 for now the index is just on triples but i will easily implement an indexed query 13:49:27 But then you don't have triples. 13:49:52 indeed, i have triples of lisp values 13:50:12 Why wouldn't you just have identity streams? 13:50:44 first, because i don't know them 13:51:23 Streams of orderd identities that you can advance along. 13:51:54 like skip lists ? 13:52:00 Yes. 13:52:15 A skip list is a sensible representation. 13:52:38 Then you can just walk down N streams in parallel to find the subset of relevant identities. 13:52:43 that's an implementation, looks very bright, but could not find a mature open-source implementation so i just grabbed LLRB trees 13:53:03 Fair enough, although skip lists are really easy. 13:53:13 -!- Evanescence [~chris@122.237.35.208] has quit [Quit: WeeChat 0.3.4] 13:53:14 but yes i hope to use them some day 13:55:38 beef-supreme [~ali@95.76.74.76] has joined #lisp 13:55:52 hi, my lispbox doesn't display fonts ever since i reinstalled the os 13:56:46 Kruppe [~user@CPE00222d128ba2-CM00222d128b9e.cpe.net.cable.rogers.com] has joined #lisp 13:56:48 carlocci [~nes@93.37.219.150] has joined #lisp 13:57:09 taiyallica [d8c385bd@gateway/web/freenode/ip.216.195.133.189] has joined #lisp 14:00:00 Evanescence [~chris@122.237.35.208] has joined #lisp 14:03:55 Tril [~tril@unaffiliated/tril] has joined #lisp 14:04:03 xxxyyy1 [~xyxu@222.68.162.63] has joined #lisp 14:04:48 -!- Ragnaroek [~chatzilla@vpnsh0120.fh-trier.de] has quit [Ping timeout: 246 seconds] 14:05:43 >if a function is called twice with the same parameters, it's guaranteed to return the same result 14:05:52 just out of curiousity, is there ANY language in which this is not the case? 14:06:05 excluding malbolge and other esoteric ones 14:06:19 -!- xxxyyy [~xyxu@222.68.162.63] has quit [Ping timeout: 240 seconds] 14:06:23 Landr: Most? 14:06:45 -!- peterhil [~peterhil@hoasnet-ff04dd00-56.dhcp.inet.fi] has quit [Quit: Must not waste too much time here...] 14:06:49 hargettp [~hargettp@pool-71-174-131-227.bstnma.east.verizon.net] has joined #lisp 14:06:53 Landr: (defun foo () *some-var*) 14:07:10 Landr: CL has procedures, not functions. 14:07:33 Landr: For the procedure which are functions, that's the case. 14:07:39 s/are/implement/ 14:08:21 so what are procedures that aren't functions? 14:08:27 scheme did the right thing and called them procedures 14:08:29 functions change state, right? 14:08:34 Landr: They have side effects. 14:08:36 Landr: side-effects 14:08:43 landr: A function is equivalent to a mapping from domain to range. 14:08:49 ah, yes 14:08:51 -!- Kenjin [~josesanto@2.80.249.152] has quit [Quit: Computer has gone to sleep] 14:08:56 A function is just a set of ordered pairs 14:09:04 *Landr* still thinks functions change state and procedures don't 14:09:08 mindCrime [~chatzilla@8.14.36.254] has joined #lisp 14:09:08 They don't need to be ordered. 14:09:17 Zhivago: Yes they do 14:09:25 drdo: Why? 14:09:32 1 -> 2 not the same as 2 -> 1 14:09:54 Ah. You mean the pairs need to be ordered -- ok. 14:09:58 yes of course 14:10:41 landr: Why do you think that? 14:11:24 because I'm used to imperative languages which use functions and which change state? 14:11:25 tcr1 [~tcr@155-dom-3.acn.waw.pl] has joined #lisp 14:11:36 Ragnaroek [~chatzilla@p5B0C43AA.dip.t-dialin.net] has joined #lisp 14:11:55 -!- Joreji [~thomas@89-228.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 260 seconds] 14:12:03 Landr: Nope, it's a misnomer, just like defun in lisp. Colloquially, "function" is often used where "procedure" is meant. 14:12:09 landr: Those are procedures. 14:12:34 landr: Another way to think about it is that procedures are sequences of operations over time. 14:12:37 xxxyyy [~xyxu@222.68.162.63] has joined #lisp 14:12:50 landr: Functions are invariant relationships, that exist outside of time. 14:13:09 -!- xxxyyy1 [~xyxu@222.68.162.63] has quit [Read error: Connection reset by peer] 14:13:11 So, when a procedure, you procede through the steps one at a time. 14:14:16 -!- basho- [~basho-@p4FDA6267.dip.t-dialin.net] has quit [Remote host closed the connection] 14:16:55 benny [~benny@i577A3143.versanet.de] has joined #lisp 14:21:10 -!- neoesque [~neoesque@210.59.147.226] has quit [Quit: Bye!] 14:23:16 Landr: any constructor function will return a different result each time it's called with the same (zero) parameters 14:23:23 Thoughts? I recently found out that Ruby closures capture the full lexical scope, not just accessed variables, with amusing consequences if the function generating the lambda accepts some large data structure. It prompted me to go back and try out other languages including CL. I found that Lispworks does this *interpreted*! Is the capture of only specicfic variables something like TCO that we shouldn't assume when coding? 14:24:24 Um, what? 14:24:35 Modius: What consequences, there's not really any consequence from capturing a large data structure 14:24:43 it's just a pointer 14:24:59 also is lispworks really interpreted? 14:25:05 Oh. You're concerned that it's capturing conservatively. 14:25:13 (defun make-closure (ba) (let ((x 1)) (lambda () x)) (make-closure (make-array 1000000)) 14:25:37 Zhivago: If that's the terminology I'll use it. 14:25:47 Lispworks "captures conservatively" when interpreted, not compiled. 14:25:49 -!- ska` [~user@ppp-58-8-198-186.revip2.asianet.co.th] has quit [Ping timeout: 252 seconds] 14:25:56 That sounds unlikely. 14:26:19 But if it is capturing variables outside of the closure, then it may be a significant problem. 14:26:51 How did you conclude that it is doing this? 14:26:52 I'm shocked I can't find much dialog on the issue on the net. All the bi***ing about Python lambdas, nothing about issues pertaining to this. 14:27:08 Zhivago: Made a container, push lambdas into it in a loop. 14:27:09 Almost certainly your test is wrong. :) 14:27:19 Paste your test code. 14:27:38 And what do python lambdas have to do with this? 14:27:52 The issue there is implicit binding. 14:29:39 Zhivago: Python lambdas are unrelated. I just meant for all the bickering about *that*, you'd think someone would be bickering about this in Ruby/wherever else it's an issue. 14:29:56 Paste. 14:30:20 http://pastebin.com/EZiTvAC8 14:30:29 Take out the "compile" and it grenades in LW 32 Win32 14:31:49 -!- beef-supreme [~ali@95.76.74.76] has left #lisp 14:31:54 This example consumes mega-RAM in Ruby, works in Python 14:32:18 I wonder if it's a debug level issue. 14:32:23 The (let ((x (length ...)) is a red herring. I could set it to (let ((x 1)) but I wanted to show this wasn't just the compiler tossing away the reference. 14:32:37 actually, it looks like sbcl is leaking 14:32:49 or maybe just taking an ungodly amount of time to collect 14:33:08 I could see people capturing the whole environment for debugging purposes. 14:33:14 tshauck [~tshauck@99-109-59-35.lightspeed.mssnks.sbcglobal.net] has joined #lisp 14:33:24 Zhivago: I didn't even save the closure 14:33:28 Otherwise it's a bit hard to imagine why they'd bother. 14:33:38 That business *really* rapes certain ways of programming 14:33:38 is it currently possible to build sbcl with closure cl? 14:33:50 and SBCL is taking 1GB 14:33:56 I admit, did not test with SBCL, tested with CCL 14:33:59 Going to SBCL now 14:34:03 -!- pnq [~nick@AC81E6A9.ipt.aol.com] has quit [Ping timeout: 244 seconds] 14:34:11 -!- hargettp [~hargettp@pool-71-174-131-227.bstnma.east.verizon.net] has quit [Quit: Leaving...] 14:35:39 whee_ [~whee@misplaced.smaertness.net] has joined #lisp 14:37:11 -!- whee [~whee@misplaced.smaertness.net] has quit [Ping timeout: 260 seconds] 14:37:11 -!- whee_ is now known as whee 14:37:57 Lispworks compiled finishes this in about 20 seconds 14:40:14 I *think* SBCL did it right too - is (room t) sufficient to see if this stuff is lingering on SBCL? 14:40:15 -!- xxxyyy [~xyxu@222.68.162.63] has quit [Ping timeout: 255 seconds] 14:40:26 Eataix [~eataix@CPE-124-176-27-251.lns2.dea.bigpond.net.au] has joined #lisp 14:40:36 -!- centipedefarmer [~centipede@97-125-189-198.desm.qwest.net] has quit [Quit: This computer has gone to sleep] 14:41:06 (nvm - rerunning upping it to impossible numbers that should settle this) 14:41:57 -!- ikki [~ikki@200.95.162.219] has quit [Ping timeout: 252 seconds] 14:42:48 zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has joined #lisp 14:43:08 <_3b> sbcl conservative GC has some issues in situations like that that might look similar 14:43:27 sbcl uses a conservative gc? 14:43:33 I think SBCL is doing the desirable thing - just this example isn't favoring its GC mechanism like LW's copying. 14:43:52 <_3b> on some platforms 14:44:09 <_3b> x86/x8664 i think? 14:44:13 But the core issue is, and I understand it - when implementing an uncompiled language, in order to implement closures you have to either put every variable on the heap proactively, or do this and capture the full lexical scope. 14:44:31 _3b: really? 14:44:39 gko [~gko@220-135-201-90.HINET-IP.hinet.net] has joined #lisp 14:44:58 <_3b> drdo: well, i haven't had much sleep recently, so could have things backwards :p 14:45:10 hehe 14:45:15 <_3b> drdo: mostly to do with the small # of registers on x86 14:45:37 what does that have to do with the GC method? 14:46:02 ianmcorvidae [~ianmcorvi@ip72-200-123-53.tc.ph.cox.net] has joined #lisp 14:46:03 -!- ianmcorvidae [~ianmcorvi@ip72-200-123-53.tc.ph.cox.net] has quit [Changing host] 14:46:03 ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has joined #lisp 14:46:11 <_3b> if you don't know what's in the register, you don't know if it is a pointer 14:46:45 <_3b> and if you only have 3 or 4 registers available, you tend to need to swap things in and out of them a lot, making it hard to keep track of what is there 14:46:57 My test is still running. I'm pretty sure SBCL is only capturing the variables touched by the closure, just that this test isn't easy on its garbage collection mechanism. 14:47:04 3 or 4? 14:47:13 x86_64 has like 16 or something 14:47:16 You could also inspect the closure, it'd be much easier. 14:47:23 <_3b> right, but x8664 was a port of the x86 code 14:47:28 SBCL only captures the variables it needs. 14:47:42 Just something to look out for. The programming pattern of taking some inputs, maybe making temporaries, calculating results then capturing a subset of these for returned or stored closures really takes a memory beating if this behavior occurs. 14:47:47 <_3b> so inherited the GC, even thoug it has more registers 14:47:54 I think sbcl is leaking 14:48:01 I just did (make-array (* 200 1024 1024)) 14:48:05 interrupted it 14:48:12 then even ran (sb-ext:gc) 14:48:17 still using about 1GB memory 14:48:26 <_3b> not to say it would be impossible even on x86, just that that wasn't the choice made when it was implemented 14:48:27 drdo: That doesn't indicate anything interesting. 14:48:35 Zhivago: ? 14:48:44 a leak is pretty interesting, in a bad way 14:48:49 drdo: Well, why should it return the pages to the system? 14:49:07 drdo: Leak and memory taken from OS are separate issues 14:49:13 drdo: Which is what you're measuring, isn't it? 14:49:17 Zhivago: it is 14:49:22 It's a bad measurement. 14:49:28 drdo: You could probably demonstrate a leak by allocating that repeatedly and making it run out without having any references to them. 14:49:29 well it's easy to check, i'll just make another one 14:49:43 An excellent idea. 14:50:13 -!- Jasko3 [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has quit [Read error: Connection reset by peer] 14:50:22 Jasko2 [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has joined #lisp 14:51:25 Advice on getting around this in "Eloquent Ruby": "Set variables holding large things to nil before the lambda" 14:51:37 -!- Eataix [~eataix@CPE-124-176-27-251.lns2.dea.bigpond.net.au] has quit [Remote host closed the connection] 14:51:40 xxxyyy [~xyxu@222.68.162.63] has joined #lisp 14:51:54 -!- nikodemus_ [~nikodemus@cs181058025.pp.htv.fi] has quit [Ping timeout: 258 seconds] 14:57:04 Modius: more useful advice: break lexical scope by calling a toplevel function that 14:57:11 ll return a closure. 14:57:48 Doesn't fit with ruby's block syntax, I suspect. 14:57:55 pkhuong: It's why I brought up Python. At least Python lambda situation you are forced to - here you could accidentally drag massivel intermediate data structures, or possibly just lots of little ones. 14:58:12 Frankly, I'm hard pressed to see why people find ruby attractive in the first place. 14:58:22 Why are you forced to in python? 14:58:55 I mean, whatever Python lambda's issues are with respect to their limitations or how they interact with scope, you don't have them doing something undesirable by accident. 14:59:08 Um, I think that you're confused. 14:59:26 Python's lambdas capture free variables just fine. 14:59:36 I know they're unrelated, I'm comparing the bickering about Python with the lack of bickering about this. No other common denominator, other than affecting how you code lamddas. 14:59:53 The capture behavior of python doesn't exhibit problems in my tests in this area. 15:00:15 -!- ryepup [~user@216.155.105.115] has quit [Remote host closed the connection] 15:00:17 I think they started to wise up after they figured out that reference counting wasn't GC. 15:00:51 Joreji [~thomas@89-228.eduroam.RWTH-Aachen.DE] has joined #lisp 15:01:12 But as python never has to let you modify "variables", could lambdas not be implemented by copying *values* out of all the variables? This may be how they get out of this. 15:01:17 (as an implementation) 15:02:08 Modius: uh? What's the difference? 15:02:16 Modius: You are confused. 15:02:55 Modius: Here's my value: a mutable 1GB array. You're not going to copy the array, since it'd break mutability. 15:03:23 You can copy the bindings, but bindings are only a couple (one, plus overhead) words. 15:03:34 I meant the value in the variable, which is a reference 15:03:55 Then you wouldn't see mutations of it. 15:03:55 sure. And then what? 15:04:06 Zhivago: bindings can't be mutated in python. 15:04:13 But, again, bindings themselves are tiny. 15:04:18 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 15:04:30 -!- Bahman [~bahman@2.144.245.129] has quit [Quit: Farewell] 15:04:34 def foo(): x = 1; def bar(): x += 1; return [bar, lambda: x] 15:04:36 You're still keeping a potentially spurious reference to my 1 GB array. 15:04:48 sorry, that's wrong. 15:05:13 rainyrhy [~rainyrhy@bb220-255-83-118.singnet.com.sg] has joined #lisp 15:05:32 def foo(): x = 1; bar(lambda: x); while True: x += 1 15:06:01 bar can retain that closure and inspect it from another thread. 15:06:03 This matter may never come to a head due to how an awful lot of production ruby is sitting under stateless web requests. 15:06:39 It's no problem to mutate capture variables in python. 15:06:40 Modius: mutable bindings are trivially implemented on top of immutable bindings, automatically. Just indirect everything through a mutable cell (like python makes you do, by hand). 15:06:52 The trick is avoiding establishing a new variable instead. 15:07:21 pkhuong: I understand that, and that's how you'd probably implement an interpreted CL. But it seems LW just takes the whole scope (going by how my example, interpreted, runs out of ram) 15:07:52 Sure, reasonable for an interpreter, especially with macros. 15:08:15 But it's completely orthogonal to mutability of bindings. 15:08:25 -!- Evanescence [~chris@122.237.35.208] has quit [Quit: WeeChat 0.3.4] 15:08:47 -!- nikodemus [~nikodemus@cs181063174.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 15:08:55 Well, except that doing it the way Ruby/LW interpreted did may have been in order to support mutable bindings without having the interpreted execcution of blocks from having to look at its own code. 15:09:27 I.e. implementation of lambda/block can then literally be: "Here's your scope, run your junk" 15:09:35 Modius: uh? Indirecting through a mutable cell doesn't change anything to this. 15:09:57 It's not about *mutable* bindings 15:10:11 -!- tshauck [~tshauck@99-109-59-35.lightspeed.mssnks.sbcglobal.net] has quit [Quit: tshauck] 15:10:46 pkhuong: To take advantage of that, the code creating the lambda would then have to look at what it's using and close over those variables, it would still take more computation than blindly handing off the scope. 15:10:51 You're right that it's probably related to now having to determine the exact set of closed over variables, again, especially with macros. 15:11:06 Modius: no, just convert everything to go through a mutable cell. 15:11:33 I'm wondering if, in Ruby, and the common rails "load the source file" model, this doesn't buy speed in the typical "here run this for a web request" case. 15:11:49 Hmm - I'll retract, I don't know that much about what rails does. 15:12:01 Sounds reasonable. Totally orthogonal to mutability. 15:12:24 Except that it lets you have mutability without having to pay to indirect variable bindings. 15:12:58 ska` [~user@ppp-58-8-198-186.revip2.asianet.co.th] has joined #lisp 15:13:04 How would you do it without mutability, but with the same restriction wrt inspecting the interpreted code? 15:13:41 I thought that ruby was horribly slow, in any case. 15:13:50 I see your point - I guess I just meant that, without inspecting the code, you'd have to take the whole scope, might as WELL have cheap/no-indirection mutabliity. 15:14:02 Maybe in changing this they'd have to make it more horribly slow. 15:14:08 I suspect that the justification is debugging introspection. 15:14:37 There are anecdotal allegations of it using more ram than its counterparts, inadvertent capture here and there in small or large cases may account for such things. 15:14:41 The analysis required is pretty trivial, so I don't buy that argument. 15:15:13 Zhivago: old ruby was just a straight AST walker. 15:15:43 tshauck [~tshauck@99-109-59-35.lightspeed.mssnks.sbcglobal.net] has joined #lisp 15:15:49 -!- whee [~whee@misplaced.smaertness.net] has quit [Read error: Connection reset by peer] 15:15:53 I have a theory that you need to do something really stupid in order to succeed. 15:16:00 I was giving it a chance until I saw this (oh I still gotta use it but now I'll despise it). Interesting in good and bad ways the interesting attention paid to syntax 15:16:06 Ruby, Python, Twitter, ... 15:16:10 whee [~whee@misplaced.smaertness.net] has joined #lisp 15:16:18 I think these languages would benefit from scope being considered as a first step, not an accidental afterthought. 15:16:34 Groupon. 15:16:49 Although I expect groupon to collapse shortly. 15:17:59 I now have issue with the wider usage pattern of closures in Python and Ruby. I see the implementations of same in C#, ObjC, and C++ as being best attempts possible, within the language limits and syntax, for the situation. Maybe design-by-committee actually helped here? 15:18:05 I just need to come up with a sufficiently stupid idea of my own. 15:18:21 Online pet food. Sorry, IPOed a decade ago. 15:18:48 Zhivago: simulate shared memory with processes and message passing. 15:18:51 Maybe streaming video for pet moles. 15:19:00 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 15:19:02 pkhuong: Nah. It's been done. 15:19:22 -!- tshauck [~tshauck@99-109-59-35.lightspeed.mssnks.sbcglobal.net] has quit [Client Quit] 15:19:24 Give up on porn. Type in any permutation/combination of kinky acts, type .com on the end, and it's been taken. 15:19:54 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Quit: Leaving.] 15:19:58 actually, that includes ethnicity 15:20:08 There was someone that put up a site selling tumbleweeds as a joke. 15:21:28 I suspect the reason that you need stupid ideas to succeed is that most of the non-stupid ones have already been addressed. 15:22:01 josemanuel [~josemanue@46.252.217.87.dynamic.jazztel.es] has joined #lisp 15:22:57 gffa [~gffa@unaffiliated/gffa] has joined #lisp 15:24:09 pnq [~nick@ACA23E69.ipt.aol.com] has joined #lisp 15:25:43 It annoys me that Ruby, Python and JS aren't just skinned Scheme 15:25:49 dayvan [~dayvan@201-1-71-196.dsl.telesp.net.br] has joined #lisp 15:27:14 -!- dayvan [~dayvan@201-1-71-196.dsl.telesp.net.br] has quit [Client Quit] 15:27:57 -!- Landr [~user@78-22-149-62.access.telenet.be] has quit [Ping timeout: 255 seconds] 15:28:44 bugQ [~bug@c-71-195-206-245.hsd1.ut.comcast.net] has joined #lisp 15:29:29 -!- xan_ [~xan@94.Red-193-152-140.dynamicIP.rima-tde.net] has quit [Ping timeout: 260 seconds] 15:31:33 I actually think that JS is an improvement over Scheme in many ways. 15:32:02 -!- Ragnaroek [~chatzilla@p5B0C43AA.dip.t-dialin.net] has quit [Remote host closed the connection] 15:32:11 The main annoyance, imho, is the lack of macrology. 15:32:16 ??? Scope is pretty haphazard. Rest is haphazard 15:32:22 I mean, rest is just skin 15:32:35 What's haphazard about scope/ 15:32:54 You have lexical scope, falling into dynamic scope provided by 'this'. 15:33:35 And it's not just skin -- the choice of a string-value mapping at the base was a good one. 15:33:42 As was unifying strings and symbols. 15:34:41 It's a bit hard to constrain a variable binding, without doing function () { } 15:35:19 Guess I'd gotten used to - even in other C-syntax languages, at least getting that from the curly-braces. 15:35:21 gigamonkey [~user@adsl-99-58-30-57.dsl.pltn13.sbcglobal.net] has joined #lisp 15:35:40 Syntactic trivia. 15:35:42 bsod1 [~sinan@31.141.100.65] has joined #lisp 15:35:46 -!- josemanuel [~josemanue@46.252.217.87.dynamic.jazztel.es] has quit [Quit: Saliendo] 15:35:48 -!- zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has quit [Ping timeout: 246 seconds] 15:35:54 -!- bugQ [~bug@c-71-195-206-245.hsd1.ut.comcast.net] has quit [Ping timeout: 240 seconds] 15:36:06 You've probably seen parenscript. I've made up my own, where the "fixups" to make it act like CL were added. But they aren't trivial. 15:36:22 Yeah, but some of those are because CL sucks. 15:36:22 (let ((x (lambda () x)) <- hilarious 15:36:50 (let* ((x (lambda () x))) ...) ; more hilarious. 15:36:52 I just mean the explicit control over scope of a binding, and ability to rebind. 15:37:10 Basically the same as in CL -- via lambda. 15:37:30 (let ((x ...)) l) (let ((x ...) l) <-- where l is a lambda capturing - hilarious 15:37:45 There are several distinct cases I had to detect, some required looking into the usage in the scoped code. 15:38:27 Sounds due to reluctance to do lambda transforms. 15:38:31 (Note - this is trying to preserve the ability to do var x = ... occasionally, stacking up function-in-function grenades firefox. 15:38:47 ld-s [~lundis@188.238.19.18] has joined #lisp 15:38:47 Yeah, once they get deep enough the JS engine in Firefox starts behaving very randomly. 15:39:10 -!- lundis [~lundis@gprs-internet-ff13ee00-18.dhcp.inet.fi] has quit [Read error: Connection reset by peer] 15:39:23 So I had to optimize it to only do the lambda transform when necessary by detecting, at least for cases involving let* and (let with one variabel. 15:39:36 -!- sbryant_work [~user@ghanima.slavasaur.com] has quit [Ping timeout: 250 seconds] 15:39:39 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Ping timeout: 255 seconds] 15:39:46 I wouldn't have thought a tracing optimizer would have had problems with that. 15:39:59 littlebobby [~bob@unaffiliated/littlebobby] has joined #lisp 15:41:06 Modius: is your code on the net anywhere? 15:41:12 pnq: No, it is not. 15:41:38 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp 15:44:09 zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has joined #lisp 15:45:56 abeaumont [~abeaumont@90.165.165.246] has joined #lisp 15:47:05 To code it, you also have to special-case that anything binding a variable *inside* a loop that could be captured has to build a new lambda too. 15:47:14 centipedefarmer [~centipede@97-125-189-198.desm.qwest.net] has joined #lisp 15:47:26 -!- centipedefarmer [~centipede@97-125-189-198.desm.qwest.net] has quit [Read error: Connection reset by peer] 15:47:33 There were about 4 cases like this that had to be specifically looked for (in lieu of literally just making every line a new function) 15:48:31 -!- Scriptor [~user@cpe-68-173-81-41.nyc.res.rr.com] has quit [Remote host closed the connection] 15:49:23 Hard to figure out what reuse of a binding made *inside* a loop is meant to buy anyone, except for the interpreter writer being in a hurry. 15:49:31 <_3b> for extra fun, make return-from and throw and such work properly when you pass them around in closures between levels of a recursive function :) 15:50:34 *_3b* got to play with a lot of these issues on flash VM, which has similarly annoying scoping rules 15:52:47 Modius: read the spec. The loop doesn't introduce a scope. 15:53:29 pkhuong: I never said it does. I meant when you do var x = .. inside a loop body, there's only ever one x from run to run, which is the x *before* the loop if someone used x before. 15:53:36 I don't mean the iteration variable 15:53:46 <_3b> pkhuong: doesn't make it a good idea :p 15:53:52 Modius: right. because the loop doesn't introduce a new scope. 15:54:01 *_3b* is not a fan of js 'function scope' 15:54:07 The curly braces are a red herring. 15:54:11 Which is what I'm complaining about, I'm not saying the browsers are violating JS 15:54:17 Yes, the braces are a red herring 15:54:26 They're also a red herring in CL. 15:54:33 you did not "make a binding inside a loop". 15:54:35 As with (dotimes (i 100) ...) 15:54:45 All of which leads me to wonder what the benefit is to that behavior other than to the interpreter writing. 15:55:44 <_3b> Zhivago: at least the i stays inside the dotimes, even if you don't know how many you get :) 15:58:16 -!- ld-s [~lundis@188.238.19.18] has quit [Ping timeout: 244 seconds] 15:59:03 are macros fixed at compile-time or is it possible to create them at run-time? 15:59:04 ld-s [~lundis@188.238.19.18] has joined #lisp 15:59:18 <_3b> compile-time happens at run-time 15:59:37 <_3b> as does READ time, macroexpansion time, etc 15:59:48 -!- taiyallica [d8c385bd@gateway/web/freenode/ip.216.195.133.189] has quit [Quit: Page closed] 16:00:24 _3b: can macros be created that aren't present in the original source by code? 16:00:36 <_3b> the macros in the source are created by code 16:01:08 yates: You can have macro-creating macros. 16:01:10 <_3b> and macros are just functions anyway 16:01:18 yates: You can also create macros via functions. 16:01:43 Zhivago: right, that's what i'm getting at. something that's created by a function/macro and not by a defmacro 16:01:59 a directy defmacro, at least. 16:02:02 direct 16:02:10 <_3b> MACRO-FUNCTION is an accessor 16:02:21 <_3b> defmacro is a macro 16:02:32 dnolen [~davidnole@184.152.69.75] has joined #lisp 16:02:33 -!- pnq [~nick@ACA23E69.ipt.aol.com] has quit [Ping timeout: 264 seconds] 16:02:33 OliverUv_ [~gandhi@195.159.235.178] has joined #lisp 16:03:07 -!- dnolen [~davidnole@184.152.69.75] has quit [Client Quit] 16:03:43 _3b: try bridging the gap between what you think i might be asking and formal correctness, if you want learning and communication to happen. I will do the same 16:06:21 yates: however, of course, since macro are used only at compilation time, if you don't have any further compilation time, creating new macros won't serve any purpose. 16:06:54 <_3b> 'macro-function is an accessor' was my answer in that direction, if that wasn't enough, feel free to ask for clarification 16:06:58 cmpitg [~cmpitg@113.22.42.35] has joined #lisp 16:07:19 -!- naeg [~naeg@194.208.239.170] has quit [Quit: WeeChat 0.3.5] 16:07:36 <_3b> the rest had a point though, which is that defmacro isn't a special form, so everything it does is normal CL code just like you would right, except probably less portable because it was written by the implementation 16:07:42 pjb at al.: what's behind my question was a discussion i had with a colleague recently regarding self-modifying code, and he stated that lisp can do this through macros, but i thought it would be via functions and not macros. 16:07:46 <_3b> *write 16:08:08 *_3b* would use teh compiler 16:08:32 afm 16:08:35 <_3b> (which would indirectly use macros, but just for normal purposes, nothing specific to self-modifying code) 16:08:58 <_3b> you might also argue that complex macro-based DSLs would count i suppose 16:10:06 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 16:11:06 -!- JonSmith [~jon@c-71-233-176-176.hsd1.ma.comcast.net] has left #lisp 16:11:07 -!- joekarma [~joekarma@S01060026f3e2a647.vc.shawcable.net] has quit [Read error: Connection reset by peer] 16:11:13 centipedefarmer [~centipede@97-125-189-198.desm.qwest.net] has joined #lisp 16:11:14 joekarma [~joekarma@S01060026f3e2a647.vc.shawcable.net] has joined #lisp 16:13:30 yates: both are kinds of modifying code. However, macros don't modify themselves. They transform the code/sexp passed as parameter into code they return to the compiler. 16:14:30 ls 16:14:41 A self-modifying function would have to do something like: (defun f () (setf (symbol-function 'f) `(lambda () ,@(generate-some-code) (setf (symbol-function 'f) (generate-some-code))))) ; to be and stay a self modifying function. 16:15:18 But this is not often done like this at the level of a single function. Usually it's function g that modifies function f. So it's not self modifying code either (unless you consider the application globally). 16:17:08 pjb: + a call to compile. 16:17:21 Not even necessary. 16:17:54 -!- ld-s [~lundis@188.238.19.18] has quit [Ping timeout: 244 seconds] 16:18:16 Bike [~Glossina@71-214-97-211.ptld.qwest.net] has joined #lisp 16:21:18 askatasuna [~askatasun@190.49.14.107] has joined #lisp 16:23:10 -!- centipedefarmer [~centipede@97-125-189-198.desm.qwest.net] has quit [Quit: This computer has gone to sleep] 16:23:50 centipedefarmer [~centipede@97-125-189-198.desm.qwest.net] has joined #lisp 16:24:20 Landr [~user@78-22-145-36.access.telenet.be] has joined #lisp 16:25:43 -!- ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has quit [Read error: Operation timed out] 16:29:41 peterhil [~peterhil@hoasnet-ff04dd00-56.dhcp.inet.fi] has joined #lisp 16:31:24 tcr2 [~tcr@89.108.255.33] has joined #lisp 16:32:43 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 258 seconds] 16:33:47 lundis [~lundis@188.238.19.18] has joined #lisp 16:35:03 juniorroy [~juniorroy@212.36.228.103] has joined #lisp 16:35:24 -!- tcr1 [~tcr@155-dom-3.acn.waw.pl] has quit [Ping timeout: 260 seconds] 16:35:57 -!- tcr2 [~tcr@89.108.255.33] has quit [Client Quit] 16:36:18 -!- cmm [~cmm@bzq-79-180-205-150.red.bezeqint.net] has quit [Ping timeout: 240 seconds] 16:37:07 ianmcorvidae [~ianmcorvi@ip72-200-123-53.tc.ph.cox.net] has joined #lisp 16:37:07 -!- ianmcorvidae [~ianmcorvi@ip72-200-123-53.tc.ph.cox.net] has quit [Changing host] 16:37:07 ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has joined #lisp 16:37:23 cmm [~cmm@bzq-79-180-205-150.red.bezeqint.net] has joined #lisp 16:37:29 -!- bsod1 [~sinan@31.141.100.65] has quit [Remote host closed the connection] 16:41:37 malbertife [~marcoalbe@bl4-155-170.dsl.telepac.pt] has joined #lisp 16:46:08 -!- lnostdal-laptop [~lnostdal@213.80-202-59.nextgentel.com] has quit [Quit: seems checkout and symlinking is my best option .. lein is good for users, but not equally good for developers .. apt is for deps where problems are already solved by developers; i.e. for users] 16:49:29 -!- jewel [~jewel@196-210-187-4.dynamic.isadsl.co.za] has quit [Remote host closed the connection] 16:49:50 -!- lundis [~lundis@188.238.19.18] has quit [Quit: Fear not, I will return] 16:50:09 rainyrhy_ [~rainyrhy@bb220-255-83-118.singnet.com.sg] has joined #lisp 16:50:49 -!- rainyrhy_ [~rainyrhy@bb220-255-83-118.singnet.com.sg] has quit [Remote host closed the connection] 16:51:22 -!- amb007 [~a_bakic@240.29.195.77.rev.sfr.net] has quit [Remote host closed the connection] 16:51:45 -!- rainyrhy [~rainyrhy@bb220-255-83-118.singnet.com.sg] has quit [Ping timeout: 260 seconds] 16:51:47 -!- sacho [~sacho@87-126-39-76.btc-net.bg] has quit [Read error: Connection reset by peer] 16:52:28 jleija [~jleija@50.8.41.50] has joined #lisp 16:52:57 insomnia1alt [~milan@port-92-204-99-225.dynamic.qsc.de] has joined #lisp 16:53:44 tshauck [~tshauck@99-109-59-35.lightspeed.mssnks.sbcglobal.net] has joined #lisp 16:54:19 -!- insomnia1alt is now known as insomniaSalt` 16:54:25 -!- katesmith [~katesmith@unaffiliated/costume] has quit [Quit: Leaving] 16:54:36 rainyrhy [~rainyrhy@bb220-255-83-118.singnet.com.sg] has joined #lisp 16:54:37 -!- askatasuna [~askatasun@190.49.14.107] has quit [Quit: WeeChat 0.3.5] 16:54:50 katesmith [~katesmith@97-89-229-3.static.snfr.nc.charter.com] has joined #lisp 16:54:50 -!- katesmith [~katesmith@97-89-229-3.static.snfr.nc.charter.com] has quit [Changing host] 16:54:50 katesmith [~katesmith@unaffiliated/costume] has joined #lisp 16:55:00 ziga [~ziga@BSN-61-98-203.dial-up.dsl.siol.net] has joined #lisp 16:55:38 sacho [~sacho@87-126-39-76.btc-net.bg] has joined #lisp 16:55:57 -!- insomniaSalt [~milan@port-92-204-35-109.dynamic.qsc.de] has quit [Ping timeout: 246 seconds] 16:55:57 -!- insomniaSalt` is now known as insomniaSalt 16:57:37 -!- kunwon1 [~kunwon1@unaffiliated/kunwon1] has quit [Ping timeout: 246 seconds] 16:59:06 -!- cmm [~cmm@bzq-79-180-205-150.red.bezeqint.net] has quit [Ping timeout: 246 seconds] 16:59:55 kunwon1 [~kunwon1@unaffiliated/kunwon1] has joined #lisp 17:00:03 cmm [~cmm@bzq-79-180-205-150.red.bezeqint.net] has joined #lisp 17:04:43 jewel [~jewel@196-210-187-4.dynamic.isadsl.co.za] has joined #lisp 17:06:22 dlowe [~dlowe@c-66-30-116-162.hsd1.ma.comcast.net] has joined #lisp 17:07:16 urandom__ [~user@p548A44DD.dip.t-dialin.net] has joined #lisp 17:10:01 -!- kpreid [~kpreid@adsl-75-37-16-233.dsl.pltn13.sbcglobal.net] has quit [Quit: Offline] 17:11:50 -!- malbertife [~marcoalbe@bl4-155-170.dsl.telepac.pt] has quit [Quit: malbertife] 17:12:05 kpreid [~kpreid@adsl-75-37-16-233.dsl.pltn13.sbcglobal.net] has joined #lisp 17:12:17 -!- gilligan_ [~gilligan@p4FEA5113.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 17:12:43 gilligan_ [~gilligan@p4FEA5113.dip.t-dialin.net] has joined #lisp 17:18:41 -!- littlebobby [~bob@unaffiliated/littlebobby] has quit [Ping timeout: 240 seconds] 17:19:13 genevieve [~a@59.178.174.201] has joined #lisp 17:22:15 -!- insomniaSalt [~milan@port-92-204-99-225.dynamic.qsc.de] has quit [Ping timeout: 276 seconds] 17:22:41 -!- Soulman [~knute@250.80-202-238.nextgentel.com] has quit [Ping timeout: 240 seconds] 17:23:49 insomniaSalt [~milan@port-92-204-47-151.dynamic.qsc.de] has joined #lisp 17:24:18 urandom_ [~user@p548A43F0.dip.t-dialin.net] has joined #lisp 17:25:00 -!- urandom__ [~user@p548A44DD.dip.t-dialin.net] has quit [Ping timeout: 260 seconds] 17:26:44 -!- jamief [~user@158.223.51.80] has quit [Quit: Terminated with extreme prejudice - dircproxy 1.0.5] 17:26:45 -!- gilligan_ [~gilligan@p4FEA5113.dip.t-dialin.net] has quit [Ping timeout: 255 seconds] 17:27:00 gilligan_ [~gilligan@204.45.75.187] has joined #lisp 17:27:05 -!- zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has quit [Remote host closed the connection] 17:27:08 kenjin2201 [~kenjin@218.235.8.175] has joined #lisp 17:27:12 zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has joined #lisp 17:27:21 -!- gilligan_ [~gilligan@204.45.75.187] has quit [Client Quit] 17:28:24 homie` [~levgue@xdsl-78-35-160-219.netcologne.de] has joined #lisp 17:28:48 Is it possible to download images/mp3 files with DRAKMA? 17:30:43 Mococa [~Mococa@187.58.178.20] has joined #lisp 17:31:32 -!- homie [~levgue@xdsl-78-35-150-125.netcologne.de] has quit [Ping timeout: 276 seconds] 17:32:30 kenjin2202 [~kenjin@218.235.8.175] has joined #lisp 17:33:12 entrix [~entrix@95-28-100-104.broadband.corbina.ru] has joined #lisp 17:34:35 why not, there is binary switch in http-request so you end up with byte array 17:35:09 -!- zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has quit [Ping timeout: 246 seconds] 17:36:09 zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has joined #lisp 17:36:09 n2kra [~n2kra_ham@ool-45733acd.dyn.optonline.net] has joined #lisp 17:36:21 -!- Mococa [~Mococa@187.58.178.20] has quit [Ping timeout: 258 seconds] 17:36:26 milanj: Thank you, I'll try 17:36:45 arborist [~arborist@e182016062.adsl.alicedsl.de] has joined #lisp 17:37:43 -!- kpreid [~kpreid@adsl-75-37-16-233.dsl.pltn13.sbcglobal.net] has quit [Quit: Quitting] 17:38:49 bugQ [~bug@c-71-195-206-245.hsd1.ut.comcast.net] has joined #lisp 17:40:00 -!- sonnym [~evissecer@rrcs-184-74-137-167.nys.biz.rr.com] has quit [Quit: Leaving.] 17:40:02 jamief [~user@harrison.doc.gold.ac.uk] has joined #lisp 17:40:05 -!- Hunden [~Hunden@e180098040.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 17:40:08 sonnym [~evissecer@rrcs-184-74-137-167.nys.biz.rr.com] has joined #lisp 17:41:27 cbp [~cesarbol9@189.247.121.82] has joined #lisp 17:41:39 Hey, I'm just getting into lisp, could someone explain the difference in how special forms (like if) are evaluated as opposed to procedures? 17:42:59 -!- ramusara [~ramusara@220.156.210.236.user.e-catv.ne.jp] has quit [Quit: Leaving...] 17:43:20 they have their own rules ? 17:43:35 Arguments to special operators aren't always evaluated. 17:44:28 that's what i've read in sicp, but it's not clicking 17:44:41 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Ping timeout: 240 seconds] 17:45:07 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp 17:45:33 Are you up to the part where you write a metacircular evaluator? 17:46:07 tshauck: Procedures are applied to arguments after they are evaluated. Every special operator has a special treatment of it's arguments. 17:46:09 no, just messing around in the first chapter, was doing exercise 1.6 where the "new-if" is introduced 17:46:55 which leads the square iter function into infinite recursion, whereas with normal if it's fine 17:47:45 I get why it happens with the procedure, but not why it's ok with if 17:48:00 Because it's specially treated. 17:49:03 in what way? 17:50:01 alama [~alama@d86-33-47-55.cust.tele2.at] has joined #lisp 17:50:02 -!- dmiles_afk [~dmiles@216.227.116.248] has quit [Read error: Connection reset by peer] 17:50:32 Its arguments aren't evaluated beforehand. It will make a lot more sense if you implement it yourself, which you will, if you keep reading. 17:51:18 dmiles_afk [~dmiles@216.227.116.248] has joined #lisp 17:51:21 Daev [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has joined #lisp 17:52:10 insomnia1alt [~milan@port-92-204-35-19.dynamic.qsc.de] has joined #lisp 17:52:32 slyrus [~chatzilla@adsl-99-146-0-215.dsl.pltn13.sbcglobal.net] has joined #lisp 17:52:35 but I want it now - just kidding, I'll keep going thanks for the help guys 17:53:09 alegend45 [~chatzilla@68-116-252-37.dhcp.dntn.tx.charter.com] has joined #lisp 17:55:24 -!- insomniaSalt [~milan@port-92-204-47-151.dynamic.qsc.de] has quit [Ping timeout: 276 seconds] 17:55:35 ziga_ [~ziga@89.142.31.136] has joined #lisp 17:57:01 -!- insomnia1alt [~milan@port-92-204-35-19.dynamic.qsc.de] has quit [Ping timeout: 240 seconds] 17:57:10 insomniaSalt [~milan@port-92-204-112-3.dynamic.qsc.de] has joined #lisp 17:58:39 -!- ziga [~ziga@BSN-61-98-203.dial-up.dsl.siol.net] has quit [Ping timeout: 276 seconds] 18:02:10 insomnia1alt [~milan@port-92-204-56-241.dynamic.qsc.de] has joined #lisp 18:02:13 bsod1 [~sinan@188.58.182.133] has joined #lisp 18:02:33 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Ping timeout: 264 seconds] 18:03:09 -!- peterhil [~peterhil@hoasnet-ff04dd00-56.dhcp.inet.fi] has quit [Ping timeout: 246 seconds] 18:03:13 xan_ [~xan@94.Red-193-152-140.dynamicIP.rima-tde.net] has joined #lisp 18:03:13 amb007 [~a_bakic@240.29.195.77.rev.sfr.net] has joined #lisp 18:03:20 -!- bsod1 [~sinan@188.58.182.133] has quit [Read error: Connection reset by peer] 18:03:56 bsod1 [~sinan@188.58.182.133] has joined #lisp 18:04:51 peterhil [~peterhil@hoasnet-ff04dd00-56.dhcp.inet.fi] has joined #lisp 18:05:20 -!- insomniaSalt [~milan@port-92-204-112-3.dynamic.qsc.de] has quit [Ping timeout: 276 seconds] 18:05:20 -!- insomnia1alt is now known as insomniaSalt 18:06:37 -!- bsod1 [~sinan@188.58.182.133] has quit [Remote host closed the connection] 18:08:02 mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has joined #lisp 18:12:41 -!- arborist [~arborist@e182016062.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 18:14:57 -!- homie` [~levgue@xdsl-78-35-160-219.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 18:17:00 homie [~levgue@xdsl-78-35-160-219.netcologne.de] has joined #lisp 18:20:25 Anyone familiar with Drakma - I'm doing a web service in rails, and talking to it with Drakma to test - and for some reason the drakma request blocks for several seconds where the web browser gets an immediate result. Is there any setting on drakma I shouldbe looking into? 18:21:02 -!- xan_ [~xan@94.Red-193-152-140.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 18:25:03 -!- yhvh is now known as names 18:25:39 -!- Joreji [~thomas@89-228.eduroam.RWTH-Aachen.DE] has quit [Read error: Operation timed out] 18:26:32 xan_ [~xan@94.Red-193-152-140.dynamicIP.rima-tde.net] has joined #lisp 18:27:35 Modius: that sounds like a potential HTTP keepalive fuckup 18:28:00 can you use wireshark or something to find out exactly what it's saying to the server? 18:28:22 rsynott: You could be right - the browser is slow first time, faster on rereads 18:28:48 insomnia1alt [~milan@port-92-204-52-54.dynamic.qsc.de] has joined #lisp 18:28:56 by 'first time' do you mean the first time it accesses the server after the server is restarted? 18:29:07 Rails is pretty slow to load, which would explain that 18:29:18 -!- Salamander [~Salamande@ppp121-45-1-120.lns20.adl2.internode.on.net] has quit [Ping timeout: 255 seconds] 18:29:23 rsynott: I mean reload on the browser. 18:29:42 odd 18:30:01 -!- insomniaSalt [~milan@port-92-204-56-241.dynamic.qsc.de] has quit [Ping timeout: 240 seconds] 18:30:04 -!- insomnia1alt is now known as insomniaSalt 18:30:44 hmm, according to the docs keepalive is off by default, so probably not that 18:30:50 Asgeir [~asgeir@tri59-1-82-233-201-74.fbx.proxad.net] has joined #lisp 18:31:44 hi! given a function, it is possible to get its lambda-list ? 18:31:45 -!- gko [~gko@220-135-201-90.HINET-IP.hinet.net] has quit [Ping timeout: 240 seconds] 18:32:18 i've seen function-lambda-expression, but it doesn't return the lambda list and is implementation dependant 18:35:14 -!- ziga_ [~ziga@89.142.31.136] has quit [Remote host closed the connection] 18:35:43 hargettp [~hargettp@pool-71-174-131-227.bstnma.east.verizon.net] has joined #lisp 18:35:52 -!- Kruppe [~user@CPE00222d128ba2-CM00222d128b9e.cpe.net.cable.rogers.com] has left #lisp 18:36:03 -!- Guthur [~Guthur@host86-139-108-200.range86-139.btcentralplus.com] has quit [Ping timeout: 255 seconds] 18:37:55 -!- Phoodus [~foo@ip68-231-47-70.ph.ph.cox.net] has quit [Ping timeout: 260 seconds] 18:38:05 insomnia1alt [~milan@port-92-204-81-181.dynamic.qsc.de] has joined #lisp 18:41:01 -!- insomniaSalt [~milan@port-92-204-52-54.dynamic.qsc.de] has quit [Ping timeout: 244 seconds] 18:41:50 Asgeir, i know for non-portable ccl:arglist 18:41:59 of course, ccl only 18:42:51 -!- insomnia1alt [~milan@port-92-204-81-181.dynamic.qsc.de] has quit [Ping timeout: 276 seconds] 18:43:06 Salamander [~Salamande@ppp118-210-174-231.lns20.adl6.internode.on.net] has joined #lisp 18:43:14 insomniaSalt [~milan@port-92-204-74-30.dynamic.qsc.de] has joined #lisp 18:43:35 rsynott: I realize this isn't that scientific; but putting the dev server behind apache made it lightning fast. 18:43:57 rsynott: Must be some way stock rails webrick + drakma interact that don't like eachother. Fine anyway, prod will be behind apache. 18:44:09 -!- eddayyy [~etate@cpc2-slam5-2-0-cust373.2-4.cable.virginmedia.com] has quit [Ping timeout: 255 seconds] 18:45:42 hum, thanks milanj :) 18:46:35 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp 18:46:55 lnostdal-laptop [~lnostdal@2.148.3.77.tmi.telenormobil.no] has joined #lisp 18:47:53 but I use sbcl :'( 18:48:29 Asgeir, sb-introspect:function-arglist 18:49:44 oh, thanks :D 18:49:47 -!- kleppari [~spa@bitbucket.is] has quit [Quit: leaving] 18:50:27 renamed to sb-introspect:function-lambda-list :D 18:53:27 markskil1eck [~mark@host81-132-126-179.range81-132.btcentralplus.com] has joined #lisp 18:53:41 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Ping timeout: 240 seconds] 18:57:01 -!- cmpitg [~cmpitg@113.22.42.35] has quit [Ping timeout: 240 seconds] 18:58:20 -!- slyrus [~chatzilla@adsl-99-146-0-215.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 260 seconds] 18:58:31 -!- markskil1eck [~mark@host81-132-126-179.range81-132.btcentralplus.com] has quit [Ping timeout: 250 seconds] 18:58:32 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp 19:01:42 -!- tshauck [~tshauck@99-109-59-35.lightspeed.mssnks.sbcglobal.net] has quit [Quit: tshauck] 19:01:43 -!- salva_xf [~kvirc@105.11.117.91.dynamic.mundo-r.com] has quit [Read error: Connection reset by peer] 19:07:11 Guthur [~Guthur@host86-139-108-200.range86-139.btcentralplus.com] has joined #lisp 19:08:10 thanks a lot, good night! 19:08:12 -!- Asgeir [~asgeir@tri59-1-82-233-201-74.fbx.proxad.net] has quit [Quit: mi tawa!] 19:10:06 mcstar [~mcstar@adsl-89-132-10-70.monradsl.monornet.hu] has joined #lisp 19:10:14 hey 19:10:27 hey hey 19:10:33 i just wanted to say thx Xach, quicklisp is really handy 19:10:37 littlebobby [~bob@unaffiliated/littlebobby] has joined #lisp 19:10:52 hes not here atm 19:11:01 never mind, bye all 19:11:07 -!- mcstar [~mcstar@adsl-89-132-10-70.monradsl.monornet.hu] has left #lisp 19:12:22 ShereKahn [~user@91.178.178.204] has joined #lisp 19:12:30 -!- hargettp [~hargettp@pool-71-174-131-227.bstnma.east.verizon.net] has quit [Ping timeout: 255 seconds] 19:12:55 -!- ShereKahn [~user@91.178.178.204] has left #lisp 19:16:19 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 19:17:19 Simul [~user@97-93-224-156.dhcp.ftwo.tx.charter.com] has joined #lisp 19:20:35 -!- kenjin2202 [~kenjin@218.235.8.175] has quit [Read error: Connection reset by peer] 19:20:35 -!- kenjin2201 [~kenjin@218.235.8.175] has quit [Read error: Connection reset by peer] 19:23:56 -!- BlankVerse [~pankajm@122.172.246.110] has quit [Ping timeout: 252 seconds] 19:26:59 bsod1 [~sinan@31.141.59.134] has joined #lisp 19:28:58 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Ping timeout: 240 seconds] 19:31:28 kleppari [~spa@bitbucket.is] has joined #lisp 19:31:28 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp 19:34:34 ace4016 [ace4016@adsl-98-64-82-40.mia.bellsouth.net] has joined #lisp 19:40:00 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Quit: Lost terminal] 19:41:49 *_3b* wonders why ccl saves executables with extension .lisp 19:42:22 -!- mindCrime [~chatzilla@8.14.36.254] has quit [Quit: ChatZilla 0.9.82.1-rdmsoft [XULRunner 1.8.0.9/2006120508]] 19:45:45 workthrick [~mathrick@emp.nat.sdu.dk] has joined #lisp 19:48:09 -!- xxxyyy [~xyxu@222.68.162.63] has quit [Ping timeout: 264 seconds] 19:54:55 -!- wgl [~wgl@209.242.26.41] has quit [Remote host closed the connection] 19:56:25 Eataix [~eataix@CPE-124-176-27-251.lns2.dea.bigpond.net.au] has joined #lisp 19:56:26 -!- yates [~yates@nc-71-54-138-121.dhcp.embarqhsd.net] has quit [Quit: rcirc on GNU Emacs 23.2.1] 19:56:40 add^_^ [~add^_^@h143n4c1o838.bredband.skanova.com] has joined #lisp 19:56:53 -!- Eataix [~eataix@CPE-124-176-27-251.lns2.dea.bigpond.net.au] has quit [Remote host closed the connection] 19:57:51 -!- add^_ [~add^_^@h114n2c1o838.bredband.skanova.com] has quit [Ping timeout: 240 seconds] 19:57:51 -!- add^_^ is now known as add^_ 20:01:31 francogrex [~user@109.130.182.173] has joined #lisp 20:03:21 -!- littlebobby [~bob@unaffiliated/littlebobby] has quit [Ping timeout: 255 seconds] 20:06:13 i'm having some trouble with sbcl's RUN-PROGRAM -- when given a perl script as its first argument, it balks (process exits with code 2) 20:06:26 the script exists and is executable 20:07:09 calling "/usr/bin/perl" with the file as an argument also gives me exit code 2 20:07:41 alama: paste? 20:08:36 -!- milanj [~milanj_@109-93-62-183.dynamic.isp.telekom.rs] has quit [Read error: Connection timed out] 20:09:04 milanj [~milanj_@109-93-62-183.dynamic.isp.telekom.rs] has joined #lisp 20:09:15 alama pasted "sb-ext:run-program exits with code 2" at http://paste.lisp.org/display/122740 20:10:05 not sure if that helps 20:12:51 don't know what to tell you, except that I can execute perl scripts both directly and via /usr/bin/perl without any problem. Are you sure it's not your script that's returning with a status of 2? 20:14:02 alama annotated #122740 "in a shell" at http://paste.lisp.org/display/122740#1 20:14:24 yeah, this is weird. no, it's not my script 20:14:34 markskilbeck [~mark@host86-137-38-165.range86-137.btcentralplus.com] has joined #lisp 20:14:36 -!- markskilbeck [~mark@host86-137-38-165.range86-137.btcentralplus.com] has quit [Changing host] 20:14:36 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp 20:14:44 -!- ska` [~user@ppp-58-8-198-186.revip2.asianet.co.th] has quit [Ping timeout: 246 seconds] 20:15:34 try playing around with :input :output :wait and :search 20:15:37 is the environment right? 20:16:52 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 20:17:18 -!- genevieve [~a@59.178.174.201] has quit [Ping timeout: 255 seconds] 20:17:24 francogrex: playing around with that doesn't seem to make a difference (fwiw, the program argument i'm passing is an absolute path) 20:18:41 especially when running stuff from emacs (including slime), I've had trouble with the environment in OS X. 20:18:47 pkhuong: i'm not sure how to test that 20:18:57 pkhuong: hmm, interesting 20:19:10 run your snippet from sbcl in terminal.app 20:20:34 ebw [~user@krlh-4d034ddd.pool.mediaWays.net] has joined #lisp 20:21:05 interesting suggestion 20:21:05 oh! 20:21:07 Is it possible to 'overload' functions like + in lisp? Maybe via clos or so? 20:21:10 i get a different result 20:21:45 ebw: (shadow '+) (defun + (&rest args) (if (can-deal-with args) (deal-with args) (apply (function cl:+) args))) 20:22:02 -!- drdo [~drdo@91.205.108.93.rev.vodafone.pt] has quit [Read error: Connection reset by peer] 20:22:09 ebw: CLOS can help only for generic functions, to which you can define additionnal methods. 20:22:15 ebw: not portably. You can define your own function named + and do whatever you want with it, but you have to make your code use that new function. 20:22:31 taiyal [~taiyal@bb-216-195-184-102.gwi.net] has joined #lisp 20:22:58 pjb: is + a generic function to which i could add a new method? 20:23:06 -!- Landr [~user@78-22-145-36.access.telenet.be] has quit [Read error: Operation timed out] 20:23:20 Landr [~user@dD5770F8D.access.telenet.be] has joined #lisp 20:23:28 I sense a clash of philosophies 20:23:32 lisp is not ruby 20:24:03 ebw: no. 20:24:40 pkhuong: hmm, that must be it 20:24:53 drdo [~drdo@91.205.108.93.rev.vodafone.pt] has joined #lisp 20:25:08 littlebobby [~bob@unaffiliated/littlebobby] has joined #lisp 20:25:34 So If I wanted to introduce a new type of number, I had to call different functions to add those numbers in contrast to adding rational numbers for example? 20:25:42 -!- mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has quit [Quit: leaving] 20:25:46 ebw: (shadow '+) (defun + (&rest args) (if (can-deal-with args) (deal-with args) (apply (function cl:+) args))) 20:26:03 ebw: it can have the same name, but it won't be the same symbol. 20:26:12 ebw: but otherwise yes, you can avoid the shadow by naming it PLUS. 20:26:23 So it's still +, but ebw-stuff:+, not CL:+. 20:26:33 ebw: notice the nice property of lisp: (+ a b c) or (plus a b c) are exactly the same kind of form. 20:26:55 -!- McMAGIC--Copy [~McMAGIC--@gateway/tor-sasl/mcmagic--copy] has quit [Ping timeout: 250 seconds] 20:27:07 ebw: so are of course (cl:+ a b c) and (ebw-numbers:+ a b c). 20:27:26 pjb: yes but I had to parametrize my algorithm over the "plus" operation if i want to use it for rational numbers and for my new numbers, don't i? 20:27:34 in this case the illusion of polymorphism is what is useful 20:27:36 No. 20:27:43 ebw: no, just make sure your function handles rationals. 20:27:59 ebw: just read your program in a package where "+" interns to ebw-numbers:+ instead of cl:+ 20:28:30 ebw: the only thing special with CL operators, is that you cannot redefine them. Otherwise they're just like any other custom written functions, and vice versa. 20:30:46 genevieve [~a@59.178.172.255] has joined #lisp 20:32:06 pjb: Hmm, I don't know how I can do this packaging stuff. I'll need to look it up somewhere. In Peter Grahams ACL they are only mentioned briefly afair. So I'll google that. 20:32:49 ebw: Read PCL, it explains packages. 20:33:15 Or: http://www.flownet.com/gat/packages.pdf 20:33:31 pjb: It's ordered, but the paperback version needs a few weeks here in germany. 20:33:40 ebw: both are online! 20:34:07 pjb: Ahhh. True. *bang forehead to table* 20:34:15 thanks 20:34:21 -!- littlebobby [~bob@unaffiliated/littlebobby] has quit [Ping timeout: 264 seconds] 20:34:25 what was that little project generator that people are using these days? 20:34:53 wivlaro: :-) 20:35:16 Now, I heard Zach has a little project generator, but I'd bet it's no more than a couple of skeletons on emacs... 20:35:34 I've got a hunchentoot server sitting behind Apache and sometimes, it seems, the chunked transfer encoding is getting messed up. Anyone know anything about that. 20:35:36 yeah. i thought it was xach. 20:35:37 (Sorry so vague.) 20:35:48 -!- genevieve [~a@59.178.172.255] has quit [Ping timeout: 252 seconds] 20:35:59 wivlaro: http://xach.livejournal.com/278047.html?thread=674335 20:36:14 -!- bugQ [~bug@c-71-195-206-245.hsd1.ut.comcast.net] has quit [Ping timeout: 244 seconds] 20:37:15 quickproject! thanks. 20:37:53 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 20:38:19 littlebobby [~bob@unaffiliated/littlebobby] has joined #lisp 20:38:44 -!- Krystof [~csr21@csrhodes.plus.com] has quit [Ping timeout: 276 seconds] 20:39:22 arborist [~arborist@e182023048.adsl.alicedsl.de] has joined #lisp 20:41:27 srid_ [~srid@S010678ca39ff0146.vn.shawcable.net] has joined #lisp 20:41:27 -!- srid_ [~srid@S010678ca39ff0146.vn.shawcable.net] has quit [Changing host] 20:41:27 srid_ [~srid@unaffiliated/srid] has joined #lisp 20:42:30 is there a way to define a class with declass whose name is a given string, maybe with intern? 20:42:41 StrmSrfr [~user@208.72.159.205] has joined #lisp 20:42:51 (eval `(defclass ,(intern class-name) ())) 20:43:05 Oops, 20:43:13 (eval `(defclass ,(intern class-name) () ())) 20:43:18 You need to give slots... 20:43:46 -!- francogrex [~user@109.130.182.173] has quit [Remote host closed the connection] 20:43:49 might want to do something about packages 20:44:00 gigamonk` [~user@adsl-99-184-204-110.dsl.pltn13.sbcglobal.net] has joined #lisp 20:44:26 in the above class-name is a string? 20:45:11 -!- gigamonkey [~user@adsl-99-58-30-57.dsl.pltn13.sbcglobal.net] has quit [Read error: Connection reset by peer] 20:45:20 arborist: as you want. 20:45:31 arborist: if you want to get an error, you can pass something else than a string. 20:45:31 ok, thanks 20:45:45 arborist: lisp is not the mean guy, you know. It lets you give it all you want. 20:46:27 it's just a little hard to keep track of what level you are on with that quoting 20:46:41 it gets easier :) 20:47:36 hopefully, but yes just a matter of adaption 20:47:55 arborist: You can write: (eval (list 'defclass (intern class-name) '() '())) 20:48:45 wouldn't () and '() both give nil? 20:49:01 arborist: yes, but it would be bad style to write (list ()). 20:49:17 genevieve [~a@59.178.178.54] has joined #lisp 20:49:27 ok 20:49:44 -!- zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has quit [Ping timeout: 246 seconds] 20:50:07 () should be used only in code, not as a variable. '() returns a data, the empty list. 'nil returns a data, the symbol NIL. nil is a constant variable whose value is the false boolean (ie. nil). 20:50:20 -!- Bike [~Glossina@71-214-97-211.ptld.qwest.net] has quit [Ping timeout: 260 seconds] 20:50:34 zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has joined #lisp 20:50:41 (list '() 'nil nil) --> (nil nil nil), but the meaning is that the first element is an list, the second element is a symbol and the third element is false. 20:51:15 Krystof [~csr21@csrhodes.plus.com] has joined #lisp 20:51:37 ok, but is there anyway of telling afterwards? 20:51:43 No. 20:52:24 then it's really just a style thing 20:52:26 -!- srid_ [~srid@unaffiliated/srid] has quit [Quit: Computer has gone to sleep.] 20:52:52 c_arenz [~arenz@p5B2CAA9F.dip.t-dialin.net] has joined #lisp 20:54:34 mathrick annotated #122729 "PATHNAME-AS-RELATIVE v2, now with ../ support and accurately preserved file names" at http://paste.lisp.org/display/122729#1 20:54:45 -!- genevieve [~a@59.178.178.54] has quit [Ping timeout: 264 seconds] 20:55:47 mathrick: I'm missing context, but would enough-namestring solve your problem? 20:55:51 mathrick: I have something like that somewhere in com.informatimago.common-lisp.interactive.browser IIRC. 20:56:29 Krystof: possibly! 20:57:04 Krystof: I think so 20:57:12 nobody mentioned that when I asked yesterday 20:57:34 So I have a wonder that's probably silly because I've been unable to find it addressed in the source or with some web searching. Sometimes on connect (on sbcl/OS X) usocket is signalling on an EINTR, and I'm wondering why it can't just take care of that for me? 20:57:54 although it doesn't actually ever give you .. / :UP 20:58:26 Krystof: but for what I actually wrote the function for, yes, it'd be perfectly accurate. It's a pity you weren't around yesterday 20:58:29 pjb annotated #122729 "relativize" at http://paste.lisp.org/display/122729#2 20:58:59 -!- gigamonk` [~user@adsl-99-184-204-110.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 250 seconds] 20:59:48 pjb: (relativize "d:/Mass Effect/tools/lipids/foo/bar/" "d:/Mass Effect/tools/lipids/FA/.txt") 20:59:49 ==> "d:/Mass Effect/tools/lipids/foo/bar/" 20:59:52 mathrick: it's much simplier, without validation of the parameters, since I expected to work on truenames. You could always take the truename firsts, unless you want to be able to do it on pathnames corresponding to no existing file. 21:00:22 (pathname-as-relative "d:/Mass Effect/tools/lipids/foo/bar/" "d:/Mass Effect/tools/lipids/FA/.txt") ==> #P"../../FA/.txt" 21:00:39 Yes, that wasn't a use case. 21:00:57 pjb: ah, foo/bar have no truename 21:01:37 for truename-able things, it seems to work fine 21:01:46 malbertife [~marcoalbe@bl4-155-170.dsl.telepac.pt] has joined #lisp 21:02:09 renjikken [~ryuurei@blk-224-243-35.eastlink.ca] has joined #lisp 21:03:15 I'm this close to patching it, but I'm worried I'm overlooking some obvious reason this is a bad idea (to just try again)? 21:03:36 workthrick: make-pathname :defaults pathname-name sounds like a bad idea on a system where you have pathname-devices such as MS-DOS with its C: and D: ... 21:04:02 -!- lonstein [lonstein@ohno.mrbill.net] has quit [Ping timeout: 252 seconds] 21:04:12 I'm trying to compiler some common lisp I wrote using gcl but when I run 'gcl -compile myfile.lisp -c-file -h-file' I get a myfile.c, myfile.h, and myfile.o but it doesn't seem I have anything I can actually run. Anyone know how to use gcl? 21:04:43 renjikken: you will need a CL environment in any case. 21:05:01 -!- c_arenz [~arenz@p5B2CAA9F.dip.t-dialin.net] has quit [Read error: Operation timed out] 21:05:17 renjikken: So the way to use gcl, is to type: gcl RET (load (compile-file "my-file.lisp")) RET 21:05:22 pjb: I must say I don't quite understand how your code works, I suspect I don't have enough of a grip on the semantics of MAKE-PATHNAME 21:05:32 gravicappa [~gravicapp@ppp91-77-168-16.pppoe.mtu-net.ru] has joined #lisp 21:05:39 renjikken: but I wouldn't be friendly if I didn't advise you to use clisp or ecl, or ccl or sbcl instead of gcl... 21:05:50 lonstein [lonstein@ohno.mrbill.net] has joined #lisp 21:05:59 pnq [~nick@AC811AEE.ipt.aol.com] has joined #lisp 21:06:32 X-Scale [email@2001:470:1f08:b3d::2] has joined #lisp 21:07:41 workthrick: it assumes that DEFAULTS is a parent of PATH. It checks that the directories of DEFAULTS are a prefix of the directories of PATH, and remove that prefix, replacing it with :relative. 21:07:51 renjikken: the only reason to use GCL nowadays is if you have lots of code that's not quite ANSI-compliant and doesn't run elsewhere. As far as I'm aware, GCL is close to dead and unmaintained, and is markedly less compliant than all major implementations 21:08:19 workthrick: now, about make-pathname, it works basically by changing the components in :defaults by the components given in arguments. 21:08:32 pjb: yes, but where does it get ../ from? 21:09:14 I forgot gcl existed 21:09:38 workthrick: it should not... 21:10:06 pjb: ah, I see now, I ran PATHNAME-AS-RELATIVE without looking, and thought it was RELATIVIZE :) 21:10:14 :-) 21:10:48 Alright. Thanks for the advice, guys. I'll probably use CLISP, then. I hear that it at least has a small runtime environment even though it compiles to bytecode rather than native. 21:10:50 Thanks a bunch. 21:10:54 -!- bsod1 [~sinan@31.141.59.134] has quit [Remote host closed the connection] 21:11:25 renjikken: ECL is closest to GCL in terms of how it works, in case you want something similar to GCL 21:11:40 salva_xf [~salva_xf@105.11.117.91.dynamic.mundo-r.com] has joined #lisp 21:11:43 renjikken: sbcl is popular, particularly in these parts... 21:13:09 hi, in closs how is named the class variables? thnks 21:13:14 Munksgaard [~Munksgaar@1807ds2-noe.0.fullrate.dk] has joined #lisp 21:13:21 slots. 21:13:36 no 21:13:49 slots of allocation-type class. 21:13:49 slots are instance variables / members / fields 21:13:51 slots are in instances np 21:14:13 salva_xf: what pjb said, allocation-type class 21:14:15 but slots of allocation-type class are almost never used, instead normal global special variables are used. 21:14:16 ok thanks 21:14:23 ah 21:14:28 -!- gravicappa [~gravicapp@ppp91-77-168-16.pppoe.mtu-net.ru] has quit [Ping timeout: 258 seconds] 21:14:37 pjb: thanks 21:14:46 salva_xf: the problem of slots of allocation-type class is that you need an instance to access them. 21:14:49 Alright. I'll consider those, too. I had been using SBCL for a while but it's error messages through me off. I'll test ECL right now. 21:14:55 -!- renjikken is now known as renjikken|busy 21:15:00 salva_xf: in CLOS, class-allocated slots are used in very special situations where it can lead to significant space savings not otherwise attainable 21:15:05 which really rare 21:15:09 renjikken|busy: are you using slime? 21:15:23 salva_xf: you could use the class prototype, but it is instanciated at an implementation dependant time, so it's no better than a normal instance. 21:16:05 pjb: by "class prototype", you mean the instance of type STANDARD-CLASS? 21:16:34 workthrick: no. Each CLOS class has a special object it instanciates internally. I don't know why, I guess for some MOP purposes. 21:17:00 And yes, you need to use the MOP to get a handle on it, so it's also a problem. 21:17:00 ahh 21:17:07 pjb: *instantiates, btw 21:17:27 thanks. 21:17:58 thanks :) 21:18:22 so no usocket guys tonight I guess :/ 21:18:47 -!- juniorroy [~juniorroy@212.36.228.103] has quit [Ping timeout: 246 seconds] 21:19:42 pjb: "This allows non-consing[3] access to slots with allocation :CLASS:" apparently 21:19:59 ebw` [~user@krlh-4d021c8d.pool.mediaWays.net] has joined #lisp 21:20:11 workthrick: :-) 21:20:32 "Whether the instance is initialized is not specified. The results are undefined if a portable program modifies the binding of any slot of a prototype instance." 21:20:38 so yeah, it has no other purpose 21:20:45 -!- lonstein [lonstein@ohno.mrbill.net] has quit [Ping timeout: 255 seconds] 21:21:12 But again, you need to ensure the class is finalized first, and the only non MOP standard way to do it, is to instantiate the class. 21:22:15 yeah, but I don't think you're likely to want to look at class-allocated slots without having any instances around 21:22:28 generally better to use a special, but of course it depends on what you're trying to do 21:22:37 we're not Java, we don't need to fake our globals to have them more "object-oriented" 21:24:03 -!- ebw [~user@krlh-4d034ddd.pool.mediaWays.net] has quit [Ping timeout: 276 seconds] 21:24:33 -!- malbertife [~marcoalbe@bl4-155-170.dsl.telepac.pt] has quit [Quit: malbertife] 21:27:49 unicode [~user@95.214.53.14] has joined #lisp 21:27:55 -!- unicode [~user@95.214.53.14] has quit [Client Quit] 21:27:56 realitygrill_ [~realitygr@adsl-76-226-105-164.dsl.sfldmi.sbcglobal.net] has joined #lisp 21:27:57 lonstein [lonstein@ohno.mrbill.net] has joined #lisp 21:29:00 -!- realitygrill [~realitygr@adsl-76-226-114-68.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 240 seconds] 21:29:00 -!- realitygrill_ is now known as realitygrill 21:29:32 unicode [~user@95.214.53.14] has joined #lisp 21:29:54 -!- jleija [~jleija@50.8.41.50] has quit [Quit: leaving] 21:30:09 whee_ [~whee@misplaced.smaertness.net] has joined #lisp 21:31:57 -!- whee [~whee@misplaced.smaertness.net] has quit [Ping timeout: 264 seconds] 21:31:57 -!- whee_ is now known as whee 21:32:38 Bike [~Glossina@71-38-152-7.ptld.qwest.net] has joined #lisp 21:35:08 -!- unicode [~user@95.214.53.14] has quit [Ping timeout: 244 seconds] 21:36:51 unicode [~user@95.214.0.34] has joined #lisp 21:37:00 -!- npoektop [~npoektop@85.202.112.90] has quit [Ping timeout: 260 seconds] 21:37:59 -!- Guthur [~Guthur@host86-139-108-200.range86-139.btcentralplus.com] has quit [Ping timeout: 250 seconds] 21:38:30 -!- zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has quit [Ping timeout: 252 seconds] 21:39:23 zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has joined #lisp 21:40:21 -!- lonstein [lonstein@ohno.mrbill.net] has quit [Ping timeout: 264 seconds] 21:42:18 lonstein [lonstein@ohno.mrbill.net] has joined #lisp 21:44:41 -!- pnq [~nick@AC811AEE.ipt.aol.com] has quit [Ping timeout: 246 seconds] 21:48:22 -!- dmiles_afk [~dmiles@216.227.116.248] has quit [Read error: Connection reset by peer] 21:50:17 dmiles_afk [~dmiles@216.227.116.248] has joined #lisp 21:50:28 npoektop [~npoektop@85.202.112.90] has joined #lisp 21:51:38 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Read error: Connection reset by peer] 21:52:12 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 21:54:20 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 258 seconds] 21:55:40 -!- lonstein [lonstein@ohno.mrbill.net] has quit [Read error: Operation timed out] 21:57:09 -!- joshee [~joshe@2001:470:f4a6:2:20c:29ff:feda:ac03] has quit [Ping timeout: 264 seconds] 21:58:30 ps aux 21:58:38 oops ;) 21:58:44 -!- OliverUv_ [~gandhi@195.159.235.178] has quit [Read error: Connection reset by peer] 21:59:27 lonstein [lonstein@ohno.mrbill.net] has joined #lisp 22:01:37 sanjoyd [~sanjoyd@unaffiliated/sanjoyd] has joined #lisp 22:02:03 the iSSH macros could be great if I actually used them 22:02:10 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Read error: Connection reset by peer] 22:02:43 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 22:03:09 whee_ [~whee@misplaced.smaertness.net] has joined #lisp 22:03:16 What does #1=(programmable . #1#) mean? I'm guessing it means an infinite list of 'programmable; but my LISP interpreter hangs when trying to evaluate it. 22:03:47 <_3b> yeah, takes a while to evaluate something infinitly long :p 22:03:59 _3b: so am I right? What is this syntax called? 22:04:05 Do (setf *print-circle* t) first... though that will give you the same thing 22:04:05 -!- dmiles_afk [~dmiles@216.227.116.248] has quit [Read error: Connection reset by peer] 22:04:17 <_3b> #= is a dispatching macro character 22:04:17 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Read error: Connection reset by peer] 22:04:18 The cdr points to the cons as a whole, yes. 22:04:21 -!- whee [~whee@misplaced.smaertness.net] has quit [Ping timeout: 264 seconds] 22:04:21 -!- whee_ is now known as whee 22:04:24 <_3b> clhs #= 22:04:25 http://www.lispworks.com/reference/HyperSpec/Body/02_dho.htm 22:04:43 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 22:04:47 OliverUv_ [~gandhi@195.159.235.178] has joined #lisp 22:05:25 dmiles_afk [~dmiles@216.227.116.248] has joined #lisp 22:05:30 <_3b> which doesn't seem to have any particular name 22:06:08 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Read error: Connection reset by peer] 22:06:42 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 22:07:11 -!- cbp [~cesarbol9@189.247.121.82] has quit [] 22:08:44 #1= means that the thing following it will be referencable by #1# after 22:08:54 -!- lnostdal-laptop [~lnostdal@2.148.3.77.tmi.telenormobil.no] has quit [Ping timeout: 255 seconds] 22:09:31 lnostdal-laptop [~lnostdal@2.148.3.77.tmi.telenormobil.no] has joined #lisp 22:09:51 so we're making a cons cell, let's call it bob 22:09:56 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Read error: Connection reset by peer] 22:10:15 -!- dmiles_afk [~dmiles@216.227.116.248] has quit [Read error: Connection reset by peer] 22:10:21 StrmSrfr: yeah, read the spec. :) 22:10:31 and the car of bob points to the symbol named programmable, and the cdr of bob points to bob itself 22:11:00 dmiles_afk [~dmiles@216.227.116.248] has joined #lisp 22:11:01 Basically, '(#1=p #1#) is '(p p) 22:11:03 REPLeffect [~REPLeffec@69.54.115.254] has joined #lisp 22:11:37 so if we try to traverse bob as a list, we get programmable over and over 22:12:48 What is the LISP way to have flags? Say I have something with possible (not exclusive) attributes Read, Write and Execute. How do I represent it? 22:12:58 Right now I'm thinking a list of :read, :write and :exec. 22:13:02 But is there something better? 22:13:15 <_3b> depends on the context, but that sounds reasonable 22:14:15 Is there any way I can have something more restrictive? 22:14:32 Some way I can say, "only :read :write and :exec symbols here"? 22:14:50 (Perhaps something like enum in Java.) 22:14:54 <_3b> depends on the 'here', you could use keyword args for a function for example 22:15:09 This is a field for a struct. 22:15:30 Something like (defstruct foo name flags). 22:16:31 -!- add^_ [~add^_^@h143n4c1o838.bredband.skanova.com] has quit [Quit: add^_] 22:16:48 Ragnaroek [~chatzilla@p5B0C144E.dip0.t-ipconnect.de] has joined #lisp 22:17:18 <_3b> you could hide them behind some functions 22:22:09 -!- morphling [~stefan@gssn-5f756dd0.pool.mediaWays.net] has quit [Remote host closed the connection] 22:22:18 Good morning everyone! 22:23:31 tshauck [~tshauck@99-109-59-35.lightspeed.mssnks.sbcglobal.net] has joined #lisp 22:24:14 -!- lonstein [lonstein@ohno.mrbill.net] has quit [Ping timeout: 258 seconds] 22:24:16 :type (member :read :write :exec), but that won't work for a list of symbols. 22:27:11 lonstein [lonstein@ohno.mrbill.net] has joined #lisp 22:27:57 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 22:28:50 is Lisp ever used as a dynamic web content back-end? 22:29:13 <_3b> yes 22:29:38 <_3b> does ITA count as 'dynamic web content'? 22:31:20 I don't know what ITA is, but I was just wondering if it's ever used for example instead of Perl for generating HTML dynamically 22:31:21 -!- eugu [~Miranda@213.141.157.147] has quit [Quit: eugu] 22:31:42 taiyal: Yes. 22:32:04 taiyal: Why were you wondering? 22:32:29 -!- zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has quit [Ping timeout: 276 seconds] 22:32:36 I'm trying to find some sort of raison d'etre behind the possibility of me getting into Lisp, just something to motivate me to learn it 22:32:57 -!- renjikken|busy is now known as renjikken 22:32:57 I'm doing it for AI personally. 22:33:11 taiyal: How about this: It one of the most powerful and expressive general-purpose languages out there. 22:33:47 taiyal: read one of PG's articles. :) 22:33:56 taiyal: I think that's a much better reason than: Someone is using it instead of Perl to generate HMTL dynamically. 22:34:32 you can use lisp for anything 22:35:00 and "I write LISP" is a great pick-up line. 22:35:49 francogrex [~user@109.130.182.173] has joined #lisp 22:36:08 sanjoyd: We have written it "Lisp" rather than "LISP" for the past few decades. 22:36:49 beach: oh, okay. 22:37:44 pkhuong: i figured it out: the PERL5LIB environment was being set in my shells through a bash rc script, but that variable is (mistakently) absent outside of my shell 22:38:58 -!- francogrex [~user@109.130.182.173] has quit [Read error: Connection reset by peer] 22:39:04 -!- alama [~alama@d86-33-47-55.cust.tele2.at] has quit [Quit: alama] 22:39:59 -!- zfx [~zfx@unaffiliated/zfx] has left #lisp 22:40:24 -!- Davidbrcz [~david@212-198-126-167.rev.numericable.fr] has quit [Ping timeout: 255 seconds] 22:40:27 -!- rosario [~rosario@p4FCDD8AD.dip.t-dialin.net] has quit [Quit: Leaving] 22:40:38 alama [~alama@d86-33-47-55.cust.tele2.at] has joined #lisp 22:42:29 eddayyy [~etate@cpc2-slam5-2-0-cust373.2-4.cable.virginmedia.com] has joined #lisp 22:45:08 alama: that'd do it. 22:45:24 -!- dmiles_afk [~dmiles@216.227.116.248] has quit [Read error: Connection reset by peer] 22:45:44 yeah -- definitely a "d'oh" moment for me 22:46:40 dmiles_afk [~dmiles@216.227.116.248] has joined #lisp 22:46:53 -!- alama [~alama@d86-33-47-55.cust.tele2.at] has quit [Quit: alama] 22:48:03 -!- Ragnaroek [~chatzilla@p5B0C144E.dip0.t-ipconnect.de] has quit [Ping timeout: 255 seconds] 22:48:34 Beetny [~Beetny@ppp118-208-19-192.lns20.bne1.internode.on.net] has joined #lisp 22:48:54 zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has joined #lisp 22:52:19 yes, lisp, it's the greatest language ever 22:52:25 we might be biased 22:54:04 StrmSrfr: We? As in #lisp participants? I am guessing much less so than "communities" around other languages. Lisp people are some of the most knowledgeable and smart people I know. 22:54:54 Well, I started learning because esr said it would expand my mind or something, and it sort of did 22:54:58 -!- whee [~whee@misplaced.smaertness.net] has quit [Read error: Connection reset by peer] 22:55:03 beach: maybe because we tend to encounter more languages on the road to lisp 22:55:13 whee [~whee@misplaced.smaertness.net] has joined #lisp 22:55:31 p_l|backup: That's likely one of the reasons, yes. 22:55:57 ninkk! 22:56:09 so, try to "get" it, try to solve a problem in front of you (a simple one!) and one day you may find yourself saying "oh, I should do this in lisp!" 22:56:28 beach: I somehow suspect CL:DISASSEMBLE is also partially responsible for some of the stuff 22:56:29 and then you may find yourself saying that about everything 22:56:44 and then maybe you'll decide to learn Haskell 22:56:56 a friend of mine did 22:58:20 but yeah, lispers do often have other languages first, so while probably biased, we may be less biased than most 22:59:30 at one point I was a C guy thinking I should write a better languagr, and maybe lisp would be good for the compiler, and then, instead of finishing the compiler, I decided I'd rather just use lisp 22:59:46 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 240 seconds] 23:00:19 "On Lisp" was the text that made me realize why macros are so amazing 23:01:21 StrmSrfr: That's good. A lot of people never arrive at that insight and spend lots of energy and time designing badly designed and slow languages that are way less powerful than Lisp. 23:02:52 sup 23:04:03 well, they're sometimes fast at what they do 23:04:25 or even wee-designed at what they are 23:04:38 but yes, usually less powerful 23:05:09 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Ping timeout: 255 seconds] 23:05:48 less power is good. 23:06:30 plorasg: The other day I asked you a question, but you never answered it. 23:06:57 -!- xan_ [~xan@94.Red-193-152-140.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 23:07:08 xan_ [~xan@94.Red-193-152-140.dynamicIP.rima-tde.net] has joined #lisp 23:07:43 in some cases, yes. A friend and I were trying to design a system to run some code, and we wanted to limit what that code could do, and it seemed like it would be difficult to pull that off in CL 23:08:24 -!- dmiles_afk [~dmiles@216.227.116.248] has quit [Read error: Connection reset by peer] 23:08:49 StrmSrfr: you usually end up with a dsl in that case. 23:09:14 dmiles_afk [~dmiles@216.227.116.248] has joined #lisp 23:09:33 yeah, except we wanted the code to be general heh 23:10:57 pnq [~nick@ACA2003C.ipt.aol.com] has joined #lisp 23:11:03 pkhuong: I can see only two reasons to deliberately want something less powerful than you already have: One is when the existing power bites you somehow and gets in your way of expressing what you want. The other is when you want the compiler to be able to do more, for instance by using a decidable type system. Do you know any others? 23:11:26 I think there might be some way to do it by restricting what symbols they could see, but deciding which ones would be quite the task 23:12:04 <_3b> beach: untrusted input? 23:12:06 beach: the less powerful the system, the easier to reason about it (or at least, the more it's possible to make it easy to reason about) 23:12:17 Easier for machines, but also for humans. 23:12:40 _3b: That falls into my first category. 23:12:45 untrusted input was the thing 23:12:47 pkhuong: That falls into my second category. 23:13:02 I mean, if you take the DSL view to the extreme, you get a language which can only express one program: (|the-program-i'm-writing|) 23:13:10 beach: this isn't necessarily about the compiler. 23:14:02 pkhuong: Then I can't see why one wouldn't just not use the extra power. 23:14:14 (mkreddit :frontpage-downvotes nil) 23:15:29 beach: when codebases grow and projects get old, it's hard to know what others or previous selves have used before. 23:15:56 StrmSrfr: clearly an Arc-inspired program. Those extra 3 characters are worth their weight in gold. 23:15:57 previous selves can be difficult 23:16:31 I'm so glad my langugage includes documentation strings 23:17:19 pkhuong: I see. I really don't buy that argument though; dumb down your tools because you don't trust yourself or your colleagues. 23:18:12 beach: I'm not dumbing anything down. I just want exactly as much power as I'll need. 23:20:53 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 23:20:54 foocraft_ [~ewanas@178.152.114.223] has joined #lisp 23:20:58 -!- foocraft [~ewanas@78.101.150.57] has quit [Ping timeout: 258 seconds] 23:21:43 Then again, my view might be tainted by the fact that I tend to end up debugging issues that can mostly be solved by Thinking Hard and inferring invariants. 23:22:16 -!- zomgbie [~jesus@85-127-168-202.dynamic.xdsl-line.inode.at] has quit [Ping timeout: 252 seconds] 23:22:18 thinking hard is a rarely used feature 23:23:13 pkhuong: I love writing down invariants 23:23:32 shouldn't invariants be... explicitized? 23:23:34 and pre-conditions 23:24:27 -!- sellout- [~Adium@c-24-61-13-161.hsd1.ma.comcast.net] has quit [Quit: Leaving.] 23:24:31 StrmSrfr: I doubt you make explicit every property of the programs you write. 23:25:13 certainly not 23:25:19 but maybe I should more 23:27:08 -!- centipedefarmer [~centipede@97-125-189-198.desm.qwest.net] has quit [Quit: This computer has gone to sleep] 23:27:38 malbertife [~marcoalbe@bl4-155-170.dsl.telepac.pt] has joined #lisp 23:27:48 juniorroy [~juniorroy@212.36.228.103] has joined #lisp 23:28:00 It's not every property of the program you write that you have to explicit. It is every property you want. The program automatically has more properties. 23:28:15 Kruppe [~user@CPE00222d128ba2-CM00222d128b9e.cpe.net.cable.rogers.com] has joined #lisp 23:28:58 ah, but how can you tell ahead of time the set of properties you'll need to enforce and those that'll remain accidental? 23:29:20 pkhuong: by doing a functional analisys and writing down specifications. 23:29:24 -!- malbertife [~marcoalbe@bl4-155-170.dsl.telepac.pt] has left #lisp 23:29:39 whee_ [~whee@misplaced.smaertness.net] has joined #lisp 23:29:42 pjb: then real life happens and requirements change! 23:29:47 The set of specifications are the set of properties you want your programs to have. All the rest is accidental. 23:29:56 You change the set of specifications. 23:30:31 <_3b> you had something resembling concrete requirements to start with? lucky :p 23:30:49 pkhuong: here is something more interesting to think about: What if the specifications are more easily and precisely expressed in a procedural way? 23:30:51 and now an accidental property might become essential, but you have to make sure it's still a property. 23:30:56 -!- whee [~whee@misplaced.smaertness.net] has quit [Ping timeout: 260 seconds] 23:30:56 -!- whee_ is now known as whee 23:31:06 pjb: then you code it procedurally. 23:31:23 Yep. 23:31:41 -!- arborist [~arborist@e182023048.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 23:33:05 -!- unicode [~user@95.214.0.34] has quit [Ping timeout: 260 seconds] 23:33:21 pkhuong: I think it is extremely hard to know in advance exactly what power you will need. Furthermore, I don't think it is binary, i.e, need or not need at all. I think it becomes a complicated problem that will influence total cost. I know quite a lot of bad decision justified by "oh, but we don't need all that power" and then the project end up costing way too much. 23:34:33 -!- taiyal [~taiyal@bb-216-195-184-102.gwi.net] has quit [Ping timeout: 250 seconds] 23:34:38 beach: sure, it's iterative. I just feel like it's preferable to provide less, and refactor with additional tools and possibilities if needed then to try and enforce sanity ex post facto. 23:35:02 unicode [~user@95.214.36.237] has joined #lisp 23:35:46 McMAGIC--Copy [~McMAGIC--@gateway/tor-sasl/mcmagic--copy] has joined #lisp 23:36:34 it's easier to provide too much or not enough power than just enough 23:37:12 you want to be able to redefine operator a but not b, but it's easier to let the user redefine all or none 23:43:27 -!- Simul [~user@97-93-224-156.dhcp.ftwo.tx.charter.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:46:13 I need a nice way to represent this kind of logic: (if (a) (foo) (if (b) (bar) (if (c) (baz)))). Any neat ways to do this? 23:46:24 cond 23:46:35 markskil1eck [~mark@host86-137-37-182.range86-137.btcentralplus.com] has joined #lisp 23:46:45 cond! 23:47:19 Joreji [~thomas@89-228.eduroam.RWTH-Aachen.DE] has joined #lisp 23:47:28 StrmSrfr: but I want the else path to be followed only conditionally - this is not an switch-case kind of thing. 23:47:51 "followed"? 23:47:59 Specifically, each of these "conditions" involves reading a line off a file 23:48:02 (or has other side effects). 23:48:19 So it is not like "if a is 5 then this; if a is 6 then this ..." 23:48:32 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Ping timeout: 276 seconds] 23:48:55 It is more like "if a is 5 then the result of this expression is 10 else read another line, and if this line is "..." then the result of this expression is 20 else ... ". 23:49:10 I'd try to write a macro; but I wanted to check if there is something general I'm missing. 23:49:12 The test forms for cond are evaluated in order. 23:49:17 "Test-forms are evaluated one at a time in the order in which they are given in the argument list until a test-form is found that evaluates to true. 23:49:39 Oh, okay. 23:49:43 " ... "Once one test-form has yielded true, no additional test-forms are evaluated." 23:49:48 I guess I never looked at cond that way. 23:49:59 -!- ch077179 [~urs@xdsl-188-155-1-133.adslplus.ch] has quit [Quit: Verlassend] 23:50:01 Should be perfect then, thanks StrmSrfr Bike! 23:50:09 I'm not sure I did either 23:50:51 So today's lesson: "cond can be used to intelligently redirect control flow". 23:54:07 sellout- [~Adium@c-24-61-13-161.hsd1.ma.comcast.net] has joined #lisp 23:54:28 Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #lisp 23:54:41 -!- gemelen [~shelta@shpd-92-101-132-182.vologda.ru] has quit [Ping timeout: 240 seconds] 23:54:47 Guthur [~Guthur@host86-139-109-254.range86-139.btcentralplus.com] has joined #lisp 23:56:04 sbryant_work [~user@ghanima.slavasaur.com] has joined #lisp 23:58:10 -!- markskil1eck [~mark@host86-137-37-182.range86-137.btcentralplus.com] has quit [Ping timeout: 260 seconds] 23:59:55 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp