00:00:12 beach, I am using a 2d array to represent a tic tac toe board and want to return the board rotated clockwise 90 degrees without changing the board array passed in. 00:00:30 beach, a let statement won't let me do that 00:00:49 -!- Athas [~athas@130.225.165.35] has quit [Remote host closed the connection] 00:01:04 sakekasi: So now you don't want a built-in deep-copy, but something related to your application, which is exactly what I said. 00:01:33 sakekasi: What are the elements of the array? 00:01:50 beach, 0 for empty, 1 for x and 2 for o 00:02:02 sakekasi: Why do you want a deep copy then? 00:02:21 beach, what's the difference between deep and shallow copy again? 00:02:47 sakekasi: Deep copy recursively copies the elements as I described above with the people. 00:02:57 -!- wetnosed_ [~kai@f052099121.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 00:05:42 wetnosed [~kai@f052098058.adsl.alicedsl.de] has joined #lisp 00:05:59 beach, oh ok 00:06:51 sakekasi: Also, you don't really want a copy do you? You want a rotated version of it it seems. That's very different. 00:07:15 cesarbp_ [~chatzilla@189.139.219.67] has joined #lisp 00:07:23 beach, I do not want to destroy the original array. That is why I want to make a copy and modify that. 00:07:55 sakekasi: Why do you describe it as "copy and modify" rather than "create a rotated version"? 00:07:55 mauryck [~mauryck@bard-nynt4-135.bard.edu] has joined #lisp 00:07:58 -!- cesarbp [~chatzilla@189.139.219.67] has quit [Read error: Connection reset by peer] 00:08:11 -!- cesarbp_ is now known as cesarbp 00:08:40 sakekasi: You do not in any way obtain a copy of the original array in the end. 00:09:03 -!- argiopeweb [~elliot@184.91.74.59] has quit [Ping timeout: 246 seconds] 00:09:20 -!- Yuuhi` [benni@p5483A922.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:09:20 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Read error: Connection reset by peer] 00:09:22 beach, I copy the array then modify the copy. 00:09:27 sakekasi: It seems to me you are applying typical imperative-programming thinking in a context where you really want the semantics of functional programming. 00:09:36 beach, so what should I do? 00:09:40 tauntaun [~Crumpet@ool-44c72ce0.dyn.optonline.net] has joined #lisp 00:09:57 sakekasi: I understand that that is the way you are thinking of doing it, but I am saying that is not only a bad way of doing it, but also a bad way of thinking of it. 00:10:44 beach, so what should I do if I begin to think of it as just returning the rotated version? 00:11:00 beach, I am new to lisp and really don't know how to approach this. 00:11:03 sakekasi: If your array A has dimensions MxN, create a NxM array B and set each element of B to the appropriate element of A. Then return B. 00:11:05 learning lisp is fun, I just wanted to learn a new programming language and I've ended up learning AI, game theory and how to unit testing frameworks 00:11:05 -!- juniorroy [~juniorroy@212.36.228.103] has left #lisp 00:11:08 Practical Common Lisp doesn't mention that Python programmers should be familiar with closures? 00:11:27 and how to create unit testing frameworks 00:11:28 beach, oh ok that makes sense 00:11:40 *Sgeo* glares angrily and hatredly at Java for not having closures.. or anonymous functions, for that matter. Although Python's lambda is .. unrecommended :/ 00:12:00 sakekasi: This solution is better because it works for non-quadratic arrays as well, whereas yours doesn't. 00:12:10 s/quadratic/square/ 00:12:17 beach, oh ok that makes sense 00:13:29 -!- zbigniew [~zb@3e8.org] has quit [Read error: Operation timed out] 00:14:37 -!- kenjin2202 [~kenjin@58.230.108.42] has quit [Remote host closed the connection] 00:14:37 -!- kenjin2201 [~kenjin@58.230.108.42] has quit [Remote host closed the connection] 00:15:33 "global variables do have legitimate uses and exist in one form or another in almost every programming language." 00:15:40 They're not supposed to exist in Newspeak... 00:15:47 *Sgeo* does see the almost there 00:16:27 zbigniew [~zb@3e8.org] has joined #lisp 00:17:08 -!- Munksgaard [~Munksgaar@1807ds2-noe.0.fullrate.dk] has quit [Ping timeout: 276 seconds] 00:17:13 pizzledizzle [~pizdets@pool-98-113-194-183.nycmny.fios.verizon.net] has joined #lisp 00:17:51 -!- glidesurfer [~rosario@77-64-171-36.dynamic.primacom.net] has quit [Quit: Leaving.] 00:19:16 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Read error: Operation timed out] 00:20:19 markskilbeck [~mark@host81-132-124-40.range81-132.btcentralplus.com] has joined #lisp 00:20:19 -!- markskilbeck [~mark@host81-132-124-40.range81-132.btcentralplus.com] has quit [Changing host] 00:20:19 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp 00:20:38 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #lisp 00:23:25 -!- pyrony [~epic@office1.klout.com] has quit [Ping timeout: 260 seconds] 00:23:34 -!- zbigniew [~zb@3e8.org] has quit [Ping timeout: 260 seconds] 00:24:12 If defparameter is recommended most of the time over defconstant, and you want to use something like a constant but using defparameter, do you use the ** convention or the ++ convention? 00:24:38 *foo* 00:24:57 Ok, ty 00:25:10 http://random-state.net/log/3498750808.html # here 00:25:35 longfin [~longfin@124.198.53.194] has joined #lisp 00:26:16 argiopeweb [~elliot@adsl-74-243-26-165.dab.bellsouth.net] has joined #lisp 00:28:37 neoesque [~neoesque@210.59.147.232] has joined #lisp 00:28:50 *Sgeo* oogles defsetf and define-setf-expander 00:29:12 I think _Practical_ Common Lisp may be the wrong book for me. I want the other side of Common Lisp, the fun stuff 00:30:14 You need _Impractical Common Lisp_, by Nanomonkey. 00:30:58 lol 00:31:23 -!- carlocci [~nes@93.37.178.145] has quit [Quit: eventually IE will rot and die] 00:32:59 -!- basho__ [~basho__@dslb-188-108-226-004.pools.arcor-ip.net] has quit [Remote host closed the connection] 00:35:29 -!- Jasko [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has quit [Ping timeout: 240 seconds] 00:35:41 *Sgeo* thinks towards C#'s properties. Then to setf. Then to Ruby's offering. Then back to setf. Then to Python. Then to setf. 00:35:45 I think I like setf. 00:37:16 do newlines in the middle of lisp strings matter? 00:37:37 sakekasi: they're newlines 00:37:42 sakekasi, they make there be a newline in the string itself. At least, on the Clozure I tried it on it does 00:37:47 -!- pizzledizzle [~pizdets@pool-98-113-194-183.nycmny.fios.verizon.net] has quit [] 00:38:09 pkhuong, I mean if I press enter in my text editor in the middle of a string, does it matter to lisp? 00:38:19 sure, it does 00:38:27 -!- kpreid [~kpreid@cpe-67-249-228-147.twcny.res.rr.com] has quit [Quit: Quitting] 00:38:57 then how do I write a string over multiple lines like triple quotes in python? 00:39:00 kpreid [~kpreid@cpe-67-249-228-147.twcny.res.rr.com] has joined #lisp 00:39:12 sakekasi: you just do it, with single quotes. 00:39:12 you don't 00:41:14 <_3b> 'newline' matters exactly as much to lisp as 'a' or 'b' or any other character aside from \ or " 00:41:31 pizzledizzle [~pizdets@pool-98-113-194-183.nycmny.fios.verizon.net] has joined #lisp 00:43:29 http://ideone.com/3ZY2O 00:43:57 pyrony [~epic@184-223-140-42.pools.spcsdns.net] has joined #lisp 00:44:33 <_3b> format recognizes more characters for formatting, so you have more options there 00:44:51 homie` [~levgue@xdsl-78-35-182-202.netcologne.de] has joined #lisp 00:44:57 I was just using format because it's an easy to remember way to output 00:45:01 <_3b> you can tell it to ignore newlines, or add more of them when it prints things 00:45:38 <_3b> well, what's the question then? did you want it print both on one line? 00:45:53 _3b, I was trying to help sakekasi 00:46:03 <_3b> ah, sorry, confused the names :) 00:46:04 xxxyyy [~xyxu@58.41.12.183] has joined #lisp 00:46:24 Jasko [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has joined #lisp 00:46:54 nefo [~nefo@2001:da8:200:900e:200:5efe:3b42:8f51] has joined #lisp 00:46:54 -!- nefo [~nefo@2001:da8:200:900e:200:5efe:3b42:8f51] has quit [Changing host] 00:46:54 nefo [~nefo@unaffiliated/nefo] has joined #lisp 00:46:56 Why is gethash backwards? 00:47:30 why do you ask so much questions? 00:47:41 -!- homie [~levgue@xdsl-78-35-157-247.netcologne.de] has quit [Ping timeout: 276 seconds] 00:47:43 Historical reasons. Actually, it's not backwards, it's in the same order as nth. 00:48:22 stassats, why shouldn't I ask questions? 00:48:36 So is aref backwards then? 00:49:05 No, it's like elt. 00:49:07 Sgeo: you should ask better questions 00:49:18 aref is not backwards because has a variable number of arguments 00:49:23 it 00:50:09 I thought that kind of thing just reflected the different heritages of various bits of the standard. 00:50:10 Ah 00:51:03 La0fer [~Laofers1@64.120.233.114] has joined #lisp 00:51:38 jfleming: mostly correct. 00:52:05 Sgeo: carry on asking questions. It's a good way to learn stuff. It's a good way for me to learn stuff, too, from the answers to questions I didn't think of asking :) 00:52:15 -!- tauntaun [~Crumpet@ool-44c72ce0.dyn.optonline.net] has quit [Quit: Ex-Chat] 00:53:13 psilord2 [~psilord@adsl-71-150-253-124.dsl.mdsnwi.sbcglobal.net] has joined #lisp 00:53:31 -!- psilord2 [~psilord@adsl-71-150-253-124.dsl.mdsnwi.sbcglobal.net] has left #lisp 00:54:05 gaidal [~gaidal@113.109.127.142] has joined #lisp 00:54:29 xan_ [~xan@64.134.232.213] has joined #lisp 00:56:06 Spion_ [~spion@unaffiliated/spion] has joined #lisp 00:56:06 -!- gaidal [~gaidal@113.109.127.142] has quit [Read error: Connection reset by peer] 00:56:31 zbigniew [~zb@3e8.org] has joined #lisp 00:56:59 gaidal [~gaidal@113.109.127.142] has joined #lisp 00:59:21 -!- Spion [~spion@unaffiliated/spion] has quit [Ping timeout: 240 seconds] 00:59:27 -!- gaidal [~gaidal@113.109.127.142] has quit [Read error: Connection reset by peer] 01:01:14 sgeo: How about push? :) 01:01:46 Personally, I think that aref is probably in the right order. 01:02:38 -!- Joreji [~thomas@78-230.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 276 seconds] 01:02:41 it's the only sane order 01:03:04 (aref (list 1 2 3) tensor) 01:03:16 gaidal [~gaidal@113.109.127.142] has joined #lisp 01:03:23 (aref 1 tensor 2 3) 01:03:29 or you could walk the rest list 01:03:37 but i was talking about sane things 01:03:38 -!- gaidal [~gaidal@113.109.127.142] has quit [Read error: Connection reset by peer] 01:04:16 gaidal [~gaidal@113.109.127.142] has joined #lisp 01:04:42 -!- sykopomp [~sykopomp@unaffiliated/sykopomp] has quit [Read error: Connection reset by peer] 01:07:51 sykopomp [~user@crlspr-24.233.190.221.myacc.net] has joined #lisp 01:12:09 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Ping timeout: 240 seconds] 01:12:09 -!- sykopomp [~user@crlspr-24.233.190.221.myacc.net] has quit [Read error: Connection reset by peer] 01:12:30 sykopomp [~sykopomp@crlspr-24.233.190.221.myacc.net] has joined #lisp 01:12:33 -!- pyrony [~epic@184-223-140-42.pools.spcsdns.net] has quit [Ping timeout: 240 seconds] 01:13:26 -!- sykopomp [~sykopomp@crlspr-24.233.190.221.myacc.net] has quit [Changing host] 01:13:26 sykopomp [~sykopomp@unaffiliated/sykopomp] has joined #lisp 01:14:09 -!- wetnosed [~kai@f052098058.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 01:14:34 LiamH [~healy@pool-108-18-168-70.washdc.east.verizon.net] has joined #lisp 01:15:20 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp 01:15:45 wetnosed [~kai@f052098058.adsl.alicedsl.de] has joined #lisp 01:24:50 -!- mauryck [~mauryck@bard-nynt4-135.bard.edu] has quit [Read error: Operation timed out] 01:25:18 -!- nikodemus_ [~nikodemus@cs181063174.pp.htv.fi] has quit [Ping timeout: 258 seconds] 01:26:50 Lectus [~fred@189.104.145.126] has joined #lisp 01:27:39 Can I use DO for things where some might use LOOP, or would I need a library like Loopless to avoid LOOP in all situations if I wanted to? 01:27:50 -!- macrocat [~marmalade@99.192.111.126] has quit [Remote host closed the connection] 01:28:09 Sgeo: short answer is yes. 01:28:42 ....that was an or question, when people answer or questions with yes, either they're making a joke, I get confused, or both 01:28:47 Sgeo: slightly longer answer is that DO is just a convenience layer over LOOP. 01:29:24 Sorry; I meant that yes, you can use DO where some might use LOOP. Personally, I find DO confusing so just go straight for LOOP, but that's a matter of preference. 01:29:45 Sgeo: The main question is "why on earth would you want to avoid LOOP?". 01:30:05 I should have phrased my question: Are there cases where LOOP or the Loopless library is needed and DO won't suffice? 01:30:08 If you're bent on avoiding LOOP, try iterate: http://www.cliki.net/ITERATE 01:30:18 stassats` [~stassats@wikipedia/stassats] has joined #lisp 01:30:57 Sgeo: absolutely there are such cases. DO is a convenience for one class of common cases, simply to save you typing out the full LOOP command. The same applies to DOLIST. 01:31:22 jfleming: That is complete and utter nonsense. 01:31:40 Zhivago: thanks. I do so appreciate your polite and constructive approach. 01:31:45 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 240 seconds] 01:31:45 You're welcome. 01:32:01 Sgeo: use whichever fits your problem best 01:32:10 do is a primitive parallel looping construct. 01:32:27 jfleming: Zhivago's style is a bit surprising at first, but you get used to it. 01:32:31 It isn't related to loop, and it isn't generally more convenient. 01:32:53 beach: I'm used to it already, don't worry. 01:32:54 But it is often useful for implementing various kinds of loops behind the scenes. 01:33:41 But to say that do is a convenience layer over loop requires considerable investment in insanity and confusion. 01:34:44 in fact, LOOP as a convenience layer over DO would almost be correct. 01:35:24 -!- rvirding [~chatzilla@h134n5c1o1034.bredband.skanova.com] has left #lisp 01:37:24 It seems I've picked up the wrong impression about LOOP, then. Now to figure out where I got that from. 01:38:19 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 01:39:43 -!- nefo [~nefo@unaffiliated/nefo] has quit [Read error: Operation timed out] 01:45:52 -!- argiopeweb [~elliot@adsl-74-243-26-165.dab.bellsouth.net] has quit [Quit: Leaving] 01:45:58 gko [~gko@211.21.137.140] has joined #lisp 01:49:24 Actually, in "ANSI Common Lisp", Paul Graham gives an equivalence of DO loops to recursive functions that would shows that DO loops are closer to the roots of lisp than LOOP (whatever that means). 01:50:13 -!- zbigniew [~zb@3e8.org] has quit [Ping timeout: 252 seconds] 01:51:53 Yeah. Do maps well to scheme's named let. 01:52:00 In the LOOP stuff, I see things like collecting and summing 01:52:13 Can I use my own functions in place of such keywords? 01:52:20 no 01:52:29 LOOP is not extensible 01:52:33 So if I wanted to do something weird, what could I do? 01:52:44 you could do something weird 01:53:01 Sgeo what do you want to do? 01:53:26 hsrt, use a function of my own making instead, of, say + for summing 01:53:29 stw [~Steve@pool-98-109-5-156.nwrknj.fios.verizon.net] has joined #lisp 01:53:39 hsrt, there's no current goal to this, I'm just curious 01:53:54 (defmacro do-something-weird (options &body body) ...) (do-something-weird (with-options...) (do-something) (weird)) 01:54:15 realitygrill_ [~realitygr@76.226.223.74] has joined #lisp 01:54:44 Sgeo: You could write a your own procedure to do something weird. 01:54:58 And then how would I use it inside LOOP? 01:55:26 (loop (do-something-weird ...)) 01:55:57 I meant, in place of the summing keyword, for instance 01:56:08 nefo [~nefo@unaffiliated/nefo] has joined #lisp 01:56:27 -!- realitygrill [~realitygr@76.226.214.34] has quit [Ping timeout: 252 seconds] 01:56:27 -!- realitygrill_ is now known as realitygrill 01:56:31 -!- gffa [~gffa@unaffiliated/gffa] has quit [Quit: sleep] 01:56:47 -!- stw [~Steve@pool-98-109-5-156.nwrknj.fios.verizon.net] has quit [Client Quit] 01:56:48 argiopeweb [~elliot@adsl-74-243-26-165.dab.bellsouth.net] has joined #lisp 01:56:51 you learn how to use LOOP and that'll give you the answer 01:57:32 LOOP has many features, and one of them may be suited to your particular task 01:58:02 gigamonkeys.com is down :(:( 02:00:46 loop should only be used for idiomatic cases, imho. 02:00:54 Otherwise it's a kind of turd polishing exercise. 02:01:37 I guess that means 'loop is best for one-liners' as a rule of thumb. 02:02:20 i'd say everything is better when it's short 02:04:16 "that's what she said". 02:04:28 gigamonkey, ping ping ping 02:05:05 *Sgeo* is a learning addict 02:05:07 -!- hargettp [~hargettp@pool-71-174-130-167.bstnma.east.verizon.net] has quit [Quit: Leaving...] 02:05:15 Or, um, reading about 02:05:21 Learning implies actually trying stuff 02:06:26 -!- froggey [~froggey@unaffiliated/froggey] has quit [Read error: Operation timed out] 02:10:14 -!- xan_ [~xan@64.134.232.213] has quit [Ping timeout: 276 seconds] 02:14:03 -!- BrandLeeJones [~BrandLeeJ@84.114.246.246] has quit [Quit: BrandLeeJones] 02:14:35 -!- madnificent [~madnifice@83.101.62.132] has quit [Ping timeout: 276 seconds] 02:21:48 jleija [~jleija@50.8.41.50] has joined #lisp 02:26:15 BrokenCog [~bc@pool-108-45-16-152.washdc.east.verizon.net] has joined #lisp 02:27:21 -!- LiamH [~healy@pool-108-18-168-70.washdc.east.verizon.net] has quit [Quit: Leaving.] 02:39:25 froggey [~froggey@2002:5200:bb48::820:18:7072] has joined #lisp 02:39:29 -!- froggey [~froggey@2002:5200:bb48::820:18:7072] has quit [Changing host] 02:39:29 froggey [~froggey@unaffiliated/froggey] has joined #lisp 02:44:02 :/ at with-gensyms not coming with Common Lisps 02:44:15 who needs it, anyway 02:44:24 symbole [~user@ool-ad02b0d9.dyn.optonline.net] has joined #lisp 02:44:43 -!- nefo [~nefo@unaffiliated/nefo] has quit [Quit: Leaving] 02:44:48 Sgeo: you still do not get lisp. 02:45:31 10 years is a long time 02:45:38 Yes. 02:45:46 Sgeo: most of the interesting control structures DO NOT COME with Common Lisp. But you can TRIVIALLY implement them yourself, or use a library implementing them for you. 02:47:13 Speaking loudly assists in communication. 02:47:29 It's better than thing 02:47:47 but there's no COME and TRIVIALLY in CL 02:47:54 Zhivago: did you stop beating your wife? 02:48:13 pjb: Your brain appears to have broken. Please have it fixed. 02:48:34 Zhivago: Why do you hate upper case letters? 02:49:35 LiamH [~healy@pool-108-18-168-70.washdc.east.verizon.net] has joined #lisp 02:49:59 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Ping timeout: 252 seconds] 02:50:12 pjb: Your question is incorrect. 02:50:51 Yes, it is. You have an epidermic reaction to upper case letters. 02:51:05 Probably due to some psychological trauma. 02:51:32 nefo [~nefo@2001:da8:215:5200:0:5efe:3b42:8f51] has joined #lisp 02:51:32 -!- nefo [~nefo@2001:da8:215:5200:0:5efe:3b42:8f51] has quit [Changing host] 02:51:32 nefo [~nefo@unaffiliated/nefo] has joined #lisp 02:51:32 Do you know what "epidermic" means? 02:51:38 I'm French! 02:51:52 markskilbeck [~mark@host86-136-166-2.range86-136.btcentralplus.com] has joined #lisp 02:51:52 -!- markskilbeck [~mark@host86-136-166-2.range86-136.btcentralplus.com] has quit [Changing host] 02:51:52 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp 02:52:00 J   ! 02:52:13 Next time I might do that yes. 02:52:20 Definitely a broken monkey man. 02:53:20 clearly, IRC is obsolete, it should allow for writing message in HTML 02:53:26 with images and javascript 02:53:44 mauryck [~mauryck@stu234-251.bard.edu] has joined #lisp 02:54:27 And Flash! It's just not a real internet experience if it doesn't require the latest, bleeding-edge version of Flash. 02:54:58 that's odd, i rendered everything but the lowercase capital S correctly 02:57:15 -!- sakekasi [~sakekasi@99-28-149-24.lightspeed.irvnca.sbcglobal.net] has quit [Quit: Leaving] 02:59:34 xan_ [~xan@205.158.58.41.ptr.us.xo.net] has joined #lisp 03:00:07 -!- wetnosed [~kai@f052098058.adsl.alicedsl.de] has quit [Remote host closed the connection] 03:01:04 el-maxo_ [~max@p5DE8E8CB.dip.t-dialin.net] has joined #lisp 03:01:26 .... it supports blink. Of course it's bleeding ndge 03:01:28 *edge 03:01:33 -!- Bobrobyn [~rsmith05@209-195-86-24.cpe.distributel.net] has quit [Quit: Leaving] 03:01:52 unicode is strange, it even has letters in  03:04:34 -!- el-maxo [~max@p5DE8F6FA.dip.t-dialin.net] has quit [Ping timeout: 260 seconds] 03:05:35 -!- mauryck [~mauryck@stu234-251.bard.edu] has quit [Ping timeout: 260 seconds] 03:06:17 -!- LiamH [~healy@pool-108-18-168-70.washdc.east.verizon.net] has quit [Quit: Leaving.] 03:06:22 i was actually looking for , and it exists 03:10:18 Why do they do things like that? 03:10:31 Is it not antithetic to their original chart? 03:11:09 they even have sans-serif italic letters 03:11:29 -!- argiopeweb [~elliot@adsl-74-243-26-165.dab.bellsouth.net] has quit [Ping timeout: 258 seconds] 03:11:38 -!- hugod [~hugod@bas1-montreal50-1279442626.dsl.bell.ca] has quit [Ping timeout: 248 seconds] 03:11:43 cl-interpol is great, had no idea reader macros could do that 03:11:44 (char-name #\) => "MATHEMATICAL_SANS-SERIF_BOLD_ITALIC_SMALL_H" 03:11:55 argiopeweb [~elliot@adsl-74-243-26-165.dab.bellsouth.net] has joined #lisp 03:12:09 -!- Odin- [~sbkhh@adsl-2-92.du.snerpa.is] has quit [Ping timeout: 240 seconds] 03:12:20 interestingly, google is able to understand such letters 03:13:00 -!- pizzledizzle [~pizdets@pool-98-113-194-183.nycmny.fios.verizon.net] has quit [] 03:14:53 the most interesting character is, of course,  03:15:04 -!- bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has quit [Quit: leaving] 03:16:23 -!- jweiss [~user@cpe-069-134-063-238.nc.res.rr.com] has quit [Ping timeout: 252 seconds] 03:16:49 zbigniew [~zb@3e8.org] has joined #lisp 03:16:49 Gigamonkeys is back! 03:16:53 hugod [~hugod@bas1-montreal50-1279440299.dsl.bell.ca] has joined #lisp 03:19:54 Now I do have a specific problem: 03:20:32 I want to have a function that accepts a keyword argument of :coord-system followed by a keyword specifying the coordinate system (:absolute, :relative, :translated) 03:20:42 -!- gigamonkey [~user@adsl-76-254-18-206.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 248 seconds] 03:21:10 Is there a way to tell environments like SLIME what the available keywords :absolute :relative and :translated are, the way it knows about :coord-system? 03:21:44 no 03:21:44 I guess I could also do a plethora of :x-relative :y-absolute... 03:21:54 Actually, that might even make more sense 03:22:10 You could add a type declaration, but I doubt that slime pays attention to that 03:22:25 Something like that should go in the docstring. 03:22:41 Considering I can imagine use-cases for :x-relative :y-absolute, I might do that instead... 03:22:53 Not for the environment thingy 03:23:24 spradnyesh [~pradyus@nat/yahoo/x-eydjhcuyhdebluzq] has joined #lisp 03:23:48 You could default to, say, absolute, and have optional parameters of relative-p and translated-p - I expect that would show up in SLIME, but then you'd also have to handle the case where both of those are set to T. joshe's suggestion of putting it in the docstring is much saner. 03:24:06 -!- BrokenCog [~bc@pool-108-45-16-152.washdc.east.verizon.net] has quit [Quit: leaving] 03:24:07 How does the docstring show up in SLIME? 03:24:51 as it is 03:25:00 I meant, how do I show a docstring? 03:25:09 C-c C-d d 03:26:19 Just tried it on make-array, see no docstring :/. Maybe a lot of these don't have? 03:26:27 *Sgeo* goes to make his own function 03:27:04 M-x slime-documentation would produce less noise 03:27:12 but it has no default key 03:27:21 in any case, i just use M-. 03:27:26 It doesn't show up :/ 03:27:37 for your own function? 03:27:50 Yes 03:27:52 does your function have a docstring? 03:27:56 Then again, I defined it in the REPL 03:28:01 Sgeo show your function's definition 03:28:01 Yes... I think 03:28:11 thinking isn't enough 03:29:11 Is paste.lisp.org working? 03:29:25 have you tried it? 03:29:37 Yes 03:29:44 http://pastie.org/1887579 03:29:56 Oh, I put it into the REPL 03:30:02 Oh, I said that already 03:30:12 zbigniew_ [~zb@ipv6.3e8.org] has joined #lisp 03:30:29 It shows up in slime-documentation 03:30:55 Then again, maybe I'm typing it in wrong 03:30:59 It claims test is a symbol 03:31:02 -!- zbigniew [~zb@3e8.org] has quit [Ping timeout: 258 seconds] 03:31:16 Putting in #'test doesn't work 03:31:18 -!- zbigniew_ is now known as zbigniew 03:31:38 putting #'test where? 03:33:02 Into the C-c C-d C-d thing (There seems to be no difference between that and C-c C-d d afaict) 03:33:21 they point to the same command 03:34:01 and of course #'test doesn't work, C-c C-d d wants a symbol 03:34:28 and it uses describe, not all implementation show docstrings 03:34:38 -!- ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has quit [Ping timeout: 252 seconds] 03:34:40 Arglist: NIL 03:34:42 lobby your implementation vendor to show them 03:34:47 Function: Function: # 03:35:36 So this is Clozure's fault 03:35:37 :/ 03:37:02 slime-documentation is the best way to get docstrings 03:37:15 if you use it very often, assign it to a key 03:37:43 but then again, i never trust docstrings, so i always use M-. 03:38:01 kami` [~user@unaffiliated/kami-] has joined #lisp 03:38:34 markskil1eck [~mark@host81-132-125-69.range81-132.btcentralplus.com] has joined #lisp 03:39:56 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Ping timeout: 276 seconds] 03:44:25 -!- cheezus [~Adium@69-196-171-160.dsl.teksavvy.com] has quit [Quit: Leaving.] 03:46:04 benny [~benny@i577A7230.versanet.de] has joined #lisp 03:52:15 -!- slyrus [~slyrus@adsl-76-254-45-145.dsl.pltn13.sbcglobal.net] has quit [Read error: Connection reset by peer] 03:53:06 slyrus [~slyrus@adsl-99-39-232-239.dsl.pltn13.sbcglobal.net] has joined #lisp 03:54:43 kami`` [~user@unaffiliated/kami-] has joined #lisp 03:56:26 -!- kami` [~user@unaffiliated/kami-] has quit [Ping timeout: 248 seconds] 03:56:38 ars-delirum [~Adium@189.216.47.65] has joined #lisp 03:56:41 -!- X-Scale [email@2001:470:1f08:b3d::2] has quit [Ping timeout: 264 seconds] 03:57:45 X-Scale [email@89.180.193.41] has joined #lisp 03:59:31 -!- madalu [~user@unaffiliated/madalu] has quit [Read error: Operation timed out] 04:01:34 kami``` [~user@p5B20DB97.dip.t-dialin.net] has joined #lisp 04:02:53 pnq [~nick@AC81A72F.ipt.aol.com] has joined #lisp 04:03:39 -!- kami`` [~user@unaffiliated/kami-] has quit [Read error: Operation timed out] 04:03:47 kami```` [~user@p5B20AC14.dip.t-dialin.net] has joined #lisp 04:06:02 -!- kami``` [~user@p5B20DB97.dip.t-dialin.net] has quit [Ping timeout: 248 seconds] 04:06:59 -!- dnolen [~davidnole@184.152.69.75] has quit [Quit: dnolen] 04:14:13 eugu [~Miranda@213.141.157.147] has joined #lisp 04:15:37 ianmcorvidae [~ianmcorvi@pool-96-233-183-125.spfdma.east.verizon.net] has joined #lisp 04:15:37 -!- ianmcorvidae [~ianmcorvi@pool-96-233-183-125.spfdma.east.verizon.net] has quit [Changing host] 04:15:37 ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has joined #lisp 04:16:03 SidH_ [~SidH_@203.101.61.10] has joined #lisp 04:17:00 mauryck [~mauryck@stu234-251.bard.edu] has joined #lisp 04:17:01 -!- Lectus [~fred@189.104.145.126] has quit [Read error: Connection reset by peer] 04:18:15 -!- markskil1eck [~mark@host81-132-125-69.range81-132.btcentralplus.com] has quit [Ping timeout: 246 seconds] 04:19:57 cfy [~cfy@122.228.131.67] has joined #lisp 04:19:57 -!- cfy [~cfy@122.228.131.67] has quit [Changing host] 04:19:57 cfy [~cfy@unaffiliated/chenfengyuan] has joined #lisp 04:20:34 markskilbeck [~mark@host81-132-125-245.range81-132.btcentralplus.com] has joined #lisp 04:20:34 -!- markskilbeck [~mark@host81-132-125-245.range81-132.btcentralplus.com] has quit [Changing host] 04:20:34 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp 04:24:28 -!- nefo [~nefo@unaffiliated/nefo] has quit [Read error: Operation timed out] 04:24:40 -!- bloop [43aa6450@gateway/web/freenode/ip.67.170.100.80] has quit [Ping timeout: 252 seconds] 04:27:04 nefo [~nefo@unaffiliated/nefo] has joined #lisp 04:28:58 -!- pnq [~nick@AC81A72F.ipt.aol.com] has quit [Ping timeout: 248 seconds] 04:29:12 -!- MoALTz [~no@92.18.16.192] has quit [Quit: Leaving] 04:29:22 realitygrill_ [~realitygr@76.226.212.82] has joined #lisp 04:30:52 gravicappa [~gravicapp@ppp91-77-180-235.pppoe.mtu-net.ru] has joined #lisp 04:30:53 -!- realitygrill [~realitygr@76.226.223.74] has quit [Ping timeout: 264 seconds] 04:30:57 -!- realitygrill_ is now known as realitygrill 04:32:04 -!- orivej_ [~orivej@host-95-146-66-217.spbmts.ru] has quit [Ping timeout: 260 seconds] 04:40:33 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Ping timeout: 240 seconds] 04:40:39 -!- eugu [~Miranda@213.141.157.147] has quit [Quit: eugu] 04:41:52 slyrus_ [~chatzilla@adsl-99-39-232-239.dsl.pltn13.sbcglobal.net] has joined #lisp 04:43:09 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp 04:44:26 is there a singular predicate that is the equivalent of (and (atom x) (not (null x))) ? 04:45:14 BlankVerse [~pankajm@122.166.119.36] has joined #lisp 04:45:37 (and x (atom x)) 04:45:38 Well, there is the inverse of listp. 04:46:27 (defun ezakimak (x) (and x (atom x))) 04:46:30 now there is 04:46:57 pnq [~nick@ACA22449.ipt.aol.com] has joined #lisp 04:47:10 Zhivago, i think that's the winning answer for my immediate needs. thx. 04:47:31 stassats`, thx also 04:47:40 (complement #'listp) 04:47:58 how does complement differ from not? 04:48:14 profoundly 04:48:29 ezakimak: it returns a new function 04:48:56 it is the same as doing (compose #'not #'listp) 04:49:03 mrSpec [~Spec@89-75-35-251.dynamic.chello.pl] has joined #lisp 04:49:03 -!- mrSpec [~Spec@89-75-35-251.dynamic.chello.pl] has quit [Changing host] 04:49:03 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 04:49:03 although compose isn't standard 04:49:08 eza: Welcome. Please learn how to spell "thanks". 04:49:11 ah, so it's (lambda x (fn &rest r) (not (apply fn r))) ? 04:49:36 what is that? 04:49:40 complement 04:50:03 It wraps a function in an inverter. 04:50:05 general (I'm sure my syntax is off) 04:50:09 ok 04:50:21 lambda takes a list second argument 04:50:50 -!- mauryck [~mauryck@stu234-251.bard.edu] has quit [Ping timeout: 248 seconds] 04:50:54 like i said, my syntax is surely off, consider that pseudo code 04:51:11 kushal [~kdas@fedora/kushal] has joined #lisp 04:52:32 ezakimak: (defun complement (function) (lambda (&rest args) (not (apply function args)))) 04:53:02 so I was close. 04:53:16 anyways, I think i understand what complement does 04:53:52 Might be kind of expensive, though. 04:54:28 so, am I correct in saying there are two ways to access functions--via a symbol's function value, and a symbol's variable value? 04:54:41 (probably saying it wrong) 04:55:16 what about that compliment function, which way is that? 04:55:51 that way ----> 04:56:10 -!- argiopeweb is now known as oldpew 04:56:15 but (defun foo () '(a b c)) makes the symbol foo name the function created, where as (setf fn '#foo) makes the symbol fn's variable bound to the function object? 04:56:34 (function name) => function 04:56:37 two name spaces, right? 04:56:50 (function-name function => symbol 04:57:24 these are some of the places where you can store functions 04:57:44 er. (symbol-function symbol) 04:57:45 you can put them into lists, arrays, or property-lists 04:57:47 ok. so i am understanding that much so far. 04:59:09 symbol-function place only accepts function objects, and the evaluator will look up the first symbol of a list there 04:59:32 right. the default form evaluation 05:00:02 and since functions are first class objects, you can store them whenever you want for other purposes 05:00:19 wherever 05:00:49 is it impl-dependent whether functions are stored as the original source code or as compiled bytecode? 05:01:01 (can you get the original source tokens back?) 05:01:03 yes 05:01:21 or is that only guaranteed at macro expansion time 05:01:37 you can't 05:01:49 (and you can) 05:02:05 k. i got it. 05:02:21 e.g. by making your own DEFUN which saves sources 05:02:35 it's CL, you can do anything with SMOP 05:02:38 right. that makes sense. intercept it before compiled 05:03:14 ars-delirum1 [~Adium@189.216.47.65] has joined #lisp 05:03:15 and I imagine you can get it before any macros are expanded as well 05:03:27 -!- oldpew is now known as argiopeweb 05:04:04 supposedly, it will be a macro itself 05:04:16 yes, that makes sense 05:04:52 -!- ars-delirum [~Adium@189.216.47.65] has quit [Read error: Connection reset by peer] 05:05:30 -!- ars-delirum1 [~Adium@189.216.47.65] has quit [Client Quit] 05:07:54 evening 05:09:53 -!- jleija [~jleija@50.8.41.50] has quit [Quit: leaving] 05:10:07 -!- slyrus_ changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language . New: SBCL 1.0.48, common-lisp.net is up again, usocket 0.5.0, ABCL 0.25 05:16:29 -!- cfy [~cfy@unaffiliated/chenfengyuan] has quit [Ping timeout: 264 seconds] 05:19:18 cfy [~cfy@122.228.135.213] has joined #lisp 05:19:18 -!- cfy [~cfy@122.228.135.213] has quit [Changing host] 05:19:18 cfy [~cfy@unaffiliated/chenfengyuan] has joined #lisp 05:19:36 mauryck [~mauryck@bard-nynt1-114.bard.edu] has joined #lisp 05:20:39 gor[e] [~svr@gw2.masterhost.ru] has joined #lisp 05:20:58 -!- pnq [~nick@ACA22449.ipt.aol.com] has quit [Ping timeout: 252 seconds] 05:21:46 pnq [~nick@ACA2761E.ipt.aol.com] has joined #lisp 05:27:33 cymew [~davour@c83-255-37-246.bredband.comhem.se] has joined #lisp 05:28:01 tcr [~tcr@217-162-131-235.dynamic.hispeed.ch] has joined #lisp 05:28:20 sharps [~hazel@121-72-240-85.cable.telstraclear.net] has joined #lisp 05:28:48 mcsontos [~mcsontos@nat/redhat/x-rhxaxkwvntrzetto] has joined #lisp 05:30:40 -!- hankhero [~Adium@c213-89-201-154.bredband.comhem.se] has quit [Quit: Leaving.] 05:30:52 -!- spradnyesh [~pradyus@nat/yahoo/x-eydjhcuyhdebluzq] has quit [Ping timeout: 252 seconds] 05:34:23 spradnyesh [~pradyus@nat/yahoo/x-kbefwmsylxztwnhh] has joined #lisp 05:39:22 -!- mauryck [~mauryck@bard-nynt1-114.bard.edu] has quit [Read error: Operation timed out] 05:41:55 -!- alph_cent [~proba@cpe-67-244-127-222.nyc.res.rr.com] has quit [Ping timeout: 260 seconds] 05:42:04 -!- cymew [~davour@c83-255-37-246.bredband.comhem.se] has quit [Ping timeout: 260 seconds] 05:42:11 -!- realitygrill [~realitygr@76.226.212.82] has quit [Ping timeout: 260 seconds] 05:42:17 realitygrill [~realitygr@adsl-76-226-133-103.dsl.sfldmi.sbcglobal.net] has joined #lisp 05:45:06 -!- stassats` [~stassats@wikipedia/stassats] has quit [Ping timeout: 260 seconds] 05:46:35 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Ping timeout: 260 seconds] 05:48:15 tylerdmace [~tyler@c-67-177-17-192.hsd1.ut.comcast.net] has joined #lisp 05:48:34 markskilbeck [~mark@host217-43-219-11.range217-43.btcentralplus.com] has joined #lisp 05:48:34 -!- markskilbeck [~mark@host217-43-219-11.range217-43.btcentralplus.com] has quit [Changing host] 05:48:34 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp 05:52:02 -!- pnq [~nick@ACA2761E.ipt.aol.com] has quit [Ping timeout: 246 seconds] 05:56:36 limetree [~simon@c-23e8e155.1226-1-64736c10.cust.bredbandsbolaget.se] has joined #lisp 05:57:45 ezakimak: have a look at IBCL: http://www.informatimago.com/develop/lisp/small-cl-pgms/ibcl/index.html 06:00:31 -!- cesarbp [~chatzilla@189.139.219.67] has quit [Quit: ChatZilla 0.9.86.1 [Firefox 4.0.1/20110413222027]] 06:05:03 -!- yroeht [yroeht@server5.tonbnc.fr] has quit [Quit: leaving] 06:06:08 alph_cent [~proba@cpe-67-244-127-222.nyc.res.rr.com] has joined #lisp 06:09:45 -!- realitygrill [~realitygr@adsl-76-226-133-103.dsl.sfldmi.sbcglobal.net] has quit [Quit: realitygrill] 06:10:45 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 06:11:11 -!- benny [~benny@i577A7230.versanet.de] has quit [Read error: Operation timed out] 06:11:39 -!- spradnyesh [~pradyus@nat/yahoo/x-kbefwmsylxztwnhh] has quit [Ping timeout: 258 seconds] 06:13:05 jdz [~jdz@193.206.22.97] has joined #lisp 06:16:29 spradnyesh [~pradyus@nat/yahoo/x-ncekiwulgjihxeqf] has joined #lisp 06:17:48 cfy` [~cfy@122.228.131.67] has joined #lisp 06:18:10 -!- cfy [~cfy@unaffiliated/chenfengyuan] has quit [Ping timeout: 258 seconds] 06:18:14 -!- cfy` is now known as Guest35165 06:18:34 -!- Guest35165 is now known as cfy 06:18:35 -!- cfy [~cfy@122.228.131.67] has quit [Changing host] 06:18:35 cfy [~cfy@unaffiliated/chenfengyuan] has joined #lisp 06:19:05 -!- lnostdal-laptop [~lnostdal@213.80-202-59.nextgentel.com] has quit [Quit: Leaving] 06:22:18 jewel [~jewel@196-209-224-248.dynamic.isadsl.co.za] has joined #lisp 06:22:49 flip214 [~marek@unaffiliated/flip214] has joined #lisp 06:23:34 -!- cfy [~cfy@unaffiliated/chenfengyuan] has quit [Remote host closed the connection] 06:23:38 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 248 seconds] 06:25:37 yroeht [yroeht@server5.tonbnc.fr] has joined #lisp 06:26:11 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 06:26:48 benny [~benny@i577A358B.versanet.de] has joined #lisp 06:27:02 good morning 06:27:37 _Rughalt [~Rughalt@188.146.31.20.nat.umts.dynamic.eranet.pl] has joined #lisp 06:28:01 -!- _Rughalt [~Rughalt@188.146.31.20.nat.umts.dynamic.eranet.pl] has left #lisp 06:28:26 -!- splittist [~splittist@30-245.62-188.cust.bluewin.ch] has quit [Ping timeout: 246 seconds] 06:29:59 markskil1eck [~mark@host217-43-219-11.range217-43.btcentralplus.com] has joined #lisp 06:30:21 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Ping timeout: 252 seconds] 06:33:16 -!- symbole [~user@ool-ad02b0d9.dyn.optonline.net] has quit [Read error: Connection reset by peer] 06:35:11 -!- Amadiro [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has quit [Quit: Leaving] 06:35:20 orivej [~orivej@rk4015.ws.pu.ru] has joined #lisp 06:36:06 Guest33578 [~cfy@218.75.17.73] has joined #lisp 06:37:40 -!- Guest33578 is now known as cfy 06:37:53 -!- cfy [~cfy@218.75.17.73] has quit [Changing host] 06:37:53 cfy [~cfy@unaffiliated/chenfengyuan] has joined #lisp 06:39:39 -!- cfy is now known as aouaoeuaoaaa 06:39:54 -!- aouaoeuaoaaa is now known as cfy 06:42:45 splittist [~splittist@36-130.62-81.cust.bluewin.ch] has joined #lisp 06:45:46 -!- Spion_ [~spion@unaffiliated/spion] has quit [Read error: Operation timed out] 06:47:56 -!- milanj [~milanj_@212-200-194-87.dynamic.isp.telekom.rs] has quit [Quit: Leaving] 06:50:04 -!- argiopeweb [~elliot@adsl-74-243-26-165.dab.bellsouth.net] has quit [Ping timeout: 252 seconds] 06:52:33 -!- jewel [~jewel@196-209-224-248.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 06:52:38 -!- cfy [~cfy@unaffiliated/chenfengyuan] has quit [Read error: Connection reset by peer] 06:52:53 cfy` [~cfy@122.228.135.213] has joined #lisp 06:53:19 -!- cfy` is now known as Guest15517 06:53:51 Munksgaard [~Munksgaar@1807ds2-noe.0.fullrate.dk] has joined #lisp 06:55:21 -!- SidH_ [~SidH_@203.101.61.10] has quit [Ping timeout: 258 seconds] 06:55:30 -!- tcr [~tcr@217-162-131-235.dynamic.hispeed.ch] has quit [Quit: Leaving.] 06:57:35 mishoo_ [~mishoo@79.112.237.124] has joined #lisp 06:58:59 naeg [~naeg@170-18-182-46.nbiserv.com] has joined #lisp 07:00:57 -!- limetree [~simon@c-23e8e155.1226-1-64736c10.cust.bredbandsbolaget.se] has quit [Ping timeout: 240 seconds] 07:03:21 -!- orivej [~orivej@rk4015.ws.pu.ru] has quit [Ping timeout: 252 seconds] 07:03:41 -!- paul0 [~user@189.114.196.61.dynamic.adsl.gvt.net.br] has quit [Remote host closed the connection] 07:04:28 -!- ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has quit [Remote host closed the connection] 07:05:31 -!- Guest15517 is now known as cfy 07:05:32 -!- cfy [~cfy@122.228.135.213] has quit [Changing host] 07:05:32 cfy [~cfy@unaffiliated/chenfengyuan] has joined #lisp 07:08:22 -!- nefo [~nefo@unaffiliated/nefo] has quit [Remote host closed the connection] 07:09:52 -!- homie` [~levgue@xdsl-78-35-182-202.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 07:11:06 -!- BlankVerse [~pankajm@122.166.119.36] has quit [Ping timeout: 248 seconds] 07:11:36 beach` [~user@116.118.8.188] has joined #lisp 07:12:59 -!- beach [~user@116.118.0.244] has quit [Ping timeout: 240 seconds] 07:13:08 BlankVerse [~pankajm@122.166.119.36] has joined #lisp 07:14:15 homie [~levgue@xdsl-78-35-182-202.netcologne.de] has joined #lisp 07:20:00 mishoo__ [~mishoo@79.112.237.124] has joined #lisp 07:20:48 -!- [df] [~df@163.8.187.81.in-addr.arpa] has quit [Remote host closed the connection] 07:22:09 tcr [~tcr@217-162-207-164.dynamic.hispeed.ch] has joined #lisp 07:22:36 ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has joined #lisp 07:23:09 -!- mishoo_ [~mishoo@79.112.237.124] has quit [Ping timeout: 252 seconds] 07:27:29 stis [~stis@host-90-232-241-255.mobileonline.telia.com] has joined #lisp 07:28:43 e-user [~akahl@nat/nokia/x-syuqckbqkxesdciv] has joined #lisp 07:31:46 angavrilov [~angavrilo@217.71.227.181] has joined #lisp 07:31:50 Beetny [~Beetny@ppp118-208-150-156.lns20.bne1.internode.on.net] has joined #lisp 07:34:35 -!- ltriant [~ltriant@110-174-168-43.static.tpgi.com.au] has quit [Quit: Computer has gone to sleep] 07:37:35 Odin- [~sbkhh@adsl-2-92.du.snerpa.is] has joined #lisp 07:40:11 is listp the same as consp? (listp (cons 1 2)) => t 07:40:27 -!- X-Scale [email@89.180.193.41] has quit [Remote host closed the connection] 07:40:37 X-Scale [email@2001:470:1f08:b3d::2] has joined #lisp 07:41:00 insomnia1alt [~milan@port-92-204-63-201.dynamic.qsc.de] has joined #lisp 07:41:26 (listp NIL) returns T, (consp NIL) NIL (IIRC) 07:41:36 clhs listp 07:41:36 yes true 07:42:35 cymew [~davour@dhcp-221-35.pdc.kth.se] has joined #lisp 07:42:53 Joreji [~thomas@78-230.eduroam.RWTH-Aachen.DE] has joined #lisp 07:43:24 nikodemus [~nikodemus@cs181063174.pp.htv.fi] has joined #lisp 07:44:34 -!- insomniaSalt [~milan@port-92-204-103-253.dynamic.qsc.de] has quit [Ping timeout: 260 seconds] 07:47:48 udzinari [~user@nat/ibm/x-evmmdagtwezqvygz] has joined #lisp 08:00:07 Davidbrcz [~david@ANantes-151-1-191-189.w2-8.abo.wanadoo.fr] has joined #lisp 08:01:31 bjoern1 [~bjoern@2.208.8.109] has joined #lisp 08:15:38 -!- Krystof [~csr21@csrhodes.plus.com] has quit [Ping timeout: 248 seconds] 08:22:49 c_arenz [~arenz@nat/ibm/x-jdeuuxuozocbcsdc] has joined #lisp 08:23:57 brodo [~brodo@p5B024C6F.dip.t-dialin.net] has joined #lisp 08:24:01 -!- brodo [~brodo@p5B024C6F.dip.t-dialin.net] has quit [Client Quit] 08:25:14 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has quit [Remote host closed the connection] 08:27:08 dfox [~dfox@ip-94-113-17-246.net.upcbroadband.cz] has joined #lisp 08:28:04 cfy` [~cfy@122.228.135.213] has joined #lisp 08:28:23 orivej [~orivej@wi58.fi.pu.ru] has joined #lisp 08:28:30 -!- cfy` is now known as Guest52041 08:28:46 -!- Guest52041 [~cfy@122.228.135.213] has quit [Client Quit] 08:29:04 -!- cfy [~cfy@unaffiliated/chenfengyuan] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 08:29:07 ch077179 [~urs@xdsl-188-155-1-133.adslplus.ch] has joined #lisp 08:32:05 -!- amb007 [~a_bakic@145.29.195-77.rev.gaoland.net] has quit [Remote host closed the connection] 08:33:14 gemelen [~shelta@shpd-92-101-136-29.vologda.ru] has joined #lisp 08:34:15 -!- derekv [~derekv@c-68-62-78-203.hsd1.mi.comcast.net] has quit [Ping timeout: 258 seconds] 08:36:13 nefo [~nefo@unaffiliated/nefo] has joined #lisp 08:37:57 madnificent [~madnifice@83.101.62.132] has joined #lisp 08:38:09 -!- Khisanth [~Khisanth@50.14.244.111] has quit [Ping timeout: 240 seconds] 08:38:43 Pathin [~root@gladsheim.nullbytestudios.net] has joined #lisp 08:42:16 -!- Pathin [~root@gladsheim.nullbytestudios.net] has quit [Client Quit] 08:44:45 wioux [~wioux@c-98-248-161-180.hsd1.ca.comcast.net] has joined #lisp 08:47:27 Pathin [~root@gladsheim.nullbytestudios.net] has joined #lisp 08:48:13 Khisanth [~Khisanth@50.14.244.111] has joined #lisp 08:48:29 -!- wioux [~wioux@c-98-248-161-180.hsd1.ca.comcast.net] has left #lisp 08:49:09 amb007 [~a_bakic@145.29.195-77.rev.gaoland.net] has joined #lisp 08:49:46 Amadiro [~Amadiro@1x-193-157-204-102.uio.no] has joined #lisp 08:50:51 nil is alist just a short one 08:51:49 hlavaty [~user@91-65-223-81-dynip.superkabel.de] has joined #lisp 08:52:34 nil is both a boolean, a symbol, an atom, a list, an a-list, and a p-list, and even more things. 08:53:54 workthrick [~mathrick@emp.nat.sdu.dk] has joined #lisp 08:55:38 -!- Munksgaard [~Munksgaar@1807ds2-noe.0.fullrate.dk] has quit [Ping timeout: 248 seconds] 08:57:14 -!- BlankVerse [~pankajm@122.166.119.36] has quit [Ping timeout: 248 seconds] 09:00:33 rvirding [~chatzilla@c-3c90e255.56-4-64736c14.cust.bredbandsbolaget.se] has joined #lisp 09:03:18 I'm not sure that I'm a fan of nil wearing so many hats. 09:03:23 Munksgaard [~Munksgaar@1807ds2-noe.0.fullrate.dk] has joined #lisp 09:03:23 -!- stis [~stis@host-90-232-241-255.mobileonline.telia.com] has quit [Read error: Connection reset by peer] 09:03:30 I think it dilutes the semantics of it, even if it is often convenient. 09:03:41 enupten [~neptune@117.192.86.126] has joined #lisp 09:03:53 stis [~stis@host-90-232-241-255.mobileonline.telia.com] has joined #lisp 09:04:00 -!- enupten [~neptune@117.192.86.126] has quit [Client Quit] 09:04:18 BlankVerse [~pankajm@122.166.119.36] has joined #lisp 09:08:42 derekv [~derekv@c-68-62-78-203.hsd1.mi.comcast.net] has joined #lisp 09:10:23 ltriant [~ltriant@124-168-220-216.dyn.iinet.net.au] has joined #lisp 09:13:29 Are incf and decf required to use setf? 09:14:27 -!- am0c [~am0c@124.49.51.197] has quit [Remote host closed the connection] 09:14:32 <_3b> depends on the form 09:15:40 they are required to use the appropriate setf-expansion, aren't they? 09:16:54 drdo: they're not required. Notably, they could call an implementation specific operator. 09:17:25 p_l|backup, Xach: sbcl is working on that sparc finally, but it is very slow :) 09:17:36 For example, clisp may expand to a let for that calls system::%rplaca. 09:17:37 basho__ [~basho__@dslb-188-108-228-212.pools.arcor-ip.net] has joined #lisp 09:18:00 (macroexpand '(incf (car x))) --> (LET* ((#1=#:TEMP-292620 X) (#2=#:NEW-292619 (+ (CAR #1#) 1))) (SYSTEM::%RPLACA #1# #2#)) 09:18:32 Of course (setf (car x) 1) will often use rplaca rather than an hypothetical (setf car). 09:19:23 -!- orivej [~orivej@wi58.fi.pu.ru] has quit [Ping timeout: 252 seconds] 09:22:09 Well, now that i think about it, there's no other way for it to work 09:22:22 It has to use setf in this situation 09:22:40 -!- cmm [~cmm@bzq-79-181-204-121.red.bezeqint.net] has quit [Ping timeout: 260 seconds] 09:22:58 drdo: what exactly do you mean by "use SETF"? 09:23:03 cmm [~cmm@bzq-79-181-204-121.red.bezeqint.net] has joined #lisp 09:23:20 drdo: No, there's no way to use (setf car), since this does not exist in CL. 09:23:21 <_3b> it probably uses a setf expannsion if one is available rather than calling setf directly 09:23:34 It has to use RPLACA, or an implementation specific operator. 09:23:35 Athas [~athas@shop3.diku.dk] has joined #lisp 09:23:41 -!- antgreen [~user@CPE00222d6c4710-CM00222d6c470d.cpe.net.cable.rogers.com] has quit [Read error: Operation timed out] 09:24:22 antgreen [~user@CPE00222d6c4710-CM00222d6c470d.cpe.net.cable.rogers.com] has joined #lisp 09:24:31 (multiple-value-list (ignore-errors (fdefinition '(setf car)))) --> (NIL #) 09:24:40 pjb: I meant the situation where i was using it 09:25:24 Perhaps. Check CLHS, there's a specific order in which the operators and setf functions are tried out, and IIRC, (setf x) is tried last. 09:25:25 <_3b> well, i guess there is always a setf expansion available, even if sometimes it calls a setf function 09:25:36 -!- BlankVerse [~pankajm@122.166.119.36] has quit [Remote host closed the connection] 09:25:42 BlankVerse [~pankajm@122.166.119.36] has joined #lisp 09:26:01 Well, in this case, there's only a function, so it's really the only way it could work 09:26:57 trace works on (setf f) too. 09:28:51 -!- derekv [~derekv@c-68-62-78-203.hsd1.mi.comcast.net] has quit [Ping timeout: 252 seconds] 09:30:12 derekv [~derekv@c-68-62-78-203.hsd1.mi.comcast.net] has joined #lisp 09:30:33 -!- beach` is now known as beach 09:36:03 -!- gor[e] [~svr@gw2.masterhost.ru] has quit [Quit: Lost terminal] 09:36:32 gor[e] [~svr@gw2.masterhost.ru] has joined #lisp 09:36:49 studentdotpy [~aochoa@71-80-179-102.dhcp.wsco.ca.charter.com] has joined #lisp 09:38:31 Krystof [~csr21@158.223.161.59] has joined #lisp 09:39:23 -!- gravicappa [~gravicapp@ppp91-77-180-235.pppoe.mtu-net.ru] has quit [Ping timeout: 276 seconds] 09:40:52 kami````` [~user@p5B20AC14.dip.t-dialin.net] has joined #lisp 09:41:15 Yuuhi [benni@p5483A81B.dip.t-dialin.net] has joined #lisp 09:42:19 -!- kami```` [~user@p5B20AC14.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 09:42:21 BrandLeeJones [~BrandLeeJ@84.114.246.246] has joined #lisp 09:43:08 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 09:43:26 mrSpec [~Spec@89-75-35-251.dynamic.chello.pl] has joined #lisp 09:43:26 -!- mrSpec [~Spec@89-75-35-251.dynamic.chello.pl] has quit [Changing host] 09:43:26 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 09:45:34 -!- naeg [~naeg@170-18-182-46.nbiserv.com] has quit [Quit: WeeChat 0.3.4] 09:48:58 steevy [~steevy@95-89-223-125-dynip.superkabel.de] has joined #lisp 09:51:26 -!- xan_ [~xan@205.158.58.41.ptr.us.xo.net] has quit [Ping timeout: 246 seconds] 09:52:37 -!- longfin [~longfin@124.198.53.194] has quit [Remote host closed the connection] 09:53:27 -!- studentdotpy [~aochoa@71-80-179-102.dhcp.wsco.ca.charter.com] has quit [Quit: studentdotpy] 09:55:03 -!- Amadiro [~Amadiro@1x-193-157-204-102.uio.no] has quit [Quit: Leaving] 10:02:53 orivej [~orivej@rk4015.ws.pu.ru] has joined #lisp 10:04:08 -!- gor[e] [~svr@gw2.masterhost.ru] has quit [Quit: Lost terminal] 10:04:22 hargettp [~hargettp@pool-71-174-130-167.bstnma.east.verizon.net] has joined #lisp 10:04:28 gor[e] [~svr@gw2.masterhost.ru] has joined #lisp 10:12:44 -!- orivej [~orivej@rk4015.ws.pu.ru] has quit [Ping timeout: 260 seconds] 10:16:24 -!- xxxyyy [~xyxu@58.41.12.183] has quit [Quit: Leaving.] 10:17:43 I've chosen to write a small report about the history of Lisp (and Common Lisp) for a course that I'm following. I've found some resources online, but it doesn't sound bad to ask for some other links here :) 10:18:06 -!- neoesque [~neoesque@210.59.147.232] has quit [Quit: Bye!] 10:18:40 probably the talk by gigamonkey in the last ILC if you can get your hands on it 10:18:46 not that i've seen or heard it 10:19:06 google evolution of lisp paper 10:19:07 ehu [~ehuels@109.32.231.58] has joined #lisp 10:19:23 gigamonkey's talk is pretty good too 10:19:29 jdz: ooh, didn't know he gave one. Must search for it 10:19:54 arbscht's weekly repl podcast had it, didn't it? 10:19:57 if you need primary sources the ansi-committee mailing list archives are somewhere, etc 10:20:06 nikodemus: evolution is a good tag that I haven't used in the past... 10:20:08 madnificent: well, as far as i've heard it was good, and many of the historical figures were present in the audience :) 10:20:25 jdz: a moment of legends :) 10:20:41 splittist: cool, that's something I can find 10:23:29 splittist: yes, it does 10:23:43 the podcast has been terribly un-weekly lately :( 10:23:54 *arbscht* has been shaving yaks 10:23:54 ah wow, it was the talk "the good, the bad, the ugly" 10:24:26 Is the ELS talk "Compiling for the common case" available somewhere? As PDF or what is printable? 10:27:29 -!- gko [~gko@211.21.137.140] has quit [Ping timeout: 276 seconds] 10:28:56 orivej [~orivej@rk4015.ws.pu.ru] has joined #lisp 10:33:12 gravicappa [~gravicapp@80.90.116.82] has joined #lisp 10:36:35 -!- BrandLeeJones [~BrandLeeJ@84.114.246.246] has quit [Quit: BrandLeeJones] 10:37:12 b4 [~b4@sd4406ccf.adsl.wanadoo.nl] has joined #lisp 10:41:50 -!- orivej [~orivej@rk4015.ws.pu.ru] has quit [Ping timeout: 246 seconds] 10:43:17 -!- ehu [~ehuels@109.32.231.58] has quit [Ping timeout: 240 seconds] 10:43:53 -!- amb007 [~a_bakic@145.29.195-77.rev.gaoland.net] has quit [Remote host closed the connection] 10:56:55 brodo [~brodo@141.99.96.122] has joined #lisp 10:58:37 orivej [~orivej@rk4015.ws.pu.ru] has joined #lisp 10:58:48 step112 [~step112@85.26.155.76] has joined #lisp 10:59:38 juniorroy [~juniorroy@212.36.228.103] has joined #lisp 11:01:21 xach: ping 11:01:48 -!- step112 [~step112@85.26.155.76] has quit [Quit: step112] 11:05:04 Guthur: was ist los? 11:05:41 Bahman [~Bahman@2.146.25.8] has joined #lisp 11:06:11 Hi all! 11:07:19 -!- juniorroy [~juniorroy@212.36.228.103] has quit [Read error: Operation timed out] 11:07:26 Xach: I'm running into this typo issue with iolib again 11:07:59 Guthur: weird. 11:08:12 I was trying to quickload hu.dwim.rdbms, and get an error because it tried to load C:/home/quicklisp/dists/quicklisp/software/iolib-0.7.3/src/iolib>.os.asd 11:09:17 Guthur: What Lisp do you use? 11:09:56 this is CCL, on win32 11:10:21 Guthur: I'll give it a try too. 11:10:52 -!- orivej [~orivej@rk4015.ws.pu.ru] has quit [Ping timeout: 240 seconds] 11:11:48 cool, cheers 11:13:37 -!- Bahman [~Bahman@2.146.25.8] has quit [Quit: Ave Atque Vale] 11:13:45 -!- X-Scale [email@2001:470:1f08:b3d::2] has quit [Remote host closed the connection] 11:14:42 Bahman [~Bahman@2.146.25.8] has joined #lisp 11:14:48 Spion [~spion@unaffiliated/spion] has joined #lisp 11:16:06 what's up with lisppaste? 11:16:20 hit by clnet migration? 11:16:41 hi 11:17:02 is there a linux serial port specific library for Lisp? 11:18:14 -!- kami````` is now known as kami 11:19:12 Posterdati: what would you need, apart from opening /dev/ttyS*? 11:19:21 setting baud rate and so on? 11:19:32 flip214: setting parity, stop bit, speed... 11:19:41 there is ... http://www.cliki.net/trivial-raw-io 11:19:46 sb-posix:ioctl? 11:20:08 yes 11:20:23 fcntl too 11:22:36 Xach: Actually > seems to getting insert before the dots in systems txt files 11:22:43 ...very strange 11:23:02 bobbysmith007 [~russ@216.155.103.30] has joined #lisp 11:23:28 Guthur: can you paste? 11:23:39 What version of ccl? 11:23:46 dists/quicklisp/software/hu.dwim.common-20101107-darcs/hu>.dwim>.common.asd 11:24:06 hey guys, is there an alternative to cl-markdown? 11:24:10 sorry not all dots, just in the file name before the asd extension 11:24:11 mishoo__: 3bmd 11:24:17 Guthur: What file is that from? 11:24:25 hu.dwim.common.txt 11:24:26 neoesque [~neoesque@210.59.147.226] has joined #lisp 11:24:26 -!- mishoo__ is now known as mishoo 11:24:51 Xach: thanks, /me checking it 11:24:56 Xach: it's the same in all the hu.dwim.rdbms system files 11:25:10 Guthur: In installed/systems/hu.dwim.common.txt? 11:25:27 Xach: oh yes, sorry should have been explicit 11:25:54 -!- workthrick [~mathrick@emp.nat.sdu.dk] has quit [Remote host closed the connection] 11:26:21 workthrick [~mathrick@emp.nat.sdu.dk] has joined #lisp 11:26:26 Ok, thanks. 11:26:42 xxxyyy [~xyxu@58.41.162.230] has joined #lisp 11:26:44 Guthur: do you use more than one CL? 11:27:15 jingtao [~jingtaozf@123.120.45.124] has joined #lisp 11:28:12 orivej [~orivej@host-49-146-66-217.spbmts.ru] has joined #lisp 11:28:13 Xach: yes, I have been using SBCL as well 11:28:49 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Ping timeout: 252 seconds] 11:31:54 urandom__ [~user@p548A483C.dip.t-dialin.net] has joined #lisp 11:32:47 Ragnaroek [~chatzilla@webuds163-57.rz.uni-saarland.de] has joined #lisp 11:33:04 -!- brodo [~brodo@141.99.96.122] has quit [Quit: brodo] 11:33:16 -!- hargettp [~hargettp@pool-71-174-130-167.bstnma.east.verizon.net] has quit [Quit: Leaving...] 11:33:59 hargettp [~hargettp@pool-71-174-130-167.bstnma.east.verizon.net] has joined #lisp 11:34:52 -!- tempire [~tempire@pool-72-91-241-135.tampfl.fios.verizon.net] has quit [Ping timeout: 240 seconds] 11:38:23 -!- Bahman [~Bahman@2.146.25.8] has quit [Quit: Ave Atque Vale] 11:39:40 -!- orivej [~orivej@host-49-146-66-217.spbmts.ru] has quit [Ping timeout: 240 seconds] 11:41:19 Guthur: can you paste a transcript of a command that signals the error, and paste the error message? lisppaste is down but dropoff.org would work too 11:44:16 MoALTz [~no@92.18.11.222] has joined #lisp 11:44:33 Guthur: one of the meta-issues is iolib does not work on windows 11:45:19 Bahman [~Bahman@2.146.25.8] has joined #lisp 11:50:50 *Xach* prods Guthur 11:51:46 -!- hargettp [~hargettp@pool-71-174-130-167.bstnma.east.verizon.net] has quit [Quit: Leaving...] 11:52:58 -!- Jasko [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has quit [Quit: Leaving] 11:54:38 Xach: Sorry went to get some lunch, and now trying to recreate the error 11:54:59 Jasko [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has joined #lisp 11:55:08 Xach is there a way to clean out quicklisp 11:55:49 one way is to rename ~/quicklisp 11:56:20 -!- cmm [~cmm@bzq-79-181-204-121.red.bezeqint.net] has quit [Ping timeout: 276 seconds] 11:56:21 hehe, does that not just make it not exist anymore 11:56:42 ...essentially 11:57:02 cmm [~cmm@bzq-79-181-204-121.red.bezeqint.net] has joined #lisp 11:57:14 Guthur: rm -rf, mkfs, or reinstall work only for your machine, too ... it's hard to make it really non-existing 11:58:01 -!- nefo [~nefo@unaffiliated/nefo] has quit [Remote host closed the connection] 11:59:05 hello 11:59:10 -!- b4 is now known as b4|hraban 11:59:43 I have a hard time finding info about this on-line, perhaps somebody here can help me out: 12:00:43 what are the options regarding the "order of evaluation" of macros, meaning: I have macros m1 and m2, and I do (m1 (m2 foo) bar), then m1 gets two s-exprs: (m2 foo) and bar 12:00:57 but what if I want to pass m1 what comes OUT of (m2 foo)? 12:01:19 is that a sign that I am doing things the wrong way, if so, why? or is there an obvious way to do this? 12:01:23 or...? 12:01:39 b4|hraban: Macros operate on source code and return source code. If you want evaluation, don't use a macro. 12:01:46 BrandLeeJones [~BrandLeeJ@chello062178064156.22.11.vie.surfer.at] has joined #lisp 12:01:47 b4|hraban: Or, you could expand into code that does the evaluation. 12:01:56 Xach: I do not control the macro definition 12:02:08 -!- Krystof [~csr21@158.223.161.59] has quit [Read error: Operation timed out] 12:02:09 -!- stis [~stis@host-90-232-241-255.mobileonline.telia.com] has quit [Remote host closed the connection] 12:02:33 I thought the question was contrived, at first, too, but then I ran into the problem where I get code duplication in context macros like cl-who 12:02:34 b4|hraban: I think you are out of sensible options, then. 12:03:07 so I want to create something that produces a (:img ...), e.g., given just some basic info 12:03:12 b4|hraban: (eval `(m1 ,(m2 foo))) 12:03:40 ah... is that a legitimate use of eval? I want to actually use this, but only if it is reasonable 12:03:46 b4|hraban: You should use something that wraps cl-who, or don't use cl-who. 12:03:51 b4|hraban: No, it's not. 12:03:54 ok 12:04:02 b4|hraban: I had this "problem" with HTML generation, too. 12:04:18 flip214: thank god :P I thought I was overlooking something totally obvious 12:04:23 It's along the lines of (eval (defclass foo () (,(my-slot-macro slotname)))) 12:04:25 I am rather new to lisp so this was confusing me 12:04:35 not in case of cl-who. legitimate in case eg. TRACE 12:04:46 I solved it by passing my macro two bodies, which got expanded into lambdas, which got passed to the function printing the common HTML. 12:05:05 (eval `(trace ,@(funs-to-trace))) 12:05:22 nikodemus: right, that makes more sense 12:05:33 ie. legit if there are no other options 12:05:39 y 12:05:52 So, to stay with your example, I had a function that took functions, and called them within the HTML generation. And a macro, that expanded into a call of this function, with two lambdas as parameter. 12:06:01 longfin [~longfin@211.187.37.46] has joined #lisp 12:06:06 b4|hraban: with cl-who, you can put function calls in there that write out to the html generation stream, if you want. 12:06:46 ok, I will try to work around this, then 12:06:58 Xach: http://dropoff.org/aiww/Guthur 12:07:01 I am a bit sad that it is not possible to have macros create code for macros, though 12:07:14 well, "possible" 12:07:21 b4|hraban: it's possible 12:07:22 Xach: that is from a clean QL installation 12:07:39 flip214: outside eval? 12:08:04 Guthur: that error is an oblique way of telling you iolib does not work on windows. 12:08:25 Guthur: the > in filenames are not a direct cause of any problem on ccl 12:08:32 b4|hraban: you must have noticed than in cl-who the macro is only WITH-HTML-OUTPUT 12:08:36 I'm not sure what you mean exactly by "creating code for macros"; but eg. http://letoverlambda.com/lol.lisp has macros that define macros, IIRC 12:08:44 -!- sellout [~Adium@c-24-61-13-161.hsd1.ma.comcast.net] has quit [Quit: Leaving.] 12:08:47 -!- antgreen [~user@CPE00222d6c4710-CM00222d6c470d.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 12:08:49 b4|hraban: all the HTML related keywords are just data, not macros 12:08:55 no not a macro creating a new macro, sure that is possible 12:09:14 I mean using a macro to generate dsl that will then be consumed by another macro 12:09:27 Xach: any advice on a course of action 12:09:29 b4|hraban: macros get to define their own evaluation rules, so you have to work within those rules to use them. you can either use those rules as-is, or flip things around and wrap them up. 12:09:37 jdz: sure, but does that change the situation? 12:09:47 b4|hraban: check out yaclml, where all the tags are actually macros 12:09:54 Guthur: Find a Windows expert who loves Lisp and iolib and induce them to add Windows support to it? 12:10:28 b4|hraban: in cl-who there actually are a couple generic functions you can add methods to 12:10:43 they did not help me an awful lot, though 12:10:47 -!- spradnyesh [~pradyus@nat/yahoo/x-ncekiwulgjihxeqf] has left #lisp 12:10:52 Guthur: Stop using Windows? 12:10:59 Guthur: I don't know how feasible either of those options are to you. 12:11:30 Xach Unfortunately neither are awfully feasible 12:11:40 -!- cmm [~cmm@bzq-79-181-204-121.red.bezeqint.net] has quit [Ping timeout: 240 seconds] 12:11:46 -!- BlankVerse [~pankajm@122.166.119.36] has quit [Quit: leaving] 12:12:02 alright, then. thanks for the information, everyone. goodbye 12:12:03 that latter is probably more so, but I may be pushing the boat too far with moving to linux 12:12:42 cmm [~cmm@bzq-79-181-204-121.red.bezeqint.net] has joined #lisp 12:13:50 Guthur: what do you use iolib for? is there something else you can use? 12:14:42 nikodemus: It's the libs I want to use that seem to have a dependency on it 12:15:04 -!- Joreji [~thomas@78-230.eduroam.RWTH-Aachen.DE] has quit [Read error: Operation timed out] 12:15:07 hu.dwim.rdbms 12:15:51 Triplefault [~Mouse@adsl-72-145-215-164.asm.bellsouth.net] has joined #lisp 12:16:01 gravicappa [~gravicapp@80.90.116.82] has joined #lisp 12:17:04 Guthur: see how deep the depenency is. does it use iolib for multiplexing? or does it just use it as a posix wrapper? in the latter case it might be feasible to workaround that in rdbms 12:17:20 Xach: I don't think this > issue is really to do with iolib though 12:17:35 they also appear the system files for hu.dwim.rdbms 12:17:47 -!- b4|hraban [~b4@sd4406ccf.adsl.wanadoo.nl] has left #lisp 12:18:10 and it doesn't appear in iolib systems text files that refer to an asd file which only has one dot at the extension 12:18:31 -!- kushal [~kdas@fedora/kushal] has quit [Quit: Leaving] 12:18:38 it would really appear to be something to do with files have more than one dot in the name 12:19:49 Guthur: at a guess it's just CCL's namestring syntax at work 12:22:31 Joreji [~thomas@78-230.eduroam.RWTH-Aachen.DE] has joined #lisp 12:23:09 Guthur: I am working on the > issue separately. 12:23:27 Xach: ah, ok 12:23:56 LiamH [~none@pdp8.nrl.navy.mil] has joined #lisp 12:24:01 Guthur: http://clozure.com/pipermail/openmcl-devel/2011-May/012811.html 12:25:29 orivej [~orivej@host-49-146-66-217.spbmts.ru] has joined #lisp 12:27:46 cpape [root@linux01.gwdg.de] has joined #lisp 12:29:15 -!- BrandLeeJones [~BrandLeeJ@chello062178064156.22.11.vie.surfer.at] has quit [Quit: BrandLeeJones] 12:29:42 sellout- [~Adium@173-162-137-153-NewEngland.hfc.comcastbusiness.net] has joined #lisp 12:32:16 Xach http://dropoff.org/nekn/Guthur 12:32:35 I'm trying with SBCL now, getting a little further, but I have that error now 12:32:39 is that QL? 12:32:52 I can post the stack trace as well 12:33:21 I believe that's SBCL's default external format not being utf-8. 12:33:29 in your setup. 12:33:56 can I set that without reloading CL 12:34:13 I don't know if there's a good way. 12:34:23 -!- cmm [~cmm@bzq-79-181-204-121.red.bezeqint.net] has quit [Ping timeout: 252 seconds] 12:34:30 ok, cheers 12:35:24 cmm [~cmm@bzq-79-181-204-121.red.bezeqint.net] has joined #lisp 12:35:33 -!- orivej [~orivej@host-49-146-66-217.spbmts.ru] has quit [Ping timeout: 252 seconds] 12:35:59 -!- Beetny [~Beetny@ppp118-208-150-156.lns20.bne1.internode.on.net] has quit [Ping timeout: 240 seconds] 12:38:01 *Xach* looks forward to cl-opencl based on http://software.intel.com/en-us/articles/opencl-sdk/ 12:38:42 _3b: has there been much movement on cl-opencl 12:39:46 #1=cl-open#1# ? 12:40:29 BrandLeeJones [~BrandLeeJ@chello062178064156.22.11.vie.surfer.at] has joined #lisp 12:40:57 -!- BrandLeeJones [~BrandLeeJ@chello062178064156.22.11.vie.surfer.at] has quit [Client Quit] 12:41:20 mstevens [~mstevens@89.145.84.152] has joined #lisp 12:41:20 -!- mstevens [~mstevens@89.145.84.152] has quit [Changing host] 12:41:20 mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has joined #lisp 12:41:50 amb007 [~a_bakic@145.29.195-77.rev.gaoland.net] has joined #lisp 12:43:11 -!- amb007 [~a_bakic@145.29.195-77.rev.gaoland.net] has quit [Remote host closed the connection] 12:43:46 Guthur: you dont need iolib for hu.dwim.rdbms 12:44:25 hlavaty: cool, i've got it compiled now 12:44:36 just about to attempt to make a connection 12:44:57 Guthur: i assume you use akovalenko's sbcl fork? 12:45:15 hlavaty: yes I am at the moment 12:45:43 -!- frodef [~frode@shevek.netfonds.no] has quit [Ping timeout: 258 seconds] 12:46:47 -!- jingtao [~jingtaozf@123.120.45.124] has quit [Remote host closed the connection] 12:48:30 Guthur: with oracle then? 12:49:28 hlavaty: yep 12:49:45 hlavaty: what is a simple test to see if a connection is made 12:49:49 Salamander_ [~Salamande@ppp121-45-135-4.lns21.adl2.internode.on.net] has joined #lisp 12:49:53 stassats` [~stassats@wikipedia/stassats] has joined #lisp 12:50:03 -!- sellout- is now known as sellout 12:52:28 -!- Salamander [~Salamande@ppp121-45-137-233.lns21.adl2.internode.on.net] has quit [Ping timeout: 240 seconds] 12:52:59 cesarbp [~chatzilla@189.139.219.67] has joined #lisp 12:53:43 hlavaty: ok got a test 12:54:01 had an OCI error and it killed my lisp 12:54:17 pnq [~nick@AC8172B2.ipt.aol.com] has joined #lisp 12:54:29 Salamander__ [~Salamande@ppp118-210-192-52.lns20.adl6.internode.on.net] has joined #lisp 12:54:29 BrandLeeJones [~BrandLeeJ@chello062178064156.22.11.vie.surfer.at] has joined #lisp 12:54:31 Jasko3 [~tjasko@209.74.44.225] has joined #lisp 12:54:58 Guthur: which version/repository did you get hu.dwim.rdbms from? 12:55:08 hlavaty: quicklisp 12:55:10 -!- Salamander_ [~Salamande@ppp121-45-135-4.lns21.adl2.internode.on.net] has quit [Ping timeout: 248 seconds] 12:55:24 where does quicklisp get it? 12:55:36 nefo [~nefo@unaffiliated/nefo] has joined #lisp 12:55:55 hlavaty: I think Xach has a central repo of all QL projects 12:56:21 darcs http://dwim.hu/darcs/hu.dwim.rdbms/ 12:56:31 that's where i got it. 12:57:43 -!- Jasko [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has quit [Ping timeout: 240 seconds] 12:58:17 hmm that's a year old version 12:58:48 you might want to try git clone http://src.knowledgetools.de/tomas/porting/rdbms.git and git clone http://src.knowledgetools.de/tomas/porting/perec.git 12:58:48 12:59:05 Krystof [~csr21@158.223.161.59] has joined #lisp 12:59:09 if you are after oracle and other features 12:59:21 Is the project under new ownership? 13:00:01 Why isn't the dwim.hu version up to date? 13:00:27 good question, it's more like that it hasnt been merged back over a year and hu.dwim guys have different priorities then us 13:00:42 Xach: it says "The clone of the official LIVE darcs repository from http://dwim.hu/darcsweb/darcsweb.cgi with portability patches for Allegro CL and Oracle DB." 13:00:44 so there are two forks now 13:01:23 *splittist* thinks of dining philosophers 13:01:40 How about a real fork with a new name? 13:01:40 orivej [~orivej@host-49-146-66-217.spbmts.ru] has joined #lisp 13:01:41 brief description of the differences at http://src.knowledgetools.de/tomas/porting/#sec-3.5 13:02:00 enterprise-rdbms and enterprise-perec? 13:02:14 -!- Salamander__ is now known as Salamander 13:02:16 Xach: maybe, not sure yet, will need talk to attilla 13:03:14 dnolen [~davidnole@184.152.69.75] has joined #lisp 13:03:30 they sound like reasonable patches to have in the main repo 13:06:51 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Ping timeout: 240 seconds] 13:07:11 -!- orivej [~orivej@host-49-146-66-217.spbmts.ru] has quit [Ping timeout: 276 seconds] 13:07:57 -!- Spion [~spion@unaffiliated/spion] has quit [Quit: Leaving] 13:08:51 DavidNcl [~DavidNcl@host86-174-126-248.range86-174.btcentralplus.com] has joined #lisp 13:09:13 orivej [~orivej@host-49-146-66-217.spbmts.ru] has joined #lisp 13:09:48 -!- BrandLeeJones [~BrandLeeJ@chello062178064156.22.11.vie.surfer.at] has quit [Quit: BrandLeeJones] 13:09:49 homie` [~levgue@xdsl-78-35-161-154.netcologne.de] has joined #lisp 13:11:27 finally, I'm connecting to the oracle db 13:11:29 -!- homie [~levgue@xdsl-78-35-182-202.netcologne.de] has quit [Ping timeout: 252 seconds] 13:11:35 got clsql working 13:12:03 I was nearly losing my will to lisp there 13:12:10 Spion [~spion@unaffiliated/spion] has joined #lisp 13:12:27 Guthur: they are reasonable and necessary for us but it breaks the "lisp-side query fallback" which the hu.dwim version has and attila finds important. Also their "direct sql hook into the query compiler" doesnt work the way they use it because they use only one backend (postgresql) 13:14:47 makao007 [3d8ed192@gateway/web/freenode/ip.61.142.209.146] has joined #lisp 13:15:50 juniorroy [~juniorroy@212.36.228.103] has joined #lisp 13:15:59 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 13:16:50 -!- homie` [~levgue@xdsl-78-35-161-154.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 13:19:47 -!- jcazevedo [~jcazevedo@bl10-156-58.dsl.telepac.pt] has quit [Read error: Operation timed out] 13:20:02 -!- pnq [~nick@AC8172B2.ipt.aol.com] has quit [Ping timeout: 246 seconds] 13:21:41 -!- orivej [~orivej@host-49-146-66-217.spbmts.ru] has quit [Ping timeout: 240 seconds] 13:22:00 gffa [~gffa@unaffiliated/gffa] has joined #lisp 13:22:51 -!- Krystof [~csr21@158.223.161.59] has quit [Ping timeout: 252 seconds] 13:23:26 cesarbp_ [~chatzilla@189.139.219.67] has joined #lisp 13:23:31 -!- cesarbp [~chatzilla@189.139.219.67] has quit [Read error: Connection reset by peer] 13:23:38 -!- cesarbp_ is now known as cesarbp 13:23:42 homie [~levgue@xdsl-78-35-161-154.netcologne.de] has joined #lisp 13:24:47 pnq [~nick@ACA2255A.ipt.aol.com] has joined #lisp 13:24:52 orivej [~orivej@host-49-146-66-217.spbmts.ru] has joined #lisp 13:25:21 -!- cmm [~cmm@bzq-79-181-204-121.red.bezeqint.net] has quit [Remote host closed the connection] 13:25:40 cmm [~cmm@bzq-79-181-204-121.red.bezeqint.net] has joined #lisp 13:27:08 etneg [gentest@gateway/shell/anapnea.net/x-mrhsrzehlnfosexl] has joined #lisp 13:27:13 -!- etneg [gentest@gateway/shell/anapnea.net/x-mrhsrzehlnfosexl] has left #lisp 13:28:34 kiuma [~kiuma@85-18-55-37.ip.fastwebnet.it] has joined #lisp 13:29:50 add^_ [~add^_^@h50n1c1o838.bredband.skanova.com] has joined #lisp 13:29:51 -!- Davidbrcz [~david@ANantes-151-1-191-189.w2-8.abo.wanadoo.fr] has quit [Ping timeout: 248 seconds] 13:30:09 -!- mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has quit [Quit: leaving] 13:32:04 rmarianski [~rmariansk@mail.marianski.com] has joined #lisp 13:37:17 milanj [~milanj_@93-87-156-179.dynamic.isp.telekom.rs] has joined #lisp 13:40:23 -!- gaidal [~gaidal@113.109.127.142] has quit [Quit: Leaving] 13:45:23 Hmm, I am curious. When using the macro (time), the documentation says it prints out the timing information to trace output. I would like to get the value, specifically, for "Real time" and nothing else, into a variable...I'm doing a benchmark of my project, how long it takes for modification of the number of iterations. The idea is to get this to a CSV where I can plot it in excel/R. 13:45:49 no 13:45:51 Is there something, easier, than using cl-ppcre to parse the trace output to get the timings? 13:46:14 TDT: what CL do you use? 13:46:21 tear time open and use its parts 13:46:24 Xach: SBCL 13:46:27 -!- steevy [~steevy@95-89-223-125-dynip.superkabel.de] has left #lisp 13:46:31 you could cook something up with get-internal-real-time easily enough 13:46:31 TDT: see SB-EXT:CALL-WITH-TIMING 13:46:37 That's a good point stassats`, it is a macro 13:46:52 even if it were a function 13:47:20 rme: thanks for the native namestring info. i thought it was unexported because i read "apropos" output wrong. 13:47:43 stassats`: easier to macro expand it since it's a macro :) 13:47:43 Xach: sorry it's not in the manual 13:48:14 I'll definitely take a look at that function xach, and brew up something if that doesn't work. Much easier than the solution I was thinking of, thanks all. 13:48:26 TDT: basically, use get-internal-run-time and internal-time-units-per-second. 13:48:34 TDT: it will expand to a function call, i believe 13:49:18 rme: Why does Windows use #\>? Is that so #\\ can be a directory separator? 13:50:05 Xach: right 13:50:19 TDT: (defmacro track-time (var &body body) (let ((start (gensym))) `(let ((,start)) (unwind-protect (progn (setf ,start (get-internal-run-time)) ,@body) (setf ,var (/ (- (get-internal-run-time) ,start) internal-time-units-per-second)))))) 13:51:00 (let (t1 t2) (values (+ (track-time t1 (do-something)) (track-time t2 (do-something-else))) t1 t2)) 13:51:49 You may also use incf ,var instead of setf ,var, to cumulate parts of loops... 13:51:51 also #\> is not a legal component of a windows pathname 13:51:57 -!- Bahman [~Bahman@2.146.25.8] has quit [Quit: Ave Atque Vale] 13:52:16 Handy. 13:53:14 -!- madsenz [~madsenz@n11z181l194.static.ctm.net] has quit [Ping timeout: 240 seconds] 13:53:21 (and given it's a one-liner, I still don't see the point of using an implementation specific operator...) 13:54:10 -!- slyrus_ [~chatzilla@adsl-99-39-232-239.dsl.pltn13.sbcglobal.net] has quit [Read error: Connection reset by peer] 13:54:25 madsenz [~madsenz@n11z181l194.static.ctm.net] has joined #lisp 13:54:30 slyrus_ [~chatzilla@adsl-99-39-232-239.dsl.pltn13.sbcglobal.net] has joined #lisp 13:55:29 pjb: *nod* pretty much what I have written now to do this, just doing it through a loop. Tracking this for a variable between 1-100 in incrmenets of 1. It's the number of iterations for the GRASP algorithm to perform. This project is a lot of fun, I hope to have it on github later. 13:56:08 orivej_ [~orivej@rk4015.ws.pu.ru] has joined #lisp 13:56:57 -!- orivej [~orivej@host-49-146-66-217.spbmts.ru] has quit [Ping timeout: 252 seconds] 13:57:45 -!- pnq [~nick@ACA2255A.ipt.aol.com] has quit [Ping timeout: 260 seconds] 13:57:51 leo2007 [~leo@2402:f000:5:2901:225:4bff:fea9:b9e4] has joined #lisp 14:06:39 Krystof [~csr21@158.223.161.59] has joined #lisp 14:10:10 Bahman [~Bahman@2.146.25.8] has joined #lisp 14:11:33 alama [~alama@86.93.35.187] has joined #lisp 14:12:52 Qworkescence [~quad@unaffiliated/quadrescence] has joined #lisp 14:13:00 astoon [~chatzilla@178-16-146-17.obit.ru] has joined #lisp 14:13:58 cfy [~cfy@218.75.17.73] has joined #lisp 14:13:58 -!- cfy [~cfy@218.75.17.73] has quit [Changing host] 14:13:58 cfy [~cfy@unaffiliated/chenfengyuan] has joined #lisp 14:17:36 -!- makao007 [3d8ed192@gateway/web/freenode/ip.61.142.209.146] has quit [Quit: Page closed] 14:19:46 realitygrill [~realitygr@adsl-76-226-133-103.dsl.sfldmi.sbcglobal.net] has joined #lisp 14:20:07 Has anyone done anything with their emacs to improve syntax highlighting (at least in his or her own opinion) for CL? 14:21:06 Qworkescence: you do not mean changing colours, right? 14:21:25 Right. 14:23:39 -!- realitygrill [~realitygr@adsl-76-226-133-103.dsl.sfldmi.sbcglobal.net] has quit [Read error: Connection reset by peer] 14:23:45 realitygrill [~realitygr@adsl-76-226-133-103.dsl.sfldmi.sbcglobal.net] has joined #lisp 14:23:49 Qworkescence: The default Emacs syntax categorization is not bad. What additional categories are you interested in highlighting? 14:23:59 urandom_ [~user@p548A7E47.dip.t-dialin.net] has joined #lisp 14:24:23 bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has joined #lisp 14:24:33 I've always liked the way lisppaste highlights. It's very simple and informative. 14:24:37 ... too many will turn your screen into a rainbow mess. 14:24:59 Right, I don't want too many 14:25:19 -!- urandom__ [~user@p548A483C.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 14:25:36 pnq [~nick@172.129.52.27] has joined #lisp 14:25:40 Sadly, lisppaste appears to be down right now, so I can't take a look. 14:26:00 zenburn is a nice color theme 14:26:03 Once it comes back, I can paste what I use. 14:26:58 I use a something inspired by this book: 14:27:01 http://www.amazon.com/Human-Factors-Typography-Readable-Programs/dp/0201107457 14:27:32 reb`, Cool, a book about code and typography. 14:27:41 (typography is a sort of pasttime of mine) 14:27:58 I tend to run Emacs in a terminal window, so I've limited myself to 8 colors. 14:28:18 reb`, don't you think it's time to bump up to 256? 14:28:39 reb`: have you tried running 'env TERM=xterm-246color emacs' 14:28:43 ? 14:29:00 256 even 14:29:21 The book is pretty good, but a bit dated. It spends most of its pages on techniques for displaying C code in grayscale. 14:29:33 ... but the ideas are what's important. 14:29:52 At the end there's some discussion and examples of using color. 14:30:39 Most code presentation software gets it totally wrong -- the worst thing you can do is typeset keywords in bold, for instance. 14:31:00 Why is that? 14:31:43 -!- cpape [root@linux01.gwdg.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 14:31:54 They are like punctuation ... they should not jump out at you. 14:32:06 -!- urandom_ [~user@p548A7E47.dip.t-dialin.net] has quit [Remote host closed the connection] 14:32:09 -!- cesarbp [~chatzilla@189.139.219.67] has quit [Ping timeout: 240 seconds] 14:32:31 urandom__ [~user@p548A7E47.dip.t-dialin.net] has joined #lisp 14:32:44 Depending on the language -- let's say C -- I think having them jump out at you could be important for understanding the flow of the program. 14:32:46 Bold and larger fonts are reserved for function names, types, etc. where they are defined. 14:32:52 (or, rather, it can be argued) 14:33:09 I agree with that (what you just said) more, however. 14:33:18 ... they are not more important than the variables, constants, operators, etc. 14:34:44 reb`, supposing one's editor supports italicizing, do you think comments should be italicized? 14:35:05 francogrex [franco@grex.cyberspace.org] has joined #lisp 14:35:05 -!- mcsontos [~mcsontos@nat/redhat/x-rhxaxkwvntrzetto] has quit [Quit: Leaving] 14:35:21 The human factors book people devote a bunch of pages to typesetting comments. 14:35:57 err, I don't know if I understand what you just said. 14:36:10 The book I recommended ... 14:36:20 hi, I couldn't access pastebin from some reason, but here it is a simple code: (loop for i in data sum (car i) into var1 sum (cadr i) into var2) how can oen do that, two sums in a loop? 14:36:22 oooh 14:36:50 The book is mostly examples of C code typeset in different ways. 14:36:58 Be right back. 14:37:02 -!- Qworkescence [~quad@unaffiliated/quadrescence] has quit [Quit: Leaving] 14:37:25 Jasko [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has joined #lisp 14:37:26 Qworkescence [~quad@unaffiliated/quadrescence] has joined #lisp 14:37:43 Okay. 14:37:51 reb`, Take a screenshot of your code. :) 14:38:17 They try typesetting comments in italics, then inside light gray boxes, then in a different font, etc. Basically, they do a bunch of experiments are say why they like some choices better than others. 14:38:29 s/are/and 14:38:33 -!- Triplefault [~Mouse@adsl-72-145-215-164.asm.bellsouth.net] has quit [Ping timeout: 240 seconds] 14:38:41 anyone? 14:39:15 francogrex: not sure what your goal is 14:39:16 Qworkescence: I have no easy place to post the image. 14:39:20 francogrex: add ... finally return (list var1 var2)) or similar. 14:39:26 reb`: imgur.com is easy 14:39:41 -!- cfy [~cfy@unaffiliated/chenfengyuan] has quit [Ping timeout: 240 seconds] 14:39:54 muhdick [~qle@74-92-196-145-Atlanta.hfc.comcastbusiness.net] has joined #lisp 14:39:57 -!- Jasko3 [~tjasko@209.74.44.225] has quit [Ping timeout: 258 seconds] 14:40:41 -!- varjag [~eugene@122.62-97-226.bkkb.no] has quit [Quit: Leaving] 14:41:01 pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has joined #lisp 14:41:52 -!- dnolen [~davidnole@184.152.69.75] has quit [Quit: dnolen] 14:42:12 no but the fact that I am doing sum (car i) sum (cadr i)... is not accpeted, it is not accepting two sum keys in the same loop 14:43:16 francogrex: works for me. what problem do you have? 14:43:18 sabalaba [~sabalaba@c-24-147-92-217.hsd1.vt.comcast.net] has joined #lisp 14:43:28 -!- sharps [~hazel@121-72-240-85.cable.telstraclear.net] has quit [Quit: Leaving.] 14:43:54 hmm... strange 14:45:05 francogrex, sum (complex (car i) (cadr i)) into s finally return (list (realpart s) (imagpart s)) 14:45:06 :) 14:45:10 francogrex: "sum (car i) into sum-var-1 sum (cadr i) into sum-var-2 finally (return (list sum-var-1 sum-var-2))) 14:45:57 I know it should work (syntactically correct) as you have pointed out, then it is something specific to my data... I will investigate 14:46:06 thanks 14:46:25 francogrex, You're not even going to try my solution??? 14:46:58 francogrex: do you get a compile or runtime error? 14:47:17 I prefer Qworkescence's. 14:47:21 :) 14:49:21 Qworkescence: Here is an example ... http://i.imgur.com/Gu0UW.png 14:49:47 -!- nefo [~nefo@unaffiliated/nefo] has quit [Remote host closed the connection] 14:49:48 runtime 14:49:52 Looks good/ 14:49:55 .* 14:50:03 francogrex: what's the complaint? 14:50:10 tmh [639729ef@pdpc/supporter/sustaining/tmh] has joined #lisp 14:50:20 Greetings lispers. 14:50:49 Qworkescence: No, sorry it's not very appealing 14:51:18 I got pkhuong's approval, that's all I really wanted. 14:51:22 francogrex: when runtime, then the data is bad ... try (assert (numberp (car i))) or something like that 14:51:25 nikodemus: I belive I messed up with my data and not the code itself 14:51:47 reb`: you're not using slime? 14:51:48 flip214: yes, indeed the data isn't what I think it is 14:51:49 Hi tmh 14:52:03 Hey LiamH. 14:52:54 jdz: Why do you say that? For the screenshot I just loaded up some code in Emacs. 14:52:57 -!- flip214 [~marek@unaffiliated/flip214] has quit [Remote host closed the connection] 14:53:57 reb`: yeah, your read time conditionals are not highlighted 14:54:46 You're right ... with Slime they would be. 14:55:34 tmh: Did you notice the discussion on regression/unit testing on c.l.l? lisp-unit got some attention there. 14:55:56 anyway, i'm using a slightly tweaked zenburn theme, and have no complaints 14:56:22 LiamH: I haven't looked at c.l.l in months. The SNR was too low. Anything I should worry about? 14:57:03 -!- neoesque [~neoesque@210.59.147.226] has quit [Quit: Bye!] 14:58:47 tmh: No worries, just some discussion of the various testing suites (or just writing your own). Some talk of lisp-unit, one person saying he uses the "classic" version because it's in one file. I was going to post something saying that our additions add floating-point tests, but then I just figured I'd leave well enough alone. 14:59:26 -!- slyrus_ [~chatzilla@adsl-99-39-232-239.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 246 seconds] 14:59:57 tmh: My trick to getting through c.l.l is to skip any thread that has >50 posts, because those are generally uninteresting to me. Also any threads that certain people have posted to. 15:00:14 loke_ [~elias@bb219-75-23-203.singnet.com.sg] has joined #lisp 15:00:16 -!- loke [~elias@bb220-255-86-21.singnet.com.sg] has quit [Read error: Connection reset by peer] 15:00:51 filtering is pretty important. 15:01:08 cesarbp [~chatzilla@189.139.219.67] has joined #lisp 15:01:30 -!- loke_ [~elias@bb219-75-23-203.singnet.com.sg] has quit [Client Quit] 15:01:30 LiamH: I'm intrigued by using the "classic" version because it is one file. I suspected that this would be important to some people and have been trying to come up with some ideas for supporting this. 15:02:20 tmh: I suppose we could put everything in one file, but really with quicklisp on the scene, does it really matter? 15:02:32 LiamH: Some kind of seamless/transparent separation between "core" lisp-unit and extensions. 15:03:26 LiamH: I've also run into a couple fundamental issues with how the "core" lisp unit data is organized. If I can find the time, I've got some ideas I need to hash out. There will be no change to the interface, but significant internal change. 15:04:11 tmh: sounds good; I don't think I've really looked at the core definitions, certainly not in a long time. 15:07:29 -!- Sgeo [~Sgeo@ool-18bf618a.dyn.optonline.net] has quit [Read error: Connection reset by peer] 15:07:30 LiamH: The changes will support better reporting, more consistent handling of return values, specifically when multiple values are returned. The ASSERT-EXPANDS test is completed hosed if the macro contains any GENSYMS. 15:08:45 jorgeu [~jorgeu@190.74.50.207] has joined #lisp 15:08:49 sonnym1 [~sonny@singlebrookvpn.lightlink.com] has joined #lisp 15:09:00 LiamH: My biggest problem with lisp-unit at the moment is the reporting. I have a couple libraries with ~1000 tests and having to scroll through the output to find the errors is aggravating. 15:09:05 -!- cymew [~davour@dhcp-221-35.pdc.kth.se] has quit [Ping timeout: 258 seconds] 15:10:17 tmh: I agree the reporting could be better. I think it also would be nice to easily run individual tests within a group. That would help find which specific form is causing the problem. 15:11:04 hi, I'm new to lisp. Still trying to understand some things. Were can I find practical problems to solve with lisp? 15:11:28 currently i'm trying with graph algorithms 15:11:31 LiamH: Definitely, that is one of the motivations for changing the internal structure. The problem I ran into is how to handle a bunch of asserts that are in a LET form, for example. 15:11:36 jorgeu: In your daily life. 15:12:09 Zhivago: well, let's say "less complicated programming excercises" 15:12:09 -!- pnq [~nick@172.129.52.27] has quit [Ping timeout: 258 seconds] 15:12:14 -!- homie [~levgue@xdsl-78-35-161-154.netcologne.de] has quit [Remote host closed the connection] 15:12:14 tmh: Ah, good point, I hadn't thought of that. 15:12:17 pnkfelix [~Adium@c-68-82-87-23.hsd1.pa.comcast.net] has joined #lisp 15:12:27 jorge: try automating something that is currently a manual process for you. :) 15:12:29 -!- Ragnaroek [~chatzilla@webuds163-57.rz.uni-saarland.de] has quit [Ping timeout: 252 seconds] 15:12:34 -!- add^_ [~add^_^@h50n1c1o838.bredband.skanova.com] has quit [Quit: add^_] 15:12:37 jorgeu: http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html 15:12:40 -!- francogrex [franco@grex.cyberspace.org] has quit [Quit: ERC Version 5.2 (IRC client for Emacs)] 15:13:16 homie [~levgue@xdsl-78-35-161-154.netcologne.de] has joined #lisp 15:13:32 Zhivago: very very good. Thanks 15:14:26 LiamH: I think the magic is going to have to occur in the DEFINE-TEST macro. A big priority, though, is that the interface should not change. It should be doable. 15:14:36 -!- beach [~user@116.118.8.188] has quit [Remote host closed the connection] 15:14:56 beach [~user@116.118.8.188] has joined #lisp 15:15:04 tmh: OK, I'm looking forward to that. 15:15:05 -!- homie [~levgue@xdsl-78-35-161-154.netcologne.de] has quit [Client Quit] 15:18:08 homie [~levgue@xdsl-78-35-161-154.netcologne.de] has joined #lisp 15:19:38 Davidbrcz [~david@ANantes-151-1-191-189.w2-8.abo.wanadoo.fr] has joined #lisp 15:21:58 paste.lisp.org is refusing my connection. 15:22:12 -!- homie [~levgue@xdsl-78-35-161-154.netcologne.de] has quit [Client Quit] 15:25:02 steevy [~steevy@95-89-223-125-dynip.superkabel.de] has joined #lisp 15:25:36 -!- DavidNcl [~DavidNcl@host86-174-126-248.range86-174.btcentralplus.com] has quit [Quit: http://irc2go.com/] 15:25:56 homie [~levgue@xdsl-78-35-161-154.netcologne.de] has joined #lisp 15:26:28 loke [~elias@bb219-75-23-203.singnet.com.sg] has joined #lisp 15:27:20 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: Lost terminal] 15:28:13 felideon [~felideon@65.23.61.98.nw.nuvox.net] has joined #lisp 15:29:54 rpr [maln@93-139-124-60.adsl.net.t-com.hr] has joined #lisp 15:33:41 -!- hsrt [maln@93-138-47-209.adsl.net.t-com.hr] has quit [Ping timeout: 253 seconds] 15:35:25 -!- sellout [~Adium@173-162-137-153-NewEngland.hfc.comcastbusiness.net] has quit [Quit: Leaving.] 15:35:40 realitygrill_ [~realitygr@adsl-76-226-103-171.dsl.sfldmi.sbcglobal.net] has joined #lisp 15:35:44 attila_lendvai [~attila_le@catv-80-98-24-21.catv.broadband.hu] has joined #lisp 15:35:44 -!- attila_lendvai [~attila_le@catv-80-98-24-21.catv.broadband.hu] has quit [Changing host] 15:35:44 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 15:35:50 Are there any CL libraries to communicate with Google services? (like, for example, google docs) 15:38:00 -!- realitygrill [~realitygr@adsl-76-226-133-103.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 240 seconds] 15:38:01 -!- realitygrill_ is now known as realitygrill 15:38:25 -!- bjoern1 [~bjoern@2.208.8.109] has quit [Quit: Leaving.] 15:39:19 Spion_ [~spion@unaffiliated/spion] has joined #lisp 15:41:12 loke: I wrote something to send authenticated requests to google services, but it doesn't have any particular smarts about processing the responses. 15:41:32 Google services are afaik mainly AtomPub 15:41:33 https://github.com/xach/grout 15:41:48 -!- Spion [~spion@unaffiliated/spion] has quit [Ping timeout: 260 seconds] 15:42:20 loke: http://www.cl-user.net/asp/weZe/sdataQ0W1$qjDQQcwDQ3rNR8X8yBX8yBXnMq=/sdataQu3F$sSHnB== found this. Looks dead 15:44:17 -!- Athas [~athas@shop3.diku.dk] has quit [Remote host closed the connection] 15:45:08 amb007 [~a_bakic@145.29.195-77.rev.gaoland.net] has joined #lisp 15:47:44 -!- Joreji [~thomas@78-230.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 246 seconds] 15:48:40 morphling [~stefan@gssn-5f754bf5.pool.mediaWays.net] has joined #lisp 15:49:45 tempire [~tempire@pool-72-91-241-135.tampfl.fios.verizon.net] has joined #lisp 15:49:53 -!- jdz [~jdz@193.206.22.97] has quit [Ping timeout: 252 seconds] 15:50:04 madalu [~user@unaffiliated/madalu] has joined #lisp 15:50:31 ChibaPet [~mason@74.203.221.34] has joined #lisp 15:50:56 BrandLeeJones [~BrandLeeJ@chello062178064156.22.11.vie.surfer.at] has joined #lisp 15:51:17 _6502_ [58959a57@gateway/web/freenode/ip.88.149.154.87] has joined #lisp 15:51:31 how long has cl-user been running on IIS? 15:51:38 that url is heinous. 15:52:24 -!- markskil1eck [~mark@host217-43-219-11.range217-43.btcentralplus.com] has quit [Read error: Connection reset by peer] 15:52:33 Xach: OK, thanks 15:52:43 markskilbeck [~mark@host217-43-219-11.range217-43.btcentralplus.com] has joined #lisp 15:52:43 -!- markskilbeck [~mark@host217-43-219-11.range217-43.btcentralplus.com] has quit [Changing host] 15:52:43 markskilbeck [~mark@unaffiliated/markskilbeck] has joined #lisp 15:52:43 Fade: since never. 15:52:46 Xach: I just awanted to know, so that I don't duplicate someone elses effort 15:52:58 <_6502_> Why basing lisp code representation on list instead of on vectors? 15:53:11 Fade: it's marc battyani's custom encode-state-in-the-url rich web system 15:53:20 <_6502_> excluding historical reasons, i mean 15:53:20 cl-user seems to be running on apache. Sad. I'd have hoped for hunchentoot 15:53:23 cl-user runs on Marc Battyani's homegrown Ajax framework that actually predates the term "Ajax" 15:53:53 -!- pnkfelix [~Adium@c-68-82-87-23.hsd1.pa.comcast.net] has quit [Quit: Leaving.] 15:54:03 apparently human-readable URLs weren't a priority 15:54:04 i just saw the /asp/ part and the hash at the end. 15:54:06 _6502_: Historical reasons is probably the real reason, although there isn't really anything wrong with using lists 15:54:08 assumptions assumptions 15:54:29 ASSofUandME ;-) 15:54:30 cl-user almost certainly runs with mod_lisp behind apache talking to a lisp process 15:54:51 _6502_: I think a web search for that question would serve you better. 15:54:51 also, that hideous hash is, I believe, a base64-encoded arglist 15:55:02 Krystof: any particular reason they do it like that? 15:55:25 they do what like what? 15:55:36 Krystof: apache as frontend 15:55:57 (I'm asking as I can't really remember having had any pleasurable experiences with apache :-) ) 15:56:10 not having to deal with the insane amount of crud that's out there on the big bad Internet? Serving static stuff from something that's fairly good at serving static stuff? 15:56:11 loke: historical reasons! 15:56:27 antifuchs: hysterical reasons 15:56:29 loke: marc battyani's web framework predates the term ajax, as cmm notes (: 15:56:37 <_6502_> tmh: i tried... apparently my google-fu is less powerful I would like... 15:56:38 it also predates most useful cl web servers 15:56:44 _6502_: with a singly-linked list, it's pretty easy do a common operation of "look at the first item, then use that item's identity to process the remainder". 15:56:51 (or let's say most useful versions of cl web servers) 15:57:17 _6502_: there are other data structures that could do that, but a singly-linked list is pretty simple. 15:57:38 hi all 15:58:10 also, going through the search interface I get this nice search-engine / user friendly URL: http://www.cl-user.net/asp/libs/google-api-client 15:58:37 <_6502_> Xach: an array is also simple... and is probably closer to what a modern CPU would like to handle. 15:58:46 _6502_: When you say lisp code representation, do you mean the representation that you read or the internal representation? 15:59:06 There is also nothing that actually forces the source code to ever be stored in a linked-list form. At the very least, the list is no longer there once the file is compiled, and at least in theory, the compiler could parse the code without ever passing through a list structure (although it'd be pretty pointless to do so) 15:59:19 _6502_: lists can be grown easily without copying their contents around. arrays don't come with that luxury 15:59:26 antifuchs: marc battyani or marbo baringer? 15:59:36 felideon: marc battyani, IIRC 15:59:44 marco is the guy who did ucw (-: 15:59:46 s/marbo/marco 15:59:51 sharing structure with arrays is trickier 16:00:10 antifuchs: ah gotcha, havent seen battyani's framework then 16:00:17 *felideon* was thinking ucw 16:00:31 marc's framework is not public. 16:00:38 I don't know if battyani ever released his code 16:00:47 I recall badgering him about releasing it back then 16:00:55 <_6502_> tmh: i mean code like what a lisp interpreter evaluates 16:01:16 (but nothing came of it, I believe) 16:01:20 antgreen [~user@CPE00222d6c4710-CM00222d6c470d.cpe.net.cable.rogers.com] has joined #lisp 16:01:23 *Xach* will re-badger 16:01:26 it worked for Linj! 16:01:32 Xach: hah 16:01:33 marco appears to have forsaken hackerdom for photography. 16:01:33 _6502_: what is this interpreter of which you speak? 16:01:43 yeah, but now I have lost most of my interest in it (-: 16:01:45 _6502_: there's nothing specifying that evaluators must use the surface representation. 16:02:08 Fade: heh 16:02:13 Davidbrcz_ [~david@ANantes-151-1-199-214.w2-8.abo.wanadoo.fr] has joined #lisp 16:02:26 -!- orivej_ [~orivej@rk4015.ws.pu.ru] has quit [Read error: Operation timed out] 16:02:36 heck, as splittist points out, there's nothing specifying that there must be an interpreter. 16:02:44 -!- mephistophocles [~mephistop@ec2-50-17-225-30.compute-1.amazonaws.com] has quit [Quit: ZNC - http://znc.sourceforge.net] 16:03:09 <_6502_> ok... let's restart... the original lisp design was about const cells; and that happened to be a nice fit for the first implementation (car/cdr are machine opcode mnemonics) 16:03:19 and now it doesn't matter anymore. 16:03:20 -!- Davidbrcz [~david@ANantes-151-1-191-189.w2-8.abo.wanadoo.fr] has quit [Ping timeout: 276 seconds] 16:03:33 <_6502_> today computers would probably like more a linear array of words instead 16:03:40 Davsebamse [~davse@gate.ipvision.dk] has joined #lisp 16:03:53 _6502_: machines have _always_ preferred linear arrays 16:04:04 nikodemus: well, drum storage... 16:04:21 _6502_: "The Dream Machine" ascribes a nice other property to McCarthy's thinking, which is that their structure can be altered without computational overhead. 16:04:22 _6502_: today, it doesn't matter because if you care about this, you don't use a sexp-walking interpreter. 16:04:45 that is still true today (but doesn't explain why we use nested lists for code, granted) 16:05:52 machines don't like having source code as unstructured byte arrays either. Yet, that's how C works, with 0-terminated strings. 16:05:52 pairs are minimal units for building complex branching structures? 16:06:04 even if you made the primary abstraction vectors, you'd still process code using nested trees -- and trees with many links but few kids per node are easier to process 16:06:21 splittist: and who does that nowadays? We have structs and classes. 16:06:35 -!- DrForr [~drforr@pool-98-112-230-87.lsanca.fios.verizon.net] has quit [Ping timeout: 258 seconds] 16:07:25 <_6502_> pkhuong: actually machine code is exactly a linear array of bytes... 16:07:45 -!- _6502_ [58959a57@gateway/web/freenode/ip.88.149.154.87] has quit [Quit: Page closed] 16:08:03 pkhuoung: language structures. Are the funky struct/class elements of a typical non-lisp parser/compiler any easier to work with? 16:08:44 splittist: yes. The first thing I do in a compiler is to convert sexp-syntax to structures. 16:08:57 second if there are macros. 16:09:41 (: 16:10:25 "if you like machine code so much why don't you write programs in it?" (-; 16:10:57 antifuchs: the first thing x86 machines do is to decode machine code into a structured internal representation 16:10:59 My computer just doesn't understand me. I think we need to go to therapy. 16:11:31 -!- spiaggia [~user@113.161.72.89] has quit [Read error: Operation timed out] 16:11:34 tmh: Run emacs psychotherapist :) 16:11:35 from trace caches to storing instruction delimitation info in I$ ECC bits. 16:12:49 pkhuong: heh, so if the CPU compiles, we could lie to /that/ compiler, too (-: 16:13:22 antifuchs: it's actually more of a threaded interpreter 16:13:33 -!- TDT [~user@74.115.254.25] has quit [Remote host closed the connection] 16:13:38 p_l|backup: some persistent IR remains. 16:14:15 spiaggia [~user@113.161.72.89] has joined #lisp 16:14:24 -!- cmm [~cmm@bzq-79-181-204-121.red.bezeqint.net] has quit [Ping timeout: 260 seconds] 16:14:25 -!- xxxyyy [~xyxu@58.41.162.230] has quit [Quit: Leaving.] 16:14:52 cmm [~cmm@bzq-79-181-204-121.red.bezeqint.net] has joined #lisp 16:15:25 pkhuong: yeah, but last time I checked, the capabilities for analysis of code other than register access paralellization and scheduling was rather limited 16:15:26 pnq [~nick@AC812709.ipt.aol.com] has joined #lisp 16:15:54 decoding is very nicely done. 16:19:48 anfab [~chatzilla@122.164.162.217] has joined #lisp 16:21:17 pdlogan [~patrick@174-25-37-137.ptld.qwest.net] has joined #lisp 16:22:12 pyrony [~epic@173.150.93.58] has joined #lisp 16:22:28 _6502_ [58959a57@gateway/web/freenode/ip.88.149.154.87] has joined #lisp 16:23:33 -!- workthrick [~mathrick@emp.nat.sdu.dk] has quit [Remote host closed the connection] 16:23:34 sbryant_work [~user@ghanima.slavasaur.com] has joined #lisp 16:24:02 hankhero [~Adium@c213-89-201-154.bredband.comhem.se] has joined #lisp 16:24:27 I posted to the sbcl and asdf mailing list but I was wondering how people generate coverage reports for a specific system. 16:25:20 I'm trying to use sb-cover to generate reports but I would like tracing data only compiled in the specific system I would like to cover. but that is proving to be annoying to do. 16:25:35 _6502_: there's a certain amount of difference between the C source and machine code are encoded. In the end, it doesn't matter, because the source is transformed into something that's vastly different in structure. That holds for both C and most CL implementations. 16:26:04 <_6502_> yet C has native arrays (and c strings are arrays of chars), C++ has std::vector in addition, and std::string is also most often an array of chars; if cons cells are a (the) really good solution why everyone else is not using them? 16:26:24 _6502_: I'm not saying they're a good solution; i'm saying it doesn't matter. 16:26:58 -!- rvirding [~chatzilla@c-3c90e255.56-4-64736c14.cust.bredbandsbolaget.se] has left #lisp 16:26:59 _6502_: lisp has many more data types that aren't linked lists 16:27:17 <_6502_> I was just wondering if cons cells are indeed just an historical accident instead of "the right thing" 16:27:20 _6502_: cl has arrays, hash tables, and two distinct user-definable structured types. 16:27:23 it depends on the metric 16:27:32 -!- jorgeu [~jorgeu@190.74.50.207] has quit [Quit: jorgeu] 16:27:39 if you want a good internal representation for execution, arguably, no, cons cells aren't the way to go. 16:27:41 sbryant_work: see WITH-COMPILATION-UNIT :POLICY. it doesn't help with the asdf's traverse-first thing, but it still helps some 16:27:47 _6502_: "linked list" is a very common datastructure even now... it just happens that in C, you have to code it yourself 16:27:49 <_6502_> atifuchs: yet car/cdr at its core 16:28:02 _6502_: according to who? 16:28:05 nikodemus: I will look into that. 16:28:05 _6502_: um. arrays and other data types certainly aren't implemented using car/cdr. 16:28:42 _6502_: And we are back to the point of the discussion where I asked you what you were really interested in, internal or external representation. 16:28:44 But that's quite a different question from whether cons cells are a good way to structure a compiler's IR or the free-form ASTs that macros manipulate. 16:28:49 _6502_: car/cdr names *are* an accident of history. Built-in support for linked list based on generalized pairs was by design, back in time where datastructures were the new thing 16:28:52 nikodemus: my current idea is to create a new operation, cover-op, and then have that just iterate and do the asdf load op on the systems deps. 16:29:30 sbryant_work: oh, excellent. sb-cover should arguably come with that out of the box, really 16:29:33 then do the declaim to shove in the tracing data then load up the system, but somethings strange is going on when trying to define custom asdf operations. 16:29:48 so be sure to send it to sbcl-devel when done :) 16:29:51 <_6502_> for long time i've used what would be lisp structs for AST nodes... for example "IF" was a node with three fields: test expression, then part and else part 16:29:55 nikodemus: will do 16:30:23 nikodemus: but getting sbcl to force a recompile because that declaim is weird. 16:30:23 -!- amb007 [~a_bakic@145.29.195-77.rev.gaoland.net] has quit [Read error: Connection reset by peer] 16:30:31 _6502_: the same way, new datastructures were added over time. Complex arrays are supported in CL, compared to linear array of machine words being assembler's (and thus C) main abstraction of everything, known as "memory" 16:30:34 <_6502_> using just arrays where the first symbol defines the node type is ok 16:30:42 because it isn't your standard optimization sbcl looks like it doesn't even know about it 16:30:50 and turning it off doesn't seem to do a damn thing either. 16:30:58 maybe the manual is out of date or I'm missing something. 16:31:00 also, stupid, because you gratuitously destroy structure. 16:31:07 sbryant_work: i don't follow what you're saying now 16:31:35 morphism [~Nevermind@113.190.192.167] has joined #lisp 16:32:08 amb007 [~a_bakic@145.29.195-77.rev.gaoland.net] has joined #lisp 16:32:18 6502: See defstruct's storage option. 16:32:21 sbryant_work: normally when i use sb-cover, i have everything already loaded up. then i proclaim the magic proclamation, touch the package.lisp or similar, and reload my system 16:32:47 it's not exactly pretty, but i don't use it very often so i haven't bothered to streamline my workflow 16:32:48 nikodemus: in order to get sbcl to generate tracing data, you have to (declaim (optimization sb-cover:store-coverage-data)) to turn tracing on. 16:32:53 yes 16:33:00 so everything loaded after that will be compiled with tracing data 16:33:17 yes 16:33:30 I have yet to get (declaim (optimization sb-cover:store-coverage-data 0)) to actually turn off compiling with tracing data. 16:33:47 <_6502_> original lisp was minimal... probably cons cells are good for that approach 16:33:49 note: (declaim (optimize ...)) -- not optimization 16:34:08 I kind of gathered when the repl was complaining 16:34:14 _6502_: I'd argue they're also good for macros. 16:34:27 also (declaim (optimize (sb-cover:store-coverage-data 0))) -- note the inner parens 16:34:27 but I guess I can't get tracing data out of my system after it's their. 16:34:30 there* 16:34:45 oh 16:34:47 how to find the key that a value is pairing with ? 16:34:56 <_6502_> pkhuong: only when you assume structure is uniform. when it's not (and it's always not) then things are more complex anyway 16:35:08 _6502_: more like adding cons cells made it above and ahead of practically everything back then 16:35:10 add^_ [~add^_^@h215n1c1o838.bredband.skanova.com] has joined #lisp 16:35:13 sbryant_work: doesn't reset-coverage work? 16:35:13 nikodemus: so you usually load the system and then after everything else is loaded you then reload the system? 16:35:17 (it was time of static storage allocation etc.) 16:35:27 -!- splittist [~splittist@36-130.62-81.cust.bluewin.ch] has quit [Ping timeout: 248 seconds] 16:35:35 <_6502_> pkhuong: lisp syntax is small but not absent. writing a code walker for lisp is not trivial... 16:35:36 -!- Krystof [~csr21@158.223.161.59] has quit [Ping timeout: 240 seconds] 16:35:38 _6502_: eh? No, simply because you'd need tight interactions between the parser and macros otherwise. 16:35:44 macros aren't code walkers. 16:35:48 nikodemus: hrrm I haven't even tried that. 16:35:56 -!- BrandLeeJones [~BrandLeeJ@chello062178064156.22.11.vie.surfer.at] has quit [Quit: BrandLeeJones] 16:36:15 nikodemus: I would appreciate if you could provide an example of what you do, if possible. 16:36:16 They only have to parse their own arguments and treat the rest as atomic black boxes. 16:36:29 because if I can just turn that into an asdf operation I will. 16:36:35 <_6502_> pkhuong: just imagine implementing symbol-macrolet as a macro... how hard is it? 16:36:35 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Read error: Connection reset by peer] 16:36:44 _6502_: but it's not a macro. 16:36:48 sbryant_work: hm, actually, all sb-cover reports i have around are for alexandria, which doesn't have any deps 16:36:58 ;_; 16:37:02 which makes things easy 16:37:03 -!- Vutral [ss@vutral.net] has quit [Ping timeout: 248 seconds] 16:37:05 that's the thing that's causing me problems 16:37:07 let me see 16:37:47 sbryant_work: do you need a good workflow, or just kludgy recipe you can follow for now? 16:37:49 <_6502_> pkhuong: I'm just saying that having a uniform representation isn't a panacea because you've still non-uniform meaning of what is represented 16:37:57 nikodemus: either works I guess. 16:38:13 -!- anfab [~chatzilla@122.164.162.217] has quit [Quit: ChatZilla 0.9.86.1 [Firefox 3.6.17/20110422054454]] 16:38:16 _6502_: It's all right, you don't have to read what other people write. 16:38:33 I think I've kind of groked how to put systems together with asdf which provides a nice logical separation of things 16:39:47 6502: The important part is a sufficiently regular grammar. 16:40:14 1. get a fresh lisp session 2. (require :your-system) 3. (require :sb-cover) 4. in the REPL (declaim (optimize sb-cover:store-coverage-data)) 5. locate the "root" source file of your system -- something that everything else depends on, eg. package.lisp and touch it 6. (require :your-system) 16:40:43 I have clauses and tones and timing patterns and all sorts of weird stuff in my spoken communication, but man, it looks nothing like that when it's stored inside my head in little chemical structures. 16:41:06 Chiba: Who cares? 16:41:20 Chiba: Macros are operating at the lexical level. 16:41:22 oh 0. nuke old fasls which have coverage instrumentation from your previous experiments: rm -rf ~/.cache/common-lisp 16:41:34 it's not that uniformity is good, but rather that, if you want each sort of special form to have its own structure, each macro will also have to inform the parser of its shape. Might as well go with lists for the minimal processing that happens during macro expansion, and convert the fixed kernel language to a better structured IR. 16:41:49 That's kind of a rude comment. 6502 cares, since he's caught up on the external representation and not considering that this is for humans. 16:42:07 <_6502_> hmm 16:42:34 <_6502_> chiba: indeed only now I realize your points... lisp code is for humans 16:42:39 Chiba: It isn't really for humans -- it's for lexical analyzers. 16:42:56 nikodemus: okay, let's give this ago. 16:42:58 No, it's for humans. Anyway, reloading some low level arrays of bytes - be back in a moment. 16:43:06 -!- ChibaPet [~mason@74.203.221.34] has quit [Quit: Leaving.] 16:43:14 Humans can do that job, but it isn't something they're particularly good at, which is why many people complain about lisp syntax. 16:43:26 <_6502_> zhivago: but most macro are written manually, so it's my brain that must break in code structure 16:43:28 the surface syntax is for humans to read; cons cells definitely aren't. 16:43:43 eudoxia [~eudoxia@r190-135-100-255.dialup.adsl.anteldata.net.uy] has joined #lisp 16:44:11 -!- eudoxia [~eudoxia@r190-135-100-255.dialup.adsl.anteldata.net.uy] has left #lisp 16:44:25 jnrjnr [~jnrjnr@200.6.42.107] has joined #lisp 16:44:33 <_6502_> in my lisp toy all the part until i've built enough to get to quasiquoting is truly a pain to understand 16:45:03 <_6502_> macros without quasiquoting are hellish 16:45:10 sure. But we do have quasi quoting. 16:45:30 <_6502_> yeah... so this means we think in arrays better than in linked lists 16:45:38 Um, what? 16:45:39 <_6502_> and CPUs also 16:45:55 ? 16:45:56 I thought it meant Man did not go on the moon. 16:46:01 <_6502_> so why the cons cell? this is the bad doubt that came to my mind... 16:46:09 "I like cheese. So this means that we think in arrays better than in linked lists." 16:46:45 _6502_: now, a tidbit for you. C has no arrays. 16:47:02 <_6502_> zhivago: hehehe... c'mon... linear arrays (possibily nested) are easier to read than nested list 16:47:02 it only has syntactic sugar for pointer arithmetic 16:47:15 p_l|backup: I wouldn't do that in the presence of Zhivago. 16:47:20 <_6502_> zhivago: or you write (cons 1 (cons 2 (cons 3 (cons 4 nil))))) ? 16:47:33 _6502_: I prefer nested lists; they're not prefixed with an octothorpe. 16:47:35 p_l: All objects in C are in arrays. 16:48:03 Zhivago: sub-arrays of the great core :) 16:48:06 Vutral [ss@vutral.net] has joined #lisp 16:48:12 <_6502_> pkhuong: i've another lisp toy that uses C++ std::vectors (but of course reader syntax is still the usual lisp one) 16:48:46 p_l: No. Memory in C is essentially segmented. 16:48:50 _6502_: I can see arguments both ways. If they're immutable and allow cheap subvectors, sure. 16:48:54 p_l: There is no unified address space. 16:49:03 Of course, it's still a graph of vectors 16:49:15 whereas CL has a graph of cons cells. 16:49:23 Neither is very nice for CPUs. 16:49:32 Zhivago: I guess I should have updated my C reference book (I think it expects PDP-11 without segmentation) 16:49:47 What conses are good for is recursive deconstruction. 16:50:00 <_6502_> i'll try to run some stats on lisp code to check what is list average length... 16:50:03 Zhivago: that's why I added the subvector part. 16:50:08 nikodemus: wooo! 16:50:10 that worked 16:50:10 ChibaPet [~mason@74.203.221.34] has joined #lisp 16:50:13 p_l: Consider char a[2][3]; What is a[0][3]? 16:50:23 -!- Davidbrcz_ [~david@ANantes-151-1-199-214.w2-8.abo.wanadoo.fr] has quit [Ping timeout: 248 seconds] 16:50:47 p_l|backup: the standard says nothing about PDPs. It's however very clear that out of bound indices are completely unsupported, even just for address comparison (except for one-past-the-end). 16:52:01 _6502_: conses are vectors of length 2. Do they seem more machine and human friendly now? 16:52:01 Zhivago: hmm... I guess the ANSI C made it "undefined", right? 16:52:09 Personally, I think that you can look at C as being centered around the idea of doubly linked lists, where lisp is centered around singly linked lists. 16:52:21 p_l: Yes. It violates strict aliasing. 16:52:27 Zhivago: nice to know. 16:53:19 the first thing I've thought was a[1][0] (due to a certain old line I somehow got stuck in my brain) 16:53:23 xan_ [~xan@205.158.58.41.ptr.us.xo.net] has joined #lisp 16:53:41 -!- hankhero [~Adium@c213-89-201-154.bredband.comhem.se] has quit [Ping timeout: 264 seconds] 16:54:00 p_l: That's what it would probably corrupt while placing the C Abstract Machine into an undefined state. 16:54:11 -!- hlavaty [~user@91-65-223-81-dynip.superkabel.de] has quit [Ping timeout: 240 seconds] 16:54:31 <_6502_> pkhuong: vectors of two pointers, with lists built by chaining them... instead consider that x86 (and many other CPUs) do have indexed memory addressing built in 16:54:51 _6502_: I thought vectors were magically good for machines. 16:54:52 6502: What's the difference between doubly linked lists and singly linked lists? 16:54:55 I'm really confused now. 16:55:01 <_6502_> actually even 6502 has LDA ($28),y :-D 16:55:57 ... that's relative to X or Y? 16:56:00 _6502_: dereferenced zero-page indexed with y? 16:56:00 <_6502_> zhivago: you mean the sharing problem ? 16:56:02 ah, y 16:56:11 didn't notice the syntax 16:56:30 <_6502_> pnq: yes... there's also LDA ($28,x) but that was used less often 16:56:33 been a long time since I've read or wrote 6502 assembly 16:56:42 splittist [~splittist@30-245.62-188.cust.bluewin.ch] has joined #lisp 16:57:06 BrandLeeJones [~BrandLeeJ@e198-157.eduroam.tuwien.ac.at] has joined #lisp 16:57:38 It's only been about a year for me and I'm already back to confusing addressing modes' 16:57:51 <_6502_> x86 has even [esi + ebx*4] addressing mode (scaled indexig) 16:58:06 spiaggia` [~user@113.161.72.89] has joined #lisp 16:58:09 -!- spiaggia [~user@113.161.72.89] has quit [Ping timeout: 260 seconds] 16:58:11 6502: It all comes down to how you want to destructure things. 16:58:15 _6502_: that's actually what i wasnt sure if you were talking about or not 16:58:25 6502: Javascript is perfectly happy to use arrays for passing arguments, for example. 16:59:03 <_6502_> zhivago: exactly my point... i just started having doubts that cons cells are a good idea 16:59:14 6502: It depends on what you're doing. 16:59:28 6502: Consider &rest -- for example. 16:59:36 6502: Or apply. 17:00:16 _6502_: sure, you can go with larger structures than cons cells, even arrays, but, in the end, that won't really solve the issue that machines don't have good support for the access patterns associated with walking a graph. 17:00:17 <_6502_> zhivago: rest could be trivial (using shared sub-arrays), apply not 17:00:18 cons cells are useful because lisp code is normally recursively deconstructed. 17:00:20 addressing modes are evil 17:00:44 Lisp has essentially a topic-comment structure, a bit like Chinese. 17:01:00 The head informs the understanding of the tail. 17:01:26 workthrick [~mathrick@emp.nat.sdu.dk] has joined #lisp 17:01:34 lots of interesting arguments either way, none of them related to how machines might have better support for arrays than cons cells. And in the end, unlikely to matter at all. 17:01:46 As that becomes less relevant, it becomes less of an issue. 17:01:49 for execution on an actual cpu, that is. 17:02:06 As with many things in lisp, it is the relic of an expedient hack. 17:02:22 But it's important to understand those things before discarding them. 17:02:23 -!- alama [~alama@86.93.35.187] has quit [Quit: alama] 17:03:36 <_6502_> gotta go... thanks guys; this has been quite enlightening 17:03:39 <_6502_> as usual :-) 17:03:58 -!- _6502_ [58959a57@gateway/web/freenode/ip.88.149.154.87] has quit [Quit: Page closed] 17:05:35 alama [~alama@86.93.35.187] has joined #lisp 17:06:18 ... someone ported linux to MMIX o-O 17:06:55 -!- leo2007 [~leo@2402:f000:5:2901:225:4bff:fea9:b9e4] has quit [Ping timeout: 248 seconds] 17:07:22 we just need a hardware implementation of mmix now 17:07:51 sorry, real life interrupted 17:08:02 billitch [~billitch@62.201.142.87] has joined #lisp 17:08:28 slyrus_ [~chatzilla@adsl-69-107-82-168.dsl.pltn13.pacbell.net] has joined #lisp 17:08:43 -!- pyrony [~epic@173.150.93.58] has quit [Ping timeout: 252 seconds] 17:08:55 (implementing MMIX in hw, that is) 17:10:21 orivej [~orivej@host-116-146-66-217.spbmts.ru] has joined #lisp 17:12:39 p_l|backup: that's awesome. 17:12:59 disrupting MMS market sounds more fun at the moment 17:13:11 -!- gor[e] [~svr@gw2.masterhost.ru] has quit [Ping timeout: 240 seconds] 17:13:16 -!- prip [~foo@host33-131-dynamic.47-79-r.retail.telecomitalia.it] has quit [Read error: Operation timed out] 17:14:35 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 252 seconds] 17:16:14 -!- slyrus_ [~chatzilla@adsl-69-107-82-168.dsl.pltn13.pacbell.net] has quit [Ping timeout: 260 seconds] 17:18:15 attila_lendvai [~attila_le@catv-80-98-24-21.catv.broadband.hu] has joined #lisp 17:18:15 -!- attila_lendvai [~attila_le@catv-80-98-24-21.catv.broadband.hu] has quit [Changing host] 17:18:15 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 17:20:02 -!- e-user [~akahl@nat/nokia/x-syuqckbqkxesdciv] has quit [Quit: Leaving.] 17:20:10 -!- Odin- [~sbkhh@adsl-2-92.du.snerpa.is] has quit [Remote host closed the connection] 17:20:27 -!- astoon [~chatzilla@178-16-146-17.obit.ru] has quit [Quit: ChatZilla 0.9.85 [SeaMonkey 2.0.12/20110302200646]] 17:21:11 limetree [~simon@c-23e8e155.1226-1-64736c10.cust.bredbandsbolaget.se] has joined #lisp 17:22:27 jewel [~jewel@196-209-224-248.dynamic.isadsl.co.za] has joined #lisp 17:24:34 -!- rpr [maln@93-139-124-60.adsl.net.t-com.hr] has left #lisp 17:26:37 -!- billitch [~billitch@62.201.142.87] has quit [Ping timeout: 252 seconds] 17:26:38 -!- timjstewart [~tims@159.182.183.6] has quit [Read error: Connection reset by peer] 17:27:48 timjstewart [~tims@159.182.183.6] has joined #lisp 17:28:15 pyrony [~epic@office1.klout.com] has joined #lisp 17:29:37 kiuma_ [~kiuma@85-18-55-37.ip.fastwebnet.it] has joined #lisp 17:29:37 -!- kiuma [~kiuma@85-18-55-37.ip.fastwebnet.it] has quit [Read error: Connection reset by peer] 17:29:50 billitch [~billitch@62.201.142.87] has joined #lisp 17:31:13 dstatyvka [ejabberd@pepelaz.jabber.od.ua] has joined #lisp 17:32:34 udzinari` [~udzinari@ip-89-102-12-6.net.upcbroadband.cz] has joined #lisp 17:34:11 Bronsa [~brace@host120-178-dynamic.16-79-r.retail.telecomitalia.it] has joined #lisp 17:35:10 -!- morphism [~Nevermind@113.190.192.167] has quit [Ping timeout: 246 seconds] 17:35:46 -!- tcr [~tcr@217-162-207-164.dynamic.hispeed.ch] has quit [Quit: Leaving.] 17:36:37 morphism [~Nevermind@113.190.179.165] has joined #lisp 17:37:40 bsod1 [~osa1@188.58.162.204] has joined #lisp 17:40:47 -!- billitch [~billitch@62.201.142.87] has quit [Ping timeout: 240 seconds] 17:41:39 -!- c_arenz [~arenz@nat/ibm/x-jdeuuxuozocbcsdc] has quit [Ping timeout: 258 seconds] 17:41:52 -!- longfin [~longfin@211.187.37.46] has quit [Remote host closed the connection] 17:43:00 Athas [~athas@130.225.165.35] has joined #lisp 17:45:53 cesarbp_ [~chatzilla@189.139.219.67] has joined #lisp 17:46:18 -!- cesarbp [~chatzilla@189.139.219.67] has quit [Read error: Connection reset by peer] 17:46:19 -!- cesarbp_ is now known as cesarbp 17:46:51 eugu [~Miranda@213.141.157.147] has joined #lisp 17:47:13 -!- kami [~user@p5B20AC14.dip.t-dialin.net] has quit [Read error: Operation timed out] 17:47:13 -!- Munksgaard [~Munksgaar@1807ds2-noe.0.fullrate.dk] has quit [Read error: Operation timed out] 17:51:21 -!- pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has quit [Read error: Operation timed out] 17:52:58 pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has joined #lisp 17:53:41 katie26 [hbslkq@69.41.165.101] has joined #lisp 17:53:45 -!- katie26 [hbslkq@69.41.165.101] has quit [Client Quit] 17:55:11 -!- timjstewart [~tims@159.182.183.6] has quit [Read error: Connection reset by peer] 17:55:53 -!- BrandLeeJones [~BrandLeeJ@e198-157.eduroam.tuwien.ac.at] has quit [Quit: BrandLeeJones] 17:56:44 timjstewart [~tims@159.182.183.6] has joined #lisp 17:58:15 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 18:01:20 cymew [~davour@c83-255-37-246.bredband.comhem.se] has joined #lisp 18:04:37 -!- cesarbp [~chatzilla@189.139.219.67] has quit [Ping timeout: 240 seconds] 18:04:50 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Remote host closed the connection] 18:05:05 -!- orivej [~orivej@host-116-146-66-217.spbmts.ru] has quit [Ping timeout: 260 seconds] 18:07:20 cesarbp [~chatzilla@189.139.219.67] has joined #lisp 18:10:38 billitch [~billitch@62.201.142.87] has joined #lisp 18:11:25 -!- cesarbp [~chatzilla@189.139.219.67] has quit [Ping timeout: 240 seconds] 18:14:40 timjstewart1 [~tims@159.182.183.6] has joined #lisp 18:14:40 -!- timjstewart [~tims@159.182.183.6] has quit [Read error: Connection reset by peer] 18:14:43 -!- timjstewart1 [~tims@159.182.183.6] has left #lisp 18:15:05 rmarynch [~roman@88.135.194.233] has joined #lisp 18:15:09 -!- cmm [~cmm@bzq-79-181-204-121.red.bezeqint.net] has quit [Ping timeout: 240 seconds] 18:15:37 stis [~stis@host-90-235-42-55.mobileonline.telia.com] has joined #lisp 18:16:20 cmm [~cmm@bzq-79-181-204-121.red.bezeqint.net] has joined #lisp 18:22:29 Joreji [~thomas@78-230.eduroam.RWTH-Aachen.DE] has joined #lisp 18:23:05 -!- muhdick [~qle@74-92-196-145-Atlanta.hfc.comcastbusiness.net] has quit [Ping timeout: 276 seconds] 18:24:20 -!- xan_ [~xan@205.158.58.41.ptr.us.xo.net] has quit [Ping timeout: 263 seconds] 18:26:03 macrocat [~marmalade@99.192.111.224] has joined #lisp 18:26:18 orivej [~orivej@host-57-152-66-217.spbmts.ru] has joined #lisp 18:26:58 timjstewart [~tims@159.182.183.6] has joined #lisp 18:27:59 -!- billitch [~billitch@62.201.142.87] has quit [Ping timeout: 248 seconds] 18:28:24 Davidbrcz_ [~david@ANantes-151-1-199-214.w2-8.abo.wanadoo.fr] has joined #lisp 18:31:03 -!- Davsebamse [~davse@gate.ipvision.dk] has quit [Quit: Davsebamse] 18:31:31 -!- Hunden [~Hunden@p5B1059C1.dip.t-dialin.net] has quit [Ping timeout: 246 seconds] 18:33:10 -!- workthrick [~mathrick@emp.nat.sdu.dk] has quit [Remote host closed the connection] 18:36:49 Hunden [~Hunden@p5B107951.dip.t-dialin.net] has joined #lisp 18:38:14 sshirokov [~sshirokov@ghanima.slavasaur.com] has joined #lisp 18:41:02 -!- morphism [~Nevermind@113.190.179.165] has quit [Read error: Connection reset by peer] 18:41:14 -!- steevy [~steevy@95-89-223-125-dynip.superkabel.de] has left #lisp 18:46:31 xan_ [~xan@adsl-76-254-70-213.dsl.pltn13.sbcglobal.net] has joined #lisp 18:53:11 muhdick [~qle@74-92-196-145-Atlanta.hfc.comcastbusiness.net] has joined #lisp 18:55:51 superjudge [~superjudg@c83-250-110-188.bredband.comhem.se] has joined #lisp 18:58:34 carlocci [~nes@93.37.211.245] has joined #lisp 18:58:34 Odin- [~sbkhh@adsl-2-92.du.snerpa.is] has joined #lisp 19:02:51 BrandLeeJones [~BrandLeeJ@84.114.246.246] has joined #lisp 19:02:55 blist 19:03:14 sorry (again) wrong window 19:03:51 -!- iori [~iori@110-133-45-54.rev.home.ne.jp] has quit [Remote host closed the connection] 19:05:39 ikki [~ikki@201.155.92.12] has joined #lisp 19:05:49 -!- Bronsa [~brace@host120-178-dynamic.16-79-r.retail.telecomitalia.it] has quit [Quit: leaving] 19:06:12 slyrus_ [~chatzilla@173-228-44-88.dsl.static.sonic.net] has joined #lisp 19:09:34 snearch [~snearch@f053002142.adsl.alicedsl.de] has joined #lisp 19:09:55 Hun` [~hun@95-90-10-28-dynip.superkabel.de] has joined #lisp 19:12:02 -!- juniorroy [~juniorroy@212.36.228.103] has quit [Ping timeout: 276 seconds] 19:14:31 I have a program that I need to go faster, but I'm unsure how to go about optimizing it. I've basically translated a C# version of the same program, but (using sbcl) it's much slower. 19:14:48 are there some good documents that you could recommend, perhaps? 19:16:52 it's an implementation of the "universal machine" from icfp '06 (basically an emulator), but the mainloop is not running fast enough. 19:17:59 a) profile b) think c) optimize 19:18:33 limetree: You need to use the SBCL profile to identify the problem. Set the proper declarations so that the profiler will provide the necessary information. 19:18:59 i don't follow the second sentence 19:19:05 limetree: the trick is to use something smart like ropes or finger trees. 19:19:17 that's 07 19:19:17 -!- process [nick@subtlepath.org] has quit [Quit: leaving] 19:19:22 oh, you meant debug declarations, ok 19:19:23 06 is the one with platters 19:19:27 limetree: Initially, you'll find that algorithmic changes will provide the most improvement. 19:19:32 oh, the fun VM :) 19:19:35 *stassats`* assumed type declarations for some reason 19:19:36 limetree: is this a learning exercise? 19:20:22 jsnell: yep. actually, I've always wanted to make an emulator for some old video game system, but I thought I'd practice with something simpler, like this 19:20:34 stassats`: Yes, debug declarations. As for type declarations, those should only be employed once the proper algorithm has been implemented. 19:20:45 theratking862 [~theratkin@pool-173-48-130-251.bstnma.fios.verizon.net] has joined #lisp 19:21:03 ok. then links to reasonably fast implementations wouldn't be of much use :-) 19:21:15 tmh: I suppose there might be smarter ways to do this, but I'm using the same strategy as in my java and C# implementations 19:21:16 eudoxia [~eudoxia@r190-135-101-26.dialup.adsl.anteldata.net.uy] has joined #lisp 19:21:27 tmh: and it's probably 4 times as slow 19:22:10 jsnell: well, I could learn from those I guess :) 19:22:13 limetree: I'm not familiar with your example, but does not generally work well to do a direct translation of java, C#, etc. to lisp. 19:22:26 I meant *in general* 19:22:29 -!- eudoxia [~eudoxia@r190-135-101-26.dialup.adsl.anteldata.net.uy] has left #lisp 19:23:47 http://www.foldr.org/~michaelw/log/programming/lisp/icfp-contest-2006-vm is one 19:24:52 I have my instructions implemented in seperate functions. I was wondering if that might make it slower. 19:25:06 if they're not inlined 19:25:19 that would probably kill you 19:25:38 at least on a 32 bit platform 19:25:44 Interesting use of loop. 19:26:01 I think some people wound up compiling to CL (and then calling COMPILE on the sexps). 19:26:18 i'm on a 64-bit platform. 19:26:44 -!- BrandLeeJones [~BrandLeeJ@84.114.246.246] has quit [Quit: BrandLeeJones] 19:27:06 it would still hurt, just a bit less. 19:27:08 I remember trying that strategy out for just a moment, and concluding that it wasn't really feasible with sbcl's compile speeds.. 19:27:09 pkhuong: cool, I was actually thinking if that might be possible 19:27:39 -!- mishoo [~mishoo@79.112.237.124] has quit [Quit: be back later] 19:27:59 am0c [~am0c@58.76.183.72] has joined #lisp 19:28:25 http://paste.org/pastebin/view/33142 19:28:31 this is what i got so far 19:28:55 i'm pretty inexperienced so it's probably not so good as far as CL goes 19:29:37 indentation is off 19:29:55 yeah I saw that. not in my source file, though. 19:30:05 paste.lisp.org is still refusing my connection. 19:30:06 do you use tabs? 19:30:23 I'm using emacs + slime. I assume space is default. 19:30:24 limetree: tip: (floor (/ a b)) == (floor a b) 19:30:31 limetree: it's not 19:30:49 you're right, I'm using tabs. 19:30:59 -!- superjudge [~superjudg@c83-250-110-188.bredband.comhem.se] has quit [Quit: superjudge] 19:31:23 you need a) (setq-default indent-tabsp-mode nil) b) run M-x untabify on the already existing code 19:32:12 limetree: write-char can be used instead of princ for characters 19:32:55 as a first approximation the first thing you want to do is to compile with higher optimization settings, e.g. (declaim (optimize speed)) at the toplevel of the file. and then look at every form that sbcl complains about 19:33:30 limetree: Instead of just taken stabs at the performance problems, take this opportunity to learn how to use the profiler. 19:33:53 -!- jewel [~jewel@196-209-224-248.dynamic.isadsl.co.za] has quit [Ping timeout: 263 seconds] 19:33:57 ok. I tried to set speed to 3 yesterday but I was a bit dazed by the many notes. 19:34:03 I think I got 120 :) 19:34:21 tmh: good idea 19:34:44 mishoo [~mishoo@79.112.237.124] has joined #lisp 19:34:46 I'd go with optimize speed, inline the state functions, and pass the state as arguments instead of specials. 19:35:43 are specials slower? 19:36:05 Fare [~Fare@ita4fw1.itasoftware.com] has joined #lisp 19:36:17 limetree: I'd start profiling by using (declare (optimize ...)) in the main-loop and start picking off the slow functions from there. It will cut down a little on the notes, unless all of the 120 notes came out of the main-loop. 19:36:32 they're certainly more work to compile away than arguments to inline functions. 19:37:29 and yes, in a tight loop, specials are significantly more work to access than lexical variables. 19:37:42 I guess the instruction functions could be made into macros... 19:37:55 or just declare them inline. 19:38:15 sbcl has also defglobal 19:38:58 tmh: sounds like a good start 19:39:54 *nikodemus* adds #- and #+ magic to his slime-indentation fork 19:41:06 limetree: You're probably okay running with the performance recommendations out of this IRC room because the people giving them know CL inside and out, but I have to use the profiler, when I've tried to intuit performance issues, I've generally been horribly wrong and wasted a lot of time. 19:41:20 Ragnaroek [~chatzilla@vpnsh0045.fh-trier.de] has joined #lisp 19:41:58 ay. when pkhuong or jsnell talk about performance, it's a good idea to listen 19:42:04 -!- cymew [~davour@c83-255-37-246.bredband.comhem.se] has quit [Ping timeout: 260 seconds] 19:42:08 :) 19:42:41 or nikodemus ;) 19:42:55 assuming you're on SBCL, anyway 19:44:54 -!- homie [~levgue@xdsl-78-35-161-154.netcologne.de] has quit [Remote host closed the connection] 19:45:18 has here anyone yet tried my indentation stuff? (looking for both complaints and validation) 19:46:33 nikodemus, sorry for the breakage. 19:46:41 argiopeweb [~elliot@adsl-184-42-11-191.dab.bellsouth.net] has joined #lisp 19:46:53 Can you confirm whether my fix fixed it (when you remove the other fixes) 19:47:08 Who will fix the fixers? 19:47:17 Fare: 2.015.2 works for me without my .sbclrc hack, yes 19:47:23 ok. 19:47:26 Thanks! 19:47:45 Xach: the upper-fixers? 19:47:53 It's always like that. You make a release, and THEN the bug reports start to pour in :-/ 19:48:22 Fare: I appreciate all of the work you do on ASDF. The recent issues are just a sign that the project is active and advancing. 19:48:41 -!- clop [~jared@moat3.centtech.com] has quit [Ping timeout: 240 seconds] 19:49:45 Fare: is there yet a way to :force just a single system without forcing its dependencies? 19:49:59 yes! 19:50:07 what's the magic? 19:50:13 swank-asdf uses one hack 19:50:23 It's been fixed in 2.014.5 19:50:25 -!- ehu changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language . New: usocket 0.5.2, SBCL 1.0.48, common-lisp.net is up again, ABCL 0.25 19:50:36 :force '(this-system that-system) 19:50:45 thanks! 19:50:45 Fare: -> http://imgur.com/gallery/y7Hm9 19:51:15 paste.lisp.org is still refusing my advances. 19:51:18 -!- pnq [~nick@AC812709.ipt.aol.com] has quit [Ping timeout: 264 seconds] 19:51:41 tmh: I'll check if the bot needs to be booted. 19:52:00 Fare: how do i check for a minimal asdf version? 19:52:13 ehu: isn't usocket at 0.6.0 ? 19:52:19 stassats`, "minimal" ? 19:52:33 Fare: I think that's trunk/ 19:52:49 as in (unless (or #+asdf2 (asdf:version-satisfies (asdf:asdf-version) "2.003")) (error "ASDF 2.003 or later is required")) 19:52:53 Fare: but there was a release of 0.5.2 today. 19:52:55 yes, #+(check-asdf-version=> 2.014.5) ... 19:53:09 -!- argiopeweb [~elliot@adsl-184-42-11-191.dab.bellsouth.net] has left #lisp 19:53:12 bege [~bege@S0106001cf0520ea3.ed.shawcable.net] has joined #lisp 19:53:40 Fare: asdf:version-satisfies has quite a misleading arg-list 19:53:55 tmh: bots started. lisppaste will surface in ~20 minutes. 19:53:58 stassats`, legacy from danb days 19:54:45 ok, perhaps later i'll substitute the hack in slime with :force systems for newer asdfs 19:54:49 danb got things done when no one else did. But he didn't always got them done in ways his successors like. 19:54:58 ehu: Thanks. Do you mean the chatroom bot? The paste.lisp.org site is returning a 502 proxy error. 19:55:04 stassats`, what hack is it? 19:55:21 stassats`, btw, does slime now know to use the asdf output translations when available? 19:55:25 Fare: around method for asdf:operation-done-p returning NIL for the selected component 19:55:33 it's nice to not pollute directories with fasls. 19:55:38 tmh: the bot and the website are one and the same. 19:55:54 ehu: Okay, thanks. 19:55:58 np. 19:56:13 Fare: it can pollute just a single directory, but not through output translations 19:56:54 -!- rmarynch [~roman@88.135.194.233] has quit [Quit: Leaving] 19:57:03 stassats`, I mean, when you C-c C-k 19:57:06 and one use-case which isn't handled well by :force, for example, mcclim has a system mcclim which depends on other subsystems defined in the same .asd, so force-loading mcclim isn't very useful 19:57:12 Fare: yes, i do too 19:57:34 macrobat [~fuzzyglee@h-17-133.A328.priv.bahnhof.se] has joined #lisp 19:58:34 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 20:00:43 so, something like forcing to recompile all systems which are in the same asd file, or still better, in the same directory, would solve this 20:03:48 -!- Athas [~athas@130.225.165.35] has quit [Remote host closed the connection] 20:03:54 sellout- [~Adium@c-24-61-13-161.hsd1.ma.comcast.net] has joined #lisp 20:06:52 lisppaste [~lisppaste@common-lisp.net] has joined #lisp 20:07:15 interested_party [48053b8b@gateway/web/freenode/ip.72.5.59.139] has joined #lisp 20:07:21 minion [~minion@common-lisp.net] has joined #lisp 20:07:28 specbot [~specbot@common-lisp.net] has joined #lisp 20:07:36 has anyone written a compiler for a non-Lisp (say, C) in a Lisp? 20:07:45 yes. 20:08:24 stassats: I don't know how to do that with asdf in a simple way. 20:08:48 -!- snearch [~snearch@f053002142.adsl.alicedsl.de] has quit [Quit: Verlassend] 20:09:26 interested_party, do you mean "anyone *here*" ? Plenty of languages have been written in "a Lisp". C, Prolog, ML, etc. 20:09:52 pnq [~nick@ACA35783.ipt.aol.com] has joined #lisp 20:09:54 nikodemus: I now have a hacky script to generate the coverage report. I'm still fiddling with asdf to figure out a maybe generic way to support generating coverage. 20:10:06 it just occured to me that it might be cool to write C macros in Lisp somehow... 20:10:24 there's at least 3 implementations of that idea. 20:10:31 cool 20:10:32 interested_party: you mean just macros? 20:10:54 sbryant_work: just emailed a reasonably nice kludge to sbcl-devel 20:11:02 nikodemus: yay :D 20:11:02 sbryant_work: C preprocessor macros are pretty lame, is the problem 20:11:10 interested_party: use m4! 20:11:12 um, -help, i mean 20:11:12 interested_party: I was coming from lispland. 20:11:46 -!- Hun` [~hun@95-90-10-28-dynip.superkabel.de] has quit [Remote host closed the connection] 20:12:31 sbryant_work: but the idea of writing C with a fully programmable compiler is what I'm talking about. Wouldn't that make it so much less painless? then again, you could just write Lisp instead of C i suppose 20:12:35 interested_party: if you're going to do that, you might as well use some more radically parenthesised syntax for C, and then translate. 20:12:42 nikodemus: nice. 20:12:43 less painful* 20:13:02 -!- Davidbrcz_ [~david@ANantes-151-1-199-214.w2-8.abo.wanadoo.fr] has quit [Ping timeout: 260 seconds] 20:13:06 interested_party: but then I just write lisp ;) 20:13:27 splittist: and the next step would be to ditch C and just use CL 20:13:37 or write CIL modules. 20:13:41 (in ocaml) 20:14:41 -!- interested_party [48053b8b@gateway/web/freenode/ip.72.5.59.139] has quit [Quit: Page closed] 20:17:41 -!- add^_ [~add^_^@h215n1c1o838.bredband.skanova.com] has quit [Quit: add^_] 20:22:27 -!- milanj [~milanj_@93-87-156-179.dynamic.isp.telekom.rs] has quit [Quit: Leaving] 20:24:31 -!- morphling [~stefan@gssn-5f754bf5.pool.mediaWays.net] has quit [Remote host closed the connection] 20:25:58 drforr [~drforr@pool-98-112-230-87.lsanca.fios.verizon.net] has joined #lisp 20:27:14 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 276 seconds] 20:27:40 -!- timjstewart [~tims@159.182.183.6] has left #lisp 20:27:49 nikodemus: that example you gave me, wouldn't I run into the same problem I've been running into with asdf loading deps and they'll be compiled with the tracing data once I try to load my system? 20:28:48 sbryant_work: :force t recompiles deps. :force (list foo) recompiles only foo 20:29:03 good to know. 20:29:21 the right load is there to ensure that all deps are loaded before instrumentation is enabled 20:29:22 -!- ltriant [~ltriant@124-168-220-216.dyn.iinet.net.au] has quit [Quit: Computer has gone to sleep] 20:29:29 s/right/first/ 20:29:43 ok, bedtime 20:29:50 thanks a lot. 20:30:00 you have given me a better understand of asdf. 20:31:51 gravicappa [~gravicapp@ppp91-77-166-187.pppoe.mtu-net.ru] has joined #lisp 20:37:51 timjstewart [~tims@159.182.183.6] has joined #lisp 20:38:15 Aiwass [~Aiwass4@188.26.202.125] has joined #lisp 20:38:45 -!- nikodemus [~nikodemus@cs181063174.pp.htv.fi] has quit [Ping timeout: 258 seconds] 20:39:30 -!- Qworkescence [~quad@unaffiliated/quadrescence] has quit [Read error: Connection reset by peer] 20:39:49 Qworkescence [~quad@unaffiliated/quadrescence] has joined #lisp 20:40:23 -!- eugu [~Miranda@213.141.157.147] has quit [Quit: eugu] 20:44:11 kai_ [~kai@e179004244.adsl.alicedsl.de] has joined #lisp 20:44:18 -!- kai_ is now known as wetnosed 20:45:14 tcr [~tcr@217-162-131-235.dynamic.hispeed.ch] has joined #lisp 20:50:16 -!- Ragnaroek [~chatzilla@vpnsh0045.fh-trier.de] has quit [Ping timeout: 240 seconds] 20:50:22 -!- bobbysmith007 [~russ@216.155.103.30] has left #lisp 20:50:30 -!- jnrjnr [~jnrjnr@200.6.42.107] has quit [Remote host closed the connection] 20:51:14 -!- naiv [~naiv@ARennes-553-1-203-105.w2-10.abo.wanadoo.fr] has quit [Quit: Quitte] 20:51:26 naiv [~naiv@ARennes-553-1-203-105.w2-10.abo.wanadoo.fr] has joined #lisp 20:52:19 -!- ikki [~ikki@201.155.92.12] has quit [Ping timeout: 240 seconds] 20:53:04 -!- gravicappa [~gravicapp@ppp91-77-166-187.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 20:55:45 Munksgaard [~Munksgaar@1807ds2-noe.0.fullrate.dk] has joined #lisp 20:56:39 steevy [~steevy@95-89-223-125-dynip.superkabel.de] has joined #lisp 20:56:48 -!- steevy [~steevy@95-89-223-125-dynip.superkabel.de] has quit [Remote host closed the connection] 20:58:11 hargettp [~hargettp@pool-71-174-130-167.bstnma.east.verizon.net] has joined #lisp 21:00:46 -!- timjstewart [~tims@159.182.183.6] has quit [Ping timeout: 252 seconds] 21:04:33 -!- ChibaPet [~mason@74.203.221.34] has quit [Quit: Leaving.] 21:05:08 ikki [~ikki@200.95.162.228] has joined #lisp 21:05:35 -!- sbryant_work [~user@ghanima.slavasaur.com] has quit [Ping timeout: 252 seconds] 21:05:44 -!- wetnosed [~kai@e179004244.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 21:05:57 -!- slyrus_ [~chatzilla@173-228-44-88.dsl.static.sonic.net] has quit [Ping timeout: 252 seconds] 21:06:00 BrandLeeJones [~BrandLeeJ@84.114.246.246] has joined #lisp 21:06:01 wetnosed [~kai@e179001026.adsl.alicedsl.de] has joined #lisp 21:08:46 -!- BrandLeeJones [~BrandLeeJ@84.114.246.246] has quit [Client Quit] 21:10:42 -!- rme [rme@clozure-18ED4F5E.chi.dsl-w.verizon.net] has quit [Quit: rme] 21:10:42 -!- rme [~rme@pool-70-104-127-9.chi.dsl-w.verizon.net] has quit [Quit: rme] 21:10:46 timjstewart [~tims@159.182.183.6] has joined #lisp 21:16:51 -!- Fare [~Fare@ita4fw1.itasoftware.com] has quit [Quit: Leaving] 21:17:51 -!- theratking862 [~theratkin@pool-173-48-130-251.bstnma.fios.verizon.net] has quit [Ping timeout: 240 seconds] 21:18:03 -!- stis [~stis@host-90-235-42-55.mobileonline.telia.com] has quit [Remote host closed the connection] 21:18:41 juniorroy [~juniorroy@212.36.228.103] has joined #lisp 21:20:40 http://marcoil.org/wp-content/uploads/2009/04/format-fear.jpg - hee hee, I don't think I've seen that one before 21:22:03 but that's not scary at all 21:26:14 -!- maxigas [~user@mail.szervermegoldasok.hu] has quit [Remote host closed the connection] 21:27:11 -!- xan_ [~xan@adsl-76-254-70-213.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 248 seconds] 21:32:55 When I initially learned lisp, I spent so much time learning FORMAT that I totally neglected functions like WRITE-LINE, WRITE-STRING, WRITE-CHAR, etc. that work much better in many instances. 21:33:17 but they're not as cool 21:34:40 Krystof [~csr21@csrhodes.plus.com] has joined #lisp 21:35:14 Good morning everyone! 21:35:17 -!- LiamH [~none@pdp8.nrl.navy.mil] has quit [Quit: Leaving.] 21:36:20 Hello beach. 21:37:56 is this a proper declaration for an array that contains arrays of 32-bit unsigned integers? (declare ((array (simple-array (unsigned-byte 32))) allocated-mem)) 21:39:15 limetree: The declaration may be correct, but the implementation may not support that specific type, see UPGRADED-ARRAY-ELEMENT-TYPE. 21:39:26 no. (declare (type (simple-array (unsigned-byte 32)) allocated-mem)). 21:39:42 (type (simple-array (unsigned-byte 32) 1) allocated-mem) that is. 21:40:48 ah it's an array of that. so (simple-array (simple-array (unsigned-byte 32) 1) 1) is the type you're looking for. 21:41:19 the "outer" array is adjustable, so that makes it not simple, right? 21:41:22 assuming that the arrays of integers don't just contain integers but have been allocated with that element type. 21:41:35 limetree: oh, you might as well just give up and say it's an array of T then. 21:42:04 -!- urandom__ [~user@p548A7E47.dip.t-dialin.net] has quit [Read error: Connection reset by peer] 21:42:28 SBCL's support for adjustable arrays isn't that good. If you want adjustable arrays in fast code, you'll have to play alloc/copy tricks yourself. 21:42:29 lanthan [~ze@p54B7C704.dip.t-dialin.net] has joined #lisp 21:42:31 limetree: are you still optimizing that code? if so, adjustable arrays may not be the fastest thing 21:42:38 oh... I'm working through my compiler optimisation notes and I'm wondering why it can't optimize some things. here is an example: 21:42:58 (elt (elt allocated-mem 0) pc) 21:42:59 -!- Salamander [~Salamande@ppp118-210-192-52.lns20.adl6.internode.on.net] has quit [Ping timeout: 252 seconds] 21:43:12 it says the first argument is a sequence, not a simple-array 21:43:32 i was trying to make it understand that it is a simple-array 21:43:35 -!- lanthan [~ze@p54B7C704.dip.t-dialin.net] has quit [Max SendQ exceeded] 21:44:18 Geef [~Geef@249.Red-83-33-83.dynamicIP.rima-tde.net] has joined #lisp 21:44:23 I think that the declaration with an element type of (simple-array (unsigned-byte 32) 1) [note the second argument] will work 21:44:29 stassats`: yep. i don't think it's adjusting too often, though. 21:44:50 it's not the adjusting part that's slow, but everything that accesses non-simple arrays. 21:44:52 limetree: it's not the adjustment that will slow you down the most 21:45:14 Landr [~user@dD5770A09.access.telenet.be] has joined #lisp 21:45:37 oh, ok 21:45:38 -!- hargettp [~hargettp@pool-71-174-130-167.bstnma.east.verizon.net] has quit [Quit: Leaving...] 21:45:53 lanthan [~ze@p54B7C704.dip.t-dialin.net] has joined #lisp 21:46:05 -!- Bahman [~Bahman@2.146.25.8] has quit [Ping timeout: 276 seconds] 21:47:24 ((array (simple-array (unsigned-byte 32) 1) 1) allocated-mem) didn't work 21:49:58 define "didn't work" 21:50:30 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 21:50:47 -!- sonnym1 [~sonny@singlebrookvpn.lightlink.com] has quit [Quit: Leaving.] 21:51:16 -!- bsod1 [~osa1@188.58.162.204] has quit [Quit: bsod1] 21:51:20 pkhuong: i'm still getting that note about the elt 21:51:34 -!- pdelgallego [~pdelgalle@1385159903.dhcp.dbnet.dk] has quit [Ping timeout: 260 seconds] 21:51:54 which one? 21:52:44 limetree: try using aref instead 21:52:57 (elt (elt allocated-mem 0) pc) ; The first argument is a SEQUENCE, not a (SIMPLE-ARRAY * (*)). 21:53:05 mrSpec [~Spec@89-75-35-251.dynamic.chello.pl] has joined #lisp 21:53:05 -!- mrSpec [~Spec@89-75-35-251.dynamic.chello.pl] has quit [Changing host] 21:53:05 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 21:53:24 ok 21:53:26 strangely, sbcl doesn't derive elt's return type, while it does for aref 21:53:53 dlowe2 [~dlowe@64.1.210.2.ptr.us.xo.net] has joined #lisp 21:54:07 -!- dlowe2 [~dlowe@64.1.210.2.ptr.us.xo.net] has quit [Client Quit] 21:54:15 the fast code I was linked to seems to be doing the adjusting manually. I wonder how much it gains from doing that... 21:54:19 there's some badness with converting elt to aref on arrays. 21:55:00 -!- Aiwass [~Aiwass4@188.26.202.125] has quit [Quit: Leaving] 21:55:12 there's a transform for elt->aref, but it's only for simple-arrays 21:55:16 -!- rmarianski [~rmariansk@mail.marianski.com] has quit [Quit: leaving] 21:55:33 Salamander [~Salamande@ppp121-45-145-10.lns10.adl6.internode.on.net] has joined #lisp 21:56:22 Bahman [~Bahman@2.144.211.224] has joined #lisp 21:58:14 Amadiro [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has joined #lisp 22:00:00 pkhuong: and what badness were you talking about? 22:00:04 -!- ch077179 [~urs@xdsl-188-155-1-133.adslplus.ch] has quit [Quit: Verlassend] 22:00:18 -!- tmh [639729ef@pdpc/supporter/sustaining/tmh] has quit [Quit: Page closed] 22:02:27 the message changed now. it now says The first argument is a VECTOR, not a SIMPLE-ARRAY 22:02:52 limetree: and indeed, it's not. 22:02:54 is it talking about the same code? 22:02:59 -!- ikki [~ikki@200.95.162.228] has quit [Ping timeout: 240 seconds] 22:03:15 ltriant [~ltriant@110-174-168-43.static.tpgi.com.au] has joined #lisp 22:03:31 stassats`: that. (well, the assuredly horrible interaction with the type system [I assume]). 22:04:46 the code is (aref (aref allocated-mem 0) pc) now 22:04:51 the fixme around elt->aref transform says once the confusion over doing transforms with known-complex arrays is over, we should also transform the calls to [non-simple-array] objects 22:05:23 pkhuong: is that what you're talking about? 22:06:33 stepnem: right. 22:06:35 -!- spiaggia` [~user@113.161.72.89] has quit [Ping timeout: 260 seconds] 22:07:16 what would make it to be over? 22:07:23 I'm unsure what the "first argument" it's refering to actually is 22:07:42 I thought it was (aref allocated-mem 0) but I guess it's something else 22:07:52 limetree: it should be highlighted in slime 22:08:05 it's referring to allocated-mem. 22:08:10 spiaggia` [~user@113.161.72.89] has joined #lisp 22:10:21 I guess I have to abandon the adjustable arrays. 22:10:51 optimising code doesn't mean eliminating all the notes. 22:13:02 -!- dstatyvka [ejabberd@pepelaz.jabber.od.ua] has left #lisp 22:14:08 pkhuong: if not converting all elt to aref, would a derive-type optimizer for elt be better, or it's the same problem? 22:15:20 I'm really not sure... 22:15:40 alright 22:15:53 ikki [~ikki@200.95.162.194] has joined #lisp 22:16:10 francogrex [~user@109.130.124.96] has joined #lisp 22:17:04 -!- felideon [~felideon@65.23.61.98.nw.nuvox.net] has quit [Quit: ERC Version 5.2 (IRC client for Emacs)] 22:19:45 sabalabas [~sabalaba@c-24-147-92-217.hsd1.vt.comcast.net] has joined #lisp 22:21:18 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Remote host closed the connection] 22:21:55 mrSpec [~Spec@89-75-35-251.dynamic.chello.pl] has joined #lisp 22:21:55 -!- mrSpec [~Spec@89-75-35-251.dynamic.chello.pl] has quit [Changing host] 22:21:55 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 22:22:05 Davidbrcz_ [~david@ANantes-151-1-199-214.w2-8.abo.wanadoo.fr] has joined #lisp 22:25:13 prip [~foo@host131-130-dynamic.36-79-r.retail.telecomitalia.it] has joined #lisp 22:25:53 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 252 seconds] 22:27:36 xan_ [~xan@199.83.221.5] has joined #lisp 22:29:16 -!- sabalabas [~sabalaba@c-24-147-92-217.hsd1.vt.comcast.net] has quit [Remote host closed the connection] 22:29:20 -!- Qworkescence [~quad@unaffiliated/quadrescence] has quit [Quit: Leaving] 22:30:54 -!- mishoo [~mishoo@79.112.237.124] has quit [Ping timeout: 264 seconds] 22:33:06 hargettp [~hargettp@pool-71-174-130-167.bstnma.east.verizon.net] has joined #lisp 22:33:20 I switched to non-adjustable arrays and the code runs 12 times faster now. 22:33:51 (i cheated and allocated what I though was enough space in advance) 22:34:48 Triplefault [~Mouse@adsl-72-152-232-129.asm.bellsouth.net] has joined #lisp 22:36:57 -!- Landr [~user@dD5770A09.access.telenet.be] has quit [Remote host closed the connection] 22:37:08 nefo [~nefo@2001:da8:215:5200:0:5efe:3b42:8f51] has joined #lisp 22:37:09 -!- nefo [~nefo@2001:da8:215:5200:0:5efe:3b42:8f51] has quit [Changing host] 22:37:09 nefo [~nefo@unaffiliated/nefo] has joined #lisp 22:37:31 why is it (much?) faster to access simple-arrays over non-simple-arrays? 22:37:42 the access is inlined 22:37:43 simple-arrays are open coded. 22:38:24 -!- Bahman [~Bahman@2.144.211.224] has quit [Quit: Ave Atque Vale] 22:38:54 i don't understand... 22:39:16 it's fast because it's made to be faster 22:39:50 nothing stops from making non-simple arrays to be fast in principle, at the cost of additional complexities 22:40:35 i see 22:41:58 does any cl implementation make it fast in practice? 22:42:49 -!- Davidbrcz_ [~david@ANantes-151-1-199-214.w2-8.abo.wanadoo.fr] has quit [Ping timeout: 246 seconds] 22:43:27 -!- basho__ [~basho__@dslb-188-108-228-212.pools.arcor-ip.net] has quit [Remote host closed the connection] 22:44:25 limetree: in other implementations, accessing array may be as fast whatever their kind. 22:44:50 or as slow 22:45:04 pjb: or as slow ;) I think lisp machine lisps had much better support for complex arrays. 22:45:06 -!- francogrex [~user@109.130.124.96] has left #lisp 22:46:32 pizzledizzle [~pizdets@pool-98-113-194-183.nycmny.fios.verizon.net] has joined #lisp 22:47:14 rvirding [~chatzilla@h134n5c1o1034.bredband.skanova.com] has joined #lisp 22:48:04 -!- ikki [~ikki@200.95.162.194] has quit [Ping timeout: 246 seconds] 22:49:35 -!- dfox [~dfox@ip-94-113-17-246.net.upcbroadband.cz] has quit [Ping timeout: 276 seconds] 22:49:44 hmm, when writing a custom :test for sublis, it's not technically reliable to consider which of the 2 parameters comes from the alist, and which from the tree, is it? 22:50:57 Yes it is. It's specified. 22:51:31 -!- wetnosed [~kai@e179001026.adsl.alicedsl.de] has quit [Remote host closed the connection] 22:51:49 pjb: where? I've been looking 22:51:56 17.2.1 22:52:16 ah, I was in the conses chapter 22:52:37 HET2 [~diman@nat79.mia.three.co.uk] has joined #lisp 22:52:39 clhs needs a holistic approach. 22:53:18 bloop [48053b8b@gateway/web/freenode/ip.72.5.59.139] has joined #lisp 22:54:18 has anyone here read Let Over Lambda? 22:54:51 I've only read up to the free online part and am wondering if the rest is worth purchasing... 22:55:28 I've had to deal with code written to LoL ideas 22:55:40 better buy some candy 22:55:41 it really sucks for debugging, as you lose the capability to introspect 22:55:42 bloop: it's a great book 22:55:45 bloop: i liked it a lot 22:55:55 recompiling does not update any of your LoL structures when you change code 22:55:58 and it runs slower 22:56:19 bloop: i'm a beginner when it comes to Lisp, but i liked LoL quite a bit 22:56:22 but I'm not sure what all the concepts that it uses are; I just know that I prefer using structs rather than closures for identities 22:56:31 yan_: maybe that's why you liked it 22:56:52 the first part says very well how easy it is to make a naive object system out of closures. Even if CLOS is a better option, I like that it demonstrates the power of lambda in a really direct way. CLOS is harder to bite into for noobies... 22:57:12 stassats`: maybe 22:57:17 *stassats`* haven't read LoL, but wasn't impressed by the code included 22:57:21 it's a purely "look what I can do with lambda juggling!" rather than being truly useful 22:57:24 -!- xan_ [~xan@199.83.221.5] has quit [Read error: Connection reset by peer] 22:57:25 -!- pdlogan [~patrick@174-25-37-137.ptld.qwest.net] has left #lisp 22:57:38 I felt the tone was a bit over the top, but I liked the examples in it.. The copy on back of the book reads ridiculously.. 22:57:52 "Common Lisp, the most fucking advanced programming language ever, designed only for the most brilliant coders, blah blah blah" 22:58:05 yeah 22:58:08 lambda is turing complete, of course you can do anything with it 22:58:15 xan_ [~xan@199.83.221.5] has joined #lisp 22:58:27 first few sentences of author's description: "Let Over Lambda is one of the most hardcore computer programming books out there. Starting with the fundamentals, it describes the most advanced features of the most advanced language: Common Lisp" 22:58:31 that really rubbed me the wrong way 22:58:33 in particular at one point he was going on about how single-namespace is just WRONG WRONG WRONG and I'm like "he actually sounds like he's blubbing right now" 22:58:35 but otherwise, i enjoyed it 22:59:24 dfox [~dfox@ip-94-113-17-246.net.upcbroadband.cz] has joined #lisp 22:59:34 we've got somebody in the office learning their first programming language with Land of Lisp, and seems to be understanding lambdas just fine 23:00:12 does it use church numberals? 23:00:14 -!- xan_ [~xan@199.83.221.5] has quit [Read error: Connection reset by peer] 23:00:17 heh 23:00:34 numerals, rather 23:00:58 ikki [~ikki@200.95.162.199] has joined #lisp 23:01:47 iori [~iori@110-133-45-54.rev.home.ne.jp] has joined #lisp 23:02:41 -!- setmeaway [stemearay@118.45.149.63] has quit [Ping timeout: 240 seconds] 23:02:46 lambda isn't merely turing complete though, it's also really really good. Hashing/Conding symbols, as a dispatch mechanism, is probably not as good as CLOS, though. I'm not sure. what do the more experienced guys here think? 23:02:55 -!- iori [~iori@110-133-45-54.rev.home.ne.jp] has quit [Remote host closed the connection] 23:03:25 closures are not easily debuggable, and their code cannot be modified at runtime, unless they make explicit callous 23:03:27 callouts 23:03:32 lambda is a mechanism to run code, of course the code can be as brilliant as you write it 23:03:36 -!- pnq [~nick@ACA35783.ipt.aol.com] has quit [Ping timeout: 252 seconds] 23:03:42 setmeaway [~setmeaway@183.106.96.30] has joined #lisp 23:03:54 sonnym1 [~sonny@rrcs-184-74-137-167.nys.biz.rr.com] has joined #lisp 23:05:02 also, lambda doesn't have a dispatch mechanism. In the LoL code I've seen, it passes in symbols and does manual cond tests to figure out where to go 23:05:03 mippymoe89 [~mippymoe8@c-24-147-92-217.hsd1.vt.comcast.net] has joined #lisp 23:05:33 xan_ [~xan@199.83.221.5] has joined #lisp 23:05:56 better to have lambdas as the value in a hashtable, than hide the hashtable/lookup inside a lambda 23:06:17 i don't see why single out anonymous closures, it's just one tool in the toolbox 23:06:36 -!- xan_ [~xan@199.83.221.5] has quit [Client Quit] 23:06:52 it's also the only way CL has (afaik) of actually hiding/encapsulating data 23:07:02 -!- mippymoe89 [~mippymoe8@c-24-147-92-217.hsd1.vt.comcast.net] has quit [Client Quit] 23:07:06 though low-level implementation-specific accessors can peek into the closure data 23:07:07 load-time-value? 23:07:29 pnq [~nick@AC81838E.ipt.aol.com] has joined #lisp 23:07:32 nikodemus around? 23:07:41 -!- lemoinem [~swoog@216.252.87.113] has quit [Ping timeout: 252 seconds] 23:07:44 mippymoe89 [~mippymoe8@c-24-147-92-217.hsd1.vt.comcast.net] has joined #lisp 23:07:57 reb`: he's gone to sleep 23:08:42 stassats`: how can l-t-v be used as an encapsulation mechanism? 23:08:56 just as closures 23:09:08 thanks ... may have found a bug in recent SBCL stream changes 23:09:55 stassats`: I guess. It really doesn't have much of an identity though 23:10:15 what do you mean by identity? 23:10:52 -!- alama [~alama@86.93.35.187] has quit [Quit: alama] 23:11:05 with a closure, you have an object you can pass around, which contains dynamic data storage slots that you cannot access by any standard means, unlike a struct or CLOS instance 23:11:47 closures hide things, which is both a strength and a weakness. I think we can all agree on that :) 23:11:51 (let ((a 0)) (lambda () ...here 'a' is basically a slot of my instance ...)) 23:12:38 it does the OO definition of encapsulation & hiding 23:12:43 Phoodus: a GENSYM'ed slot of your instance. 23:12:54 defclass doesn't hide anything by itself. 23:12:57 you can do the same thing with load-time-value 23:13:06 (slot-value instance 'a) 23:13:14 yeah, probably. I haven't used l-t-v much 23:13:25 Now, if you have a MOP, you can even get the gensymed symbol from it. 23:13:46 pjb: right 23:13:51 For closure, there's no standard API to get it, and once it's compiled without debugging information, even less chances to get at it. 23:14:16 now, contrast that to C++ or Java, where while you're debugging a program, you can easily visit all the properties of your objects, even the private ones 23:14:46 though I guess you could say that slime's inspector does give you that same capability 23:15:36 -!- Munksgaard [~Munksgaar@1807ds2-noe.0.fullrate.dk] has quit [Read error: Operation timed out] 23:16:38 -!- tcr [~tcr@217-162-131-235.dynamic.hispeed.ch] has quit [Quit: Leaving.] 23:18:23 yes, you can easily access properties of objects in CL using slime-inspecotr 23:20:04 I meant access the closure variables 23:20:13 eudoxia [~eudoxia@r190-135-62-241.dialup.adsl.anteldata.net.uy] has joined #lisp 23:20:36 but in any case, having used LoL in production code, me no likey 23:20:43 -!- eudoxia [~eudoxia@r190-135-62-241.dialup.adsl.anteldata.net.uy] has left #lisp 23:21:10 if your code is sufficiently debuggy, you can access them too 23:21:50 right, but the inability to modify the code once a closure instance is created is annoying as well 23:21:55 -!- udzinari` [~udzinari@ip-89-102-12-6.net.upcbroadband.cz] has quit [Quit: zzzzzzZZZZZZZZZzzzzzzz] 23:22:02 when it's over-used like in LoL 23:22:12 obviously, having some closure instances survive recompiling is nice 23:23:18 -!- mippymoe89 [~mippymoe8@c-24-147-92-217.hsd1.vt.comcast.net] has quit [Read error: Connection reset by peer] 23:23:26 there's a solution, it's called CLOS 23:23:37 yep 23:23:41 if you're trying to get what CLOS have, you'll end up having CLOS 23:24:31 though I find myself using CLOS pretty rarely; structures & multimethod dispatch do fine for my needs so far 23:25:00 structures have the same problem with redefinition 23:25:19 right, with redefinition of their layout, not of their behavior 23:25:55 structures don't posses any behaviour 23:26:07 right, which is why redefining their behavior isn't a problem ;) 23:26:11 -!- muhdick [~qle@74-92-196-145-Atlanta.hfc.comcastbusiness.net] has quit [Ping timeout: 240 seconds] 23:26:21 (for varying definitions of "their") 23:27:22 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 23:28:02 danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has joined #lisp 23:28:15 -!- danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has quit [Excess Flood] 23:28:39 danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has joined #lisp 23:28:44 -!- danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has quit [Excess Flood] 23:29:09 danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has joined #lisp 23:29:20 -!- danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has quit [Excess Flood] 23:29:44 danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has joined #lisp 23:29:46 -!- danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has quit [Excess Flood] 23:30:10 danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has joined #lisp 23:30:11 -!- danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has quit [Excess Flood] 23:30:36 danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has joined #lisp 23:30:39 -!- danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has quit [Max SendQ exceeded] 23:31:04 danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has joined #lisp 23:31:12 -!- danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has quit [Excess Flood] 23:31:39 danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has joined #lisp 23:31:41 -!- danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has quit [Excess Flood] 23:32:10 danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has joined #lisp 23:32:13 -!- danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has quit [Excess Flood] 23:32:37 danlentz [~danlentz@c-69-141-20-254.hsd1.nj.comcast.net] has joined #lisp 23:40:19 -!- gemelen [~shelta@shpd-92-101-136-29.vologda.ru] has quit [Ping timeout: 240 seconds] 23:41:11 -!- timjstewart [~tims@159.182.183.6] has quit [Read error: Connection reset by peer] 23:41:25 Phoodus: you can modify the code inside a closure, if you set it up so. (let* ((data ...) (code (lambda (...) ... data ...))) (lambda (m &rest args) (ecase m ((code) (apply code args) ((set-code) (setf code (first args))))))) 23:41:37 -!- pnq [~nick@AC81838E.ipt.aol.com] has quit [Read error: Connection reset by peer] 23:41:53 Remember: closures are equivalent to objects, all you can do with objects and methods, you can do with closures (and vice versa). 23:42:52 the advantage of objects is that they already have an established protocol 23:43:44 pjb: can a closure be typep a custom type? (-: 23:44:04 (it probably can if that is an EQL type, but not in the face of redefinitions I guess) (-: 23:44:20 write your own typep, with closures! 23:44:26 oh yeah, that 23:44:31 *antifuchs* closures right on that 23:44:42 timjstewart [~tims@159.182.183.6] has joined #lisp 23:49:03 slyrus_ [~chatzilla@adsl-71-146-156-81.dsl.pltn13.sbcglobal.net] has joined #lisp 23:49:34 pjb: I know it's just in fun & completeness, but even in doing so, recompiling doesn't trigger that change automatically, as recompiling plain defuns does 23:50:02 but of course, you could write your own toplevel forms that do so etc etc 23:52:21 -!- ikki [~ikki@200.95.162.199] has quit [Ping timeout: 260 seconds] 23:59:44 Jasko3 [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has joined #lisp 23:59:56 -!- Jasko [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has quit [Ping timeout: 240 seconds]