00:00:05 benny [~benny@i577A73C7.versanet.de] has joined #lisp 00:02:01 sonnym [~sonny@rrcs-184-74-137-69.nys.biz.rr.com] has joined #lisp 00:03:28 mindCrime [~chatzilla@64.134.184.148] has joined #lisp 00:06:32 jleija [~jleija@50.8.10.126] has joined #lisp 00:08:39 -!- trigen [~MSX@87.209.144.213] has quit [Ping timeout: 252 seconds] 00:09:00 mrSpec [~Spec@pool-151-204-255-122.bstnma.btas.verizon.net] has joined #lisp 00:09:00 -!- mrSpec [~Spec@pool-151-204-255-122.bstnma.btas.verizon.net] has quit [Changing host] 00:09:00 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 00:14:10 What's a quick lisp library that will allow me to slurp a file into a string? 00:14:49 I'd use xcvb-driver, but it's not in quicklisp... 00:14:57 Or maybe I should use it still 00:23:02 tunes: maybe this link will be helpful: http://www.ymeme.com/slurping-a-file-common-lisp-83.html 00:23:25 even if it is not a library 00:25:15 -!- taiyal [~taiyal@bb-216-195-184-102.gwi.net] has quit [Ping timeout: 255 seconds] 00:28:16 -!- mindCrime [~chatzilla@64.134.184.148] has quit [Ping timeout: 246 seconds] 00:30:58 tunes: there's what you want in :com.informatimago.common-lisp.cesarum 00:31:28 (com.informatimago.common-lisp.cesarum.file:text-file-contents "file") 00:33:08 With a package name like that, I think using read-sequence may actually be less typing. :D 00:33:29 tunes: and also in monkeylib utilities as FILE-TEXT 00:33:38 tunes: just quickload all the available systems, and use APROPOS. 00:33:52 nothing can save you now, gigamonkey is also fond of hierarchical package names! 00:34:22 -!- srid [~srid@unaffiliated/srid] has quit [Quit: Computer has gone to sleep.] 00:35:18 -!- manuel_ [~manuel@pD9FDD99E.dip.t-dialin.net] has quit [Quit: manuel_] 00:35:19 sykopomp: actually I intend to rename those packages at some point. 00:37:33 sykopomp: nothing prevents you to (com.informatimago.common-lisp.cesarum.package:add-nickname :com.informatimago.common-lisp.cesarum.file :f :force t :steal t) and then call (f:text-file-contents "file"). 00:37:59 that's even longer! 00:38:27 sykopomp: you never head of compression? There's always an overhead to establish the shortcuts. 00:39:10 s/head/heard/ 00:40:19 ISF [~ivan@187.106.54.41] has joined #lisp 00:46:25 -!- oudeis [~oudeis@109.64.200.17] has quit [Quit: This computer has gone to sleep] 00:46:52 Mococa [~Mococa@177.16.232.47] has joined #lisp 00:47:05 -!- urandom__ [~user@p548A5B12.dip.t-dialin.net] has quit [Remote host closed the connection] 00:52:32 -!- lanthan_afh [~ze@p50992b91.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 00:53:22 lanthan_afh [~ze@p50992b91.dip0.t-ipconnect.de] has joined #lisp 00:53:51 pjb: Is that the same as (setf (package-nicknames (find-package "com.informatimago.common-lisp.cesarum.")) "SHORT-FOO") 00:55:34 pjb_ [~pjb@81.202.16.46.dyn.user.ono.com] has joined #lisp 00:55:59 far from it. check the sources. nicknames are not easy to deal with. 00:56:04 -!- Mococa [~Mococa@177.16.232.47] has quit [Quit: Saindo] 00:56:11 Mococa [~Mococa@177.16.232.47] has joined #lisp 00:58:19 actually, just realized there is not setf of PACKAGE-NICKNAMES ! 00:58:33 So rather, (rename-package (find-package "com.informatimago.common-lisp.cesarum.") "com.informatimago.common-lisp.cesarum." '("SHORT-FOO")) 00:59:08 still utterly wrong. 00:59:30 works over here :) 00:59:39 what if short name is already used? what if the package already has other nicknames? 00:59:41 -!- Ralith [~ralith@d142-058-200-192.wireless.sfu.ca] has quit [Ping timeout: 240 seconds] 01:00:19 OK. got it. 01:00:31 notice that you canot rename a package with the same name: it's not defined! 01:01:04 -!- zmv [~daniel@c95334de.virtua.com.br] has quit [Ping timeout: 252 seconds] 01:02:07 -!- zfx [~zfx@unaffiliated/zfx] has quit [Quit: Be back later] 01:02:43 Looks like your users have a bootstrapping problem then. They don't want to type the fully-qualified package name so they never find your cool function ...package:add-nickname and so don't know just how easy you've made it for them... 01:05:43 pjb: Have you considered adding some pre-canned package-nicknames for COM.INFORMATIMAGO.COMMON-LISP.* packages? 01:06:02 No. That would defeat the purpose. 01:06:20 so likely you did consider it :) 01:06:47 Only the final user can add nicknames. anything that is distributed must have absolutely no nickname. 01:07:40 and as a final user i don't even add nicknames, because code tends to be distributed finally. 01:07:41 FWIW I understand why you do it and its clear that your reasoning is sound. But I'm quite sure that your convictions pose a burden on your users. 01:07:51 I may add some, interactively. 01:08:11 or some sort of top level flag 01:08:15 I expect my users to be adults. 01:08:36 pjb_: consenting adults? 01:10:12 mon_key`: it's a mistake to use the plural 01:10:59 right. 01:11:02 sorry. 01:12:01 I'm sorry that my joking remarks led to this. There's not really any problem with importing symbols from packages with long names. Specially since I can have SLIME complete the names for me. :) 01:12:19 *sykopomp* is a fan of hierarchical package names, fwiw 01:12:38 I'd like them too. 01:12:59 If only they were universally adopted. 01:13:12 yeah :\ 01:14:10 Xach: is "consenting adults" grammatically incorrect or was that a poke at pjb? 01:14:24 space-cadet [~jason@pool-173-60-69-202.lsanca.fios.verizon.net] has joined #lisp 01:14:46 -!- mon_key` [~user@74-143-13-202.static.insightbb.com] has quit [Quit: loosing the grave] 01:15:10 I think yours was correct and mine was wrong. 01:15:37 oudeis [~oudeis@bzq-109-64-200-17.red.bezeqint.net] has joined #lisp 01:15:55 mon_key [~user@unaffiliated/monkey/x-267253] has joined #lisp 01:17:04 pnq [~nick@ACA272CB.ipt.aol.com] has joined #lisp 01:18:21 -!- lnostdal-laptop [~lnostdal@77.16.33.126.tmi.telenormobil.no] has quit [Ping timeout: 255 seconds] 01:25:19 lnostdal-laptop [~lnostdal@77.16.164.63.tmi.telenormobil.no] has joined #lisp 01:25:45 taiyal [~taiyal@bb-216-195-184-102.gwi.net] has joined #lisp 01:26:05 -!- pjb_ [~pjb@81.202.16.46.dyn.user.ono.com] has quit [Quit: from my iPad] 01:26:06 -!- kpreid [~kpreid@216.239.45.22] has quit [Quit: Offline] 01:28:01 hussaibi [~hussaibi@wirewall.cs.toronto.edu] has joined #lisp 01:28:03 hussaibi_ [~hussaibi@wirewall.cs.toronto.edu] has joined #lisp 01:31:03 mindCrime [~chatzilla@cpe-076-182-089-009.nc.res.rr.com] has joined #lisp 01:32:31 -!- phax [~phax@unaffiliated/phax] has quit [Quit: Leaving] 01:35:51 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: night] 01:46:39 -!- peearr [~aaron@159.153.4.51] has quit [Ping timeout: 246 seconds] 01:47:39 -!- SegFaultAX [~mkbernard@VEROXITY.ipcolo1.SanFrancisco1.Level3.net] has quit [Remote host closed the connection] 01:52:15 fullets_ [~fullets@eth59-167-133-99.static.internode.on.net] has joined #lisp 01:52:15 -!- fullets [~fullets@eth59-167-133-99.static.internode.on.net] has quit [Read error: Connection reset by peer] 01:52:16 -!- fullets_ is now known as fullets 01:57:46 -!- ikki [~ikki@201.155.92.12] has quit [Ping timeout: 264 seconds] 02:00:16 neoesque [~neoesque@210.59.147.232] has joined #lisp 02:01:22 forty5cal [~Aaron@adsl-68-88-201-107.dsl.rcsntx.swbell.net] has joined #lisp 02:01:35 -!- forty5cal [~Aaron@adsl-68-88-201-107.dsl.rcsntx.swbell.net] has left #lisp 02:04:31 brandwe [~brandwe@c-71-227-176-38.hsd1.wa.comcast.net] has joined #lisp 02:05:01 -!- rmarianski [~rmariansk@mail.marianski.com] has quit [Quit: leaving] 02:08:48 -!- brandwe [~brandwe@c-71-227-176-38.hsd1.wa.comcast.net] has quit [Read error: Connection reset by peer] 02:10:23 kpreid [~kpreid@adsl-75-36-181-173.dsl.pltn13.sbcglobal.net] has joined #lisp 02:10:34 -!- peterhil` [~peterhil@gw.maxisat.fi] has quit [Read error: Operation timed out] 02:11:08 ikki [~ikki@201.144.87.46] has joined #lisp 02:12:08 fullets_ [~fullets@eth59-167-133-99.static.internode.on.net] has joined #lisp 02:12:08 -!- fullets_ [~fullets@eth59-167-133-99.static.internode.on.net] has quit [Remote host closed the connection] 02:12:11 -!- fullets [~fullets@eth59-167-133-99.static.internode.on.net] has quit [Read error: Connection reset by peer] 02:12:17 fullets [~fullets@eth59-167-133-99.static.internode.on.net] has joined #lisp 02:12:36 -!- madnificent [~madnifice@83.101.62.132] has quit [Ping timeout: 276 seconds] 02:13:50 -!- hypercube32 [~hypercube@231.125.189.72.cfl.res.rr.com] has quit [Quit: Leaving] 02:20:21 -!- gffa [~gffa@unaffiliated/gffa] has quit [Quit: sleep] 02:28:40 peterhil` [~peterhil@gw.maxisat.fi] has joined #lisp 02:36:46 -!- renjikken [~ryuurei@142.162.11.232] has quit [Quit: Leaving] 02:40:56 Salamander_ [~Salamande@ppp118-210-247-39.lns20.adl6.internode.on.net] has joined #lisp 02:41:51 -!- parabolize [~paraboliz@203.83.50.36] has quit [Ping timeout: 276 seconds] 02:44:07 -!- Salamander [~Salamande@ppp121-45-132-71.lns21.adl2.internode.on.net] has quit [Ping timeout: 240 seconds] 02:45:19 phax [~phax@unaffiliated/phax] has joined #lisp 02:47:15 areil [148b9232@gateway/web/freenode/ip.20.139.146.50] has joined #lisp 02:49:58 dto [~user@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 02:50:08 how do i get the name of the package associated with a given symbol? 02:50:14 i looked for symbol-package but there isn't one 02:50:35 oh 02:51:40 never mind 02:52:30 parabolize [~paraboliz@203.83.50.36] has joined #lisp 02:57:48 -!- Phoodus [~foo@68.107.217.139] has quit [Ping timeout: 258 seconds] 03:02:49 -!- ikki [~ikki@201.144.87.46] has quit [Ping timeout: 252 seconds] 03:18:10 -!- areil [148b9232@gateway/web/freenode/ip.20.139.146.50] has quit [Ping timeout: 252 seconds] 03:21:58 drdo [~drdo@91.205.108.93.rev.vodafone.pt] has joined #lisp 03:33:02 -!- sbalousek [~sbalouse@ip174-67-214-212.oc.oc.cox.net] has quit [Read error: Connection reset by peer] 03:33:52 sbalousek [~sbalouse@ip174-67-214-212.oc.oc.cox.net] has joined #lisp 03:38:13 -!- phax [~phax@unaffiliated/phax] has quit [Quit: Leaving] 03:43:57 -!- dto [~user@pool-96-252-62-25.bstnma.fios.verizon.net] has left #lisp 03:44:44 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 03:50:54 realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has joined #lisp 03:52:07 -!- sbalousek [~sbalouse@ip174-67-214-212.oc.oc.cox.net] has quit [Read error: Connection reset by peer] 03:52:31 -!- MeanWeen [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has quit [Quit: Leaving] 03:52:50 sbalousek [~sbalouse@ip174-67-214-212.oc.oc.cox.net] has joined #lisp 03:53:10 MeanWeen [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has joined #lisp 03:58:31 Salamander [~Salamande@ppp118-210-93-128.lns20.adl2.internode.on.net] has joined #lisp 04:01:45 -!- Salamander_ [~Salamande@ppp118-210-247-39.lns20.adl6.internode.on.net] has quit [Ping timeout: 246 seconds] 04:02:06 -!- MeanWeen [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has quit [Ping timeout: 246 seconds] 04:02:25 srid [~srid@S010678ca39ff0146.vn.shawcable.net] has joined #lisp 04:02:26 -!- srid [~srid@S010678ca39ff0146.vn.shawcable.net] has quit [Changing host] 04:02:26 srid [~srid@unaffiliated/srid] has joined #lisp 04:02:52 MeanWeen [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has joined #lisp 04:04:15 spradnyesh [~pradyus@203.83.248.38] has joined #lisp 04:05:21 -!- MeanWeen [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has quit [Client Quit] 04:06:39 -!- Salamander [~Salamande@ppp118-210-93-128.lns20.adl2.internode.on.net] has quit [Ping timeout: 255 seconds] 04:07:07 -!- Hundenn [~Hunden@e180096169.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 04:11:06 Hunden [~Hunden@e180100145.adsl.alicedsl.de] has joined #lisp 04:19:05 Salamander [~Salamande@ppp121-45-151-233.lns21.adl6.internode.on.net] has joined #lisp 04:19:27 Ralith [~ralith@S010600221561996a.vc.shawcable.net] has joined #lisp 04:21:09 -!- McMAGIC--Copy [~McMAGIC--@gateway/tor-sasl/mcmagic--copy] has quit [Ping timeout: 250 seconds] 04:21:44 Organometallica [Jeremy@host-9-122.ilcu3rd.clients.pavlovmedia.com] has joined #lisp 04:22:31 McMAGIC--Copy [~McMAGIC--@gateway/tor-sasl/mcmagic--copy] has joined #lisp 04:24:10 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 04:25:09 -!- Evanescence [~chris@122.237.7.163] has quit [Quit: WeeChat 0.3.5] 04:25:49 fmeyer [~fmeyer@186.220.34.186] has joined #lisp 04:29:01 -!- fmeyer [~fmeyer@186.220.34.186] has quit [Client Quit] 04:32:30 rukubites [~user@d211-30-68-222.meb9.vic.optusnet.com.au] has joined #lisp 04:32:38 Evanescence [~chris@122.237.7.163] has joined #lisp 04:32:56 Is it possible to use lisp streams as a communication pipe between threads without resorting to grey streams? 04:33:24 (no, not a homework assignment) 04:40:39 -!- Evanescence [~chris@122.237.7.163] has quit [Quit: WeeChat 0.3.5] 04:40:47 Salamander_ [~Salamande@ppp121-45-80-28.lns20.adl6.internode.on.net] has joined #lisp 04:42:01 xxxyyy [~xyxu@222.68.152.185] has joined #lisp 04:43:07 -!- Salamander [~Salamande@ppp121-45-151-233.lns21.adl6.internode.on.net] has quit [Ping timeout: 250 seconds] 04:46:10 -!- Mococa [~Mococa@177.16.232.47] has quit [Remote host closed the connection] 04:52:21 Phoodus [~foo@ip72-223-116-248.ph.ph.cox.net] has joined #lisp 04:52:42 -!- Amadiro [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has quit [Quit: Leaving] 04:53:54 Lisp streams are byte or character streams. 04:54:08 It's more likely that you want queues between threads. 04:54:16 Unless your aim is to use threads as processes. 04:55:51 Zhivago: I do want queues between threads, but the from-software currently only writes out to streams. So it would have been useful if it was 'easy' to do. 04:56:18 I guess I will just directly implement what I want to do - a zeromq forwarder for the log5 logging library. 04:56:55 Or rather, a generic forwarder, with zeromq as my primary target. 04:57:57 -!- Salamander_ [~Salamande@ppp121-45-80-28.lns20.adl6.internode.on.net] has quit [Ping timeout: 255 seconds] 05:00:54 You can think of a character stream as a queue for characters, of course. 05:06:48 -!- BlankVerse [~pankajm@202.3.77.219] has quit [Ping timeout: 276 seconds] 05:07:07 -!- ISF [~ivan@187.106.54.41] has quit [Ping timeout: 240 seconds] 05:07:49 phax [~phax@unaffiliated/phax] has joined #lisp 05:08:52 kushal [~kdas@fedora/kushal] has joined #lisp 05:10:49 -!- Phoodus [~foo@ip72-223-116-248.ph.ph.cox.net] has quit [Ping timeout: 258 seconds] 05:10:59 Salamander_ [~Salamande@ppp121-45-156-133.lns21.adl6.internode.on.net] has joined #lisp 05:11:27 -!- phax [~phax@unaffiliated/phax] has quit [Client Quit] 05:15:30 -!- Salamander_ [~Salamande@ppp121-45-156-133.lns21.adl6.internode.on.net] has quit [Ping timeout: 255 seconds] 05:21:00 kslt1` [~user@netblock-208-127-156-174.dslextreme.com] has joined #lisp 05:23:21 -!- jleija [~jleija@50.8.10.126] has quit [Quit: good night everyone] 05:26:48 littlebobby [~bob@unaffiliated/littlebobby] has joined #lisp 05:27:55 Salamander_ [~Salamande@ppp121-45-141-74.lns21.adl2.internode.on.net] has joined #lisp 05:28:38 mcsontos [~mcsontos@nat/redhat/x-lkfaugepsqfrgkhj] has joined #lisp 05:31:05 BlankVerse [~pankajm@202.3.77.219] has joined #lisp 05:32:38 -!- Bike [~Glossina@71-214-98-135.ptld.qwest.net] has quit [Quit: Leaving.] 05:32:56 Bike [~Glossina@71-214-98-135.ptld.qwest.net] has joined #lisp 05:34:32 xan_ [~xan@vpn11.hotsplots.net] has joined #lisp 05:37:19 -!- kslt1` [~user@netblock-208-127-156-174.dslextreme.com] has quit [Remote host closed the connection] 05:42:44 cyrillos [~cyrill@188.134.33.130] has joined #lisp 05:44:19 rfg [~rfg@dsl78-143-206-87.in-addr.fast.co.uk] has joined #lisp 05:44:55 fullets_ [~fullets@eth59-167-133-99.static.internode.on.net] has joined #lisp 05:44:59 -!- fullets [~fullets@eth59-167-133-99.static.internode.on.net] has quit [Read error: Connection reset by peer] 05:44:59 -!- fullets_ is now known as fullets 05:45:59 -!- rfg [~rfg@dsl78-143-206-87.in-addr.fast.co.uk] has quit [Client Quit] 05:48:18 Salamander [~Salamande@ppp121-45-79-190.lns20.adl6.internode.on.net] has joined #lisp 05:49:39 -!- Salamander_ [~Salamande@ppp121-45-141-74.lns21.adl2.internode.on.net] has quit [Ping timeout: 252 seconds] 05:49:43 -!- srid [~srid@unaffiliated/srid] has quit [Quit: Computer has gone to sleep.] 05:54:12 -!- Salamander [~Salamande@ppp121-45-79-190.lns20.adl6.internode.on.net] has quit [Ping timeout: 255 seconds] 05:55:28 Good morning! 05:58:57 Joreji [~thomas@83-096.eduroam.RWTH-Aachen.DE] has joined #lisp 06:00:30 gravicappa [~gravicapp@ppp91-77-215-245.pppoe.mtu-net.ru] has joined #lisp 06:07:44 Salamander [~Salamande@ppp118-210-181-83.lns20.adl6.internode.on.net] has joined #lisp 06:12:48 moin 06:12:52 serichsen: good morning 06:14:24 flip214 [~marek@2001:858:107:1:7a2b:cbff:fed0:c11c] has joined #lisp 06:14:24 -!- flip214 [~marek@2001:858:107:1:7a2b:cbff:fed0:c11c] has quit [Changing host] 06:14:24 flip214 [~marek@unaffiliated/flip214] has joined #lisp 06:20:39 Salamander_ [~Salamande@ppp118-210-114-245.lns20.adl2.internode.on.net] has joined #lisp 06:23:29 -!- Salamander [~Salamande@ppp118-210-181-83.lns20.adl6.internode.on.net] has quit [Ping timeout: 246 seconds] 06:23:48 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 06:24:39 good morning 06:30:30 trigen [~MSX@87.209.144.213] has joined #lisp 06:31:03 Hi mvilleneuve! 06:34:44 -!- trigen [~MSX@87.209.144.213] has quit [Ping timeout: 252 seconds] 06:35:10 varjag [~eugene@122.62-97-226.bkkb.no] has joined #lisp 06:40:04 madnificent [~madnifice@83.101.62.132] has joined #lisp 06:42:11 ikki [~ikki@200.95.162.228] has joined #lisp 06:42:57 -!- xan_ [~xan@vpn11.hotsplots.net] has quit [Quit: leaving] 06:44:07 -!- rukubites [~user@d211-30-68-222.meb9.vic.optusnet.com.au] has quit [Remote host closed the connection] 06:54:44 -!- poindontcare [~user@cloudbovina.bovinasancta.com] has quit [Disconnected by services] 06:58:50 -!- anonus [~anonymous@88.80.28.189] has quit [Ping timeout: 246 seconds] 06:59:07 -!- Organometallica [Jeremy@host-9-122.ilcu3rd.clients.pavlovmedia.com] has quit [Quit: Leaving] 06:59:54 -!- gravicappa [~gravicapp@ppp91-77-215-245.pppoe.mtu-net.ru] has quit [Ping timeout: 255 seconds] 07:01:05 aerique [310225@xs8.xs4all.nl] has joined #lisp 07:01:41 anonus [~anonymous@88.80.28.189] has joined #lisp 07:04:00 Phoodus [~foo@ip72-223-116-248.ph.ph.cox.net] has joined #lisp 07:05:35 mvillene1ve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 07:06:36 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Ping timeout: 276 seconds] 07:07:22 insomnia1alt [~milan@port-92-204-71-163.dynamic.qsc.de] has joined #lisp 07:07:22 -!- insomnia1alt [~milan@port-92-204-71-163.dynamic.qsc.de] has quit [Changing host] 07:07:22 insomnia1alt [~milan@unaffiliated/iammilan] has joined #lisp 07:10:23 -!- insomniaSalt [~milan@unaffiliated/iammilan] has quit [Ping timeout: 246 seconds] 07:10:24 -!- insomnia1alt is now known as insomniaSalt 07:13:11 -!- anvandare [~anvandare@dD5770C27.access.telenet.be] has quit [Ping timeout: 246 seconds] 07:15:58 anvandare [~anvandare@dD5770CEF.access.telenet.be] has joined #lisp 07:16:11 -!- mvillene1ve is now known as mvilleneuve 07:16:12 alama [~jessealam@86.93.35.187] has joined #lisp 07:16:28 am0c [~am0c@218.51.116.50] has joined #lisp 07:17:24 -!- ltriant [~ltriant@lithium.mailguard.com.au] has quit [Quit: Computer has gone to sleep] 07:20:39 e-user [~e-user@nat/nokia/x-lznioduzgqcpdcyl] has joined #lisp 07:22:18 fullets_ [~fullets@eth59-167-133-99.static.internode.on.net] has joined #lisp 07:23:04 -!- anonus [~anonymous@88.80.28.189] has quit [Ping timeout: 258 seconds] 07:25:06 -!- fullets [~fullets@eth59-167-133-99.static.internode.on.net] has quit [Ping timeout: 255 seconds] 07:25:06 -!- fullets_ is now known as fullets 07:27:23 Beetny [~Beetny@ppp118-208-6-95.lns20.bne1.internode.on.net] has joined #lisp 07:28:59 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 07:30:37 mishoo__ [~mishoo@79.112.119.222] has joined #lisp 07:30:38 nikodemus [~nikodemus@cs181063174.pp.htv.fi] has joined #lisp 07:32:57 anonus [~anonymous@88.80.28.189] has joined #lisp 07:33:10 Ashiel [~Ashiel@c-69-245-145-117.hsd1.in.comcast.net] has joined #lisp 07:33:20 -!- Ashiel [~Ashiel@c-69-245-145-117.hsd1.in.comcast.net] has quit [Remote host closed the connection] 07:38:11 -!- ikki [~ikki@200.95.162.228] has quit [Ping timeout: 252 seconds] 07:40:00 Ashiel [~Ashiel@c-69-245-145-117.hsd1.in.comcast.net] has joined #lisp 07:41:14 chu [~mathew.ba@130.56.80.210] has joined #lisp 07:47:24 jdz [~jdz@193.206.22.97] has joined #lisp 07:51:46 -!- mishoo__ [~mishoo@79.112.119.222] has quit [Ping timeout: 264 seconds] 07:52:40 -!- tessier [~treed@216.105.40.125] has quit [Changing host] 07:52:40 tessier [~treed@kernel-panic/copilotco] has joined #lisp 07:54:46 -!- spradnyesh [~pradyus@203.83.248.38] has left #lisp 07:55:57 -!- Bike [~Glossina@71-214-98-135.ptld.qwest.net] has quit [Quit: Leaving.] 08:05:53 hai 08:07:04 -!- alama [~jessealam@86.93.35.187] has quit [Quit: Computer has gone to sleep.] 08:09:12 hi 08:09:35 anyone read The Common Lisp Companion? 08:10:01 -!- am0c [~am0c@218.51.116.50] has quit [Remote host closed the connection] 08:10:13 dated 1990, its pricey and there's no review on amazon 08:13:16 -!- oudeis [~oudeis@bzq-109-64-200-17.red.bezeqint.net] has quit [Quit: This computer has gone to sleep] 08:14:17 -!- sykopomp [~sykopomp@gateway/tor-sasl/sykopomp] has quit [Ping timeout: 250 seconds] 08:15:02 spradnyesh [~pradyus@nat/yahoo/x-oqyatzokwfosooyi] has joined #lisp 08:15:46 -!- Salamander_ is now known as Salamander 08:17:34 -!- spradnyesh [~pradyus@nat/yahoo/x-oqyatzokwfosooyi] has quit [Client Quit] 08:19:31 leo2007 [~leo@123.114.53.131] has joined #lisp 08:20:23 mstevens [~mstevens@ceres.etla.org] has joined #lisp 08:20:23 -!- mstevens [~mstevens@ceres.etla.org] has quit [Changing host] 08:20:23 mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has joined #lisp 08:21:18 Have not read that spacebat but here is a possible interest: http://gog.gateit.net/books/ 08:21:23 tfb [~tfb@92.40.150.220.threembb.co.uk] has joined #lisp 08:22:15 -!- hussaibi_ [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 260 seconds] 08:22:27 -!- hussaibi [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 276 seconds] 08:22:31 -!- leo2007 [~leo@123.114.53.131] has quit [Client Quit] 08:24:05 -!- benny [~benny@i577A73C7.versanet.de] has quit [Remote host closed the connection] 08:24:25 daniel [~daniel@p508294FB.dip.t-dialin.net] has joined #lisp 08:26:18 -!- Salamander [~Salamande@ppp118-210-114-245.lns20.adl2.internode.on.net] has quit [Ping timeout: 255 seconds] 08:26:20 -!- daniel_ [~daniel@p5B326BB9.dip.t-dialin.net] has quit [Ping timeout: 260 seconds] 08:26:53 SidH_ [~SidH_@203.101.61.7] has joined #lisp 08:27:07 sykopomp [~sykopomp@gateway/tor-sasl/sykopomp] has joined #lisp 08:27:24 -!- jcazevedo [~jcazevedo@81.193.39.156] has quit [Quit: Leaving] 08:27:45 -!- ASau [~user@176.14.33.178] has quit [Quit: off] 08:28:19 -!- SidH_ [~SidH_@203.101.61.7] has quit [Remote host closed the connection] 08:28:50 SidH_ [~SidH_@203.101.61.7] has joined #lisp 08:29:37 -!- Axioplase is now known as Axioplase_ 08:30:49 -!- Harag [~Harag@dsl-242-254-64.telkomadsl.co.za] has quit [Ping timeout: 258 seconds] 08:31:11 -!- pnq [~nick@ACA272CB.ipt.aol.com] has quit [Ping timeout: 240 seconds] 08:31:15 Does anyone know if there are job opportunities for a student in lisp programming ? I would like to do an internship but there are few results on the google 08:31:19 -!- nicdev_ [~nicdev@209-6-50-99.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: nicdev_] 08:31:24 benny [~benny@i577A73C7.versanet.de] has joined #lisp 08:32:09 The_third_man: try ita, they have a summer intern programme (but if they still have it after having become google, you'll have to wait until next summer) 08:32:31 Kenjin [~josesanto@bl19-237-169.dsl.telepac.pt] has joined #lisp 08:33:12 what is ita ? 08:33:21 The_third_man: itasoftware.com 08:33:33 yep, just found on google 08:33:55 seems to be located in usa 08:33:57 :( 08:34:24 oh, an office in Amsterdam though 08:34:26 The_third_man: you did not say anything about your location, and if you want to do lisp, you can't be picky anyway 08:34:34 The_third_man: no development in amsterdam. 08:35:00 -!- SidH_ [~SidH_@203.101.61.7] has quit [Remote host closed the connection] 08:35:38 SidH_ [~SidH_@203.101.61.10] has joined #lisp 08:36:22 yeah, I don't mind moving to the usa to work on lisp, but I have to be paid then :o 08:36:51 c_arenz [~arenz@nat/ibm/x-smmitizhacuawkwg] has joined #lisp 08:36:58 The_third_man: be more specific about where you're looking then 08:37:43 I'm ready to move everywhere, but the fact is that I have to be able to live there :p 08:38:40 Ideally, it would be France or England, because it's close from home, but I do know if there are a lot of opportunities 08:38:45 pdo [~pdo@217.33.254.141] has joined #lisp 08:39:00 Salamander [~Salamande@ppp118-210-253-209.lns20.adl6.internode.on.net] has joined #lisp 08:39:12 don't know* 08:39:40 accenture use common lisp in australia 08:40:24 Salamander_ [~Salamande@ppp118-210-92-150.lns20.adl2.internode.on.net] has joined #lisp 08:40:27 not sure if they'd have had me anyway, but moving to sydney was out of the question and they do pair programming 08:43:45 -!- Salamander [~Salamande@ppp118-210-253-209.lns20.adl6.internode.on.net] has quit [Ping timeout: 250 seconds] 08:45:17 -!- Elench`` is now known as Elench 08:46:57 what's wrong in pair programming :o ? 08:47:34 (apart from the obvious drawbacks, such as having a guy constantly look at your code) 08:47:46 and this is a drawback? 08:48:05 nope, it's the idea of pair programming :p 08:51:43 anyway, Ita seems nice. I'll send an email once I have more details about my internship 08:52:48 do you know about opportunities in europe ? 08:53:45 no. 08:53:57 :( 08:56:57 zfx [~zfx@unaffiliated/zfx] has joined #lisp 08:57:21 The_third_man: Europe sucks :P 08:57:50 phryk: in this regard, yes. Other things are much better ;) 08:58:15 -!- Salamander_ [~Salamande@ppp118-210-92-150.lns20.adl2.internode.on.net] has quit [Ping timeout: 255 seconds] 08:58:49 flip214: And those are? 08:59:41 well, if you travel a few hundred km you can see completely different cultures, with different languages ... that gives another picture of the world than when all you see around you is US 09:00:30 so, in a single word, diversity .... and that's just one historically caused thing, don't get me started about things like healthcare and so on 09:00:38 and the us is a monoculture? 09:01:10 I don't know about that, in this country i can go to a different part of the country and meet another culture 09:01:22 Can't believe that this is completely different in the US 09:01:40 And yes, diversity is nice^^ 09:02:49 Yup, that's why i would like to try the us 09:03:38 Because it's a monoculture? 09:03:43 no 09:03:51 because it's different from my culture :D 09:03:53 ^^ 09:03:59 What culture is your culture?^^ 09:04:05 France /o/ 09:04:15 Sacre bleu :D 09:04:19 USA can be annoying in some of its cultural exports, like being one of the big sources for anti-islam feelings... (other than islamic immigrants in Western Europe) 09:04:36 The_third_man: Try the netherlands. 09:04:59 drdo` [~drdo@91.205.108.93.rev.vodafone.pt] has joined #lisp 09:05:01 alama [~jessealam@86.93.35.187] has joined #lisp 09:05:07 Which leaves me astonished when I see those sentiments here in Poland, given what was the origin of our islamic minority... 09:05:29 rstandy [~rastandy@93-63-185-248.ip29.fastwebnet.it] has joined #lisp 09:05:29 The_third_man: Also, this makes us natural enemies *nya harr harr harr* 09:05:58 p_l|backup: What *was* the origin of your islamic minority? 09:06:00 Tell me that we always surrender and I'll start flaming :p 09:06:18 elite corps of troops who faithfully served Poland for centuries, who originally came from what is now Turkey 09:06:26 (cavalry) 09:06:31 Zurrendar viek frentschmän!1!! :P 09:06:41 -!- drdo [~drdo@91.205.108.93.rev.vodafone.pt] has quit [Ping timeout: 240 seconds] 09:07:03 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 09:07:19 damn, a funny german, what an uncommon thing :D 09:07:38 If that's uncommon for you, then you don't know the right Germans^^ 09:07:40 The_third_man: I blame the way the french picked the idiot ball in WW2 for that "french always surrender" thing... 09:08:03 p_l|backup, how ? 09:08:17 oudeis [~oudeis@bzq-218-0-98.cablep.bezeqint.net] has joined #lisp 09:09:07 The_third_man: Anybody who can't do a proper impersonation of Hitler and/or Göbbels isn't a real German :P 09:09:33 The_third_man: how did they pick the idiot ball? I'll say it this way - if they moved when they declared war, the war would probably end in 1940 or 1941 09:10:15 are you done cranking out stereotypes yet? this is #lisp, mind you. 09:10:16 Oh lawd, I didn't want to break off a political discussion in here 09:10:33 xD 09:10:52 *p_l|backup* thought he was in different channel, due to nicks he didn't recognize 09:11:08 welcome #stereotypes 09:11:13 H4ns: So you all just taunt me for using vim and I let off some smartass comments about how emacs is a nice os but its' editor sucks? :P 09:11:43 phryk: i've seen enough, thank you. 09:11:46 ^^ 09:11:50 scnr 09:11:59 vim is better than emacs, in a lot of ways :D 09:12:06 s/a lot/many 09:12:14 well, time to go for me - another two hours of driving practice coming up 09:12:26 have fun :) 09:12:28 run for the hills :) 09:12:38 The_third_man: Can't say, never tried emacs but it looked to bothersome to learn since I'm satisfied with vim 09:13:10 Are any of you by chance at the Chaos Camp near Berlin next week? 09:13:23 afk 09:13:30 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 09:13:35 Salamander [~Salamande@ppp121-45-27-93.lns20.adl2.internode.on.net] has joined #lisp 09:13:39 phryk, maybe some friends of mine, but not me 09:13:54 The_third_man: :( 09:14:02 I'd like to meet some of the people of this channel^^ 09:14:10 Try a lisp symposium :D 09:14:21 That's too hardcore for me :P 09:14:33 CCC is too hardcore for me then :p 09:14:55 Gee, I'm basically incompetent in everything and go there :P 09:15:32 It's just a nice thing to meet a lot of other nerds/geeks, have interesting talks (something you can't have with your average joe) and learn about awesome stuff :) 09:16:33 When I see the discussions of my friends which are in the security lab of my school, I think that I would not understand much at CCC or defcon :p 09:16:48 CCC isn't that security based 09:17:18 For example theres a dna hacking talk, a talk about 'she-hackers' and other stuff 09:18:03 The_third_man: http://events.ccc.de/camp/2011/Fahrplan/ <-- have a look at it. texts of german-only talks are in german, though. 09:19:23 And you gotta admit "Nonlinear dynamics/analysis of vanishing bovine products in an office environment." sounds awesome :P 09:19:34 yeah :p 09:19:46 I'll try it one year then 09:19:56 If you have the time and money for it try out the congress in december. 09:20:13 phryk: europe sucks anyway 09:20:27 H4ns: Of course but the hacker culture still is nice :P 09:20:41 I will not have the time in the upcoming year sadly 09:20:49 This is the worst year of my school :D 09:21:07 It's not like the congress is running away :) 09:21:18 I'll try another year :) 09:21:43 Hit me up when you do :) 09:21:54 sure :D 09:22:02 xan_ [~xan@109.144.223.64] has joined #lisp 09:22:29 for now, it's time to focus on studies ^^ 09:23:54 -!- Salamander [~Salamande@ppp121-45-27-93.lns20.adl2.internode.on.net] has quit [Ping timeout: 255 seconds] 09:29:40 am0c [~am0c@218.51.116.50] has joined #lisp 09:34:41 ngz [~user@188.137.103.84.rev.sfr.net] has joined #lisp 09:36:54 Salamander [~Salamande@ppp118-210-17-244.lns20.adl2.internode.on.net] has joined #lisp 09:37:57 -!- neoesque [~neoesque@210.59.147.232] has quit [Quit: Bye!] 09:38:48 -!- chu [~mathew.ba@130.56.80.210] has quit [Ping timeout: 252 seconds] 09:44:20 mishoo [~mishoo@79.112.119.222] has joined #lisp 09:44:20 -!- zfx [~zfx@unaffiliated/zfx] has quit [Quit: Be back later] 09:45:22 gravicappa [~gravicapp@80.90.116.82] has joined #lisp 09:50:05 Evanescence [~chris@122.237.7.163] has joined #lisp 10:05:07 leo2007 [~leo@222.130.128.231] has joined #lisp 10:05:59 zfx [~zfx@mail.inqmobile.com] has joined #lisp 10:05:59 -!- zfx [~zfx@mail.inqmobile.com] has quit [Changing host] 10:05:59 zfx [~zfx@unaffiliated/zfx] has joined #lisp 10:07:24 pnq [~nick@AC8134FA.ipt.aol.com] has joined #lisp 10:09:14 Athas [~athas@130.225.165.40] has joined #lisp 10:14:42 The_third_man: the best way to get a lisp internship in France, would be for you to start up a SARL, and offer yourself the internship. 10:14:50 Yuuhi [benni@p5483BC98.dip.t-dialin.net] has joined #lisp 10:15:03 pjb: hehe. 10:20:03 hi 10:20:05 pjb: hi 10:20:08 pjb: how are you ? 10:20:54 -!- alama [~jessealam@86.93.35.187] has quit [Quit: Textual IRC Client: http://www.textualapp.com/] 10:22:28 Hi! Fine, thanks. 10:24:33 -!- drdo` is now known as drdo 10:28:41 Harag [~Harag@dsl-242-254-64.telkomadsl.co.za] has joined #lisp 10:28:42 -!- taiyal [~taiyal@bb-216-195-184-102.gwi.net] has quit [Ping timeout: 255 seconds] 10:29:13 pjb: does that actually count? it sounds rather creative :-) 10:30:48 ehu: the creator of a company doesn't have a specific relationship to the company. He can be employed or not. He sure can be an "intern". 10:31:41 hmm. never thought about it that way. interesting. 10:31:42 pjb, I think I'd rather go to the lab of my school than create a sarl :D 10:31:52 they do lisp also 10:34:59 zfx- [~zfx@mail.inqmobile.com] has joined #lisp 10:35:21 but if I could, I would try elsewhere 10:35:26 -!- zfx [~zfx@unaffiliated/zfx] has quit [Ping timeout: 260 seconds] 10:36:16 The_third_man: I got the impression in France Lisp usage is even more of a trade secret than elsewhere. You might get lucky contacting alumnii. 10:37:52 It the fault of Ocaml, THE french functionnal language: p 10:38:17 In US universities you learn scheme in first year, in France I learned ocaml ^^ 10:38:38 most of the functionnal jobs are around ocaml I think 10:39:02 I don't think so. Most of the functional jobs are around C++, like everywhere else. 10:39:23 pjb: shouldn't that be "dysfunctional jobs" with C++? ;) 10:39:58 Yep. 10:40:32 C++ is not a functionnal language, I can't admit that :D 10:42:04 Well, every (turing-complete) language can be used for functional programming ... in some it's easy, in some it's hard 10:42:48 juniorroy [~juniorroy@212.36.228.103] has joined #lisp 10:43:48 adominguez [~adomingue@38.Red-80-36-82.staticIP.rima-tde.net] has joined #lisp 10:44:39 -!- adominguez [~adomingue@38.Red-80-36-82.staticIP.rima-tde.net] has left #lisp 10:46:40 -!- oudeis [~oudeis@bzq-218-0-98.cablep.bezeqint.net] has quit [Quit: This computer has gone to sleep] 10:49:08 mishoo_ [~mishoo@79.112.119.222] has joined #lisp 10:52:02 vaaal [irc2gowebc@151.73.36.87] has joined #lisp 10:52:08 hi 10:52:29 simple question: can i evaluate something that i'm writing in a file and not in the repl withouth copying and pastying? 10:52:33 -!- mishoo [~mishoo@79.112.119.222] has quit [Ping timeout: 255 seconds] 10:52:44 yeah vaaal 10:52:45 Yes. Type C-x C-e after the expression. 10:52:50 (if you use emacs) 10:52:50 thank you 10:52:54 good to know 10:52:55 yes emacs 10:52:59 ok 10:53:27 this is really a life improvment. 10:54:19 C-M-x does the same thing for the current top-level expression 10:54:30 which is often more convenient 10:54:45 -!- ngz [~user@188.137.103.84.rev.sfr.net] has quit [Ping timeout: 276 seconds] 10:55:44 yes 10:55:48 H4ns` [~user@p4FFC9B52.dip.t-dialin.net] has joined #lisp 10:55:59 really more convenient. And there is a way to unintern all the cl-user symbols? 10:56:21 (do-symbols (s "CL-USER") (unintern s)) 10:56:24 vaaal: why do you want to do that? 10:56:27 mmm 10:56:35 H4ns`: let him learn. 10:56:40 i've to unbound a method 10:56:55 but it's pretty nasty, as you know. 10:57:02 Methods are not bound. 10:57:05 mmm 10:57:13 how can i say? 10:57:16 Variables are bound. Functions are fbound. 10:57:16 undefine 10:57:21 unintern symbols connect to method? 10:57:29 yep 10:57:50 so i think is faster unintern all and reload the file with right method. 10:57:51 vaaal, if you redefine it empty ? 10:57:58 mmm 10:58:00 If you're concerned by a specific method, why do you want to unintern the function ame? What about its other methods? 10:58:16 vaaal: what you may want, is to remove a method 10:58:32 clhs remove-method 10:58:33 http://www.lispworks.com/reference/HyperSpec/Body/f_rm_met.htm 10:58:35 pjb 10:58:38 i know how to do 10:58:44 but it's pretty long to write everytime. 10:58:55 it's more fast unintern all and reload the file. 10:59:03 (it's also more clean for me) 10:59:06 Write yourself a function or a macro to make it easier! 10:59:11 Are you a programmer or a user? 10:59:16 programmer 10:59:18 -!- H4ns [~user@p4FFC9BF4.dip.t-dialin.net] has quit [Ping timeout: 255 seconds] 10:59:22 so 10:59:24 this is a good idea. 10:59:29 ^^ 10:59:32 For a programmer, nothing is pretty long to writre everytime. 10:59:38 i will do. 10:59:40 thank you 10:59:43 Everything may be long to write ONCE! 10:59:47 ^^ 10:59:48 -!- H4ns` is now known as H4ns 11:00:16 anyway 11:00:33 what was happens if i would uninterned all the symbols of cl-user? 11:00:41 that was a bad idea? 11:00:57 There would be no symbol accessible from the CL-USER package. 11:01:04 mm 11:01:07 Not catastrophic, but try it. 11:01:10 don't seems a big trouble 11:01:13 ook 11:01:16 i will try 11:01:17 ^^ 11:01:18 now. 11:01:41 -!- pnq [~nick@AC8134FA.ipt.aol.com] has quit [Ping timeout: 240 seconds] 11:02:43 -!- Joreji [~thomas@83-096.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 258 seconds] 11:03:36 longlene [~loong0@180.109.187.220] has joined #lisp 11:04:48 well, that might be my new favourite ... ": Everything may be long to write ONCE! -- for all other things, there's (once-only)" ;) 11:06:27 -!- vaaal [irc2gowebc@151.73.36.87] has quit [Ping timeout: 276 seconds] 11:06:30 pnq [~nick@AC8134FA.ipt.aol.com] has joined #lisp 11:06:38 -!- lanthan_afh [~ze@p50992b91.dip0.t-ipconnect.de] has quit [Quit: Ex-Chat] 11:06:55 lanthan_afh [~ze@p50992b91.dip0.t-ipconnect.de] has joined #lisp 11:07:35 vaaal [irc2gowebc@151.73.60.68] has joined #lisp 11:12:57 -!- Nshag [user@chl45-1-88-123-84-8.fbx.proxad.net] has quit [Ping timeout: 276 seconds] 11:13:00 mrSpec [~Spec@pool-151-204-255-122.bstnma.btas.verizon.net] has joined #lisp 11:13:00 -!- mrSpec [~Spec@pool-151-204-255-122.bstnma.btas.verizon.net] has quit [Changing host] 11:13:00 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 11:13:47 -!- Salamander [~Salamande@ppp118-210-17-244.lns20.adl2.internode.on.net] has quit [Ping timeout: 240 seconds] 11:14:25 vaaal585 [irc2gowebc@151.73.60.68] has joined #lisp 11:15:21 -!- vaaal [irc2gowebc@151.73.60.68] has quit [Ping timeout: 276 seconds] 11:16:24 Salamander [~Salamande@ppp121-45-75-40.lns20.adl6.internode.on.net] has joined #lisp 11:20:11 -!- xan_ [~xan@109.144.223.64] has quit [Ping timeout: 250 seconds] 11:20:44 -!- pnq [~nick@AC8134FA.ipt.aol.com] has quit [Ping timeout: 252 seconds] 11:23:14 pnq [~nick@AC8134FA.ipt.aol.com] has joined #lisp 11:25:00 nicdev_ [~nicdev@209-6-50-99.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #lisp 11:28:23 -!- Evanescence [~chris@122.237.7.163] has quit [Quit: WeeChat 0.3.5] 11:31:47 -!- nicdev_ [~nicdev@209-6-50-99.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: nicdev_] 11:32:40 acelent [~user@2001:690:2100:4:200:1aff:fe19:ddfc] has joined #lisp 11:32:41 -!- Salamander [~Salamande@ppp121-45-75-40.lns20.adl6.internode.on.net] has quit [Ping timeout: 240 seconds] 11:33:06 i don't know which function to use: pathname or parse-namestring 11:33:25 acelent: Pathname, usually. 11:34:04 Xach: thanks. 11:36:16 Xach: however, does it return nil or signal an error when the syntax is invalid? 11:37:16 I don't know. The spec would tell you. I'm basing my suggestion on the fact that I sometimes use PATHNAME and very rarely use PARSE-NAMESTRING. 11:37:20 Salamander [~Salamande@ppp121-45-102-33.lns20.adl6.internode.on.net] has joined #lisp 11:39:24 -!- vaaal585 [irc2gowebc@151.73.60.68] has quit [Read error: Connection reset by peer] 11:44:04 Salamander_ [~Salamande@ppp118-210-150-252.lns20.adl6.internode.on.net] has joined #lisp 11:47:34 -!- Salamander [~Salamande@ppp121-45-102-33.lns20.adl6.internode.on.net] has quit [Ping timeout: 258 seconds] 11:48:48 -!- Salamander_ [~Salamande@ppp118-210-150-252.lns20.adl6.internode.on.net] has quit [Ping timeout: 255 seconds] 11:52:15 -!- Euthydemus` [~euthydemu@unaffiliated/euthydemus] has quit [Quit: leaving] 11:52:30 vaaal [irc2gowebc@151.73.37.45] has joined #lisp 11:52:45 xan_ [~xan@vpn9.hotsplots.net] has joined #lisp 11:52:50 -!- pnq [~nick@AC8134FA.ipt.aol.com] has quit [Ping timeout: 260 seconds] 11:55:45 nicdev_ [~nicdev@209-6-50-99.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #lisp 11:56:19 Vivitron [~user@pool-71-174-61-33.bstnma.fios.verizon.net] has joined #lisp 11:57:14 Euthydemus [~euthydemu@unaffiliated/euthydemus] has joined #lisp 11:58:01 naeg [~naeg@194.208.239.170] has joined #lisp 12:00:00 -!- xan_ [~xan@vpn9.hotsplots.net] has quit [Ping timeout: 240 seconds] 12:01:16 acelent: in presence of unix physical pathnames, it's very hard to have an invalid syntax in a pathname. The only thing that occurs to be, would be the presence of a #\Nul inside the string. (pathname (format nil "Hello ~C World!" (code-char 0))) 12:01:29 Salamander_ [~Salamande@ppp118-210-55-176.lns20.adl2.internode.on.net] has joined #lisp 12:03:44 JuanDaugherty [~Ren@cpe-72-228-177-92.buffalo.res.rr.com] has joined #lisp 12:04:28 But eg. ccl doesn't detect an error when evaluating that. 12:04:57 Another syntax error would be pathname elements too long. 12:06:01 pnq [~nick@AC8134FA.ipt.aol.com] has joined #lisp 12:06:13 trigen [~MSX@87.209.144.213] has joined #lisp 12:06:40 -!- nicdev_ [~nicdev@209-6-50-99.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: nicdev_] 12:06:48 acelent: what prompted the question? 12:07:09 acelent: I find I also fairly rarely use PATHNAME, unless I'm trying to treat something as a pathname object for method selection. 12:09:08 dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has joined #lisp 12:10:53 acelent: see also sb-ext:parse-native-namestring 12:15:12 Joreji [~thomas@83-096.eduroam.RWTH-Aachen.DE] has joined #lisp 12:20:30 -!- pnq [~nick@AC8134FA.ipt.aol.com] has quit [Ping timeout: 252 seconds] 12:21:14 cfy__ [~cfy@123.155.233.242] has joined #lisp 12:22:58 -!- naeg [~naeg@194.208.239.170] has quit [Quit: WeeChat 0.3.5] 12:24:52 anyone can please tell me how to do code path analysis and type inference? any papers understandable for non-math people? 12:25:09 my generic number-promotion is VERY slow :( 12:26:57 weirdo: Are you writing a CL? 12:27:15 Xach, not, a Scheme, but the problem is very similar 12:27:24 numeric tower is almost(?) exactly CL-like 12:27:40 where does it differ ? 12:27:55 it's probably the same spec, but i might have messed it up somehow :-) 12:28:17 at least tak() works 12:28:31 it takes 1 minute now because of generic type dispatch instead of 4-5 secs :( 12:28:47 weirdo: Are you writing it in CL? 12:28:48 if only i had dispatch, it would be *a lot* faster 12:28:57 Xach, no, in javascript and Scheme itself 12:29:04 weirdo: Maybe you could discuss it somewhere else? 12:29:21 why? i could adapt a CL solution 12:29:55 I don't want to read a discussion about your inability to understand how to use an off-topic langauge to implement an off-topic language, as applicable as the ideas might be to the topical language. 12:30:39 -!- am0c [~am0c@218.51.116.50] has quit [Ping timeout: 255 seconds] 12:30:54 wow 12:31:48 he has a point though weirdo, a suggestion might be to discuss this in a math channel or maybe even #haskell if you can hack that 12:32:06 they'd eat it up but of course from a haskel perspective 12:32:12 *haskell 12:32:19 pnq [~nick@AC8134FA.ipt.aol.com] has joined #lisp 12:32:31 haskell typeclasses make for horrible type errors of course :-) 12:33:06 yeah haskellers are in a world of their own 12:33:27 'unable to construct an infinite type [a] -> a' when consing an atom to an atom? eh 12:33:30 :-) 12:33:35 s/->/= 12:35:01 on the other had term rewriting, various compiler topics *are* on topic for lisp and a lot of stuff has been done in it. Translating from CL to scheme should be straight forward but people want to keep a CL focus here and there's #racket 12:35:48 BountyX [~erhan@212.175.106.165] has joined #lisp 12:37:26 and #scheme 12:38:20 -!- Joreji [~thomas@83-096.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 260 seconds] 12:39:40 weirdo: The essentials of programming languages has at least one chapter on type inference IIRC 12:39:53 thank you 12:46:02 fiveop [~fiveop@dslb-178-002-115-065.pools.arcor-ip.net] has joined #lisp 12:48:02 -!- pnq [~nick@AC8134FA.ipt.aol.com] has quit [Ping timeout: 250 seconds] 12:49:01 -!- BountyX [~erhan@212.175.106.165] has quit [Ping timeout: 260 seconds] 12:49:33 -!- TristamWrk [~tristamwr@2620:0:2820:b03:214:22ff:fe45:5204] has quit [Remote host closed the connection] 12:50:54 -!- juniorroy [~juniorroy@212.36.228.103] has quit [Ping timeout: 255 seconds] 12:51:22 /aw 12:51:25 Uhm. 12:54:49 -!- flip214 [~marek@unaffiliated/flip214] has quit [Remote host closed the connection] 12:55:38 am0c [~am0c@218.51.116.50] has joined #lisp 12:57:28 carlocci [~nes@93.37.215.41] has joined #lisp 12:58:05 bozhidar [~user@95.87.216.58] has joined #lisp 12:59:14 -!- sonnym [~sonny@rrcs-184-74-137-69.nys.biz.rr.com] has quit [Quit: Leaving.] 13:01:51 -!- realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has quit [Quit: realitygrill] 13:04:24 -!- Salamander_ [~Salamande@ppp118-210-55-176.lns20.adl2.internode.on.net] has quit [Ping timeout: 255 seconds] 13:04:58 -!- Ashiel [~Ashiel@c-69-245-145-117.hsd1.in.comcast.net] has quit [Remote host closed the connection] 13:07:56 Ashiel [~Ashiel@c-69-245-145-117.hsd1.in.comcast.net] has joined #lisp 13:09:10 -!- cyrillos [~cyrill@188.134.33.130] has quit [Quit: Ex-Chat] 13:11:15 ikki [~ikki@201.144.87.46] has joined #lisp 13:13:18 -!- longlene [~loong0@180.109.187.220] has left #lisp 13:16:50 Salamander_ [~Salamande@ppp118-210-141-122.lns20.adl6.internode.on.net] has joined #lisp 13:16:52 BountyX [~erhan@46.104.191.114] has joined #lisp 13:19:10 -!- mindCrime [~chatzilla@cpe-076-182-089-009.nc.res.rr.com] has quit [Ping timeout: 252 seconds] 13:19:49 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Quit: Lost terminal] 13:21:11 zomgbie [~jesus@85-127-217-153.dynamic.xdsl-line.inode.at] has joined #lisp 13:21:28 -!- Salamander_ [~Salamande@ppp118-210-141-122.lns20.adl6.internode.on.net] has quit [Client Quit] 13:22:28 Salamander [~Salamande@ppp118-210-141-122.lns20.adl6.internode.on.net] has joined #lisp 13:22:33 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Remote host closed the connection] 13:30:00 Nshag [user@chl45-1-88-123-84-8.fbx.proxad.net] has joined #lisp 13:34:20 -!- SidH_ [~SidH_@203.101.61.10] has quit [Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330]] 13:37:34 sonnym [~sonny@singlebrookvpn.lightlink.com] has joined #lisp 13:38:34 -!- mcsontos [~mcsontos@nat/redhat/x-lkfaugepsqfrgkhj] has quit [Quit: Leaving] 13:41:07 ngz [~user@209.141.80.79.rev.sfr.net] has joined #lisp 13:41:09 csdwifi [~csdwifi@76.177.215.56] has joined #lisp 13:41:10 -!- csdwifi [~csdwifi@76.177.215.56] has quit [Changing host] 13:41:10 csdwifi [~csdwifi@unaffiliated/csddesk] has joined #lisp 13:42:03 mrSpec [~Spec@c-66-31-28-194.hsd1.ma.comcast.net] has joined #lisp 13:42:03 -!- mrSpec [~Spec@c-66-31-28-194.hsd1.ma.comcast.net] has quit [Changing host] 13:42:03 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 13:42:49 -!- hypno [~hypno@impulse2.gothiaso.com] has left #lisp 13:43:47 ChibaPet [~mason@74.203.221.34] has joined #lisp 13:44:03 dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #lisp 13:46:15 Joreji [~thomas@78-043.eduroam.RWTH-Aachen.DE] has joined #lisp 13:53:37 xan_ [~xan@echelon.ext.c-base.org] has joined #lisp 13:54:27 -!- ikki [~ikki@201.144.87.46] has quit [Ping timeout: 250 seconds] 13:54:53 -!- Kenjin [~josesanto@bl19-237-169.dsl.telepac.pt] has quit [Quit: Computer has gone to sleep] 13:55:59 -!- Oddity [~Oddity@unaffiliated/oddity] has quit [Ping timeout: 258 seconds] 13:56:31 -!- cfy__ [~cfy@123.155.233.242] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 13:56:47 rmarianski [~rmariansk@mail.marianski.com] has joined #lisp 13:59:44 gffa [~gffa@5249FBAA.cm-4-2d.dynamic.ziggo.nl] has joined #lisp 14:00:18 -!- gffa [~gffa@5249FBAA.cm-4-2d.dynamic.ziggo.nl] has quit [Changing host] 14:00:18 gffa [~gffa@unaffiliated/gffa] has joined #lisp 14:01:01 kennyd [~kennyd@78-1-183-249.adsl.net.t-com.hr] has joined #lisp 14:04:21 -!- vaaal [irc2gowebc@151.73.37.45] has quit [Ping timeout: 276 seconds] 14:06:34 -!- lanthan_afh [~ze@p50992b91.dip0.t-ipconnect.de] has quit [Quit: Ex-Chat] 14:07:47 ikki [~ikki@200.95.162.199] has joined #lisp 14:08:04 -!- hugod [~hugod@bas1-montreal50-1279441928.dsl.bell.ca] has quit [Read error: Operation timed out] 14:08:57 madalu [~user@unaffiliated/madalu] has joined #lisp 14:10:50 -!- Athas [~athas@130.225.165.40] has quit [Remote host closed the connection] 14:11:43 cfy__ [~cfy@123.155.233.242] has joined #lisp 14:12:36 Oddity [~Oddity@unaffiliated/oddity] has joined #lisp 14:12:48 -!- BountyX [~erhan@46.104.191.114] has quit [Ping timeout: 255 seconds] 14:13:15 -!- xan_ [~xan@echelon.ext.c-base.org] has quit [Ping timeout: 255 seconds] 14:13:17 BountyX [~erhan@212.175.106.121] has joined #lisp 14:13:57 xan_ [~xan@echelon.ext.c-base.org] has joined #lisp 14:13:58 urandom__ [~user@p548A3132.dip.t-dialin.net] has joined #lisp 14:13:58 replore_ [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 14:15:34 -!- DGASAU [~user@91.218.144.129] has quit [Remote host closed the connection] 14:15:53 genieliu [~genieliu@59.78.62.120] has joined #lisp 14:16:15 DGASAU [~user@91.218.144.129] has joined #lisp 14:17:51 homie [~levgue@xdsl-78-35-154-57.netcologne.de] has joined #lisp 14:20:16 milanj [~milanj_@109-93-103-241.dynamic.isp.telekom.rs] has joined #lisp 14:21:22 Is there a variable that can be bound to prevent the printer from spitting out the #1#-ified version of forms? 14:21:40 *print-circle* 14:24:38 thanks 14:25:08 upwardindex [~upwardind@modemcable016.209-80-70.mc.videotron.ca] has joined #lisp 14:25:29 -!- upwardindex [~upwardind@modemcable016.209-80-70.mc.videotron.ca] has quit [Client Quit] 14:28:54 -!- DGASAU [~user@91.218.144.129] has quit [Remote host closed the connection] 14:29:12 -!- cfy__ [~cfy@123.155.233.242] has quit [Ping timeout: 252 seconds] 14:29:46 DGASAU [~user@91.218.144.129] has joined #lisp 14:32:27 -!- varjag [~eugene@122.62-97-226.bkkb.no] has quit [Quit: Leaving] 14:35:37 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Remote host closed the connection] 14:35:42 LiamH [~healy@216-67-59-18.static.acsalaska.net] has joined #lisp 14:36:02 gemelen [~shelta@shpd-95-53-170-231.vologda.ru] has joined #lisp 14:36:25 cfy__ [~cfy@123.155.233.242] has joined #lisp 14:36:32 -!- phryk [~phryk@yggdrasil.phryk.net] has quit [Ping timeout: 252 seconds] 14:36:36 phryk [~phryk@yggdrasil.phryk.net] has joined #lisp 14:36:46 -!- ikki [~ikki@200.95.162.199] has quit [Ping timeout: 264 seconds] 14:36:47 -!- dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has quit [Quit: dnolen] 14:39:04 -!- DGASAU [~user@91.218.144.129] has quit [Remote host closed the connection] 14:39:21 -!- betta_y_omega [~betta_y_o@90.166.231.220] has quit [Ping timeout: 255 seconds] 14:40:08 DGASAU [~user@91.218.144.129] has joined #lisp 14:40:18 Kenjin [~josesanto@bl15-228-94.dsl.telepac.pt] has joined #lisp 14:41:11 betta_y_omega [~betta_y_o@90.166.231.220] has joined #lisp 14:43:45 -!- Beetny [~Beetny@ppp118-208-6-95.lns20.bne1.internode.on.net] has quit [Ping timeout: 260 seconds] 14:47:47 Organometallica [~Jeremy@henle2.scs.uiuc.edu] has joined #lisp 14:48:49 -!- c_arenz [~arenz@nat/ibm/x-smmitizhacuawkwg] has quit [Quit: Ex-Chat] 14:50:32 hugod [~hugod@bas1-montreal50-1279633711.dsl.bell.ca] has joined #lisp 14:51:29 c_arenz [~arenz@nat/ibm/x-tuypiaenyqdnhqab] has joined #lisp 14:52:04 -!- kpreid [~kpreid@adsl-75-36-181-173.dsl.pltn13.sbcglobal.net] has quit [Quit: Quitting] 14:55:16 -!- BountyX [~erhan@212.175.106.121] has quit [Ping timeout: 258 seconds] 14:56:02 thanks all. the reason of my question is that i have a function that receives a pathname designator, and i'm only interested in the `pathname-name' of it to merge with some other pathname 14:56:47 -!- rstandy [~rastandy@93-63-185-248.ip29.fastwebnet.it] has quit [Ping timeout: 240 seconds] 14:58:05 -!- fiveop [~fiveop@dslb-178-002-115-065.pools.arcor-ip.net] has quit [Quit: humhum] 14:59:50 juniorroy [~juniorroy@212.36.228.103] has joined #lisp 15:01:01 http://paste.lisp.org/display/123806 15:01:24 -!- xan_ [~xan@echelon.ext.c-base.org] has quit [Ping timeout: 258 seconds] 15:01:47 acelent: you can just use pathname-name on the object directly. 15:01:48 i'm using parse-namestring mainly because it's better documented and #p also uses it 15:01:58 acelent: pathname-name takes a pathname designator. 15:02:25 Xach: true, but i intend to use file-pathname elsewhere, i.e. i might be interested in the type as well, but i just want to parse it once 15:02:26 homie` [~levgue@xdsl-84-44-210-160.netcologne.de] has joined #lisp 15:02:46 There's no file-pathname in CL. 15:03:02 acelent: Why? 15:04:17 -!- homie [~levgue@xdsl-78-35-154-57.netcologne.de] has quit [Ping timeout: 246 seconds] 15:05:21 Xach: well, performance is not a good reason, this'll be called once or twice 15:05:25 pjb: it's a variable name 15:05:30 Davidbrcz [~david@ANantes-151-1-216-80.w2-8.abo.wanadoo.fr] has joined #lisp 15:05:53 Xach: but pretend that performance is a reason 15:06:00 ok 15:06:20 as in, i don't want to process the same thing twice 15:07:12 acelent: btw, you don't need the WHEN check in relative pathname construction 15:07:14 _6502_ [58959a57@gateway/web/freenode/ip.88.149.154.87] has joined #lisp 15:07:15 Xach: btw, pathname-name on a string pathname designator, will it call pathname or parse-namestring? 15:07:29 jdz: it can contain nils? 15:07:54 <_6502_> hello... looking at CLHS seems that relational operators are not short-circuiting, is this a deliberate choice or just an historical fact? 15:08:02 acelent: oh, my bad. nvm my rambling. 15:08:06 _6502_: like what? 15:08:32 <_6502_> pkhuong: (< (foo) (bar) (baz)) will call baz anyway i mean 15:08:57 deliberate, i would say 15:09:06 _6502_: it's a function. 15:09:09 _6502_: it is short-circuiting 15:09:26 _6502_: it will not compare the result of (bar) to result of (baz) 15:09:27 they're functions, and it is a cleaner design than making them special forms or macros 15:09:28 acelent: I don't know. 15:10:02 _6502_: well, in cases when the result is known from the first comparison, anyway 15:10:15 ikki [~ikki@201.155.92.12] has joined #lisp 15:10:27 <_6502_> jdz: you mean that (< 3 2 nil) is required to not give an error? 15:10:57 no 15:11:23 Notice the error situations use the word "MIGHT": Might signal type-error if some argument is not a real. Might signal arithmetic-error if otherwise unable to fulfill its contract. 15:11:23 15:11:47 Um, what? (< a b c) is required to ensure that a b c are in an ascending order. 15:11:52 <_6502_> may this is to allow parallel implementation 15:12:07 ok, i'm soo failing today 15:12:13 Why should it short-circuit? 15:12:49 <_6502_> zhivago: if b and a are already out of order there's no need to check c 15:12:52 Zhivago: it is not required to ensure anything. 15:12:59 Zhivago: it's a function that returns true or NIL. 15:13:00 -!- littlebobby [~bob@unaffiliated/littlebobby] has quit [Quit: Ex-Chat] 15:13:05 Zhivago: it doesn't have to ensure anything. 15:13:18 `pathname' solely receives a pathname designator and returns a pathname, but it has no exceptional behaviour documented, so I don't know what happens if the designator is not valid 15:13:19 `parse-namestring', however, states that the first argument is one of string, pathname or stream, but then it accepts a pathname designator for :default-pathname 15:13:23 pjb: I forgot that French people don't speak English. 15:13:25 _6502_: it might or might not short circuit. All the arguments will be evaluated regardless. 15:13:37 Zhivago: it could short-circuit the testing of the gazillion last arguments, if the first two are not in order. 15:13:47 Zhivago: it seems Zhivago doesn't speak English either. 15:13:48 <_6502_> and this is a sensible feature? 15:13:59 <_6502_> pkhuong: and this is in your opinion a sensible feature? 15:14:20 _6502_: it's a function. 15:14:22 <_6502_> pkhuong: in common lisp it had to be done this way (using #'< is important e.g. for sorting) 15:14:45 oudeis [~oudeis@109.64.200.17] has joined #lisp 15:14:48 its a function, functions are way better than special forms. 15:14:49 splineman [~emagdalen@129.Red-88-4-185.dynamicIP.rima-tde.net] has joined #lisp 15:14:51 <_6502_> pkhuuong: I've to decide if allow (< ...) to be a short circuiting macro 15:15:00 pjb: Not as a function. 15:15:26 _6502_: (let (x) (< 1 0 (print 'Hello) (setf x (read)) (print (* 2 x)))) 15:15:38 this is conforming code with a very defined behavior. 15:15:42 I like the fact that the a given function in CL acts the same regardless or whether it's used directly or via a function argument. 15:16:16 <_6502_> pjb: I know... i wonder if this is a feature or an accident 15:16:22 _6502_: now, nobody prevents you to define a macro short< that won't evaluate the arguments it doesn't need to evaluate. 15:16:28 THis is a feature, not an accident. 15:16:33 Look at scheme for the accident. 15:16:41 Is (print 'Hello) a number? 15:16:56 Sorry, a real? 15:16:58 Zhivago: It doesn't matter, it's specified. 15:16:59 <_6502_> pjb: you mean their choice of allowing random order evaluation? 15:17:02 Salamander_ [~Salamande@ppp121-45-73-39.lns20.adl6.internode.on.net] has joined #lisp 15:17:20 Zhivago: (+ 'a "Hello") is conforming code with specified behavior. 15:17:49 pjb: <'s arguments are specified to be reals. 15:18:22 But calling a funciton with arguments of a type it doesn't expect is still CONFORMING and it still has specified behavior. 15:18:49 <_6502_> also i wonder if (=) (<) and the like should also all return true 15:18:59 -!- Salamander [~Salamande@ppp118-210-141-122.lns20.adl6.internode.on.net] has quit [Ping timeout: 246 seconds] 15:19:05 ok, clhs for pathname-name et al. says that namestring parsing is implementation specific 15:19:42 anyway, the examples use parse-namestring. i guess i'll use it too 15:19:42 _6502_: they're specified to take at least one argument. 15:20:28 <_6502_> pjb: where? 15:20:37 clhs = 15:20:37 http://www.lispworks.com/reference/HyperSpec/Body/f_eq_sle.htm 15:20:43 <_6502_> ah... number+ 15:20:46 <_6502_> numbers+ 15:20:49 <_6502_> got it 15:21:12 -!- aerique [310225@xs8.xs4all.nl] has quit [Quit: ...] 15:21:43 or better yet, i'll just make filename be a pathname-name and move along 15:22:33 srolls [~user@c-76-126-212-192.hsd1.ca.comcast.net] has joined #lisp 15:26:05 after all, i'm restricting reldir and subdir to be directory names 15:26:29 pjb: So, what is the specified behaviour of (+ 1 2 'hello)? 15:26:43 -!- kushal [~kdas@fedora/kushal] has quit [Quit: Leaving] 15:27:07 H4ns_ [579faeb5@gateway/web/freenode/ip.87.159.174.181] has joined #lisp 15:28:14 rstandy [~rastandy@93-63-185-248.ip29.fastwebnet.it] has joined #lisp 15:30:06 _6502_: (and (< a b) (< b c)) is a good basis for the short< macro 15:30:54 a recursive macro that uses `once-only' 15:31:16 what? 15:31:41 naiv [~quassel@AAnnecy-651-1-1-108.w90-27.abo.wanadoo.fr] has joined #lisp 15:31:42 why a macro? 15:32:17 <_6502_> acelent: comparison operators are variadic, so it's a bit more complex than that 15:32:18 gravicappa [~gravicapp@ppp91-77-215-245.pppoe.mtu-net.ru] has joined #lisp 15:33:26 <_6502_> acelent: anyway i've implemented just regular functions for now 15:33:55 rfg [~rfg@dsl78-143-206-87.in-addr.fast.co.uk] has joined #lisp 15:35:04 ISF [~ivan@187.106.54.41] has joined #lisp 15:35:50 HG` [~HG@p5DC05506.dip.t-dialin.net] has joined #lisp 15:35:51 _6502_: macros can be variadic 15:35:58 -!- naiv [~quassel@AAnnecy-651-1-1-108.w90-27.abo.wanadoo.fr] has quit [Ping timeout: 240 seconds] 15:36:17 sykopomp: to short-circuit, i.e. (short< a b c) won't evaluate c if (< a b) => t 15:36:48 ah 15:37:34 -!- c_arenz [~arenz@nat/ibm/x-tuypiaenyqdnhqab] has quit [Ping timeout: 258 seconds] 15:37:55 _6502_: (defmacro short< (op1 op2 &rest ops) ...) 15:38:32 -!- HG` [~HG@p5DC05506.dip.t-dialin.net] has quit [Client Quit] 15:40:32 why not just (defmacro short< (&rest ops) ...) 15:41:46 -!- rfg [~rfg@dsl78-143-206-87.in-addr.fast.co.uk] has quit [Quit: rfg] 15:41:56 spdr [~spdr@76.73.16.26] has joined #lisp 15:42:22 kennyd: well, at least op1 &rest ops to be consistent with < 15:43:15 hi. is there any advantage of using (setf (something a) value) over (set-something a value), or it's just a lisp convention? 15:44:11 spdr: It works nicely with other operators, too, like rotatef and shiftf and setf with more than two args. 15:44:24 spdr: it's a useful syntactic pun for macros. 15:45:25 Anyone here maintaining usocket? 15:46:12 -!- jdz [~jdz@193.206.22.97] has quit [Ping timeout: 252 seconds] 15:46:25 ah I see, so rotatef wouldnt work with just (defun set-something ..) 15:46:53 spdr: it would have to know the mapping from SOMETHING to SET-SOMETHING. 15:46:57 -!- hugod [~hugod@bas1-montreal50-1279633711.dsl.bell.ca] has quit [Ping timeout: 252 seconds] 15:47:02 spdr: it might help to look at http://clhs.lisp.se/Body/m_defset.htm#defsetf 15:47:13 thanks 15:47:33 -!- homie` [~levgue@xdsl-84-44-210-160.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 15:49:06 _6502_: http://paste.lisp.org/+2NJ6 15:49:50 homie [~levgue@xdsl-84-44-210-160.netcologne.de] has joined #lisp 15:49:55 spdr: there are several ways that setf is expanded: through setf definitions, through macro-expansion and thorugh functions with name (setf foo) 15:50:13 spdr: i.e. you can (defun (setf something) (value object) ...) 15:50:49 acelent yes I know, I just didnt know if there's a reason to do that over just doing (defun set-something (object value) ) 15:51:18 -!- e-user [~e-user@nat/nokia/x-lznioduzgqcpdcyl] has quit [Read error: Connection reset by peer] 15:51:27 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp 15:51:54 gkeith_lt [~gkeith@nat/google/x-kmezlldtibrcchzb] has joined #lisp 15:51:58 kushal [~kdas@114.143.163.225] has joined #lisp 15:51:59 -!- kushal [~kdas@114.143.163.225] has quit [Changing host] 15:51:59 kushal [~kdas@fedora/kushal] has joined #lisp 15:52:25 hugod [~hugod@bas1-montreal50-1279441114.dsl.bell.ca] has joined #lisp 15:52:36 spdr: the best of both words is functions named (setf foo), because they can be used by setf and friends and they can be used for mapcar, reduce, etc. 15:53:23 worlds* 15:53:51 Xach, my idea of not telling people about the backend of the service seems to be working , people loved the new service :) 15:54:03 kushal: excellent 15:54:05 yes I'll use (setf foo). how can they be used by reduce btw? 15:54:33 or mapcar 15:55:43 kushal: What service and what people and what backend? :D 15:56:48 -!- bozhidar [~user@95.87.216.58] has quit [Ping timeout: 276 seconds] 15:58:34 drdo, one internal service in my job, people: my teammates who all ran away when I spoke the word lisp last time, backend : A hunchentoot system providing some json data 15:58:51 hehe 15:58:55 spdr: (mapcar '(setf something) objects values) 15:59:18 kushal: Are you using regular hunchentoot? 15:59:31 drdo, from quicklisp 15:59:32 acelent cool i had no idea you could do that 15:59:44 hunchentoot with the default threaded taskmaster scales horribly 16:00:20 spdr: i can't thing of a reasonable example for reduce unless (setf something) has side effects, like caching recently used objects, e.g. (reduce '(setf something) values :initial-value object-that-caches-somethings) 16:00:21 -!- Salamander_ [~Salamande@ppp121-45-73-39.lns20.adl6.internode.on.net] has quit [Ping timeout: 255 seconds] 16:00:30 That's threads for you. 16:00:46 drdo, I am new, so no clue 16:00:58 drdo, what other hunchentoot are available ? 16:01:21 spdr: you can only do that if (setf something) names a function 16:01:43 -!- urandom__ [~user@p548A3132.dip.t-dialin.net] has quit [Ping timeout: 258 seconds] 16:01:46 spdr: if something is a setf expander or a macro, you'll have to wrap it in a lambda 16:01:57 -!- gravicappa [~gravicapp@ppp91-77-215-245.pppoe.mtu-net.ru] has quit [Ping timeout: 258 seconds] 16:02:06 lambda => function 16:03:28 Zhivago, was that line for me ? 16:04:27 Just agreeing with drdo. 16:04:45 Zhivago, solution ? 16:05:14 *sykopomp* wonders if there's any scalable alternative when using HT. 16:05:29 Modius [~Modius@cpe-70-123-140-183.austin.res.rr.com] has joined #lisp 16:05:38 kushal: Processes; coroutines. 16:05:44 i'm running hunchentoot single threaded behind squid, that scales nicely 16:06:27 Zhivago, isn't that something hunchentoot is supposed to take care ? or can I configure it like that ? 16:07:07 No :) 16:07:30 H4ns_: What kind of scale are you running at, if I may ask? 16:07:37 It's pretty much a design feature to use threads for hunchentot. 16:07:51 sykopomp: a few hundred requests per second. 16:07:58 Zhivago, then how can I decide to use processes ? 16:08:07 kushal: that's even worse 16:08:15 Well, you can always start a new process. 16:08:40 But normally you'd already have started one process per processor. 16:08:44 what you want is epoll + a few threads depending on how many cpus you ahve 16:08:52 And then just distribute the jobs between them. 16:09:16 Of course, without coroutines, you can't interleave jobs, which makes that trickier. 16:09:20 -!- zfx- [~zfx@mail.inqmobile.com] has quit [Quit: Be back later] 16:09:35 dnolen [aa95640a@gateway/web/freenode/ip.170.149.100.10] has joined #lisp 16:09:45 Zhivago: coroutines would be nice, but where do i get them? 16:10:07 Zhivago: It doesn't really matter if you have a few cpus 16:10:28 H4ns_: CMUCL ;) 16:10:36 It depends on the task length. 16:10:47 how can I get the following to work? (format t "~{~:[.~;a~]~}" '(1 nil 3)) => 1.3 16:11:12 H4ns_'s single-threaded solution is cool for use cases where sufficiently much RAM is available to run that amount of instances. 16:11:19 Personally I think that an N-M model (of N hunchentoots with M threads each) is more of a "standard" approach. 16:11:49 lichtblau: doesn't scale 16:12:04 drdo, https://github.com/asdr/epoll-for-hunchentoot/blob/master/epoll-for-hunchentoot.lisp this is epoll ? 16:12:18 drdo: obviously with a custom taskmaster 16:12:26 dnolen: (progn (format t "~{~:[.~;a~]~}" '(1 nil 3)) "1.3") 16:12:33 I am using nginx 16:13:10 I'll probably fork hunchentoot soon 16:13:22 Salamander_ [~Salamande@ppp121-45-146-223.lns21.adl6.internode.on.net] has joined #lisp 16:13:31 I guess I can configure that to work as a load balancer between many instances (depending on the cpu) ? 16:13:38 the issue with hunchentoot is not so much the taskmaster, but the stream handling, which can block at any time. 16:13:50 *sykopomp* spots (defgeneric startt-listening% (acceptor) ..)) 16:13:52 H4ns_: It is the taskmaster 16:14:02 peearr [~aaron@159.153.4.51] has joined #lisp 16:14:08 H4ns, what is stream handling ? 16:14:09 You can't just spawn one thread per connection 16:14:29 kushal: reading and writing request data 16:14:33 H4ns, ok 16:14:43 drdo: you certainly can, with all the scalability limitations that you know 16:15:01 I think it's helpful to avoid confusing web server needs where static files are being served (extreme end of the spectrum; you might as well not run Lisp at all in that case) with heavy-weight computations going on (other end of the scale; blocking on the stream is not an issue here). 16:15:05 so what exactly happens when two requests are made at the same time ? it creates two threads ? 16:15:30 ^^ in normal hunchentoot 16:15:34 pjb: ? that does not work. that results in "a.a" 16:15:38 Saying "that doesn't scale" without considering where on that scale your use case lies would miss the point. 16:15:50 kushal: hunchentoot just spawns one thread per connection 16:16:00 drdo, ok 16:16:00 -!- pdo [~pdo@217.33.254.141] has quit [Read error: Connection reset by peer] 16:16:07 dnolen: oh, right, it prints a.a and return "1.3"... 16:16:17 dnolen: why does it print a.a? 16:16:24 lichtblau: the point is that spawning one os thread per connection is never what you want 16:16:39 in any situation 16:16:42 ldhanson2 [~ldh@static-217-37.vpn.wisc.edu] has joined #lisp 16:16:43 drdo: it may not be what YOU want, 16:16:57 pjb: the format string is wrong, I'm trying to figure out the right one. 16:17:07 why does it print a instead of 1 ? 16:17:08 H4ns_: Unless your goal is to consume tons of memory and be slow, forgot to mention that 16:17:15 pjb: you tell me :) 16:17:20 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: Lost terminal] 16:17:28 dnolen: try: (format t "a" 42) 16:17:36 drdo: if the goal is to get something to run quickly, consuming more memory and being slow is often perfectly acceptable. 16:17:36 I want it to print the actual value, if I use ~a, it's an invalid format string 16:17:49 dnolen: yes, but it's better to use ~a. 16:17:53 What error does it give you? 16:18:02 H4ns_: How exactly does being slow help you run quickly? 16:18:10 drdo: but i am all for better lisp web servers, so if you have a solution to these problems, go ahead. 16:18:17 drdo: "slow" is not a precise term 16:18:23 I don't know what "spawning" means in your statement. If you're again threading at all, that's a fine point, but please keep in mind that gazillions of Java apps out there do exactly that in important business environments, and it works well enough for them. Saying it's "never" what anyone wants is just wrong. 16:18:29 pjb: (format t "~{~:[.~;~a~]~}" '(1 nil 3)) => Error: Missing argument 16:18:32 is there any difference between ~A and ~a? 16:18:34 drdo: It's nice to just use simple solutions like one-thread-per-request when you're just cooking up something up right now, or the app is simple. 16:18:36 drdo: if my web server responds in just a few milliseconds, it may be slow for you, and fast for me. 16:18:40 H4ns_: I'm working on it, i just wrote an epoll abstraction lib 16:18:41 spdr: no difference. 16:18:50 dnolen: right. Why is there a missing argument? 16:18:52 I'd rather run the thread, block as I need, etc, instead of mess around with callbacks. 16:19:19 drdo: that does not solve the problem that a stream may block anytime while reading or writing, and that is the actual problem that needs to be solved. 16:19:30 pjb: ? I don't know, I'm trying to understand why it doesn't work. 16:19:33 H4ns_: What do you mean a stream may block? 16:19:34 drdo: i'm interested in your solution. 16:19:37 What does ~:[ do? 16:19:41 If you mean that threads need to be pooled instead of recreated because of thread startup overhead, or that there needs to be a limit on the number of threads; then I'd argue that for anyone setting up a truly scalable hardware infrostructure for load balancing, those little configuration changes are a drop in the bucket in terms of code being written. 16:19:54 In my case I solved the db first as H4ns were telling 2 days back 16:19:58 drdo: block int the os waiting for data to arrive or buffers to become flushed. 16:20:01 pjb: it takes and argument, and conditional, false is the left side, true is the right side. 16:20:14 H4ns_: Of course you don't block 16:20:24 that's why you use epoll 16:20:24 helped me to reduce the response time from 20+ seconds to 0.2 seconds 16:20:34 lichtblau: scott mckay spend some time measuring whether thread pooling is worth it and did not find that to be true 16:20:42 dnolen: ok, so when the argument is 1, ~:[ takes it and then ~a takes the nil, and then ~:[ takes 3 so there doesn't remain anything for ~a. 16:20:45 drdo: dude, you don't understand what i'm talking about. 16:20:54 H4ns_: Yes, i don't, can you explain? 16:21:01 dnolen: try: (format t "~{~:[.~;~a~]~}" '(1 nil 3 4)) 16:21:30 pjb: already tried taht it doesn't work. 16:21:36 drdo: assume that hunchentoot has an incoming connection and now wants to read the request header. assume that only half of the header has been received by the host. 16:21:41 dnolen: here, (format t "~{~:[.~;~a~]~}" '(1 nil 3 4)) prints NIL4. 16:21:43 Works perfectly. 16:21:45 H4ns_: sure 16:21:51 drdo: what will happen is that hunchentoot will block waiting for the rest of the header to be read 16:22:02 dnolen: the point is that you should understand why it prints NIL4. 16:22:03 H4ns_: That's not acceptable, of course i won't do that 16:22:14 drdo: now, with threads, this is not an issue. the thread will be lingering in the read(), the lisp won't notice. 16:22:41 -!- rstandy [~rastandy@93-63-185-248.ip29.fastwebnet.it] has quit [Ping timeout: 240 seconds] 16:22:48 drdo: if you go non-blocking, you'll show me how you are handling the "no data available yet" case in lisp 16:22:56 yes, you can do that with threads, but you will consume a lot of memory at least 16:23:10 H4ns_: What about it? 16:23:14 drdo: i know that. but it is a solution to a real problem 16:23:43 drdo: it may be best if you just work on your solution until you realize the problem. 16:23:45 you read from whatever connections are available to read 16:23:52 if the data is not a complete request 16:23:59 you just keep going 16:24:05 you don't block waiting for it 16:24:27 drdo: well, then have a look at the hunchentoot code to see how well you can retrofit that architecture. 16:24:43 H4ns_: makes sense 16:24:51 -!- hugod [~hugod@bas1-montreal50-1279441114.dsl.bell.ca] has quit [Ping timeout: 260 seconds] 16:24:53 drdo: much of what hunchentoot does is implemented in terms of gray streams, mind you 16:25:14 H4ns_: I am fairly familiar with how hunchentoot works 16:25:17 -!- tfb [~tfb@92.40.150.220.threembb.co.uk] has quit [Quit: sleeping] 16:25:24 H4ns_: almost all. 16:26:02 drdo: as i said. i may be just too dim to recognize how you're going to do it, so go ahead. 16:26:07 pjb: ok I kind of see what's going on but then it looks like I can't use ~:[ since my expression requires even number of args? 16:26:18 H4ns_: I'm going to do it the way everyone does it, nothing magical 16:26:35 -!- ldhanson2 [~ldh@static-217-37.vpn.wisc.edu] has quit [Quit: Linkinus - http://linkinus.com] 16:26:37 dnolen: yes, you can, thanks to ~*. 16:26:49 dnolen: more precisely, you can go back one argument with ~:* 16:26:54 -!- xxxyyy [~xyxu@222.68.152.185] has quit [Ping timeout: 276 seconds] 16:26:55 jewel [~jewel@196-215-16-133.dynamic.isadsl.co.za] has joined #lisp 16:27:04 dnolen: (format t "~{~:[.~;~:*~a~]~}" '(1 nil 3)) 16:27:58 dnolen: but ~* also allow you to get the nth argument ~4* jumps to the 4th argument, and skip over an argument ~* or backward ~:*. 16:30:10 centipedefarmer [~centipede@97-125-186-97.desm.qwest.net] has joined #lisp 16:32:08 gravicappa [~gravicapp@ppp91-77-211-44.pppoe.mtu-net.ru] has joined #lisp 16:32:27 [OT] does google chrome gives advertisement in other countries in TV channels ? they are even sponsoring movie shows in the channels :) 16:33:02 kushal: no google ads on tv channels here 16:33:29 in India they are on almost all Airports big hoardings 16:33:36 then in all major TV channels 16:33:56 pjb: I understand now. cl-format is insane, in a good way :) 16:34:08 kushal: it seems they're focusing more on the markets where they could see growth (: 16:34:11 pjb: thx 16:34:12 -!- genieliu [~genieliu@59.78.62.120] has quit [Quit: leaving] 16:35:21 antifuchs, yes :) 16:35:48 google put some ads in the french metro about chrome 16:36:01 though it's only paper, not tv ads 16:37:49 Bike [~Glossina@71-214-98-135.ptld.qwest.net] has joined #lisp 16:41:09 -!- dnolen [aa95640a@gateway/web/freenode/ip.170.149.100.10] has left #lisp 16:41:51 SegFaultAX [~mkbernard@VEROXITY.ipcolo1.SanFrancisco1.Level3.net] has joined #lisp 16:43:27 MeanWeen [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has joined #lisp 16:43:30 SegFault1X [~mkbernard@VEROXITY.ipcolo1.SanFrancisco1.Level3.net] has joined #lisp 16:44:26 SegFault2X [~mkbernard@VEROXITY.ipcolo1.SanFrancisco1.Level3.net] has joined #lisp 16:44:46 xan_ [~xan@vpn9.hotsplots.net] has joined #lisp 16:44:53 <|nix|`> kushal: I have seen some Chrome ads in the US but maybe not in the same scale as in India? Why the interest in Google Chrome ads? 16:45:05 -!- DGASAU [~user@91.218.144.129] has quit [Ping timeout: 260 seconds] 16:45:46 kushal: they occasionally advertise in Ierland, but only very cheap advertising; in trains and that sort of thing 16:46:12 -!- drdo [~drdo@91.205.108.93.rev.vodafone.pt] has quit [Ping timeout: 276 seconds] 16:46:37 -!- csdwifi [~csdwifi@unaffiliated/csddesk] has quit [Quit: Leaving] 16:50:06 DGASAU [~user@91.218.144.129] has joined #lisp 16:50:24 drdo [~drdo@91.205.108.93.rev.vodafone.pt] has joined #lisp 16:50:26 -!- cfy__ [~cfy@123.155.233.242] has quit [Quit: slep] 16:54:56 Just solved PE Problem #2 in Lisp. 16:54:58 jdz [~jdz@host17-104-dynamic.15-87-r.retail.telecomitalia.it] has joined #lisp 16:55:35 What is PE Problem #2? 16:55:39 Qworkescence [~quad@unaffiliated/quadrescence] has joined #lisp 16:55:57 Project Euler, I imagine. 16:56:05 ah 16:56:15 yes 16:56:59 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Ping timeout: 246 seconds] 16:57:29 Took way longer to solve it than when I did it in Python in late 2009 16:57:35 I've never connected anything to Oracle but may have a side thing coming up. Are the CL DB connectivity libraries solid when talking to Oracle? Use CLSQL? 16:58:02 Modius: CLSQL seems to work. 16:58:58 Not Quicklisp's CLSQL, sadly. 16:59:45 littlebobby [~bob@i5E8799B.versanet.de] has joined #lisp 16:59:49 -!- littlebobby [~bob@i5E8799B.versanet.de] has quit [Changing host] 16:59:49 littlebobby [~bob@unaffiliated/littlebobby] has joined #lisp 17:02:46 (loop for i from 1 until (> (fib i) 4000000) when (evenp (fib i)) sum (fib i)) 17:03:37 How do I do this without computing (fib i) thrice? 17:03:58 (loop for i upfrom 1 for fib = (fib i) ...) 17:04:43 fib i is even for mod 3 = 0 17:05:08 You're still computing fib multiple times, though, unless your FIB is memoised. 17:05:25 csdwifi [~csdwifi@76.177.215.56] has joined #lisp 17:05:25 -!- csdwifi [~csdwifi@76.177.215.56] has quit [Changing host] 17:05:25 csdwifi [~csdwifi@unaffiliated/csddesk] has joined #lisp 17:06:11 (loop for i upfrom 1 for fib = (fib i) until (> fib 4000000) when (evenp fib) sum fib) 17:09:31 The other Lisp solutions are difficult to understand 17:11:19 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #lisp 17:13:25 -!- mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has quit [Quit: leaving] 17:13:25 -!- LiamH [~healy@216-67-59-18.static.acsalaska.net] has quit [Quit: Leaving.] 17:13:32 -!- __main__ [~main@adsl-99-173-15-158.dsl.pltn13.sbcglobal.net] has quit [Read error: Connection reset by peer] 17:15:17 sebyte [~sebyte@chimera.gnukahvesi.net] has joined #lisp 17:23:57 <_6502_> is matrix multiplication already present in CL? 17:24:26 __main__ [~main@adsl-99-173-15-158.dsl.pltn13.sbcglobal.net] has joined #lisp 17:24:26 there are several libraries, but it's not built-in 17:27:26 _6502_: inc $d020 17:27:28 _6502_: inc $d021 17:27:37 _6502_: jmp _6502_ 17:28:10 -!- joast [~rick@76.178.178.72] has quit [Ping timeout: 246 seconds] 17:28:11 <_6502_> Posterdati: I'm from Apple ][, $d020 was not a special location for it :-) 17:28:38 _6502_: your fault then 17:28:44 _6502_: anyway 17:29:00 <_6502_> Posterdati: accessing $c030 in a loop would produce a sound on apple ][ ... 17:29:12 jtza8 [~jtza8@iburst-41-213-46-38.iburst.co.za] has joined #lisp 17:29:19 _6502_: inc $c030 17:29:23 jmp _6502_ 17:29:32 better? 17:30:30 _6502_: do you know plisp? 17:30:55 <_6502_> posterdati: yeah, but without a pause it woulnd't be audible :-D ... apple ][ only had a flip-flop, that would have been a 250KHz square wave or something like that ... 17:31:09 <_6502_> pjb: no, was for apple ][? 17:31:10 lol 17:31:11 _6502_: http://www.flownet.com/ron/plisp.html 17:31:15 _6502_: yes. 17:31:19 pjb: hi 17:31:23 hi 17:32:17 <_6502_> pjb: was it based on the UCSD pascal virtual machine or was a genuine 6502 lisp? 17:32:35 AFAIK, it was a native one. 17:32:47 emagdalena [~emagdalen@129.Red-88-4-185.dynamicIP.rima-tde.net] has joined #lisp 17:33:54 <_6502_> pjb: I wrote a 6502 emulator and a minimal apple ][ emulator, may be i should try to load that image (my emulator doesn't emulate the floppy disk tho) 17:34:00 urandom__ [~user@p548A492A.dip.t-dialin.net] has joined #lisp 17:34:13 _6502_: Well, high level floppy can be emulated easily. 17:35:18 <_6502_> pjb: are those image nibble or byte based? how is seek handled? 17:36:03 TristamWrk [~tristamwr@2620:0:2820:b03:214:22ff:fe45:5204] has joined #lisp 17:36:06 <_6502_> just a ram image would be easier :-D 17:36:54 -!- H4ns_ [579faeb5@gateway/web/freenode/ip.87.159.174.181] has quit [Ping timeout: 252 seconds] 17:37:09 zfx [~zfx@unaffiliated/zfx] has joined #lisp 17:37:12 <_6502_> seems yesterday i was counting machine cycles to be able to output a nibble every 40us 17:37:19 *_6502_* all of a sudden feels old 17:37:37 _6502_: All the doc is linked from the page I referenced. What's your problem? 17:37:55 -!- oudeis [~oudeis@109.64.200.17] has quit [Quit: This computer has gone to sleep] 17:38:55 pnq [~nick@AC816567.ipt.aol.com] has joined #lisp 17:39:44 lynette [~lynette@206.108.135.246] has joined #lisp 17:42:02 hey, I'm looking for a somewhat modern language to play with, as the last one I messed around with was basic 10 years ago. where's a good place to start? 17:42:16 -!- MeanWeen [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has quit [Ping timeout: 250 seconds] 17:42:38 lynette: well, Lisp has been invented 52 years ago. 17:42:55 but it's still used a fair bit, isn't it? 17:43:05 lynette: start with http://www.gigamonkeys.com/book/ 17:43:09 lynette: a bunch of people have gotten good mileage out of Practical Common Lisp 17:43:15 (the book pjb just sent the link to) 17:43:20 it's really very good 17:43:39 lynette: it is used, but if your purpose is to get a job easily, Java is used more. 17:43:52 if you want more advanced stuff, check out Paradigms of Artificial Intelligence Programming by Peter Norvig 17:44:12 lynette: Common Lisp is not 52 years old. The current standard is about as old as Python and Java. 17:44:19 lynette: in general, resources are indexed on http://cliki.net/ 17:44:24 even if the technology is a few decades ahead of the latter. 17:44:26 joast [~rick@76.178.178.72] has joined #lisp 17:44:46 Java... I'll take a look at it's syntax 17:44:50 MeanWeen [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has joined #lisp 17:45:06 lynette: Lisp has no syntax. 17:45:06 lynette: But if you want to have fun programming, stay with Common Lisp. 17:45:34 and yeah, Java is the antithesis of enjoyment. 17:45:36 -!- nikodemus [~nikodemus@cs181063174.pp.htv.fi] has quit [Ping timeout: 258 seconds] 17:45:36 antifuchs: I'm considering buying it. 17:45:36 sykopomp: can we stop with that bullshit lisp has no syntax myth? 17:45:47 *sykopomp* uses big words in an awkward way. 17:46:03 drdo: yes. lisp has two levels of syntax. 17:46:19 drdo: but the first level is irrelevant and trivial, and the second level is abstract and easy. 17:46:22 antifuchs: In what way exactly does the book help? 17:46:29 samebchase: which of the two? (: 17:46:35 antifuchs: PAIP 17:46:43 java seems pretty high level, and it's used a lot these days. Think I might start there 17:46:47 pjb: lisp has no syntax doesn't mean shit 17:46:51 oh, it shows off very good lisp style. 17:47:08 antifuchs: difficulty level? 17:47:18 drdo: well intelligent people can assign meaning to almost any utterance. 17:47:32 drdo: "lisp has no syntax" definitely means something. 17:47:53 haha I started a flame war with an innocent question? 17:47:55 antifuchs: On Lisp was too hard. 17:47:58 samebchase: not sure. it's not so much of a text book; I'd say it ranges from easy to hard. you can pick and choose the parts that are interesting to you (: 17:48:13 alright, thanks for your help 17:48:18 -!- lynette [~lynette@206.108.135.246] has quit [Quit: Leaving] 17:48:23 pjb: If a language has no syntax, either everything is accepted, or nothing is, both trivial cases are not interesting 17:48:24 <|nix|`> lynette: you come to a lisp channel an ask for a programming language and go back with Java !!! :D 17:48:36 we've successfully converted someone to Java. 17:48:42 I hope you're all proud of yourselves. 17:48:46 antifuchs: The book doesn't have an Indian edition. Need to buy it online. 17:48:50 sykopomp: ^5 17:48:58 antifuchs: ^5 17:49:06 )-: 17:49:06 sykopomp: just wait until he comes here 2 days from now crying about the horrors of java 17:49:07 *felideon* guffaws 17:49:15 -!- Davidbrcz [~david@ANantes-151-1-216-80.w2-8.abo.wanadoo.fr] has quit [Ping timeout: 255 seconds] 17:49:17 drdo: indeed. Almost everything is accepted as lisp data, and almost every lisp data is accepted as lisp code. 17:49:20 samebchase: yeah, I'm not aware of non-english editions 17:49:38 pjb: that is just not true 17:49:41 I think I might have seen a german edition once. but I generally distrust translated programming books (: 17:49:44 drdo: actually, you can pass any lisp data to eval, and get some specific (implementation specific at least) result. 17:49:52 <_6502_> pjb: that disk image is in bytes, to make my emulator to load it i've to convert it back to nibbles and emulate the floppy drive hardware, not impossible but not trivial to do... may be i'll run using some better emulator instead 17:50:12 drdo: (eval '(drdo doesn't know what he's speaking about)) 17:50:23 pjb: almost all actually means something specific 17:50:29 antifuchs: most Indian Editions are in English ;-) 17:50:35 gives the very specific error that DOESN is an unbound error. 17:50:35 ah, heheh 17:50:44 -!- martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has quit [Read error: Connection reset by peer] 17:50:57 <_6502_> drdo: lisp has no syntax if you're giving to it the same meaning it has for C++ or Java... 17:50:58 antifuchs: pretty much all technical books. 17:51:12 _6502_: Wasn't there some kind of OS with some OS routines to load a sector or another" 17:51:24 good thing, too! I wish other countries were as advanced (-: 17:51:26 _6502_: doesn't plist use these OS API? 17:51:37 antifuchs: countries like? 17:51:56 well, those few european countries I know (: 17:52:22 _6502_: no, just no, common lisp has plenty of syntax 17:52:27 <_6502_> pjb: no... there was just a bootloader able to read the first sector in the disk rom. but nothing in the hardware can for example move the disk heads to the correct track. That was done by the software loaded from the disk itself 17:52:42 _6502_: AppleDOS? 17:53:24 antifuchs: In India using Indian languages in business, technical communication etc. is frowned upon. 17:53:39 -!- zfx [~zfx@unaffiliated/zfx] has quit [Ping timeout: 250 seconds] 17:53:44 samebchase: it's frowed upon everywhere afaik 17:53:44 antifuchs: not sure if it's completely a good thing though 17:54:10 non-english, not specifically indian 17:54:11 _6502_: Anyways, again, that page I linked, which is rather short, gives all the information you need to run it. He explicitely mentions Virtual ][. 17:54:36 Would anyone recommend ANSI Common Lisp? 17:54:41 <_6502_> drdo: no... CL has a standard reader that is able to convert from text to lisp data structures that can then be compiled and executed. but nothing is fixed about it... you could have a lisp program that begins as common lisp and after a while turns to Java 17:54:44 drdo: hmm... 17:54:50 <_6502_> drdo: if you're a masochist i mean 17:54:59 samebchase: Everybody in this channel would recommend ANSI COmmon Lisp, the language. 17:55:09 _6502_: Being customizable doesn't mean it doesn't exist 17:55:19 pjb: the book. sorry :) 17:55:31 samebchase: Nobody in this channel would recommend ANSI Common Lisp the printed edition, which is a bad nth copy. 17:55:37 samebchase: just use clhs 17:56:22 pjb: I think that was supposed to be the Graham book 17:56:33 drdo: In fact, There is three elements of syntax that are uncontournable with Common Lisp: integers, floating-point numbers and symbols. 17:56:35 pjb: "nth" as in there are too many already? 17:56:45 drdo: you cannot change the parsing of those tokens. 17:56:53 (I haven't read it, but the CLHS is probably more complete (-:) 17:57:08 drdo: well, you cannot change them easily. 17:57:15 pjb: even if they were 17:57:21 pjb: you mean the spec? 17:57:29 samebchase: it's a copy of a copy of a ... of a copy of some "original". 17:57:55 pjb: and expensive too. 17:58:00 <_6502_> drdo: there exist some syntax level indeed, but it's not based on chars, it's based on lisp forms. But the conversion from characters to lisp forms is just a runtime thing than happen, it's different from Java where you have the source code in text and the program... 17:58:07 samebchase: furthermore, you can find it on-line (a pdf of that printed version), so that you can get an idea of the quality of the printed version. 17:58:10 _6502_: It is based on chars 17:58:26 drdo: In CL, all that is based on chars is totally customizable. 17:58:40 <_6502_> drdo: in python there is no compile phase, just the parse phase and run phase. In lisp there's just the run phase... 17:58:41 _6502_: you are confusing syntax and semantics 17:59:14 _6502_: actually, there are read time, run time, macroexpansion time, load time, and compile time. (here time = phase). 17:59:16 pjb: I didn't claim otherwise 18:00:06 mcstar [~mcstar@adsl-89-132-43-197.monradsl.monornet.hu] has joined #lisp 18:00:36 For the price of PAIP I can buy TAOCP 1,2,3 + Concrete Mathematics. 18:00:37 <_6502_> drdo: what happens is that a base common lisp system is able to read characters... and by the way is also fully customizable in what it does. source code in C++, Java and even Python instead is sort of "another world" 18:00:51 samebchase: I'd still rather by PAIP. 18:01:21 _6502_: Sure, i didn't say anything about the reader not being customizable 18:01:25 I just said there is syntax 18:01:27 pjb: I've read strong positive reviews. 18:01:54 samebchase: Huh, really? Admittedly I didn't do much shopping around, but one volume of TAOCP's 3rd ed. cost about as much as PAIP for me. 18:01:57 <_6502_> drdo: i mean that in lisp there's nothing magic about the source code... instead it's magic in other languages; in lisp is all "run time" 18:02:07 -!- MeanWeen [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has quit [Ping timeout: 240 seconds] 18:02:27 _6502_: I have no idea what you're talking about 18:02:32 Bike: I own all those books (but don't read them as much as I should). 18:02:41 <_6502_> pjb: in all those phases the language being executing is always just lisp ... these are logical phases, no structural phases 18:02:50 <_6502_> no=not 18:02:51 They're certainly good stuff. 18:02:56 Bike: India is an awesome place to buy books. 18:03:04 hugod [~hugod@bas1-montreal50-1279442521.dsl.bell.ca] has joined #lisp 18:03:09 Ah, don't really have that option... 18:03:36 MeanWeen [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has joined #lisp 18:03:44 Though I have found old TAOCP volumes for less than $10 online. Probably wouldn't work for a newer book like PAIP. 18:04:18 I don't think 1992 qualifies as "newer" 18:04:18 ~ $50 for all of them. "Eastern Economy [Cheapskate] Editions" 18:04:33 drdo: Newer than TAOCP. 18:05:50 -!- milanj [~milanj_@109-93-103-241.dynamic.isp.telekom.rs] has quit [Quit: Leaving] 18:06:21 <_6502_> drdo: in lisp you start an image that is just a lisp program running... parsing, compiling and running is all the same thing. just one program running. It's lisp all the way down :-) 18:06:59 -!- madalu [~user@unaffiliated/madalu] has quit [Read error: Connection reset by peer] 18:07:42 'night everyone. 18:08:11 <|nix|`> night samebchase 18:08:18 zfx [~zfx@92.40.254.130.threembb.co.uk] has joined #lisp 18:08:18 -!- zfx [~zfx@92.40.254.130.threembb.co.uk] has quit [Changing host] 18:08:18 zfx [~zfx@unaffiliated/zfx] has joined #lisp 18:08:43 |nix|`: :-) 18:09:06 -!- _6502_ [58959a57@gateway/web/freenode/ip.88.149.154.87] has quit [Quit: Page closed] 18:11:11 -!- rirombo [~richard@static-50-53-75-48.bvtn.or.frontiernet.net] has quit [Read error: Connection reset by peer] 18:14:20 -!- _root_ [~Scalable@li252-14.members.linode.com] has quit [Ping timeout: 252 seconds] 18:14:59 mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has joined #lisp 18:16:45 -!- gemelen [~shelta@shpd-95-53-170-231.vologda.ru] has quit [Remote host closed the connection] 18:17:10 -!- leo2007 [~leo@222.130.128.231] has quit [Quit: rcirc on GNU Emacs 23.3.50.1] 18:17:12 -!- pnq [~nick@AC816567.ipt.aol.com] has quit [Ping timeout: 276 seconds] 18:18:13 tigranes [~richard@static-50-53-75-48.bvtn.or.frontiernet.net] has joined #lisp 18:19:10 Apparently Mac OS X cannot handle my computing (fibonnaci 4000000) without becoming entirely unresponsive... 18:19:20 -!- tigranes is now known as rirombo 18:19:57 rirombo: There's probably something wrong with your implementation if that happens 18:20:18 -!- lnostdal-laptop [~lnostdal@77.16.164.63.tmi.telenormobil.no] has quit [Ping timeout: 255 seconds] 18:20:47 rirombo: ... you didn't write the recursive version per chance? 18:20:48 drdo: There's definitely something wrong with what I was trying to do, I think. 18:20:57 p_l|backup: How did you know? ;) 18:21:10 -!- csdwifi [~csdwifi@unaffiliated/csddesk] has quit [Quit: Leaving] 18:21:11 rirombo: cause I could smell the blown stack from here 18:21:18 Hehe 18:21:37 I think I will try an itiretative version 18:21:57 (says the person who managed to get OS to give up when program asked for 2^48 bytes of stack) 18:22:12 (fib 4000000) is huge. 18:22:24 pkhuong: It's not that huge 18:22:46 rirombo: you don't have to write it iteratively, just transform it into hand-written tail-call 18:22:52 (with labels) 18:23:26 On the order of 2^280k? Big enough. 18:24:03 pkhuong: In the sense that it's nowhere nearly big enough to cause memory problems 18:24:06 p_l|backup: Tail-call I kind of remember, but what do you mean by "with labels"? 18:24:25 -!- MeanWeen [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has quit [Ping timeout: 250 seconds] 18:25:21 MeanWeen [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has joined #lisp 18:26:12 p_l|backup, can you show me an example ? 18:26:16 rirombo: basically, hardcode the tailcall instead of depending on TCO in implementation. I haven't done it recently, so I might misnamed it, but I recall you could hardcode it either with CL:LABELS or CL:TAGBODY 18:26:42 p_l|backup: Will check those out, thanks 18:28:14 huangho [~vitor@201-40-157-84.paemt700.dsl.brasiltelecom.net.br] has joined #lisp 18:29:11 p_l|backup: I think froydnj found that at least one version of lispworks didn't inline a labels under some circumstance and it caused him problems with one of his libraries. 18:29:13 rirombo: http://en.literateprograms.org/Fibonacci_numbers_(Lisp)#chunk use:fib-trec 18:29:30 Xach: well, then TAGBODY will still work, right? 18:29:49 I think PAIP did TCO with TAGBODY 18:30:11 Xach: Should complain to the lispworks guys, if you selling an implementation it better be good 18:30:22 phax [~phax@adsl-68-73-148-217.dsl.ipltin.ameritech.net] has joined #lisp 18:30:22 -!- phax [~phax@adsl-68-73-148-217.dsl.ipltin.ameritech.net] has quit [Changing host] 18:30:22 phax [~phax@unaffiliated/phax] has joined #lisp 18:31:56 -!- jdz [~jdz@host17-104-dynamic.15-87-r.retail.telecomitalia.it] has quit [Ping timeout: 252 seconds] 18:32:41 -!- ikki [~ikki@201.155.92.12] has quit [Ping timeout: 240 seconds] 18:32:50 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Remote host closed the connection] 18:34:27 ikki [~ikki@201.155.92.12] has joined #lisp 18:37:21 billstclair [~billstcla@gw3.tacwap.org] has joined #lisp 18:37:21 -!- billstclair [~billstcla@gw3.tacwap.org] has quit [Changing host] 18:37:21 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 18:39:29 lnostdal-laptop [~lnostdal@77.16.164.63.tmi.telenormobil.no] has joined #lisp 18:44:32 srid [~srid@remote.activestate.com] has joined #lisp 18:44:32 -!- srid [~srid@remote.activestate.com] has quit [Changing host] 18:44:32 srid [~srid@unaffiliated/srid] has joined #lisp 18:48:59 emagdalenag [~emagdalen@129.Red-88-4-185.dynamicIP.rima-tde.net] has joined #lisp 18:49:14 -!- emagdalena [~emagdalen@129.Red-88-4-185.dynamicIP.rima-tde.net] has quit [Quit: Saliendo] 18:49:18 -!- emagdalenag [~emagdalen@129.Red-88-4-185.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 18:49:55 emagdalena [~emagdalen@129.Red-88-4-185.dynamicIP.rima-tde.net] has joined #lisp 18:50:12 emagdalenag [~splineman@129.Red-88-4-185.dynamicIP.rima-tde.net] has joined #lisp 18:51:41 -!- emagdalenag [~splineman@129.Red-88-4-185.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 18:53:46 p_l|backup: yes 18:54:12 drdo: for a long time it had some suboptimal aspects like that, e.g. really small fixnums 18:54:31 drdo: but it's pretty good in other ways, e.g. CAPI. and the rough performance edges are getting fixed up. 18:54:41 Hmm, about fixnums 18:55:03 vaaal [irc2gowebc@151.73.60.119] has joined #lisp 18:55:31 what is PAIP? 18:56:03 mcstar:L Paradigms of AI Programming by Peter Norvig. 18:56:15 Is there a way to declare an integer type with size at least matching :int (C's int)? 18:56:17 where's minion? :( 18:56:18 ah ok, have it 18:57:03 how is it, mcstar? 18:57:08 Athas [~athas@130.225.165.40] has joined #lisp 18:57:08 drdo: depends on the ABI. Probably simpler to hardcode the bit width. 18:57:24 pkhuong: It's to represent an fd 18:57:35 vaaal: i only read the introduction 18:58:13 -!- MeanWeen [~KAPITAL@cpe-174-099-078-028.nc.res.rr.com] has quit [Ping timeout: 250 seconds] 18:58:18 and how is the introduction? 18:58:20 I could just say fixnum and it would work pretty much everywhere but there's nothing that guarantees that it must 19:00:26 AI Programming: Case Studies in Common Lisp - Peter Norvig, thats why i didnt recognize its title 19:00:35 http://en.literateprograms.org/Fibonacci_numbers_(Lisp)#chunk use:fib-trec << too bad there is'nt the logarithmic version 19:00:59 mm 19:01:21 actually the title is Paradigm of AI programming: etc. 19:01:55 The_third_man: the cost of arithmetic probably dominates the difference there. 19:02:56 vaaal: yeah, but the file's title is the one i pasted :) 19:03:27 i dont have money to buys hard-copies 19:04:03 its seems to be a good book, but its quite elaborate, sometimes that can be a problem, i dont have infinite time 19:04:28 (excuse my extra s's) 19:06:25 mcstar: This book is certainly worth having in dead-tree form, there are digital copies floating around, but not of very good quality afair. 19:06:50 :) 19:07:00 lets save the trees i says 19:07:12 yep 19:07:24 hehe 19:07:28 the fonts are sometimes funny, even the code, but not really distracting 19:07:45 why would you study that book, mcstar? 19:07:53 are you in the ai field or programmin field? 19:08:09 leyyer_su [~user@125.69.127.97] has joined #lisp 19:08:11 The AI in PAIP is pretty dated. 19:08:51 antoszka, the price is heavy http://www.flipkart.com/books/1558601910?_l=5bp6ewxj08yy7pGYLR_vgA--&_r=ugq2v0txmnqnZt1jAWwHeg--&ref=ffdf9f90-a6ab-47c5-98f3-191e4801693c&pid=8rx3fgknef 19:09:17 what book would you suggested, bike? 19:09:25 -!- spdr [~spdr@76.73.16.26] has left #lisp 19:09:26 what should be the next book after PCL ? 19:09:36 For AI? Because PAIP is still good for Lisp. 19:09:42 yes, for ai 19:09:50 kushal: Unfortunately. 19:09:51 Well, you could read AIMA. 19:10:00 kushal: OnLisp. 19:10:12 is AIMA fairly up-to-date wrt AI, then? 19:10:17 i second that, onlisp 19:10:26 (I guess that's assumed, since Norvig is using it in that Stanford course) 19:10:27 kushal: Let over Lambda. 19:10:43 well there's a 3rd edition of AIMA 19:10:47 Did anyone like AIMA? 19:10:57 I didn't enjoy it much 19:11:32 fairly recent 3rd edition i mean 19:11:36 vaaal: i think if you want to read about ai, you first need to decide which subfield you really want to learn 19:11:43 there are dozens of specialized books 19:11:51 -!- zfx [~zfx@unaffiliated/zfx] has quit [Quit: Be back later] 19:12:21 (im not in the field of ai, im a computational physicist) 19:12:31 mcstar, the fact is 19:12:57 had anyone used CommonQt for serious stuff, how stable is it? 19:12:58 that i would to know something about simulation of artificial intelligence and in general, artificial behaviour for social science 19:13:34 do you know something about this? 19:13:49 i've AIMA and someday i will read it, but now isn't properly what i want. 19:14:37 maxm-, I have a vague recollection of Smoke bindings being preferred. I may be confused, and I haven't used either myself yet. 19:15:54 vaaal: you want to simulate intelligent agents? 19:16:08 yes 19:16:11 unfortunately i dont know anything about them sorry 19:16:15 oook 19:16:30 im just a guy, participating in the google ai challenge 19:16:36 they both use smoke, but CommonQT use reader macros and basically is hacky, while ClSmoke is full CLOS and all proper 19:16:42 google ai challenge? 19:16:42 which i would like to advertise here, since ai came up 19:16:53 what is google ai challenge? 19:16:59 hopefully it will start soon, but i cant say any dates 19:17:01 but ClSmoke readme mentions "method calls take around 1000 times longer in lisp then in C++" 19:17:02 look it up 19:17:04 which kind of worries me 19:17:14 due to extreme amount of marshalling 19:17:21 maxm-: afaict, commonqt is the one that's actually used by people. 19:17:22 you need to write a bot for a particular challenge 19:17:39 pkhuong: ah cool that was my impression 19:18:07 so far only problem I had with its demo, is if you use restart to unwind C stack, QApplication (which is a singleton) gets hosed 19:18:09 i just read that the winner (of this years, i think) program is write in lisp 19:18:12 but I guess there is no helping with that 19:18:19 *maxm-* had not tried Swank integration yet 19:18:37 the was a fellow hungarian, Melis Gabor 19:19:02 i only started looking at cl because he won :) 19:19:15 maxm-: there are ways, but it's a lot of implementation work. 19:19:32 :D 19:19:42 mcstar, do you already now cl? 19:19:43 realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has joined #lisp 19:20:09 not like the hard-core here, but i know it well superficially 19:20:14 ook 19:20:56 well, i've to go 19:20:57 bye 19:20:59 bb 19:21:00 -!- vaaal [irc2gowebc@151.73.60.119] has quit [Quit: http://irc2go.com/] 19:21:34 http://aichallengebeta.hypertriangle.com/ 19:21:45 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 19:21:45 this is the link to the challenge if anyone's interested 19:22:11 -!- Phoodus [~foo@ip72-223-116-248.ph.ph.cox.net] has quit [Ping timeout: 240 seconds] 19:22:24 -!- gravicappa [~gravicapp@ppp91-77-211-44.pppoe.mtu-net.ru] has quit [Ping timeout: 255 seconds] 19:22:31 Phoodus [~foo@ip72-223-116-248.ph.ph.cox.net] has joined #lisp 19:24:00 jikanter [~Adium@66.146.192.56] has joined #lisp 19:26:49 -!- jewel [~jewel@196-215-16-133.dynamic.isadsl.co.za] has quit [Ping timeout: 250 seconds] 19:26:51 -!- xan_ [~xan@vpn9.hotsplots.net] has quit [Ping timeout: 260 seconds] 19:27:51 Does anyone recall how to make Emacs indent LOOP with clauses lining up with the initial clause (five spaces) instead of under second O (three spaces)? 19:28:24 (setq lisp-loop-indent-subclauses t) 19:28:41 -!- Joreji [~thomas@78-043.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 240 seconds] 19:28:59 -!- leyyer_su [~user@125.69.127.97] has quit [Remote host closed the connection] 19:29:39 Thanks! 19:30:03 nikodemus_phone [~androirc@87-95-54-236.bb.dnainternet.fi] has joined #lisp 19:30:13 Indecipherable_ [~IceChat7@41.30.213.227] has joined #lisp 19:30:30 zardoz8 [~zardoz8@76.73.16.26] has joined #lisp 19:31:28 I'm confused about progn. Does it only evaluate the last argument or something? 19:31:30 mcstar looks interesting 19:31:49 Indecipherable_: It evaluates each form in sequence and returns the value of the last one 19:31:57 -!- zomgbie [~jesus@85-127-217-153.dynamic.xdsl-line.inode.at] has quit [Ping timeout: 276 seconds] 19:32:31 Oh. Thanks 19:33:11 Got my script working for Project Euler challenge 1 19:33:31 kennyd: well, im not that interesting after you get to know me 19:33:34 Don't know if I should sign in though. Is it intereseting? 19:33:46 What's interesting? 19:34:16 is progn like C {} equivalent ? 19:34:23 Project Euler 19:34:41 drdo: http://aichallengebeta.hypertriangle.com/ 19:34:56 gravicappa [~gravicapp@ppp91-77-211-44.pppoe.mtu-net.ru] has joined #lisp 19:34:57 zardoz8: blocks in C are not expressions 19:35:29 Indecipherable_: you could wait for it to actually start, i just posted the link to let people know about it 19:35:41 and yeah, its quite interesting :) 19:36:16 competing with your bot against others' is pretty damn cool 19:37:21 zardoz8: But yeah, you could think about in terms of {} or do  end in some languages. 19:38:02 Indecipherable_: i read up, my mistake, but what i said still holds 19:38:14 zardoz8: Keeping in mind that there many forms have implicit progns. 19:38:36 lol. Thanks and Thanks mcstar 19:38:49 {} cant return a value can it? 19:38:54 Is there a starter package in CL? 19:39:00 yes there is 19:39:48 What's a starter package? 19:40:14 github/aichallengehttps://github.com/aichallenge/aichallenge/tree/epsilon/ants/dist/starter_bots 19:40:20 here are the starters 19:41:31 Common Lisp has so much unnecessary stuff. lol 19:41:50 -!- BlankVerse [~pankajm@202.3.77.219] has quit [Ping timeout: 260 seconds] 19:41:52 you mean the starter bot? 19:41:57 or CL in general? 19:42:05 CL 19:42:09 faux [~user@c-219c70d5.035-128-67626713.cust.bredbandsbolaget.se] has joined #lisp 19:42:54 -!- Qworkescence [~quad@unaffiliated/quadrescence] has quit [Ping timeout: 258 seconds] 19:43:33 -!- gravicappa [~gravicapp@ppp91-77-211-44.pppoe.mtu-net.ru] has quit [Ping timeout: 255 seconds] 19:44:07 Indecipherable_ such as? 19:44:10 The assignment operators and equality (?)predicates(?) are quite numerous. lol 19:44:25 lol nvm that asl symbol 19:44:42 What do you mean by "starter package", Indecipherable_? 19:44:47 im not really sure about the "unnecessary", it there for your convenience 19:45:17 I mean the kit they provide you with for starting. lol. Already gotiy 19:45:22 got it* 19:45:33 Never participated in a challenge before 19:46:05 mcstar: Yes, but you could implement them yourself 19:46:20 From the general point 19:46:26 Indecipherable_: you never participated in a beer drinking contest even? 19:47:14 gravicappa [~gravicapp@ppp91-77-211-44.pppoe.mtu-net.ru] has joined #lisp 19:47:59 I shouldn't even tell my age here 19:48:32 so don't 19:48:34 :S sorry, i dont want to think drinking beer is cool 19:48:43 want you to * 19:49:29 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Quit: Ex-Chat] 19:50:03 Davidbrcz [~david@ANantes-151-1-216-80.w2-8.abo.wanadoo.fr] has joined #lisp 19:50:09 wrt the challenge, its an excellent thing to get a little experience with your language of choice 19:50:25 Lol, it is difficult for others to influence me 19:51:00 I can't choose between Python and CL. lol. I only know them but I LOVE them 19:51:14 forget python 19:51:16 <|nix|`> Indecipherable_: You are in this channel so you are already under "the influence" 19:52:07 <|nix|`> mcstar: so how do you win the challenge? 19:52:31 he is not on #python lol 19:52:50 <|nix|`> :D 19:53:17 |nix|`: well, when the contest starts, people start writing bots, for 2 months 19:53:41 after that period, there will be a final run, and the leader board will get finalized 19:53:52 Exciting 19:54:04 in the 2 months period you can constantly monitor and change your bot 19:55:23 a bot can (need) to implement many basic ai approaches 19:55:48 for example pathfinding, a* , graph searching 19:56:07 then comes the assignment problem, associating ants with resources/targets 19:56:23 than battle resolution, possible neural networks could be used 19:56:35 or game trees 19:56:59 some think in terms of basic computer vision 19:57:10 what ever, there are really many possibilities 19:57:25 finite state machines for the main logic... 19:57:35 Lol. And I'm a total Noob to all those A.I techniques 19:57:45 or just use genetic programming for the whole shebang 19:58:08 Indecipherable_: hm, you will stay a noob until you start dealing with them 19:58:17 wedgeV [~wedge@static-96-239-100-26.nycmny.fios.verizon.net] has joined #lisp 19:58:19 this is the worst excuse 20:00:21 "The dog ate my knowledge" Must be worse 20:00:37 thats actually funny 20:01:08 Bike1 [~Glossina@71-38-159-241.ptld.qwest.net] has joined #lisp 20:01:30 XD 20:01:31 <|nix|`> mcstar: so basically the 2 months is for training 20:01:36 -!- Bike [~Glossina@71-214-98-135.ptld.qwest.net] has quit [Disconnected by services] 20:01:38 -!- Bike1 is now known as Bike 20:02:21 <|nix|`> either yourself or the bot 20:02:37 Or both 20:02:47 its for you to get an idea what you are up against, to shake down you methods, and to actually stay in the per turn time limit with your bot(you dont have infinite time to calculate moves per turn(1sec)) 20:03:02 http://en.wikipedia.org/wiki/A*_search_algorithm 20:03:24 xan_ [~xan@vpn13.hotsplots.net] has joined #lisp 20:04:22 Indecipherable_: i see your internet is working 20:04:57 now i could use the help of minion... 20:07:16 -!- peterhil` [~peterhil@gw.maxisat.fi] has quit [Ping timeout: 252 seconds] 20:07:51 last thought: why on earth didnt cpu manufacturers built the RAM right next to the CPU(bandwidth!!) 20:08:07 that's what cache is 20:08:18 -!- dmiles_afk [~dmiles@72.19.53.5] has quit [Read error: Connection reset by peer] 20:08:59 dmiles_afk [~dmiles@72.19.53.5] has joined #lisp 20:09:10 -!- xan_ [~xan@vpn13.hotsplots.net] has quit [Ping timeout: 264 seconds] 20:09:18 -!- Indecipherable_ [~IceChat7@41.30.213.227] has quit [Quit: When the chips are down, well, the buffalo is empty] 20:09:19 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: Leaving.] 20:09:58 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 20:10:06 gpu accesses its global memory 15x faster than cpu accesses its own, and 6x faster than its cache 20:10:07 ASau [~user@176.14.33.178] has joined #lisp 20:10:20 approximate numbers 20:10:44 -!- ISF [~ivan@187.106.54.41] has quit [Quit: WeeChat 0.3.5] 20:10:57 its interesting though that a gpu can have faster device memory access than a cpu cache access 20:11:05 <|3b|> they did, but CPUs got faster faster than RAM did :p 20:11:08 maybe i need to take into account latencies 20:11:16 <|3b|> GPU ram has huge latency though 20:11:18 mcstar: you're talking bandwidth, not latency. 20:11:35 are there any standard functions for profiling? probably not but worth a try 20:11:35 yeah, gpu has high latency 20:12:13 zardoz8: no, but many implementation have support for profiling. 20:12:43 nevertheless, cause the gpu's ram is close to the core, they can much wider memory bus 20:13:00 (or more like they are built on the same pcb) 20:13:15 they can have * 20:14:14 im gonna watch the mit course on stream processors(cell) 20:14:40 a couple of principles will stick on me i hope 20:15:57 im stuck with sicp at metacircular evaluation, i didnt have time to finish 20:16:23 -!- kushal [~kdas@fedora/kushal] has quit [Quit: Leaving] 20:20:09 Qworkescence [~quad@unaffiliated/quadrescence] has joined #lisp 20:20:17 zardoz8: Which lisp are you using? 20:20:32 zomgbie [~jesus@h081217131002.dyn.cm.kabsi.at] has joined #lisp 20:20:41 huangho_ [~vitor@201-66-148-84.paemt700.dsl.brasiltelecom.net.br] has joined #lisp 20:22:56 pyrony [~epic@office1.klout.com] has joined #lisp 20:23:02 -!- sonnym [~sonny@singlebrookvpn.lightlink.com] has quit [Quit: Leaving.] 20:23:32 peterhil` [~peterhil@gw.maxisat.fi] has joined #lisp 20:23:34 -!- huangho [~vitor@201-40-157-84.paemt700.dsl.brasiltelecom.net.br] has quit [Ping timeout: 264 seconds] 20:28:42 -!- emagdalena [~emagdalen@129.Red-88-4-185.dynamicIP.rima-tde.net] has quit [Quit: Saliendo] 20:29:56 -!- srid [~srid@unaffiliated/srid] has quit [Read error: Connection reset by peer] 20:30:36 -!- splineman [~emagdalen@129.Red-88-4-185.dynamicIP.rima-tde.net] has quit [Quit: Saliendo] 20:32:36 -!- Vivitron [~user@pool-71-174-61-33.bstnma.fios.verizon.net] has quit [Ping timeout: 255 seconds] 20:38:27 corni [~corni@drupal.org/user/136353/view] has joined #lisp 20:42:11 hey, i've another question fro you: When in REPL with emacs+slime, I've a really gorgeous tab-complete at my hand (triggered by only Tab). But as soon as i edit a .lisp file (in the slime mode, i think) I don't have the auto-complete anymore. The tab key indents to the right level, but then doesn't do anything else. C-c C-s seems to be another, related function, which doesn't do what i need in my case. AltGr-Tab doesn't work neither, and Alt-Tab i 20:42:12 s obviously bound by my window manager and can't be used. Long story short: How can I get the autocomplete work with just Tab, without loosing the intendation function of the tab key, in the normal file editor? 20:44:50 (define-key slime-mode-map (kbd "TAB") 'slime-indent-and-complete-symbol) 20:46:00 -!- mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has quit [Quit: leaving] 20:46:17 corni: there's also auto complete mode 20:47:07 I'm having a bit of a problem getting css to work on hunchentoot. I have the output that *should* get the browser to use my css file, but for some reason it does not. The css file is accessible. but is always downloaded, not directly displayed (as is with css files of other sites). 20:47:31 C-c Tab? 20:47:52 works in source mode, outside of repl 20:49:26 -!- zomgbie [~jesus@h081217131002.dyn.cm.kabsi.at] has quit [Ping timeout: 240 seconds] 20:51:47 mcstar: yep, works. somehow i missed that 20:52:24 pkhuong: where do i put that? it seems to look right, but i can't put it directly in .emacs, because slime-mode-map doesn't exist at the time .emacs is parsed 20:53:03 corni: you can put it in your .emacs, after loading slime. 20:53:30 pkhuong: well i've (slime-setup) before it in my .emacs 20:53:53 (require 'slime), isnt that it? 20:53:56 -!- hargettp_ [~hargettp_@dhcp-161.mirrorimage.net] has left #lisp 20:54:25 well i do (require 'slime-autoloads), maybe that's my mistake 20:54:47 nikodemus [~nikodemus@cs181063174.pp.htv.fi] has joined #lisp 20:55:24 yep, that was it 20:55:26 thanks! 20:55:35 anyway, i started to use emacs to write C instead of vim, its hard to go back to modal editing after using emacs to write lisp 20:56:49 now just one minor nitpick, why doesn't slime-complete-symbol complete variables defined via let? 20:57:44 defvar'd variables work, once the defvar has been evaluated 20:58:00 corni: it's because the lisp image doesn't know about them until you evaluate the definition of the whole form 20:58:19 slime-complete-symbol consults the package's interned symbols. if the symbol isn't interned, then completion doesn't know about them. 20:58:38 (I use hippie-expand a lot for local variables - bound it to M-/, works pretty well) (-: 20:58:53 -!- huangho_ [~vitor@201-66-148-84.paemt700.dsl.brasiltelecom.net.br] has quit [Quit: Lost terminal] 20:58:55 antifuchs: ah so it doesn't parse the source on its own (like a regular IDE would do, like eclipse) but just aks the runtime what could fit here? 20:59:02 exactly 20:59:04 once you evaluate/compile the form once, the names will be available for completion. 20:59:24 corni: yup. It's a mixed blessing when you want to edit code without loading it. 20:59:42 yep, now my dynamic variable shows up as well :-) 21:01:22 i thought your dynamics showed up already 21:01:43 global = dynamic = special isnt it? 21:02:04 mcstar: not quite 21:02:04 -!- jtza8 [~jtza8@iburst-41-213-46-38.iburst.co.za] has quit [Quit: Good night.] 21:02:05 gigamonk` [~user@adsl-99-58-31-64.dsl.pltn13.sbcglobal.net] has joined #lisp 21:02:11 dynamic and special mean the same 21:02:17 -!- faux [~user@c-219c70d5.035-128-67626713.cust.bredbandsbolaget.se] has quit [Read error: Connection reset by peer] 21:02:20 and all global variables are special 21:02:23 then i mixed up the names 21:02:29 but not all special variables are global 21:02:32 i'm still new to lisp 21:02:36 yeah, but he meant dynamic, where he meant a lexically bound variable 21:03:12 first meant->wrote 21:03:24 yep, i was talking about lexical variables 21:03:34 which just showed up after C-c C-c 21:03:44 -!- gigamonkey [~user@adsl-76-254-18-22.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 252 seconds] 21:05:11 |3b|: did you mess with pycuda? can that do what i was talking about the last time? is emacs integrated well with the python interpereter? 21:05:20 hi 21:06:10 -!- ngz [~user@209.141.80.79.rev.sfr.net] has quit [Read error: Operation timed out] 21:06:24 zmv [~daniel@c95334de.virtua.com.br] has joined #lisp 21:07:54 that filename-completion in strings is super-cool :D 21:09:24 <|3b|> mcstar: i don't use python or cuda 21:09:31 -!- TristamWrk [~tristamwr@2620:0:2820:b03:214:22ff:fe45:5204] has quit [Remote host closed the connection] 21:09:32 <|3b|> (and don't do that much even with opencl) 21:09:32 -!- am0c [~am0c@218.51.116.50] has quit [Remote host closed the connection] 21:10:58 sonnym [~sonny@rrcs-184-74-137-69.nys.biz.rr.com] has joined #lisp 21:12:33 |3b|: sorry, i didnt mean to insult you with python :) 21:13:24 <|3b|> well, it's not like my reasons for not using python are particularly good ones :) 21:13:38 was nice seeing you guys, gn 21:13:43 -!- mcstar [~mcstar@adsl-89-132-43-197.monradsl.monornet.hu] has left #lisp 21:13:56 martinhex [~mjc@93.97.29.243] has joined #lisp 21:14:01 |3b|: I have a good one. It sucks 21:15:42 ah got my problem fixed, chromium doesn't take css files unless the content-type header part is set to "text/css" 21:17:48 xan_ [~xan@vpn9.hotsplots.net] has joined #lisp 21:21:25 -!- centipedefarmer [~centipede@97-125-186-97.desm.qwest.net] has quit [Remote host closed the connection] 21:23:39 -!- phax [~phax@unaffiliated/phax] has quit [Quit: Leaving] 21:23:48 -!- zmv is now known as \o\ 21:26:23 Joreji [~thomas@83-096.eduroam.RWTH-Aachen.DE] has joined #lisp 21:26:28 -!- \o\ is now known as zmv 21:27:12 -!- Phoodus [~foo@ip72-223-116-248.ph.ph.cox.net] has quit [Ping timeout: 276 seconds] 21:28:26 nitpick: not all globals are special (many implementations support global lexicals as well) 21:28:47 mindCrime [~chatzilla@cpe-076-182-089-009.nc.res.rr.com] has joined #lisp 21:30:43 and then there's uber-globals that can't be anything but global. 21:30:51 überglobals 21:31:12 -!- zmv is now known as \\\\\ 21:31:16 Evanescence [~chris@122.237.1.171] has joined #lisp 21:31:56 -!- \\\\\ is now known as zmv 21:34:55 err anyone used the smoke qt bindings? 21:35:19 it seems a bunch of qt functionality is kind of missing... ie QCanvas is not there, QScrollView 21:35:55 I've grepped /usr/lib64/libsmoke*.so for QCanvas and there is nothing... (the implemented classes yield matches) 21:39:37 What's the difference between a lexical binding and a dynamic binding? (http://www.delorie.com/gnu/docs/emacs/cl_22.html) 21:39:58 I don't understand the direct/indirect explanation. 21:40:06 -!- cmatei [~cmatei@78.96.101.240] has quit [Remote host closed the connection] 21:40:07 DelPuerto [~youguy@16.Red-83-39-143.dynamicIP.rima-tde.net] has joined #lisp 21:42:17 -!- ChibaPet [~mason@74.203.221.34] has quit [Quit: Leaving.] 21:44:21 the first thing to do: don't look to emacs for explanations of these things (: 21:44:37 sykopomp: the überglobal is the one I can set in my image and you see its new value in yours. 21:45:32 markskilbeck: lexical binding is how most modern programming languages (younger than the last 15 years or so) do variables. 21:46:15 -!- wedgeV [~wedge@static-96-239-100-26.nycmny.fios.verizon.net] has left #lisp 21:46:29 -!- zardoz8 [~zardoz8@76.73.16.26] has quit [Quit: CGI:IRC (Ping timeout)] 21:46:39 lexical variables have a scope that's dictated by the source code structure, and so do their value bindings. 21:46:42 -!- kennyd [~kennyd@78-1-183-249.adsl.net.t-com.hr] has quit [Ping timeout: 276 seconds] 21:46:46 Pascal was invented in 1970 and had only lexical bindings. So rather last 42 years or so. 21:47:04 pjb: I thought emacs lisp is younger than that (: 21:47:32 antifuchs: in emacs lisp, lexical binding is still in the future (version 24, still in development). 21:47:38 pjb: exactly. 21:48:02 kennyd [~kennyd@93-141-64-136.adsl.net.t-com.hr] has joined #lisp 21:48:20 rfg [~rfg@dsl78-143-206-87.in-addr.fast.co.uk] has joined #lisp 21:48:36 markskilbeck: you can think of a dynamic variable as a global that for a certain duration can be bound to a different value 21:48:47 all functions below where you bound it will see that new value 21:48:57 (if they reference that name) 21:49:01 markskilbeck: does that help? 21:51:43 -!- DelPuerto [~youguy@16.Red-83-39-143.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 21:52:13 antifuchs: well, ostensibly. Until your code is heavily composed of implicit lexical variables... 21:53:17 *sykopomp* wonders if the term 'lexical' should still apply to those. 21:54:01 antifuchs: yesh. I see it now. Danke. 21:56:16 -!- gravicappa [~gravicapp@ppp91-77-211-44.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 21:56:35 Bike1 [~Glossina@71-214-96-236.ptld.qwest.net] has joined #lisp 21:57:52 -!- rfg [~rfg@dsl78-143-206-87.in-addr.fast.co.uk] has quit [Quit: rfg] 21:58:51 -!- Bike [~Glossina@71-38-159-241.ptld.qwest.net] has quit [Ping timeout: 276 seconds] 21:59:21 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 250 seconds] 22:00:00 lisper [18d1340b@gateway/web/freenode/ip.24.209.52.11] has joined #lisp 22:00:22 ok found my own answers, apparently /me is horribly behind the times 22:00:29 in qt4 canvas became qgraphicscene 22:00:47 hey all! In sbcl it does not seem like the struct layout changes if you declare all the slots fixnums or if you leave the slots untyped. Is my observation correct? 22:01:24 rfg [~rfg@dsl78-143-206-87.in-addr.fast.co.uk] has joined #lisp 22:01:36 lisper: yup. For fixnums, it only changes static type propagation; for most uses, it's better to keep fixnums as tagged pointers. 22:01:40 *tagged numbers even 22:01:53 redefining structures is a bit tricky 22:01:54 I mean I get a warning saying the slots have incompatable types, but the access code in the disassembly looks the same 22:02:15 -!- rmarianski [~rmariansk@mail.marianski.com] has quit [Quit: leaving] 22:02:36 lisper: fixnum and untyped slots are read identically, but already compiled code trusts that fixnum slots have fixnums in them 22:02:44 I just made a slot :type integer, and still make-it still looks the same :) 22:02:50 ah ok 22:02:52 lisper: right. It's still a new, different type, though, so old code is still incompatible. 22:03:16 just incompatible types, the actual struct layout does not seem to change 22:03:23 right. 22:03:32 -!- Athas [~athas@130.225.165.40] has quit [Remote host closed the connection] 22:03:45 eg (unsigned-byte 8) takes the same amount of space in the struct as does fixnum. 22:04:26 in sbcl yes. only things that take more than a single word are complex numbers and double-floats (on 32-bit platforms) 22:05:02 ok, but it does not seem to allocate less space for smaller things either if I'm looking at this correct 22:05:03 right. Those are represented as fixnums as well. 22:05:39 any particular reason for that? Just curious :) 22:06:07 Simplicity, no desperate need so far... and raw slots are a bit of a hack. 22:06:16 I see 22:06:47 I mean in C like languages you usually get to mess with the struct sizes and change the packing and whatnot which is why I was asking :) 22:06:53 I have half working code that can cope with more complex layouts, but it's not ready yet, and there doesn't seem to be a pressing need. 22:07:10 yeah no problem :) 22:07:28 I'm going to figure out how to write my own VOP later this weekend :) 22:07:35 just to... learn how ^-^ 22:07:59 oudeis [~oudeis@bzq-109-64-200-17.red.bezeqint.net] has joined #lisp 22:08:02 ITA sometimes use sb-alien when they really need to control the layout of objects. 22:08:08 lisper: You should blog about it and post to lisp reddit if you do... :) 22:08:28 ^-^ I don't blog but I guess I can start 22:08:44 I did sorta get my assembled segment to run 22:09:16 but yeah other then learning how the internals work by doing something "wierd", it is useless 22:10:41 and when you really need to pack things you take a specialized vector and stuff things into it 22:10:46 I did get my 10 000 line lisp project to compile :) 22:10:54 niko yeah that is what I do normally 22:11:15 sbcl does a good job with that 22:11:37 redline6561: apropos nothing, i added the code is / data is shirt :) 22:11:53 though one of the things I'd love to figure out how to add is sse2 and sse3 support for manipulating vectors 22:12:05 nikodemus: Awesome. Thanks! 22:12:10 lisper: take a look at sb-cga 22:12:22 http://nikodemus.github.com/sb-cga/ 22:12:28 oh hey cool :D 22:12:41 nikodemus: Also, I don't know how many responses you might have gotten suggesting recurring monthly payments but I strongly encourage that as an avenue to consider if possible. 22:12:46 maybe I should try and put bounties up ;) 22:13:03 pkhuong: I think that's an excellent idea. :) 22:14:32 And wasn't someone working on slightly more formal SSE support? https://github.com/angavrilov 22:14:39 lisper ^^ 22:14:45 oh nice niko. Looks like the one thing I'd love to add to that is some way to automatically do add operations across larger vectors (eg larger then 3 items) 22:15:27 -!- mishoo_ [~mishoo@79.112.119.222] has quit [Ping timeout: 240 seconds] 22:15:36 but the documentation of that shows me you have alot of what I've been wanting done already 22:15:37 dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #lisp 22:15:58 -!- redline6561 is now known as redline6561_sigt 22:16:04 -!- redline6561_sigt is now known as redline6561_syn 22:16:26 i think adding elements across a vector is out of scope for sb-cga, since it's strictly a graphics algebra library, but you can certainly use it as a starting point 22:17:23 that's a level 1 blas operation, anyway. 22:17:28 niko I see what you mean but yes! 22:18:07 https://github.com/angavrilov/cl-simd/blob/ba228781638474c7bdd6fa468014e7fb3cb6951d/sbcl-arrays.lisp <<< shows some really interesting code on how to write VOPs 22:18:17 pkhuong: would be nice if REDUCE was smart about arithmetic ops, though 22:18:40 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Client Quit] 22:19:50 wedgeV [~wedge@static-96-239-100-26.nycmny.fios.verizon.net] has joined #lisp 22:19:52 nikodemus: sure. 22:20:07 lisper: here are the vops for sb-cga: https://github.com/nikodemus/sb-cga/blob/master/ports/sbcl.lisp 22:20:25 btw I found a neat trick that I can do with compiler macros and sb-cltl2 :) 22:20:49 nikodemus: then again, simd tricks for reduce don't work for FP. 22:21:12 pkhuong: ? 22:21:19 but if you know the args are integers... ;) 22:21:54 sb-cltl2:variable-information <<< gives you the compiler type info that is attached to a variable :) 22:22:16 fp arithmetic doesn't associate, so you can't just sum in parallel and work horizontally at the end. 22:23:14 I'm sure sbcl has something that is similar to compiler-macros + sb-cltl2:variable-information. Probably deftransform 22:23:22 but I have not dug into those :) 22:23:27 i /really/ need to reread "what every...". i don't think i really understood it when i read it way back when 22:24:16 lisper: defknown + deftransform. you need to first defknown the thing before you can add transforms 22:24:37 nikodemus: so, really, it seems better to me to have the user call fast-math:sum instead. 22:24:55 point 22:25:34 lisper: but it's not really similar to compiler-macros and environment information at all: it doesn't work on source but IR1, it has access to derived type information and more, etc 22:25:58 ah ok 22:26:11 <|3b|> yeah, doing FP stuff 'correctly' cuts out all sorts of fun optimizations :p 22:26:57 FP being picky to handle is why I tend to stay with integers as long as possible and only use floats when I have to :) 22:27:28 Generic_Dumbass [~chatzilla@pool-173-79-166-252.washdc.fios.verizon.net] has joined #lisp 22:29:09 -!- lnostdal-laptop [~lnostdal@77.16.164.63.tmi.telenormobil.no] has quit [Ping timeout: 255 seconds] 22:30:02 -!- Generic_Dumbass [~chatzilla@pool-173-79-166-252.washdc.fios.verizon.net] has left #lisp 22:30:07 Beetny [~Beetny@ppp118-208-6-95.lns20.bne1.internode.on.net] has joined #lisp 22:30:14 hussaibi [~hussaibi@wirewall.cs.toronto.edu] has joined #lisp 22:30:18 hussaibi_ [~hussaibi@wirewall.cs.toronto.edu] has joined #lisp 22:31:39 -!- wedgeV [~wedge@static-96-239-100-26.nycmny.fios.verizon.net] has quit [Quit: wedgeV] 22:36:23 is there anything special about sb-ext:maybe-inline? Is this the equivalient of (declaim (inline fn)) (defun fn (...) ...) (declaim (not-inline fn))? 22:37:52 it is special 22:38:12 Mococa [~Mococa@186.214.248.108] has joined #lisp 22:39:02 1. it inlines only once per component. 2. it inlines only if SPACE=0 22:39:38 whereas regular INLINE inlines always, as many times per component as there are use sites 22:39:55 which results in larger code 22:40:19 understood :). 22:40:25 yes, but also makes it easier to optimize in many cases 22:40:38 larger code I mean INLINE 22:41:03 yes. and fully inlined code is easier to optimize 22:41:57 lnostdal-laptop [~lnostdal@46.67.29.45.tmi.telenormobil.no] has joined #lisp 22:41:58 right as we have more information 22:44:16 night 22:44:24 sleep well 22:45:59 just noticed that sbcl does not know if a function contains only constant lookups. eg (defun fn (svref +constant-array+ index)), if you call it like (fn 1), sbcl does not at compiletime look up what the result is unless you inline it. 22:46:04 -!- rfg [~rfg@dsl78-143-206-87.in-addr.fast.co.uk] has quit [Quit: rfg] 22:46:18 lisper: you cannot name a parameter for a constant. 22:46:32 oh 22:46:40 just noticed that sbcl does not know if a function contains only constant lookups. eg (defun fn (index) (svref +constant-array+ index)), if you call it like (fn 1), sbcl does not at compiletime look up what the result is unless you inline it. 22:46:48 sorry I goofed 22:46:56 zfx [~zfx@unaffiliated/zfx] has joined #lisp 22:46:56 lisper: it's hard to do that in CL. There's internal metadata to denote when functions can be constant folded. 22:47:39 -!- nikodemus [~nikodemus@cs181063174.pp.htv.fi] has quit [Read error: Operation timed out] 22:48:31 -!- nikodemus_phone [~androirc@87-95-54-236.bb.dnainternet.fi] has quit [Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )] 22:48:42 lisper: it's natural. any other function could (Setf (symbol-function 'fn) (lambda (i) (something-else))) 22:49:10 vaaal [~vaaal@host59-16-dynamic.18-79-r.retail.telecomitalia.it] has joined #lisp 22:49:17 yeah I get what you mean, just at times you know that won't happen 22:49:43 lisper: at that time, you can tell it to the compiler with a (declaim (inline fn)). 22:50:09 then we are inlining quite a bit 22:50:34 -!- gkeith_lt [~gkeith@nat/google/x-kmezlldtibrcchzb] has quit [Ping timeout: 264 seconds] 22:50:39 Only when you care about it. 22:50:41 -!- Davidbrcz [~david@ANantes-151-1-216-80.w2-8.abo.wanadoo.fr] has quit [Ping timeout: 240 seconds] 22:51:03 ah right of course 22:51:03 :) 22:51:10 hi 22:51:23 how could i evaluate all a file? 22:51:50 pjb_ [~pjb@81.202.16.46.dyn.user.ono.com] has joined #lisp 22:52:34 pjb another thing you could do is (define-compiler-macro fn (&whole form index) (if (constantp index) (funcall #'fn index) form)). ^-^ 22:52:42 vaaal: (load "file.lisp") 22:52:52 vaaal in emacs C-c C-k 22:52:55 indeed 22:53:14 thank you 22:54:38 Vivitron [~user@pool-71-174-61-33.bstnma.fios.verizon.net] has joined #lisp 22:55:36 wedgeV [~wedge@cpe-74-66-9-78.nyc.res.rr.com] has joined #lisp 22:57:44 -!- Joreji [~thomas@83-096.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 250 seconds] 22:58:25 zardoz8 [~zardoz8@76.73.16.26] has joined #lisp 22:58:28 hi 22:58:32 is there a #+foo bar equivalent with if? (if foo bar). if foo is true it should evaluate to bar, otherwise to nothing 22:58:56 (not to nil) 22:59:16 when? 22:59:16 #+ doesn't affect evaluation. 22:59:17 (when foo bar) 22:59:37 but when will return nil if foo is not true 23:00:00 o_O but everything evaluates to something 23:00:21 well #+foo bar doesn't if bar is nil 23:00:39 if foo is not set even 23:00:55 I dont know why you would ever want that, but you could do (if foo bar (values)) 23:00:59 zardoz8: #+ affects the READer, not evaluation. 23:01:05 zardoz8 because to the lisp compiler #+foo whatever does not even exist because it is not read 23:01:28 everything has a return value (well most everything) 23:02:07 if you want a specific return value or have something other then nil returned, use IF 23:02:43 ok so this cant be done, if must return something 23:03:01 zardoz more like why would you want to not return something? 23:03:44 was trying to do something like this (making syntax up as i go) (make-intance 'class (if something (list :field value)) ... ) 23:03:46 zardoz8: (if foo bar (values)) 23:04:03 oh 23:04:28 zardoz8: multiple-value-call can work for that sort of thing. 23:04:29 then yes use (values) that will give you a null return. 23:04:35 zardoz8: if you want to uild a list of arguments, you must use apply to pass them. 23:05:00 Or, more idiomatically, you can build a list of arguments and APPLY. 23:05:10 you might want to try (apply #'make-instance 'classname ....) 23:05:26 ah right, then nil would be fine (empty list) 23:05:34 yep 23:06:31 drake01 [~drake01@115.246.154.126] has joined #lisp 23:07:03 -!- drake01 [~drake01@115.246.154.126] has quit [Client Quit] 23:10:21 Guest5921 [~drake01@115.246.154.126] has joined #lisp 23:10:28 -!- Guest5921 [~drake01@115.246.154.126] has quit [Client Quit] 23:10:43 nicdev_ [~nicdev@209-6-50-99.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #lisp 23:10:59 taiyal [~taiyal@bb-216-195-184-102.gwi.net] has joined #lisp 23:11:52 zardoz8 maybe you want to do something like this? --> 23:12:25 (defmacro create-class (type &rest args) `(make-instance ',type ,@(unless (rest nil) rest))) 23:12:57 phax [~phax@adsl-68-73-148-217.dsl.ipltin.ameritech.net] has joined #lisp 23:12:57 -!- phax [~phax@adsl-68-73-148-217.dsl.ipltin.ameritech.net] has quit [Changing host] 23:12:57 phax [~phax@unaffiliated/phax] has joined #lisp 23:12:57 ops, the second line: `(make-instance ',type ,@(unless (args nil) args))) 23:13:16 -!- JuanDaugherty [~Ren@cpe-72-228-177-92.buffalo.res.rr.com] has quit [Quit: JuanDaugherty] 23:13:24 yeah I wanted something like, but outside of a defmacro 23:13:29 mmm 23:14:21 -!- parabolize [~paraboliz@203.83.50.36] has quit [Ping timeout: 260 seconds] 23:15:01 dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has joined #lisp 23:19:14 Phoodus [~foo@68.107.217.139] has joined #lisp 23:19:33 vaaal395 [~vaaal@host59-16-dynamic.18-79-r.retail.telecomitalia.it] has joined #lisp 23:19:58 -!- vaaal [~vaaal@host59-16-dynamic.18-79-r.retail.telecomitalia.it] has quit [Ping timeout: 264 seconds] 23:22:21 -!- hussaibi [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 252 seconds] 23:22:22 -!- hussaibi_ [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 258 seconds] 23:22:27 ISF [~ivan@187.106.54.41] has joined #lisp 23:23:46 drake01__ [~drake01@115.246.154.126] has joined #lisp 23:25:22 hussaibi [~hussaibi@wirewall.cs.toronto.edu] has joined #lisp 23:25:27 hussaibi_ [~hussaibi@wirewall.cs.toronto.edu] has joined #lisp 23:27:33 pnq [~nick@172.130.222.25] has joined #lisp 23:28:27 hussaibi__ [~hussaibi@wirewall.cs.toronto.edu] has joined #lisp 23:29:12 mmm 23:29:19 how evaluate ,@nil ? 23:29:40 -!- hussaibi [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 246 seconds] 23:29:47 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 23:29:54 -!- hussaibi_ [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 255 seconds] 23:30:07 hussaibi [~hussaibi@wirewall.cs.toronto.edu] has joined #lisp 23:30:19 -!- drake01__ [~drake01@115.246.154.126] has quit [Quit: Ex-Chat] 23:30:20 vaaal395: Explain? 23:30:23 well, i will make it clear. In a macro when i do ,@args and args isn't supplied, and args should be nil 23:30:35 will expand to nothing I would guess 23:30:36 -!- Bike1 is now known as Bike 23:30:42 yes 23:30:45 it do this way 23:30:48 but why? 23:30:51 ,@nil = nothing? 23:31:02 nil is an empty list 23:31:03 bleakgadfly [51a6aba8@gateway/web/freenode/ip.81.166.171.168] has joined #lisp 23:31:09 ,@ inlines lists elements 23:31:18 ah 23:31:18 and there aren't any elements 23:31:23 right 23:31:25 :) 23:31:29 sorry for this stupid question 23:31:31 :P 23:31:36 You can try it. `(arbitrary ,@nil) 23:31:41 I asked my share today 23:31:48 arbitrary is new for me :O 23:31:53 ^^ 23:32:14 Since it's quoted, it's just a symbol. 23:32:36 (i knew it works this way, i just wondered why, and know i understand ^^ 23:32:37 ) 23:32:43 -!- Organometallica [~Jeremy@henle2.scs.uiuc.edu] has quit [Ping timeout: 258 seconds] 23:32:50 http://paste.lisp.org/display/123825 <= How come I get an warning about an unused variable when it is clearly used in the expression? :S 23:33:21 bleakgadfly: Because you quoted it, it uses the symbol, not its value. 23:34:04 -!- ISF [~ivan@187.106.54.41] has quit [Ping timeout: 252 seconds] 23:34:40 I've tried using it as: (format-folder-name (xs)) but then I just get the same warning but there is a hashtag instead of XS in the debugger. 23:35:15 in (xs) xs is not a variable but a function. 23:37:31 Then I'm not sure I understand, by using xs am I not referring to the lambda argument? 23:37:51 Try '(:ABSOLUTE (FORMAT-FOLDER-NAME XS)) on the REPL, you just get a list. 23:38:06 -!- hussaibi [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 252 seconds] 23:38:09 -!- hussaibi__ [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 250 seconds] 23:38:35 Tristam [~Tristam@cpe-72-226-124-205.nycap.res.rr.com] has joined #lisp 23:39:52 Sure, Bike, but I thought that list was supposed to be used by make-pathname :directory 23:40:19 bleakgadfly '(var1 var2) is a list of symbols. not a list of values stored by var1 and var2 23:41:03 you want (list var1 var2) or `(,var1 ,var2) 23:41:21 (let ((xs 42)) '(xs)) vs. (let ((xs 42)) (list xs)) 23:41:49 Sorry my noobishness :) I thought '(var1 var2) was the same as (list var1 var2) 23:42:19 it is often badly explained in tutorials unfortunately... 23:42:27 also try see '(1 (+ 2 3)) vs `(1 ,(+ 2 3)) 23:42:47 parabolize [~paraboliz@203.83.50.36] has joined #lisp 23:43:01 ' quotes everything literally, command (,) unquotes portions of quoted form 23:43:18 pjb_: I am working my way through Practical Common Lisp but I have an ugly habit of going of the trail when I have some idea for a program, googling the commands I think I'll need =/ 23:43:49 it is a good way to learn. i do that too. 23:44:21 -!- nicdev_ [~nicdev@209-6-50-99.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: nicdev_] 23:44:29 -!- taiyal [~taiyal@bb-216-195-184-102.gwi.net] has quit [Read error: Connection reset by peer] 23:44:59 taiyal [~taiyal@bb-216-195-184-102.gwi.net] has joined #lisp 23:45:46 -!- vaaal395 [~vaaal@host59-16-dynamic.18-79-r.retail.telecomitalia.it] has quit [Ping timeout: 264 seconds] 23:45:51 -!- ikki [~ikki@201.155.92.12] has quit [Ping timeout: 260 seconds] 23:46:18 Anyway, thanks for your help :) Seeing how the issue was my the list I can problably drop the lambda expression too. 23:49:47 -!- replore_ [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 23:51:39 hussaibi_ [~hussaibi@wirewall.cs.toronto.edu] has joined #lisp 23:51:39 hussaibi [~hussaibi@wirewall.cs.toronto.edu] has joined #lisp 23:53:46 hussaibi__ [~hussaibi@wirewall.cs.toronto.edu] has joined #lisp 23:54:20 bleakgadfly: I think following your nose is a great way to learn. 23:54:25 -!- gigamonk` is now known as gigamonkey 23:55:21 Thanks, nice to hear, I've always thought I was merely a bad habit to go on a side-track... 23:56:16 -!- hussaibi [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 246 seconds] 23:56:20 hussaibi [~hussaibi@wirewall.cs.toronto.edu] has joined #lisp 23:56:33 mrSpec [~Spec@pool-151-204-255-122.bstnma.btas.verizon.net] has joined #lisp 23:56:33 -!- mrSpec [~Spec@pool-151-204-255-122.bstnma.btas.verizon.net] has quit [Changing host] 23:56:33 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 23:57:19 -!- hussaibi_ [~hussaibi@wirewall.cs.toronto.edu] has quit [Ping timeout: 246 seconds] 23:57:29 what's the difference between 'print and #'print abd when do i need to use which form? 23:59:13 benny` [~benny@i577A82DB.versanet.de] has joined #lisp