00:01:05 Makoryu [~bloodgog@pool-71-174-191-10.bstnma.fios.verizon.net] has joined #lisp 00:01:09 not in the outer list, in the inner i mean, there's already an outer list for which the case is determined 00:01:24 case demo 00:01:59 I have no idea what you're talking about. 00:02:04 -!- DanLentz [~danlentz@32.166.79.148] has quit [Quit: Colloquy for iPhone - http://colloquy.mobi] 00:02:18 rtoym: i think in the mp case there shouldn't be any loop at all 00:03:12 If you ask me, I wouldn't have even created a process. Just run the demo once. 00:03:21 since there's already a dolist d j*demos* in the outer case 00:03:28 err -j 00:03:37 jep 00:04:04 why loop again ? just run... 00:05:37 -!- Makoryu [~bloodgog@pool-71-174-191-10.bstnma.fios.verizon.net] has quit [Read error: Connection reset by peer] 00:05:53 Do you even understand what that dolist is doing? 00:06:03 Makoryu [~bloodgog@pool-71-174-191-10.bstnma.fios.verizon.net] has joined #lisp 00:06:14 it goes through the list of the demo names 00:07:27 -!- Makoryu [~bloodgog@pool-71-174-191-10.bstnma.fios.verizon.net] has quit [Remote host closed the connection] 00:08:38 waaahahahah 00:08:52 i deleted the loop, but mp goes again in loops 00:09:25 No, you just don't understand. 00:10:21 There's a make-process. The process does (loop (funcall fun) (sleep 2)). So the process is started, and runs the body until it 00:10:34 it's done. But, of course, it's never done. 00:11:18 -!- attila_lendvai [~attila_le@catv-89-132-188-47.catv.broadband.hu] has quit [Quit: Leaving.] 00:12:00 does make-process require something like end-process explicitly ? 00:13:05 -!- konr [~user@187.106.38.106] has quit [Ping timeout: 240 seconds] 00:13:44 i deleted the loop in (loop (funcall fun) (sleep 2)), it just looks now like ((lambda ...(funcall fun) (sleep 2)) 00:13:44 but the looping does not end 00:14:08 That I don't know. Like I said, I've never used the multiprocessing feature. 00:14:17 so it is actually mp specific 00:14:24 -!- vroufe [~omx@ppp94-29-9-58.pppoe.spdop.ru] has quit [Ping timeout: 265 seconds] 00:15:14 -!- silenius [~silenus@rrcs-64-183-24-38.west.biz.rr.com] has quit [Ping timeout: 276 seconds] 00:15:28 vroufe [~omx@ppp94-29-9-58.pppoe.spdop.ru] has joined #lisp 00:15:50 Given that it's conditionalized on #+mp and it's called mp:make-process, that's a really insightful guess. 00:22:34 But a test with the loop removed shows that the demo is run exactly once, and then it quits. 00:22:35 like i said i don't know how mp even works, and that it is there conditionalized seems to me either a failure or 00:22:35 something is wrong with my understanding.... 00:22:40 rtoym: not in my case, the demo starts again 00:22:44 You didn't update your code? 00:22:45 You didn't reload it? 00:22:46 i did! 00:22:52 SpitfireWP [~Spitfire@wikipedia/spitfire] has joined #lisp 00:22:54 Well, I see no reason why yours is different from mine. Forgive if I'm skeptical. 00:22:59 If I have a lisp buffer open, and a repl - does C-c C-k evaluate the whole buffer? 00:23:01 rtoym: np, but it really is so here 00:23:03 rtoym: that's why i don't understand what was intended with that loop, if it has no effect even upon removing 00:23:05 +even 00:23:32 Well, stick a format in the body and see how often it gets printed. 00:23:44 ok 00:25:06 God0War [wakko@shellbox.skidsr.us] has joined #lisp 00:25:09 hello 00:25:21 sykopomp: drewc: my protocols are basically a generalization of Java-style interfaces to multiple dispatch and MOP 00:25:49 not sure what else you found in there, other than the bootstrapping of the metacircularity 00:26:06 (protocol is itself a protocol, and standard-protocol is an implementation of protocol) 00:27:41 -!- God0War [wakko@shellbox.skidsr.us] has quit [K-Lined] 00:28:07 ah ok.. i only had a quick look and had interface passing style in my head at the time, so didn't grasp that it was about objects at all :/ 00:28:39 *drewc* should have had a harder look 00:29:42 wedgeV [~wedge@cpe-24-193-123-94.nyc.res.rr.com] has joined #lisp 00:31:10 -!- MorganB [~user@n128-227-41-90.xlate.ufl.edu] has quit [Ping timeout: 272 seconds] 00:33:03 -!- lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has quit [Ping timeout: 245 seconds] 00:33:57 silenius [~silenus@cpe-76-169-35-122.socal.res.rr.com] has joined #lisp 00:35:40 -!- HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Quit: This computer has gone to sleep] 00:36:36 homie: What's the verdict? 00:36:50 I accidentally stumbled on the whol lisp-reader thing by playing around with read, and found this: http://letoverlambda.com/index.cl/guest/chap4.html 00:37:12 I was thinking about playing around with it to make html into executable lisp code - does that seem reasonable? 00:37:46 As a pet project, nothing meant for long-term maintenance 00:38:17 rtoym: i loaded lisp -noinit -nositeinit and it seems the loop is really not about the funcall, it's mp itself 00:38:17 causing the looping here, cause i removed it loaded clx with (require 'clx) and loaded the clx-demos file and run 00:38:17 (demos:demo), but the demo is running again and again even with removed loop there.... 00:38:39 so ... 00:42:08 Ah, so it does. Maybe that's how make-process is supposed to work. I don't know. 00:42:33 -!- SpitfireWP [~Spitfire@wikipedia/spitfire] has quit [Quit: It's getting dark, too dark to see.] 00:43:50 yep, i think so too 00:43:54 minion: tell seangrove about xmlisp 00:43:54 seangrove: direct your attention towards xmlisp: XMLisp is a library which uses CLOS and the MOP in such a way as to read XML files into Lisp objects. http://www.cliki.net/xmlisp 00:46:27 Intersting 00:46:36 I was just thinking about doing it as a learning experiment 00:46:53 I imagine if xmlisp is meant as a real library, it'll probably be over my head 00:52:03 -!- Yuuhi [benni@p5483C808.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:54:27 -!- shakshak [~user@41.238.33.63] has left #lisp 01:00:03 Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has joined #lisp 01:02:56 clhs exists 01:02:56 Sorry, I couldn't find anything for exists. 01:03:00 clhs existsp 01:03:00 Sorry, I couldn't find anything for existsp. 01:03:03 darn 01:03:46 clhs member 01:03:47 http://www.lispworks.com/reference/HyperSpec/Body/a_member.htm 01:04:10 or maybe: 01:04:13 clhs some 01:04:13 http://www.lispworks.com/reference/HyperSpec/Body/f_everyc.htm 01:04:41 thanks, but i think i'm looking for boundp 01:04:46 Oh. 01:05:22 There's also slot-boundp, for slots. 01:05:26 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Ping timeout: 265 seconds] 01:09:46 xan_ [~xan@rrcs-69-193-205-118.nyc.biz.rr.com] has joined #lisp 01:10:38 -!- b-man_ [~b-man@189.34.55.252] has quit [Ping timeout: 276 seconds] 01:13:52 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 01:13:55 -!- srolls [~user@167.216.131.126] has quit [Remote host closed the connection] 01:15:08 katesmith_ [~katesmith@unaffiliated/costume] has joined #lisp 01:17:07 -!- ziarkaen [~ziarkaen@stu022.queens.ox.ac.uk] has quit [Ping timeout: 240 seconds] 01:17:26 -!- katesmith [~katesmith@unaffiliated/costume] has quit [Ping timeout: 264 seconds] 01:18:02 -!- seangrove [~user@70-36-236-168.dsl.static.sonic.net] has quit [Ping timeout: 264 seconds] 01:23:20 mbohun [~user@ppp115-156.static.internode.on.net] has joined #lisp 01:24:50 -!- vroufe [~omx@ppp94-29-9-58.pppoe.spdop.ru] has quit [Ping timeout: 255 seconds] 01:26:54 _nix00 [~Adium@61.172.241.100] has joined #lisp 01:27:09 jimrthy [~jimrthy@ip68-13-249-220.ok.ok.cox.net] has joined #lisp 01:27:27 -!- tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has quit [Quit: Leaving.] 01:28:29 This may be more appropriate in #emacs, or on the ubuntu forum, but I figured I'd give it a shot here 01:29:15 I'm trying to set up slime w/ ccl, on ubuntu. I have it and sbcl installed using ubuntu's packaging system, and they're working fine together 01:29:32 skaboy [~grant@c0144.aw.cl.cam.ac.uk] has joined #lisp 01:30:21 When I tried to edit my .emacs to change my inferior-lisp-program, it turns out that doesn't exist 01:30:35 It's probably a bad idea to rely on ubuntu packages for anything Common Lisp related. 01:30:37 jimrthy: maybe http://trac.clozure.com/ccl/wiki/InstallingSlime will help 01:30:52 -!- skaboy [~grant@c0144.aw.cl.cam.ac.uk] has quit [Client Quit] 01:31:12 Fair enough. Thank you. 01:32:54 -!- superflit [~superflit@140.226.49.160] has quit [Quit: superflit] 01:33:50 echo-area [~user@114.251.86.0] has joined #lisp 01:35:41 -!- _nix00 [~Adium@61.172.241.100] has left #lisp 01:36:09 sleepyhead [~grant@c0144.aw.cl.cam.ac.uk] has joined #lisp 01:37:11 -!- sleepyhead is now known as golney 01:37:30 -!- acieroid [~acieroid@wtf.awesom.eu] has quit [Read error: Connection reset by peer] 01:37:50 acieroid [~acieroid@wtf.awesom.eu] has joined #lisp 01:38:06 -!- golney is now known as skaboy 01:39:07 -!- LaPingvino [~LaPingvin@187.87.224.70] has quit [Remote host closed the connection] 01:39:16 -!- dnm [~dnm@static-71-166-174-24.washdc.east.verizon.net] has quit [Ping timeout: 265 seconds] 01:42:06 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 272 seconds] 01:42:29 syntard__ [~chatzilla@fl-74-4-76-189.dhcp.embarqhsd.net] has joined #lisp 01:43:03 -!- syntard [~chatzilla@fl-74-4-76-189.dhcp.embarqhsd.net] has quit [Ping timeout: 245 seconds] 01:43:11 -!- syntard__ is now known as syntard 01:43:38 -!- V-ille [~ville@70.42.89.16] has quit [Read error: Connection reset by peer] 01:46:15 Ralith [~ralith@S010600221561996a.vc.shawcable.net] has joined #lisp 01:47:20 I sometimes wish there was some kind of :init-transform option for slots you could specify alongside :initarg, that would let you pass the initarg value to a function so it can do a simple transformation on it (or not). Like, you could say: (defclass my-class () ((my-slot :initarg :slot :init-transform (lambda (value) (if (typep value '(or symbol function) value (constantly value))))))). (defmethod initialize-instance) is a bit o 01:47:58 (I'm not seriously proposing to include this in the standard ;P) 01:48:21 -!- Guest17811 is now known as xristos 01:53:42 I'm more of the inclination that you shouldn't think about initializing slots at the level of make-instance, etc. 01:54:44 And with that in mind, you can add initialization protocols. 01:55:20 Like (slot-transform object 'slot value), only with better names. 01:57:58 kephas [~pierre@AStrasbourg-551-1-8-225.w92-141.abo.wanadoo.fr] has joined #lisp 01:58:04 This slot-transform would be called after the instance is created?... For immutable objects I'd rather get back a fully initialized object right away. 01:58:35 -!- nowhereman [~pierre@AStrasbourg-551-1-26-60.w83-196.abo.wanadoo.fr] has quit [Ping timeout: 255 seconds] 01:58:49 Well, CL doesn't do immutable objects. 01:59:09 CL no, but I do. Objects can be "semantically" immutable... 01:59:21 Remember that you have an initialize-instance protocol, in CL. 01:59:45 That's good, I can't stand it when my object start getting yappy and I can't mute them. 01:59:55 In the sense that the designer of the class decides you should never modify its slots once it's instantiated or the consequences will never be the same... I mean, are undefined. 02:00:02 So you can put all of your slot tomfoolery setup in there. 02:00:38 That's what I said earlier... "(defmethod initialize-instance) is a bit overkill sometimes." 02:00:59 trigen [~MSX@87.209.144.213] has joined #lisp 02:01:43 Well, if you take the aproach that slots are an implementation detail that should not be directly observed ... 02:02:23 Depends. But yeah, usually I don't deem the slots of my classes to be part of the public interface... 02:02:56 Which should include the instantiation interface. 02:02:58 I can't say I've often explicitly thought about this consideration, though. 02:03:42 you can use the MOP to add :init-transform 02:04:15 Yeah, I was thinking about that. But it would be too much trouble, unless the point was a fun exercise to learn the MOP... 02:05:47 I'm a bit worried about waking up some day and... "Ah FUCK. Don't tell me I've just spent 2 years going crazy with endless MOP pursuits." 02:05:56 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Quit: Ex-Chat] 02:06:11 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 02:06:46 -!- rme [rme@clozure-AC1C217F.chi.dsl-w.verizon.net] has quit [Quit: rme] 02:06:46 -!- rme [~rme@pool-70-105-122-27.chi.dsl-w.verizon.net] has quit [Quit: rme] 02:08:33 Yeah. I know the feeling. 02:09:00 I'll quite probably do that at some point. But I better get rich first ;P 02:09:16 -!- katesmith_ is now known as katesmith 02:10:16 -!- _danb_ [~user@124-149-32-186.dyn.iinet.net.au] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 02:10:56 These days I am coming more and more to the conclusion that javascript has pretty much got it right. 02:11:02 Which is a bit depressing. 02:11:05 -!- trigen [~MSX@87.209.144.213] has quit [Ping timeout: 276 seconds] 02:12:18 But at the same time, kind of liberating. 02:14:42 For anyone who cares (Hexstream, maybe?), my problem with ubuntu and slime seems to have been some magic under /etc/emacs/site-start.d 02:15:23 It was referencing a swank-loader.lisp buried inside /usr/share 02:15:57 kenanb [~kenanb@94.54.235.211] has joined #lisp 02:15:57 Thanks again...just uninstalling and reinstalling manually made the error obvious enough to figure it out 02:16:04 Ok, but as I said relying on ubuntu packages for Common Lisp stuff is probably asking for trouble. These things get out of date and are sometimes weirdly setup and stuff. 02:21:26 -!- Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has left #lisp 02:21:46 lnostdal-laptop [~lnostdal@167.80-203-136.nextgentel.com] has joined #lisp 02:25:30 -!- gigamonkey [~user@adsl-99-17-207-80.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 240 seconds] 02:26:46 konr [~user@187.106.38.106] has joined #lisp 02:27:04 -!- cpt_nemo [cpt_nemo@rfc1459.de] has quit [Ping timeout: 272 seconds] 02:31:46 ikki [~ikki@201.122.132.181] has joined #lisp 02:34:51 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 265 seconds] 02:36:28 -!- nybbles [~nybbles@vpn15.cs.ubc.ca] has quit [Quit: nybbles] 02:38:19 tritchey [~tritchey@c-68-51-119-127.hsd1.in.comcast.net] has joined #lisp 02:38:22 -!- ikki [~ikki@201.122.132.181] has quit [Quit: Leaving] 02:43:11 mek||malloc [~mek@wifi-roaming-159-143.nss.udel.edu] has joined #lisp 02:44:24 I'm trying to create a hash-table containing values which are functions and I'd like the key to be the name of these functions. Is there a function or macro that might enable me to get the name a function is bound to? 02:47:45 emma [~em@unaffiliated/emma] has joined #lisp 02:49:33 hmm it would be possible to run through the symbols of a package and verify if the function-value points to that lambda/function, possibly (see loop or do-symbols) 02:50:47 phadthai: Thanks. 02:50:59 s/function-value/symbol-value/ 02:51:09 err symbol-function 02:51:42 note that more than one symbol could point to the same lambda 02:55:36 in your hash table, #'eq could be used as test function, and the keys would simply have to be symbols 02:58:14 yates [~yates@nc-76-3-105-199.dhcp.embarqhsd.net] has joined #lisp 02:58:22 what does the keyword #rest mean? 02:58:32 yes, i looked in the clhs already 02:58:46 i see it mentioned a couple of places but not defined 02:58:57 -!- kenanb [~kenanb@94.54.235.211] has quit [Quit: Leaving.] 02:58:58 &rest? see in the definition of lambda lists 02:59:11 -!- drl [~lat@125.167.140.159] has quit [Ping timeout: 255 seconds] 02:59:20 -!- dfkjjkfd [~paulh@236-9-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 03:00:01 phadthai: that's where i'm at 03:00:13 i see it in the syntax, but what does it MEAN? 03:02:39 all the remaining arguments in the list will be assigned to that parameter in a list 03:02:56 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 240 seconds] 03:03:10 http://www.lispworks.com/documentation/HyperSpec/Body/03_dac.htm 03:04:09 clhs 3.4.1 03:04:10 http://www.lispworks.com/reference/HyperSpec/Body/03_da.htm 03:04:52 yates: and specifically 03:05:02 clhs 3.4.1.3 03:05:02 http://www.lispworks.com/reference/HyperSpec/Body/03_dac.htm 03:05:10 Why won't something like this work? (funcall (car '((lambda (x y) (+ x y)))) 3 3) 03:05:16 ok 03:05:24 which is what phadthai said :) 03:05:47 mek||malloc: because lists are not functions 03:06:22 drewc: But functions are lists? So would there be a way to accomplish such a thing? 03:06:26 setheus [~setheus@cpe-70-116-140-134.tx.res.rr.com] has joined #lisp 03:06:29 functions are not lists 03:06:33 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: nighty night] 03:07:36 that said, a list with the symbol LAMBDA in the CAR position can be coerced to a function... it can also be evaluated to produce a function, and compiled to produce a function 03:08:04 but it is not itself a function, it is a list, which is not itself a list, but a chain of conses. 03:08:09 drewc: But lambda wasn't in the car position 03:08:18 (lambda (x y) (+ x y))) was 03:08:31 Whoops (lambda (x y) (+ x y)) , rather 03:09:57 no... the list you pass to funcall has LAMBDA in CAR. It does't really matter, because lists are not functions. What is it you are trying to do and why? 03:11:30 -!- madnificent [~madnifice@83.101.62.132] has quit [Read error: Connection reset by peer] 03:11:58 madnificent [~madnifice@83.101.62.132] has joined #lisp 03:12:02 drl [~lat@125.167.140.159] has joined #lisp 03:12:15 s/coerced/compiled/ 03:12:25 You might find COMPILE useful. 03:12:25 drewc: I am trying to construct a hash-table with keys being :keywords and values being functions... I would like to recurse over tuples of '(:keyword lambda-exprs) and use these to build the table. 03:13:01 Or you might want to use a macro ... 03:13:17 Zhivago: (coerce '(lambda (x) x) 'function) works just file 03:13:18 It depends on when you want to construct the functions. 03:13:20 cpt_nemo [cpt_nemo@rfc1459.de] has joined #lisp 03:13:23 fine* 03:13:30 Zhivago: I will certainly consider that. Thank you :o) 03:13:49 Ah, so it does. 03:13:54 drewc: Oh, I wasn't aware that cold be done. 03:13:56 mek||malloc: if you want the values to be function, why are you setting them to lists? 03:14:03 just use functions in the first place! 03:14:35 drewc: I'm trying to defun as little as possible. 03:14:36 `(:keyword ,(lambda (...) ...)) 03:14:43 who said anything about defun? 03:14:58 -!- felipe [~felipe@my.nada.kth.se] has quit [Quit: felipe] 03:15:11 MetalDust_Clouds [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has joined #lisp 03:15:20 drewc: Is the comma just whitespace? 03:15:23 no 03:15:49 skalawag [~user@c75-111-102-202.amrlcmta01.tx.dh.suddenlink.net] has joined #lisp 03:15:50 -!- MetalDust [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has quit [Ping timeout: 272 seconds] 03:15:53 that form is like saying (list :keyword (lambda (...) (...))) 03:16:00 note the backquote 03:16:24 -!- MetalDust_Clouds is now known as MetalDust 03:16:33 ' != ` ? 03:16:47 minion: tell mek about pcl 03:16:48 mek: direct your attention towards pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 03:17:09 drewc: I've read through pcl. 03:17:33 mek||malloc: not well enough.. LAMBDA and ` are both explained quite well. 03:17:47 minion: tell mek about gentle 03:17:47 mek: have a look at gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/ 03:18:14 drewc: I was simply asking if an apostrophe was different than backquote. 03:18:26 Which I'm assuming it isn't. 03:18:26 Where commas are concerned, yes. 03:18:27 also see http://www.lispworks.com/documentation/HyperSpec/Body/02_d.htm 03:18:38 Zhivago: That's what I was trying to figure out. Thank you very much :o) 03:19:16 Backquote is a kind of templating mechanism. 03:26:19 -!- jweiss_ [~jweiss@cpe-069-134-009-048.nc.res.rr.com] has quit [Ping timeout: 240 seconds] 03:28:34 So `(:keyword ,(lambda (...) ...)) will create a list containing :keyword and the lambda expression evaluated... But wouldn't that just make the lambda expression disappear since it's not bound to anything? 03:28:55 Well, it's in the list ... 03:29:11 -!- drl [~lat@125.167.140.159] has quit [Quit: Leaving] 03:29:13 in (1 2 3), the 3 doesn't just fall off, does it? 03:29:43 Zhivago: Right, but a backquote forces evaluation of the following expression 03:29:55 A comma* rather 03:30:01 Yes, but what does (lambda (x) (+ x 1)) evaluate to? 03:30:11 gigamonkey [~user@adsl-99-17-207-80.dsl.pltn13.sbcglobal.net] has joined #lisp 03:30:18 A function; I see. 03:30:34 So it holds a pointer to the anonymous function 03:30:41 simplechat [~simplecha@123-243-79-139.static.tpgi.com.au] has joined #lisp 03:30:41 -!- simplechat [~simplecha@123-243-79-139.static.tpgi.com.au] has quit [Changing host] 03:30:41 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 03:31:02 I suggest not saying "pointer". 03:31:18 The list contains that function, yes. 03:31:28 Zhivago: Prefer reference? 03:31:29 (Other things can also contain it) 03:31:37 If you must, yes. 03:31:54 But the it gets a little awkward when you talk about passing references by value. 03:32:14 Think about string. 03:32:26 If I have a bedpost, I can tie a bit of string to it. 03:32:37 Nothing stops me from tying a second bit of string to it. 03:32:39 Zhivago: I understand how linked lists work. 03:32:44 I don't need to talk about references. 03:33:00 In the same regard there's no reason that I can't have an object in multiple lists simultaneously. 03:33:11 I suppose it's just an argument about semantics, and whether pointers explicitly correspond to locations in memory or the concept of referencing. 03:33:19 There are no pointers. 03:33:31 So there's no reason to consider those semantics. 03:34:01 Zhivago: If there were no pointers, a cons cell could only store a value and not point to a neighbor. 03:34:11 Nonsense. 03:34:15 Zhivago: Hence my point of semantics; I am happy to simply call this a reference if pointer implies memory location. 03:34:23 You've just got the wrong mental model. 03:34:40 You're imagining these things to be like C variables rather than bindings. 03:34:47 Zhivago: No, I'm not. 03:34:50 cons cells do only store values 03:35:07 mek: You are, and you don't know it yet. 03:35:19 mek: What is a variable in CL? 03:35:23 drewc: And is one value not a reference which points either to nil or a neighbor? 03:35:40 (cons 1 2) ... 03:35:41 Zhivago: Anything that isn't a function, lisp, or macro (or otherwise special form). An atom. 03:35:48 mek: Wrong. 03:35:50 mek||malloc: no. 03:35:56 32 is not a variable in CL. 03:36:10 Zhivago: It's an atom which evaluates to itself 03:36:13 So what? 03:36:24 That doesn't make it a variable. 03:36:40 variables are not atoms 03:36:43 Zhivago: Then arguable there are no variables; it's semantic sugar. 03:36:47 A variable is an association between a name and a value. 03:36:50 Wrong. 03:37:14 -!- wedgeV [~wedge@cpe-24-193-123-94.nyc.res.rr.com] has quit [Quit: wedgeV] 03:37:20 (let ((a 10)) <- here we have a variable named a bound to the value 10 03:37:45 Your error is to assume that things like this are places onto which values are written. 03:38:12 Which is why you are incapable of thinking about cons blocks without pointers. 03:38:16 Zhivago: It seems to me that you simply have a lexical binding which exists in a symbol table where a is symbol (atom) that resolves to the symbolic value in scope (as semantic sugar) 03:38:23 There is no symbol table. 03:38:30 Uh. 03:38:34 what he said 03:38:57 Think about these in terms of associative bindings, and the concept of pointer becomes unnecessary. 03:38:58 Zhivago: You're not right. 03:39:03 mek: Provide reasoning. 03:39:07 lol 03:39:25 well, there's the compile-time lexical environment... does that count as a symbol table? 03:39:26 Zhivago: CL is a lisp 2, bindings are stored for relations between functions and bound atoms and lists. 03:39:38 mek: Where? 03:39:41 -!- The_Fellow1 [~spider1@glida.mooo.com] has quit [Ping timeout: 255 seconds] 03:39:43 what is a bound atom? 03:40:01 drewc: A symbol who points to some value within its scope in the symbol table. 03:40:21 mak: There is no symbol table, and symbols don't point. 03:40:31 what he said 03:40:39 mak: You cannot use the symbol named a to reach the value 10 in the above example. 03:41:05 mek: You are stuck in a C-like model -- it's time to break out of that. 03:41:14 -!- sellout [~greg@c-24-61-13-161.hsd1.ma.comcast.net] has quit [Quit: sellout] 03:41:22 that's what SHE said! 03:41:48 Zhivago: I'm not sure what you mean by not being able to "reach the value 10" 03:41:52 -!- setheus [~setheus@cpe-70-116-140-134.tx.res.rr.com] has quit [Quit: leaving] 03:42:20 mak: (let ((a 10) (b 'a)) <- use the value of b to find the value 10 ... 03:43:28 Zhivago: If you are referring to the fact that the scoping is lexical in the case of let bindings -- of course, which is why I said it's semantic sugar. 03:43:54 mek: So, where is this symbol table? 03:44:18 symbol-macrolet more like! 03:45:18 rff [~rff@ip72-207-243-174.br.br.cox.net] has joined #lisp 03:45:23 felideon [~felideon@adsl-64-127-52.mia.bellsouth.net] has joined #lisp 03:45:55 -!- p_l|home [~pl@pp84.internetdsl.tpnet.pl] has quit [Ping timeout: 240 seconds] 03:47:20 fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has joined #lisp 03:47:57 sellout [~greg@c-24-61-13-161.hsd1.ma.comcast.net] has joined #lisp 03:48:51 Zhivago: At the package level. 03:49:14 mek: Wrong. 03:49:30 -!- sdsds [~sdsds@dyn-16.sub2.cmts01.cable.TORON10.iasl.com] has quit [Ping timeout: 240 seconds] 03:49:43 mek: Test your theory with the above example and symbol-value. 03:49:53 (let ((a 10)) (symbol-value 'a)) 03:49:59 makao007 [~makao007@61.142.209.146] has joined #lisp 03:50:20 Zhivago: But a let is just a lexical binding 03:50:33 Zhivago: Which is why I claimed it's semantic sugar. 03:50:37 mek: So, why are you babbling about packages? 03:50:46 mek: So, why are you introducing symbol tables? 03:50:55 Zhivago: You asked on what level are symbol tables relevant. 03:51:01 mek: Are you claiming that lexical variables aren't variables? 03:51:43 Zhivago: Sure, I think it's an abstraction which doesn't present any consequences. 03:51:44 p_l|home [~pl@pp84.internetdsl.tpnet.pl] has joined #lisp 03:51:49 Zhivago: It is the same as throwing a value onto the stack 03:52:06 Um, no. 03:52:11 mek||malloc: you are very confused 03:52:20 setheus [~setheus@cpe-70-116-140-134.tx.res.rr.com] has joined #lisp 03:56:23 -!- dys [~andreas@krlh-5f720dfd.pool.mediaWays.net] has quit [Ping timeout: 276 seconds] 03:56:27 dys` [~andreas@krlh-5f7224e1.pool.mediaWays.net] has joined #lisp 03:56:37 where does symbol-value look up symbol values? 03:57:01 clhs symbol-value 03:57:02 http://www.lispworks.com/reference/HyperSpec/Body/f_symb_5.htm 03:57:14 syntard: wherever it wants. 03:57:19 ok, value cell 03:57:32 where do symbols sit? 03:57:43 syntard: conceptually, you can imagine that (defstruct symbol name package value function plist) 03:57:46 But symbol-value cannot access something that is lexically bound 03:57:49 Correct? 03:58:07 mek||malloc: meaningless. 03:58:21 pjb: In what way is that meaningless? 03:58:58 (let ((sym 'x)) (symbol-value sym)) ; symbol-value will access the value slot of the symbol x, while it is lexically bound to the variable sym. 03:59:28 But obviously, the function symbol-value cannot access to the lexical binding of sym, because it's not in its lexcial scope! 04:00:04 holy cow 04:00:49 pjb: what do I do while imagining (defstruct ...) ? 04:01:12 You imagine where symbol-value looks up symbol values. 04:01:50 -!- phrixos [~miar1@bs0176.nerc-bas.ac.uk] has quit [Ping timeout: 264 seconds] 04:02:15 phrixos [~miar1@bs0176.nerc-bas.ac.uk] has joined #lisp 04:02:54 nefo [~nefo@2402:f000:5:8f01::143:81] has joined #lisp 04:02:54 -!- nefo [~nefo@2402:f000:5:8f01::143:81] has quit [Changing host] 04:02:55 nefo [~nefo@unaffiliated/nefo] has joined #lisp 04:03:57 syntard: Gentle Intro, pdf page 117 04:04:35 -!- drdo [~user@2.208.54.77.rev.vodafone.pt] has quit [Ping timeout: 255 seconds] 04:05:42 felideon: thanks, i'll read more carefully 04:06:57 no problem. 04:07:20 The_Fellow [~spider1@glida.mooo.com] has joined #lisp 04:13:15 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [] 04:13:17 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Ping timeout: 276 seconds] 04:15:23 -!- ltriant [~ltriant@lithium.mailguard.com.au] has quit [Ping timeout: 255 seconds] 04:15:32 rTypo [~rTypo@pc54.clicknet.iasi.rdsnet.ro] has joined #lisp 04:16:52 -!- Salamander__ is now known as Salamander 04:21:51 ekpneo [ekpneo@cloud2.real-ity.com] has joined #lisp 04:21:58 helo 04:24:26 I'm, well, I'm a huge newb to common lisp. Is there a way to evaluate a form as the initial value of a let binding? ie: (let ((var (+ 1 2)) ...)? I'm suspicious that a setq in the body is the lisp way 04:25:55 That example is perfectly fine, and using a setq would be unlispy. 04:26:01 ekpneo: hwat you wrote is the preferred way. 04:26:15 -!- tritchey [~tritchey@c-68-51-119-127.hsd1.in.comcast.net] has quit [Quit: tritchey] 04:26:41 interesting... I'll try a simpler example in my environment, but it gave warnings when I tried before. 04:26:50 minion: tell ekpneo about pcl 04:26:51 ekpneo: have a look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 04:26:54 Reading the warnings may be useful. 04:27:43 I did read them, and it appeared that it wasn't considering the inner form something it should call 04:27:55 -!- az [~az@p4FE4EB8C.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 04:28:16 you tried (var)? 04:28:41 I did. worked fine with a (var) with a subsequent (setq) 04:28:58 ltriant [~ltriant@lithium.mailguard.com.au] has joined #lisp 04:29:15 that LET form doesn't bind a function. 04:29:22 (var) shouldn't work. 04:29:56 ekpneo: we prefer setf to setq these days. You likely forget a set of parens and tried something like (let (var (+ 1 2)) ...) 04:30:18 drewc: that's exactly what I just found out. Yup. 04:30:24 V-ille [~ville@70.42.89.16] has joined #lisp 04:30:32 drewc: not nested enough 04:30:35 b4|hraban [~b4@a83-163-41-120.adsl.xs4all.nl] has joined #lisp 04:32:50 the land of lisp is awsome 04:34:47 bandu [kvirc@99.58.239.211] has joined #lisp 04:35:43 az [~az@p4FE4EBD1.dip.t-dialin.net] has joined #lisp 04:37:18 superflit [~superflit@c-24-9-162-197.hsd1.co.comcast.net] has joined #lisp 04:38:27 -!- felideon [~felideon@adsl-64-127-52.mia.bellsouth.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 04:38:34 dreamcode [~Wistful@unaffiliated/wistful] has joined #lisp 04:42:00 abugosh [~Adium@pool-108-15-19-17.bltmmd.fios.verizon.net] has joined #lisp 04:45:13 -!- dreamcode [~Wistful@unaffiliated/wistful] has quit [Quit: Leaving] 04:46:17 -!- nefo [~nefo@unaffiliated/nefo] has quit [Quit: Leaving] 04:46:20 -!- bandu [kvirc@99.58.239.211] has quit [Quit: client closed in haste] 04:48:01 ramkrsna [~ramkrsna@115.242.38.2] has joined #lisp 04:48:01 -!- ramkrsna [~ramkrsna@115.242.38.2] has quit [Changing host] 04:48:01 ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has joined #lisp 04:49:38 -!- abugosh [~Adium@pool-108-15-19-17.bltmmd.fios.verizon.net] has quit [Quit: Leaving.] 04:50:45 dnm [~dnm@c-68-34-57-169.hsd1.va.comcast.net] has joined #lisp 04:52:03 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Read error: Connection reset by peer] 04:52:35 -!- Adamant [~Adamant@unaffiliated/adamant] has quit [Ping timeout: 255 seconds] 04:54:08 -!- b4|hraban [~b4@a83-163-41-120.adsl.xs4all.nl] has quit [Quit: Leaving] 04:54:10 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #lisp 04:54:42 Adamant [~Adamant@unaffiliated/adamant] has joined #lisp 04:54:55 drdo [~user@2.208.54.77.rev.vodafone.pt] has joined #lisp 04:56:01 Can anyone recommend a good laptop? 04:56:41 I hear the OnTopic laptop is good. 04:57:02 Oh come on, i'm sad :( 04:57:16 I started typing this on Qosmio . . . hey I'm still here! 04:57:18 I don't understand it is so hard to find a decent piece of hardware 04:57:29 *why it is 04:57:49 are you looking for portable or powerhouse? 04:58:00 portable 04:58:06 smaller? larger? 04:58:37 I'd prefer around 15" monitor, but i wouldn't complain if i could find a good one with no less than 13" 04:58:49 drdo: #lispcafe is good for this, I think. 04:58:52 I recently (as in a few weeks ago) purchased a ThinkPad Edge 13 ... Intel version. Treating me well so far 04:58:53 -!- skaboy [~grant@c0144.aw.cl.cam.ac.uk] has quit [Ping timeout: 265 seconds] 04:59:11 I am having some trouble with hash-tables. I keep getting errors suggestion my hash values are not of type HASH-TABLE http://paste.lisp.org/display/116494 . I've tried not using coercion in dirhash-2d but I get the same result. Can anyone suggest what I am doing incorrectly? 04:59:54 ekpneo: I live near the edge of the civilized world, how much did that cost? 05:00:09 peterhil [~peterhil@a91-153-127-82.elisa-laajakaista.fi] has joined #lisp 05:00:20 drdo: MacBook Air 05:00:43 It's interesting because... If I don't tail recurse using labels (and just return a single hash-table entry) it seems to work correctly. 05:00:51 pjb: That's the kind of shit i'm trying to get rid of 05:01:19 So my guess is the like: (build (cdr records) (setf ... is the cause of the problem. Any suggestions would be appreciated. 05:01:26 s/like/line 05:01:29 mek||malloc: (setf ..) returns value. 05:01:30 not the hash table. 05:01:38 drdo: what do you mean. 05:01:56 drdo: can get it from amazon for as little as $521 05:02:02 Good morning everyone! 05:02:07 Good morning! 05:02:13 why you want to keep passing the table around as an argument is beyond me. It's lexically visible. 05:02:15 *syntard* waves 05:02:15 sykopomp: Oh, I understand. Should I be doing something like a loop and collecting? I was reading tutorials on hash-tables and none provided alternative methods for adding entries 05:02:29 sykopomp: Oh, it is? 05:02:33 pjb: I mean the nazi ways of apple are total shit and i can't bear to use this crap anymore 05:02:43 mek||malloc: and what is this silliness you're doing with the commas? You're doing it wrong! 05:02:54 drdo: you can install linux on mac laptops. 05:03:01 The hardware is great. 05:03:04 drdo: Yeah. It's not like they're proving a link between smoking and lung cancer, is it? 05:03:06 mek||malloc: well, right now, table is not lexically visible, but you can make it be, and you don't need to keep passing it to build like that... 05:03:32 pjb: It's not exactly like that 05:03:50 sykopomp: Oh, I asked about that earlier and that was the solution provided... And don't I lose the efficiency of TCO if I don't accumulate the hash table after each add? 05:04:13 Well, first of all, CL does not guarantee TCO. 05:04:13 drdo: I had a DELL laptop once, it was great. Used it a long time. 05:04:15 It only boots with ACPI turned off or no SMP, heats up a lot 05:04:24 plus it's not really great hardware 05:04:37 second of all, a hash table is a single object, not a persistent data structure. 05:04:44 it's barely a year and it's already missing some parts and my A key is falling off 05:04:44 you side effect it. It's a single thing. 05:05:28 drdo: I understand that too. The alternative is to buy the cheapest one on the market, so you get money spare to buy another cheapest one when it breaks. 05:05:51 drdo: notice how littel secondhand market there is of Apple stuff... 05:06:14 pjb: I'm going crazy at how hard it is to get decent stuff nowadays 05:06:21 It wasn't like this 05:06:27 sykopomp: Oh, I see. So simply performing a (make-hash-table) will create a hash table that persists in the lexical scope of its caller, though? There is no need to defparameter? 05:06:45 drdo: well, the trend started a long time ago. 05:06:50 I swear i'm going to cry if i open a manufacturer's website and see the word "glossy" again 05:06:57 Yeah. Once upon a time you could get 8 bit processors with 256 bytes of ram. 05:06:57 lol 05:07:05 mek||malloc: I feel like you have a deep misunderstanding of Lisp's semantics. 05:07:11 These days I can't find anything with less than a gig. 05:07:42 sykopomp: For a list, I would simply accumulate. I was under the impression that I could do the same accumulation with a hash table -- perhaps not. 05:08:29 Seems strange that there would be no way (short of plists and alists) accumulatively build hashtables and not have to set them 05:08:49 Zhivago: i just want a well built piece of hardware, not cutting edge and not some shit they slapped together with the cheapeast plastic they could find on top and called it a product 05:08:53 sykopomp: I am indeed confuse d on this issue. 05:08:57 there you go again with your 'setting' thing. 05:09:12 sykopomp: Is a defvar not setting? 05:09:23 I boggle. 05:09:30 Well, it isn't like you're going to use it for more than a couple of years ... 05:09:33 I don't know what to say. 05:09:39 why do you have to defvar this?! 05:09:57 sykopomp: I don't at all, and wouldn't. 05:10:05 Zhivago: i'm a student, i don't really have money to throw around 05:10:18 buying crap to replace rap 05:10:19 neither would I, unless I want the hash table to be globally visible, or dynamically visible to some scope. 05:10:19 *crap 05:11:10 mek: CL has no built-in functional hash-table datatype. 05:11:14 mek||malloc: (let ((table (make-hash-table))) (loop for (key value) in (dirs) do (setf (gethash key table) value)) table) 05:11:20 consider this code. 05:11:29 mek: Extending a non-functional hash-table requires modifying the hash-table's internal structure. 05:11:31 maybe it'll help you understand? 05:12:45 Zhivago: is list functional? 05:13:03 -!- dto1 [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Ping timeout: 245 seconds] 05:13:04 Depends on how it's used. 05:13:14 #'LIST is functional. Cons cells are mutable. 05:13:56 functional, as in side-effect free? 05:14:08 sykopomp: I see. So I could just.... (let ((table (make-hash-table))) (labels ((rec (records) ... I understand your points now. 05:14:17 mek||malloc: or just use LOOP 05:14:44 syntard: functional as in "always evaluates to the same result when given the same inputs" 05:14:45 kushal [~kdas@fedora/kushal] has joined #lisp 05:14:58 ahh 05:15:03 drdo: computers are different. Buying the cheapest over and over (each 18 months) can make good economic sense. 05:15:15 sykopomp: Yes, I was just making sure I understood your point. 05:15:25 sykopomp: Thank you again for your help, I appreciate it. 05:15:35 mek||malloc: lexical variables are your friend. 05:16:09 _nix00 [~Adium@61.172.241.100] has joined #lisp 05:16:37 sykopomp: I agree, I was just not understanding that the hash table had side effects. I was expecting to take a copy of the current table and build a new one containing the old table and a new entry. This was my confusion. 05:16:39 -!- makao007 [~makao007@61.142.209.146] has left #lisp 05:16:49 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Remote host closed the connection] 05:16:55 and why did you think this about hash tables? 05:17:19 sykopomp: Because I have not used hash-tables before in CL, whereas I have used p-lists and a-lists and assumed the principles would be similar. 05:17:38 -!- lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has quit [Ping timeout: 245 seconds] 05:17:58 perhaps you should read a text on Common Lisp. 05:18:04 minion: pcl 05:18:05 pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 05:18:09 sykopomp: I have read most of PCL. 05:18:17 mek||malloc: it doesn't sound like you did. 05:18:41 mek||malloc: what's with the past tense? you should be _reading_ it. now. 05:19:14 or any lisp text, for that matter. 05:19:16 would you guys recommend On Lisp, too? I'm juggling about 3 different CL texts atm 05:19:23 ekpneo: no, i wouldn't 05:19:34 ekpneo: definitely not for a newbie. 05:21:40 I've got "Loving Lisp", "Successful Lisp", PCL and On Lisp (the last of which I will shelve for the time being) 05:21:52 -!- rff [~rff@ip72-207-243-174.br.br.cox.net] has quit [Ping timeout: 272 seconds] 05:22:13 -!- yates [~yates@nc-76-3-105-199.dhcp.embarqhsd.net] has quit [Ping timeout: 245 seconds] 05:22:19 ekpneo: I disagree with drewc on that point. But it is not a book for beginners. 05:22:32 ekpneo: Also, PAIP is a very good book in my opinion. 05:22:39 PAIP 05:22:49 great book 05:22:49 minion: paip 05:22:49 paip: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp by Peter Norvig. http://www.cliki.net/paip 05:23:42 kjbrock [~kevin@173-11-106-193-SFBA.hfc.comcastbusiness.net] has joined #lisp 05:24:14 i also enjoyed land of lisp, and i think it would be a good introduction as well. 05:24:56 -!- _nix00 [~Adium@61.172.241.100] has left #lisp 05:25:08 trying to figure out what I want to actually *do* in it, too... hard thinking up projects in lisp (that I don't really know) that won't drown me 05:25:35 you could /join #lispgames 05:26:17 there's occasional events where everyone spends anywhere from a couple of days to several weeks on a short-term project with a clearly-delineated beginning and end. 05:26:19 ekpneo: toy lisps of course! :) 05:26:38 it seems to be pretty good for getting people to just hack on something and feel satisfied with the result. 05:26:53 and toy lisps are always fun :) 05:27:39 please, hack on a UI that doesn't suck 05:27:46 that would be useful 05:27:47 paip is good for that with it's scheme interpreter and compiler 05:28:15 curiously, how many people here use stumpwm? 05:28:36 i do when i'm not stuck on this crappy laptop 05:28:46 I ran it for a while. Ended up switching back to xmonad after like a year. 05:29:18 ekpneo: i used it for a while, but have since gone back to whatever the gnone default is. my 'single emacs full screen' model of computing doesn't require much along the lines of window management. 05:29:25 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #lisp 05:29:40 alt-tab to the browser, and sometimes a terminal around there somewhere :) 05:29:51 drewc: yeah, I'm currently in gnome as well 05:29:51 drewc: why bother with gnome then? 05:29:58 i use emacs and conkeror 05:30:24 drdo: because it's what comes be default when install a desktop version of ubuntu, and i don't care enough to change. 05:31:00 i'm quite worried about ubuntu 05:31:11 also, i like the fancy window animations and desktop cube. call me crazy. 05:31:16 the unity and no-x thing is kind of freaking me out 05:31:24 well, tbh i don't really care, but it' sad the way ubuntu is going 05:31:26 drewc: the cube is sexy. 05:31:30 *it's 05:31:36 so is the bouncy window stuff. 05:31:50 sykopomp: never actually understood the purpose of that stuff 05:31:57 sykopomp: yeah, i dig that stuff. makes me happy. 05:32:02 I, for one, am very much looking forward to Ubuntu forcing X into extinction. 05:32:08 it serves no practical purpose at all 05:32:13 I'm quite excited about Wayland. 05:32:19 only makes people waste time between animations 05:33:26 but oh what fun of a waste of time it is. 05:33:31 drdo: i like art and music as well, even though they serve no practical purpose. life is too short to worry about the purpose of the things others enjoy 05:33:38 effort that could be better used in developing a UI that isn't garbage 05:33:47 drewc: not the same at all 05:33:55 Getting rid of X is the first step towards this! 05:33:56 drdo: i'd rather you go develop that UI then waste our time here 05:35:08 -!- Adamant [~Adamant@unaffiliated/adamant] has quit [Ping timeout: 245 seconds] 05:36:11 I'm too busy being pissed off at the world 05:36:15 lol 05:36:29 well, at least you're honest with yourself 05:36:50 troussan [~user@c-24-245-15-191.hsd1.mn.comcast.net] has joined #lisp 05:37:45 it's actually true, the shear amount of stuff i think is just so obviously dumb that i don't understand how it can actually happen but still done and/or agreed on by the majority of humanity crushes my spirit 05:37:58 i believe that "then STFU kthx" is the only proper respose to your bitching about UIs, and i don't want to here any more of it. 05:38:08 and this extends beyond software 05:38:57 *drewc* points to the topic of the channel and humbly requests the conversation steer in that direction 05:39:47 It'd be awesome to have a statically-typed language where I didn't feel like I had to wrestle with the compiler. 05:39:49 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Read error: Connection reset by peer] 05:39:52 simplechat [~simplecha@123-243-79-139.static.tpgi.com.au] has joined #lisp 05:39:52 -!- simplechat [~simplecha@123-243-79-139.static.tpgi.com.au] has quit [Changing host] 05:39:52 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 05:40:00 or do pointless things to appease it. 05:40:30 what wrestling are you refering to? 05:41:09 O_o 05:41:24 -!- troussan [~user@c-24-245-15-191.hsd1.mn.comcast.net] has quit [Remote host closed the connection] 05:41:28 the sort that happens in kiddy pools filled with k-y jelly, I guess. 05:41:56 i think you just sounded off some alarms at the FBI 05:41:56 is there some core set of asdf packages I should have? everything seems to like alexandria, bordeaux-threads, etc 05:42:08 ekpneo: quicklisp is what you should have. 05:42:14 minion: tell ekpneo about quicklisp 05:42:15 ekpneo: please see quicklisp: Quicklisp aims to make it easy to get started with a rich set of community-developed Common Lisp libraries. http://www.cliki.net/quicklisp 05:42:34 sykopomp: i hear that... i want typeclasses, but i don't want to pay for them :) 05:42:57 drewc: i think about that everyday 05:43:04 drewc: I'm confused as to what they achieve beyond just grouping the equivalent of genfuns together. 05:43:09 never coming up with a solution i'm happy with 05:43:15 I guess they're static IPS dispatch, too? 05:43:26 omg.. it's like ruby gems, but lisp 05:43:51 not exactly 05:44:48 Adamant [~Adamant@unaffiliated/adamant] has joined #lisp 05:45:26 sykopomp: how does a function of 0 arguments dispatch if all dispatch takes place on the type of arguments? 05:45:45 drewc: I dunno! 05:46:00 how does it? 05:46:52 it doesn't, that's the point.. that's what typeclasses acheive :) 05:47:38 -!- phrixos [~miar1@bs0176.nerc-bas.ac.uk] has quit [Ping timeout: 255 seconds] 05:47:42 why need functions of 0 arguments? 05:48:22 because you can't curry forever! 05:48:43 sykopomp: type classes do late binding, btw. 05:48:52 you just need to be firm, curry stops here 05:50:09 ekpneo: i just found out that here, not only is that thinkpad edge out of stock, but costs twice as much as what you said :( 05:50:21 whaaa? 05:50:29 sorry :/ 05:50:36 sykopomp: the obvious example is a function, call it FETCH, that works for both alists and plists. 05:50:46 dberg` [~user@c-98-234-179-166.hsd1.ca.comcast.net] has joined #lisp 05:50:48 welcome to Portugal, 23% VAT, problem? 05:50:56 syntard: if you are dispatching on the type of the list, it's always CONS, non? 05:51:00 sykopomp: rather 05:51:24 drewc: si 05:51:36 drewc: so the type class itself is an implicit way of passing the interface around. 05:52:02 I need to read up on type classes again. Last time I read up on them, I just came out thinking they were grouped-together genfuns. 05:52:20 yes, pretty much. the compiler can determine what implementation of the interface to use for a given expression 05:52:27 sykopomp: sure, they're "just" another way to achieve ad hoc polymorphism. 05:52:46 pkhuong_: genfuns don't implicitly pass around an extra argument for dispatch. 05:53:00 phrixos [~miar1@bs0176.nerc-bas.ac.uk] has joined #lisp 05:53:01 gile2 [~AndChat@69-196-170-252.dsl.teksavvy.com] has joined #lisp 05:53:15 sure they do: THE CLASS. 05:53:16 for quicklisp, does it setup asdf paths as well as install, or do I need to load quicklisp everytime I want to use the libraries I installed through it? 05:53:47 ekpneo: quicklisp include a function that will add the configuration to your implementation's rc file 05:53:51 (ql:add-to-init-file) 05:53:55 that's the one 05:54:08 -!- gile2 [~AndChat@69-196-170-252.dsl.teksavvy.com] has quit [Client Quit] 05:54:40 pkhuong_: you mean the class object itself?... (a-la slot-value-using-class) 05:54:43 of 0 arguments! 05:54:43 right... but, if asdf is loaded already, can quicklisp be used to install, then normal asdf (load-system ...) be used after? Or do you have to go through the quicklisp (load ..) thing? 05:55:00 maybe I'm just trying to stay lean and I shouldn't be 05:55:09 ekpneo: you can use asdf 05:55:11 sykopomp: yes... in a generic function, or even single dispatch, the class is what is dispatched on, not the objects passed to the function. 05:55:23 -!- SegFaultAX [~SegFaultA@c-98-234-1-162.hsd1.ca.comcast.net] has quit [Quit: Lost terminal] 05:55:37 Deesl [~bsdboy@unaffiliated/deesl] has joined #lisp 05:55:46 drewc: I was just wondering if what pkhuong_ meant was the possibility of dispatching on the class metaobject class. 05:55:57 sykopomp: that's what generic functions do 05:56:05 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #lisp 05:56:19 no, generic functions dispatch on class metaobjects. 05:56:37 not on class metaobject classes (unless you pass them in, as with s-v-u-c) 05:56:37 now you've confused me. 05:56:47 you did that to yourself! 05:56:54 oh .. it's your terminology .. 05:57:02 'metaclass' is the class of a class 05:57:21 'metaclass' is an archaic term that we only keep for historical reasons! 05:57:28 the proper term is 'class metaobject class' 05:57:30 ;) 05:57:38 *drewc* laughs 05:58:00 which more clearly communicates the nature of these objects! 05:58:10 if you say so. 05:58:16 *syntard* likes metaclass 05:58:35 drewc: A wise old man named Gregor says so! 05:58:58 he said no such thing! 05:59:36 If I had my copy of AMOP on me, I would throw it at you. 05:59:59 -!- xan_ [~xan@rrcs-69-193-205-118.nyc.biz.rr.com] has quit [Ping timeout: 265 seconds] 06:00:07 I think that's considered an act of attempted murder on six continents due to the weight of the damn thing 06:00:12 :P 06:00:14 mine is at the other boat, unfortunately. 06:00:18 really? 06:00:25 AMOP isn't very big at all. 06:00:29 maybe you're thinking of PAIP? 06:00:31 take "slot" for example.. "slot metaobject class" makes sense. 06:00:32 I thought it was 06:00:40 *Adamant* does not have the book 06:00:50 nah, it's a pretty modest paperback 06:00:55 ah 06:00:59 chp [3d87a5ae@gateway/web/freenode/ip.61.135.165.174] has joined #lisp 06:01:10 -!- fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has quit [Ping timeout: 240 seconds] 06:01:21 PAIP is big. SICP is thick but in a small format. 06:01:42 adeht: well, slot metaclass makes no sense at all... there's no meta. 06:01:44 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Remote host closed the connection] 06:02:02 katesmith_ [~katesmith@unaffiliated/costume] has joined #lisp 06:02:28 drewc: right, "slot metaclass" doesn't make sense. I guess that's why they chose to use the " metaobject class" phrasing 06:03:01 of course there is... the meta refers to a language describing itself, not to a class describing a class. 06:03:34 Modius_ [~Modius@cpe-70-123-158-125.austin.res.rr.com] has joined #lisp 06:03:50 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 06:03:51 pkhuong: but it's the slot that is a metaobject, and this object has a class, which is not a metaclass 06:03:56 -!- Modius_ [~Modius@cpe-70-123-158-125.austin.res.rr.com] has quit [Read error: Connection reset by peer] 06:04:23 Modius_ [~Modius@cpe-70-123-158-125.austin.res.rr.com] has joined #lisp 06:04:55 -!- katesmith [~katesmith@unaffiliated/costume] has quit [Ping timeout: 260 seconds] 06:06:19 -!- Modius [~Modius@cpe-70-123-158-125.austin.res.rr.com] has quit [Ping timeout: 240 seconds] 06:10:11 pkhuong: and the term meta doesn't necessarily refer to a language describing _itself_, just another language, which may happen to be itself.. long ago Tarski made the distinction of meta language and object language 06:13:55 stassats [~stassats@wikipedia/stassats] has joined #lisp 06:14:13 drewc: oh, I guess you can do class Foo x where { frob :: x a -> b }, and class Bar x where { frob :: x a -> b }, no? 06:14:29 or somesuch 06:15:19 -!- adu [~ajr@pool-173-66-11-168.washdc.fios.verizon.net] has quit [Quit: adu] 06:19:00 Fare [~Fare@64.119.159.126] has joined #lisp 06:19:38 vlion [~user@76.178.165.160] has joined #lisp 06:21:31 sigjuice [~sigjuice@c-24-130-52-60.hsd1.ca.comcast.net] has joined #lisp 06:22:16 sykopomp: right 06:24:30 How do you distinguish them during dispatch, though? 06:24:45 I don't understand how you specify whether you're going to use one type class or another. 06:25:32 as in, if frob has instances for both Foo and Bar for x being a cons. 06:25:42 (or something like that) 06:27:07 -!- lnostdal-laptop [~lnostdal@167.80-203-136.nextgentel.com] has quit [Ping timeout: 240 seconds] 06:28:32 rukowen [~thehien@113.161.72.9] has joined #lisp 06:30:16 -!- ltriant [~ltriant@lithium.mailguard.com.au] has quit [Quit: Computer has gone to sleep] 06:30:43 -!- ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has quit [Ping timeout: 240 seconds] 06:31:36 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Remote host closed the connection] 06:32:48 pjb [~t@81.202.16.46.dyn.user.ono.com] has joined #lisp 06:33:34 when you specify that your expression is of a certain type, the compiler can infer which frob it _must_ use in order to meet the type constraints. 06:37:43 mcsontos [~mcsontos@nat/redhat/x-eklgnwoscwajieez] has joined #lisp 06:38:54 -!- V-ille [~ville@70.42.89.16] has quit [Read error: Connection reset by peer] 06:43:28 flip214 [~marek@2001:858:107:1:baac:6fff:fe6b:9183] has joined #lisp 06:43:28 -!- flip214 [~marek@2001:858:107:1:baac:6fff:fe6b:9183] has quit [Changing host] 06:43:28 flip214 [~marek@unaffiliated/flip214] has joined #lisp 06:46:51 Harag [~Harag@wbs-41-208-211-15.wbs.co.za] has joined #lisp 06:48:07 -!- MetalDust [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has quit [] 06:51:17 -!- rrice [~rrice@adsl-69-221-165-176.dsl.akrnoh.ameritech.net] has quit [Quit: Leaving.] 06:54:04 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Remote host closed the connection] 06:59:32 rukowen: I answered your mail. 07:05:56 -!- slyrus__ is now known as slyrus 07:06:01 zomgbie [~jesus@85-127-216-104.dynamic.xdsl-line.inode.at] has joined #lisp 07:06:09 beach: yes, I got it 07:06:13 evening folks 07:06:18 hey slyrus 07:06:38 hey beach. how's SICL coming along? 07:06:51 seangrove [~user@70-0-239-212.pools.spcsdns.net] has joined #lisp 07:07:30 slyrus: Quite well. I have almost 100% coverage on the cons-high module. Once I have that, I'll restructur it according to latest ideas. Finally, I include docstrings and condition reporters, and it's out the door. 07:07:48 excellent 07:08:37 daniel__ [~daniel@p5B3278BC.dip.t-dialin.net] has joined #lisp 07:10:09 drl [~lat@125.167.140.159] has joined #lisp 07:11:47 -!- daniel [~daniel@p508299CF.dip.t-dialin.net] has quit [Ping timeout: 255 seconds] 07:19:03 esologic [~nowl@c-71-233-2-216.hsd1.ma.comcast.net] has joined #lisp 07:19:54 ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has joined #lisp 07:20:24 -!- TraumaPony [~TraumaPon@203-214-114-196.dyn.iinet.net.au] has quit [Ping timeout: 240 seconds] 07:21:50 wbooze` [~user@xdsl-195-14-198-103.netcologne.de] has joined #lisp 07:21:50 homie` [~user@xdsl-195-14-198-103.netcologne.de] has joined #lisp 07:22:18 Joreji [~thomas@88-066.eduroam.RWTH-Aachen.DE] has joined #lisp 07:23:56 -!- homie [~user@xdsl-195-14-196-25.netcologne.de] has quit [Ping timeout: 255 seconds] 07:24:44 -!- wbooze [~user@xdsl-195-14-196-25.netcologne.de] has quit [Ping timeout: 272 seconds] 07:26:56 -!- jdz [~jdz@host44-15-dynamic.4-87-r.retail.telecomitalia.it] has quit [Ping timeout: 255 seconds] 07:30:24 trigen [~MSX@87.209.144.213] has joined #lisp 07:31:27 -!- dys` is now known as dys 07:34:02 simplechat [~simplecha@123-243-79-139.static.tpgi.com.au] has joined #lisp 07:34:02 -!- simplechat [~simplecha@123-243-79-139.static.tpgi.com.au] has quit [Changing host] 07:34:02 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 07:34:40 -!- trigen [~MSX@87.209.144.213] has quit [Ping timeout: 245 seconds] 07:40:22 -!- Buganini_ is now known as Buganini 07:41:04 -!- dberg` [~user@c-98-234-179-166.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 07:43:30 -!- cataska [~cataska@210.64.6.233] has quit [Ping timeout: 260 seconds] 07:44:06 cataska [~cataska@210.64.6.233] has joined #lisp 07:44:55 -!- silenius [~silenus@cpe-76-169-35-122.socal.res.rr.com] has quit [Read error: Connection reset by peer] 07:44:55 lnostdal-laptop [~lnostdal@109.179.153.63.tmi.telenormobil.no] has joined #lisp 07:49:20 -!- seangrove [~user@70-0-239-212.pools.spcsdns.net] has quit [Ping timeout: 260 seconds] 07:50:06 -!- Intensity [sNRHvYTz1x@unaffiliated/intensity] has quit [Quit: Intensity] 07:51:32 SCVirus [~SCVirus@S0106001c1122940c.gv.shawcable.net] has joined #lisp 07:53:33 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Quit: Leaving] 07:54:26 Intensity [xGaRhIBWkw@unaffiliated/intensity] has joined #lisp 07:55:30 silenius [~silenus@cpe-76-169-35-122.socal.res.rr.com] has joined #lisp 07:56:11 makao007 [~makao007@61.142.209.146] has joined #lisp 07:56:27 @join 07:56:53 @help 07:57:10 @shutup 07:59:56 HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 08:01:29 aidalgol [~user@114-134-7-235.rurallink.co.nz] has joined #lisp 08:01:51 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 08:01:58 makao007: What are you trying to do? 08:02:00 varjag [~eugene@122.62-97-226.bkkb.no] has joined #lisp 08:02:35 -!- zomgbie [~jesus@85-127-216-104.dynamic.xdsl-line.inode.at] has quit [Ping timeout: 245 seconds] 08:02:51 -!- Efthymios [~efthymios@c-98-207-146-68.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 08:03:42 relcomp [~chatzilla@nat.rz.uni-karlsruhe.de] has joined #lisp 08:03:48 seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has joined #lisp 08:04:05 i am trying to type some commands on irc 08:04:40 -!- ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has quit [Ping timeout: 265 seconds] 08:06:41 -!- lnostdal-laptop [~lnostdal@109.179.153.63.tmi.telenormobil.no] has quit [Ping timeout: 255 seconds] 08:07:36 -!- Krystof [~csr21@csrhodes.plus.com] has quit [Ping timeout: 240 seconds] 08:09:16 -!- relcomp [~chatzilla@nat.rz.uni-karlsruhe.de] has quit [Quit: ChatZilla 0.9.85 [SeaMonkey 2.0.9/20100930132633]] 08:09:39 dfox [~dfox@ip-94-113-88-214.net.upcbroadband.cz] has joined #lisp 08:12:41 trigen [~MSX@87.209.144.213] has joined #lisp 08:17:45 makao007: Try /help 08:17:52 thank you 08:22:04 -!- rukowen [~thehien@113.161.72.9] has left #lisp 08:24:13 jdz [~jdz@193.206.22.97] has joined #lisp 08:31:32 -!- makao007 [~makao007@61.142.209.146] has left #lisp 08:32:19 kenanb [~kenanb@94.54.235.211] has joined #lisp 08:33:11 -!- pchrist_ [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 08:33:25 kral [~kral@93.185.125.210] has joined #lisp 08:33:33 namaste 08:33:49 pchrist [~spirit@gentoo/developer/pchrist] has joined #lisp 08:35:14 Hun [~Hun@80.81.19.29] has joined #lisp 08:37:22 gravicappa [~gravicapp@ppp85-140-119-108.pppoe.mtu-net.ru] has joined #lisp 08:38:50 Athas [~athas@shop3.diku.dk] has joined #lisp 08:39:32 -!- drdo [~user@2.208.54.77.rev.vodafone.pt] has quit [Ping timeout: 255 seconds] 08:40:34 <_pw_> what's the meaning when (eval-when (:execute) body) appears as a toplevel form? 08:42:00 churib [~tg@dslb-088-071-150-055.pools.arcor-ip.net] has joined #lisp 08:42:03 pavelludiq [~quassel@87.246.57.22] has joined #lisp 08:44:52 clhs eval-when 08:44:52 http://www.lispworks.com/reference/HyperSpec/Body/s_eval_w.htm 08:45:10 _pw_: it means that body should not be executed when compiling or loading this file. 08:45:19 Only when 'executing' int. 08:45:21 it 08:45:47 aerique [euqirea@xs2.xs4all.nl] has joined #lisp 08:46:30 Now, since when loading a file it's executed, ... 08:46:41 <_pw_> thanks, but still a question. 08:46:55 But when loading the .fasl generated by compiling it, it won't be executed. 08:47:09 Because when loading a .fasl, nothing is executed (but the load-time forms). 08:47:13 <_pw_> when compiling, is it should not executed? 08:47:19 Correct. 08:47:47 Basically, that body is executed only when loading/executing the source. 08:50:18 -!- homie` [~user@xdsl-195-14-198-103.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 08:50:25 -!- wbooze` [~user@xdsl-195-14-198-103.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 08:50:32 <_pw_> ok, going to read clhs eval-when again. 08:51:31 It's not simple. 08:52:08 <_pw_> yes, too complicated for me. 08:52:16 :execute = load *.lisp ; :compile-toplevel = compile-file ; :load-toplevel = load *.fasl 08:52:50 <_pw_> any good examples to suggest? 08:52:52 If you consider only toplevel eval-when. eval-when elsewhere is crazyness. 08:53:00 -!- drl [~lat@125.167.140.159] has quit [Ping timeout: 245 seconds] 08:53:16 -!- esologic [~nowl@c-71-233-2-216.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 08:53:21 Yes: when you defun a function that is used at macroexpansion time by a macro in the same file, it should be put in eval-when :compile-toplevel. 08:53:54 (eval-when (:compile-toplevel) (defun f ...)) (defmacro m () (f ...) `(...)) 08:54:40 Well, usually you put (:compile-toplevel :load-toplevel :execute), because there's no reason not to load and define it in other circumstances too. 08:55:14 homie [~user@xdsl-195-14-198-103.netcologne.de] has joined #lisp 08:55:27 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 08:55:34 wbooze [~user@xdsl-195-14-198-103.netcologne.de] has joined #lisp 08:59:13 beaumonta [~abeaumont@85.48.202.13] has joined #lisp 08:59:31 -!- beaumonta is now known as abeaumont_ 09:00:26 -!- kenanb [~kenanb@94.54.235.211] has quit [Quit: Leaving.] 09:03:40 LinGmnZ [~isra.wic@183.89.181.49] has joined #lisp 09:04:28 Maou [~isra.wic@183.89.181.49] has joined #lisp 09:05:36 ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has joined #lisp 09:07:50 -!- LinGmnZ [~isra.wic@183.89.181.49] has quit [Ping timeout: 240 seconds] 09:07:59 drl [~lat@125.167.140.159] has joined #lisp 09:08:18 LinGmnZ [~isra.wic@183.89.181.49] has joined #lisp 09:09:05 -!- Maou [~isra.wic@183.89.181.49] has quit [Ping timeout: 255 seconds] 09:09:21 emma [~em@unaffiliated/emma] has joined #lisp 09:09:52 Maou [~isra.wic@183.89.181.49] has joined #lisp 09:11:00 wbooze` [~user@xdsl-195-14-198-103.netcologne.de] has joined #lisp 09:12:10 jconrad [~jconrad@host109-156-3-121.range109-156.btcentralplus.com] has joined #lisp 09:12:56 -!- LinGmnZ [~isra.wic@183.89.181.49] has quit [Ping timeout: 276 seconds] 09:14:26 -!- wbooze [~user@xdsl-195-14-198-103.netcologne.de] has quit [Ping timeout: 264 seconds] 09:14:59 -!- wbooze` [~user@xdsl-195-14-198-103.netcologne.de] has quit [Client Quit] 09:16:28 Hi! Beginner question: Is there a simple way to do something like (unless *debug* (declare (optimize ... ))) - i have no macro-experience yet... 09:16:53 -!- drl [~lat@125.167.140.159] has quit [Remote host closed the connection] 09:17:31 astoon [~astoon@213.141.244.246] has joined #lisp 09:17:31 #.(cl:unless package:*debug* '(declare (optimize ... ))) 09:17:34 wbooze [~user@xdsl-195-14-198-103.netcologne.de] has joined #lisp 09:18:00 will try that, thanks! 09:18:08 -!- aidalgol [~user@114-134-7-235.rurallink.co.nz] has quit [Ping timeout: 276 seconds] 09:18:11 better yet, don't put optimize which affects debugging 09:18:51 and if you're using sbcl, you can always say (sb-ext:restrict-compiler-policy 'debug 2) 09:18:55 and recompile your code 09:19:05 yeah, i am using sbcl 09:19:27 i have that line in my initialization file 09:19:37 because you never know when you need to debug 09:20:30 hm, i want a switch for speed or debugging... 09:21:20 with sb-ext:restrict-compiler-policy you can switch whatever you want without modifying your code 09:22:36 okay, thanks for pointing in that direction 09:23:12 marijnjh [~user@p579F6FDA.dip.t-dialin.net] has joined #lisp 09:23:36 good morning 09:23:54 drl [~lat@125.167.140.159] has joined #lisp 09:25:12 -!- dfox [~dfox@ip-94-113-88-214.net.upcbroadband.cz] has quit [Ping timeout: 265 seconds] 09:25:35 hlavaty [~user@77-22-100-178-dynip.superkabel.de] has joined #lisp 09:27:25 good morning to you, too 09:27:52 Beetny [~Beetny@ppp118-208-8-91.lns20.bne1.internode.on.net] has joined #lisp 09:31:11 _danb_ [~user@124-149-32-186.dyn.iinet.net.au] has joined #lisp 09:33:59 -!- daniel__ is now known as daniel 09:35:56 -!- Anarch [~olaf@c-67-171-37-107.hsd1.wa.comcast.net] has quit [Quit: WILL TROLL FOR FOOD] 09:42:12 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Read error: Connection reset by peer] 09:44:38 -!- ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has quit [Ping timeout: 255 seconds] 09:45:30 freiksenet [~freiksene@cs181130165.pp.htv.fi] has joined #lisp 09:47:23 -!- Deesl [~bsdboy@unaffiliated/deesl] has quit [Ping timeout: 276 seconds] 09:48:51 ravic [~ravi@118-93-189-209.dsl.dyn.ihug.co.nz] has joined #lisp 09:49:01 ziarkaen [~ziarkaen@stu072.queens.ox.ac.uk] has joined #lisp 09:49:04 hello 09:49:23 ravic: hi 09:49:31 hello 09:49:44 ravic: it looks like you're in new zealand, do I know you? 09:49:47 udzinari [~user@209.158.broadband13.iol.cz] has joined #lisp 09:50:04 arbscht, maybe , maybe not :) 09:50:07 *ravic* is in auckland 09:50:17 -!- ASau` is now known as ASau 09:50:17 ravic: come to the lisp user meetup! 09:50:38 there is a lisp user meetup!!!? 09:50:53 ravic: yes 09:51:14 way cool 09:51:34 ravic: email me for details: mail@abhishek.geek.nz - I'm organising things manually for now. we'll have a webpage and things up soon 09:51:50 arbscht, will do 09:54:15 -!- udzinari [~user@209.158.broadband13.iol.cz] has quit [Ping timeout: 245 seconds] 09:54:31 <_danb_> is there an australian lisp meet up? 09:54:49 _danb_: travel to auckland is cheap :) 09:55:26 Davidbrcz [~david@212-198-92-25.rev.numericable.fr] has joined #lisp 09:56:48 on a raft 09:57:11 i am curious to find out if there are many in industry that use lisp here 09:57:23 (as in, in akl :)) 09:58:44 arbscht: So you are continuing the tradition we started then? That's great! How often doyou meet? How many people come? Anyone I know? 09:59:25 freddie111 [~user@ppp-94-64-134-205.home.otenet.gr] has joined #lisp 10:00:22 beach: reviving it, yes. I'm hoping to make it monthly. I have a roster of over a dozen interested people. I think you may have met two or three of them 10:02:12 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 10:02:21 Excellent! 10:02:50 i clearly need to make a window with the backtrace and stuff to pop-up on errors in my GUI application, because freezing and invoking some distant debugger isn't convenient 10:03:30 and then i need an editor to fix the bug which caused the debugger to pop-up, hell, i need the whole development environment with it 10:03:38 -!- [df] [~df@163.8.187.81.in-addr.arpa] has quit [Ping timeout: 276 seconds] 10:03:49 stassats: If you are using McCLIM, it already has that. 10:04:07 it has a debugger? 10:04:18 -!- longshot [~longshot@207.204.226.230] has quit [Ping timeout: 245 seconds] 10:04:46 stassats: Depends on what you mean by "debugger", but as I recall it has the backtrace window. 10:04:53 *stassats* thinks about error message with a button "debug in slime" 10:05:13 beach: how do i turn it on? 10:05:24 i haven't seen it 10:05:26 stassats: Hold on... 10:07:19 stassats: There are instructions in App/Debugger/clim-debugger.lisp 10:08:11 stassats: Using the CLIM listener, the CLIM debugger, and the CLIM inspector turns the thing into reasonable IDE. 10:08:13 i see, i forgot that i don't use clim anymore, so i don't actually need it 10:08:43 clhs *debugger-hook* 10:08:44 http://www.lispworks.com/reference/HyperSpec/Body/v_debugg.htm 10:09:49 -!- Joreji [~thomas@88-066.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 250 seconds] 10:10:08 beach, are you still working on a new version of clim? 10:13:35 -!- pavelludiq [~quassel@87.246.57.22] has quit [Remote host closed the connection] 10:14:07 -!- Lycurgus [~juan@cpe-72-228-177-92.buffalo.res.rr.com] has quit [Remote host closed the connection] 10:14:13 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 10:16:52 longshot [~longshot@207.204.226.230] has joined #lisp 10:17:27 how can i store graph data with associative lists? smth like this (node . neighbors) 10:17:41 drl: At the moment I am spending more time on SICL, but yes, that is still the plan. 10:18:31 i know it's a simple question, but i've just begun learning LISP 10:18:48 lesson number 1: it's called Lisp nowadays 10:18:58 rtypo: By store what do you mean? 10:19:04 i am working on my own interpreter 10:19:33 Zhivago: just simply passing a list as a parameter 10:19:44 (sorry for mistake) 10:19:45 So, you mean "construct"? 10:19:53 yes, indeed 10:19:59 What part of this process is confusing you? 10:20:30 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Ping timeout: 245 seconds] 10:20:34 i need just a tip on how do i store the neighbors part (the cdr) 10:20:37 and have come across the semantics of the way lexical scoping works ... it is commonly said I think that a function has access to it's own local variables and the variables within which the function was defined) 10:21:20 rtypo: As a list? 10:21:24 however, isn't it more correct, to say, a function has access to it's own local variables and the the variables of an invocation of the function it was defined in? 10:21:46 ravic: I think you are interested in "lexical closure". 10:22:32 Zhivago, pardon my igorance, but is there a difference? 10:22:58 ravic: That is the term you should probably look up to get less confused. 10:23:50 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 10:24:41 beach, that is good news. I'm following your progress. 10:25:04 nha [~prefect@imamac13.epfl.ch] has joined #lisp 10:26:38 -!- ziarkaen [~ziarkaen@stu072.queens.ox.ac.uk] has quit [Ping timeout: 255 seconds] 10:28:36 longshot_ [~longshot@180.184.7.218] has joined #lisp 10:31:54 -!- longshot [~longshot@207.204.226.230] has quit [Ping timeout: 265 seconds] 10:31:54 -!- longshot_ is now known as longshot 10:32:17 -!- ivan4th [~ivan4th@smtp.igrade.ru] has quit [Quit: rcirc on GNU Emacs 23.1.1] 10:44:23 [df] [~df@163.8.187.81.in-addr.arpa] has joined #lisp 10:46:05 mstevens [~mstevens@89.145.84.152] has joined #lisp 10:46:05 -!- mstevens [~mstevens@89.145.84.152] has quit [Changing host] 10:46:05 mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has joined #lisp 10:51:10 -!- rTypo [~rTypo@pc54.clicknet.iasi.rdsnet.ro] has quit [Ping timeout: 240 seconds] 10:52:35 ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has joined #lisp 10:55:29 -!- isak [isak@192.94.73.4] has quit [Quit: leaving] 10:55:58 isak [~isak@78-73-89-9-no169.tbcn.telia.com] has joined #lisp 11:02:21 sorry guys to bother you, what comes to your mind if I say "sleepy eight"? 11:03:08 "off-topic"? :) 11:03:20 indeed 11:03:32 ok, sorry again 11:03:33 kral: snow white 11:04:03 only sleepy eighth 11:04:06 stassats: :) 11:04:14 kral: A degenerate gambler being given concrete shoes. 11:05:15 Zhivago: interesting 11:06:48 ignas [~ignas@78-60-36-123.static.zebra.lt] has joined #lisp 11:08:12 schoppenhauer [~christoph@unaffiliated/schoppenhauer] has joined #lisp 11:10:29 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 250 seconds] 11:10:31 Is there a reason why a function would return nil when I attempt to use setf as a then clause for an if statement? 11:13:34 http://paste.lisp.org/display/116499 Just a silly example of it... 11:13:52 -!- Maou [~isra.wic@183.89.181.49] has quit [] 11:15:08 LinGmnZ [~isra.wic@183.89.181.49] has joined #lisp 11:16:08 setf is a macro 11:16:21 it expands into setq returning a form 11:16:33 If that's an exact paste you've got a problem with your " 11:16:37 however when the expansion is optimized away you'll get problems 11:16:44 flip214: It's not 11:17:06 homie: How would you suggest I do it differently, then? 11:17:25 erm, i don't know maybe someone has a better answer here.... 11:17:31 this paste has no setf in it, does it? 11:17:56 flip214: I tried with both setq and setf 11:19:00 err 11:19:02 progn ? 11:19:16 -!- LinGmnZ [~isra.wic@183.89.181.49] has quit [Ping timeout: 240 seconds] 11:19:20 i thought that does only return forms, and the last one is not a form ! 11:19:21 Maou [~isra.wic@183.89.181.49] has joined #lisp 11:19:23 matrix 11:19:27 homie: This is the result of me trying everything and anything because I haven't had any success. 11:19:55 My intention was to change all the values in an array that lie along a direction... Where direction is a function which updates the current row & column for the next recursion. 11:20:18 progn evals all forms and returns the result of the last one, the last one is matrix, but that's not a form 11:20:33 -!- lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has quit [Ping timeout: 245 seconds] 11:20:53 homie: Ah, so it's returning nil. I tried using an 'and' as well and it failed equally 11:21:28 you don't need a progn there i think 11:21:32 have you tried without ? 11:22:07 use maybe prog1 ? 11:22:09 instead ? 11:22:22 homie: I shall give that a try, thank you for the suggestions :o) 11:22:31 ok 11:23:31 -!- Maou [~isra.wic@183.89.181.49] has quit [Ping timeout: 240 seconds] 11:24:22 -!- schoppenhauer [~christoph@unaffiliated/schoppenhauer] has quit [Quit: leaving] 11:25:41 mek||malloc: are you using emacs? 11:25:49 pjb: I am. 11:26:02 They use C-M-\ 11:26:26 Select the whole defun, and C-M-\ 11:26:44 You should also activate paredit. 11:26:49 minion: tell mek||malloc about paredit. 11:26:50 mek||malloc: have a look at paredit: a set of Emacs commands, with a minor mode for convenient access to them, for editing balanced S-expressions and a number of higher-level operations on S-expressions, at ; see also the #paredit channel 11:27:11 Once you've identified the problem with your IFs, mind using COND instead! 11:28:12 he could have used maybe (eval matrix) or (values matrix) or so too, i don't know what was intended there 11:28:20 hmmmm 11:28:25 mek||malloc: lisp is not magical, there's no point in trying things randomly. Just read a good book and CLHS. 11:28:36 homie: stop saying silly things. 11:28:40 lol 11:28:41 ok 11:29:10 that was attributed to the eval thing i suppose.... 11:29:11 -!- churib [~tg@dslb-088-071-150-055.pools.arcor-ip.net] has quit [Ping timeout: 255 seconds] 11:30:01 pjb: I wasn't trying things randomly... I was just trying to do something like.... (if (goalp ...) (setf (aref matrix row col) value) _and then_ recurse (...)) 11:30:46 So far so good. So, what about your IFs after having emacs indent them correctly? 11:31:07 And I have not been able to find method which will allow me to do anything in combination with a setf. Usually I would use and or progn. 11:31:10 Notice that emacs won't be able to indent them correctly if you don't have your preceding quotes or parentheses ok. 11:31:25 mek||malloc: what about your IFs? 11:31:28 clhs if 11:31:29 http://www.lispworks.com/reference/HyperSpec/Body/s_if.htm 11:31:32 pjb: Ah, well I re-wrote the code a bit. I will check right now to make sure the ifs are ok. 11:31:45 And then, use COND! 11:31:48 clhs cond 11:31:48 http://www.lispworks.com/reference/HyperSpec/Body/m_cond.htm 11:32:42 IF is for advanced lispers. Newbies should use COND. 11:32:59 mek||malloc: if you have no else case, and you want many statements in your then case, you can use when instead of if 11:33:29 eg (when (goalp ...) (setf ...) (recurse bla bla)) 11:33:40 in hunchentoot define-easy-handler what is the output stream ? 11:33:42 will execute both setf and recurse if goalp returns true 11:34:11 I am trying to use output of a json:encode-json call as result of a url call 11:34:23 OliverUv: Interesting, I'll give that a try 11:34:28 Thank you 11:35:28 http://paste.lisp.org/display/116500 only prints NIL as it is returned by json:encode-json 11:36:34 response output stream ? 11:36:56 LinGmnZ [~isra.wic@183.89.181.49] has joined #lisp 11:37:46 Maou [~isra.wic@183.89.181.49] has joined #lisp 11:38:18 xinming [~hyy@218.73.128.97] has joined #lisp 11:38:37 jdz, ^^^ ? 11:39:44 -!- hefner [~hefner@ppp-58-9-182-171.revip2.asianet.co.th] has quit [Read error: Connection reset by peer] 11:41:29 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Remote host closed the connection] 11:41:38 -!- LinGmnZ [~isra.wic@183.89.181.49] has quit [Ping timeout: 255 seconds] 11:42:00 tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has joined #lisp 11:42:10 -!- Maou [~isra.wic@183.89.181.49] has quit [Ping timeout: 245 seconds] 11:44:13 mega1 [~quassel@catv4E5CABA2.pool.t-online.hu] has joined #lisp 11:45:04 mega1: szia :) 11:45:19 fe[nl]ix: hejho 11:45:39 b-man_ [~b-man@189.34.55.252] has joined #lisp 11:47:41 hefner [~hefner@ppp-58-9-182-122.revip2.asianet.co.th] has joined #lisp 11:53:26 edlinde [~edlinde@nl119-199-18.student.uu.se] has joined #lisp 11:53:50 http://paste.lisp.org/display/116501 This is performing the operation I want it to, but I am still unsure how I can combine the steps of modifying the array and returning it... This code just returns the modified array reference 11:54:10 dnm_ [~dnm@c-68-34-57-169.hsd1.va.comcast.net] has joined #lisp 11:54:26 Erm, that's not the code I meant to paste. I apologize. One second... 11:54:33 kushal: ^^^ ? 11:54:55 jdz, http://paste.lisp.org/display/116500 what is the output stream here ? 11:55:08 -!- xyxxyyy1 [~xyxu@218.82.22.43] has quit [Ping timeout: 245 seconds] 11:55:15 jdz, I need to write json:encode-json output to that stream 11:55:58 http://paste.lisp.org/display/116501#1 rather 11:56:58 xyxxyyy [~xyxu@58.41.167.130] has joined #lisp 11:57:17 -!- dnm [~dnm@c-68-34-57-169.hsd1.va.comcast.net] has quit [Ping timeout: 250 seconds] 11:57:47 jdz, yesterday you were telling me about response stream , can not find much on hunchentoot site 11:57:48 mek||malloc: try to put each branch of the if on a separate line. 11:59:07 LinGmnZ [~isra.wic@183.89.181.49] has joined #lisp 11:59:26 kushal: what i meant was that hunchentoot expects the stuff to send to client somewhere, so make sure your output goes there 11:59:27 mek||malloc: I think you *are* modifying the array and returning it. 11:59:42 kushal: with the code you were trying, some of the stuff might have been lost 11:59:56 beach: It appears as only that reference is returned 11:59:57 mek||malloc: What is the difference between "modifying the array and returning it" and "just returns the modified array reference"? 12:00:03 kushal: and in the paste you show, there is no need for the FORMAT call 12:00:06 mek||malloc: What reference? 12:00:11 jdz, then ? 12:00:25 beach: The value associated with the aref at the location 12:00:34 Maou [~isra.wic@183.89.181.49] has joined #lisp 12:00:38 jdz, if I call the webpage through browser , it prints the result in my repl :( 12:00:49 In other words, it's just returning the value I just set (which has been updated) 12:00:56 mek||malloc: So put `matrix' as the last form of your function. 12:01:23 beach: After the end of labels? 12:01:23 orp [~user@93.82.194.10] has joined #lisp 12:01:28 mek||malloc: Yes. 12:01:32 kushal: use encode-json-to-string, then 12:01:44 [...] 12:01:46 jdz, ok, trying 12:01:47 mek||malloc: Please try to use correct terminology. 12:01:47 *mek||malloc* hugs beach 12:02:13 mek||malloc: You don't set or update values. You set or update variables and other places. 12:02:14 That's exactly what I've been trying to accomplish. Thank you for the advice... And sorry for my poor terminology. 12:02:19 -!- freddie111 [~user@ppp-94-64-134-205.home.otenet.gr] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 12:02:43 mek||malloc: And the contents of an array is not called "references" but "elements". 12:03:21 mek||malloc: Put a newline after the condition of your `when'. 12:03:25 -!- LinGmnZ [~isra.wic@183.89.181.49] has quit [Ping timeout: 245 seconds] 12:03:34 LinGmnZ [~isra.wic@183.89.181.49] has joined #lisp 12:03:42 mek||malloc: It is not common to use get- as a prefix in Lisp. 12:04:33 mek||malloc: To avoid long rows, you can put the arguments to setf on separate rows. 12:04:39 I shall try to avoid using the prefix get and I have corrected my indentation and line spacing 12:05:02 -!- Maou [~isra.wic@183.89.181.49] has quit [Ping timeout: 255 seconds] 12:05:34 Maou [~isra.wic@183.89.181.49] has joined #lisp 12:06:53 jdz, worked thanks 12:07:37 xyxxyyy1 [~xyxu@58.41.167.130] has joined #lisp 12:08:07 -!- LinGmnZ [~isra.wic@183.89.181.49] has quit [Ping timeout: 250 seconds] 12:08:09 percii [~percii@92.98.25.243] has joined #lisp 12:08:11 -!- xyxxyyy [~xyxu@58.41.167.130] has quit [Ping timeout: 255 seconds] 12:08:21 -!- orp [~user@93.82.194.10] has quit [Remote host closed the connection] 12:09:20 kenanb [~kenanb@94.54.235.211] has joined #lisp 12:09:43 -!- Maou [~isra.wic@183.89.181.49] has quit [Ping timeout: 245 seconds] 12:09:57 -!- percii [~percii@92.98.25.243] has left #lisp 12:10:04 percii [~percii@92.98.25.243] has joined #lisp 12:12:21 LinGmnZ [~isra.wic@183.89.181.49] has joined #lisp 12:13:28 -!- percii [~percii@92.98.25.243] has left #lisp 12:15:53 -!- _danb_ [~user@124-149-32-186.dyn.iinet.net.au] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 12:16:45 -!- LinGmnZ [~isra.wic@183.89.181.49] has quit [Ping timeout: 245 seconds] 12:16:50 dfkjjkfd [~paulh@238-9-ftth.onsnetstudenten.nl] has joined #lisp 12:18:08 -!- konr [~user@187.106.38.106] has quit [Remote host closed the connection] 12:18:32 err, what is the way to change the git method to http ? 12:18:37 konr [~user@187.106.38.106] has joined #lisp 12:18:52 my git is not working on git repos, tells me non git repo or something 12:18:56 homie: no standard way 12:19:27 homie: edit .git/config 12:19:50 -!- b-man_ [~b-man@189.34.55.252] has quit [Ping timeout: 240 seconds] 12:21:21 nyef [~nyef@pool-64-222-164-95.man.east.myfairpoint.net] has joined #lisp 12:21:53 b-man_ [~b-man@189.34.55.252] has joined #lisp 12:22:29 LinGmnZ [~isra.wic@183.89.181.49] has joined #lisp 12:22:58 Hi, If I had to make some sort of a n-ary tree where each node can have 'n' children, how can I go about designing this in Lisp? Was wondering if I could get some tips. I am unable to visualize how it can be done in Lisp 12:23:02 i guess removing/adding remotes also would work, but editing stuff in .git is easier 12:23:38 I am thinking that each node in the tree needs to be a defstruct... but then how do you "link" these nodes together to form a n-ary tree is a bit confusing 12:23:47 Maou [~isra.wic@183.89.181.49] has joined #lisp 12:23:49 edlinde: a tree is a tree regardless of how many children each node has 12:24:19 jdz: yeah but its not a binary tree 12:24:24 thats all I am saying 12:24:37 so each node can have a list of child nodes really 12:24:44 what i'm saying is that binary tree is the same is ternary tree in this regard 12:24:47 just wondering how it will work thats all 12:24:59 it will work the same 12:25:15 hmm ok ... but I haven't seen any examples of how to build a tree in lisp... so yeah :) 12:25:35 I know in ML or Haskell, you come up with a tree datatype definition first 12:25:36 '(1 2 (3 (4 5)) 6 7) 12:25:41 but you cannot do that in Lisp yeah? 12:25:43 here you have a tree 12:25:57 ok 12:26:17 so I have to think of the tree as a nested list of nodes (which are defined with my defstruct)? 12:26:20 is that right? 12:26:26 edlinde: No. 12:26:26 the clearest way would be to use vectors of children 12:26:42 hmmm 12:26:48 edlinde: what is a tree? 12:27:02 edlinde: You can make a tree out of many different things. You can use conses, arrays, structures, instances, and other stuff. 12:27:06 having a simple list of (atom) children is indistinguishable from a simple cons tree 12:27:07 edlinde: for me, a tree is a tree node, which has two operations of it: node-data, and node-children 12:27:11 edlinde: that is all 12:27:17 -!- LinGmnZ [~isra.wic@183.89.181.49] has quit [Ping timeout: 276 seconds] 12:27:36 edlinde: yeah, and for constructing a tree: make-node 12:27:38 jdz: yeah but what about the parent of this node? 12:27:46 LinGmnZ [~isra.wic@183.89.181.49] has joined #lisp 12:27:53 attila_lendvai [~attila_le@catv-89-132-188-47.catv.broadband.hu] has joined #lisp 12:27:53 edlinde: that's optional 12:27:57 I also have to be able to traverse this tree from a leaf upwards to it's root 12:28:04 so yeah will need that too 12:28:09 edlinde: then you add another function: node-parent 12:28:11 edlinde: Start by thinking about the protocol you care about. 12:28:14 -!- Maou [~isra.wic@183.89.181.49] has quit [Ping timeout: 264 seconds] 12:28:43 Yeah I am trying to rewrite a C implementation I wrote a while back into a Lisp one for a project 12:28:46 Maou [~isra.wic@183.89.181.49] has joined #lisp 12:28:54 plus to learn common lisp while doing this 12:29:04 -!- ignas [~ignas@78-60-36-123.static.zebra.lt] has quit [Ping timeout: 265 seconds] 12:29:05 If you want to learn, don't rewrite. 12:29:08 edlinde: that's not the best way to learn lisp 12:29:19 ehm why not? :) 12:29:31 I mean its a known algorithm.. I will just implement it in Lisp 12:29:33 because it won't allow you to "think lisp" 12:29:46 Work out what operations trees support, first. :) 12:29:54 ah no.... I don't mean literally converting each C function to Lisp 12:30:09 I mean looking at the algorithm and thinking of how to do it in lisp from scratch 12:30:25 Then worry about how to get stuff to do those operations later. 12:30:26 Yeah I know all the operations that will be done on this tree 12:30:40 You need to think in terms of (generic) functions. 12:30:46 I just am thinking of how best to go about designing this tree in lisp 12:31:02 so this is actually to be honest a "prefix tree" 12:31:03 edlinde: by implementing your ADT functions 12:31:35 -!- b-man_ [~b-man@189.34.55.252] has quit [Ping timeout: 255 seconds] 12:31:36 so I get paths like "a-b-c" this needs to become a branch in the tree, next comes a-b-d.. then ab gets shared in the same branch and d branches off 12:31:56 so yeah I need to think of functions like build-tree, insert-branch etc etc 12:32:13 In C each node had a child and sibling node pointer 12:32:15 -!- LinGmnZ [~isra.wic@183.89.181.49] has quit [Ping timeout: 265 seconds] 12:32:31 LinGmnZ [~isra.wic@183.89.181.49] has joined #lisp 12:32:32 here there is no pointers... so I am thinking how best to do the same thing in the Lisp way 12:33:04 end of the day there has to be an operation of going upwards the tree, and making subtrees etc.. which i believe shouldn't be too hard in Lisp yeah? 12:33:16 :) 12:33:16 edlinde: I recommend (defclass tree () ((data :initarg data :accessor data) (children :initarg :children :initform '() :accessor children))) 12:33:22 edlinde: your siblings thing from C was just a poor implementation of lists 12:33:38 -!- Maou [~isra.wic@183.89.181.49] has quit [Ping timeout: 276 seconds] 12:34:01 beach: On of my profs suggested that defstruct might be quicker 12:34:13 don't know how much quicker or if its true 12:34:21 edlinde: do you care? 12:34:26 edlinde: by what definition of "quicker"? 12:34:26 edlinde: Don't listen to that. Structs have strange semantics. 12:34:27 yep I do 12:34:35 edlinde: why? 12:34:56 edlinde: do you have a performance issue? (measured?) 12:34:59 I need to make a performance comparison between the lisp implementation and the C one, someone also done a Python implementation... so I compare 12:35:32 well the prof wanted us to show that Lisp can have comparable speeds 12:35:34 edlinde: what's the point of the "performance" comparison? 12:35:46 edlinde: As Zhivago said, desing the protocol. You can always change the representation later. 12:35:59 V-ille [~ville@70.42.89.16] has joined #lisp 12:36:03 edlinde: you know you'd measure the performance of *your implementation* of said thing, not lisp itself, right? 12:36:08 beach: ehmm what do you mean by designing the protocol? 12:36:17 jdz: ofcourse 12:36:30 edlinde: The interface, the API. 12:36:31 LoL is backordered. :( 12:36:34 hmm 12:36:39 ok 12:36:39 edlinde: The operations that are allowed. 12:36:43 -!- LinGmnZ [~isra.wic@183.89.181.49] has quit [Ping timeout: 250 seconds] 12:36:47 yep get you 12:37:02 I think I already have a good idea of the kind of operations that will take place 12:37:22 its just that I don't know how to make trees... like building them from a bunch of path transactions 12:37:26 edlinde: Then you need to turn that good idea into a buch of (generic) function signatures. 12:37:40 building it up incrementally and then we do our magic on this tree 12:37:46 ok 12:37:52 Then you should be able to start with defgeneric forms ... 12:38:17 some of this Lisp terminology is new to me ... whats defgeneric? 12:38:20 edlinde: here's a hint: you build trees by creating tree nodes 12:38:29 defgeneric defines a generic function. 12:38:45 ok 12:38:54 When you have your generic functions (the protocol), then you can implement the class independent methods. 12:39:09 jdz: I know you will have nodes, my question is how do you LINK these nodes to each other? 12:39:20 When you have that, you can implement the class dependent methods for some set of classes you like today. 12:39:32 edlinde: setf is one way. 12:39:40 It doesn't matter how you like them together, yet. 12:39:43 Zhivago: is this using CLOS? 12:39:52 edlinde: Sure. 12:39:54 Xach: ok 12:39:56 edlinde: (make-node :data 42 :children (list (make-node :data 0 :children nil) (make-node :data 1 :children nil))) 12:40:06 edlinde: there, tree with 3 nodes 12:40:09 edlinde: Without CLOS you do pretty much the same thing, but then handle the dispatch in an adhoc fashion. 12:40:09 Zhivago: I haven't done any CLOS yet... so might take some reading up on that one 12:40:30 jdz: yeah I see how you make the entire tree in one shot 12:40:49 what I have to do is build this tree, branch by branch.. like a prefix tree 12:41:16 I'd suggest something like ensure-path 12:41:17 so common nodes get assimilated wherever they coincide and I increment some sort of node counter to indicate the frequence 12:41:21 *frequency 12:41:44 edlinde: (let ((node-1 (make-node :data 0)) (node-2 (make-node :data 1))) (make-node :data 42 :children (list node-1 node-2))) 12:41:51 edlinde: is that better? 12:41:55 (ensure-path tree path value) 12:42:17 Well, the question is -- do you care about the nodes or just about paths through this graph? 12:42:40 yeah I care about the nodes and the paths through these nodes 12:43:08 there is also an additional hash table structure that must keep track of the SAME values items in nodes of this tree 12:43:20 some kind of an indexing structure you could say 12:43:28 jdz: I am trying to understand what you said.. 12:43:39 -!- osoleve [~sabayonus@adsl-074-166-228-237.sip.bct.bellsouth.net] has quit [Remote host closed the connection] 12:43:49 -!- mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has quit [Quit: leaving] 12:44:06 edlinde: all i said is that you construct a tree by constructing tree nodes 12:44:18 edlinde: I'd suggest coding the simplest you can come up with. Then, if that doesn't work, do additional caching, memoizing and other stuff. 12:44:36 ehu: yeah thats my plan :) 12:44:56 I will have to do some more reading about this 12:45:34 edlinde: i'd suggest doing some more coding on this 12:46:43 ivan4th [~ivan4th@smtp.igrade.ru] has joined #lisp 12:46:49 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Quit: Valete!] 12:47:20 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 12:48:44 -!- xyxxyyy1 [~xyxu@58.41.167.130] has quit [Ping timeout: 276 seconds] 12:49:15 edlinde: you have actually been told what exactly to do; if you read carefully you should be able to get a working tree implementation with no problems 12:49:20 xyxxyyy [~xyxu@58.41.167.130] has joined #lisp 12:49:54 jdz: well yeah I been told how it works in a very simplified way, what I need I think is more complex 12:50:08 for example 12:50:20 sdsds [~sdsds@dyn-16.sub2.cmts01.cable.TORON10.iasl.com] has joined #lisp 12:50:22 the root of the tree is always some value say -1 12:50:22 edlinde: don't complicate simple things 12:50:44 jdz: ok let me first explain then you can tell me where I can change things 12:50:59 so now I have to read in paths from a file one line at a time 12:51:00 edlinde: yeah, i'm listening 12:51:03 ok.. cool 12:51:06 paths go like 12:51:11 a, b, c 12:51:16 b, d, e 12:51:20 -!- mornfall [~mornfall@kde/developer/mornfall] has quit [Ping timeout: 276 seconds] 12:51:24 c, e, g 12:51:27 for example 12:51:58 the first time you will make a branch in the tree like -1 -> a:1 -> b:1 -> c:1 12:52:01 -!- Jasko [~tjasko@c-174-59-223-208.hsd1.pa.comcast.net] has quit [Quit: Leaving] 12:52:06 the 1 is the count of how many times you saw it 12:52:10 -!- chp [3d87a5ae@gateway/web/freenode/ip.61.135.165.174] has quit [Quit: Page closed] 12:52:54 next time... tree has a NEW branch under -1 as b:1, d:1 and e:1 12:52:55 luis [~luis@nhop.r42.eu] has joined #lisp 12:53:06 the thing is that the branches can have any length 12:53:20 hi luis :) 12:53:25 and as I insert them into the prefix tree, I must check if they already exist or not 12:53:32 hello fe[nl]ix 12:53:58 Jasko [~tjasko@c-174-59-223-208.hsd1.pa.comcast.net] has joined #lisp 12:54:11 jdz: so in some ways I cannot just say .. let node1 = ... , node2 = ... as I don't know how many such I will have .. depends on the length of the path 12:55:11 jdz: and this is just the insertion into the tree, I know maybe there is a very simple solution to this all, but I don't know lisp well enough to say I see how I can code this 12:55:13 :) 12:55:29 and I don't want someone else writing it out for me... 12:55:44 just some ideas as to what I might need for the design to work 12:55:58 edlinde: (defun very-complicated (path) (make-node :data (first path) :children (list (very-complicated (rest path))))) 12:56:18 ok 12:56:22 yeah I can see that working 12:56:28 its got a recursive call in it 12:56:28 edlinde: so there, arbitrary depth tree 12:56:37 yep 12:56:52 and you are saying make-node does a check to see if this node already exists? 12:56:56 edlinde: is that really so much different from what i gave you before? 12:57:05 and then just incf ? 12:57:06 edlinde: no, it does not 12:57:42 edlinde: for your stuff you'd probably need a function called add-path-to-tree 12:57:50 yeah 12:57:54 just thinking now... 12:58:11 edlinde: which would use functions node-data, node-children and make-node to do what's required 12:58:16 if you say :children (list.. ) ... is that saying that I will keep a reference to the children list? 12:58:46 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 12:58:47 edlinde: not reference; the children list is just that -- a list of node children 12:58:48 In reference to your defun earlier 12:59:00 okie I see 12:59:04 tcr1 [~tcr@212.183.140.7] has joined #lisp 12:59:49 this is cool 12:59:53 thanks jdz 13:00:11 in the last function i gave the call to LIST is necessary because node-children should always be a list (since we expect to have many children; if there is only one child, then it is not a tree, but just plain list) 13:00:27 yep got that part 13:00:34 cool 13:01:08 zbeasnyy [~mornfall@ip-89-102-10-137.net.upcbroadband.cz] has joined #lisp 13:01:14 ah here I need to also keep some reference to the parent of the node 13:01:22 so I can just add a :parent yeah? 13:01:23 -!- tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has quit [Ping timeout: 245 seconds] 13:01:38 edlinde: my point in general: you first define tree protocol, and then use that to build your more complicated things on top of that 13:01:47 edlinde: exactly 13:01:54 yeah true 13:02:10 hmmm with :parent how would I know what the parent is ? 13:02:26 you specify it 13:02:32 Joreji [~thomas@67-052.eduroam.RWTH-Aachen.DE] has joined #lisp 13:02:32 I am thinking as I have gone past to a certain node ... I must store this in a let clause? 13:03:15 jdz: sorry I didn't quite catch you with the "specify" it part 13:03:38 bozhidar [~user@212.50.14.187] has joined #lisp 13:03:38 -!- astoon [~astoon@213.141.244.246] has quit [Quit: Leaving] 13:05:10 -!- drl [~lat@125.167.140.159] has quit [Remote host closed the connection] 13:05:23 jdz: hmm as I insert the very first node, if I need to then its parent will always be the root node -1, and then the subsequent nodes I have to know what their parent in the path was 13:05:50 jdz: does that sound right conceptually? :) 13:06:44 edlinde: http://paste.lisp.org/display/116503 13:07:10 rme [~rme@pool-70-105-122-27.chi.dsl-w.verizon.net] has joined #lisp 13:07:29 edlinde: and i'm pretty sure you do not need to keep the parent in the nodes (at least at first) 13:08:02 jdz: yeah it isn't required, but its a way of knowing when to stop when I recursing bottom up 13:08:12 I mean traversing from leaf to root node 13:08:22 edlinde: and add a check for the end of path in the function yourself 13:08:54 tritchey [~tritchey@c-68-51-119-127.hsd1.in.comcast.net] has joined #lisp 13:08:55 edlinde: what's wrong with having NIL as parent? 13:09:03 so this optional argument is for passing in "-1" as the topmost root? 13:09:08 yeah NIL too is fine 13:09:17 edlinde: but what i meant was that you don't really need the parent node in your tree nodes at all 13:09:40 tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has joined #lisp 13:09:49 edlinde: or so it seems to me so far 13:10:26 hmm one of the needs later on after the tree is built is to find say a branch in the tree that has say 'e' in it and then pull out the path leading from 'e' all the way to the root of this tree 13:10:53 -!- tcr1 [~tcr@212.183.140.7] has quit [Ping timeout: 255 seconds] 13:10:56 edlinde: how do you find the branch in the first place? 13:11:00 I will have an additional hash table that tells me where to look in the tree for node 'e' 13:11:07 an indexing structure 13:11:09 edlinde: why do you need this table? 13:11:14 its the algorithm 13:11:22 I mean its the way it is :) 13:11:41 it tells you all the occurences of say 'e' in all branches of the tree 13:12:16 so I have some sort of key = 'e' and value = 10 (total e's in tree) and a list of all node refs that contain value 'e' in tree 13:12:33 edlinde: what are the expected sizes of the trees? 13:12:34 thats what the hash table must contain in it 13:13:10 this algorithm expects a lot of compression to be achieved in the transactions 13:13:14 luis: https://github.com/sionescu/cffi/graphs/punch_card 13:13:29 so there will be a lot of common values that will get shared and their frequency updated 13:13:36 jweiss_ [~jweiss@cpe-069-134-009-048.nc.res.rr.com] has joined #lisp 13:13:38 so the tree isn't massive 13:14:07 jdz: so does the parent make sense now? 13:14:09 edlinde: i'd suggest you first write a working version without keeping any index 13:14:19 yeah true 13:14:26 I will add on the complexity as I go along 13:14:32 edlinde: to find a node say 'e' in the tree, you just search the tree 13:14:36 I need to get the basic tree working first 13:14:45 yeah could do that 13:14:52 but we still need the parent yeah? 13:15:02 -!- ve [~a@vortis.xen.tardis.ed.ac.uk] has quit [Ping timeout: 264 seconds] 13:15:17 edlinde: no we don't 13:15:21 also with your code, when you say &optional parent... you kept that to pass in NIL to mark the root of the tree? 13:15:28 edlinde: you know how to walk a tree, right? 13:15:36 ok if we don't then how do you propose going about it? 13:15:37 edlinde: yes 13:15:40 yeah I do 13:15:52 well in ML and Haskell I do.. but should be the same in Lisp 13:15:59 I need to do a DFS 13:16:24 edlinde: when you traverse a tree, and find the required node, you know the path to it 13:16:39 LiamH [~healy@129-2-135-218.wireless.umd.edu] has joined #lisp 13:17:15 nah that won't work though once I use the indexing... which I eventually need to anyway 13:17:16 edlinde: if you can do trees in ML and Haskell, it should be no problem in lisp 13:17:26 I hope so :) 13:17:37 jdz: have you done any of those? 13:17:45 edlinde: i would not be so sure about this "need for indexing" 13:18:10 jdz: then I am not implementing the algorithm am I 13:18:12 :) 13:18:45 edlinde: i'd suggest first to make a working version without indexing, then one with indexing, and then measure at whit tree sizes the use of index actually speeds things up 13:18:48 lets keep the parent in there 13:18:54 no harm there is there :) 13:19:11 edlinde: there is harm -- it complicates things 13:19:53 -!- kushal [~kdas@fedora/kushal] has quit [Ping timeout: 255 seconds] 13:20:09 well this is a complicated algo ;) 13:20:26 there is more to be done on it anyway 13:20:36 few more operations I meant 13:20:42 edlinde: well, as far as i understand, you have not written the simple version, yet 13:21:12 but I don't get how adding a "parent" field to each node complicated it so much 13:21:16 edlinde: and by implementing the simple version first, you'll get better with lisp 13:22:58 Why do you want a parent node? 13:23:03 Er, parent link? 13:23:11 They're usually a bad idea. 13:23:12 -!- Xach [~xach@pdpc/supporter/professional/xach] has quit [Ping timeout: 272 seconds] 13:23:25 HG` [~HG@xdsl-92-252-91-28.dip.osnanet.de] has joined #lisp 13:23:33 some people only learn it the hard way 13:23:53 Generally its enough to track your path through the tree so far. 13:23:53 -!- tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has quit [Ping timeout: 245 seconds] 13:23:55 because I have to move upwards from a given node in the tree to the root 13:23:55 edlinde: btw, is there a parent link in the ML or Haskell versions? 13:24:18 Xach [~xach@pdpc/supporter/professional/xach] has joined #lisp 13:24:24 edlinde: but i guess that "your need to move upwards" will not arise if you don't have the index 13:24:27 no its done in all the C versions (and someone did it in Java too I think) 13:24:45 yeah in the simple case I don't use the index 13:24:52 That should tell you that it's a bad idea. 13:25:17 but then I have to later on make "subtrees" for each element in this index table 13:25:33 so all branches that end in "e" will become a new sub tree 13:25:43 all ending in "b" another subtree ... etc 13:26:09 these subtrees (in C) are processed one by one and then freed 13:26:20 tcr [~tcr@212.183.140.2] has joined #lisp 13:26:26 -!- Beetny [~Beetny@ppp118-208-8-91.lns20.bne1.internode.on.net] has quit [Ping timeout: 276 seconds] 13:26:40 sorry I cannot describe the entire algo here :) 13:27:10 So, what does that have to do with parent links? 13:27:15 but maybe we can structure the tree in another way 13:27:21 to make this efficient 13:27:29 makao007 [~makao007@61.142.209.146] has joined #lisp 13:27:58 Zhivago: ok there is 'e' stored in multiple interior nodes spread across many branches in the tree 13:28:06 how would you make this subtree? 13:28:31 -!- zbeasnyy [~mornfall@ip-89-102-10-137.net.upcbroadband.cz] has quit [Ping timeout: 265 seconds] 13:28:31 search for 'e' in the whole tree and keep track of the path taken from root each time? 13:29:03 Why do I care about that path? 13:29:08 edlinde: depends on what you want to do with the "path"? 13:29:11 Why not just recursively walk the tree? 13:29:20 mornfall [~mornfall@anna.fi.muni.cz] has joined #lisp 13:29:23 -!- mornfall [~mornfall@anna.fi.muni.cz] has quit [Changing host] 13:29:23 mornfall [~mornfall@kde/developer/mornfall] has joined #lisp 13:29:34 ... DFS return path? :-D 13:31:43 so in other words traversing a tree upwards is bad? 13:31:49 and thats the bottom line? 13:31:51 :) 13:32:07 No. It's just stupid to store that information in the tree if you don't need it. 13:32:28 If you're walking down the tree, you can embed it in your recursion more cheaply. 13:32:49 Although, technically a back-pointer makes your tree into not a tree. 13:33:11 And it prevents structure sharing and so on, so it's generally a pretty bone-headed move. 13:33:19 Unless you have a good reason I wouldn't consider it. 13:34:00 churib [~tg@dslb-088-071-150-055.pools.arcor-ip.net] has joined #lisp 13:35:36 felipe [~felipe@my.nada.kth.se] has joined #lisp 13:36:02 minion: Paste 24437? 13:36:02 Paste number 24437: "DFS return path" by Raging-Thunder in #lisp. http://paste.lisp.org/display/24437 13:36:06 jmckitrick [~user@adsl-92-243-131.asm.bellsouth.net] has joined #lisp 13:37:10 tcr1 [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has joined #lisp 13:37:36 Question: I recently started skimming the source of some old CL projects that were released... MCL, opendylan, etc. Very little of the code (if any) has docstrings. Were docstrings a later addition to CL? 13:38:19 Zhivago: walking through the entire tree looking for those values will be a very expensive operation 13:38:26 ignas [~ignas@78-60-36-123.static.zebra.lt] has joined #lisp 13:38:41 So it was more of a memory/performance issue, then? 13:38:54 Given that docstrings were in Lisp Machine Lisp (and probably MACLISP), I'd argue that perhaps conscientiousness was the later addition. :-P 13:39:06 edlinde: how do you know? have you measured? 13:39:08 mstevens [~mstevens@89.145.84.152] has joined #lisp 13:39:08 jmckitrick: No. Might just be the style. 13:39:16 -!- mstevens [~mstevens@89.145.84.152] has quit [Changing host] 13:39:17 mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has joined #lisp 13:39:29 ed: So, what do you want these parent pointers for? 13:39:35 hmm, no fledermaus 13:39:40 jmckitrick: SBCL sources contain very few docstrings, too. 13:39:45 jdz: its a prett y well known thing 13:40:30 Many well known things are nonsense -- particularly if you can't explain them. 13:40:35 -!- tcr [~tcr@212.183.140.2] has quit [Ping timeout: 255 seconds] 13:41:04 Good one, nyef. 13:42:35 ve [~a@vortis.xen.tardis.ed.ac.uk] has joined #lisp 13:42:48 -!- V-ille [~ville@70.42.89.16] has quit [Read error: Connection reset by peer] 13:43:36 Zhivago: ok think about it, you have an index that stores all nodes in the tree that have 'e' in it and you have to simply go through this list one by one and extract the paths for each node to the root 13:43:58 That said, I find that I use docstrings for "public" interfaces more than for "internal" interfaces, and voluminous commentary works well for the more internal stuff. 13:44:07 Zhivago: on the other hand you have no such index and you got to first find ALL occurences of 'e' in the tree by walking the entire tree and then get the paths... what is faster? 13:45:06 edlinde: what do you do with the paths? 13:45:19 as I said... build a new tree 13:45:43 SpitfireWP [~Spitfire@wikipedia/spitfire] has joined #lisp 13:46:08 edlinde: is the text of this exercise on-line somewhere? 13:46:39 yeah 13:46:46 search for FP tree 13:47:39 -!- Davidbrcz [~david@212-198-92-25.rev.numericable.fr] has quit [Ping timeout: 265 seconds] 13:48:05 ok got to run sorry 13:48:06 Are any of the slime developers online here? 13:48:08 catcha lecture 13:48:19 -!- edlinde [~edlinde@nl119-199-18.student.uu.se] has quit [Quit: edlinde] 13:48:40 jmckitrick: yes. 13:51:17 Ok, good. I started working with Tobias on an sb-cover contrib, but can't seem to get in touch with him recently. 13:51:40 I'd like to finish it with anyone who would be willing to help me with some of the details. 13:52:06 fe[nl]ix: eheh, interesting. Seems pretty random. 13:52:51 xan_ [~xan@rrcs-69-193-205-118.nyc.biz.rr.com] has joined #lisp 13:52:54 luis: It seems to me that most commits are on Friday, followed by Monday 13:53:11 -!- sdsds [~sdsds@dyn-16.sub2.cmts01.cable.TORON10.iasl.com] has quit [Ping timeout: 255 seconds] 13:54:08 what timezone is that? 13:54:46 tcr1: You here? 13:55:13 zbeasnyy [~mornfall@wireless-133.fi.muni.cz] has joined #lisp 13:55:33 nyef: kind of 13:55:40 luis: UTC, perhaps ? 13:55:44 tcr1: Hi Tobias 13:55:47 -!- zbeasnyy [~mornfall@wireless-133.fi.muni.cz] has quit [Client Quit] 13:56:44 jmckitrick: you were the guy from the uk who was at my slime talk in munich by chance? 13:56:53 leo2007 [~leo@59.57.34.138] has joined #lisp 13:59:10 tcr1: no, not me 13:59:49 I started working on sb-cover with you 13:59:58 ah right 14:00:11 I pinged you via email, but it's been a while. 14:00:15 you should probably try to poke stassats these days for getting it in 14:00:38 yeah somehow one of your mail got lost in the mirades of spam filters 14:00:38 If you are still interested, I'd like to get it into decent shape and submit it. 14:00:59 It still needs stats and some better navigation. My first slime contrib ;-) 14:01:10 humasect [~humasect@S01060018f870b75e.rd.shawcable.net] has joined #lisp 14:01:16 Is stassats usually here? 14:01:19 I think stassats is the right person to address this too, my time's rather limited 14:01:21 yeah 14:01:58 I appreciate that. I've been quite busy myself, but I miss CL right now, so it would be my way of getting back into the groove. 14:03:07 kushal [~kdas@fedora/kushal] has joined #lisp 14:03:10 vroufe [~omx@ppp94-29-9-58.pppoe.spdop.ru] has joined #lisp 14:04:05 stassats [~stassats@wikipedia/stassats] has joined #lisp 14:05:09 Heh. Look who just showed up. 14:05:43 Well, well. 14:06:05 billitch [~billitch@cpc3-cmbg14-2-0-cust129.5-4.cable.virginmedia.com] has joined #lisp 14:06:11 hey! 14:07:14 stassats: I hear you are the guy to talk to about a slime contrib. 14:07:52 perhaps 14:08:52 it's for sb-cover, that's interesting 14:09:08 does it work on ccl coverage? 14:09:20 or how is it called there 14:09:28 I got a good start, but it's only sbcl right now. 14:09:45 -!- Athas [~athas@shop3.diku.dk] has quit [Remote host closed the connection] 14:09:50 I'd like a mentor to help me get it into a state worth contributing. 14:09:59 so, if you have any code, send it my way, i comment on it/commit it 14:10:08 Obviously other CL's would be another option. 14:10:34 Ok, I just need your contact info 14:10:52 *stassats* @gmail.com 14:10:53 I'll get what I have into shape, and send it your way early next week. 14:11:01 Easy enough. 14:12:07 Is it just my perception, or has a majority of the CL world migrated to CCL? 14:12:16 jmckitrick: just your impression. 14:12:16 I've been off the scene for a bit. 14:12:29 jmckitrick: most people use SBCL and ClozureCL is #2. 14:12:31 I'm definitely still on SBCL. 14:12:46 ok good 14:13:04 All others are #3 or lower. 14:13:19 i use SBCL primarily, and CCL secondarily 14:15:54 a hash table can return me value for a particular key like "kushal" , is there any other datastructure which can return all values where keys contain the substring "sha" (for an example ) 14:15:55 ? 14:16:09 -!- skalawag [~user@c75-111-102-202.amrlcmta01.tx.dh.suddenlink.net] has quit [Remote host closed the connection] 14:16:11 suffix tree? 14:16:19 or suffix array 14:16:20 kushal: Yes. But you have to build it yourself. 14:16:22 -!- mek||malloc [~mek@wifi-roaming-159-143.nss.udel.edu] has quit [Ping timeout: 265 seconds] 14:16:41 (or find someone who wrote it already and turned it into a library for you) 14:16:47 Xach, ok 14:16:53 stassats, checking 14:17:19 (assoc "ush" '(("kushal" 2)) :test #'search) => ("kushal" 2) 14:17:27 you didn't say efficiently! 14:17:36 :p 14:17:38 hehe 14:18:03 speed is the main concern for me 14:18:20 so it has to be efficient 14:18:22 you can build a state machine from "ush" using KMP, or BMH for more speed 14:19:12 that's what i'm doing currently, will rewrite using suffix arrays when performance will degrade 14:19:53 -!- jajcloz [~jaj@pool-108-7-68-199.bstnma.fios.verizon.net] has quit [Quit: jajcloz] 14:20:39 stassats, ok, I have less knowledge on these 14:20:58 stassats: Watch for an email from me next week. ttyl 14:21:09 jmckitrick: ok 14:21:14 -!- jmckitrick [~user@adsl-92-243-131.asm.bellsouth.net] has quit [Quit: ERC Version 5.2 (IRC client for Emacs)] 14:21:40 -!- LiamH [~healy@129-2-135-218.wireless.umd.edu] has quit [Quit: Leaving.] 14:21:48 I have to read a lot 14:22:04 that's good 14:22:57 yes 14:23:13 stassats, can you tell me from where I should start ? 14:23:28 prljavi_hari [~h@dh207-10-50.xnet.hr] has joined #lisp 14:23:39 http://en.wikipedia.org/wiki/KnuthMorrisPratt_algorithm is an option 14:23:50 ok 14:24:18 or http://en.wikipedia.org/wiki/Suffix_array 14:24:44 kushal: what will you use this data structure for? 14:25:45 Xach, I want to simulate : select id from students where name like "%ush" 14:25:55 Xach, from a on memory data structure 14:26:03 yakov__ [~yzaytsev@183.49.62.92.nienschanz.ru] has joined #lisp 14:26:12 kushal: if it's in memory, you could do the slowest, stupidest thing possible and it will still be so fast you won't notice. 14:26:27 well, maybe not the slowest. but even something naive will be very fast. 14:26:29 -!- gravicappa [~gravicapp@ppp85-140-119-108.pppoe.mtu-net.ru] has quit [Ping timeout: 255 seconds] 14:26:36 unless you have millions of millions of records 14:26:37 *nyef* remembers spending a week or so reverse engineering a database on-disk format enough to be able to do just that with real data. 14:26:56 syntard__ [~chatzilla@204.51.92.251] has joined #lisp 14:27:08 stassats, I have millions of records though :) 14:27:11 Xach, ok 14:27:18 kushal: I recommend measuring first. 14:27:34 Xach, measuring means ? 14:27:38 start with #'search 14:27:39 speed ? 14:27:55 whatever is your criteria 14:28:02 kushal: measure means try an approach and see if it is sufficiently fast. 14:28:09 ok 14:28:14 -!- syntard [~chatzilla@fl-74-4-76-189.dhcp.embarqhsd.net] has quit [Ping timeout: 264 seconds] 14:28:23 -!- syntard__ is now known as syntard 14:28:53 if search is too slow, you could easily try cl-ppcre matching. 14:29:07 low cost experiments are available 14:29:36 ok 14:30:05 How to call document.getElementById ("some-id") in Parenscript ? If I put (@ document get-element-by-id "some-id") it puts "some-id" in square brackets ["some-id"] instead of parenthesses. 14:30:26 Xach, but if I just try to so #'search (or anything) for all keys in a dictionary keys, it will become sequential 14:30:44 kushal: try it anyway. 14:31:01 prljavi_hari: Something seems wrong with that... As if @ treats things as elements, and you're trying to do a function-call? 14:31:21 Davidbrcz [~david@212-198-92-25.rev.numericable.fr] has joined #lisp 14:31:40 -!- makao007 [~makao007@61.142.209.146] has left #lisp 14:31:40 -!- sellout [~greg@c-24-61-13-161.hsd1.ma.comcast.net] has quit [Quit: sellout] 14:31:44 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: leaving] 14:31:47 Xach, ok 14:31:58 but I don't know how to call a function 14:32:27 with arguments 14:32:45 LinGmnZ [~isra.wic@183.89.181.49] has joined #lisp 14:32:50 prljavi_hari: I have literally no experience with parenscript, but I'd start with something like ((@ document get-element-by-id) "some-id"), and if that didn't work I'd look for example code, the manual, and the parenscript source, in that order, to try and figure it out. 14:33:39 I tried that and it doesn't work 14:34:01 skaboy [~grant@c0144.aw.cl.cam.ac.uk] has joined #lisp 14:34:11 I'll check some examples 14:36:11 I might also try (funcall (@ document ...) "some-id") and (-> (@ ...) "some-id"), but the latter seems rather unlikely. 14:36:40 bobbysmith007 [~russ@216.155.97.1] has joined #lisp 14:37:16 -!- setheus [~setheus@cpe-70-116-140-134.tx.res.rr.com] has quit [Quit: leaving] 14:40:57 nyef: It works with funcall. Thanks 14:43:30 -!- prljavi_hari [~h@dh207-10-50.xnet.hr] has left #lisp 14:44:04 wobster [~jan@ls12nb9.cs.uni-dortmund.de] has joined #lisp 14:44:33 So... parenscript is more CL than Scheme. 14:45:28 'morning 14:45:36 I wonder why parenscript doesn't use clojure-like call conventions. It would make sense IMO (maybe it actually can do it now, I don't know) 14:45:58 s/conventions/syntax/ 14:52:36 -!- mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has quit [Quit: leaving] 14:53:18 Yuuhi [benni@p5483D5EA.dip.t-dialin.net] has joined #lisp 14:55:03 petercoulton [~petercoul@152.105.51.87] has joined #lisp 14:57:54 -!- silenius [~silenus@cpe-76-169-35-122.socal.res.rr.com] has quit [Read error: Connection reset by peer] 14:58:25 silenius [~silenus@cpe-76-169-35-122.socal.res.rr.com] has joined #lisp 14:59:50 carlocci [~nes@93.37.199.247] has joined #lisp 15:03:16 -!- Harag [~Harag@wbs-41-208-211-15.wbs.co.za] has quit [Ping timeout: 272 seconds] 15:03:35 -!- petercoulton [~petercoul@152.105.51.87] has quit [Quit: Leaving] 15:06:24 I just compiled a recent SBCL on Ubuntu Linux and got some test failures related to dynamic extent. 15:07:42 reb`: "Recent" as in post-1.0.44.17 or so? 15:08:58 V-ille [~ville@ville-hp.dhcp.fnal.gov] has joined #lisp 15:09:27 is there any package to give features like a regular shell in sbcl repl ? like arrows or tabs ? 15:09:54 drdo [~user@194.210.228.22] has joined #lisp 15:10:37 are you talking about readline, or commands? 15:10:38 rlwrap maybe ? 15:10:42 kushal: you could try: com.informatimago.sbcl.readline. 15:10:46 if you intend only konsole 15:10:53 ok, trying 15:11:42 pjb, how to use that ? 15:11:54 it's a FFI to readline(3). 15:12:01 therefore: man 3 readline 15:12:20 ok, I never did FFI yet 15:12:37 kushal: (ql:quickload "linedit") (linedit:install-repl) 15:12:39 I made it a long time ago, I'm not sure if it still works. 15:12:39 reb`: Tests (NO-CONSING MUTEX) and (NO-CONSING SPINLOCK)? 15:12:48 aDuck [~aduck@bl5-3-53.dsl.telepac.pt] has joined #lisp 15:12:49 Xach, ok 15:12:58 linedit is for those who hate freedom software ;-) 15:13:55 Xach, worked :) 15:14:03 pjb, means ? 15:14:20 readline is GPL, linedit is BSD. 15:14:29 oh :) 15:14:30 Ah! I know what happened there. 15:14:52 Xach, btw, how to get out of linedit ? 15:14:55 reb`: Thanks for the heads-up. 15:15:02 So people using linedit may keep the sources of their derived work proprietary, removing you the freedom to see those modification and to help your fellow solve any problem there could be with them. 15:15:51 kushal: I don't know. 15:16:05 hehe 15:16:15 Ctrl+d says END-OF-FILE 15:16:24 (sb-ext:quit) will quit sbcl 15:16:58 marijnjh` [~user@p5799EE2F.dip.t-dialin.net] has joined #lisp 15:17:07 -!- vroufe [~omx@ppp94-29-9-58.pppoe.spdop.ru] has quit [Ping timeout: 240 seconds] 15:17:55 Hrm. Maybe I /don't/ know what happened there. How completely odd... 15:18:06 nyef: Yes, I think those are the two ... on 32-bit Ubuntu x86. 15:18:17 abcd- [~abcd@78-23-124-196.access.telenet.be] has joined #lisp 15:18:27 jajcloz [~jaj@2002:4855:eb9a:0:219:e3ff:fe02:96b8] has joined #lisp 15:18:31 nyef: Recent as in HEAD CVS yesterday evening. 15:18:32 -!- marijnjh [~user@p579F6FDA.dip.t-dialin.net] has quit [Ping timeout: 255 seconds] 15:18:39 nyef: i got the dynamic-extent consing test failures on x86-64, too 15:18:40 -!- abcd- [~abcd@78-23-124-196.access.telenet.be] has left #lisp 15:18:53 Xach, that is good enough 15:19:34 Yeah, yeah... it's still allocating a value-cell, and I took out the code for stack-allocating them in 1.0.44.16. 15:19:39 pjb: some people using readline could be *forced* to change the license of the software they use the library with... 15:20:23 Oh, please, please. 15:20:33 *Xach* scolds pjb, jdz 15:21:13 -!- dnm_ [~dnm@c-68-34-57-169.hsd1.va.comcast.net] has quit [] 15:22:09 what, no bimonthly license discussion? 15:22:29 -!- aerique [euqirea@xs2.xs4all.nl] has quit [Quit: ...] 15:22:36 and where are those gun control disputes? 15:22:42 *Fade* votes 'no' 15:22:55 stassats: We memoized the results, so we don't need to reopen the discussion. :-P 15:22:55 -!- superflit [~superflit@c-24-9-162-197.hsd1.co.comcast.net] has quit [Quit: superflit] 15:23:29 Oh. Bloody WITHOUT-INTERRUPTS. :-/ 15:23:48 -!- xan_ [~xan@rrcs-69-193-205-118.nyc.biz.rr.com] has quit [Quit: leaving] 15:24:43 sellout [~greg@static-72-85-235-154.bstnma.east.verizon.net] has joined #lisp 15:28:12 kmwallio [~kmwallio@host113-70.brownlie.fit.edu] has joined #lisp 15:28:14 -!- echo-area [~user@114.251.86.0] has quit [Remote host closed the connection] 15:29:02 rukowen [~thehien@222.253.76.226] has joined #lisp 15:29:52 kencausey [~ken@67.15.6.88] has joined #lisp 15:31:03 -!- humasect [~humasect@S01060018f870b75e.rd.shawcable.net] has quit [Remote host closed the connection] 15:38:51 gravicappa [~gravicapp@ppp85-140-116-130.pppoe.mtu-net.ru] has joined #lisp 15:40:15 dfox [~dfox@ip-94-113-88-214.net.upcbroadband.cz] has joined #lisp 15:40:32 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #lisp 15:46:58 -!- syntard_ [~chatzilla@74.112.63.251] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.6.12/20101026210630]] 15:48:17 -!- kjbrock [~kevin@173-11-106-193-SFBA.hfc.comcastbusiness.net] has quit [Quit: kjbrock] 15:49:12 mstevens [~mstevens@89.145.84.152] has joined #lisp 15:49:16 -!- mstevens [~mstevens@89.145.84.152] has quit [Changing host] 15:49:17 mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has joined #lisp 15:50:35 -!- Joreji [~thomas@67-052.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 276 seconds] 15:53:20 -!- naryl [~weechat@213.170.70.141] has quit [Ping timeout: 255 seconds] 15:53:45 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 15:55:48 superflit [~superflit@140.226.49.160] has joined #lisp 15:57:10 "Large amounts of the SBCL library have not been inspected for thread-safety.", is this still true? is it still that much unreliable? 15:57:24 Joreji [~thomas@67-052.eduroam.RWTH-Aachen.DE] has joined #lisp 15:57:55 petercoulton [~petercoul@152.105.51.87] has joined #lisp 15:59:03 ikki [~ikki@201.122.132.181] has joined #lisp 15:59:22 -!- longshot [~longshot@180.184.7.218] has quit [Quit: longshot] 15:59:40 abugosh [~Adium@pool-108-15-19-17.bltmmd.fios.verizon.net] has joined #lisp 15:59:41 -!- seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has quit [Ping timeout: 276 seconds] 15:59:50 pmd: It's sortof still true. Many of the critical bits have been shored up, however, and I haven't heard of any real problems recently. 16:01:48 mek||malloc [~mek@wifi-roaming-128-4-197-157.nss.udel.edu] has joined #lisp 16:01:55 -!- mek||malloc [~mek@wifi-roaming-128-4-197-157.nss.udel.edu] has quit [Client Quit] 16:03:48 -!- flip214 [~marek@unaffiliated/flip214] has quit [Remote host closed the connection] 16:04:49 dnm [~dnm@static-71-166-174-24.washdc.east.verizon.net] has joined #lisp 16:09:07 SegFaultAX [~SegFaultA@c-98-234-1-162.hsd1.ca.comcast.net] has joined #lisp 16:09:53 Good evening everyone! 16:10:02 Hello beach. 16:10:52 -!- ravic [~ravi@118-93-189-209.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 16:13:03 -!- abeaumont_ [~abeaumont@85.48.202.13] has quit [Ping timeout: 245 seconds] 16:14:16 Harag [~Harag@41.56.16.143] has joined #lisp 16:15:36 josemanuel [~josemanue@180.1.222.87.dynamic.jazztel.es] has joined #lisp 16:17:51 nyef: indeed, i've been using sbcl win32 thread builds now and then, nothing serious, and i haven't noticed thread-related problems 16:20:46 naryl [~weechat@213.170.70.141] has joined #lisp 16:24:53 it's pretty good for common lisp's image in general that some implementations are going smp 16:25:24 *beach* would like to see the garbage collector run in separate thread(s). 16:26:56 you can have that today with abcl! 16:27:04 beach: Problem is, most of the GC algorithms I've seen that do that require semantics that aren't in winapi, and some of them require semantics that aren't in stock linux, either. 16:27:04 (or so I gather) 16:27:33 nyef: or software write barriers. 16:27:56 -!- emma [~em@unaffiliated/emma] has quit [Remote host closed the connection] 16:27:56 *beach* was indeed thinking of software write barriers. 16:29:00 vroufe [~omx@ppp94-29-9-58.pppoe.spdop.ru] has joined #lisp 16:29:47 -!- nha [~prefect@imamac13.epfl.ch] has quit [Ping timeout: 255 seconds] 16:30:16 freddie111 [~user@ppp-94-64-149-170.home.otenet.gr] has joined #lisp 16:30:52 gabnet [~gabnet@145.195.197-77.rev.gaoland.net] has joined #lisp 16:31:37 Mmm. I /really/ don't want to have to figure out how to introduce those to SBCL. 16:34:33 Efthymios [~efthymios@c-98-207-146-68.hsd1.ca.comcast.net] has joined #lisp 16:36:41 -!- abugosh [~Adium@pool-108-15-19-17.bltmmd.fios.verizon.net] has quit [Quit: Leaving.] 16:36:41 -!- skaboy [~grant@c0144.aw.cl.cam.ac.uk] has quit [Read error: Connection reset by peer] 16:38:08 -!- vroufe [~omx@ppp94-29-9-58.pppoe.spdop.ru] has quit [Ping timeout: 245 seconds] 16:39:54 Amadiro [~whoppix@ti0021a380-dhcp0225.bb.online.no] has joined #lisp 16:44:12 xyxxyyy1 [~xyxu@116.227.197.79] has joined #lisp 16:44:39 ziarkaen [~ziarkaen@stu072.queens.ox.ac.uk] has joined #lisp 16:45:01 -!- rukowen [~thehien@222.253.76.226] has left #lisp 16:45:14 -!- ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has quit [Ping timeout: 265 seconds] 16:45:58 -!- xyxxyyy [~xyxu@58.41.167.130] has quit [Ping timeout: 245 seconds] 16:46:09 Athas [~athas@82.211.209.226] has joined #lisp 16:47:16 -!- LinGmnZ [~isra.wic@183.89.181.49] has quit [Ping timeout: 240 seconds] 16:48:28 -!- hlavaty [~user@77-22-100-178-dynip.superkabel.de] has quit [Ping timeout: 245 seconds] 16:49:23 -!- kushal [~kdas@fedora/kushal] has quit [Ping timeout: 265 seconds] 16:49:39 milanj [~milanj_@109-93-9-193.dynamic.isp.telekom.rs] has joined #lisp 16:53:40 emma [~em@unaffiliated/emma] has joined #lisp 16:54:18 SpitfireWP_ [~Spitfire@wikipedia/spitfire] has joined #lisp 16:56:45 -!- ignas [~ignas@78-60-36-123.static.zebra.lt] has quit [Ping timeout: 245 seconds] 16:57:19 -!- SpitfireWP [~Spitfire@wikipedia/spitfire] has quit [Ping timeout: 265 seconds] 16:59:58 -!- lemoinem [~swoog@216.252.67.209] has quit [Remote host closed the connection] 17:00:13 -!- jdz [~jdz@193.206.22.97] has quit [Ping timeout: 265 seconds] 17:00:31 lemoinem [~swoog@216.252.89.23] has joined #lisp 17:03:20 astoon [~astoon@213.141.244.246] has joined #lisp 17:04:16 schell [~schellsci@70-36-199-232.dsl.static.sonic.net] has joined #lisp 17:07:17 -!- dberg [~user@12.153.137.113] has left #lisp 17:07:47 -!- josemanuel [~josemanue@180.1.222.87.dynamic.jazztel.es] has quit [Quit: Saliendo] 17:09:19 -!- Hun [~Hun@80.81.19.29] has quit [Remote host closed the connection] 17:09:22 abugosh [~Adium@pool-108-15-19-17.bltmmd.fios.verizon.net] has joined #lisp 17:09:49 beach: VCGC runs in separate thread (one collector, multiple mutators, one synchronisation write barriers to stop all threads when switching epochs - which takes a moment) 17:10:15 -!- kral [~kral@93.185.125.210] has quit [Quit: Sto andando via] 17:10:16 katesmith__ [~katesmith@75-138-209-215.dhcp.snfr.nc.charter.com] has joined #lisp 17:10:23 -!- abugosh [~Adium@pool-108-15-19-17.bltmmd.fios.verizon.net] has quit [Client Quit] 17:12:42 -!- katesmith_ [~katesmith@unaffiliated/costume] has quit [Ping timeout: 240 seconds] 17:14:26 p_l|home: Found it googling. Thanks! 17:15:56 no problem - I was thinking of using it for the BOCL (temporary name) 17:16:38 beach, p_l|home: Are you talking about the Bell Labs VCGC? 17:16:53 redline6561: yes, the one used in Inferno 17:17:03 p_l|home: Got it. 17:17:11 -!- freddie111 [~user@ppp-94-64-149-170.home.otenet.gr] has quit [Ping timeout: 276 seconds] 17:17:13 though Inferno due to its constraints avoided actually calling the GC 17:18:03 minion: what does BOCL stand for? 17:18:03 Bistriazole Octodecimo Common Lisp 17:18:19 stassats: ... bo was supposed to be "bytecode-only" :P 17:18:50 -!- mbohun [~user@ppp115-156.static.internode.on.net] has quit [Remote host closed the connection] 17:18:51 well, it was temporary 17:19:24 back-office? 17:19:37 gregoryg [~user@64.25.236.146] has joined #lisp 17:19:41 (And I'll leave the more scatological naming ideas to someone else.) 17:20:58 -!- benny [~benny@i577A09D4.versanet.de] has quit [Ping timeout: 245 seconds] 17:21:02 jolly2 [~amin@adsl-75-31-66-53.dsl.irvnca.sbcglobal.net] has joined #lisp 17:22:29 B.O. Common Lisp: the less hygenic common lisp 17:22:53 -!- marijnjh` [~user@p5799EE2F.dip.t-dialin.net] has quit [Ping timeout: 255 seconds] 17:23:56 -!- jolly2 is now known as gram 17:24:19 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 240 seconds] 17:24:58 -!- gram is now known as bradshaw 17:26:03 molbdnilo [~Ove@c80-216-195-64.bredband.comhem.se] has joined #lisp 17:26:55 -!- bradshaw is now known as __jolly 17:27:42 as in http://en.wikiquote.org/wiki/Seinfeld#The_Smelly_Car_.5B4.21.5D 17:28:11 pmd: so, keep the macros, and get rid of lexical scoping? 17:29:07 -!- mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has quit [Quit: leaving] 17:29:50 -!- gregoryg [~user@64.25.236.146] has quit [Remote host closed the connection] 17:30:43 -!- petercoulton [~petercoul@152.105.51.87] has quit [Quit: Leaving] 17:30:47 benny [~benny@i577A3BE2.versanet.de] has joined #lisp 17:31:26 -!- Joreji [~thomas@67-052.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 265 seconds] 17:31:38 Joreji [~thomas@67-052.eduroam.RWTH-Aachen.DE] has joined #lisp 17:32:18 petercoulton [~petercoul@152.105.51.87] has joined #lisp 17:32:23 sykopomp: :D something along those lines. also, keep the macros and get rid of make-symbol/gensym 17:32:42 even better 17:33:51 REPLeffect [~REPLeffec@69.54.115.254] has joined #lisp 17:35:57 pavelludiq [~quassel@91.139.196.22] has joined #lisp 17:36:34 emma [~em@unaffiliated/emma] has joined #lisp 17:37:53 -!- varjag [~eugene@122.62-97-226.bkkb.no] has quit [Remote host closed the connection] 17:38:00 -!- yakov__ [~yzaytsev@183.49.62.92.nienschanz.ru] has quit [Quit: Ex-Chat] 17:38:07 Zahl_ [~kenneth@lnx101.hrz.tu-darmstadt.de] has joined #lisp 17:39:25 -!- gigamonkey [~user@adsl-99-17-207-80.dsl.pltn13.sbcglobal.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 17:40:08 morphling [~stefan@gssn-5f7554cf.pool.mediaWays.net] has joined #lisp 17:41:43 edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has joined #lisp 17:43:07 TraumaPony [~TraumaPon@124-171-212-5.dyn.iinet.net.au] has joined #lisp 17:43:20 kenjin2201 [~kenjin@61.99.46.4] has joined #lisp 17:45:47 _s1gma [~herpderp@77.107.164.131] has joined #lisp 17:46:59 -!- gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Ping timeout: 250 seconds] 17:48:40 to keep a macro hygenic at variable binding level, it's a habit to use with-gensyms or similar. what about at function call level? 17:50:01 you would need gensyms in a fully-dynamic lisp, too, I figure. 17:50:02 eg. (mapcar ...) -> (funcall 'mapcar ...) to ensure we're calling the mapcar in global environment? 17:50:20 pmd: that's why we have packages. 17:50:25 sykopomp: yes. i'm asking about how to do the same for functions, i.e. i don't want to call an flet/labels called mapcar 17:51:00 that's forbidden by the standard. 17:51:24 pkhuong_: ok, pretend it's some function from some other package 17:51:35 you are asking for troubles 17:51:35 use the package system and unexported symbols. 17:52:55 vroufe [~omx@ppp94-29-9-58.pppoe.spdop.ru] has joined #lisp 17:53:18 how does that help me? 17:53:18 if i have code that has a local function named mapfoo, then i change that code to include a package that defined mapfoo globally and i use a macro that calls mapfoo inside the said flet/labels 17:54:10 *pmd* thinks you guys got the question from the beginning 17:54:26 if it's exported, then, really, it's up to the user to not stick a fork in his eyes. 17:54:54 not :using packages helps 17:55:32 if it's part of a private interface, then make sure the symbol naming that function isn't exported, and it's *really* up to the user not to stick a fork in his eyes. 17:55:32 pkhuong_: thing is, the user didn't know the fork changed directions spontaneously 17:56:14 stassats: ok, i'll buy that... but... using packages is sometimes too useful 17:56:17 and, unportably, you can use extensions like SBCL's package locks. 17:56:27 -!- Joreji [~thomas@67-052.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 240 seconds] 17:56:49 wouldn't it be better to teach people to `(funcall 'mapfoo ...) instead, so as not to change the fork's direction? 17:57:27 If you want. So far, it's not been an issue. 17:57:29 Joreji [~thomas@67-052.eduroam.RWTH-Aachen.DE] has joined #lisp 17:58:18 real question: is `(funcall 'mapfoo ...) enough for this or am i missing something that solves this and other things? 17:58:47 I could (defun mapfoo ...) 17:58:55 kaemo [~kaemo@d38-66.icpnet.pl] has joined #lisp 18:00:46 pkhuong_: true, but it would be global and that's what i want 18:02:03 i want to avoid calling a local function with the same name. it's ok to either call the original function or a redefinition, as long as it's the symbol-function of 'mapfoo 18:02:38 -!- vroufe [~omx@ppp94-29-9-58.pppoe.spdop.ru] has quit [Ping timeout: 272 seconds] 18:02:38 katesmith_ [~katesmith@unaffiliated/costume] has joined #lisp 18:02:42 can a slot in a lisp struct store a list? 18:03:02 edlinde: Yes. 18:03:10 ok 18:03:19 edlinde: What made you think it might not? 18:03:53 beach: I was looking up some examples in Succesful Lisp and didn't see any slots that were of type list... most of them were just flattened out 18:04:08 edlinde: "flattened out"? 18:04:13 -!- wobster [~jan@ls12nb9.cs.uni-dortmund.de] has quit [Remote host closed the connection] 18:04:17 beach: I am just trying to understand some code that jdz showed earlier on 18:04:54 -!- katesmith__ [~katesmith@75-138-209-215.dhcp.snfr.nc.charter.com] has quit [Ping timeout: 240 seconds] 18:05:01 beach: maybe you can help? http://paste.lisp.org/display/116503 18:05:05 edlinde: Lisp uses what I call "uniform reference semantics" which means that it makes it look like every object is manipulated through a reference to it. 18:05:28 I am trying to understand what the line "setf (node-children node)... is doing 18:05:48 esp the "node-children node) part... I don't quite get this part 18:06:18 edlinde: It most likely sets the children of the node to the value of (list ...) 18:06:33 is the assumption that "node-children" is some sort of function then? 18:06:52 a function that when passed the node will give back the slot that stores the list of children? 18:06:59 is that a correct assumption? 18:07:04 edlinde: No. 18:07:06 Bronsa [~bronsa@host204-117-dynamic.60-82-r.retail.telecomitalia.it] has joined #lisp 18:07:11 edlinde: It is probaly an accessor, which means you can use it as a function (node-children node) and with setf (setf (node-children node) ..) 18:07:13 edlinde: setf is a macro that does something pretty special with its arguments. 18:07:14 Xach: ok where did I go wrong? :) 18:07:26 edlinde: Assuming that setf's arguments are evaluated normally. 18:07:37 ok maybe I didn't say it right 18:07:59 what I meant is ... in a hash when you did something like (setf (get-hash... ) cannot remember the syntax 18:08:28 it will create a new entry in the hash table if get-hash doesn't come back with anything yeah? 18:08:33 edlinde: Do you know C++? 18:08:38 something along those lines 18:08:48 beach: yeah ... but done it ages ago 18:09:00 I know accessor functions get/set 18:09:06 edlinde: Think of setf as the assignment operator of c++ that can be programmed. 18:09:21 oh like operator overloading? 18:09:43 edlinde: The setf macro dispatches on the xxx of (setf (xxx ...) ...) 18:10:07 edlinde: Each possibility for xxx is programmed separately. 18:10:08 -!- kaemo [~kaemo@d38-66.icpnet.pl] has quit [Ping timeout: 255 seconds] 18:10:20 [at least as a first approximation] 18:10:37 katesmith__ [~katesmith@75-138-209-215.dhcp.snfr.nc.charter.com] has joined #lisp 18:10:43 ok I need to read up about setf a bit then 18:11:01 to be honest I didn't get the dispatching part... is this some special lisp operation? 18:11:02 -!- SpitfireWP_ [~Spitfire@wikipedia/spitfire] has quit [Ping timeout: 255 seconds] 18:11:30 or maybe you can explain it with an example? 18:11:42 of where we use it to enter values in a hash table 18:11:49 I have seen this similar syntax there 18:12:04 (setf (get-hash... 18:12:10 SpitfireWP [~Spitfire@wikipedia/spitfire] has joined #lisp 18:12:26 it's magic! 18:12:41 -!- katesmith_ [~katesmith@unaffiliated/costume] has quit [Ping timeout: 255 seconds] 18:13:04 edlinde: Sure. Here is an example: when the compiler sees (setf (car ) ) it turns it into something similar to (let ((temp ) temp). 18:13:07 Phantom_Hoover [~phantomho@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com] has joined #lisp 18:13:30 How do you get SLIME to show the matching bracket to the one under the point? 18:13:43 edlinde: at least review PCL, pp 74--76. 18:13:48 Well, s/show/highlight/. 18:13:56 Phantom_Hoover: I think that's a general emacs thing, M-x show-paren-mode perhaps. 18:14:02 I got the JR steele book here 18:14:05 checking it out there 18:14:19 7.2 generalized variables 18:14:40 Xach, thanks. 18:15:04 edlinde: It is instructive to do (macroexpand-1 '(setf (gethash a b) c)) 18:15:39 kaemo [~kaemo@d38-66.icpnet.pl] has joined #lisp 18:15:57 edlinde: jr steele? 18:16:14 edlinde: guy l. steele jr? 18:16:20 Xach: hahha yeah sorry 18:16:22 thats the one 18:17:09 edlinde: That is not a tutorial introduction to CL. rme has a good suggestion. 18:17:18 edlinde: You don't need to understand how setf works to use defstruct accessor functions. Maybe reading the first few pages of chapter 19 would be a better place to start. 18:17:56 hmm ok 18:18:14 I just thought I should first need to understand what setf is doing internally 18:18:18 will check out PCL 18:18:37 out of curiosity how long have you guys been using CL? 18:18:43 common lisp 18:18:47 Why do I have the impression that my advice is going to be ignored, and that we will see pretty much the same questions here in just a short while. 18:19:06 beach: I did the macroexpand 18:19:26 beach: I didn't know what rplaca was 18:19:27 :) 18:19:34 had to look it up in the Steele book 18:19:35 beach: edlinde has been abusing the good nature and helpfulness of #lisp for several days, so your impression seems justified. 18:19:36 clhs rplaca 18:19:37 http://www.lispworks.com/reference/HyperSpec/Body/f_rplaca.htm 18:19:51 Xach: Yes, I have noticed. 18:20:03 Hmm for real? 18:20:09 definitely! 18:20:22 in what sense? by asking newbie questions? 18:20:31 stx_oo [~oo@78-20-245-128.access.telenet.be] has joined #lisp 18:20:45 edlinde: By pretty much ignoring advice and refusing to go read the books you are adviced to read. 18:21:12 I don't think that is a fair comment... I am reading PCL 18:21:21 Wow, HyperSpec has the pronunciations of symbol names. 18:21:24 I am in awe. 18:21:30 Phantom_Hoover: for some of them. 18:21:33 edlinde: We have no evidence of that. 18:21:54 clhs car 18:21:55 http://www.lispworks.com/reference/HyperSpec/Body/f_car_c.htm 18:22:05 evidence of what? that I am reading up on setf? 18:22:09 SpitfireWP_ [~Spitfire@wikipedia/spitfire] has joined #lisp 18:22:14 -!- leo2007 [~leo@59.57.34.138] has quit [Ping timeout: 264 seconds] 18:22:15 edlinde: you just don't show enough effort, it's like you come here to ask on every chapter you advance instead of trying to comprehend for yourself 18:22:18 beach: I just don't get your complaints 18:22:20 edlinde: it's just considered bad form to learn out loud in a public channel. 18:22:36 edlinde: I am not surprized. 18:22:39 ok fair enough 18:22:44 -!- bobbysmith007 [~russ@216.155.97.1] has quit [Quit: Leaving.] 18:22:45 you create a lot of noise about things that are better covered in the standard texts. 18:22:47 sykopomp, hmm, WP gave a different pronunciation for "cdr". 18:22:50 I can stop asking questions then 18:22:51 This must be RECTIFIED! 18:22:59 To the wikimobile! 18:23:06 zomgbie [~jesus@h081217131002.dyn.cm.kabsi.at] has joined #lisp 18:23:09 maybe its too early for me to ask questions here 18:23:09 edlinde: That is not what we are saying. 18:23:10 edlinde: you can ask questions when you *really* can't find the answer yourself 18:23:14 Phantom_Hoover: I pronounce it cooder. 18:23:30 sykopomp, yeah, that's what WP said. 18:23:37 I ask questions to prompt some discussion out of which I think I get some pretty good pointers 18:23:45 -!- drdo [~user@194.210.228.22] has quit [Remote host closed the connection] 18:23:52 but if this is too basic for you guys.. well thats understandable too 18:23:57 -!- ivan4th [~ivan4th@smtp.igrade.ru] has quit [Remote host closed the connection] 18:24:15 and like you say.. there is NOTHING that I cannot find in some book or tutorial... so really I should never have questions to ask 18:24:16 edlinde: That is very selfish of you and not the right way to do it. 18:24:17 "whoa. I can add two numbers with +? Is there a - function, too?" 18:24:28 "What happens if I try with *?" 18:24:34 edlinde: i understand your interest, but imagine every other person doing that 18:24:55 ok then I don't understand the protocol of this channel :) 18:25:03 I mean asking MY questions is selfish 18:25:15 the protocol is simple: Read/google first, ask questions later. 18:25:19 I am not able to contribute coz I don't know enough about Lisp... so what do you expect? 18:25:21 edlinde: It is also a question of proportion. We all ask silly questions from time to time, but we try to keep the proportion low. 18:25:26 -!- SpitfireWP [~Spitfire@wikipedia/spitfire] has quit [Ping timeout: 276 seconds] 18:25:32 chemuduguntar [~user@smtp.touchcut.com] has joined #lisp 18:25:37 edlinde: You are asking about elementary things, like what (setf (node-children n) ...) means. That stuff is well-covered in textbooks. Spend some time reading and studying and thinking, and if you get stuck, people on #lisp will be glad to help you. 18:26:01 edlinde: When you see a name like rplaca, I expect you to first check the CLHS if there is something like that in there before declaring that you don't know what it is. 18:26:03 jdz [~jdz@host84-111-dynamic.2-87-r.retail.telecomitalia.it] has joined #lisp 18:26:07 ehmm no I never asked what setf does 18:26:15 buh 18:26:20 someone asked me what it did and I said myself that I need to read more about it 18:27:02 anyway its fine.. I will go read some on it.. should be fine 18:27:05 edlinde: i'm not sure, but it seems like #lispcafe might be better for learning out loud, at least according to the cliki 18:27:07 edlinde: Right, continue arguing that you are in the right! That's the great approach here! 18:27:10 http://www.cliki.net/IRC 18:28:20 i'm siting this line in particular, "#lisp is a place for high-level discussion by experienced Lisp programmers" 18:28:34 urandom__ [~user@p548A53C4.dip.t-dialin.net] has joined #lisp 18:28:38 (which is why i don't pipe up here usually) 18:29:29 perhaps a more serious effort to bring life to #lispcafe would help. 18:29:59 #lispgames seems to have filled that role for me, though. 18:30:53 -!- stx_oo [~oo@78-20-245-128.access.telenet.be] has left #lisp 18:31:11 kushal [~kdas@114.143.165.255] has joined #lisp 18:31:11 -!- kushal [~kdas@114.143.165.255] has quit [Changing host] 18:31:11 kushal [~kdas@fedora/kushal] has joined #lisp 18:31:17 bobbysmith007 [~russ@216.155.97.1] has joined #lisp 18:33:36 dstatyvka [ejabberd@pepelaz.jabber.od.ua] has joined #lisp 18:37:23 drdo [~user@194.210.228.22] has joined #lisp 18:41:07 LaPingvino [~LaPingvin@187.87.233.200] has joined #lisp 18:47:18 vroufe [~omx@ppp94-29-9-58.pppoe.spdop.ru] has joined #lisp 18:49:30 -!- Bronsa [~bronsa@host204-117-dynamic.60-82-r.retail.telecomitalia.it] has quit [Quit: Lost terminal] 18:51:14 schell: Seems cliki is not up to date with how reality has developed. 18:51:53 well, if there won't be easy questions from beginners, all we would discuss would be gun control, software licenses, etc. 18:52:27 schmrkc: as always? 18:52:29 haha 18:52:30 pretty high-level, i guess 18:52:32 (: 18:53:15 hmmm... haven't seen a gun-control discussion in a long time 18:53:22 Bronsa [~bronsa@host204-117-dynamic.60-82-r.retail.telecomitalia.it] has joined #lisp 18:53:39 stassats has a long beard and memory. 18:53:41 probably around the same time since a big discussion on dating and relationships 18:53:42 -!- molbdnilo [~Ove@c80-216-195-64.bredband.comhem.se] has quit [Quit: molbdnilo] 18:53:47 SpitfireWP__ [~Spitfire@wikipedia/spitfire] has joined #lisp 18:54:06 *p_l|home* has permastubble currently growing into beard and wacky memory 18:54:18 guns don't control people. goverment with guns control people. 18:54:31 Xach: that's very flattering, but i don't have a beard 18:54:35 astalla [~astalla@dynamic-adsl-94-36-57-50.clienti.tiscali.it] has joined #lisp 18:54:40 stassats: It is a virtual beard. 18:54:41 guns are the root of all evil 18:54:55 -!- snorble [~snorble@s83-179-14-105.cust.tele2.se] has quit [Ping timeout: 260 seconds] 18:55:02 molbdnilo [~Ove@c80-216-195-64.bredband.comhem.se] has joined #lisp 18:55:05 i'm don't know lisp so well to grow a beard 18:55:10 p_l|home: This on dating and relationships. I would love to find this. Would it be in the #lisp logs somewhere easily findable? 18:55:28 -!- edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has quit [Quit: edlinde] 18:55:45 schmrkc: should be 18:56:46 seangrove [~user@70-36-236-168.dsl.static.sonic.net] has joined #lisp 18:56:47 -!- Bronsa [~bronsa@host204-117-dynamic.60-82-r.retail.telecomitalia.it] has quit [Client Quit] 18:57:18 -!- SpitfireWP_ [~Spitfire@wikipedia/spitfire] has quit [Ping timeout: 240 seconds] 18:57:49 I recall being guilty of blowing it into big one by mentioning some stuff I heard from an IBM Engineer that I shared an office with (about the statistics of asking strangers to have sex with you) 18:57:49 *schmrkc* looks around. 18:57:49 Bronsa [~bronsa@host204-117-dynamic.60-82-r.retail.telecomitalia.it] has joined #lisp 18:57:59 -!- Bronsa [~bronsa@host204-117-dynamic.60-82-r.retail.telecomitalia.it] has quit [Client Quit] 18:58:02 and what do the statistics say? 18:58:12 SpitfireWP [~Spitfire@cpc3-aztw22-2-0-cust874.aztw.cable.virginmedia.com] has joined #lisp 18:58:19 should or should i not ask strangers to have sex with me? 18:58:29 that there should be more signal than noise 18:58:30 -!- SpitfireWP [~Spitfire@cpc3-aztw22-2-0-cust874.aztw.cable.virginmedia.com] has quit [Changing host] 18:58:30 SpitfireWP [~Spitfire@wikipedia/spitfire] has joined #lisp 18:58:38 schmrkc: that if you simply ask, 2 out of 10 times you'll get positive response 18:59:03 the engineer in question had a friend who decided to test it, then returned a week later stating it was 3 out of 10 18:59:53 (said friend was working as programmer for IBM) 18:59:54 Bronsa [~bronsa@host204-117-dynamic.60-82-r.retail.telecomitalia.it] has joined #lisp 19:00:05 pmd, no, (sqrt evil) is the root of all evil. 19:00:06 -!- Bronsa [~bronsa@host204-117-dynamic.60-82-r.retail.telecomitalia.it] has quit [Client Quit] 19:00:12 did they control for the attractiveness of the asker? 19:00:24 schell: the original study probably did 19:00:26 -!- SpitfireWP__ [~Spitfire@wikipedia/spitfire] has quit [Ping timeout: 260 seconds] 19:00:27 i'd guess that would factor in heavily (in the original stats) 19:00:45 which would explain the difference 19:00:59 -!- churib [~tg@dslb-088-071-150-055.pools.arcor-ip.net] has quit [Ping timeout: 245 seconds] 19:01:00 Guns are the root of square guns. 19:01:14 Bronsa [~bronsa@host204-117-dynamic.60-82-r.retail.telecomitalia.it] has joined #lisp 19:01:15 p_l|home: 9 out of 10 'smore like it! 19:01:16 (defun the-root-of (something) (sqrt something)) 19:01:21 but 3 out of 10 is pretty good, though i don't see 10 alarmingly pretty girls even every week 19:01:29 adjust your taste 19:01:30 haha 19:01:33 i'll try it on my girlfriend 19:02:21 yup - 1 for 1 19:02:21 schell: it was based on asking 10 different females without filtering for "alarmingly pretty") 19:02:42 my study says 100% success 19:02:45 haha 19:03:00 schell, ah, but the sample size is far too small to draw conclusions from. 19:03:12 I suspect the confidence shown by simply asking out right cause attraction.. 19:03:22 don't worry, the other 2 times you'll end up in a jail, and 2 times in a hospital 19:03:23 anyway, it's #lisp, not #psychology 19:03:31 it's the biggest sample i have within moral constraints, i'm sorry my ethics exclude me from this study 19:03:40 LaPingvino, hmm, doesn't CL allow you to do something like (setf (function 'the-root-of-something) #'sqrt)? 19:04:23 Phantom_Hoover: (setf (fdefinition 'the-square-root) #'sqrt) 19:04:27 stassats, ah. 19:04:32 but it doesn't handle redefinition of SQRT 19:04:32 Phantom_Hoover: or scheme: (define the-root-of sqrt) 19:04:36 CL's namespaces still confuse me... 19:05:21 for that kind of things I prefer Scheme and Clojure over Common Lisp 19:05:33 good thing there aren't many of them 19:06:08 LaPingvino: that's a lousy reason 19:06:09 stassats, I thought there were at least the main variable one, the function one and the class one. 19:06:11 *p_l|home* sometimes wonders if it's not better to explain it in terms of slots in symbols rather than namespaces 19:06:20 LaPingvino: but that suffers the same problem: what if you redefine sqrt? 19:06:59 pmd: you just hang the label on another place 19:07:00 pmd, I thought function redefinition could lead to different behaviour anyway... 19:07:00 setf is redefining 19:07:00 define in scheme is just rebinding 19:07:05 you can do (define the-root-of sqrt) and then (define sqrt +) ;) 19:07:11 It does so for me, FWIW. 19:07:12 Phantom_Hoover: and packages, and tags, and restarts 19:07:12 LaPingvino: r6rs? 19:07:12 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 19:07:13 should be 19:07:33 stassats, tags? 19:07:34 *Phantom_Hoover* googles 19:07:37 if it's just bindings, it should be possible 19:07:41 don't google! 19:07:53 Oh, for TAGBODY. 19:07:53 -!- vroufe [~omx@ppp94-29-9-58.pppoe.spdop.ru] has quit [Ping timeout: 240 seconds] 19:08:26 no, (catch 'tag (throw 'tag 10)) 19:09:11 vroufe [~omx@ppp94-29-9-58.pppoe.spdop.ru] has joined #lisp 19:09:38 LaPingvino: but you can still (define (my-side-effects) (define sqrt something-else)), can't you? 19:09:45 Anyway; (defun foo (x) x) (defun bar (x) (foo x)) (defun foo (x) (1+ x)) (bar 3) evaluates to 4, for me. 19:09:49 On SBCL, if that changes anything. 19:10:07 freddie111 [~user@ppp-94-64-149-170.home.otenet.gr] has joined #lisp 19:10:08 -!- redline6561 [~redline@c-66-56-55-169.hsd1.ga.comcast.net] has quit [Ping timeout: 245 seconds] 19:10:17 that's good until your implementation decides to inline it 19:10:18 pmd: what do you want to do with that? 19:10:19 yeah, that's proper behaviour unless inlined 19:10:38 is it proper? 19:11:09 -!- aDuck [~aduck@bl5-3-53.dsl.telepac.pt] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 19:11:16 LaPingvino: change sqrt (by a call to my-side-effects) after the-root-of has been bound to a value 19:11:21 stassats: the defuns? I'd say so, at least that's how I understood the spec 19:11:29 p_l|home: what part of the spec? 19:11:44 LaPingvino: perhaps set! would be better 19:11:54 pmd: define is rebinding 19:11:55 set! is for side-efects 19:12:08 don't remember now exact parts, unfortunately. Though if you can provide me with counterarguments, I'd be happy. 19:12:08 that's why it has a ! 19:12:40 ? is for predicates 19:12:41 stassats, what are the conditions for inlining? 19:12:42 ! is for side-efects 19:12:43 Phantom_Hoover: whenever it feels like 19:12:45 I really like that convention 19:12:45 Hmm. 19:13:05 me too 19:13:13 What *does* the "f" in "setf" stand for? 19:13:30 It's bothered me for years. 19:13:45 I believe it's "form" 19:13:46 but I'm not sure 19:14:10 history: you have (set 'symbol value) 19:14:14 (setq symbol value) 19:14:20 Since it can handle arbitrary forms rather than just a symbol? 19:14:21 that is, set quoted 19:14:26 LaPingvino: ok, what i meant was that scheme doesn't have aliases, so you'd love Emacs Lisp better 19:14:33 Yeah, that makes sense. 19:14:34 and setf for forms 19:14:34 -!- petercoulton [~petercoul@152.105.51.87] has quit [Ping timeout: 272 seconds] 19:14:59 pmd: I prefer Clojure, but I really don't hate Common Lisp 19:15:25 i' 19:15:25 I had a job for 6 months in Common Lisp and it's really nice to do programming that way 19:15:25 "A call within a file to a named function that is defined in the same file refers to that function, unless that function has been declared notinline. The consequences are unspecified if functions are redefined individually at run time or multiply defined in the same file." 19:15:33 ve alway been confused with the many different forms in clisp 19:15:33 hey what kind of a job was that? 19:15:33 clhs 3.2.2.3 19:15:33 http://www.lispworks.com/reference/HyperSpec/Body/03_bbc.htm 19:15:41 schell: streamtech.nl 19:15:42 on bittads.com 19:15:43 -!- silenius [~silenus@cpe-76-169-35-122.socal.res.rr.com] has quit [Ping timeout: 272 seconds] 19:15:49 but I'm in Brazil now 19:15:56 so quit my job there 19:16:18 p_l|home: here you go 19:16:30 mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has joined #lisp 19:16:37 chemuduguntar: CLISP is an implementation of a language that we call Common Lisp and that we sometimes abbreviate CL. 19:16:49 beach, ah ok 19:16:52 Clojure is CL with some Java stuck on, isn't it? 19:16:57 no 19:16:57 -!- __jolly [~amin@adsl-75-31-66-53.dsl.irvnca.sbcglobal.net] has left #lisp 19:17:03 shows that i am a schemer :) 19:17:04 it seems europeans and wallstreet tend to use the interesting languages 19:17:06 it's something which calls itself lisp with some Java stuck underneath it 19:17:13 chemuduguntar: And the different operators in CL are not confusing at all. 19:17:24 Something which looks like CL but made out of Java? 19:17:50 Clojure doesn't look like CL whatsoever 19:17:51 Phantom_Hoover: no, it's a complete new lisp using the best parts from Common Lisp and Scheme (from Scheme for example that it's a lisp-1) and it's built to make interaction with Java trivial and good wqorking 19:18:15 Ah. I was misunderinformed. 19:18:36 but it also has as core parts some very interesting things 19:18:49 it has concurrency primitives 19:18:57 LaPingvino: Here, the fact that it's a Lisp-1 would not be considered "the best part". 19:19:16 and the datastructures are immutable 19:19:22 Phantom_Hoover: http://clojure.org/lisps 19:19:32 and it has a lot of laziness built in 19:20:10 stassats, is there any reason that CL itself doesn't just use sequential lets by default? 19:20:14 beach: I am aware of that, however CL being a Lisp-2 and huge makes it harder for me to have the base language readily available in my head... 19:20:15 Optimisational reasons? 19:20:18 Phantom_Hoover: just use let* 19:20:24 LaPingvino: I am sorry that your head is so small :) 19:20:26 historical reasons 19:20:28 -!- slyrus [~chatzilla@adsl-75-55-215-234.dsl.pltn13.sbcglobal.net] has quit [Remote host closed the connection] 19:20:32 i bet you even can't fly 19:20:42 beach: it's not small, but it makes it harder to "get" and to keep an overview 19:20:49 beach, I was under the impression that the full spec could kill rodents and small dogs when dropped. 19:20:52 stassats: me? 19:21:00 LaPingvino: yes 19:21:04 chiguire [~chiguire@190.39.219.244] has joined #lisp 19:21:04 -!- chiguire [~chiguire@190.39.219.244] has quit [Changing host] 19:21:04 chiguire [~chiguire@gentoo/developer/chiguire] has joined #lisp 19:21:16 stassats: I took the plane to get where I am now 19:21:24 see 19:21:26 for the rest of it, I can fly as well as you can ;) 19:21:36 Phantom_Hoover: Those are traditional arguments from people who refuse to consider the real issues. I have seen them for many decades and I know how to spot them. 19:21:54 beach, that was more for humour than anything else. 19:22:02 beach: my personal favorite horror point is (sort) 19:22:02 I'm not complaining. 19:22:12 brrrrrrr 19:22:39 in scheme you have to remember every different details of implementation specific extensions without which you can't do anything substantial 19:22:51 or copious amounts of SRFIs, or whatnot 19:23:22 Phantom_Hoover: After having seen such arguments being suggested "seriously" hundreds of times over several decades, I am no longer amused. Sorry! 19:23:22 in Clojure you have to use either Java, or some other extensions to get something a little bit complex done 19:23:22 stassats: true, that's why Clojure gets a nice spot; one implementation with sensible defaults 19:23:27 stassats: like what? 19:23:28 -!- freddie111 [~user@ppp-94-64-149-170.home.otenet.gr] has left #lisp 19:23:38 LaPingvino: it doesn't have logarithm function! the horror 19:23:55 stassats: Clojure already has more native quality libs than CL ever had... 19:24:27 well, you need to learn how to use them, don't you? 19:24:34 Hello Oracle :) 19:24:42 stassats: true, but with common lisp as well 19:24:54 stassats: and frankly, most CL libs scare me... 19:25:17 stassats: for maths I usually start clisp anyway 19:25:35 isn't `let' sequential in CL? 19:25:39 minion: what does SRFI stand for? 19:25:39 Supercerebellar Revolutioneering Fluxionally Iconomaticism 19:25:39 log is not maths 19:25:42 pmd, no. 19:25:42 pmd: it's parallel 19:25:44 that cannot be true 19:25:47 parallel bindings 19:25:49 pmd: let in Clojure is let* in CL 19:25:54 evaluation is sequential 19:26:00 (let ((y 4) (x (ln y)) doesn't work. 19:26:10 Well, add a ... in there. 19:26:14 minion: what does ASDF stand for? 19:26:14 Aneath Sericitic Dunch Foreworld 19:26:17 Or an "x". 19:26:18 haha 19:26:20 Phantom_Hoover: let* 19:26:27 schmrkc, I know that! 19:26:32 oh ok. 19:26:38 (let [y 4 x (ln y)]) 19:26:39 It was an example for pmd! 19:26:41 why is there a clojure troll in here? :| 19:26:41 minion: what does FUBAR stand for? 19:26:41 Facture Untinseled Bearish Arboricolous Rightful 19:26:43 oh 19:26:46 okay i'm done 19:26:48 please stop 19:26:58 LaPingvino: Are you turning into the (what's his name again, the F# guy of c.l.l)? 19:27:13 sykopomp: because I like Common Lisp way to much :) 19:27:23 LaPingvino: then talk about common lisp. 19:27:24 What do the [] signify? 19:27:27 clhs let 19:27:28 http://www.lispworks.com/reference/HyperSpec/Body/s_let_l.htm 19:27:42 i didn't know it was random 19:27:43 Phantom_Hoover: degradation 19:27:44 stassats, of what? 19:27:45 of mind 19:28:26 but I'm also very picky about misconceptions and very picky about languages in general 19:28:27 let performs bindings in parallel, but evaluates forms sequentially 19:28:45 In that it strays from the One True Representation or what? 19:29:00 schell: i can hardly call such words "random" 19:29:17 jolly1 [~amin@75.31.66.53] has joined #lisp 19:29:21 sykopomp: anyway, where should I go for discussion about all lisp-dialects? 19:29:26 LaPingvino: #lispcafe 19:29:29 stassats: will it repeat the same words for the same acronym each time? (hopefully if it IS random, it's seeded) 19:29:29 sykopomp: this is not called #commonlisp is it? 19:29:35 LaPingvino: /topic 19:29:37 but it's empty 19:29:39 schell: no 19:30:01 LaPingvino: this channel is for Common Lisp. 19:30:06 LaPingvino: This is essentially a Common Lisp channel. 19:30:13 beach: I see :) 19:30:14 then it is random - it finds random adjectives and one ending noun at random 19:30:52 or maybe not - rightful doesn't sound like a noun 19:30:54 beach: I suppose I'm way to pragmatical for the CL community... 19:31:06 @sykopomp plz tell newbies what other channels exist for other lisps 19:31:07 LaPingvino: Yes, that must be it. 19:31:16 I hate places where one language is religion and the rest is heresy 19:31:28 LaPingvino: This is not such a place. 19:31:29 :( 19:31:33 udzinari [~user@209.158.broadband13.iol.cz] has joined #lisp 19:31:39 schmrkc: explain 19:32:00 LaPingvino: It is a common lisp channel. Do you think people in #haskell would enjoy if you went in there going on about ocaml? 19:32:16 LaPingvino: No one things CL is the one true language. But it is what the channel is for. 19:32:23 i think! 19:32:27 or thing 19:32:30 jolly1: try concatenating a hash sign with the lower-cased language name and /join'ing the result? that usually works! 19:32:44 -!- kushal [~kdas@fedora/kushal] has quit [Quit: Leaving] 19:32:44 or with two # 19:32:58 there are occasional conversations about other languages, but they're usually CL-centered. We tend to steal ideas a lot. 19:32:59 LaPingvino: Or go into ##linux and go on about netbsd or something. People get uninterested and will suggest you pop over to #netbsd 19:33:04 specially drewc with his monadic madness. 19:33:19 but monads aren't limited to other languages 19:33:20 schmrkc: Well put! 19:33:29 -!- Patzy [~something@coa29-1-88-174-11-170.fbx.proxad.net] has quit [Quit: leaving] 19:33:36 indeed 19:33:39 also, once there was #lispcafe for newbie and occasional idiot talk. I daren't check if it's still active 19:34:09 21 members 19:34:09 how many lisp experience does each of you have, and in which context actually? 19:34:24 Patzy [~something@coa29-1-88-174-11-170.fbx.proxad.net] has joined #lisp 19:34:57 LaPingvino: some people here are employed to do lisp programming, some do it for hobby, some have been at it for years, some for days. 19:35:02 we need to invent of dsl for the hatez 19:35:07 s/of/a 19:35:10 you seriously expect 300+ public replies to this question? 19:35:30 cmm: That'd be fun. 19:35:49 cmm: It came across a bit oddly at an attempt to question authority 19:35:49 CL---writing all kinds of stuff, Emacs Lisp---writing Slime, Scheme---writing scripts, Clojure---just toying, Arc---just laughing 19:36:00 Edward__ [ed@AAubervilliers-154-1-50-103.w90-3.abo.wanadoo.fr] has joined #lisp 19:36:05 stassats: But you will be laughing for 100 years. 19:36:10 LaPingvino: http://xach.livejournal.com/271794.html some info about that. 19:36:30 tcr1: that too :) 19:36:31 stassats: What's about about the slime-cover contrib? You going to take care of that? 19:36:46 tcr1: yep 19:36:50 Thank you 19:37:08 -!- tcr1 is now known as tcr 19:37:35 schmrkc: what are you going to do here with Land of Lisp readers? 19:38:11 schmrkc: hahahaha 19:38:13 LaPingvino: What do you mean? If they come here for CL then it seems a good place for them to be. 19:38:52 How do vectors behave in CL? 19:39:05 Phantom_Hoover: well 19:39:10 Are they mutable and resizable by default? 19:39:14 joe4 [~joe@c-24-126-150-146.hsd1.ga.comcast.net] has joined #lisp 19:39:15 no 19:39:20 schmrkc: Land of Lisp uses Common Lisp to explain concepts, but covers all lisps 19:39:22 clhs make-array 19:39:22 http://www.lispworks.com/reference/HyperSpec/Body/f_mk_ar.htm 19:39:23 But they can be made that way. 19:39:27 see adjustable 19:39:29 I know. 19:39:34 Aferlak12 [~Aferlak12@64.120.233.114] has joined #lisp 19:39:36 and frankly, I believe that lisps really need more cross-talk 19:39:37 well, they're surely mutable 19:39:46 Well, obviously. 19:39:50 LaPingvino: Ok. I have never read it, I have no idea. I guess we will redirect them to #scheme or #clojure or someplace if that is their main interest? 19:39:52 unless you talk about #(a b c), which isn't 19:39:59 Phantom_Hoover: So what is it that you are asking? 19:40:08 LaPingvino: perhaps you should talk to #clojure people about this. 19:40:14 I'm sure they'd be fascinated by your ideas. 19:40:17 beach, I was asking about the #() syntax, actually. 19:40:30 -!- drdo [~user@194.210.228.22] has quit [Ping timeout: 245 seconds] 19:40:38 Phantom_Hoover: That is known as constant data that cannot be modified. 19:40:49 LaPingvino: how exactly does LoL "cover" other lisps, apart from mentioning them? 19:41:02 LaPingvino: have you actually read it? 19:41:04 sykopomp: When I entered the Clojure-community (and #clojure) it was the warmest ever community I have seen for a programming language 19:41:12 Phantom_Hoover: whether vectors are adjustable by default is implementation-dependent, actually 19:41:18 homie` [~user@xdsl-87-79-233-152.netcologne.de] has joined #lisp 19:41:21 LaPingvino: sounds like you've found a place where you can feel at home! 19:41:28 [oh, here we go again] 19:41:38 LaPingvino: it covers concurrency, brevity and laziness with Clojure and Arc 19:41:56 oh 19:42:01 sykopomp:  19:42:02 I guess it could cover concurrency, brevity and laziness in CL. 19:42:11 for values of "cover" equalling "mention", yeah 19:42:16 schmrkc: it demonstrates it for CL as well 19:42:24 ok 19:42:34 but Clojure uses it as built-in defaults 19:42:39 -!- homie` [~user@xdsl-87-79-233-152.netcologne.de] has quit [Read error: Connection reset by peer] 19:42:52 "it"? 19:42:56 LaPingvino: So it mentions it for other languages and covers it for CL? Like.. oh I dunno.. any random language tutorial has snippets of C code to compare with? 19:43:35 LaPingvino: There could be more cross-talk, I guess, but this channel is about Common Lisp as has been pointed out many times. 19:43:44 gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #lisp 19:43:45 but it doesn't have LOG, i can live without concurrent mumbo-jumbo, but give me a logarithm function! 19:43:52 -!- wbooze [~user@xdsl-195-14-198-103.netcologne.de] has quit [Ping timeout: 265 seconds] 19:43:52 What exactly is hard to grasp about that? 19:43:55 -!- homie [~user@xdsl-195-14-198-103.netcologne.de] has quit [Ping timeout: 260 seconds] 19:45:36 tcr: it's just that I normally use /join #nameoftechnology to get to something new 19:46:08 sorry for the cognitive dissonance! 19:46:08 you can head over to #the-clojure-common-lisp-peace-talks 19:46:09 and I think the default here in #lisp is very scaring for beginners and thinkerers 19:46:35 LaPingvino: ya we're very elitist and rude. 19:46:36 maybe just add to the topic a reference to #lispcafe, #scheme and #clojure 19:47:03 no one reads the topic anyway 19:47:13 stassats: you think really? 19:47:20 LaPingvino: Usually when people want to talk about Scheme, Clojure, or random bullshit, they get pointed in the right direction. 19:47:22 stassats: But perhaps they should? 19:48:01 Xach: but people don't like to feel stupid. When you put a pointer in the topic, they can find it out themselves and don't feel so humiliated 19:48:03 -!- jconrad [~jconrad@host109-156-3-121.range109-156.btcentralplus.com] has quit [Ping timeout: 245 seconds] 19:48:12 beach: maybe, but it's not hard to point some lost soul that he wants #scheme, or #emacs 19:48:26 Damn! I can't remember the name of the F# guy in c.l.l! 19:48:29 LaPingvino: clearly, people don't bother reading /topic. 19:48:32 We could put a pointer to /list in the /topic 19:48:35 John Harrop 19:48:41 stassats: Thanks! 19:48:56 a.k.a. Kermit# 19:49:03 LaPingvino: I think people feel stupid when they persist in trying to justify initially incorrect assumptions. 19:49:04 LaPingvino: What I meant to say is that you are turning into the Jon Harrop of #lisp. 19:49:08 stassats: I am in Brazil now, where everybody thinks that way, and you even have to ask to know the right bus. I'm from the netherlands, and you can just go to the bus stop and find out yourself without asking. That empowers 19:49:19 beach: tell me about him :) 19:49:36 LaPingvino: Absolutely not! 19:49:42 i just ask GPS 19:50:18 LaPingvino: But it is nice to talk to people. Big up, brazil! 19:50:27 beach: seriously, in the Netherlands I am not afraid to go anywhere, because you can get at any place just following the signs, and you just have to ask when necessary 19:50:52 LaPingvino: I am sure your irc client has something like /list to list all channels 19:51:02 schmrkc: that's not nice for tourists... they don't talk the language but can read signs. I am afraid to invite my parents here... 19:51:06 -!- HG` [~HG@xdsl-92-252-91-28.dip.osnanet.de] has quit [Quit: Leaving.] 19:51:15 nowl [~nowl@c-71-233-2-216.hsd1.ma.comcast.net] has joined #lisp 19:51:16 LaPingvino: I don't think that's a good analogy for #lisp and IRC. 19:51:19 LaPingvino: I don't read dutch though? 19:51:22 *beach* vanishes because of being bored with off-topic discussions. 19:51:28 LaPingvino: that matches my recollection of Netherlands. but what this has to do with this channel? 19:51:37 schmrkc: but I am fine to invite my gf from Brazil to the Netherlands. She gets anywhere without speaking Dutch 19:52:06 good thing #lisp speaks English 19:52:06 i kept having near misses with those damned bicycles 19:52:07 cmm: if you have a good welcome and a good documentation, it gets a heck of a nicer place to be 19:52:12 LaPingvino: If someone wants to participate in Common Lisp discussion, this is a pretty good place. People who want to discuss other things can go somewhere else. 19:52:15 LaPingvino: I have no idea what this has to do with anything. 19:52:17 stassats: u vi certas pri tio? 19:52:38 schmrkc: first-timers here arrive at a foreign planet 19:52:43 hey 19:52:44 wait! 19:52:56 LaPingvino == gavino! 19:53:05 sykopomp: Not even close. 19:53:15 darn 19:53:22 tem brasileiros aqui? 19:53:24 LaPingvino: your country analogy is bullshit. Everyone coming here graps english. 19:53:24 no, gavino can't be so coherent 19:53:31 estou quase com certeza que deve ter 19:53:32 grasps 19:53:40 LaPingvino: there's a big sign at the top saying "Common Lisp" 19:53:42 LaPingvino: I don't know about other beginners, I feel stupid when I ask questions here which I think are interesting or original, without searching logs. if you want signs, there are excellent free books plus almighty google. 19:53:48 LaPingvino: But please do invite your girlfriend. 19:53:50 schmrkc: no, only english speakers come here 19:53:59 groks even 19:54:18 udzinari: where are you from? 19:54:28 udzinari: and how long do you program lisp? 19:54:29 LaPingvino: Why would you expect to be able to get buy in a foreign country without speaking the native languages? that's a mystery for me. 19:54:45 ya I'm gonna leave this. 19:54:47 ok, many pages of scrollback and not much talk of lisp. 19:54:49 *schmrkc* has been biting too much 19:54:51 schmrkc: you can completely in the Netherlands 19:55:02 schmrkc: it's just a question of good organisation 19:55:06 drewc: engage a topic-monad 19:55:06 ops? 19:55:14 -!- jdz [~jdz@host84-111-dynamic.2-87-r.retail.telecomitalia.it] has quit [Ping timeout: 264 seconds] 19:55:17 -!- ChanServ has set mode +o drewc 19:55:33 LaPingvino: lets talk about common lisp ok? 19:55:57 LaPingvino: How? Say I invite some random burmese girl to the netherlands. She speaks no english, no dutch, does not read the latin alphabet. Nor does she use our fancy arabic numerals. How will she get on the right bus? 19:56:01 -!- astoon [~astoon@213.141.244.246] has quit [Quit: Leaving] 19:56:04 *schmrkc* pops off 19:56:25 schmrkc: ne feed pas les trolls svp 19:56:25 schmrkc: nice example! I know some birmese girl who does do exactly that 19:56:27 skalawag [~user@c75-111-102-202.amrlcmta01.tx.dh.suddenlink.net] has joined #lisp 19:56:31 drewc: I apologize. If you answered my question about type classes last night, I missed it. 19:57:18 nevermind, found it in the logs. 19:58:03 Saturnation [~dsouth@71.169.188.83] has joined #lisp 20:00:06 -!- SCVirus [~SCVirus@S0106001c1122940c.gv.shawcable.net] has quit [Remote host closed the connection] 20:03:59 -!- LaPingvino [~LaPingvin@187.87.233.200] has left #lisp 20:04:11 there are a lot of testing frameworks at http://www.cliki.net/Test%20Framework, what do you guys use? 20:04:56 I use Eos (which is just FiveAM with fewer dependencies) 20:05:09 *beach* uses lisp-unit, without being terribly well informed about the alternatives. 20:05:18 KalifG [~user@helios.isc.tamu.edu] has joined #lisp 20:05:35 -!- katesmith__ is now known as katesmith 20:06:10 sykopomp: Where can I find Eos? 20:06:30 end-of-service? 20:06:41 schmrkc: ql:quickload 20:06:43 -!- katesmith [~katesmith@75-138-209-215.dhcp.snfr.nc.charter.com] has quit [Changing host] 20:06:44 katesmith [~katesmith@unaffiliated/costume] has joined #lisp 20:06:46 ;D 20:07:12 oh! 20:07:42 Life before quicklisp seems so far away now. 20:07:43 -!- bobbysmith007 [~russ@216.155.97.1] has quit [Quit: Leaving.] 20:07:48 Adlai [~adlai@unaffiliated/adlai] has joined #lisp 20:08:14 -!- Bronsa [~bronsa@host204-117-dynamic.60-82-r.retail.telecomitalia.it] has quit [Quit: Lost terminal] 20:09:09 -!- udzinari [~user@209.158.broadband13.iol.cz] has quit [Remote host closed the connection] 20:09:16 *schell* installs quicklisp 20:09:20 thanks 20:10:02 QL == "Quality of Life" 20:10:09 jconrad [~jconrad@host86-147-30-95.range86-147.btcentralplus.com] has joined #lisp 20:10:09 KalifG` [~user@helios.isc.tamu.edu] has joined #lisp 20:10:24 *rtoym* uses rt for testing for no other reason than it predates most of the others. 20:12:17 *nyef* uses sb-rt for testing for no other reason than it's an SBCL contrib. 20:13:51 -!- KalifG` [~user@helios.isc.tamu.edu] has left #lisp 20:13:58 -!- KalifG [~user@helios.isc.tamu.edu] has left #lisp 20:14:21 KalifG` [~user@helios.isc.tamu.edu] has joined #lisp 20:14:31 -!- KalifG` [~user@helios.isc.tamu.edu] has left #lisp 20:14:47 I recently wrote 3 or 4 test functions with stefil ... it worked pretty well. 20:14:53 varjag [~eugene@4.169.249.62.customer.cdi.no] has joined #lisp 20:15:11 i've used stefil, works quite well. 20:15:27 KalifG [~user@helios.isc.tamu.edu] has joined #lisp 20:18:44 lc0180643 [~lc@41.35.197.69] has joined #lisp 20:19:34 -!- astalla [~astalla@dynamic-adsl-94-36-57-50.clienti.tiscali.it] has quit [Quit: Sto andando via] 20:20:06 Hello, a quick question, how many lectures on this URL ( http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/ ) concerning LISP? 20:20:18 cause I saw it's only the first lecture 20:20:22 all of them? 20:21:24 so why do it mention scheme in the page? 20:21:35 lc0180643: They're all using scheme. 20:22:02 minion: tell lc0180643 about sicp 20:22:02 lc0180643: please see sicp: The Structure and Interpretation of Computer Programs, a CS textbook using Scheme. Available under the CC-BY-NC Licence at (HTML), (Texinfo), and (PDF). Video lectures are available under the CC-BY-SA licence at 20:22:42 They all /use/ scheme, but they all /concern/ programming generally, and thus all programming languages. 20:23:43 gotcha, that's what I was asking about, thanks mates 20:25:26 is there some way to find a list of what minion knows about? 20:26:11 -!- lc0180643 [~lc@41.35.197.69] has quit [Read error: Connection reset by peer] 20:27:05 schmrkc: you can look at the minion source code 20:27:52 schmrkc: it's part of cl-irc 20:28:45 adeht: Thanks. I saw there was a function for adding terms so maybe people have added more to it. 20:28:50 That wouldn't cover the small-definitions, though. 20:29:07 I guess I could brute force it ;) 20:29:30 The major features are the cliki-lookup, the small-definitions, and the memos, although there's an eliza-bot in there too. 20:29:39 Do you have a clnet account? 20:29:45 *schmrkc* does not. 20:29:46 I guess these databases can be periodically pushed to github or something 20:29:52 help gave me some info, yah. 20:29:57 oh well, no biggie. 20:30:03 it seems it will ignore you if you ask it too many questions, haha 20:30:11 I was more curious about things like "sicp" "paip" etc. 20:30:19 *schmrkc* gets back to work and code instead. 20:30:22 minion: chant 20:30:22 MORE CURIOUS 20:30:22 schell: "Watch out, you'll make Krystof angry!" 20:30:40 chant is more important than the rest, obviously 20:31:01 it said - Would you /please/ stop playing with me? 3 messages in 28 seconds is too many. 20:31:02 schmrkc: those are usually from cliki.net/ 20:31:13 schmrkc: SICP is Structure and Interpretation of Computer Programming, PAIP is Paradigms of Artificial Intelligence Programming, graham crackers is some course notes on why PG's ANSI Common Lisp isn't so hot, /et cetera/. 20:31:17 -!- sykopomp [~sykopomp@c-66-41-249-30.hsd1.mn.comcast.net] has quit [Changing host] 20:31:17 sykopomp [~sykopomp@unaffiliated/sykopomp] has joined #lisp 20:31:41 schell: Oh, right. There's also the brute-force rate-limiter. 20:31:59 minion, what manner of creature are you? 20:31:59 why do you want to know? 20:32:06 minion, FOR SCIENCE! 20:32:06 please stop playing with me... i am not a toy 20:32:11 -!- chiguire [~chiguire@gentoo/developer/chiguire] has quit [Quit: chao chiguire ...] 20:32:19 minion, I'm asking a legitimate question! 20:32:19 Would you /please/ stop playing with me? 3 messages in 20 seconds is too many. 20:32:37 Fine... 20:32:52 you just got slash_ignored 20:33:04 That sounds painful. 20:33:23 (by minion) 20:34:47 ivan4th [~ivan4th@smtp.igrade.ru] has joined #lisp 20:35:35 LaPingvino [~LaPingvin@187.87.233.200] has joined #lisp 20:35:41 silenius [~silenus@rrcs-64-183-24-38.west.biz.rr.com] has joined #lisp 20:37:07 There are a couple of hardcoded things, like the chant, the response to asking if it's a bot, the acronym thing, and so on. 20:37:24 No real brains, unfortunately. 20:37:57 -!- mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has quit [Quit: mstevens] 20:41:11 -!- zomgbie [~jesus@h081217131002.dyn.cm.kabsi.at] has quit [Ping timeout: 255 seconds] 20:41:56 gigamonkey had a bot with a few smarts, i wonder if he's got plans to revive it 20:42:12 nyef, I asked if it was a bot! 20:42:21 well, AIML-syle book-smarts 20:42:22 minion, didn't I ask if you were a bot? 20:42:24 i'm not a bot. i prefer the term ``electronically composed''. 20:43:01 minion, ah, I knew you weren't a bot! 20:43:01 i'm not a bot. i prefer the term ``electronically composed''. 20:43:13 I agree! 20:43:19 -!- Phantom_Hoover [~user@S01060013101b6ddb.vc.shawcable.net] has been kicked from #lisp by drewc (Kicked by drewc) 20:43:27 drewc: The one he wrote for lisp help for the "knowledge operating system" biocomputing thing? 20:43:40 Phantom_Hoover [~phantomho@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com] has joined #lisp 20:43:44 Sorry...? 20:44:17 Phantom_Hoover: don't play with the bot in the channel. 20:44:47 Sorry; I didn't realise that was etiquette. 20:45:11 did you not notice the bot twice asking you to stop? 20:45:17 i certainly did. 20:45:31 nyef: is that what he wrote it for? i had no idea 20:45:34 Yes, I was foolish... 20:45:41 -!- vert2 [vert2@gateway/shell/bshellz.net/x-fpumvtamnvkemoef] has quit [Ping timeout: 276 seconds] 20:46:12 -!- carlocci [~nes@93.37.199.247] has quit [Quit: eventually IE will rot and die] 20:46:17 vert2 [vert2@gateway/shell/bshellz.net/x-fhplqxmdnksvagri] has joined #lisp 20:48:06 nyef: Thanks I don't think I'd see the 'Graham Crackers' before. 20:48:11 s/see/seen/ 20:54:10 drewc: Yeah, that's what it was for. He basically threw it up here, and asked us to ask questions of it so that he could flesh out the knowledge base. 20:54:54 ltriant [~ltriant@lithium.mailguard.com.au] has joined #lisp 20:59:22 is it possible to use format to output decimal with comma as a decimal separator? 21:00:33 ~:d 21:01:17 -!- gravicappa [~gravicapp@ppp85-140-116-130.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 21:01:34 rme: still uses . 21:01:55 -!- jconrad [~jconrad@host86-147-30-95.range86-147.btcentralplus.com] has quit [Ping timeout: 240 seconds] 21:01:59 -!- kenjin2201 [~kenjin@61.99.46.4] has quit [Ping timeout: 250 seconds] 21:02:02 Oh, sorry, I misread what you asked. 21:04:59 jconrad [~jconrad@host109-153-37-57.range109-153.btcentralplus.com] has joined #lisp 21:05:23 -!- guther2 [guther@kunsmann.eu] has quit [Quit: Der Bouncer wurde wegen Inaktivität gesperrt. Bitte in #freebnc melden.] 21:06:18 astalla [~Alessio@dynamic-adsl-94-36-57-50.clienti.tiscali.it] has joined #lisp 21:07:04 Are CL's vectors defined particularly rigorously? 21:07:23 no 21:08:34 (format t "~a" (substitute #\, #\. (format nil "~a" pi))) => 3,141592653589793d0 21:08:35 huh 21:08:51 Phantom_Hoover: Rigorously in what sense? 21:09:17 your vectors can be lists in disguise 21:09:45 nyef, in the sense stassats just said it wasn't. 21:09:59 There's a minimum specified for the maximum number of elements in a vector... of 1023 elements. 21:10:23 From context, stassats was saying "no" about the format thing. 21:10:34 nyef: 1024! 21:10:36 Guthur [~Guthur@cpc11-belf9-2-0-cust855.2-1.cable.virginmedia.com] has joined #lisp 21:10:37 i mean 1024 21:11:01 nyef: i was noing about vectors 21:11:07 Oh? 21:11:21 Okay, I can see it being 1024 with 1023 being the maximum index. 21:11:34 It's a criminally low ceiling, though, either way. 21:11:36 clhs ARRAY-TOTAL-SIZE-LIMIT 21:11:36 http://www.lispworks.com/reference/HyperSpec/Body/v_ar_tot.htm 21:11:42 Is there a way of getting your own format directives? 21:11:56 homie [~user@xdsl-87-79-233-152.netcologne.de] has joined #lisp 21:12:11 but it says an exclusive bound, my bad 21:12:14 -!- mcsontos [~mcsontos@nat/redhat/x-eklgnwoscwajieez] has quit [Ping timeout: 240 seconds] 21:12:17 Phantom_Hoover: ~// 21:13:07 -!- jconrad [~jconrad@host109-153-37-57.range109-153.btcentralplus.com] has quit [Ping timeout: 240 seconds] 21:13:30 just wondering if anyone has used lispkit lisp before? 21:14:06 stassats, presumably doesn't just let you stick in (format t "~w") and get whatever? 21:14:16 no 21:14:16 wbooze [~user@xdsl-87-79-233-152.netcologne.de] has joined #lisp 21:14:31 meaning yes 21:14:31 What're the semantics for ~/? 21:14:37 clhs ~/ 21:14:37 http://www.lispworks.com/reference/HyperSpec/Body/22_ced.htm 21:16:54 slyrus [~chatzilla@adsl-75-55-215-234.dsl.pltn13.sbcglobal.net] has joined #lisp 21:19:53 stassats: I know I can do that. seems that cl format function is as US centric as python's :| 21:20:15 shiduke [~shiduke@209.89.186.136] has joined #lisp 21:20:33 -!- trigen [~MSX@87.209.144.213] has quit [Ping timeout: 245 seconds] 21:22:53 -!- dstatyvka [ejabberd@pepelaz.jabber.od.ua] has left #lisp 21:23:15 clhs cl-l11n 21:23:15 Sorry, I couldn't find anything for cl-l11n. 21:23:21 stassats, so (defun print-comma (stream arg &rest args) (format stream "~a" (substitute #\, #\. (format nil "~a" arg))) 21:23:33 clhs cl-l10n 21:23:33 Sorry, I couldn't find anything for cl-l10n. 21:23:41 how much letter is there? 21:23:50 i18n? 21:24:18 Phantom_Hoover: no, it's locale standard, not translation standard 21:24:20 damn, i was asking clhs 21:24:23 minion: cl-l10n 21:24:24 cl-l10n: cl-l10n is a portable library for handling program localization. http://www.cliki.net/cl-l10n 21:24:54 Localisation? 21:24:58 -!- sellout [~greg@static-72-85-235-154.bstnma.east.verizon.net] has quit [Quit: sellout] 21:25:06 localization! 21:25:21 freiksenet: (format t "~/cl-l10n:format-money/" amount) 21:25:40 Phantom_Hoover: different countries have different rules to handle stuff like decimal formatting. it doesn't directly correlate to language used in that country 21:25:55 stassats: sykopomp: thanks 21:25:55 and you will get accurately printed hundred dollar bills 21:27:09 schoppenhauer [~christoph@unaffiliated/schoppenhauer] has joined #lisp 21:28:54 what's your guys' thoughts on the mvc patter in lisp? 21:29:05 model-view-controller? 21:29:06 pattern* 21:29:09 yes 21:29:55 Patterns are some arcane SE thing, yes? 21:30:00 It seems to me that the far more common pattern, and not just with lisp, is to integrate the view and controller. 21:30:17 yeah, that seems to be the case with obj-c 21:30:22 what's SE? 21:30:25 FORMAT-ATSIGN-COLON 21:30:25 PRETTY-PRINT-INTERFACE 21:30:28 No, program slicing is some arcane SE thing. Patterns came from "the trenches". 21:30:40 gravicappa [~gravicapp@ppp85-141-167-181.pppoe.mtu-net.ru] has joined #lisp 21:30:45 erm.. sorry 21:31:02 nyef, the trenches are arcane to me. 21:31:19 I'm dangling upside down from the balcony of my ivory tower. 21:31:32 Then get a job... or study architecture, where "patterns" originated. 21:31:58 Phantom_Hoover: well you see, the Germans are the customers, and your boss is the officer that makes you run out of the trenches, and 21:31:59 I resolved quite a while ago that I wouldn't go into programming. 21:32:55 so i'm guessing that most of you don't use mvc on a regular basis for lispy things 21:33:44 mooglenorph [~marco@138.110.30.221] has joined #lisp 21:34:00 -!- schoppenhauer [~christoph@unaffiliated/schoppenhauer] has quit [Quit: leaving] 21:34:04 I don't really use anything on a regular basis for Lispy things. 21:34:40 Amazingly enough, I don't do GUI stuff on a regular basis for lispy things. 21:35:10 is that due to no gui frameworks for lisp? 21:35:17 But, if you simplify the pattern down to model/user-interface, I'd expect it to be fairly common. 21:36:01 ekpneo: It's more due to my strengths being in the low-level stuff like compiler hacking and CPU simulators and whatnot. 21:36:06 The longest program I've written in Lisp is only about 8K long. 21:36:12 And I gave up on it. 21:36:18 Phantom_Hoover: why are you here? 21:36:24 i use model-view for writing gui applications in lisp using Qt 21:36:57 Phantom_Hoover: 8 thousand lines? that's impressive 21:37:00 schell: some people seem pretty keen on using ContextL instead of an MVC architecture. 21:37:00 redline6561 [~redline@gate-30.spsu.edu] has joined #lisp 21:37:06 stassats, no, bytes. 21:37:21 199 lines. 21:37:43 if it does the same thing as 8 thousands lines, even more impressive 21:37:44 sykopomp, because Lisp is still effectively my favourite language, or one of them. 21:38:05 perhaps you should try writing longer, more interesting programs. 21:38:10 what did that program you wrote do? 21:38:36 stassats: is that CommonQt? 21:38:36 sykopomp, did some neural-net related stuff for an esolang concept I came up with. 21:38:40 My first real lisp project weighs in at 3294 lines, or 129.6 thousand octets. 21:38:52 octet? 21:38:52 Failed due to not actually knowing very much about neural nets. 21:38:53 schell: yes 21:39:01 ekpneo, the pedant's byte. 21:39:03 nyef: yow! 21:39:05 ekpneo: A grouping of eight bits. 21:39:39 nyef: It seems like my original Lisp project also weighs about that much -- yet does absolutely nothing as of yet. 21:39:50 Over nineteen files... 21:39:52 -!- naryl [~weechat@213.170.70.141] has quit [Ping timeout: 265 seconds] 21:40:18 ah, missed the "thousand" part.. 21:40:18 nyef: what's it do? 21:40:31 sykopomp, see, I managed to do nothing in less than 216 lines! 21:40:41 Wait, no. 21:40:46 Exactly 216 lines. 21:40:48 nyef: Has all you previous Lisp project been pretend? 21:41:13 or is this one that you have actually got paid to do and therefore more real? 21:41:16 sykopomp: i'm reading the contextl page at common-lisp.net but i don't understand what exactly it is 21:41:26 sykopomp: It's an emulator for an old computer system. 21:41:27 s/you/your 21:41:32 nyef: nice :) 21:41:54 oh well, my GUI slowly turns into an IDE 21:42:01 nyef: certainly a better use of 3.2kloc than my pathetic attempt at writing a MUD (3 years now and still kicking?) 21:42:08 nyef: Were you talking about an old project 21:42:15 Guthur: It's the first one that I didn't give up on (the one previous attempt being a MUD that I discarded because I realized that I had absolutely no desire to write yet another input buffering implementation). 21:42:29 haha 21:42:32 contextl, is aspect oriented programming in lisp 21:42:36 or about it 21:42:40 context oriented 21:42:55 lisp is definitely anglophilic. 21:42:57 (isn't method combination 'aspect-orientation'?) 21:43:09 or something like that. 21:43:10 I just completely my first 'real' open source project actually 21:43:12 ... isn't contextl basically dynamic-binding for functions? 21:43:17 okay, i'm getting out my dictionary 21:43:18 not in CL though unfortunately 21:43:33 nyef: not only for functions 21:43:40 Time to play Buzzword Bingo! 21:43:56 nyef: methods, slot visibility 21:44:12 XML! 21:44:51 may be a dumb question... is it possible to add your own format letters? or is that private to the environment? 21:45:01 clhs ~/ 21:45:01 http://www.lispworks.com/reference/HyperSpec/Body/22_ced.htm 21:45:09 that's a popular question today! 21:45:18 woops. orry 21:45:22 sorry* 21:45:33 I looked in the hyperspec, but apparently not deep enough 21:45:37 That doesn't actually add letters, though. 21:45:43 right 21:45:45 It allows use of an arbitrary function. 21:45:56 which you can name using letters 21:46:22 stassats, OK, but you can't make your own w directive so that "~w" is a legitimate format directive. 21:46:46 the first lisp program I didn't give up on was a datamining program for cocitation graphs. 21:46:57 mooglenorph! 21:47:08 it still didn't work very well, but it did work... 21:47:16 sykopomp: sykopomp! 21:47:38 my first program wasn't a program, but a library 21:47:44 sykopomp, who died, incidentally? 21:48:02 jconrad [~jconrad@host109-153-55-121.range109-153.btcentralplus.com] has joined #lisp 21:48:46 I don't know. I'm sure at least a few people so far today. 21:49:06 :( 21:50:40 sykopomp, why are you psychopomping here, though? 21:50:54 Does your death tracker code use Lisp? 21:51:07 I am written in Lisp. 21:52:50 -!- Jasko [~tjasko@c-174-59-223-208.hsd1.pa.comcast.net] has quit [Read error: Connection reset by peer] 21:53:18 pierrep [~ppasteau@dyn-240-024.wireless.concordia.ca] has joined #lisp 21:53:56 -!- SpitfireWP [~Spitfire@wikipedia/spitfire] has quit [Ping timeout: 276 seconds] 21:54:22 Jasko [~tjasko@c-174-59-223-208.hsd1.pa.comcast.net] has joined #lisp 21:55:08 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 255 seconds] 21:55:49 sykopomp: I thought that was what nndb was for 21:56:08 -!- pierrep [~ppasteau@dyn-240-024.wireless.concordia.ca] has quit [Client Quit] 21:56:19 if you're of that particular bent 21:56:26 (I ain't) 22:00:29 -!- dfox [~dfox@ip-94-113-88-214.net.upcbroadband.cz] has quit [Ping timeout: 250 seconds] 22:01:01 KalifG` [~user@helios.isc.tamu.edu] has joined #lisp 22:01:07 -!- KalifG [~user@helios.isc.tamu.edu] has quit [Ping timeout: 240 seconds] 22:01:11 -!- milanj [~milanj_@109-93-9-193.dynamic.isp.telekom.rs] has quit [Quit: Leaving] 22:02:54 SpitfireWP [~Spitfire@wikipedia/spitfire] has joined #lisp 22:03:02 -!- redline6561 [~redline@gate-30.spsu.edu] has quit [Ping timeout: 264 seconds] 22:04:37 -!- Harag [~Harag@41.56.16.143] has quit [Ping timeout: 245 seconds] 22:04:53 -!- KalifG` is now known as KalifG 22:06:13 rread_ [~rread@c-24-130-52-79.hsd1.ca.comcast.net] has joined #lisp 22:09:41 -!- rread [~rread@c-24-130-52-79.hsd1.ca.comcast.net] has quit [Ping timeout: 245 seconds] 22:09:42 -!- rread_ is now known as rread 22:10:56 logia_th [~nmo@83.34.227.127] has joined #lisp 22:11:02 i am still reading up on lisp and just got to the functions section. I cannot believe that a functions' arguments can be specified in so many ways. common lisp seems to be the 'rolls royce' of programming languages. 22:11:11 -!- Efthymios [~efthymios@c-98-207-146-68.hsd1.ca.comcast.net] has quit [Ping timeout: 255 seconds] 22:11:31 joe4, naw, that's Mathematica. Well, in terms of price. 22:11:47 Actually, you could probably get a Rolls for less. 22:11:55 minion: what do you know about maude? 22:11:56 i know nothing about maude - what do you know about maude 22:12:20 minion: I forgot more than I knew 22:12:20 you speak nonsense 22:12:26 -!- urandom__ [~user@p548A53C4.dip.t-dialin.net] has quit [Remote host closed the connection] 22:12:28 *syntard* sniffs sadly 22:12:35 syntard: don't play with the bot 22:12:56 -!- gabnet [~gabnet@145.195.197-77.rev.gaoland.net] has quit [Quit: Quitte] 22:12:56 Phantom_Hoover: is it more flexible than lisp? 22:13:00 drewc: i'm only to second count 22:13:03 mathematica, I mean? 22:13:03 edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has joined #lisp 22:13:21 just checked on tcl and it seems to have similar facilities too. 22:13:31 joe4, it's a mathematical suite of stuff which isn't terribly good and costs way too much. 22:13:34 for function arguments, i mean. 22:13:39 drewc: did you steal anything from maude? 22:14:02 It also has an ego one would not have thought a piece of software could have. 22:14:44 i thought that was the ab-initio? 22:14:50 syntard: no 22:15:10 ab-initio software folks, i mean. 22:15:32 joe4, they could well be on a par, although Mathematica has the juggernaut of Stephen Wolfram's ego behind it. 22:16:23 oh, ok. Wolfram? of the search engine fame? 22:16:47 i'd say of mathematica fame but wolframAlpha is also his project 22:16:57 oh, ok. 22:17:12 Alpha has a massive ego as well. 22:17:23 hargettp [~hargettp@dhcp-162.mirrorimage.net] has joined #lisp 22:17:32 Phantom_Hoover: Please lurk harder. 22:17:49 *Phantom_Hoover* lurks 22:18:33 -!- hargettp [~hargettp@dhcp-162.mirrorimage.net] has left #lisp 22:20:18 Xach: tried quicklisp last night. <3. Thank you. 22:20:34 -!- dostoyevsky [sck@oemcomputer.oerks.de] has quit [Ping timeout: 240 seconds] 22:20:37 ekpneo: great, glad to hear it 22:20:47 -!- mooglenorph [~marco@138.110.30.221] has quit [Quit: Lost terminal] 22:20:49 Xach, I thank you also. 22:21:17 -!- LaPingvino [~LaPingvin@187.87.233.200] has quit [Remote host closed the connection] 22:21:36 LaPingvino [~LaPingvin@187.87.233.200] has joined #lisp 22:22:37 dostoyevsky [sck@oemcomputer.oerks.de] has joined #lisp 22:24:17 jeti [~user@p54B4795D.dip.t-dialin.net] has joined #lisp 22:24:49 -!- silenius [~silenus@rrcs-64-183-24-38.west.biz.rr.com] has quit [Quit: Leaving] 22:25:05 help 22:25:20 -!- p_l|home [~pl@pp84.internetdsl.tpnet.pl] has quit [Ping timeout: 272 seconds] 22:25:34 p_l|home [~pl@pp84.internetdsl.tpnet.pl] has joined #lisp 22:25:47 jolly1, OK. 22:26:08 how do you pm or invite someone for a priv chat ? 22:26:24 -!- edlinde [~edlinde@90-227-7-243-no15.tbcn.telia.com] has quit [Quit: edlinde] 22:26:28 i found it 22:26:30 thx 22:32:38 -!- Joreji [~thomas@67-052.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 245 seconds] 22:33:05 -!- dostoyevsky [sck@oemcomputer.oerks.de] has quit [Ping timeout: 276 seconds] 22:34:59 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Remote host closed the connection] 22:35:01 -!- varjag [~eugene@4.169.249.62.customer.cdi.no] has quit [Quit: Ex-Chat] 22:35:47 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Remote host closed the connection] 22:37:16 devinus [~devinus@65.107.181.222.ptr.us.xo.net] has joined #lisp 22:37:27 is Emacs lisp a seriously crippled Lisp? 22:38:18 devinus: it's pretty well-suited to writing emacs lisp programs. 22:38:24 devinus: in fact, no other language comes close. 22:38:34 you couldn't write emacs in common lisp? 22:38:44 minion: climacs 22:38:46 climacs: Climacs is an Emacs-like text editor written in Common Lisp. http://www.cliki.net/climacs 22:38:47 -!- shiduke [~shiduke@209.89.186.136] has quit [Read error: Connection reset by peer] 22:38:56 ekpneo: there are several. 22:38:59 heh.. climacs.. nice 22:39:00 lispworks is quite nice at it too 22:39:05 udzinari [~user@209.158.broadband13.iol.cz] has joined #lisp 22:39:08 What happened to Hemlock? 22:39:12 Died a grisly death? 22:39:26 Phantom_Hoover: you can quickload it if you like it. 22:42:39 -!- ozzloy_ is now known as ozzloy 22:43:06 -!- ozzloy [~ozzloy@ozzloy.lifeafterking.org] has quit [Changing host] 22:43:06 ozzloy [~ozzloy@unaffiliated/ozzloy] has joined #lisp 22:43:10 does anyone know if 3b's gl bindings include es 2.0? 22:43:28 you can ask _3b 22:43:41 or quickload 'em and try apropos 22:44:10 schell, I don't think it does, I certainly never noticed anything regarding it 22:44:20 things may have changed recently though 22:45:02 though it may just be a subset of OGL 22:46:57 Xach, I love quicklisp. 22:47:01 You are as unto a god. 22:47:20 -!- konr [~user@187.106.38.106] has quit [Ping timeout: 255 seconds] 22:47:33 -!- astalla [~Alessio@dynamic-adsl-94-36-57-50.clienti.tiscali.it] has quit [Read error: Connection reset by peer] 22:47:48 astalla [~Alessio@dynamic-adsl-94-36-57-50.clienti.tiscali.it] has joined #lisp 22:48:02 how do you handle shaders with clopengl? 22:48:21 separate glsl files loaded at runtime> 22:48:22 ? 22:48:33 yep 22:48:33 -!- astalla [~Alessio@dynamic-adsl-94-36-57-50.clienti.tiscali.it] has quit [Read error: Connection reset by peer] 22:48:43 thanks 22:48:47 astalla [~Alessio@dynamic-adsl-94-36-57-50.clienti.tiscali.it] has joined #lisp 22:48:59 -!- seangrove [~user@70-36-236-168.dsl.static.sonic.net] has quit [Ping timeout: 255 seconds] 22:49:07 there was only a few functions added to ES 2.0 above OpenGL 2.0 22:49:21 humasect [~humasect@S01060018f870b75e.rd.shawcable.net] has joined #lisp 22:49:26 ES 2.0 spec being relative to OpenGL 2.0 22:49:41 -!- vroufe [~omx@ppp94-29-9-58.pppoe.spdop.ru] has quit [Ping timeout: 240 seconds] 22:49:44 does that mean that in theory it *should* work without changes? 22:49:49 Its fully programmable with no fixed function though, but you probably know this 22:50:04 schell, Well there is some additions 22:50:11 2 secs 22:50:32 http://www.khronos.org/registry/gles/specs/2.0/es_cm_spec_2.0.25.pdf 22:50:34 no, i didn't, but i don't know what fully programmable means or what fixed functions are ...sorry 22:50:42 that should have the differences 22:51:04 programmable is the shader part 22:51:07 -!- Salamander [~Salamande@ppp121-45-97-26.lns20.adl6.internode.on.net] has quit [Ping timeout: 265 seconds] 22:51:45 fixed function is pretty much what it says, fixed functions for doing some common stuff like lighting, but with relatively little control 22:51:57 Salamander [~Salamande@ppp118-210-197-184.lns20.adl6.internode.on.net] has joined #lisp 22:52:14 oh, you're talking about glsl itself 22:53:46 yeah you will be using them so don't really worry about it 22:53:56 but _3b can give a better perspective 22:54:35 okay - i've written shaders before but i haven't used them with _3b's bindings 22:54:48 as long as there are examples i'll be fine 22:55:10 schell You just write them the same 22:55:15 -!- KalifG [~user@helios.isc.tamu.edu] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:55:18 OpenGL does not really provide anything in regards to shader authoring 22:55:34 It just exposes the functions for compile loading etc... 22:55:44 -!- ziarkaen [~ziarkaen@stu072.queens.ox.ac.uk] has quit [Ping timeout: 255 seconds] 22:55:44 and sending uniform data 22:55:57 -!- Davidbrcz [~david@212-198-92-25.rev.numericable.fr] has quit [Ping timeout: 250 seconds] 22:56:17 You still have to write in GLSL 22:56:21 -!- Phantom_Hoover [~phantomho@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com] has quit [Remote host closed the connection] 22:56:27 right - so it should be the same as for webgl, i just load the src into a string and compile it 22:57:07 yep that's it exactly, hehe 22:58:15 -!- astalla [~Alessio@dynamic-adsl-94-36-57-50.clienti.tiscali.it] has quit [Quit: Sto andando via] 22:58:50 thanks 22:59:26 you're welcome 22:59:49 vroufe [~omx@ppp94-29-9-58.pppoe.spdop.ru] has joined #lisp 23:01:23 -!- kmwallio [~kmwallio@host113-70.brownlie.fit.edu] has quit [Remote host closed the connection] 23:01:41 So, I don't want to start a flame war, but a genuine salesman for CL because I'm very interested in learning a lisp 23:01:54 Why would I use CL over, say, Clojure? 23:02:09 devinus: we are all programmers here, not salesmen! :) 23:02:09 jdz [~jdz@host84-111-dynamic.2-87-r.retail.telecomitalia.it] has joined #lisp 23:02:28 drewc: any programmer salesmen? :) 23:02:37 phf [~user@38.104.111.94] has joined #lisp 23:03:16 devinus: because you want separate variable and function names; because you want a native implementation; because ... i mean, it depends, doesn't it? 23:03:27 devinus: it would be much more useful for you to ask specific questions. We don't know you or what your criteria for programming languages is. 23:03:40 okay 23:03:47 i'm really interested in learning ideas 23:03:53 having an enlightenment experience 23:04:04 especially with macros 23:04:07 and coroutines 23:04:13 and restarters 23:04:18 (no idea what those are) 23:04:29 lisp fits at least so far (duh)! but why would it matter which one to start if the difference between implementations hold no value or worth yet? 23:04:31 macros are so 1960s. FEXPRs are where it's at. 23:04:32 devinus: read a lot of code, write some code. 23:05:10 humasect: well, i'm trying to guage if Clojure is missing some fundamental ideas of CL that i would miss out on if I chose clojure over CL 23:05:20 yes 23:05:20 sykopomp, Which languages support FEXPRs? 23:05:31 and cl is also missing some things from Clojure. 23:05:32 Io. 23:05:34 ah, clojure has some differences more than other CLs 23:05:45 Guthur: Kernel! 23:05:52 and scheme is different too 23:05:53 drewc: Clojure does some nutty stuff with symbol names for automatic hygiene, I found! 23:05:57 Is there an implementation of kernel? 23:06:05 Guthur: not one that I could get working. 23:06:09 yes 23:06:10 there is 23:06:17 it's called sink 23:06:24 it's not really... usable. 23:06:32 but with the latest mzscheme 23:06:33 plus, it's easy enough to write your own interpreter. 23:06:46 there is no mzscheme. Only Racket. 23:06:49 why would you want an implementation of kernel ... all the fun done by someone else! :P 23:06:50 is there a polished version of seibel's binary-data somewhere and are there other projects for writing a declerative readers/writers for binary formats? 23:06:58 drewc: I know! 23:07:05 but that's the same with arc, won't work with latest mzscheme too 23:07:05 -!- freiksenet [~freiksene@cs181130165.pp.htv.fi] has quit [Quit: WeeChat 0.3.2] 23:07:06 fexpr seems neat but so does quoting =) 23:07:09 Scheme and Clojure are both worth learning if you have the time. 23:07:11 what's the difference between coroutines and lambdas? syntax? 23:07:37 I see 23:07:40 fexpr? 23:07:41 lambda is a closure ..hm 23:07:53 lambda is an abstraction. 23:07:57 and a macro 23:08:05 pmd: control flow 23:08:06 Adamant: would you recommend CL or Scheme if you wanted to learn them all in an order and trace the lineage ? 23:08:16 Because i know CL and Scheme were developed side by side 23:08:18 -!- morphling [~stefan@gssn-5f7554cf.pool.mediaWays.net] has quit [Remote host closed the connection] 23:08:23 so i'm not sure which one 23:08:27 are coroutines and continuations related? 23:08:30 devinus: Scheme predates CL by over a decade. 23:08:36 oh wow 23:08:47 ohh it was Let Over Lambda which shown me about lambda, pmd 23:08:49 i mean, what is the difference between carbon and apples.... 23:09:19 pmd: http://letoverlambda.com/index.cl/guest/chap2.html 23:09:26 devinus: learn both, then learn Clojure 23:09:41 dont forget emacs lisp and script-fu 23:09:45 Haskell and Clojure go fairly well together too 23:09:56 humasect: i said lambdas, i should've said closures 23:10:09 I think you should learn Arc. 23:10:10 drewc: is a coroutine something similar to c#'s yield? 23:10:13 pmd: yep this is closure stuff. =) 23:10:19 Arc does everything you need, and it'll last 100 years. 23:10:26 humasect: let over lambda is a pretty terrible book, you should probably find a better source text 23:10:30 that's a pretty tall claim, heh 23:10:46 let over lambda is also a pretty great book 23:10:55 Arc might, in 20 years, do everything you'll need for the next 100 23:11:10 a great and terrible book. nice. 23:11:11 no book is the perfect bible but we can take useful bits from each 23:11:31 I read some people ripping on Arc the other day 23:11:32 -!- Saturnation [~dsouth@71.169.188.83] has quit [Quit: Ex-Chat] 23:11:39 is it crap or something? 23:12:08 what's the diff between arc and cl? 23:12:29 humasect: great in the same way "The Great War" was great, sure... in a word, horrible. 23:13:03 schell: they are different langauges. you can read about Arc on the internet somewhere 23:13:10 for every thing, half the world likes it while the other half dislikes it. yes you are part of the world too. =) 23:13:16 drewc: sorry 23:13:17 we're close to writing the "Arc facts" 23:13:27 silenius [~silenus@cpe-76-169-35-122.socal.res.rr.com] has joined #lisp 23:13:30 schell: arc is like four loko, common lisp is like a good bordeaux from the 70's that's starting to get a little over the hill but still quite drinkable 23:13:50 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 264 seconds] 23:13:56 only arc is less popular 23:13:59 but CL isnt old .. isnt it still changing ? 23:14:01 than four loko that is 23:14:07 arc is so fast it can go around the world and see its own back 23:14:10 humasect: if you say so. 23:14:15 bordeaux's from the 70's are still changing too 23:14:20 haha - that's a perfect analogy, i tried four loko, and that stuff is crazy 23:14:22 like how someone could say that C is old but has been changing since it was "born" 23:14:43 i must be getting younger by the day! :D 23:15:20 This weekend, I will continue hacking Common Lisp code. 23:15:33 lisp today is not the same lisp as many years ago, but also not different enough to call it something else.. 23:16:32 lisp has gotten 'quick'er lately, that's for sure ;) 23:16:36 only lisp code can speak for itself =) 23:16:50 ..and the software which runs it=) 23:17:52 pmd: i'm not sure of the semantics of yield in C#, but yeah, coroutines and yield are certainly related 23:17:55 devinus: the ideas behind it are interesting. the implementation is not impressive in the slightest so far. 23:18:18 Adamant: what sort of new ideas does it present? 23:18:39 "code obfuscation makes code more readable"? 23:18:57 devinus: basically, the idea of long-term program design, which I think is going to be increasingly important whether we want it to be or not 23:19:22 drewc: c#'s yield is a bit limited; it transforms code into what would be a tagbody in CL, saving the state of the last call so it jump directly to the instruction that follows the previous "yield" 23:19:26 devinus: as a Lisp, I'm not sure what it does that's supposed to be particularly interesting 23:19:40 ...I thought Arc didn't even have a module/namespace system to speak of. 23:19:47 Scheme has interesting ideas 23:19:53 Clojure has interesting ideas 23:20:08 CL has the interesting ideas in it agreed on by the committee 23:20:24 from it's constituent languages 23:20:44 -!- _s1gma [~herpderp@77.107.164.131] has quit [Quit: format t "motherfuckers"] 23:20:45 even newlisp has interesting _ideas_.... 3lisp, typed-scheme, picolisp, lisp500, 23:20:50 I dunno how FEXPR will turn out, but as a result Kernel is interesting too 23:21:03 yeah 23:21:09 CL also happens to be useful for actually getting real work done 23:21:09 PreScheme 23:21:12 fexprs are fun. 23:21:35 Qi was interesting as well 23:21:49 I just realized that was a reference to Chinese TCM theory this year 23:21:53 (Racket and Clojure both deserve honourable mentions in that dept) 23:22:44 perhaps the greatest sin of lisp (in general) has been all this perceived confusion: lisps don't mingle with each other 23:22:46 granted, I think it's easy to agree SBCL, Lispworks and such, Chez, Racket, and Clojure have the biggest libraries 23:22:52 they kind of overlap though 23:22:55 yeah 23:23:18 does anybody remember what was the name of that dylan binary parser library from ilc07? 23:23:57 jga [~gajon@189.135.75.156] has joined #lisp 23:26:06 -!- jga [~gajon@189.135.75.156] has quit [Client Quit] 23:26:09 Fare: around? 23:26:20 kinda 23:27:06 what would you think if i split the IPS stuff out from fare-utils, added my monads and documented some, and we publish it as a seperate library? :) 23:27:50 -!- jajcloz [~jaj@2002:4855:eb9a:0:219:e3ff:fe02:96b8] has quit [Quit: jajcloz] 23:28:36 <`3b`> schell: cl-opengl has no specific support for gles currently. i may try to add it at some point, now that desktop drivers support it, but haven't looked to see if there would be any conflicts 23:29:36 jga [~gajon@189.135.75.156] has joined #lisp 23:31:18 Modius__ [~Modius@cpe-70-123-158-125.austin.res.rr.com] has joined #lisp 23:31:35 -!- dnm [~dnm@static-71-166-174-24.washdc.east.verizon.net] has quit [Ping timeout: 276 seconds] 23:31:55 -!- schell [~schellsci@70-36-199-232.dsl.static.sonic.net] has quit [Read error: Connection reset by peer] 23:32:10 Euthydemus` [~euthydemu@vaxjo3.23.cust.blixtvik.net] has joined #lisp 23:34:22 Faed [fade@outrider.deepsky.com] has joined #lisp 23:34:38 housel` [~user@mccarthy.opendylan.org] has joined #lisp 23:34:46 spcshpop` [~user@c-71-231-165-31.hsd1.wa.comcast.net] has joined #lisp 23:36:03 phadthai_ [mmondor@ginseng.pulsar-zone.net] has joined #lisp 23:36:26 SegFault1X [~SegFaultA@c-98-234-1-162.hsd1.ca.comcast.net] has joined #lisp 23:36:40 jrockway_ [~jrockway@stonepath.jrock.us] has joined #lisp 23:36:54 Demosthenex [~demo@206.180.155.43.adsl.hal-pc.org] has joined #lisp 23:37:12 drewc: sure, would be cool with me 23:37:34 drewc: there is already a clips project 23:38:05 whatever fosters adoption is cool 23:41:04 -!- logia_th [~nmo@83.34.227.127] has quit [*.net *.split] 23:41:04 -!- Aferlak12 [~Aferlak12@64.120.233.114] has quit [*.net *.split] 23:41:04 -!- molbdnilo [~Ove@c80-216-195-64.bredband.comhem.se] has quit [*.net *.split] 23:41:04 -!- SegFaultAX [~SegFaultA@c-98-234-1-162.hsd1.ca.comcast.net] has quit [*.net *.split] 23:41:04 -!- vlion [~user@76.178.165.160] has quit [*.net *.split] 23:41:04 -!- Modius_ [~Modius@cpe-70-123-158-125.austin.res.rr.com] has quit [*.net *.split] 23:41:04 -!- housel [~user@mccarthy.opendylan.org] has quit [*.net *.split] 23:41:04 -!- Demosthenes [~demo@206.180.155.43.adsl.hal-pc.org] has quit [*.net *.split] 23:41:04 -!- spcshpopr8tr [~user@c-71-231-165-31.hsd1.wa.comcast.net] has quit [*.net *.split] 23:41:04 -!- phadthai [mmondor@ginseng.pulsar-zone.net] has quit [*.net *.split] 23:41:04 -!- Euthydemus [~euthydemu@vaxjo3.23.cust.blixtvik.net] has quit [*.net *.split] 23:41:04 -!- Fade [fade@outrider.deepsky.com] has quit [*.net *.split] 23:41:04 -!- minion [~minion@common-lisp.net] has quit [*.net *.split] 23:41:04 -!- jrockway [~jrockway@stonepath.jrock.us] has quit [*.net *.split] 23:41:04 -!- gds [~nnnuser@zenit.dh.bytemark.co.uk] has quit [*.net *.split] 23:44:25 fisxoj [~fisxoj@cpe-24-59-205-231.twcny.res.rr.com] has joined #lisp 23:46:55 gds [~nnnuser@zenit.dh.bytemark.co.uk] has joined #lisp 23:46:56 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 23:48:53 naryl [~weechat@213.170.70.141] has joined #lisp 23:49:25 -!- jga [~gajon@189.135.75.156] has quit [Quit: Leaving] 23:51:06 dnm [~dnm@c-68-34-57-169.hsd1.va.comcast.net] has joined #lisp 23:52:34 logia_th [~nmo@83.34.227.127] has joined #lisp 23:53:00 schell [~schellsci@70-36-199-232.dsl.static.sonic.net] has joined #lisp 23:55:11 -!- V-ille [~ville@ville-hp.dhcp.fnal.gov] has quit [Quit: Leaving.] 23:55:16 -!- LaPingvino [~LaPingvin@187.87.233.200] has left #lisp 23:58:34 Fare: excellent, thanks! 23:59:01 clip ? 23:59:08 lip ? 23:59:44 lil - lisp interface library? 23:59:58 clon?