00:00:25 They'd run stumpwm, of course.
00:01:05 yeah, well for me, i have exactly zero commercial pressure to code anything for money so i can pretend that some day i will code up my great replacement for photoshop and build an xserver style back end for delivering lisp applications over an http style protocol
00:01:11 then i wake up :)
00:01:36 holycow: What's wrong with gimp?
00:01:46 nothing :) i use it every day
00:02:04 holycow: Might as well just wait for python to turn into a lisp and you're half way there.
00:02:17 __no__
00:02:18 hehe :)
00:03:23 It will be called Lispy, it will be cute.
00:03:32 meh
00:03:49 why reinvent what was perfect 40 years ago? or whenever the last hyperspect was finalized
00:04:08 holycow: You claim CL is perfect?
00:04:34 here we go again
00:04:38 i claim nothing, i'll just get back to humbly reading up on the clxs project
00:04:44 fasten your seatbelts :p
00:05:18 kenanb: I wasn't making a claim one way or another. I'd simply say the fact that there are entirely too many implementations of CL can be considered a disadvantage. That's all.
00:05:31 i think that is wrong
00:05:50 that is as wrong as saying that there MUST be ONLY ONE linux in order to make it succesffull in the marketplace
00:05:59 which wrong on so many levels one hardly knows where to begin
00:06:20 it's as wrong as complaining about how many new languages are invented every day and wondering why anyone bothers
00:06:48 lol its as wrong as me complaining about the morons in ubuntu world moving to wayland
00:06:56 :)
00:07:28 holycow: I actually don't see that as being an equivalent statement at all. Linux is, for the most part, a directed collection of branches. It's not like the Unixes where details are implemented differently in each release. Sure, you can use whatever version of Linux you want, but it's derived from the same specs.
00:07:35 mek||malloc: i didn't mean that you will start trolling, i meant some conversations are able to start trollish discussions automatically :)
00:08:00 well you can make the same argument about different lisp implementations
00:08:36 OT stuff is on topic in #lispcafe
00:08:45 true enough, sorry!
00:08:53 -!- kanru [~kanru@61-228-153-104.dynamic.hinet.net] has quit [Ping timeout: 245 seconds]
00:15:47 this clxs stuff is really interesting. i found another project that is tangential to this, it was trying to specify only a protocol for service cl apps over the network with a server backend. neat, thx for the link!
00:18:01 ikki [~ikki@189.247.134.211] has joined #lisp
00:18:20 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp
00:18:38 -!- vert2 [vert2@gateway/shell/bshellz.net/x-lkzusolboizlbgjt] has quit [Quit: Lost terminal]
00:19:38 -!- udzinari` [~user@209.158.broadband13.iol.cz] has quit [Ping timeout: 276 seconds]
00:23:26 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 264 seconds]
00:24:08 vert2 [vert2@gateway/shell/bshellz.net/x-ykedghtbkicydcru] has joined #lisp
00:24:23 xyxxyyy [~xyxu@58.41.58.222] has joined #lisp
00:24:43 -!- gravicappa [~gravicapp@ppp85-141-167-188.pppoe.mtu-net.ru] has quit [Ping timeout: 245 seconds]
00:25:54 ikki [~ikki@189.247.134.211] has joined #lisp
00:27:40 -!- rickmode [~rickmode@cpe-75-85-93-10.socal.res.rr.com] has left #lisp
00:27:46 erory [~rory_elri@203-206-172-3.perm.iinet.net.au] has joined #lisp
00:28:47 -!- [df] [~df@163.8.187.81.in-addr.arpa] has quit [Ping timeout: 250 seconds]
00:29:13 -!- ziarkaen [~ziarkaen@stu246.queens.ox.ac.uk] has quit [Ping timeout: 252 seconds]
00:32:06 LiamH [~nobody@pool-72-75-78-43.washdc.east.verizon.net] has joined #lisp
00:33:31 -!- vlion [~user@76.178.165.160] has quit [Remote host closed the connection]
00:36:34 [df] [~df@163.8.187.81.in-addr.arpa] has joined #lisp
00:37:11 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 276 seconds]
00:38:43 -!- Tristam [~Tristam@cpe-67-242-194-233.nycap.res.rr.com] has quit [Ping timeout: 240 seconds]
00:39:33 ikki [~ikki@189.247.134.211] has joined #lisp
00:44:56 -!- gigamonkey [~user@adsl-99-50-124-160.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 245 seconds]
00:45:39 -!- Amadiro [~whoppix@ti0021a380-dhcp0225.bb.online.no] has quit [Read error: Operation timed out]
00:48:53 -!- _s1gma [~herpderp@77.107.164.131] has quit [Quit: Quit:]
00:49:51 -!- Yuuhi [benni@p5483A2A2.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
00:50:05 -!- b-man_ [~b-man@189.34.62.117] has quit [Remote host closed the connection]
00:50:56 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 240 seconds]
00:52:12 insomniaSalt [~milan@port-92-204-64-234.dynamic.qsc.de] has joined #lisp
00:53:32 -!- carlocci [~nes@93.37.206.31] has quit [Quit: eventually IE will rot and die]
00:53:36 ikki [~ikki@189.247.134.211] has joined #lisp
01:00:02 wuj [~wuj@pool-74-101-71-212.nycmny.east.verizon.net] has joined #lisp
01:00:04 For (defstruct foo bar 3), will (make-foo) automatically set bar to default value 3 or must one specify (make-foo :bar *default-foo-bar*) ?
01:00:14 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Remote host closed the connection]
01:01:33 mek||malloc: looks like it is short a few parentheses
01:01:50 -!- dfox [~dfox@ip-89-176-209-66.net.upcbroadband.cz] has quit [Ping timeout: 264 seconds]
01:02:45 |3b|: It is?..
01:02:56 (defstruct foo (bar 3)) ?
01:03:07 then (foo-bar (make-foo)) => 3
01:03:45 -!- LaPingvino [~LaPingvin@187.87.233.222] has left #lisp
01:03:47 |3b|: Oh. From the documentation I was reading (http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node169.html) that didn't seem like the case, but that makes more sense.
01:04:41 Hyperspec seems to be more clear though. Thanks.
01:04:45 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 250 seconds]
01:04:50 kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #lisp
01:08:07 ikki [~ikki@189.247.134.211] has joined #lisp
01:08:27 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Remote host closed the connection]
01:09:32 -!- insomniaSalt [~milan@port-92-204-64-234.dynamic.qsc.de] has quit [Ping timeout: 255 seconds]
01:11:33 danlen-1 [~danlentz@c-68-32-54-29.hsd1.nj.comcast.net] has joined #lisp
01:13:14 _nix00 [~Adium@61.172.241.100] has joined #lisp
01:14:23 -!- kenanb [~kenanb@94.54.235.211] has left #lisp
01:14:36 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp
01:15:25 insomniaSalt [~milan@port-92-204-64-234.dynamic.qsc.de] has joined #lisp
01:17:37 Tristam [~Tristam@cpe-67-242-194-233.nycap.res.rr.com] has joined #lisp
01:19:26 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 276 seconds]
01:21:30 -!- Joreji [~thomas@67-052.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 272 seconds]
01:22:08 -!- attila_lendvai [~attila_le@adsl-89-135-204-65.monradsl.monornet.hu] has quit [Quit: Leaving.]
01:22:08 ikki [~ikki@189.247.134.211] has joined #lisp
01:22:58 -!- danlen-1 [~danlentz@c-68-32-54-29.hsd1.nj.comcast.net] has quit [Quit: Colloquy for iPhone - http://colloquy.mobi]
01:24:04 -!- Adamant [~Adamant@unaffiliated/adamant] has quit [Quit: Adamant]
01:24:37 Adamant [~Adamant@unaffiliated/adamant] has joined #lisp
01:25:49 jweiss_ [~jweiss@cpe-069-134-009-048.nc.res.rr.com] has joined #lisp
01:25:53 rff [~rff@ip72-207-243-174.br.br.cox.net] has joined #lisp
01:27:11 iwillig [~ivan@ool-18b944f4.dyn.optonline.net] has joined #lisp
01:27:38 Salamander_ [~Salamande@ppp121-45-11-251.lns20.adl2.internode.on.net] has joined #lisp
01:28:59 -!- sabalaba [~sabalaba@123.113.97.107] has quit [Ping timeout: 240 seconds]
01:29:06 -!- _nix00 [~Adium@61.172.241.100] has left #lisp
01:30:14 -!- Salamander [~Salamande@ppp118-210-135-47.lns20.adl6.internode.on.net] has quit [Ping timeout: 255 seconds]
01:31:31 rahul [~rjain@66-234-32-150.nyc.cable.nyct.net] has joined #lisp
01:33:09 PCChris [~PCChris@wireless-165-124-137-195.nuwlan.northwestern.edu] has joined #lisp
01:33:40 -!- ltriant [~ltriant@lithium.mailguard.com.au] has quit [Quit: Get MacIrssi - http://www.sysctl.co.uk/projects/macirssi/]
01:33:57 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 265 seconds]
01:34:56 -!- gemelen [~shelta@shpd-92-101-135-83.vologda.ru] has quit [Ping timeout: 245 seconds]
01:35:59 ikki [~ikki@189.247.134.211] has joined #lisp
01:38:26 abugosh [~Adium@pool-108-15-19-17.bltmmd.fios.verizon.net] has joined #lisp
01:42:26 -!- iwillig [~ivan@ool-18b944f4.dyn.optonline.net] has quit [Quit: Leaving]
01:48:06 neoesque [~neoesque@210.59.147.232] has joined #lisp
01:49:20 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 276 seconds]
01:52:19 ikki [~ikki@189.247.134.211] has joined #lisp
01:54:31 is alistair bridgewater nyef?
01:57:34 -!- dlowe [~dlowe@c-66-30-116-162.hsd1.ma.comcast.net] has quit [Quit: Leaving.]
01:59:27 -!- sdsds is now known as Your_Face
02:02:26 Ocaso [~chatzilla@203.156.243.14] has joined #lisp
02:02:53 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 240 seconds]
02:03:25 -!- Your_Face is now known as sdsds
02:04:18 ltriant [~ltriant@lithium.mailguard.com.au] has joined #lisp
02:04:24 does something reset slime-echo-arglist-function at random?
02:05:51 SCVirus [~SCVirus@S0106001c1122940c.gv.shawcable.net] has joined #lisp
02:10:57 Salamander__ [~Salamande@ppp118-210-145-136.lns20.adl6.internode.on.net] has joined #lisp
02:11:06 sabalaba [~sabalaba@123.120.135.65] has joined #lisp
02:11:16 Howdy sabalaba.
02:11:36 astoon [~astoon@213.141.244.246] has joined #lisp
02:12:08 jsnikeris [~user@pool-98-114-175-66.phlapa.fios.verizon.net] has joined #lisp
02:13:10 Hi all, is there a built-in function to cycle a list: (cycle '(a b c d) 2) -> (c d a b)
02:13:19 -!- Salamander_ [~Salamande@ppp121-45-11-251.lns20.adl2.internode.on.net] has quit [Ping timeout: 240 seconds]
02:13:23 Xach [~xach@pdpc/supporter/professional/xach] has joined #lisp
02:14:17 jsnikeris: What do you mean cycle a list? split at an index and swap these two sublists?
02:14:26 sohail [~Adium@unaffiliated/sohail] has joined #lisp
02:15:09 Hmm, yah I guess that's another way to look at it
02:15:14 -!- skalawag [~user@c75-111-102-202.amrlcmta01.tx.dh.suddenlink.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
02:15:34 jsnikeris: You can always use a loop and collect until the index is reached... And append the cdr of the list to this collected sublist.
02:16:36 jsnikeris: Or you can recursively collect elements until the index is reached and then append the collection to the remaining elements.
02:18:57 jsnikeris: nothing built-in.
02:19:00 -!- pdelgallego [~pdelgalle@1503031474.dhcp.dbnet.dk] has quit [Ping timeout: 260 seconds]
02:19:28 -!- vandemar [nonserviam@2001:470:1f10:56b::4] has quit [Quit: Lost terminal]
02:19:50 (defun cycle (list n) (append (subseq list n) (subseq list 0 n))) though.
02:21:16 Jasko [~tjasko@c-174-59-223-208.hsd1.pa.comcast.net] has joined #lisp
02:21:51 ahh thanks, I was trying to do it recursively, but that's surely faster
02:22:00 vandemar [spin@2001:470:1f10:56b::4] has joined #lisp
02:22:16 faster to write, for sure.
02:23:02 ikki [~ikki@189.247.134.211] has joined #lisp
02:25:40 gonzojive_ [~red@c-71-198-7-84.hsd1.ca.comcast.net] has joined #lisp
02:28:20 Can structs be defined in terms of other struct types? For example (defstruct node (blah)) (defstruct tree (root-node :type node) (child-nodes))
02:28:43 kclifton [~kclifton@S01060026f32c2837.cg.shawcable.net] has joined #lisp
02:29:08 cataska [~cataska@210.64.6.233] has joined #lisp
02:30:29 mek||malloc: they can, but that definition isn't valid.
02:30:58 -!- sellout [~greg@c-24-61-13-161.hsd1.ma.comcast.net] has quit [Ping timeout: 245 seconds]
02:30:58 mek||malloc: in that example, you'd need a :type of (or null node)
02:31:13 -!- Lycurgus [~juan@cpe-72-228-177-92.buffalo.res.rr.com] has quit [Ping timeout: 240 seconds]
02:31:25 sbahra [~sbahra@pool-74-106-252-24.bltmmd.fios.verizon.net] has joined #lisp
02:31:41 ... (root-node :type of (or null node)) ?
02:31:53 Or am I taking you literally
02:32:06 too literally.
02:32:16 a ":type" of "(or null node)"
02:32:53 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 240 seconds]
02:32:57 Oh, I see. Thanks.
02:33:00 -!- leo2007 [~leo@59.57.34.138] has quit [Quit: rcirc on GNU Emacs 23.2.20]
02:33:02 Xach: :type node *is* valid.
02:33:19 pkhuong_: Is it valid if there is no default value of type node provided?
02:33:25 -!- dfkjjkfd [~paulh@247-15-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal]
02:33:43 Xach: you can't specify the type without specifying an initform.
02:34:12 ah, ok. i forgot that about structs.
02:34:23 leo2007 [~leo@59.57.34.138] has joined #lisp
02:34:25 pkhuong_: What exactly do you mean by that?
02:34:33 ikki [~ikki@189.247.134.211] has joined #lisp
02:34:36 but even if you specify something bogus, it won't matter as long as it's always overridden with an argument of the right type.
02:35:01 mek||malloc: has (slot-name [slot-initform [[slot-option]]])
02:35:07 -!- timor [~timor@port-92-195-92-180.dynamic.qsc.de] has quit [Remote host closed the connection]
02:36:06 pkhuong_: Right.. Oh, I see. So you can use (foo :type bar) without having to say (foo some-bar :type bar)
02:36:34 udzinari` [~user@209.158.broadband13.iol.cz] has joined #lisp
02:37:24 SBCL style would give (root-node (error "~S must be provided" 'root-node) :type node), and you can do even better by defining a constructor with a required argument for root-node.
02:37:28 -!- kclifton [~kclifton@S01060026f32c2837.cg.shawcable.net] has quit [Quit: kclifton]
02:40:20 pkhuong_: Given that syntax, a user would not be able to (make-foo) and then set the root-node later, right? It would force them to (make-foo :root-node some-node)
02:42:13 jeti` [~user@p54B47899.dip.t-dialin.net] has joined #lisp
02:42:33 -!- jeti` [~user@p54B47899.dip.t-dialin.net] has quit [Remote host closed the connection]
02:42:40 right. Doing otherwise makes static checking less useful: you give the guarantee that the root-node is a node, but then allow the user to break that guarantee.
02:42:43 coyo|pingout [~coyotama@pool-71-164-234-131.dllstx.fios.verizon.net] has joined #lisp
02:43:19 I see, thank you.
02:43:20 You can relax the condition to ensure that the root-node is a node whenever it's read with a b-o-a constructor and &aux.
02:43:58 That's usually not a good idea.
02:45:15 holycow: yes.
02:45:19 -!- bandu [~coyotama@pool-71-164-234-131.dllstx.fios.verizon.net] has quit [Ping timeout: 240 seconds]
02:46:02 -!- jeti [~user@p54B47EA1.dip.t-dialin.net] has quit [Ping timeout: 276 seconds]
02:46:08 -!- askatasuna [~askatasun@77-10-231-201.fibertel.com.ar] has quit [Quit: WeeChat 0.3.3]
02:46:46 -!- gadek [~konrad@62.121.148.46] has quit [Quit: WeeChat 0.3.2]
02:48:00 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 245 seconds]
02:48:44 gadek [~konrad@62.121.148.46] has joined #lisp
02:51:24 didi [~user@unaffiliated/didi/x-1022147] has joined #lisp
02:52:13 Is anyone having problems with clbuild? I can't get it install the default packages nor hunchentoot.
02:53:38 ikki [~ikki@189.247.134.211] has joined #lisp
02:54:50 didi: what happens when you try?
02:55:17 -!- neoesque [~neoesque@210.59.147.232] has quit [Remote host closed the connection]
02:56:03 pkhuong_ & Xach: Just to clarify on our previous discussion, would the form... (entry :type (or null node leaf)) be used to specify some slot can either be null, a node, or a leaf? Granted some initial value should be provided or the corresponding error caught.
02:56:05 -!- metasyntax [~taylor@72.86.89.174] has quit [Quit: In our sky there is no limits, and masters we have none; heavy metal is the only one! ]
02:56:29 mek||malloc: that's invalid syntax. you can't omit the initform.
02:56:56 you could have (entry nil :type (or null ...))
02:57:18 Oh, I see. But is my reasoning about (or null node leaf) correct?
02:58:04 yes.
02:58:14 Thank you very much :o)
02:58:17 -!- leo2007 [~leo@59.57.34.138] has quit [Remote host closed the connection]
02:59:46 Xach: Well, when I tried to `update --main-projects' it failed right from the start, saying `cvs [checkout aborted]: Name or service not known' while checking out `portableaserve/acl-compat'. Then, when I tried to update just hunchentoot, it failed with a `connection refused' from the cl-base64 git project.
03:00:12 leo2007 [~leo@59.57.34.138] has joined #lisp
03:00:44 ah yes. git.b9.com is down.
03:01:18 :(
03:01:34 didi: this is one of the reasons why i wrote quicklisp.
03:03:14 Xach: I've read news about it in the Planet. :)
03:03:19 chemuduguntar [~ravi@118-92-28-98.dsl.dyn.ihug.co.nz] has joined #lisp
03:04:03 wouldn't hurt to get in touch with kmr and ask what's up, i suppose.
03:04:06 -!- jweiss_ [~jweiss@cpe-069-134-009-048.nc.res.rr.com] has quit [Ping timeout: 272 seconds]
03:04:09 he might not know there's a problem.
03:05:19 Xach: I don't know them, unfortunately. But, meanwhile, I'll checkout quicklisp.
03:05:37 *Xach* emails kmr
03:07:34 -!- mek||malloc [~mek@12.230.222.196] has quit [Quit: Leaving.]
03:07:53 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 255 seconds]
03:08:21 pnkfelix [~Adium@c-71-225-45-140.hsd1.nj.comcast.net] has joined #lisp
03:08:22 jconrad_ [~jconrad@host109-153-50-34.range109-153.btcentralplus.com] has joined #lisp
03:08:57 -!- pnkfelix [~Adium@c-71-225-45-140.hsd1.nj.comcast.net] has quit [Client Quit]
03:09:18 -!- jconrad [~jconrad@host109-153-50-34.range109-153.btcentralplus.com] has quit [Ping timeout: 245 seconds]
03:09:18 -!- jconrad_ is now known as jconrad
03:12:04 ikki [~ikki@189.247.134.211] has joined #lisp
03:12:31 m4dnificent [~madnifice@83.101.62.132] has joined #lisp
03:13:09 -!- Xach [~xach@pdpc/supporter/professional/xach] has left #lisp
03:13:13 Xach: Nice. Congratulations. Nice work. Thank you.
03:13:26 Hunchentoot up and running.
03:14:00 -!- madnificent [~madnifice@83.101.62.132] has quit [Ping timeout: 265 seconds]
03:16:11 -!- gadek [~konrad@62.121.148.46] has quit [Quit: spaaa]
03:20:51 -!- abugosh [~Adium@pool-108-15-19-17.bltmmd.fios.verizon.net] has quit [Quit: Leaving.]
03:21:59 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 240 seconds]
03:25:29 Skunkwaffle [~Waffle@unaffiliated/Skunkwaffle] has joined #lisp
03:26:04 ikki [~ikki@189.247.134.211] has joined #lisp
03:26:05 -!- rff [~rff@ip72-207-243-174.br.br.cox.net] has quit [Read error: Connection reset by peer]
03:26:25 rff [~rff@ip72-207-243-174.br.br.cox.net] has joined #lisp
03:26:54 Somewhere between passing a list as a parameter to a function, and then sorting the list, extra values are appearing in it. Has anyone heard of anything like this before?
03:28:17 Skunkwaffle: try pasting a small test case.
03:28:31 -!- leo2007 [~leo@59.57.34.138] has quit [Quit: rcirc on GNU Emacs 23.2.20]
03:28:49 If you can't identify the solution, odds are you've misdiagnosed the problem.
03:29:25 you're probably right about that
03:29:28 leo2007 [~leo@59.57.34.138] has joined #lisp
03:30:11 what I do know is that I tried printing the length of the parameter at the start of the function, then I sorted it and assigned it using (let), and then I printed out the length of the new variable and it was different
03:30:17 give me a sec, I'll run a test case
03:32:38 -!- sdsds [~sdsds@dyn-16.sub2.cmts01.cable.TORON10.iasl.com] has quit [Quit: Leaving.]
03:35:33 -!- Ginei_Morioka [~irssi_log@78.112.67.28] has quit [Ping timeout: 265 seconds]
03:36:35 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 260 seconds]
03:37:00 TraumaPwny [~TraumaPon@203-206-248-197.dyn.iinet.net.au] has joined #lisp
03:37:06 Ginei_Morioka [~irssi_log@78.112.55.187] has joined #lisp
03:37:29 -!- wuj [~wuj@pool-74-101-71-212.nycmny.east.verizon.net] has quit [Ping timeout: 265 seconds]
03:38:41 -!- TraumaPony [~TraumaPon@203-206-30-125.dyn.iinet.net.au] has quit [Ping timeout: 276 seconds]
03:38:48 -!- TraumaPwny is now known as TraumaPony
03:38:53 -!- petercoulton [~petercoul@cpc2-midd16-2-0-cust169.11-1.cable.virginmedia.com] has quit [Ping timeout: 245 seconds]
03:39:14 lol
03:39:24 wtf is TraumaPony ?
03:39:34 -!- Saturnation [~dsouth@71.169.186.227] has quit [Quit: Ex-Chat]
03:39:39 What isn't it :O
03:40:04 ikki [~ikki@189.247.134.211] has joined #lisp
03:40:17 did your algo's fail or what ?
03:40:31 sorry, still trying to come up with a case that isn't pages long
03:41:29 Skunkwaffle: are you calling SORT and not using what it returns?
03:41:41 I am
03:41:53 basically I have a list of lists, and I want to sort them by length
03:42:07 which doesn't seem like a very difficult thing to do
03:42:50 are you expecting SORT to not destroy the list you pass to it?
03:43:18 or passing lists that share structure with other lists you care about, etc
03:44:05 sort can destroy the list as long as it returns the proper value
03:44:12 (defun sort-lists (lists) (sort lists #'< :key #'length))
03:45:14 I have to double check that there aren't any shared structures
03:45:32 -!- xan_ [~xan@70-88-149-185-smc-md.hfc.comcastbusiness.net] has quit [Ping timeout: 255 seconds]
03:45:45 but even if there were shared structures, I'd imagine that would lead to less items in the list, not more
03:46:25 less is more :)
03:46:33 Skunkwaffle: or just copy-list before sorting.
03:46:58 xan_ [~xan@70-88-149-185-smc-md.hfc.comcastbusiness.net] has joined #lisp
03:47:01 kclifton [~kclifton@S01060026f32c2837.cg.shawcable.net] has joined #lisp
03:47:55 okay so I am UNION-ing a part of the list with another list earlier on
03:49:57 ah, and it looks like the other list gets sorted too
03:50:14 share structure
03:51:33 is it strange that only one extra item is appearing? Or am I just breaking it and anything's possible?
03:51:59 did you try it with stable-sort instead ?
03:52:37 no, but I'm going to try that now
03:55:01 Skunkwaffle: have you tried just copy-list ing the list to be sorted first?
03:55:35 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 276 seconds]
03:55:35 Sometimes I think that scheme had the right idea with exclamation marks.
03:55:56 -!- xan_ [~xan@70-88-149-185-smc-md.hfc.comcastbusiness.net] has quit [Ping timeout: 240 seconds]
03:56:27 Zhivago: why don't I see that much in CL, even in user code?
03:57:09 Because CL doesn't have that idea. Usually is sticks an 'n' on the front of stuff.
03:57:16 pkhuong_: am I a total failure if I say no
03:57:30 But a clear distinction between destructive and non-destructive operations would be nice.
03:57:31 ... And it works
03:57:31 Skunkwaffle: nnnno?
03:57:41 Or, perhaps better, between functions and procedures.
03:57:54 xan_ [~xan@70-88-149-185-smc-md.hfc.comcastbusiness.net] has joined #lisp
03:58:05 that may make you are a bit of a failure at reading, or at designing experiments.
03:58:09 ikki [~ikki@189.247.134.211] has joined #lisp
03:58:33 copy-list shares structure
03:58:37 well, maybe
03:58:39 copy-seq does not force it
03:58:45 copy-tree does force it
03:59:00 homie: sort works on sequences; the car isn't modified.
03:59:13 the truth is, I've been programming for going on 10 years now, but I've been using lisp for going on maybe a month and half now
03:59:42 Given that it was the second time I suggested that test...
04:00:04 hmm
04:00:13 I kind of have to admit failure there then
04:00:15 but thanks
04:00:29 I'm going to guess that sharing was the issue, and that you misinterpreted the unintended mutation, or, maybe, that the list also shared structure with its contents.
04:00:29 Zhivago: what is the distinction between functions and procedures here? is it stronger than between destructive and non-destructive operations?
04:01:03 syntard: In this level it would be side-effects.
04:01:31 syntard: So, yes, it is stronger -- and some side-effecting operations are non-destructive of their operands.
04:01:56 yeah somehow sorting a list, and then sorting another list that shares some resources ends up copying some elements from one list into the other
04:01:58 s/level/context/
04:02:09 Well, that's because the lists overlap.
04:02:23 The share a common tail.
04:02:26 there's just guarantee of no loss
04:02:38 but not a guarantee of no gain
04:02:49 lol
04:02:52 There is no guarantee of no loss.
04:02:56 Skunkwaffle: oh sure, the first call to sort can do arbitrary damage to the second list.
04:03:06 One of the lists may lose elements.
04:03:37 Well in this case it was gaining, but I'd imagine the damage would be pretty unpredictable
04:04:01 ah yep
04:04:16 -!- ikki [~ikki@189.247.134.211] has quit [Ping timeout: 272 seconds]
04:04:40 well, other than not seeing pkhuong_'s first suggestion to copy the list, I think the real issue was just not knowing all the gotchas in lisp.
04:05:55 Yes. It is not obvious that sort is destructive.
04:06:47 thanks for helping me though. I'm glad it was something simple.
04:06:49 there's also the issue that there wasn't one, but two calls to SORT. It would have then been simple to suggest printing the lists' states between the calls to SORT.
04:07:01 totally, I didn't even think of it
04:07:31 _nix00 [~Adium@61.172.241.100] has joined #lisp
04:08:26 I'd like of like to be able to use more adjectives.
04:08:38 PCMX [~dborba@pool-74-105-202-55.nwrknj.fios.verizon.net] has joined #lisp
04:08:54 (value x) (function x) (procedure x) (class x), etc.
04:09:19 My grammar is broken. Need more coffee.
04:09:54 Intensity [ARPvoYnr1B@unaffiliated/intensity] has joined #lisp
04:09:55 Zhivago: what for?
04:10:38 (coffee x)
04:12:44 For fixing grammar.
04:13:16 returning something for symbol x ?
04:14:26 gigamonkey [~user@adsl-99-50-124-160.dsl.pltn13.sbcglobal.net] has joined #lisp
04:14:29 x=cup,bowl...
04:14:42 minion: logs
04:14:49 -!- rff [~rff@ip72-207-243-174.br.br.cox.net] has quit [Read error: Connection reset by peer]
04:14:51 annihilator [~rff@ip72-207-243-174.br.br.cox.net] has joined #lisp
04:15:08 gigamonkey:
04:15:26 Good morning everyone!
04:15:34 hallo beach
04:16:11 *syntard* waves
04:18:13 pkhuong_: thanks_
04:19:14 '-g5 --> |-G5|
04:19:22 why does that have || around it and
04:19:27 '-gg5 --> -GG5
04:19:28 doesn't?
04:20:01 syntard: Ah. Sorry. So that you could say something like ((destructively sort) x)
04:20:19 Zhivago: yes!
04:21:47 that's a great idea, can lead to clear code
04:21:50 -!- LiamH [~nobody@pool-72-75-78-43.washdc.east.verizon.net] has quit [Quit: Leaving.]
04:24:32 -!- az [~az@p4FE4ECA7.dip.t-dialin.net] has quit [Ping timeout: 272 seconds]
04:24:38 -!- peterhil [~peterhil@a91-153-127-82.elisa-laajakaista.fi] has quit [Ping timeout: 264 seconds]
04:25:54 -!- kclifton [~kclifton@S01060026f32c2837.cg.shawcable.net] has quit [Remote host closed the connection]
04:26:01 (destructively sort x) is more realistic in CL
04:26:02 kclifton [~kclifton@s198-166-45-245.ab.hsia.telus.net] has joined #lisp
04:26:42 zc00gii: it's a potential number
04:26:50 -!- kclifton [~kclifton@s198-166-45-245.ab.hsia.telus.net] has quit [Client Quit]
04:27:00 Yeah. Personally I'm working more toward: Destructively sort x.
04:27:02 so cannonical syntax for that has to be quoted
04:28:40 I've come to think that paul graham was right about 'it'.
04:29:03 rahul: in which implementation? CCL has no problem with this.
04:29:19 sellout [~greg@c-24-61-13-161.hsd1.ma.comcast.net] has joined #lisp
04:29:29 syntard: Depends on your read base.
04:29:42 rahul: how is it a potential number?
04:29:43 syntard: it's not a question of "having a problem"
04:29:52 zc00gii: because that's how potential number is defined
04:30:03 but it has a letter in front of it
04:30:07 syntard: it's a question of the implementation choosing to do whatever
04:30:10 what potential number has a letter in front of it?
04:30:22 zc00gii: -g5, clearly :)
04:30:26 rahul: no problem!
04:30:40 rahul: ok, what number has a letter in front of it?
04:30:48 zc00gii: There is a section in the CLHS that explains what a potential number is. I suggest you ead it!
04:30:51 zc: Depends on the base your reader uses ...
04:30:53 *read
04:30:58 beach: mm, ok
04:31:01 eheh
04:31:04 beach: did you see my bit in #lispcafe?
04:31:08 not a question of base, it's a potential floating point number
04:31:22 clhs potential number
04:31:25 zc00gii: Nope. Looking now.
04:31:40 az [~az@p5796CD2D.dip.t-dialin.net] has joined #lisp
04:32:18 -g5 could be a number in certain bases, but that's not why it's a potential number. it's the fact that there's a g
04:32:38 oh
04:32:40 what's special about g?
04:33:17 oh, no. it's like that for any letter
04:33:27 e, f, g are commonly used floating point separators
04:33:28 '-t5 --> |-T5|
04:33:32 but I think that was a red herring
04:33:43 there are SOME cases where that matters iirc
04:33:49 '-e5 --> |-E5|
04:33:51 hmm
04:33:54 '-g5 --> |-G5|
04:34:13 odd
04:34:15 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit []
04:34:57 read the definition of potential number...
04:35:54 "A number marker is a letter. Whether a letter may be treated as a number marker depends on context, but no letter that is adjacent to another letter may ever be treated as a number marker."
04:36:00 potential numbers do exist in clhs, go figure
04:36:03 that's why -gg5 is not a potential number
04:37:50 -!- erory [~rory_elri@203-206-172-3.perm.iinet.net.au] has left #lisp
04:39:43 -gg5 is a potential number :)
04:40:19 rahul: when potential number is quoted, it shouldn't be parsed as a number?
04:40:35 Only if it's realized as a number.
04:41:10 so it's best to avoid using them as symbol names
04:42:32 Nah. You should just use escapes to force it -- like |-gg5|
04:42:47 pers [~user@75-94-194-245.gar.clearwire-wmx.net] has joined #lisp
04:43:32 Ok, I'll do that
04:43:53 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Ping timeout: 245 seconds]
04:44:40 sidh_ [c0a314e7@gateway/web/freenode/ip.192.163.20.231] has joined #lisp
04:45:32 psilord [~psilord@76.201.145.79] has joined #lisp
04:45:35 -!- psilord [~psilord@76.201.145.79] has left #lisp
04:46:18 wuj [~wuj@pool-74-101-71-212.nycmny.east.verizon.net] has joined #lisp
04:46:36 you actually only need to escape one character of the name, so \-gg5 would be fine too
04:46:44 -!- PCChris [~PCChris@wireless-165-124-137-195.nuwlan.northwestern.edu] has quit [Ping timeout: 255 seconds]
04:48:16 -!- gigamonkey [~user@adsl-99-50-124-160.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 240 seconds]
04:48:54 for obfuscation this should work great
04:53:59 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: nighty night]
04:55:59 -!- Salamander__ is now known as Salamander
04:56:07 But -\gg5 wouldn't be, surely?
04:59:14 backslash in any place is ok
05:04:31 gigamonkey [~user@adsl-99-50-124-160.dsl.pltn13.sbcglobal.net] has joined #lisp
05:07:50 -!- Taiyou` [~Taiyou@141.117.174.54] has quit [Ping timeout: 264 seconds]
05:10:38 homie` [~user@xdsl-87-79-165-222.netcologne.de] has joined #lisp
05:12:11 -!- homie` [~user@xdsl-87-79-165-222.netcologne.de] has quit [Client Quit]
05:12:42 -!- astoon [~astoon@213.141.244.246] has quit [Ping timeout: 265 seconds]
05:13:03 -!- homie [~user@xdsl-87-79-169-129.netcologne.de] has quit [Ping timeout: 245 seconds]
05:13:31 rff [~rff@ip72-207-243-174.br.br.cox.net] has joined #lisp
05:13:32 -!- annihilator [~rff@ip72-207-243-174.br.br.cox.net] has quit [Read error: Connection reset by peer]
05:14:47 PCChris [~PCChris@wireless-165-124-137-195.nuwlan.northwestern.edu] has joined #lisp
05:16:27 homie [~user@xdsl-87-79-165-222.netcologne.de] has joined #lisp
05:16:52 Raimondi [~israel@adsl-99-23-239-153.dsl.hstntx.sbcglobal.net] has joined #lisp
05:18:28 chp [3d87a5ae@gateway/web/freenode/ip.61.135.165.174] has joined #lisp
05:19:36 -!- sbahra [~sbahra@pool-74-106-252-24.bltmmd.fios.verizon.net] has quit [Quit: sbahra]
05:20:19 So according to the CLHS nreconc must behave as a combination of nconc and nreverse, but since nreverse doesn't have to destructively modify the list, in fact those restrictions on nreconc don't mean very much.
05:20:55 -!- wuj [~wuj@pool-74-101-71-212.nycmny.east.verizon.net] has quit [Ping timeout: 265 seconds]
05:22:06 kushal [~kdas@nat/redhat/x-izppgxoebtbrfygy] has joined #lisp
05:22:06 -!- kushal [~kdas@nat/redhat/x-izppgxoebtbrfygy] has quit [Changing host]
05:22:06 kushal [~kdas@fedora/kushal] has joined #lisp
05:23:09 Indeed. When you need some more specific behavior, you need to implement it yourself. I had to write my own nreconc once.
05:26:30 What should (butlast '(a b . c) 0) return? (I am not asking what it returns in some specific implementation, but what the CLHS says it should return).
05:26:49 good morning all
05:26:55 hello kushal
05:27:03 all but last ?
05:27:44 (a b . 0)
05:28:03 You mean (a b . c)?
05:28:04 A copy of the list from which the last zero conses have been omitted.
05:28:07 Yes.
05:29:00 should signal an error if list is not a proper list or a dotted list
05:29:01 However, (nbutlast (copy-list '(a b . c) 0)) should return (a b).
05:29:19 homie: It *is* a dotted list.
05:29:50 and 0 is non-negative ?
05:29:50 -!- Jubb [~ghost@24-151-24-155.dhcp.nwtn.ct.charter.com] has quit [Quit: Jubb]
05:30:01 Yes. 0 is non-negative.
05:30:04 ok
05:30:19 So it disturbs me that nbutlast and butlast should return different things for a dotted list and 0.
05:31:04 -!- Ginei_Morioka [~irssi_log@78.112.55.187] has quit [Ping timeout: 265 seconds]
05:31:51 That's CL for you -- a product of disturbed minds.
05:31:53 nbutlast modifies
05:31:58 And by the way, SBCL retuns (a b . c) for (nbutlast (copy-list '(a b . c) 0))
05:32:13 sloanr [~user@75-168-232-24.mpls.qwest.net] has joined #lisp
05:32:38 homie: Yes, but there's no need for nbutlast to modify in this case.
05:32:39 yes, c becomes nil
05:32:53 homie: You speak nonsense.
05:33:01 Ginei_Morioka [~irssi_log@78.112.42.43] has joined #lisp
05:33:12 err
05:33:16 ccl returns (a b) in both cases
05:33:30 eheh
05:33:42 fgump [~gump@188.74.82.177] has joined #lisp
05:33:51 OK, thanks everyone.
05:35:51 -!- rrice [~rrice@adsl-69-221-165-176.dsl.akrnoh.ameritech.net] has quit [Quit: Leaving.]
05:36:22 I'm not sure what nonsense homie was speaking.
05:36:38 (a b . nil)
05:37:09 it changes the cdr of the cons n+1 from the end of the list to nil
05:37:21 -!- lemoinem [~swoog@146-84-252-216.dsl.colba.net] has quit [Ping timeout: 265 seconds]
05:37:27 and that's (a b) yes
05:38:00