00:01:25 adeht: holy macros batman 00:01:40 adeht: most of those seem to evaluation all their argument.. why not inline functions? 00:02:06 s/both/all 00:02:13 no .. i said all but thought both 00:02:16 :\ 00:02:44 bytecolor pasted "pascal parser" at http://paste.lisp.org/display/94922 00:02:46 drewc: consider the time of evaluation 00:03:03 it's a bit of a large paste, but I dont think the paste bin minds 00:04:01 adeht: so basically I use PEG operators literally, but I'm parsing them internally 00:04:02 bytecolor: it doesn't mind, and there are larger pastes. 00:04:03 adeht: i see no compile time evaluation happening in most of those. 00:04:10 pjb: ahaha 00:04:10 bytecolor: do you have legacy pascal code? 00:04:24 varjagg [~eugene@226.119.202.84.customer.cdi.no] has joined #lisp 00:04:25 pjb: just what I found on the net 00:04:35 Once upon a time, I switched to Modula-2. My whole pascal code base still stood on a single 1.4 MB floppy. 00:04:43 ichernetsky [~ichernets@195.222.64.165] has joined #lisp 00:04:44 I translated it manually to Modula-2. 00:04:47 I'm not a pascal fan, I just thought it would be a good non-toy language to parse 00:05:10 drewc: I don't mean it in that sense 00:05:17 When I switched from Modula-2 (and C and C++) to Lisp, from about 30 modules, only 2 I had to translate since the rest was already in lisp. 00:05:28 drewc: I suppose you'll get why if you try to write your own PEG parser ;) 00:05:37 And the size of the two translated modules was 1/30th of the Modula-2 source... 00:05:41 -!- varjag [~eugene@226.119.202.84.customer.cdi.no] has quit [Read error: Operation timed out] 00:05:44 adeht: it's on my list of things to do :) 00:06:15 drewc: some of the macros are macros just for consistency though, yes 00:06:20 bytecolor: on the other hand, it can be useful to process the sources of people who didn't switch to better languages. There exist legacy code in all kind of languages. 00:06:39 bytecolor: I've got a C++ parser wanabee somewhere... 00:06:57 pjb: now that is a feat ;) 00:07:21 and I extracted and converted to sexp the Ruby grammar from its sources. 00:07:43 the parser works well, it's just ummmm slow 00:09:06 -!- slyrus_ [~slyrus@209-188-122-100.taosnet.com] has quit [Ping timeout: 240 seconds] 00:09:09 -!- hadronzoo [~hadronzoo@ppp-70-251-125-29.dsl.rcsntx.swbell.net] has quit [Read error: Connection reset by peer] 00:10:09 -!- zeugma [~user@lnk2-themill-gw.binary.net] has left #lisp 00:11:07 I guess it's time for another little parser hack 00:11:23 adeht: what I'd like is for say, a literal string to be directly in the grammar "foo" should match "foo" without any surrounding function to tell the parser it's a literal string. same for #\x characters. 00:11:25 -!- faux [~user@1-1-4-21a.gkp.gbg.bostream.se] has left #lisp 00:11:37 bytecolor: have you researched the possibility of automatically creating a parser out of EBNF representation of the language in sexp ? 00:11:54 and possible read syntax #/a-zA-Z0-9_/ for char classes 00:11:59 adeht pasted "enamel parser hack" at http://paste.lisp.org/display/94923 00:12:38 TR2N: nod, but I'd like the grammar to be embedded in the language, not a seperate file like so many other parsers require. 00:12:51 adeht: now that's a proper ad-hoc recursive descent parser, lisp style! :P 00:13:11 ;) 00:13:13 *drewc* has done a great many of those 00:14:19 yeah :).. I did that one after reading EN's post where he says his Enamel parser was a short function (likely like that one) 00:14:42 spoke [~msw@75-101-102-192.dsl.static.sonic.net] has joined #lisp 00:17:41 ll(1) for the win :) 00:18:03 since we're showing off parsers, http://common-lisp.net/project/cl-org-mode/#sec-4 00:18:45 bizarrefish [~lee@host86-167-135-102.range86-167.btcentralplus.com] has joined #lisp 00:18:50 hadronzoo [~hadronzoo@ppp-70-251-109-243.dsl.rcsntx.swbell.net] has joined #lisp 00:18:59 hi, all. 00:19:00 that one is extensible! 00:19:05 jake-is-a-virus [~chatzilla@24.143.26.144] has joined #lisp 00:19:22 TR2N: that's sort of like the holy grail of parsing. EBNF => AST, but there is too little information in BNF/EBNF/ABNF/PEG/etc. PEG coupled with semantic actions, synthesized/inherited attributes, all in the *same* language... now the info is there. Well more so than a seperate file written in a very specific language. 00:19:27 -!- jake-is-a-virus [~chatzilla@24.143.26.144] has quit [Client Quit] 00:19:49 jake-is-a-virus [~chatzilla@24.143.26.144] has joined #lisp 00:19:50 could someone tell me why (defun fun (in) if (= in "exit") (exit) `in)) doesn't return "hi" when i run (fun "hi") 00:19:53 it just fails 00:20:01 clhs = 00:20:01 http://www.lispworks.com/reference/HyperSpec/Body/f_eq_sle.htm 00:20:03 with "h" is not a number 00:20:16 bizarrefish: it fails because h is not a number 00:20:21 slyrus_ [~slyrus@209-188-122-100.taosnet.com] has joined #lisp 00:20:24 minion: tell bizarrefish about gentle 00:20:25 bizarrefish: please see gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/ 00:20:50 drewc: so how do i get it to evaluate "hi" to itelf 00:20:54 ah ok, reading 00:21:03 bizarrefish: you learn lisp ;) 00:21:04 bizarrefish: "hi" already evaluates to itself. 00:21:13 But itself is not a number, and = expects only numbers. 00:21:19 -!- adu [~ajr@pool-173-66-253-196.washdc.fios.verizon.net] has quit [Quit: adu] 00:21:25 bizarrefish: if you want to compare strings, you could use string=. 00:21:31 pjb: ohhhh, right 00:21:41 i've been looking in the wrong place for the error 00:21:57 i thought it was the last part causing the problem. 00:22:19 -!- phax [~phax@unaffiliated/phax] has quit [Quit: Leaving] 00:22:35 ooo, literate programming ;) haven't thought of that in a while 00:23:07 bizarrefish: yeah, that file is also the source code :) 00:23:10 err 00:23:12 bytecolor: ^ 00:23:23 too many b's here :) 00:23:28 bizarrefish: you need to learn to use the REPL for bottom up programming. 00:23:32 Rix [~Rixi``@77-85-21-9.btc-net.bg] has joined #lisp 00:23:37 drwho [~d@c-98-225-208-183.hsd1.pa.comcast.net] has joined #lisp 00:23:52 First type (let ((in "hi")) (= in "exit")) 00:23:56 bytecolor: in the latest incarnation, not yet published, you can go round trip.. edit the source files and it updates the org-mode file. 00:24:43 ah ok, thanks 00:24:57 dammit, people in this channel are far nicer than the BSD crowd :P 00:25:13 that said, most people are 00:25:46 dammit: Yikes, must be one bunch of ugliness in the BSD crowd. 00:25:47 "GTFOANDUSEURNOOBLINUX" 00:25:50 Comes from not eating cat food. 00:25:51 yates [~yates@cpe-174-097-145-232.nc.res.rr.com] has joined #lisp 00:25:53 can someone please explain to me the advantage hutchentoot has over using a "standard" http server (Apache) with a CGI or other interface? 00:25:55 erjag [~eugene@226.119.202.84.customer.cdi.no] has joined #lisp 00:26:11 yates: Not running apache is one. 00:26:23 why is that an advantage? 00:26:29 i mean, from what i've seen, i would definitely use FreeBSD if someone gave me a reason to. It's a fine operating system. 00:26:32 One less thing to run and configure. 00:26:53 -!- HET2 [~diman@chello084114129176.4.15.vie.surfer.at] has quit [Quit: This computer has gone to sleep] 00:27:04 presuming they're both equally scalable, dependable, capable, etc., that would be true 00:27:06 yates: a live lisp instance is infinitely more valuable than a script that is killed after each request. 00:27:11 yates: think of hunchetoot more like an application server than a web page server. 00:27:22 pjb: well put. 00:27:26 yates: hunchentoot allows you to put code behind a url. 00:27:47 yeah, that could be useful! 00:28:00 you mean without a .cgi or .php extension? 00:28:27 Sure. 00:28:29 Yes. 00:28:45 -!- Ralith [~ralith@69.90.48.97] has quit [Quit: Lost terminal] 00:29:06 If you were to get apache to send all requests to modlisp or whatever then it would probably be comparable in function. 00:29:08 ummm ... you can do that with apache as well. 00:29:17 -!- erjag [~eugene@226.119.202.84.customer.cdi.no] has left #lisp 00:29:23 but i suppose that's besides the point. 00:29:31 But then why bother with apache if you're doing that? 00:29:45 i still use apache to proxy to my lisps 00:29:47 has anyone had any experience, or heard any stories, about how well hutchentoot performs as a mainline server for, say, less than 10 hits per second? 00:29:52 serve static content 00:30:04 yates: my wristwatch could serve 10 hits/second. 00:30:09 Zhivago: i guess i'm just wondering how "fat" it is - it may be inefficient at handling requests compared to apache 00:30:18 -!- pnq [~gaiug@ACA27762.ipt.aol.com] has quit [Ping timeout: 240 seconds] 00:30:25 -!- varjagg [~eugene@226.119.202.84.customer.cdi.no] has quit [Ping timeout: 264 seconds] 00:30:28 yates: then don't use it for the things apache can do? 00:30:44 not that i'm basing the next Google on it... :) 00:30:54 Well, it's pretty fat and it uses threads for everything. 00:31:02 Stick a caching proxy on the front. 00:31:07 that's what it do 00:31:10 i do* 00:31:32 drewc: btw I also looked at yaclml.. I'll try it out the next time I do some web stuff (I used aranedia's html macro in the ol' days and switched to cl-who when hunchentoot was the lisp buzz) 00:31:43 and serve static content from another server. 00:31:58 adeht: yaclml is a better solution IMO 00:32:04 Caching should take care of static content. 00:32:05 i don't like code walkers much. 00:32:12 Zhivago: yeah, but why bother? 00:32:17 drewc: but I didn't find anything w/ regards to string escaping? and e.g., the <:param thingy didn't escape :( 00:32:21 Zhivago: i serve all images from their own domain, for example. 00:32:25 Well, it saves thinking about it. 00:32:28 adeht: (<:as-html ...) 00:32:48 Zhivago: true enough. 00:32:49 If you can control all of that with a cache duration variable, why not? 00:34:03 Zhivago: re: threads for everything - you mean it creates at least one new thread for each new request? 00:34:15 yates: no. 00:34:23 Well, creates or recycles. 00:34:28 yates: that would be a recipe for disaster 00:34:39 Zhivago: or waits i would hope 00:34:47 Actually, I seem to remember that that was improved a while back. 00:34:57 drewc: erm, not <:param.. I meant yaclml:href 00:35:02 It might also do io multiplexing now. 00:35:32 adeht: i don't what that is either :) 00:35:45 -!- puchacz [~puchacz@87-194-5-99.bethere.co.uk] has quit [Remote host closed the connection] 00:35:46 *yates* is googlines io multiplexing... 00:35:53 s/googlines/googling 00:35:56 adeht: you mean (<:a :href ... ?) 00:36:10 drewc: no.. check href function in html4.lisp 00:36:18 -!- slyrus_ [~slyrus@209-188-122-100.taosnet.com] has quit [Ping timeout: 240 seconds] 00:36:21 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 00:36:45 drewc: it takes a base uri and key/value params and tries to construct a query string from those, but uses write-string/princ :( 00:37:34 adeht: what else should it use? 00:37:55 drewc: should at least escape them first 00:37:58 *drewc* has never used that function in 6 years of yaclmling 00:38:20 adeht: no, it should't... what if they've already been escaped? 00:38:33 drewc: huh? 00:38:45 drewc: escaped how? 00:39:49 thanks folks 00:39:55 (href (escape-as-uri string) ...) ? 00:40:52 drewc: ah, that's from arnesi.. didn't look there 00:41:20 -!- yates [~yates@cpe-174-097-145-232.nc.res.rr.com] has left #lisp 00:41:22 is it? oh so it is 00:41:38 probably should be a part of ucw proper 00:41:40 err 00:41:41 yaclml 00:43:32 also, I think you mean (escape-as-uri (href ...)) 00:44:31 but that's wrong 00:44:50 drewc: e.g., a value with #\& in it.. 00:45:09 that's wrong, that's why i did it the other way.. i don't think you know what i mean ;) 00:46:37 i meant what i typed .. (defun href-escaped (base &rest params) (apply 'href (mapcar #'escape-as-uri (cons base params)))) 00:47:06 or whatever .. 00:47:08 drewc: I didn't expect it would translate #\& that way.. and http%3A// is weird :) 00:47:09 -!- rdd [~rdd@c83-250-52-182.bredband.comhem.se] has quit [Ping timeout: 260 seconds] 00:47:38 adeht: of course ... you're escaping text for URI.. it's going to escape things 00:49:55 -!- fsl [~fsl@auf186.internetdsl.tpnet.pl] has quit [Quit: WeeChat 0.3.1.1] 00:50:42 drewc: I find that approach weird anyhow.. likely I'll avoid the href function and just use puri (does puri have a nice data structure for query params until you choose to render to a query string? don't remember) 00:50:56 adeht: yeah, puri is the better way 00:50:59 or similar 00:53:11 somnium [~user@adsl-1-30-191.dab.bellsouth.net] has joined #lisp 00:53:11 -!- ASau [~user@83.69.227.32] has quit [Read error: Connection reset by peer] 00:55:20 leo2007 [~leo@soup.linux.pwf.cam.ac.uk] has joined #lisp 00:55:30 ASau [~user@83.69.227.32] has joined #lisp 00:59:49 -!- alley_cat [~AlleyCat@sourcemage/elder/alleycat] has quit [Remote host closed the connection] 01:00:30 slyrus_ [~slyrus@209-188-122-100.taosnet.com] has joined #lisp 01:01:38 adeht: is that PEG code just something you were playing around with? 01:04:35 sierinjs [~root@unaffiliated/sierinjs] has joined #lisp 01:05:50 bytecolor: yes, look at the comment at the top 01:06:11 nod 01:06:40 If I want sbcl to load .asd files from my clbuild directory, then what should I write in .sbclrc? 01:07:32 sierinjs: (push "/path/to/asd/files/" asdf:*central-registry*) (assuming asdf is loaded) 01:10:29 adeht: Thanks, that works so much~~!!! 01:11:00 jsfb [~jon@unaffiliated/jsfb] has joined #lisp 01:12:23 adeht: Can I add more of those to set other places for asdf to search for? 01:13:07 sure 01:14:52 hi, all 01:15:26 in sbcl, how do i load a package, or include/source a file, or whatever it's called in lisp? 01:16:04 minion: tell bizarrefish about xach-asdf 01:16:04 bizarrefish: please look at xach-asdf: Xach's article "Making a small Common Lisp project" can be found at http://xach.livejournal.com/130040.html 01:16:14 oo, thanks. 01:16:56 -!- Odin- [~sbkhh@s121-302.gardur.hi.is] has quit [Quit: Odin-] 01:18:15 It isn't totally clear if this is valid based on the spec for a fully compliant lisp, given: (defstruct s ss) (setq si (make-s)) (setf (s-ss si) '(1 2 3)) (delete 2 (s-ss si)) (equal (s-ss si) '(1 3)) => t ; always. Is it? 01:18:59 it's "invalid" on several grounds 01:19:11 *jsfb* is all ears 01:20:03 first, using setq for (supposedly) undefined variables 01:20:21 second, possibly modifying a literal 01:20:24 mostly I want to know use (setf si (make-s)) then 01:20:39 oops... setf where setq in example 01:21:03 use defvar or defparameter (and then use a name like *si*).. 01:21:18 the key is the (setf tgt (delete tgt)) necessary is the question 01:22:03 Phoodus [foo@97-124-127-114.phnx.qwest.net] has joined #lisp 01:22:17 jsfb: after you fix the other problems, realize that it's permissible for an implementation to have delete just alias remove 01:23:04 If delete <==> remove in any case, then the answer is always 'yes' 01:23:30 The return value MUST be assigned back to the target if the effect is to be relied upon 01:23:31 it's not "necessary", you just need to know what to expect 01:23:34 based on what you said 01:24:05 e.g., when you use the value returned in some other context (say, the last form in a function) 01:24:16 meltingwax [~meltingwa@c-76-106-58-123.hsd1.md.comcast.net] has joined #lisp 01:24:48 my point is that if I want to delete something destructively rather than consing everything, I still need to reassign the result to the tgt right? 01:24:52 if you want to avoid the setf you can always use a modify macro (e.g., alexandria:deletef) 01:25:15 jsfb: if you want tgt to be sensible, yes 01:25:29 that's the point, thanks. 01:26:06 in sbcl, one doesn't seem to need to, but it warns about it. In any event I'm using setf tgt to be sure anyway 01:26:13 -!- kenjin2201 [~kenjin@220.120.43.80] has quit [Ping timeout: 265 seconds] 01:26:39 jsfb: try deleting 1 from (list 1) and see if it fits what you just said 01:26:43 jsfb: Always reassign, even when you don't need to. It's much easier to understand the data flow that way. 01:27:23 adeht, I didn't explicitly say in ALL cases btw 01:27:50 I'm sure delete does whatever it wants, and thus the return value must be used and not the side effect 01:28:09 jsfb: if you referred to some particular case, I hope that's not the code you gave :) 01:28:13 anyway, I'll always assign the return value from destructive functions like that 01:28:42 the code I gave was contrived 01:29:46 -!- slyrus_ [~slyrus@209-188-122-100.taosnet.com] has quit [Ping timeout: 245 seconds] 01:30:34 schoppenhauer [~christoph@unaffiliated/schoppenhauer] has joined #lisp 01:31:59 -!- tcr [~tcr@host146.natpool.mwn.de] has quit [Quit: Leaving.] 01:32:43 If I run (require 'c) in a.lisp, then function in b.lisp, which is called from a.lisp won't need to require it again, right? 01:33:10 Xach: thanks for the xach-asdf article 01:33:24 seangrove [~user@c-67-188-3-10.hsd1.ca.comcast.net] has joined #lisp 01:33:34 sierinjs: if it is loaded in the same environment afterwards, no. 01:33:47 sierinjs: but you shouldnt call (require ...) in a file anyway 01:34:55 lithper2_ [~chatzilla@ool-182ff1c9.dyn.optonline.net] has joined #lisp 01:35:09 sierinjs: people usually treat this behavior as problematic.. one day a.lisp may choose not to require c anymore, and then what would b.lisp get? 01:35:13 bytecolor: no problem. 01:36:01 sierinjs: spooky dependency at a distance :) 01:36:18 sierinjs: you better get used to some package management like asdf, if you want to split your project into multiple files. it is harder to begin, but as soon as you got used to it it is a lot less work. 01:36:47 I'm trying to use asdf, but I'm trying only since today. ;-D 01:37:24 -!- carlocci [~nes@93.37.222.242] has quit [Quit: eventually IE will rot and die] 01:37:49 So I make a :depends-on "c" in my.asd in :components after :file? 01:40:27 If I said something that doesn't make sense, please say so. :/ 01:42:39 sierinjs: you pass package names to :depends-on, which your package depends on. and you pass file-names which belong to your package to :components 01:42:57 -!- dnolen [~dnolen@pool-96-224-24-64.nycmny.east.verizon.net] has quit [Quit: dnolen] 01:43:10 sierinjs: cant tell you the actual format from scratch. just look at a few asd-files you can download from cliki or github. 01:43:16 sierinjs: the syntax is self-explaining 01:43:26 Mkay, thanks. :] 01:43:58 sierinjs: the files you list in your .asd-file have (obviously) an order, and are loaded in that order, when you require your package. and when you require it, the packages it depends on are also required 01:44:51 you don't depend on packages, but on systems 01:45:33 adeht: whats the difference? i thought "package" is a placeholder which can stand for "system" or "namespace" 01:45:46 minion: tell schoppenhauer about packages 01:45:46 schoppenhauer: direct your attention towards packages: http://weitz.de/packages.html http://www.gigamonkeys.com/book/programming-in-the-large-packages-and-symbols.html http://flownet.com/ron/packages.pdf 01:45:51 schoppenhauer: check the first link 01:47:44 adeht: omg ... i know i already read that page about one year ago ... but actually I never pay attention to that. 01:47:49 adeht: but thanks. 01:49:45 adeht: anyway, sbcl treats asdf-systems as modules ... you can require them there. 01:50:00 (i usually use ccl ... which doesnt allow this) 01:51:20 schoppenhauer: not really.. e.g., names aren't added to *modules* 01:52:21 the asdf hook for require is just a cheap hack 01:52:57 I guess it's even detrimental, as we have newbies talking about (require ...) all the time 01:55:02 <_3b> REQUIRE doesn't modify *modules*, PROVIDE does 01:55:26 3b: yep, but that's irrelevant to what I said 01:55:53 indeed. 01:56:15 well, who would have guessed that i'd learn something today... 01:58:17 pnq [~gaiug@AC82079E.ipt.aol.com] has joined #lisp 01:58:41 PatrickMcLaren [~Patrick@ppp118-209-82-145.lns20.mel4.internode.on.net] has joined #lisp 01:59:50 -!- reprore_ [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 02:00:37 -!- sierinjs [~root@unaffiliated/sierinjs] has quit [Quit: Ninja, please.] 02:02:56 -!- timor [~timor@port-87-234-97-27.dynamic.qsc.de] has quit [Remote host closed the connection] 02:10:12 ikki [~ikki@189.247.73.6] has joined #lisp 02:17:13 ace4016 [ace4016@cpe-76-170-134-79.socal.res.rr.com] has joined #lisp 02:19:50 -!- oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has quit [Ping timeout: 272 seconds] 02:25:29 dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 02:30:39 ska` [~user@124.157.214.197] has joined #lisp 02:33:45 -!- PatrickMcLaren [~Patrick@ppp118-209-82-145.lns20.mel4.internode.on.net] has left #lisp 02:36:47 -!- ikki [~ikki@189.247.73.6] has quit [Ping timeout: 246 seconds] 02:38:50 hugod [~hugod@bas1-montreal50-1279440411.dsl.bell.ca] has joined #lisp 02:53:42 -!- lithper2_ [~chatzilla@ool-182ff1c9.dyn.optonline.net] has quit [Remote host closed the connection] 02:55:31 ikki [~ikki@189.247.73.6] has joined #lisp 02:57:21 davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has joined #lisp 02:58:06 bytecolo` [~user@32.152.181.209] has joined #lisp 02:58:40 jsoft [~user@unaffiliated/jsoft] has joined #lisp 02:58:54 -!- leo2007 [~leo@soup.linux.pwf.cam.ac.uk] has quit [Quit: rcirc on GNU Emacs 22.3.1] 02:59:21 -!- bytecolor [~user@32.156.166.146] has quit [Ping timeout: 245 seconds] 03:03:48 -!- Guest89245 [~user@159.92.64.121] has quit [Quit: ERC Version 5.2 (IRC client for Emacs)] 03:09:42 -!- bytecolo` is now known as bytecolor 03:10:48 Helheim_ [~helheim@93.186.169.24] has joined #lisp 03:11:55 hefner [~hefner@ppp-61-90-82-194.revip.asianet.co.th] has joined #lisp 03:13:03 -!- schoppenhauer [~christoph@unaffiliated/schoppenhauer] has quit [Read error: Connection reset by peer] 03:13:41 -!- Helheim [~helheim@93.186.169.24] has quit [Remote host closed the connection] 03:14:10 -!- ikki [~ikki@189.247.73.6] has quit [Ping timeout: 248 seconds] 03:21:56 -!- pnq [~gaiug@AC82079E.ipt.aol.com] has left #lisp 03:23:59 -!- spoke [~msw@75-101-102-192.dsl.static.sonic.net] has quit [Remote host closed the connection] 03:24:06 -!- Soulman [~kvirc@154.80-202-254.nextgentel.com] has quit [Ping timeout: 256 seconds] 03:34:11 -!- airolson [~airolson@CPE000ae6922d9c-CM001cea397dac.cpe.net.cable.rogers.com] has quit [Quit: airolson] 03:37:37 -!- nha [~prefect@250-194.105-92.cust.bluewin.ch] has quit [Ping timeout: 264 seconds] 03:38:55 devinus [~devinus@cpe-66-25-177-158.austin.res.rr.com] has joined #lisp 03:39:15 what are the most popular CL implementations 03:39:37 missed a "?" 03:40:25 from what i can tell, they are LispWorks and SBCL 03:40:27 devinus: in open source world? SBCL and Clozure, I guess, also CLISP. I don't have hard numbers, and I get the feeling that most people that actively use GCL and CLISP don't come here 03:40:45 sbcl, abcl, ccl, clisp, lw, acl, ecl all seem pretty popular 03:40:59 -!- ska` [~user@124.157.214.197] has quit [Remote host closed the connection] 03:41:06 at least, I have all of them except the proprietary ones installed. 03:41:11 SBCL definitely got a lot of traction in Linux world, especially since I noticed distros switching to SBCL from GCL or CLISP when they compile CL applications 03:41:48 what seems to be the most popular here in #lisp ? 03:41:55 The commercial world has LW and ACL as well as Scieneer plus whatever Scheme people use 03:42:11 devinus: ccl, sbcl, and clisp, probably. 03:42:16 _maybe_ 03:42:39 devinus: definitely SBCL, then I guess CCL. CLISP gets mentioned quite often, but I think it doesn't rise too much above ECL or commercial implementations in frequency of mentions here, at least not lately 03:43:13 devinus: answering the question is a bit tricky, because most implementations have different niches. 03:43:33 I guess ccl and sbcl sort of, kind of step on each others' toes. 03:43:37 I might be able to make a very simple comparison with logs, but without proper NLP if not quite strong AI (that is outside my capability) I won't be able to tell you about popularity by frequency of talks on this channel :) 03:43:55 well thanks, guys 03:43:57 abugosh [~Adium@65.78.51.171] has joined #lisp 03:44:29 what is sbcl's niche? ccl's niche? 03:46:13 SBCL doesn't have a niche. SBCL is the one you use by default, unless there's a good reason not to. 03:46:54 hefner: I'd say that about CCL ;) 03:48:27 CCL, meh. 03:48:37 CCL, <3 03:49:32 most of the disadvantages of SBCL, without the performance, or trustworthy x86 support. Plus the stream lock stupidity. 03:50:09 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Ping timeout: 276 seconds] 03:50:22 plus threads that don't suck, sexy hash tables, and none of the "compiling, bbiab" 03:50:36 did I mention it actually works on platforms that aren't linux? 03:50:41 imagine that! 03:50:45 ... 03:51:10 Fare [~Fare@c-24-218-127-11.hsd1.ma.comcast.net] has joined #lisp 03:51:14 didn't mean to start a war, but i think i'll check ccl out tonight 03:51:37 i like the way it "feels" so far 03:51:43 the culture, i mean 03:51:52 sykopomp: if windows x86 support is still considered experimental, that's irrelevant. SBCL works fine on the Mac too. 03:51:53 devinus: use sbcl too :) 03:52:20 whoa, I seem to be sending SBCL 1.0.32.30 in a loop, compiling my local ASDF with speed 2 safety 2 debug 2 !!!! Same version works well with speed 3 or speed 1 03:53:08 devinus: I usually develop on CCL because it compiles much faster, and check that the code runs on SBCL for delivery if the app I'm working on needs extra performance and/or number crunching. 03:53:18 oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has joined #lisp 03:53:30 -!- billitch [~billitch@men75-12-88-183-197-206.fbx.proxad.net] has quit [Ping timeout: 240 seconds] 03:53:37 although if I expect it to run properly on non-linux platforms, I'd probably not bother with SBCL >_> 03:54:31 sykopomp: what are these non-Linux platforms you speak of? CCL is probably as useless as SBCL if you're targeting windows. 03:54:43 hefner, what's wrong with CCL on windows? 03:54:52 I was about to ask the same thing. This is news to me. 03:55:42 -!- benny [~benny@i577A8C95.versanet.de] has quit [Ping timeout: 256 seconds] 03:55:47 our friends on #ccl want to know! 03:55:49 -!- oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has quit [Client Quit] 03:56:03 oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has joined #lisp 03:56:58 does the 32-bit port run on 64-bit windows yet? 03:57:12 ooo 03:57:21 dunno. Why not use the 64-bit port there? 03:57:35 dunno, why not use Linux, if you control the environment. 03:58:06 won't a simple driver select between the two implementations? 03:58:29 hefner: http://trac.clozure.com/ccl Doesn't say anything about crappy 32bit support... 03:58:39 where do you get the impression that it doesn't work on 32bit windows? 03:58:57 -!- marioxcc is now known as marioxcc-AFK 03:59:04 I'm sure it "works", in the same way that SBCL "works" 03:59:22 It doesn't say anything about being crippled or missing features. 03:59:44 as opposed to the complete lack of thread support and the experiences I had with instability when I was naive enough to try SBCL on win32 at all. 03:59:45 although I'm prejudiced by the warnings that accompanied it when it was first released, along the lines that the x86 compiler backend was still somewhat experimental, I'm sure it has evolved since then. 03:59:56 hefner: or use PLT Scheme. 04:00:06 Fare: or don't use PLT Scheme. 04:00:08 >_> 04:01:45 there's at least two incompatible definitions of "works" one can use, which muddies the discussion. Works meaning you can install it on your computer and poke around with it, and it doesn't crash, versus works meaning you can compile an executable, drop it on a random computer, and expect it to work. 04:01:51 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 04:02:17 in the former case, you really might as well be using Linux or Mac OS X, because no one else is using your software anyway. 04:02:19 hefner: you still have not pointed out any problems with CCL on win32 besides some ancient experience you seem to have had. 04:02:29 hefner: all it takes is less than 100 lines of C to make a selector between 32bit and 64bit version. And Windows itself got issues with WoW64 applications (that I actually encountered in what looked like innocent simple program) 04:02:57 oh, great, so you get to compile two versions, and ship them both. so much for CCL's size advantage. 04:02:59 *Fare* is still horrified that sbcl 1.0.32.30 should hang indefinitely compiling a function from asdf.lisp with speed 2 safety 2 debug 2 !!! 04:03:17 hefner: when I'm looking for size advantage, I'm trying with ECL :) 04:03:28 Fare: it's not hanging indefinitely. That's just SBCL's compiling speed. Give it a few hours. 04:03:34 go get a sandwich or something. 04:03:48 :-/ 04:03:51 :D 04:03:55 *Fare* goes cook some rice 04:04:31 holycow [~new@mail.fredcanhelp.com] has joined #lisp 04:04:38 benny [~benny@i577A8FDD.versanet.de] has joined #lisp 04:04:55 -!- marioxcc-AFK is now known as marioxcc 04:04:59 sykopomp: I'd think the 32-bit issue is sufficient alone, but can it relocate its core image, or will it randomly get screwed in the same way the SBCL does? 04:05:35 hefner: afaik it doesn't have memory-map related problems, though I found mentions of 64bit port being "better" 04:05:48 (but without specifics) 04:07:00 -!- dreish [~dreish@minus.dreish.org] has quit [Quit: dreish] 04:07:12 but I recall managing to get a kitten of death with completely innocent stuff on SBCL/win32 04:07:30 otoh, my windows install might be slightly less common -_-; 04:07:40 billitch [~billitch@men75-12-88-183-197-206.fbx.proxad.net] has joined #lisp 04:07:53 b4|hraban [~b4@a83-163-41-120.adsl.xs4all.nl] has joined #lisp 04:09:48 ska` [~user@124.157.214.197] has joined #lisp 04:09:49 the funny thing about these memory map issues is that they undermine my confidence in almost all lisps, including the commercial ones, with no knowledge of whether they're affected or not. 04:11:01 (including possibility of DLLs having different addresses on that bloody XP. Seriously, I know that MCE is batshit insane mix, but mine seems to be made out of Professional overwritten with files from MCE then locked into a single language, with initial install done from multilang XP ...) 04:11:03 -!- jake-is-a-virus [~chatzilla@24.143.26.144] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.5.7/20100106054534]] 04:11:45 not to mention it doesn't have an installer 04:14:14 Overlooking my slight bias against CCL, my perception of it on Win32 derives entirely from statements made by its own developers that it is (was) experimental. If they now consider it stable, and have not publicly made a point of saying so, that's their mistake. 04:14:21 -!- b4|hraban [~b4@a83-163-41-120.adsl.xs4all.nl] has quit [Quit: Leaving] 04:16:46 lpolzer_ [~lpolzer@dslb-088-073-248-113.pools.arcor-ip.net] has joined #lisp 04:16:53 -!- devinus [~devinus@cpe-66-25-177-158.austin.res.rr.com] has quit [Quit: devinus] 04:17:21 -!- kglovern [~kglovern@CPE001d725da193-CM0014f8ca15f0.cpe.net.cable.rogers.com] has quit [Quit: Lost terminal] 04:18:10 hefner: Last time I checked, I got the feeling of "never, ever satisfied" 04:18:30 Also, it does NOT have SEH support 04:18:38 so it's definitely not complete 04:18:44 devinus [~devinus@cpe-66-25-177-158.austin.res.rr.com] has joined #lisp 04:19:05 it's also a little more "alien" to the rest of win32 in few ways, iirc 04:19:30 (though those issues are of less importance than having a working SEH support, AFAIK) 04:20:42 -!- lpolzer__ [~lpolzer@dslb-088-073-234-202.pools.arcor-ip.net] has quit [Ping timeout: 276 seconds] 04:24:35 parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #lisp 04:24:37 -!- erk [~MrEd@about/apple/iPod/BeZerk] has quit [Ping timeout: 260 seconds] 04:25:47 and SEH is an important feature, even if you can go without it at some level. 04:25:54 erk [~MrEd@about/apple/iPod/BeZerk] has joined #lisp 04:26:55 minion: what does SEH stand for? 04:26:55 Somnify Experimentalize Herby 04:27:39 I suppose I should find a machine with 64-bit Windows to try my ECL-compiled executable on. If it doesn't run, I'll be very pissed. :) 04:28:19 -!- devinus [~devinus@cpe-66-25-177-158.austin.res.rr.com] has quit [Quit: devinus] 04:29:08 -!- gonzojive__ [~red@c-76-102-6-9.hsd1.ca.comcast.net] has quit [Quit: gonzojive__] 04:29:47 -!- abugosh [~Adium@65.78.51.171] has quit [Quit: Leaving.] 04:30:02 devinus [~devinus@cpe-66-25-177-158.austin.res.rr.com] has joined #lisp 04:31:17 gonzojive_ [~red@c-67-160-240-227.hsd1.ca.comcast.net] has joined #lisp 04:33:08 -!- devinus [~devinus@cpe-66-25-177-158.austin.res.rr.com] has quit [Client Quit] 04:33:56 -!- Dawgmatix [~Dawgmatix@c-76-124-9-27.hsd1.nj.comcast.net] has quit [Ping timeout: 245 seconds] 04:34:30 stassats`: Structured Exception Handling 04:34:48 i figured 04:35:51 a Win32 variant of VMS' Condition Handling Facility (I incorrectly used the name "Exception Handling Facility" before) aka VMS CHF 04:36:18 -!- drwho [~d@c-98-225-208-183.hsd1.pa.comcast.net] has quit [Quit: Gauss Eleminated] 04:36:47 http://h71000.www7.hp.com/doc/82final/5973/5973pro_022.html <--- have VMS docs on it. Win32 seems elusive 04:40:32 -!- sbahra [~sbahra@2002:62da:45b3:1234:21d:e0ff:fe00:f7ab] has quit [Remote host closed the connection] 04:44:14 amnesiac [~amnesiac@p3m/member/Amnesiac] has joined #lisp 04:45:12 hi lisp 04:45:32 -!- Stattrav [~Stattrav@202.3.77.161] has quit [Read error: Operation timed out] 04:45:47 -!- saikatc [~saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has quit [Quit: saikatc] 04:48:13 -!- erk [~MrEd@about/apple/iPod/BeZerk] has quit [Ping timeout: 240 seconds] 04:49:08 erk [~MrEd@about/apple/iPod/BeZerk] has joined #lisp 04:55:20 -!- gonzojive_ [~red@c-67-160-240-227.hsd1.ca.comcast.net] has quit [Ping timeout: 256 seconds] 05:01:26 -!- bytecolor [~user@32.152.181.209] has quit [Ping timeout: 245 seconds] 05:08:34 -!- mattrepl [~mattrepl@pool-72-83-118-99.washdc.fios.verizon.net] has quit [Quit: mattrepl] 05:11:35 -!- OmniMancer [~OmniMance@219-89-91-200.jetstart.xtra.co.nz] has quit [Quit: Leaving.] 05:11:42 Diarrheal [~Diareal@ip72-207-23-78.sd.sd.cox.net] has joined #lisp 05:12:15 i lubth to lithp all day long 05:12:25 ith thith the thupport group channel? 05:19:04 Please be less stupid. 05:19:22 thith ithnt for lithperth? 05:19:33 It is time to put those Haitian jigaboos in their place! No matter how many times the civilized world donates money, opens schools, rebuilds their nation, and holds their little monkey paws, the damn niggers can never get it right. They never will! The same goes for New Orleans! Join CHIMPOUT FORUM TODAY! http://www.chimpout.com/forum 05:19:34 -!- ChanServ has set mode +o Zhivago 05:19:42 -!- Zhivago has set mode +q Diarrheal!*@* 05:19:54 OmniMancer [~OmniMance@219-89-91-200.jetstart.xtra.co.nz] has joined #lisp 05:19:55 !op 05:21:40 I noticed the Hyperspec mentions that certain symbols should be read from the COMMON-LISP-USER package (for example the ~/name/ format directive). Is there any reason why they chose CL-USER instead of just reading from current *package* ? 05:22:00 Kludgy [~therealkl@S01060018f85956c8.vc.shawcable.net] has joined #lisp 05:22:20 Zhivago: well? 05:23:50 ljames, compilability 05:24:10 ljames, and same semantics between compiler formatters and interpreted formatters. 05:24:24 ah 05:24:59 next question? :) 05:25:44 though they might have reserved the package FORMAT for that, or something. 05:25:59 -!- Diarrheal [~Diareal@ip72-207-23-78.sd.sd.cox.net] has quit [K-Lined] 05:28:48 kglovern [~kglovern@CPE001d725da193-CM0014f8ca15f0.cpe.net.cable.rogers.com] has joined #lisp 05:35:18 This makes me curious if an implementation is free to implement FORMAT as a simple call to code generated by FORMATTER. 05:35:54 sure 05:35:56 why not? 05:36:00 sbahra [~sbahra@2002:62da:45b3:1234:21d:e0ff:fe00:f7ab] has joined #lisp 05:36:04 but then, the standard does specify that formatter itself doesn't have to be compiled, and can just be a call to format, though that seems less useful 05:36:21 you'd probably want to store that code in a weak-hash-table, if you do so, to not spend too much time compiling. 05:36:23 noticed SBCL supports both compiled and interpreted versions though 05:40:31 RecycleCorn [~RecycleCo@ip72-207-22-23.sd.sd.cox.net] has joined #lisp 05:40:37 It is time to put those Haitian jigaboos in their place! No matter how many times the civilized world donates money, opens schools, rebuilds their nation, and holds their little monkey paws, the damn niggers can never get it right. They never will! The same goes for New Orleans! Join CHIMPOUT FORUM TODAY! http://www.chimpout.com/forum 05:40:47 grrrrr 05:43:30 is there a way to tell slime to change the cwd before it starts lisp? 05:43:57 It is time to put those Haitian jigaboos in their place! No matter how many times the civilized world donates money, opens schools, rebuilds their nation, and holds their little monkey paws, the damn niggers can never get it right. They never will! The same goes for New Orleans! Join CHIMPOUT FORUM TODAY! http://www.chimpout.com/forum 05:43:59 lithp 05:44:01 lithp 05:44:09 more kline kthxbai 05:44:39 -!- RecycleCorn [~RecycleCo@ip72-207-22-23.sd.sd.cox.net] has quit [K-Lined] 05:44:47 as if by magic... 05:44:49 -!- dabd [~dabd@a85-139-98-111.cpe.netcabo.pt] has quit [Ping timeout: 264 seconds] 05:44:51 zaphyr: it inherits buffer's cwd 05:45:19 ah, so i am starting slime in the wrong buffer :) 05:45:34 why should that matter, by the way? 05:45:49 oh, just convenience primarily 05:46:07 what's a good CL implementation of balanced trees, etc.? 05:46:18 thanks, worked 05:46:31 -!- davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 05:50:02 -!- jleija [~jleija@adsl-243-237-77.chs.bellsouth.net] has quit [Quit: leaving] 05:53:15 -!- Fare [~Fare@c-24-218-127-11.hsd1.ma.comcast.net] has quit [Quit: Leaving] 05:53:38 Dawgmatix [~Dawgmatix@c-76-124-9-27.hsd1.nj.comcast.net] has joined #lisp 05:56:06 -!- parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has quit [Remote host closed the connection] 06:00:17 -!- WOG [~OsamaBinW@66-168-47-22.dhcp.nwtn.ct.charter.com] has quit [Quit: WAAAAAAAAGH!!] 06:01:54 -!- ryomanolonger [~unknown@ip68-226-111-195.ph.ph.cox.net] has quit [Ping timeout: 240 seconds] 06:04:00 -!- amnesiac [~amnesiac@p3m/member/Amnesiac] has quit [Quit: Leaving] 06:04:58 *p_l* ponders friendly-fire rate of a bot kickbanning on links to that chimp**** thing 06:05:55 Kolyan [~nartamono@95-27-205-222.broadband.corbina.ru] has joined #lisp 06:06:51 -!- konr [~user@189.96.216.6] has quit [Ping timeout: 245 seconds] 06:11:04 mega1 [~quassel@3e70c805.adsl.enternet.hu] has joined #lisp 06:11:43 -!- marioxcc [~user@200.92.23.60] has quit [Remote host closed the connection] 06:19:12 -!- erk [~MrEd@about/apple/iPod/BeZerk] has quit [Ping timeout: 256 seconds] 06:20:57 erk [~MrEd@about/apple/iPod/BeZerk] has joined #lisp 06:26:14 Shaftoe [~Moe111@bas1-montreal02-1096724744.dsl.bell.ca] has joined #lisp 06:27:18 hello all. I'm searching for an elegant way of making a function retry n times should it signal an error, and on the n + 1th time, abort and return 06:28:08 I'm convinced there must be an elegant and concise way to do this. So far, I've not been able to figure it out 06:31:31 y'alls out on st Valentine's eve I take it. =) 06:31:47 Shaftoe: (loop repeat n when (try) do (return 'success) finally (error 'failed)) 06:31:51 :) 06:33:04 hmm. what happens when the code try signals an error? 06:33:58 you mean you want to keep trying 10 times until it doesn't signal an error? 06:34:18 maybe I should define my problem in a more specialized way: 06:34:25 I want to do a query against a db. 06:34:34 the db might be down sometimes (it's on a remote box) 06:34:48 so I do a (with-timeout *some-value* ...) 06:34:59 Shaftoe: do you know how to use conditions? 06:35:00 I don't want to stiffle errors and signals etc coming out of there 06:35:17 yes, I've been chaising my tail with restarts and conditions 06:35:41 well, your DB driver should signal relevant conditions for special cases like disconnects, timeouts, etc, no? 06:35:54 maybe not timeouts. 06:36:08 yeah, the idea is that I Want to reconnect the db if I timeout a first time. 06:36:13 maybe 2 more times or whatever 06:36:16 -!- hefner [~hefner@ppp-61-90-82-194.revip.asianet.co.th] has quit [Quit: Leaving] 06:36:28 if after that, I'm still getting timeouts, I give up and send a useful error up 06:36:57 but I don't want to lose any other information. So I can't use something like ignore-errors 06:37:06 then don't 06:37:10 (ignore-errors and a loop etc) 06:37:11 handle the specific conditions. 06:37:48 so let me ask this, maybe it'll shed some light on an idiosyncrasy or something 06:38:24 hmm. how to explain this 06:39:15 say the form I want to execute is this (sb-ext:with-timeout ...) form 06:39:30 is there a way to restart it... entirely? 06:39:50 (i.e. not at some restart handler that I specify) 06:39:57 reworded: 06:40:08 is there a way to retry the form that signaled a condition? 06:40:18 there's a standard restart, retry :) 06:41:13 can you be a bit more verbose? 06:41:24 establish a restart that will retry it. 06:41:41 -!- mega1 [~quassel@3e70c805.adsl.enternet.hu] has quit [Read error: Operation timed out] 06:41:48 ah yes. that's the problem I'm talking about when I say I chase my tail 06:42:08 because when I retry it, the retry is part of the restart-case expression, and so the restart is no longer active. 06:42:24 i.e. I can retry once, but then if it times out again, I no longer have a restart 06:42:32 you understand what I mean? 06:43:14 mega1 [~quassel@3e44a3eb.adsl.enternet.hu] has joined #lisp 06:44:30 Shaftoe: I think you want to put it in a loop? 06:44:48 hmm. brain is churning right now. I think I might be getting to a soluation, finally 06:47:06 -!- jsfb [~jon@unaffiliated/jsfb] has quit [Quit: Leaving] 06:49:33 -!- legumbre [~leo@r190-135-13-124.dialup.adsl.anteldata.net.uy] has quit [Read error: Connection reset by peer] 06:51:07 ehu [~ehu@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 06:51:15 lisppaste: url? 06:51:25 legumbre [~leo@r190-135-4-67.dialup.adsl.anteldata.net.uy] has joined #lisp 06:52:07 drewc pasted "retry 5 times" at http://paste.lisp.org/display/94927 06:52:26 Shaftoe: does that help? 06:53:14 drewc: that's where I've been slowly heading towards. However, the whole labels thing is making my skin crawl. You think it's kosher? 06:53:48 (I've tried to do it without labels, and I just couldn't) 06:53:57 Shaftoe: what exactly about LABELS do you have a problem with? 06:54:44 it is the standard way to define local recursive functions.... you could do it with TAGBODY if you're scared of recursion.... 06:54:49 well. maybe it's irrational, but it reminds me too much of goto. So I've been trying to see if I could just nest my handler-binds and restart-case's properly. 06:55:35 i suggest you read LAMBDA: The Ultimate Goto .. of course it's GOTO.. that's the whole point. 06:56:44 what's wrong with goto? 06:56:55 (I'm looking for that paper) 06:57:00 nothing's really wrong with goto 06:57:15 i wonder how Dijkstra felt about continuations 06:57:34 however, I feel like it's a 'copout' to just jump somewhere if I Can do it more properly 06:58:08 Shaftoe: what could possibly be more properly that a recursive function? 06:58:13 in any case, in light of gotos being fine, I think that paste soluation is pretty much the answer. 06:58:28 than a* 06:58:35 proper than a* 06:58:44 -!- malsyned [~malsyned@adsl-75-35-185-146.dsl.wlfrct.sbcglobal.net] has quit [Ping timeout: 256 seconds] 06:59:19 well. let me try and formulate this... it'll probably help me come to terms with my neurosis too =) 06:59:19 drewc: Y combinator! 07:00:41 drewc annotated #94927 "considered harmful?" at http://paste.lisp.org/display/94927#1 07:00:56 stassats`: oh... good idea :) 07:01:20 hell, i like the GOTO version better 07:02:14 heh 07:03:04 honestly. I can't put my finger on it. 07:03:09 it must be a bad habit 07:04:29 trying to avoid the obvious solution out of a misguided sense of what's 'kosher'? i'd say that's a pretty bad habit yeah ;) 07:04:56 here's where I Was and it was killing me: 07:05:07 I was doing essentially what you did there, but instead of labels, I was using flet 07:05:27 then I was stuck, because I couldn't call the flet'ed function *outside* of my flet form 07:05:35 I think the go version, abstracted into a macro, would be quite satisfactory 07:05:43 yeah, I'm seeing that now. 07:06:17 or rather, minor correction, the call to doit *inside* of the flet wasn't working 07:06:50 Shaftoe annotated #94927 "the wrong version with flet" at http://paste.lisp.org/display/94927#2 07:06:51 that's the difference between labels and flet 07:07:00 and now I know. 07:07:43 minion: tell Shaftoe about pcl 07:07:44 Shaftoe: please 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). 07:07:45 and knowing is half the battle. 07:07:52 Dijkstra would have classified continuations with goto, for loops, while loops and so on. 07:07:59 does SBCL support SB-EXT:ATOMIC-INCF on CLOS slots? 07:08:08 i'm getting "Invalid first argument to ATOMIC-INCF: (SLOT-VALUE PROVIDER 'COUNTER)" 07:08:19 that was after i replaced the accessor with SLOT-VALUE 07:08:32 If you read his paper his argument is not against goto, per se -- but for recursive loop structure definitions. 07:08:34 drewc: thanks, I already have that book. 07:08:57 I guess I hadn't registered the subtlety 07:09:24 and yet, it says it right there on page 272: The difference between FLET and LABELS is that the names of the functions defined with FLETcan be used only in the body of the FLET, while the names introduced by LABELScan be used immediately, 07:09:43 It really boils down to the difference between mechanical and mathematical models. 07:09:52 it does. 07:10:29 Zhivago: many people seem to have read the title... few the paper. :) 07:11:10 vsync: judging from documentation, it only works on structures 07:11:11 Yes, and he didn't even write that title. 07:11:14 malsyned [~malsyned@adsl-75-35-185-146.dsl.wlfrct.sbcglobal.net] has joined #lisp 07:12:55 stassats`: mine doesn't have a docstring 07:12:57 I guess it's that when you're first learning about these things, you just put em in storage as best you can, without registering the real subtelties. It's only when you go to battle that you realize a metric ratchet is useless on an imperial bolt. 07:13:36 is the canonical sbcl source stored in sourceforge cvs? 07:13:53 gonna check it out instead of using the binary, so i get sbcl source 07:14:35 vsync: i use clbuild to get and build sbcl 07:14:42 minion: tell vsync about clbuild 07:14:43 vsync: have a look at clbuild: clbuild [common-lisp.net] is a shell script helping with the download, compilation, and invocation of Common Lisp applications. http://www.cliki.net/clbuild 07:15:27 Nightcrawler [myrlochar@91.92.170.132] has joined #lisp 07:15:46 thanks minion 07:15:54 grr where is #! in clhs? 07:15:56 clhs #! 07:15:56 http://www.lispworks.com/reference/HyperSpec/Body/02_dh.htm 07:16:03 wow 07:16:21 hmm explicitly reserved to user 07:16:37 so what's #!+sb-doc 07:16:42 in the sbcl docstrings 07:16:51 -!- Morbeo [myrlochar@91.92.170.132] has quit [Ping timeout: 276 seconds] 07:18:29 splittist [~joe@30-245.62-188.cust.bluewin.ch] has joined #lisp 07:18:31 morning 07:18:33 vsync: that's for bootstrapping sbcl 07:19:11 vsync: #!+ is like #+ but on different *features* 07:19:40 vsync: http://sbcl-internals.cliki.net/Basics 07:20:42 -!- l0stman [~l0stman@freedsl-2.blueline.mg] has quit [Quit: leaving] 07:22:23 -!- sbahra [~sbahra@2002:62da:45b3:1234:21d:e0ff:fe00:f7ab] has quit [Read error: Operation timed out] 07:22:47 -!- Nightcrawler [myrlochar@91.92.170.132] has quit [Read error: Operation timed out] 07:23:40 adeht annotated #94927 "retrying" at http://paste.lisp.org/display/94927#3 07:25:06 adeht: PROG! :) 07:25:15 -!- Hun [~hun@p50993726.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 07:25:29 :) 07:26:39 adeht: leaks the block though ... better to use let and tagbody :( 07:27:20 yeah, or consider the block useful enough to leave it and change the tagbody ;) 07:27:57 no love for little PROG 07:29:19 yeah, it's easy to add a block, impossible to remove one. 07:29:46 stassats`: i had to remove a PROG from my code yesterday because of the block :( 07:29:50 instead of removing one you could add another one :) 07:30:18 -!- ska` [~user@124.157.214.197] has quit [Ping timeout: 240 seconds] 07:30:21 well, because i didn't want to document the block in all the macros that used that particular expansion. 07:30:39 yeah, and LOOP gets away with it... 07:31:00 but also lets you name if you want. 07:32:12 WOG [~OsamaBinW@66-168-47-22.dhcp.nwtn.ct.charter.com] has joined #lisp 07:37:34 aja [~aja@unaffiliated/aja] has joined #lisp 07:39:37 xan [~xan@cs78225040.pp.htv.fi] has joined #lisp 07:41:16 was everyone spammed by Nick Levine yesterday? 07:41:59 drewc: can you tell me which block is leaked in that macro? 07:42:08 the implicit prog block 07:43:04 bear with my ignorance here: what about it is leaked? the ,tag can't be accessed, what can? 07:43:24 this has nothing to do with tags 07:43:38 clhs PROG 07:43:42 clhs PROG 07:43:43 http://www.lispworks.com/reference/HyperSpec/Body/m_prog_.htm 07:43:48 Shaftoe: ^ 07:44:52 no need to ask, if the question is about a CL operator, the answer is in the hyperspec! :) 07:45:28 sbahra [~sbahra@2002:62da:45b3:1234:21d:e0ff:fe00:f7ab] has joined #lisp 07:45:29 I've been looking at the page for a while. I'm not familiar enough to get what's leaking though. 07:45:38 the return or go? 07:45:43 or what? 07:45:44 prog is like (block nil (tagbody ...)) 07:45:58 adeht annotated #94927 "block leakage example" at http://paste.lisp.org/display/94927#4 07:46:17 gotcha! 07:46:37 is there an equivalent to cmucl's :reuse-address t in SB-BSD-SOCKETS? 07:46:44 -!- oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 07:46:54 heh, I've no idea why I used an outer retrying ;) 07:47:08 oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has joined #lisp 07:47:17 adeht: the more blocks the merrier! :) 07:48:08 the outer retrying doesn't add any blocks ;) 07:48:38 vsync: (setf (sb-bsd-sockets:sockopt-reuse-address socket) t) 07:48:44 heh... ight 07:48:54 and is there a modern socket abstracting library? i used PORT back in the day but it seemed old and crufty last time i looked 07:48:55 right 07:48:57 thanks stassats` ! 07:49:07 minion: please tell vsync about usocke 07:49:08 Sorry, I couldn't find anything in the database for ``usocke''. 07:49:10 minion: tell vsync about usocket 07:49:11 vsync: please see usocket: usocket is an MIT-licensed sockets networking library providing a portability layer encapsulating implementation specific sockets programming details. http://www.cliki.net/usocket 07:49:14 :( 07:49:19 minion: tell vsync about iolib 07:49:20 vsync: please look at iolib: I/O(mainly networking) library containing: a BSD sockets library, a DNS resolver and an I/O multiplexer that supports select(2), epoll(4) and kqueue(2). http://www.cliki.net/iolib 07:49:47 vsync: the former is a compatibility layer, the later FFI based 07:50:04 *p_l* wonders how probable is that #! got reserved for use with Unix 07:50:16 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 07:50:46 thanks stassats` and drewc 07:51:23 HET2 [~diman@chello084114129176.4.15.vie.surfer.at] has joined #lisp 07:53:36 -!- Fade [fade@outrider.deepsky.com] has quit [Quit: Lost terminal] 07:54:51 Connected to localhost. 07:54:51 Escape character is '^]'. 07:54:51 Hello socket! 07:54:51 Connection closed by foreign host. 07:54:58 hooray! 07:55:08 finally porting some stuff i should have a loooong time ago 07:56:17 -!- sysop_fb [~bleh@80.255.39.35] has left #lisp 07:57:29 heh, i don't think i ever read the examples for PROG befoe 07:57:33 before 07:58:11 (defun king-of-confusion (w) ) (defun prince-of-clarity (w) ) 07:58:22 musta been up late writing that chapter 07:58:50 maybe last question, does closing an SBCL socket stream close the underlying socket? 07:58:59 majhool [~mrw@user-118bgr6.cable.mindspring.com] has joined #lisp 08:01:35 Ralith [~ralith@216.162.199.202] has joined #lisp 08:02:34 well. it's been a highly informative session. I thank y'all! 08:02:40 and gnight. 08:03:01 -!- Shaftoe [~Moe111@bas1-montreal02-1096724744.dsl.bell.ca] has quit [Quit: Shaftoe] 08:03:10 vsync: i don't know, but the reverse is true 08:04:15 does "not supported in unithread builds" mean my sbcl has no threading? 08:04:48 depends on where this comes from 08:05:08 but you can test if your sbcl is build with threading by (member :sb-thread *features*) 08:05:22 Good morning! 08:19:11 Stattrav [~Stattrav@202.3.77.161] has joined #lisp 08:19:54 -!- jmbr [~jmbr@50.32.220.87.dynamic.jazztel.es] has quit [Ping timeout: 276 seconds] 08:25:33 lexa_ [~lexa_@seonet.ru] has joined #lisp 08:26:17 -!- lexa_ [~lexa_@seonet.ru] has left #lisp 08:27:07 -!- dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [Quit: dnolen] 08:29:03 nostoi [~nostoi@95.Red-81-44-158.dynamicIP.rima-tde.net] has joined #lisp 08:34:37 freiksenet [~freiksene@hoasnet-fe29dd00-202.dhcp.inet.fi] has joined #lisp 08:34:55 -!- mega1 [~quassel@3e44a3eb.adsl.enternet.hu] has quit [Read error: Connection reset by peer] 08:34:55 -!- Dawgmatix [~Dawgmatix@c-76-124-9-27.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 08:35:18 mega1 [~quassel@3e44a3eb.adsl.enternet.hu] has joined #lisp 08:46:29 -!- nostoi [~nostoi@95.Red-81-44-158.dynamicIP.rima-tde.net] has quit [Quit: Verlassend] 08:49:16 Foofie [~innocent@86.80-203-225.nextgentel.com] has joined #lisp 08:51:26 -!- Fufie [~innocent@86.80-203-225.nextgentel.com] has quit [Ping timeout: 245 seconds] 08:52:16 -!- ichernetsky [~ichernets@195.222.64.165] has quit [Read error: Connection reset by peer] 08:54:12 prince of clarity and king of confusion get their own index entries in CLtL2 (it's the same example, of course) 09:05:48 hi beach 09:07:17 morphling [~stefan@gssn-5f75732b.pool.mediaWays.net] has joined #lisp 09:12:28 ichernetsky [~ichernets@195.222.72.167] has joined #lisp 09:21:26 ineol [~hal@2a01:e35:8abb:fa80:226:8ff:fe01:5f90] has joined #lisp 09:21:34 -!- ineol [~hal@2a01:e35:8abb:fa80:226:8ff:fe01:5f90] has quit [Remote host closed the connection] 09:22:05 ineol [~hal@2a01:e35:8abb:fa80:226:8ff:fe01:5f90] has joined #lisp 09:23:45 drwho [~d@c-98-225-208-183.hsd1.pa.comcast.net] has joined #lisp 09:24:50 lithper2_ [~chatzilla@ool-182ff1c9.dyn.optonline.net] has joined #lisp 09:28:51 Axius [~hi@92.85.208.249] has joined #lisp 09:30:52 -!- Axius [~hi@92.85.208.249] has quit [Client Quit] 09:32:45 -!- majhool [~mrw@user-118bgr6.cable.mindspring.com] has quit [Quit: leaving] 09:35:04 rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has joined #lisp 09:37:15 -!- Anarch [~olaf@c-67-171-37-107.hsd1.wa.comcast.net] has quit [Quit: leaving] 09:41:41 -!- Rix [~Rixi``@77-85-21-9.btc-net.bg] has quit [Read error: Connection timed out] 09:44:05 Rix [~Rixi``@77-85-21-9.btc-net.bg] has joined #lisp 09:46:58 -!- Foofie is now known as Fufie 09:48:15 slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has joined #lisp 09:48:42 attila_lendvai [~ati@catv-89-134-66-143.catv.broadband.hu] has joined #lisp 09:55:52 -!- plutonas [~plutonas@port-92-195-20-219.dynamic.qsc.de] has quit [Ping timeout: 240 seconds] 09:56:02 -!- attila_lendvai [~ati@catv-89-134-66-143.catv.broadband.hu] has quit [Ping timeout: 246 seconds] 09:57:40 -!- rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has quit [Quit: rickmode] 10:06:51 -!- Kludgy [~therealkl@S01060018f85956c8.vc.shawcable.net] has quit [Ping timeout: 245 seconds] 10:10:24 -!- pjb [~t@2.Red-79-149-80.staticIP.rima-tde.net] has quit [Ping timeout: 272 seconds] 10:14:36 -!- mega1 [~quassel@3e44a3eb.adsl.enternet.hu] has quit [Read error: Operation timed out] 10:21:27 Zephyrus [~emanuele@unaffiliated/zephyrus] has joined #lisp 10:24:13 dia100daly [~sdiawara@212.99.78.121] has joined #lisp 10:28:29 Edico [~Edico@unaffiliated/edico] has joined #lisp 10:38:09 Myko [~Heathen79@adsl-75-60-217-193.dsl.wotnoh.sbcglobal.net] has joined #lisp 10:38:10 leo2007 [~leo@soup.linux.pwf.cam.ac.uk] has joined #lisp 10:39:38 francogrex [~user@253.89-243-81.adsl-dyn.isp.belgacom.be] has joined #lisp 10:40:01 -!- powerje [~Heathen79@adsl-75-60-217-193.dsl.wotnoh.sbcglobal.net] has quit [Ping timeout: 264 seconds] 10:51:47 timor [~timor@port-87-234-97-27.dynamic.qsc.de] has joined #lisp 10:51:57 -!- francogrex [~user@253.89-243-81.adsl-dyn.isp.belgacom.be] has quit [Remote host closed the connection] 10:54:39 htk_ [~htk___@unaffiliated/htk-/x-9867211] has joined #lisp 10:59:12 pix4 [~pixel@copei.de] has joined #lisp 11:00:43 -!- zaphyr [~zaphr@smorge2.force9.co.uk] has quit [] 11:03:14 DrunkTomato [~DEDULO@ext-gw.wellcom.tomsk.ru] has joined #lisp 11:07:44 tcr [~tcr@host146.natpool.mwn.de] has joined #lisp 11:13:42 Ogedei [~user@e178209223.adsl.alicedsl.de] has joined #lisp 11:14:16 nha [~prefect@250-194.105-92.cust.bluewin.ch] has joined #lisp 11:18:58 -!- aja [~aja@unaffiliated/aja] has quit [Read error: Connection reset by peer] 11:22:11 mega1 [~quassel@pool-00438.externet.hu] has joined #lisp 11:32:31 -!- HET2 [~diman@chello084114129176.4.15.vie.surfer.at] has quit [Quit: This computer has gone to sleep] 11:36:33 -!- Phoodus [foo@97-124-127-114.phnx.qwest.net] has quit [Read error: Connection reset by peer] 11:36:56 plutonas [~plutonas@port-92-195-75-6.dynamic.qsc.de] has joined #lisp 11:37:09 Blkt [~user@net-93-146-149-241.t2.dsl.vodafone.it] has joined #lisp 11:37:55 -!- bdowning [~bdowning@mnementh.lavos.net] has quit [Read error: Operation timed out] 11:41:33 -!- rikjasnon [~hell@81.172.53.138.dyn.user.ono.com] has left #lisp 11:42:52 -!- ineol [~hal@2a01:e35:8abb:fa80:226:8ff:fe01:5f90] has quit [Quit: ineol] 11:44:11 bdowning [~bdowning@mnementh.lavos.net] has joined #lisp 11:44:14 ineol [~hal@2a01:e35:8abb:fa80:226:8ff:fe01:5f90] has joined #lisp 11:44:28 -!- ehu [~ehu@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 256 seconds] 11:45:07 -!- lithper2_ [~chatzilla@ool-182ff1c9.dyn.optonline.net] has quit [Remote host closed the connection] 11:50:27 trebor_home [~email@dslb-084-058-232-169.pools.arcor-ip.net] has joined #lisp 11:50:58 hello. 11:52:52 morning 11:52:58 -!- leo2007 [~leo@soup.linux.pwf.cam.ac.uk] has quit [Remote host closed the connection] 11:53:23 is it possible to use/create shared data in structs (like in lists), too? 11:55:08 trebor_home: Uhm yeah sure 11:55:26 Just make a structure's slot point to an already existing structure 11:59:32 tcr: i am trying, but i do not succeede (i'll doing a paste to show) 12:01:40 trebor pasted "is it possible to make shared data across instances of structs" at http://paste.lisp.org/display/94933 12:02:11 tcr, I'm sorry about not attributing PUSHEND in Chanl. That was my fault. 12:02:37 Odin- [~sbkhh@s121-302.gardur.hi.is] has joined #lisp 12:02:48 dabd [~dabd@a213-22-161-128.cpe.netcabo.pt] has joined #lisp 12:03:32 oh no problem 12:04:04 tcr: in lists i can say (setf (second l2) (fourth l1)) and if i change (fourth l1), (second l2) points to the changed value. but if i do the same in structs, it seems, the value is copied. 12:04:09 You should know better though, in particularly because strictly speaking you violated copyright law :-) 12:04:42 isn't pushend too trivial for that? 12:05:49 stassats`, the version that I copied is not quite trivial, and was very clearly lisppasted by tcr 12:06:01 -!- jsoft [~user@unaffiliated/jsoft] has quit [Ping timeout: 245 seconds] 12:06:11 WTF is SIGPWR? 12:06:18 "Power failure" 12:06:19 tcr: power fail from ups 12:06:25 tcr: time to shut down! 12:06:39 it's my notebook :-( 12:06:47 time to plug in! 12:07:12 if only the power company could send a SIGPWR before blackouts 12:07:44 SIGXCPU, CPU time limit exceeded 12:07:47 this is getting scary 12:08:39 Soulman [~kvirc@154.80-202-254.nextgentel.com] has joined #lisp 12:11:23 fsl [~fsl@auf186.internetdsl.tpnet.pl] has joined #lisp 12:11:29 I keep getting SIGPWRs 12:11:35 but I'm plugged in 12:11:55 this is while having attached gdb to ecl 12:12:29 ehu [~ehu@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 12:12:43 -!- drewc [~drewc@89.16.166.162] has quit [Remote host closed the connection] 12:13:33 I wonder if pthread_cond_timedwait has to do with those 12:13:54 On some operating systems, the Boehm garbage collector uses SIGXCPU and SIGPWR to synchronise cross-thread garbage collection. 12:13:59 Ah! 12:16:44 -!- Kaonashi [~root@ppp118-210-228-215.lns20.adl6.internode.on.net] has quit [Ping timeout: 246 seconds] 12:17:07 are macroes just functions whose arguments are always quoted? 12:17:52 kind of yes 12:18:18 does that mean "in a way,no"? 12:18:38 An additional important property is that: a) they're usually run at compile-time, and b) they're functions working on abstract syntax trees, not domain objects 12:18:49 (macro a b c) is like (funcall (macro-function macro) '(a b c) environment) 12:18:54 Kaonashi [~root@ppp118-210-75-124.lns20.adl2.internode.on.net] has joined #lisp 12:19:02 meric: the part about "just functions" is exactly correct, though 12:19:10 * (funcall (macro-function 'macro) '(macro a b c) env) 12:19:38 "a) they're usually run at compile-time" so if you are only using the interpreter, not compiler, a) would be irrelevant? they're just lazy functions? 12:20:08 they're usually run at macroexpansion time. 12:20:13 "macro-expansion time" is a separate concept 12:20:22 ok so there are distinct phases... 12:20:32 meric, in an interpreter, macroexpansion can happen basically at any time, and multiple times 12:20:54 no, not necessarily distinct phases as such, just distinct concepts :) 12:21:06 hmm... 12:21:16 Im writing a lisp interpreter to learn lisp 12:21:25 I'm doing the eval function 12:21:47 it works for functions, but I want to leave room to do macroes later 12:21:49 you don't really want to know about CL's peculiarities just yet, then :) 12:22:09 so mathematically its just functions with unevaluated arguments 12:22:13 meric, are you trying to write an interpreter for Scheme or something more CL-like? 12:22:27 meric: Macros are function that operate on the syntax tree, meaning they get an AST and return an AST that is then evaluated instead of the macro 12:22:32 could say its scheme with CL macroes 12:22:44 ok 12:23:30 ok, you may want to look at the source for Paul Graham's Arc language. Some things about it are questionable, but it does apparently do a good job of layering CL macros onto scheme. 12:23:31 meric: lazy functions get the unevaluated arguments, and return some kind of lisp object as return value, not an AST that is then taken to be evaluated again 12:23:33 tcr : so the return result would be like having an (eval) around it 12:23:54 not quite CL:EVAL, because it gets evaluated in the right lexical environment 12:24:15 funny you should say that, i already have it open 12:25:20 adlai: okay, gotcha 12:25:24 thanks alot 12:27:45 -!- somnium [~user@adsl-1-30-191.dab.bellsouth.net] has quit [Read error: Connection reset by peer] 12:27:48 unicode [~user@95.214.34.246] has joined #lisp 12:27:58 -!- unicode [~user@95.214.34.246] has quit [Client Quit] 12:29:23 minion: memo for Xach: Planet CLiki's feed http://planet.lisp.org/clikis/rss20.xml as linked from the head of http://planet.cliki.net/ is 404ed, please fix 12:29:24 Remembered. I'll tell Xach when he/she/it next speaks. 12:31:57 it'll have the right url on the next refresh 12:31:57 Xach, memo from kpreid: Planet CLiki's feed http://planet.lisp.org/clikis/rss20.xml as linked from the head of http://planet.cliki.net/ is 404ed, please fix 12:32:33 Xach: still, the old url should 301. I only noticed this because I was doing some cleanup in my feed reader and noticed that the planet cliki feed was dead 12:33:45 *Xach* dreads every second of maintenance on planet cliki, grits teeth and updates nginx conf 12:34:29 *kpreid* guesses new url and updates 12:34:47 the link that says "syndicate" on the top of the page will do the trick, too 12:34:59 aah. missed that one 12:38:33 301 in place 12:39:34 heh, last revision of cliki index page: december 2004 12:39:42 planet cliki, that is 12:40:02 -!- bdowning [~bdowning@mnementh.lavos.net] has quit [Ping timeout: 248 seconds] 12:44:18 Hun [~hun@p50993726.dip0.t-ipconnect.de] has joined #lisp 12:47:56 mega1, what happneed to your bot? 12:49:06 Yuuhi [benni@p5483B171.dip.t-dialin.net] has joined #lisp 12:49:08 did mega1 really have a bot, or are you off by three orders of magnitude? 12:49:18 hah 12:49:34 unicode [~user@95.214.34.246] has joined #lisp 12:50:11 his bot for the Google AI Challenge is gone 12:50:32 -!- cods [~cods@rsbac/developer/cods] has quit [Ping timeout: 260 seconds] 12:50:38 cods [~cods@tuxee.net] has joined #lisp 12:50:55 -!- cods [~cods@tuxee.net] has quit [Changing host] 12:50:56 cods [~cods@rsbac/developer/cods] has joined #lisp 12:56:52 -!- bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has quit [Ping timeout: 252 seconds] 12:58:42 -!- trebor_home [~email@dslb-084-058-232-169.pools.arcor-ip.net] has quit [Ping timeout: 248 seconds] 13:02:01 -!- dia100daly [~sdiawara@212.99.78.121] has left #lisp 13:06:01 -!- unicode [~user@95.214.34.246] has quit [Ping timeout: 258 seconds] 13:10:19 Adlai: I assume it transcended 13:12:51 -!- Kaonashi [~root@ppp118-210-75-124.lns20.adl2.internode.on.net] has quit [Ping timeout: 265 seconds] 13:14:20 Adlai: i think you get dropped off the score table when it doesn't compile or is suspended 13:18:40 mathrick pasted "PROGN" at http://paste.lisp.org/display/94935 13:19:04 did I miss anything that'd make it diverge from the prescribed PROGN semantics? 13:19:18 clhs call-arguments-limit 13:19:18 http://www.lispworks.com/reference/HyperSpec/Body/v_call_a.htm 13:19:22 (toplevelness aside, obviously, since that depends on the compiler recognising it) 13:19:32 stassats`: fair enough 13:20:16 and multiple values 13:20:25 oh, right 13:23:45 reprore_ [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 13:25:48 -!- Stattrav [~Stattrav@202.3.77.161] has quit [Remote host closed the connection] 13:26:54 l0stman [~l0stman@freedsl-2.blueline.mg] has joined #lisp 13:27:49 b4|hraban [~b4@a83-163-41-120.adsl.xs4all.nl] has joined #lisp 13:28:38 -!- stassats` [~stassats@wikipedia/stassats] has quit [Ping timeout: 272 seconds] 13:29:47 sierinjs [~root@unaffiliated/sierinjs] has joined #lisp 13:31:37 Cl-irc has a function read-message-loop, that runs all the time, because it's a loop ofc. And I want it to stop when it calls a hooked function. Q: How do I interrupt it from code? 13:32:34 sierinjs: why do you want to stop it? 13:32:56 Ralith: I want my bot to quit, when I say something. 13:33:32 Hmm.. I could use (cl-irc:quit in a hook's function then... >_< 13:33:37 indeed. 13:36:33 RaceCondition [~RaceCondi@82.131.16.108.cable.starman.ee] has joined #lisp 13:37:37 -!- fsl [~fsl@auf186.internetdsl.tpnet.pl] has quit [Ping timeout: 260 seconds] 13:41:21 Morbeo [myrlochar@91.92.170.132] has joined #lisp 13:42:28 illuminati1113 [~user@pool-71-114-64-62.washdc.dsl-w.verizon.net] has joined #lisp 13:47:01 Maybe return-from would be useful? 13:47:30 -!- l0stman [~l0stman@freedsl-2.blueline.mg] has quit [Ping timeout: 276 seconds] 13:53:29 demmeln [~Adium@dslb-094-216-060-131.pools.arcor-ip.net] has joined #lisp 13:54:47 -!- demmeln [~Adium@dslb-094-216-060-131.pools.arcor-ip.net] has left #lisp 13:55:46 -!- RaceCondition [~RaceCondi@82.131.16.108.cable.starman.ee] has quit [Ping timeout: 248 seconds] 13:56:16 Zhivago: solution to a problem he doesn't actually have. 13:56:28 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 13:56:49 -!- dabd [~dabd@a213-22-161-128.cpe.netcabo.pt] has quit [Quit: Ex-Chat] 13:57:57 lexa_ [~lexa_@seonet.ru] has joined #lisp 13:57:57 -!- lexa_ [~lexa_@seonet.ru] has left #lisp 14:05:38 -!- kpreid [~kpreid@216-171-189-244.northland.net] has quit [Quit: kpreid] 14:06:05 kpreid [~kpreid@216-171-189-244.northland.net] has joined #lisp 14:06:08 -!- kpreid [~kpreid@216-171-189-244.northland.net] has quit [Excess Flood] 14:08:45 kpreid [~kpreid@216-171-189-244.northland.net] has joined #lisp 14:13:18 airolson [~airolson@CPE000ae6922d9c-CM001cea397dac.cpe.net.cable.rogers.com] has joined #lisp 14:14:15 -!- rstandy [~rastandy@net-93-144-87-28.t2.dsl.vodafone.it] has quit [Ping timeout: 258 seconds] 14:14:43 RaceCondition [~RaceCondi@82.131.16.108.cable.starman.ee] has joined #lisp 14:14:52 fsl [~fsl@auf186.internetdsl.tpnet.pl] has joined #lisp 14:21:55 -!- OmniMancer [~OmniMance@219-89-91-200.jetstart.xtra.co.nz] has quit [Ping timeout: 258 seconds] 14:22:08 OmniMancer [~OmniMance@219-89-91-200.jetstart.xtra.co.nz] has joined #lisp 14:25:53 CyberBlue [~yong@111.167.9.70] has joined #lisp 14:30:01 -!- OmniMancer [~OmniMance@219-89-91-200.jetstart.xtra.co.nz] has quit [Quit: Leaving.] 14:33:18 -!- kpreid [~kpreid@216-171-189-244.northland.net] has quit [Quit: kpreid] 14:36:56 -!- Sergio` [~Sergio`@a89-152-186-152.cpe.netcabo.pt] has quit [Remote host closed the connection] 14:37:29 moah [~gnu@dslb-188-101-021-242.pools.arcor-ip.net] has joined #lisp 14:39:32 Sergio` [~Sergio`@a89-152-186-152.cpe.netcabo.pt] has joined #lisp 14:40:55 HET2 [~diman@217.75.64.166] has joined #lisp 14:44:19 Stattrav [~Stattrav@202.3.77.161] has joined #lisp 14:48:38 -!- pix4 [~pixel@copei.de] has quit [Ping timeout: 246 seconds] 14:49:46 varjag [~eugene@226.119.202.84.customer.cdi.no] has joined #lisp 14:50:00 -!- varjag [~eugene@226.119.202.84.customer.cdi.no] has left #lisp 14:53:23 -!- ehu [~ehu@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 265 seconds] 14:54:34 Dawgmatix [~Dawgmatix@c-76-124-9-27.hsd1.nj.comcast.net] has joined #lisp 14:55:39 pix4 [~pixel@copei.de] has joined #lisp 14:55:57 G'morning all. 14:56:42 -!- mgr [~mgr@psychonaut.psychlotron.de] has quit [Remote host closed the connection] 14:57:15 l0stman [~l0stman@freedsl-2.blueline.mg] has joined #lisp 14:58:22 hi nyef 15:00:07 kpreid [~kpreid@cpe-72-228-72-196.twcny.res.rr.com] has joined #lisp 15:00:10 -!- Blkt [~user@net-93-146-149-241.t2.dsl.vodafone.it] has quit [Read error: Connection reset by peer] 15:01:57 rikjasnon [~hell@81.172.53.138.dyn.user.ono.com] has joined #lisp 15:02:53 Blkt [~user@net-93-146-149-241.t2.dsl.vodafone.it] has joined #lisp 15:04:45 Axius [~hi@92.82.85.188] has joined #lisp 15:10:05 -!- Dawgmatix [~Dawgmatix@c-76-124-9-27.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 15:13:30 -!- grouzen [~grouzen@91.214.124.2] has quit [Ping timeout: 240 seconds] 15:15:16 -!- l0stman [~l0stman@freedsl-2.blueline.mg] has quit [Ping timeout: 256 seconds] 15:15:41 pnq [~gaiug@ACA27729.ipt.aol.com] has joined #lisp 15:16:56 -!- Axius [~hi@92.82.85.188] has quit [Quit: Leaving] 15:19:47 -!- Stattrav [~Stattrav@202.3.77.161] has quit [Ping timeout: 246 seconds] 15:21:03 grouzen [~grouzen@91.214.124.2] has joined #lisp 15:22:50 -!- frontiers [~frontiers@139.79-160-22.customer.lyse.net] has quit [Remote host closed the connection] 15:24:11 If I have line (defpackage #:my (:use #:cl #:cl-irc)) in packages.lisp, then I don't have to require them in other lisp files? 15:25:16 sierinjs: I suspect that you are confused about the difference between PROVIDE/REQUIRE and the package system. 15:25:34 -!- ichernetsky [~ichernets@195.222.72.167] has quit [Quit: Leaving.] 15:25:42 Alternately, you are unaware of the specific meaning of "REQUIRE" in the context of common lisp. 15:26:08 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 15:26:30 What could explain that all to me? 15:27:20 However, if you are able to successfully define a package that uses cl-irc then cl-irc must have at least partially been loaded, and thus it does not need to be explicitly loaded or used in any file that depends on your packages.lisp and operates in terms of the package "MY". 15:27:39 I'm... not sure what would explain it all to you. 15:30:06 -!- HET2 [~diman@217.75.64.166] has quit [Quit: This computer has gone to sleep] 15:31:04 frontiers [~frontiers@139.79-160-22.customer.lyse.net] has joined #lisp 15:34:46 alland [~thomas@ti0014a380-1092.bb.online.no] has joined #lisp 15:35:23 Athas [~athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 15:35:27 amnesiac [~amnesiac@p3m/member/Amnesiac] has joined #lisp 15:36:02 sierinjs: http://weitz.de/packages.html 15:36:07 -!- CyberBlue [~yong@111.167.9.70] has quit [Quit: Leaving] 15:37:11 tcr: Thanks. ;-D 15:37:24 konr [~user@187.117.73.3] has joined #lisp 15:39:22 minion also knows about that link, just ask him about 'packages' 15:40:18 -!- Adlai [~adlai@unaffiliated/adlai] has quit [Quit: reboot] 15:40:28 Stattrav [~Stattrav@202.3.77.161] has joined #lisp 15:45:38 trebor_home [~email@dslb-084-059-014-169.pools.arcor-ip.net] has joined #lisp 15:47:27 -!- amnesiac [~amnesiac@p3m/member/Amnesiac] has quit [Quit: This computer has gone to sleep] 15:48:17 -!- Stattrav [~Stattrav@202.3.77.161] has quit [Ping timeout: 260 seconds] 15:51:13 ehu [~ehu@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 15:52:42 Adlai [~Adlai@unaffiliated/adlai] has joined #lisp 15:53:05 -!- sierinjs [~root@unaffiliated/sierinjs] has quit [Quit: Ninja, please.] 15:54:21 -!- Blkt [~user@net-93-146-149-241.t2.dsl.vodafone.it] has quit [Ping timeout: 260 seconds] 15:59:00 jsfb [~jon@unaffiliated/jsfb] has joined #lisp 16:02:45 Fare [~Fare@c-24-218-127-11.hsd1.ma.comcast.net] has joined #lisp 16:03:30 packaging question: should I create plenty of systems that each do a small thing and lots of dependencies, or one big system with plenty of functionality and few dependencies? 16:03:45 should I split my systems in two, interface and implementation 16:04:05 or should leave it all in one blob 16:04:33 That's rather a judgement call, depending on what you're doing and who your audience is, and you know it. :-P 16:05:04 -!- NNshag [~shag@lns-bzn-24-82-64-152-232.adsl.proxad.net] has quit [Ping timeout: 272 seconds] 16:05:11 marioxcc [~user@200.92.23.60] has joined #lisp 16:05:20 meh 16:05:28 in this case, I need a functional map 16:05:40 fset won't do because I want my own (cached) hash function 16:05:54 my audience is primarily myself 16:06:10 one system 16:06:21 I'm considering reusing froydnj's TREES for the avl tree 16:06:40 or else I could make it part of fare-utils and include my own avl trees in there. 16:07:16 If your audience is yourself, then one system has the advantage of simplicity, and since you're on good terms with the maintainer and users you can always split it up later. 16:08:21 also, fset suffers from the syndrome that "Common Lisp enables you to grow your own language; however it makes it difficult for that language to be the same as anyone else's." 16:08:32 If you make lots of systems that each do a small thing and have lots of dependencies then you can gather them into one big system with plenty of functionality and few dependencies. :) 16:08:58 kiuma [~kiuma@93-35-240-111.ip57.fastwebnet.it] has joined #lisp 16:09:08 -!- kiuma [~kiuma@93-35-240-111.ip57.fastwebnet.it] has quit [Remote host closed the connection] 16:09:09 what about dependencies on things written by others? 16:09:23 Well, those would remain as external dependencies, presumably. 16:09:23 Okay, I'm in the middle of a git rebase --interactive, and I have three logically distinct sets of changes that ended up in one commit and I want to split them up. Unfortunately, two of these changes strongly affect one file, to the point where they currently share hunks in the diff. 16:09:38 Does anyone have a recommendation for how to deal with this? 16:09:38 *Fare* triple checks that the interface offered by froydnj's TREES matches what I need. 16:10:00 -!- pnq [~gaiug@ACA27729.ipt.aol.com] has quit [Quit: ChatZilla 0.9.84 [Firefox 3.5.2/20090729225027]] 16:10:13 nyef: commit suicide? Restart the rebase from scratch, merging less at a time? 16:10:24 or bite the bullet and merge everything in one commit? 16:10:43 kiuma [~kiuma@93-35-240-111.ip57.fastwebnet.it] has joined #lisp 16:11:07 In retrospect, git-cherry-pick -n might have been the right tool to use, but I'd rather not kill the last couple hours of work. 16:11:16 "git commit --suicide"? 16:11:22 Xach: Heh. 16:11:50 Actually, I think I can separate out one of these change sets fairly easily. 16:12:11 save your current checkout, create a new one in which to do work? 16:13:11 trebor annotated #94933 "how use shared data in structs? this works, but i do not really like it. can someone give me a hint/url/keyword please?" at http://paste.lisp.org/display/94933#1 16:13:33 btw, any opinions on the "extend the set of valid arguments to make-random-state" vs "keep that set the same, provide a different function" ? 16:14:38 Oddly enough, yes, and it falls out of the idea of package/dependency management you raised earlier. 16:15:02 nyef: uh? 16:15:50 Have a separate package for the implementation of RANDOM, with an "internal" make-random-state, then have the CL make-random-state with the more restricted arglist call the "internal" one. 16:16:55 mgst00 [~mgst00@c-24-60-190-249.hsd1.ma.comcast.net] has joined #lisp 16:17:18 nyef: reusing the same symbol name leads to "interesting" shadowing issues. 16:17:35 hence Xof suggesting "seed-random-state" as a name for the internal function. 16:17:37 i already googled about shared data, but i only found bill-clementson's blog (2005/12/05) and the urls he provided. neither solved my problem. may someone enlight me? 16:17:50 what is "shared data" ??? 16:17:57 Hrm... Dunno then,. 16:18:22 -!- trittweiler [~tcr@atradig113.informatik.tu-muenchen.de] has quit [Ping timeout: 272 seconds] 16:18:26 make-random-state* ? 16:18:27 Fare: like in c if several pointers point to one instance. 16:18:42 -!- mgst00 [~mgst00@c-24-60-190-249.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 16:18:43 trebor_home, what of it? 16:18:49 NNshag [~shag@lns-bzn-22-82-249-112-68.adsl.proxad.net] has joined #lisp 16:18:58 trebor_home, in Lisp also an object can be referenced many times 16:19:19 trebor_home, what are you trying to do? 16:19:24 trebor: Your diagnosis is wrong. 16:19:27 i tried to http://paste.lisp.org/display/94933#1 16:20:52 Zhivago: can you give me a hint, what am i thinking wrong? 16:20:56 nyef: You can make create new, more fine-grained hunks 16:21:27 I used to use some graphical tool for that at work but I forgot how it's called 16:21:40 Whatever produced the conclusion that "it seems to copy the value in structs but not in lists". 16:21:42 tcr: In the context of git add --interactive, yes, but in the context of splitting an existing commit? 16:22:12 -!- kglovern [~kglovern@CPE001d725da193-CM0014f8ca15f0.cpe.net.cable.rogers.com] has quit [Ping timeout: 252 seconds] 16:22:30 Fare: like float x = 3.0; float *y = &x; float *z = &x; ... x = 2.5; -> *y *z 16:22:38 nyef: You could also use it to roll back commits 16:23:13 trebor: if you want to share vectors of length one, or something, you can. 16:23:20 Oh, hey, there's a manual section on exactly this... 16:23:22 if that's what you want 16:24:11 so is the consensus that I should keep make-random-state by the book, and have a new function? Any preference for the name? seed-random-state ? make-random-state* ? 16:24:17 mkts [~ciaran@5acba95b.bb.sky.com] has joined #lisp 16:24:32 a shadowed make-random-state ? 16:24:42 And the magic trick is "git reset HEAD^", then git add --interactive. 16:24:42 I'd prefer fare:make-random-state if it does the same job. 16:24:54 Zhivago, it's internal to SBCL 16:25:07 Fare: sort of. i tried to create a very simple example in the annotation (the original paste is not very good). 16:25:10 so no fare: maybe SB-INT: 16:25:18 Ah, I misread then. 16:25:32 I might have skipped some context 16:25:44 ... Does the SBCL package-data system allow for shadowing symbols? 16:26:01 How is it non-ansi? 16:26:37 -!- kiuma [~kiuma@93-35-240-111.ip57.fastwebnet.it] has quit [Quit: Leaving] 16:27:08 tcr: since my patch went in, it allows integers and u8- and u32- arrays as well as booleans and random-state objects. 16:27:33 I don't think that's non-ansi 16:27:48 Fare: if i share vectors of length one, isn't this the same (in the end) as sharing lists of length one? 16:27:49 I did not bother to look at the actual test in the ansi test suite that made it fail 16:27:59 trebor_home: you're confused 16:28:29 Fare: you are right 16:28:33 but yes, you could use the CAR of a CONS cell instead of the element of a vector. 16:28:46 as your shareable cell 16:28:56 or make your own defstruct with one element 16:29:11 that would make for a clearer intent 16:29:31 (defstruct ref ...) 16:30:28 abusing vectors and cons cells as datastructures is so R5RS. 16:33:45 tcr: IIUC, they are tests that check that you can't pass an integer to make-random-state and have it not fail. 16:34:39 Yeah, defined exceptional situation. 16:35:10 bah 16:35:20 At the same time, what about extending the arglist instead? 16:35:26 that's one strict reading of the CLHS, but SBCL lives by such a reading. 16:35:51 nyef: uh? as in (make-random-state nil :seed 12345) ? 16:35:59 Yeah, that'd work. 16:36:17 that'd be an extension just as much, maybe just one not checked by the ansi test suite. 16:36:35 To be really obnoxious, make it so you have to pass :allow-other-keys t to get it to not error. 16:36:41 what would be a good lisp-aproach for http://paste.lisp.org/display/94933#1 (annotation 1) (avoiding an update function)? doing an extra defstruct for linking, or something completely different? 16:37:18 It's not that an extension is forbidden, it's that allowing other types of values for STATE as an extension is forbidden. 16:37:30 Fare: it'd be a backwards compatible extension though 16:37:33 (Now, there may be language elsewhere that forbids an arglist extension...) 16:38:37 I think such a weaselly reading of the spec is not helpful. Either play it strict "no extension, use a different function", or allow the extension. 16:38:40 Stattrav [~Stattrav@202.3.77.161] has joined #lisp 16:39:04 Well, I always wonder about the effect of extensions on expected type signatures. 16:39:05 no the standard allows extensions there's a chapter about it 16:39:19 trebor_home, if you need an extra defstruct, use an extra defstruct 16:39:28 This is hardly a weaselly reading. It says straight up: "If STATE isn't one of these kinds of values, signal a condition". 16:39:59 ok, so I think a new function is better. 16:40:20 I wish Xof had reviewed the patch before it went in! 16:40:37 I love the part of the spec that said that an implementation is permitted to do some specific thing, but forbidden from defining not doing that thing to be a feature. 16:40:50 mejja [~user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #lisp 16:40:58 (Well, s/feature/good thing/.) 16:41:37 ok so SEED-RANDOM-STATE ? MAKE-RANDOM-STATE* ? 16:42:14 kenpp [~kenpp@188-222-117-86.zone13.bethere.co.uk] has joined #lisp 16:42:22 CREATE-RANDOM-STATE ? 16:44:00 trebor: maybe what you want instead is some version of CONS that remembers the length of the list. 16:44:31 I still say shadow the damned thing and then do (defun cl:make-random-state (&optional (state nil)) (declare (type (or ...)) state) (make-random-state state)) 16:45:09 e.g. (defstruct lcons left right height) 16:45:17 Oh well, maybe something to try later. 16:45:42 -!- meric [~Eric@124-171-63-122.dyn.iinet.net.au] has quit [Quit: meric] 16:45:43 nyef: you mean check-type instead of declare? 16:45:59 No, declarations-are-assertions. 16:46:05 meh. 16:46:18 only at the right safety level 16:46:32 So? 16:46:41 check-type makes intent more obvious 16:46:52 rgawron [~rgawron@chello089079032023.chello.pl] has joined #lisp 16:47:03 Whichever. 16:47:44 I still feel queasy about shadowing. Is there any precedent about that? 16:47:55 I don't want to introduce a precedent 16:48:36 No precedent in SBCL that I'm aware of. 16:49:42 In fact, set-up-cold-packages.lisp doesn't even support shadowing. 16:50:07 -!- hadronzoo [~hadronzoo@ppp-70-251-109-243.dsl.rcsntx.swbell.net] has quit [Quit: hadronzoo] 16:51:46 Fare: hm. the tcond-cells in my example may get lots of neighbours. i understood your advice for doing the extra struct in order to be more clear in the code. but i do not understand the one about the cons that remembers the length of a list. 16:52:21 if what you want is being able to find out the length of a list quick, then use a list representation that gives you that 16:52:57 ok, so seed-r-s or make-r-s* ? 16:53:32 Xof proposed seed-r-s, I suppose I will stick to that. 16:57:11 trebor: the main thing is -- understand your requirements. 16:57:20 I'd go for (make-random-state t :seed ...) 16:58:42 Before you waste efforts, ask on the ml 16:59:14 -!- meltingwax [~meltingwa@c-76-106-58-123.hsd1.md.comcast.net] has quit [Read error: Connection reset by peer] 16:59:45 meltingwax [~meltingwa@c-76-106-58-123.hsd1.md.comcast.net] has joined #lisp 17:00:28 Fare: (i not need the information about the length of a list) what i need is a list of references (of edge-lengths of the neighbours). like cell-a knows: from my center the next cell to the left (cell-b) begins in X[mm] and *then the center of the next cell will be in Y[mm]*. Y is what cell-b knows & modifies. 17:01:16 next cell = cell-b 17:01:28 you want back-pointers? 17:02:00 i.e. when cell A is modified to link to B, you want B to remember that A links to it? 17:02:10 kenjin2201 [~kenjin@220.120.43.80] has joined #lisp 17:02:18 davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has joined #lisp 17:02:56 trebor: your explanations don't make sense to me. 17:03:48 sysop_fb [~bleh@80.255.39.35] has joined #lisp 17:03:58 -!- sysop_fb [~bleh@80.255.39.35] has left #lisp 17:05:06 Fare: cell-linking is not the problem itself. all cells have a list of neighbour-cell-ids. what i need is, if the dimension of one cell is modified (by itself, maybe heat or chemical reaction or mechanics). its neighbour cells need to get this information as far as possible. 17:05:19 rdd [~rdd@c83-250-52-182.bredband.comhem.se] has joined #lisp 17:05:31 i meant as fast as possible 17:06:13 -!- ineol [~hal@2a01:e35:8abb:fa80:226:8ff:fe01:5f90] has quit [Ping timeout: 260 seconds] 17:07:07 |.0..|...1....| in this case center of cell-0 has a distance of 2[mm] to the wall of cell-1. center of cell-1 has a distance of 3[mm] to the wall of cell-0. 17:07:43 is "neighbour" a bi-directional thing? 17:07:50 yes. 17:08:25 are you going to modify the neighbourhood graph? or just propagate information? 17:08:34 just propagate information => walk the graph 17:08:39 (avoiding cycles) 17:08:58 note that a side-effectful data representation may or may not be the best thing. 17:09:33 if either those 2[mm] (cell-0) or 3[mm] (cell-1) change, cell-1 (changes of 2[mm]) or cell-0 (change of 3[mm]) have to be informed automatically. 17:10:04 -!- marioxcc is now known as marioxcc-AFK 17:10:44 doing an update via a function is very slow, so i am looking for an automatic way (like i would have done in c in the very past). 17:11:29 -!- frontiers [~frontiers@139.79-160-22.customer.lyse.net] has quit [Read error: No route to host] 17:11:33 mattrepl [~mattrepl@pool-72-83-118-99.washdc.fios.verizon.net] has joined #lisp 17:12:04 neighbourhood-definitions will not change (for now), if they do, all links have to be re-arranged for sure, but that can be neglected now. 17:12:28 what does "informed automatically" mean? 17:12:44 puchacz [~puchacz@87-194-5-99.bethere.co.uk] has joined #lisp 17:13:23 nyef: if I want to export a function from sb-ext, how do I go about it? 17:13:30 ineol [~hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #lisp 17:13:34 like i did in the annotation, if one length changes, the referencing neighbour-length changes, too (because it is linked/referenced). 17:14:35 Fare: the second setf in http://paste.lisp.org/display/94933#1 17:15:18 kiuma [~kiuma@93-35-240-111.ip57.fastwebnet.it] has joined #lisp 17:15:22 Fare: Have a look through package-data.lisp-expr for "SB!EXT". 17:15:27 Sergio`_ [~Sergio`@a89-152-186-152.cpe.netcabo.pt] has joined #lisp 17:15:40 Fare: (cell-b's length is modified, cell-a's according neighbour-length changes, too) 17:15:47 trebor_home, is it always 1-dimensional? 17:16:14 dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 17:16:31 -!- Sergio`_ [~Sergio`@a89-152-186-152.cpe.netcabo.pt] has quit [Read error: Connection reset by peer] 17:16:40 why not "just" remember instead the absolute positions of cell-centers and cell-limits? 17:16:41 Fare: no, later on there will be more then only 2 neighbours (depending on the geometry of the cells) 17:17:46 you mean sbcl/package-data-list.lisp-expr ? 17:18:08 Fare: my answer was refering to being 1d always. 17:20:28 so should I export make-random-state* from both sb-kernel and sb-ext ? 17:21:14 Asgeir [~asgeir@tri59-1-82-233-201-74.fbx.proxad.net] has joined #lisp 17:21:19 Fare: There's a :reexport thing to consider as well. I'm not sure how it interacts. 17:21:30 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 17:22:03 what's :reexport ? 17:23:13 I think it's for those symbols which were originally from one of the packages on the :use list. 17:23:28 -!- mkts [~ciaran@5acba95b.bb.sky.com] has quit [Quit: mkts] 17:23:51 oh, which package should the symbol be native in? 17:23:56 sb-ext? 17:24:13 Is it a recursive :use relationship? 17:24:24 Does one of the package :use the other? 17:24:48 quidnunc [~user@bas16-montreal02-1177684015.dsl.bell.ca] has joined #lisp 17:25:15 hum, I don't see other internal/extended functions with a * at the end of the name. 17:25:20 Beyond that, it's your basic "which package does the symbol belong to" sort of thing. 17:25:26 So I'll use Xof's suggestion of seed-random-state 17:25:55 Meanwhile, it's lunchtime. I'll be back in a bit. 17:26:11 Sumpen [~Sumpen@81-232-77-93-no46.tbcn.telia.com] has joined #lisp 17:28:13 -!- alland [~thomas@ti0014a380-1092.bb.online.no] has left #lisp 17:32:49 -!- oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has quit [Ping timeout: 256 seconds] 17:33:21 dia100daly [~sdiawara@212.99.78.121] has joined #lisp 17:33:48 who write the esa librarie ? 17:33:53 -!- Kolyan [~nartamono@95-27-205-222.broadband.corbina.ru] has quit [] 17:33:54 -!- mega1 [~quassel@pool-00438.externet.hu] has quit [Ping timeout: 240 seconds] 17:34:00 -!- dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [Quit: dnolen] 17:34:53 -!- Asgeir [~asgeir@tri59-1-82-233-201-74.fbx.proxad.net] has quit [Quit: mi tawa!] 17:35:40 dia100daly: I think it had something to do with beach. 17:36:14 adu [~ajr@pool-173-66-253-196.washdc.fios.verizon.net] has joined #lisp 17:37:19 l0stman [~l0stman@freedsl-2.blueline.mg] has joined #lisp 17:41:13 meh, considering that froydnj's trees are almost but not quite what I want, I'll write my own. 17:41:32 So, should that be in fare-utils, or in their own package? 17:42:14 I'd argue that that depends on how often you're planning on using them, and the cost of maintainance either way. 17:42:58 dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 17:43:54 -!- trebor_home [~email@dslb-084-059-014-169.pools.arcor-ip.net] has quit [Ping timeout: 252 seconds] 17:44:08 hopefully, using them a lot from now on. 17:44:17 (planning to write code in a more functional style) 17:44:24 Okay, time to see if this mess still builds before I start in on the more invasive changes... 17:44:41 testing my patched sbcl before I send the diff to the ML 17:46:11 -!- sbahra [~sbahra@2002:62da:45b3:1234:21d:e0ff:fe00:f7ab] has quit [Quit: Leaving] 17:47:33 (For more fun, once I finish rearranging this patch series, I get to test every single patch in succession to make sure that it builds and doesn't break the test suite... In four to seven different configurations, depending on where in the series it is.) 17:48:10 gah? But why, why why? 17:48:21 Because it's a patch -series-. 17:48:22 the patches are meant to be independent? 17:48:29 Semi-independent. 17:48:46 what is it, already? the 63-bit fixnums? 17:48:49 Yes. 17:48:58 wonderful 17:49:18 can I have a pony, too? 17:49:43 No, but once I'm done with this part I'm hoping to put together a few slides. 17:50:00 for the BLM? Wonderful! 17:50:14 we have a lightning talker for feb 22, and it's not me :) 17:51:23 Unfortunately, I still haven't figured out how to make the fixnum-width changes actually work properly with respect to the runtime support, particularly the GC and LDB. 17:51:29 -!- Krystof [~csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has quit [Read error: Operation timed out] 17:51:53 nyef: don't worry, be happy 17:52:05 nyef: what does that mean wrt GC? 17:52:14 the GC won't work with your new setup? 17:53:11 It means that I'm leaving off the actual fixnum-width change for now. 17:53:18 Actually, I know how to make the GC work. 17:53:30 Nasty, but it'd work. 17:53:43 That "just" leaves the print.c changes. 17:53:54 -!- dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [Remote host closed the connection] 17:54:16 dnolen [~dnolen@ironport2.museum.moma.org] has joined #lisp 17:56:21 dreish [~dreish@minus.dreish.org] has joined #lisp 17:56:53 Hrm... I think I broke something somewhere. :-/ 17:57:25 republican_devil [~gav@cpe-76-172-28-85.socal.res.rr.com] has joined #lisp 17:59:12 Okay, WTF is up with this whitespace noise? 18:01:58 ... Come to think it, I might not have broken anything, it might be from when I rebased to upstream. 18:05:01 mkts [~ciaran@5acba95b.bb.sky.com] has joined #lisp 18:05:53 grrrr, posted too soon. :( :( :( 18:05:54 I suck 18:06:16 there is whitespace noise in gc.lisp 18:06:27 -!- quidnunc [~user@bas16-montreal02-1177684015.dsl.bell.ca] has quit [Ping timeout: 252 seconds] 18:08:32 -!- tltstc [~tltstc@cpe-76-90-95-39.socal.res.rr.com] has quit [Ping timeout: 256 seconds] 18:09:01 tltstc [~tltstc@cpe-76-90-95-39.socal.res.rr.com] has joined #lisp 18:10:29 -!- kiuma [~kiuma@93-35-240-111.ip57.fastwebnet.it] has quit [Remote host closed the connection] 18:13:19 quidnunc [~user@bas16-montreal02-1177684015.dsl.bell.ca] has joined #lisp 18:13:27 Fare: I like your website 18:13:44 which? 18:13:55 fare.tunes.org 18:14:05 haven't touched in much in years 18:14:06 nice articles 18:14:09 thanks 18:14:19 there's good stuff in French, too, some of it untranslated 18:14:22 makes me want to start a revolution 18:14:24 Fare: what's the deal with tunes, btw? 18:14:37 sykopomp, like Cthulhu 18:14:46 it does seem strangely cult-like. 18:14:52 demmeln1 [~Adium@188.110.167.55] has joined #lisp 18:14:54 ia ia 18:15:18 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Quit: Valete!] 18:15:21 -!- demmeln1 [~Adium@188.110.167.55] has left #lisp 18:15:39 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 18:16:34 i suppose i could use GoogleTran 18:16:42 ... Neat! I can't build stock 1.0.35.15 either! 18:17:50 -!- kenjin2201 [~kenjin@220.120.43.80] has quit [Ping timeout: 265 seconds] 18:17:59 Fare: I was more wondering where it came from and what its state is. It seems to be very i-want-a-pony. 18:18:29 it is very i-want-a-pony 18:18:40 a lot of the ideas we through around have been implemented since 18:18:49 though not in an integrated system 18:18:53 sykopomp: I can't speak for Fare, but I think I know what the goal of tunes is 18:19:24 adu: speak 18:19:26 adu: This I want to hear. 18:19:30 (for you) 18:19:52 besides world domination? 18:19:54 to make computers organic 18:20:08 "organic"? 18:20:22 You mean, carbon-based computing instead of silicon-based computing? 18:20:34 nyef: you can't build vanilla .15? 18:20:36 Organic as in Mozilla's synonym for opensource 18:20:39 Organic as in they adapt like organs do 18:20:58 tcr: Indeed not. And there's whitespace damage in .15 as well. 18:21:17 Organic as in they are extensions of our body instead of us being the control system behind the "expert" systems within the computer 18:21:47 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Remote host closed the connection] 18:21:53 tcr: Bisecting now. 18:22:17 -!- rgawron [~rgawron@chello089079032023.chello.pl] has quit [Ping timeout: 260 seconds] 18:22:19 nyef: is it a build failure, or hanging on some test? 18:22:24 Build failure. 18:22:44 i think tunes can be described by many goals, and all of those goals can be considered meanings of "organic" 18:22:49 x86-64/linux, adding :sb-after-xc-core and :sb-thread in c-t-f. 18:23:16 loxs [~loxs@78.90.124.181] has joined #lisp 18:23:46 adu: did you read my essay on evolutionary programming? 18:23:55 nope 18:24:00 where is it? 18:24:03 rgawron [~rgawron@chello089079032023.chello.pl] has joined #lisp 18:25:10 n/m found it 18:26:29 Dawgmatix_ [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has joined #lisp 18:26:37 stassats [~stassats@wikipedia/stassats] has joined #lisp 18:27:21 -!- Fufie [~innocent@86.80-203-225.nextgentel.com] has quit [Read error: Connection reset by peer] 18:27:46 Fufie [~innocent@86.80-203-225.nextgentel.com] has joined #lisp 18:27:54 I sent it to Onward! and got "interesting" reviews. 18:27:57 -!- potatishandlarn [~potatisha@c-4f66daae-74736162.cust.telenor.se] has quit [] 18:28:33 ooo that's in Reno, i've been there :) 18:29:02 Fare, do you have a link? 18:29:59 -!- plutonas [~plutonas@port-92-195-75-6.dynamic.qsc.de] has quit [Remote host closed the connection] 18:30:04 nyef: .15 built on linux x86-32 for me 18:30:47 http://fare.tunes.org/computing/evolutionism.html 18:32:21 Fare: You did this as a lightning talk at BLM once, didn't you? 18:32:45 ... WTF? 1.0.35 didn't build -either-? 18:32:51 attila_lendvai [~ati@catv-89-134-66-143.catv.broadband.hu] has joined #lisp 18:33:33 nyef: no, I don't think so. Or if I did, I just glossed over part I. 18:33:45 nyef: what are you building it with? 18:33:54 I built 1.0.35.10 fine, here 18:34:02 1.0.11 18:34:24 what kind of problem are you having? 18:34:39 If I get as far back as 1.0.33, I'll declare it likely to be my current environment. 18:34:50 yesterday, I couldn't load ASDF.lisp with speed 2, safety 2 debug 2 on sbcl 1.0.32.30 18:34:51 A type-error while compiling/loading PCL. 18:35:39 -!- Zephyrus [~emanuele@unaffiliated/zephyrus] has quit [Quit: ""] 18:42:32 -!- rgawron [~rgawron@chello089079032023.chello.pl] has quit [Quit: leaving] 18:43:08 I think that's a known issue 18:43:13 carlocci [~nes@93.37.217.71] has joined #lisp 18:43:26 Really? 18:43:31 I recall someone else who reported he was unable to build sbcl due to failure in pcl 18:43:36 Oh, joy. 18:43:39 reason was an old sbcl version 18:44:05 Oh double-joy. 18:44:40 might spend the few minutes searching through sbcl-devel or -help, can't be that ancient 18:45:07 Zephyrus [~emanuele@unaffiliated/zephyrus] has joined #lisp 18:46:09 -!- tcr [~tcr@host146.natpool.mwn.de] has quit [Remote host closed the connection] 18:46:11 Okay, now building 1.0.33.29, which should work (if only because it's the current branch-point for stupid-lowtag-hacks). 18:49:24 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Quit: Valete!] 18:52:28 legumbre_ [~leo@r190-135-1-190.dialup.adsl.anteldata.net.uy] has joined #lisp 18:52:29 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 18:53:15 jsfb_ [~jon@pool-96-231-114-178.washdc.east.verizon.net] has joined #lisp 18:53:26 -!- jsfb_ [~jon@pool-96-231-114-178.washdc.east.verizon.net] has quit [Client Quit] 18:54:26 -!- legumbre [~leo@r190-135-4-67.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 256 seconds] 18:57:39 fiveop [~fiveop@g229080215.adsl.alicedsl.de] has joined #lisp 18:58:17 potatishandlarn [~potatisha@c-4f66d798-74736162.cust.telenor.se] has joined #lisp 19:00:24 brill [~brill@0x5da22faa.cpe.ge-1-1-0-1104.hrnqu2.customer.tele.dk] has joined #lisp 19:00:40 drewc [~drewc@89.16.166.162] has joined #lisp 19:01:14 -!- seangrove [~user@c-67-188-3-10.hsd1.ca.comcast.net] has quit [Ping timeout: 256 seconds] 19:09:43 -!- brill [~brill@0x5da22faa.cpe.ge-1-1-0-1104.hrnqu2.customer.tele.dk] has quit [Quit: Leaving] 19:09:47 The consed column of the profiler in sbcl is puzzling me, I have large consed counts on a heavily called fn such as (defun fn (vec num) (char= #\. (elt vec num))), but 0 on low call rates. Is the a garbage collection effect? 19:10:49 jewel [~jewel@41.31.68.93] has joined #lisp 19:11:38 s/the/this/ 19:13:23 all of the sb-sprof output is confusing to me 19:15:11 -!- splittist [~joe@30-245.62-188.cust.bluewin.ch] has quit [Quit: I'm off to evolve elsewhere...] 19:15:54 jsfb: it's statistical. 19:16:11 I'm running the direct profiler I think, not the sampling one 19:16:44 In any even, what does the consed column *mean* 19:16:50 s/even/event/ 19:17:19 I can understand the call counts, but "who's" conses is it reporting? 19:18:24 *jsfb* wonders in what universe (char= #\. (elt vec index)) conses pretty much anything... 19:18:24 I don't think the instrumenting profiler does allocations. 19:19:38 Oddity [~Oddity@66.183.67.202] has joined #lisp 19:20:15 I've found at the repl (time (dotimes (i ) ... returns very different space usage for the same kind of fn I described for n= 100 and n=1000000, still within 64 bit fixnum. wtf? 19:22:40 oops, one more zero on n 10,000,000 19:23:16 jsfb: are you sure you're measuring what you think you're measuring? 19:23:16 drewc, memo from wgl: Were you able to make another attempt at the ledger? 19:23:24 wgl: around? 19:23:47 jsfb: time measures total allocation; you might have some stuff from other threads, SLIME, etc. 19:23:48 I'm not 100% sure, but I've simplified it to my example, and so I can't think of what else is contributing to the consing 19:24:07 jsfb: did you paste the example somewhere ? 19:24:08 right, but it's also in the profile 19:24:23 only in here it's a one liner 19:25:02 (defun fn (vec num) (char= #\. (elt vec num)) 19:25:15 that can't possibly generate any garbage can it? 19:25:17 jsfb: why are you profiling a defun? 19:25:28 the speed of defun is a problem? 19:25:52 um, it's a fun inside many other funs don't get it? Yes, it's in the top 3 and uses lots of space 19:26:33 so that line is not what you're profiling.... 19:26:38 -!- l0stman [~l0stman@freedsl-2.blueline.mg] has quit [Ping timeout: 252 seconds] 19:26:48 *drewc* writes this one off 19:26:51 jsfb: so, you're using the statistical profiler? 19:26:51 It is part of the profile report 19:26:56 no 19:27:12 Then you don't get any allocation report in the profile. 19:27:43 so the "consed" column is only reported via sampling? 19:27:44 Unless Fare's inference that you were using SBCL was wrong. 19:28:03 I'm using sbcl 19:28:08 -!- marioxcc-AFK is now known as marioxcc 19:29:31 -!- RaceCondition [~RaceCondi@82.131.16.108.cable.starman.ee] has quit [Ping timeout: 240 seconds] 19:29:58 invoking (sb-profile:profile (form)) 19:30:07 RaceCondition [~RaceCondi@82.131.16.108.cable.starman.ee] has joined #lisp 19:30:42 Oh. It's still part of the "deterministic" profile. 19:30:43 oops (form) is all the fns in the package 19:31:04 -!- Hun [~hun@p50993726.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 19:31:28 Consing is measured globally, and you only get quantised values. 19:31:41 quantized how? 19:32:13 By allocation page sizes. 19:33:03 ok, so when a name has a conses column value, that isn't necessarily generated directly by that name or it's callees? 19:33:13 Pretty much. 19:33:20 how useful NOT lol 19:33:36 It tends to be. 19:33:47 But for low values, you might be measuring noise. 19:34:33 the values are very high, that's why it is a puzzle. The fn is so simple and yet it is generating conses 192x it's call rate 19:34:56 Define "very high"? 19:36:07 181,100,416 | 925,486 | 0.0000003 my-predicate 19:36:20 conses | calls | time | name 19:36:37 Krystof [~csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has joined #lisp 19:36:49 It does a (char= lit (elt vec indx)) 19:37:08 Fare: can one make xcvb packages in other languages? 19:37:14 but for low call rates (in do times) it conses nothing 19:37:58 You ran your dotimes loop 925 486 times? 19:38:14 more than that 19:38:34 ... 19:38:43 that is from a line in the profile report, not a dotimes 19:39:06 I then tested it alone with just time etc 19:39:17 And with time, how much does it cons? 19:41:16 now, when I run it profiled only by itself, but with the same calling framework, it only conses 4192 19:41:54 That's the one random allocation page of noise. 19:42:22 If you want allocation profiling, the statistical profiler will be much more useful. 19:42:25 but if I enable profiling of it and all the other fn's in the package, it comes up as what I said before 19:42:34 -!- Fare [~Fare@c-24-218-127-11.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 19:43:10 Fare [~Fare@c-24-218-127-11.hsd1.ma.comcast.net] has joined #lisp 19:43:45 the profiler needs to allocate some memory for each call 19:44:01 I thought that had been changed to either be filtered out of the results, or to be stack allocated 19:44:16 ok, i'll look into that. I don't think this predicate is actually generating garbage I think it is an artifact of measurement somehow 19:44:31 jsfb: probably. 19:44:41 jsnell: so did I. 19:45:06 me too or else the profile report would be nearly useless for space analysis 19:45:18 it factors out time overhead, why not space 19:45:49 mega1 [~quassel@3e44a3eb.adsl.enternet.hu] has joined #lisp 19:45:55 jsfb: the deterministic profiler is much less useful than the statistical one. 19:46:22 I only glanced at the stat prof, just started with the profiler today, so I'll give it a look 19:47:18 This space thing has wasted a lot of time since naturally I'm assuming it's me and I just don't really understand what (char=) and (elt) do lol 19:48:27 -!- c|mell [~cmell@cpc3-colc5-0-0-cust193.colc.cable.ntl.com] has quit [Read error: Operation timed out] 19:50:28 thanx for the info, cheers 19:50:28 -!- loxs [~loxs@78.90.124.181] has quit [Quit: Leaving] 19:50:34 -!- jsfb [~jon@unaffiliated/jsfb] has quit [Quit: Leaving] 19:51:24 Fare: what do you want out of trees? you want functional trees? 19:52:44 -!- dnolen [~dnolen@ironport2.museum.moma.org] has quit [Quit: dnolen] 19:53:23 Asgeir [~asgeir@tri59-1-82-233-201-74.fbx.proxad.net] has joined #lisp 19:54:00 Okay, build problems with HEAD turned out to be a dirty local tree. 19:54:36 -!- dia100daly [~sdiawara@212.99.78.121] has left #lisp 19:56:05 evening 19:56:17 Hello Krystof. 19:57:07 Fare: thank you for your patience 19:57:51 -!- anekos [~anekos@pl932.nas923.p-osaka.nttpc.ne.jp] has quit [Ping timeout: 240 seconds] 19:58:28 -!- jewel [~jewel@41.31.68.93] has quit [Ping timeout: 256 seconds] 19:59:11 Fade [fade@vader.deepsky.com] has joined #lisp 20:03:30 -!- Taggnostr [~x@dyn57-487.yok.fi] has quit [Ping timeout: 240 seconds] 20:05:07 Hello people. I'm a beginner, and here's my question : I've one *base-dir* variable that refers to an absolute pathname, and 5 others variables that refers to pathnames relatives to *base-dir*. Every time I use one of these variables, I must merge it with *base-dir* in order to get an absolute path, but it's a bit dirty. A friend said I should at the beginning merge all my relatives pathnames with *base-dir*, put the results in other vari 20:06:20 -!- ace4016 [ace4016@cpe-76-170-134-79.socal.res.rr.com] has quit [Quit: When there's nothing left to burn, you have to set yourself on fire.] 20:07:47 Asgeir: That, or monkey with *default-pathname-defaults*. 20:08:11 abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has joined #lisp 20:08:19 hum yes 20:08:54 But I'm using external functions that don't care about *default-pathname-defaults* :/ 20:09:08 -!- ehu [~ehu@ip118-64-212-87.adsl2.static.versatel.nl] has left #lisp 20:09:51 I can't really help you with that, then, sorry. 20:10:14 Thanks :) 20:13:00 -!- moah [~gnu@dslb-188-101-021-242.pools.arcor-ip.net] has quit [Quit: Leaving] 20:13:59 Ok, I've modified some stuff, and it works with *default-pathname-defaults*. Thanks! 20:14:43 anekos [~anekos@pl572.nas924.p-osaka.nttpc.ne.jp] has joined #lisp 20:15:42 anyone doing a world of warcraft clone in lisp? 20:16:06 That sounds like a question for the #lispgames people. 20:16:26 Davidbrcz [~david@ANantes-151-1-81-46.w81-53.abo.wanadoo.fr] has joined #lisp 20:17:50 *nyef* fixes whitespace damage in SBCL CVS HEAD. 20:18:02 nyef: that's gavino 20:18:21 Ah, right. 20:18:37 Still, if he's bothering #lispgames it reduces his bandwidth for bothering us. 20:18:56 (Yes, I acknowledge that that's uncharitable of me.) 20:19:52 ichernetsky [~ichernets@195.222.69.151] has joined #lisp 20:25:27 Taggnostr [~x@dyn57-487.yok.fi] has joined #lisp 20:25:47 -!- fiveop [~fiveop@g229080215.adsl.alicedsl.de] has quit [Quit: humhum] 20:27:08 ... :ref-trans on a define-primitive-object slot always returns a boxed value, doesn't it? 20:27:39 -!- legumbre_ is now known as legumbre 20:28:07 francogrex [~user@253.89-243-81.adsl-dyn.isp.belgacom.be] has joined #lisp 20:34:43 Can scan-to-strings return all matching substrings, not only the first one? eg. (ppcre:scan-to-strings "(.*?)""foo0foo1") => foo0, foo1 ? 20:35:18 mrSpec: you're doing it _wrong_! 20:35:35 ok, please correct me :) 20:35:47 minion: tell mrSpec about closure-html 20:35:48 mrSpec: please look at closure-html: Closure-html is a portable HTML parsing library that understands malformed HTML. http://www.cliki.net/closure-html 20:36:03 :D ok, thanks ;) 20:36:12 mrSpec: regular expressions are not made for parsing html... use an html parser! 20:36:41 I will, thanks for help! 20:36:46 no worries :) 20:37:02 ephcon [~ephcon@c-24-34-195-64.hsd1.ma.comcast.net] has joined #lisp 20:37:13 snearch_ [~olaf@g225048181.adsl.alicedsl.de] has joined #lisp 20:37:34 -!- francogrex [~user@253.89-243-81.adsl-dyn.isp.belgacom.be] has quit [Ping timeout: 256 seconds] 20:38:18 -!- ephcon [~ephcon@c-24-34-195-64.hsd1.ma.comcast.net] has quit [Client Quit] 20:41:21 -!- reprore_ [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 20:49:38 -!- potatishandlarn [~potatisha@c-4f66d798-74736162.cust.telenor.se] has quit [Ping timeout: 248 seconds] 20:51:42 -!- fsl [~fsl@auf186.internetdsl.tpnet.pl] has quit [Ping timeout: 252 seconds] 20:54:14 potatishandlarn [~potatisha@c-4f66d798-74736162.cust.telenor.se] has joined #lisp 20:56:00 sepult [~user@xdsl-87-78-29-150.netcologne.de] has joined #lisp 20:58:37 daniel_ [~daniel@p5082E67D.dip.t-dialin.net] has joined #lisp 21:00:30 fsl [~fsl@auf186.internetdsl.tpnet.pl] has joined #lisp 21:00:55 francogrex [~user@253.89-243-81.adsl-dyn.isp.belgacom.be] has joined #lisp 21:01:21 -!- Fare [~Fare@c-24-218-127-11.hsd1.ma.comcast.net] has quit [Ping timeout: 256 seconds] 21:01:51 -!- daniel__ [~daniel@p5082E3C4.dip.t-dialin.net] has quit [Ping timeout: 245 seconds] 21:01:52 oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has joined #lisp 21:05:46 zeugma [~user@76.85.179.51] has joined #lisp 21:10:37 can anybody explain to me why I shouldn't be upset about doing network programming in lisp? citations please ;) 21:11:36 is the question rhetorical? 21:12:07 -!- ChanServ has set mode +o drewc 21:12:41 what sort of network programming? 21:13:08 dnolen [~dnolen@pool-96-224-24-64.nycmny.east.verizon.net] has joined #lisp 21:13:18 oh not really - I'm just a little frustrated with the available documentation, and I'd like some examples 21:13:20 -!- marioxcc [~user@200.92.23.60] has quit [Remote host closed the connection] 21:13:31 zeugma: look at iolib 21:14:35 zeugma: hunchentoot is a well written network app 21:14:42 minion: tell zeugma about hunchentoot 21:14:43 zeugma: have a look at hunchentoot: Hunchentoot is a web server written in Common Lisp and at the same time a toolkit for building dynamic websites. http://www.cliki.net/hunchentoot 21:15:17 zeugma: the builtin UCW httpd is a very simple example, expecially the single threaded version 21:15:24 minion: tell zeugma about UCW 21:15:25 zeugma: direct your attention towards UCW: UnCommon Web is a Common Lisp web application development framework. http://www.cliki.net/UCW 21:15:33 zeugma: what exactly upsets you ? 21:15:47 zeugma: This looks good for client code: http://weitz.de/drakma/ 21:16:05 hah thanks folks - this is the kind of response I was hoping for 21:16:21 also trivial-http is _really_ simple if it's client code 21:16:25 minion: trivial-http? 21:16:26 trivial-http: Ah, HTTP, the protocol we all love to re-implement. http://www.cliki.net/trivial-http 21:16:29 oconnore_: I tried out drakma yesterday, but kept hitting a usocket error 21:16:38 oh, good to know 21:17:11 <_deepfire> Hmm, dreamsongs.com is unusually slow for me -- around 2kb/s. 21:17:31 zeugma: you're lucky you got that response and not a kickban with such a troll-ish introduction ;) 21:17:32 Fade: I've just run across iolib (as of five minutes ago), thanks, I will. 21:17:57 hey, just because I live under a bridge is no reason to poke fun. 21:17:59 -!- ChanServ has set mode -o drewc 21:18:02 there's a lot of network programming done in common lisp. 21:18:20 so I'm curious as to what you found problematic, the idiom, or the documentation? 21:18:21 Fade: I can see that - but I seem to suck at it. I'm used to erlang. 21:18:39 zeugma: not poking fun, just a warning... we get too many in here and not patience for it. 21:18:46 So, if I give a terminal an escape sequence, I get a response back on the terminal. However, lisp doesn't read it on either *terminal-io* or *standard-input*. Any ideas? 21:19:00 I don't know of any other standard input streams 21:19:40 The response is in the form #\Esc #\[ (a number) #\; (another number) #\R 21:19:47 fellows, I've got to run, but a sequel is sure to follow - thanks for the tips. 21:19:52 -!- zeugma [~user@76.85.179.51] has left #lisp 21:20:18 -!- RaceCondition [~RaceCondi@82.131.16.108.cable.starman.ee] has quit [Ping timeout: 252 seconds] 21:23:39 konr` [~user@187.117.73.3] has joined #lisp 21:23:45 -!- ramus [~ramus@99.23.137.238] has quit [Read error: Connection reset by peer] 21:26:56 -!- konr [~user@187.117.73.3] has quit [Remote host closed the connection] 21:28:01 -!- nha [~prefect@250-194.105-92.cust.bluewin.ch] has quit [Ping timeout: 264 seconds] 21:28:22 ramus [~ramus@99.23.140.180] has joined #lisp 21:29:48 -!- freiksenet [~freiksene@hoasnet-fe29dd00-202.dhcp.inet.fi] has quit [Remote host closed the connection] 21:34:00 no one knows? 21:34:17 -!- republican_devil [~gav@cpe-76-172-28-85.socal.res.rr.com] has quit [Read error: Connection reset by peer] 21:34:52 oconnore_: Are you sure it's not being ignored because of your terminal line discipline or similar? 21:36:46 Kludgy [~therealkl@S01060018f85956c8.vc.shawcable.net] has joined #lisp 21:36:55 -!- francogrex [~user@253.89-243-81.adsl-dyn.isp.belgacom.be] has quit [Quit: ERC Version 5.2 (IRC client for Emacs)] 21:37:43 nyef: well, I'm not sure (I've never heard of that before). But it gives me another thing to check... 21:38:10 simple check: Does hitting ENTER after your escape sequence help? 21:38:56 no, i put the terminal into a noncanonical input mode before doing this. 21:39:27 Hrm... 21:39:29 Not sure. 21:47:15 kglovern [~kglovern@CPE001d725da193-CM0014f8ca15f0.cpe.net.cable.rogers.com] has joined #lisp 21:47:27 marioxcc [~user@200.92.17.132] has joined #lisp 21:49:07 Phoodus [foo@97-124-127-114.phnx.qwest.net] has joined #lisp 21:49:32 -!- marioxcc [~user@200.92.17.132] has quit [Remote host closed the connection] 21:50:00 marioxcc [~user@200.92.17.132] has joined #lisp 21:53:53 -!- Phoodus [foo@97-124-127-114.phnx.qwest.net] has quit [Ping timeout: 265 seconds] 21:54:39 marcelinollano [~marcelino@249.Red-81-36-25.dynamicIP.rima-tde.net] has joined #lisp 21:57:30 HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 21:57:36 -!- Edico [~Edico@unaffiliated/edico] has quit [Quit: Ex-Chat] 21:58:28 marcelinollan [~marcelino@249.Red-81-36-25.dynamicIP.rima-tde.net] has joined #lisp 21:58:54 -!- marcelinollano [~marcelino@249.Red-81-36-25.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 21:59:14 -!- marcelinollan [~marcelino@249.Red-81-36-25.dynamicIP.rima-tde.net] has quit [Client Quit] 21:59:46 bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has joined #lisp 22:01:00 -!- rares [~rares@63-225-203-166.phnx.qwest.net] has quit [Remote host closed the connection] 22:03:26 -!- adu [~ajr@pool-173-66-253-196.washdc.fios.verizon.net] has quit [Quit: adu] 22:04:18 Nshag [~shag@lns-bzn-52-82-65-65-63.adsl.proxad.net] has joined #lisp 22:06:03 -!- NNshag [~shag@lns-bzn-22-82-249-112-68.adsl.proxad.net] has quit [Ping timeout: 276 seconds] 22:06:26 zoe_ [~quassel@c-174-51-110-214.hsd1.co.comcast.net] has joined #lisp 22:07:45 ltriant [~ltriant@lithium.mailguard.com.au] has joined #lisp 22:07:50 Blkt [~user@net-93-146-149-241.t2.dsl.vodafone.it] has joined #lisp 22:08:08 -!- zoe_ is now known as zoe 22:09:14 sebyte [~sebyte@vps203.linuxvps.org] has joined #lisp 22:09:18 -!- ltriant [~ltriant@lithium.mailguard.com.au] has quit [Client Quit] 22:09:29 schoppenhauer [~christoph@unaffiliated/schoppenhauer] has joined #lisp 22:09:59 hi all, is there a format directive that means repeat preceeding char n times? 22:10:31 No, but I suspect there may be something close. 22:11:05 nyef: ok thanks 22:11:10 (format nil "~{~A~}" (make-list n :initial-element char)) ? 22:11:17 -!- Zephyrus [~emanuele@unaffiliated/zephyrus] has quit [Quit: ""] 22:11:30 Hrm... Yeah, that's about what I'm coming up with. 22:12:00 rares [~rares@63-225-203-166.phnx.qwest.net] has joined #lisp 22:12:04 -!- snearch_ [~olaf@g225048181.adsl.alicedsl.de] has quit [Quit: Ex-Chat] 22:12:25 ltriant [~ltriant@lithium.mailguard.com.au] has joined #lisp 22:12:34 -!- rares [~rares@63-225-203-166.phnx.qwest.net] has left #lisp 22:14:06 nyef: you had a forth system on the metal for i386 didn't you? 22:14:08 dralston [~dralston@S010600212986cca8.va.shawcable.net] has joined #lisp 22:15:01 drewc: Yes, but it refuses to boot on any of my amd64 systems. 22:15:18 And I seem to recall having -lost- the last version, the one with the good block editor. 22:15:26 hm... i am putting the terminal into "super raw mode" now, and oddly enough i can see the string output. 22:15:40 i didn't think input was supposed to be visible on a terminal? 22:16:37 * ^[[43;1R 22:16:52 oconnore_: Looks normal to me... Did you check your ECHO control? 22:17:15 ((cchheecckk yyoouurr dduupplleexx sswwiittcchh..)) 22:17:16 yes, echo is off 22:17:34 -!- quidnunc [~user@bas16-montreal02-1177684015.dsl.bell.ca] has quit [Ping timeout: 265 seconds] 22:18:48 -!- ineiros is now known as ineiros_ 22:19:19 nyef: duplex is not listed in termios. What duplex switch are you referring to? 22:19:52 ineiros [~itniemin@james.ics.hut.fi] has joined #lisp 22:19:53 It's a joke from the days of using a modem or other terminal hardware to connect to a computer. 22:20:13 nyef: is it publically available?... i just want to read it really... don't even care if it runs 22:20:33 drewc: thanks 22:20:35 oh, hah 22:21:17 sebyte: i'd almost prefer a with-output-to-string depending on the rest of the problem 22:21:29 oconnore_: Basically, if your system is configured for local echo and the remote system is configured for echo as well, you get doubled characters. 22:21:32 wait 22:21:53 sebyte: my format directive was idiotic really... 22:22:15 i see 22:22:18 (format nil "~A" (make-string n :initial-element char)) 22:22:28 why would i loop when i can just make a string! 22:22:45 i was wondering about that... but it did work :) 22:22:59 -!- ineiros_ [~itniemin@dsl-hkibrasgw1-fe27f900-103.dhcp.inet.fi] has quit [Quit: leaving] 22:23:47 Depending on what you're doing, you might try (format nil "~14,'qD" 0), but you get this odd 0 character at the end... 22:25:57 sebyte: see also the ~/%t/ directive i define at http://common-lisp.net/project/cl-org-mode/#sec-6.2 22:26:56 -!- abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has quit [Quit: Leaving.] 22:30:31 sbahra [~sbahra@2002:62da:45b3:1234:21d:e0ff:fe00:f7ab] has joined #lisp 22:30:33 -!- attila_lendvai [~ati@catv-89-134-66-143.catv.broadband.hu] has quit [Ping timeout: 260 seconds] 22:34:37 -!- kglovern [~kglovern@CPE001d725da193-CM0014f8ca15f0.cpe.net.cable.rogers.com] has quit [Quit: Lost terminal] 22:39:30 -!- redline6561 [~redline@c-66-56-16-250.hsd1.ga.comcast.net] has left #lisp 22:39:48 francogrex [~user@253.89-243-81.adsl-dyn.isp.belgacom.be] has joined #lisp 22:39:51 -!- slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has quit [Read error: Operation timed out] 22:40:14 -!- mkts [~ciaran@5acba95b.bb.sky.com] has left #lisp 22:41:10 nyef: drewc: thanks guys, make-string is much simpler (and thanks for the link, %t looks interesting) 22:42:10 redline6561 [~redline@c-66-56-16-250.hsd1.ga.comcast.net] has joined #lisp 22:42:15 can one add slots to an object without redefining the class? 22:43:32 francogrex: an object with different slots _is_ a different class, non? 22:43:34 francogrex: You want to add slots to only one instance? 22:44:22 maybe I didn't explain well 22:44:29 it certainly is if we're talking about classes which are instances of STANDARD-CLASS 22:44:52 francogrex: perhaps you are looking for a hash table? 22:45:09 say I have defined a class foo with accessors a b c and then I made an instance of that class 22:45:37 ... slots a b c, surely? 22:45:41 -!- dralston [~dralston@S010600212986cca8.va.shawcable.net] has quit [Quit: Leaving] 22:45:54 to that instance I want to add a slot d (that I missed in the class foo) 22:45:59 nyef: yes slots 22:46:12 clhs update-instance-for-redefined-class 22:46:13 http://www.lispworks.com/reference/HyperSpec/Body/f_upda_1.htm 22:46:26 -!- Blkt [~user@net-93-146-149-241.t2.dsl.vodafone.it] has quit [Ping timeout: 245 seconds] 22:46:29 francogrex: to that single instance and not the class? 22:46:30 Adlai: yes thazt's it! 22:47:00 clhs 4.3.6 22:47:00 drewc: it can be for the class asa whole 22:47:00 http://www.lispworks.com/reference/HyperSpec/Body/04_cf.htm 22:47:09 francogrex, also read that section ^ 22:47:23 francogrex: Under normal circumstances, redefining a class Does The Right Thing with existing instances. Under abnormal circumstances, we have update-instance-for-redefined-class. 22:47:26 (although your use case doesn't involve most of the complexity) 22:47:53 francogrex: and why don't you want to redefine the class? 22:47:59 ok 22:48:52 francogrex, in case it's not obvious -- you redefine a class by just re-DEFCLASSing it 22:49:13 if you're working in slime with source code in a file, you can just edit the defclass form and C-c C-c 22:50:03 -!- morphling [~stefan@gssn-5f75732b.pool.mediaWays.net] has quit [Remote host closed the connection] 22:51:23 drewc: I want to add to the class. In my case here I can also redefine it; but maybe sometimes it won't be possible or ok 22:52:27 and just outta curiosity; can you add slots to the instance (not the class)? 22:52:51 francogrex: i don't think you quite understand what class based OO is all about. 22:52:52 francogrex, in CLOS, you'd have to change the object's class. 22:52:55 -!- ichernetsky [~ichernets@195.222.69.151] has quit [Quit: Leaving.] 22:53:01 you're coming from Python, right? 22:53:13 from C/cpp 22:53:34 oh. I thought you were, because Python lets you add slots whenever you feel like it. 22:53:38 -!- marioxcc is now known as marioxcc-AFK 22:54:14 nus [~nus@unaffiliated/nus] has joined #lisp 22:54:19 i see; no I don't/didn't do python 22:54:27 Adlai: to instances? 22:54:27 francogrex: http://en.wikipedia.org/wiki/Class-based_programming 22:55:01 drewc, yeah, you can just do object.newslot=newval 22:55:42 Adlai: so python objects are really just hash tables... what role do classes play? 22:55:49 are methods stored in classes? 22:56:11 drewc, search me, I haven't touched Python in almost a year. 22:56:35 Ruby is my poison of choice :\ 22:56:43 drewc: well, there's inheritance 22:56:53 but you can just arbitrarily add fields 22:57:15 (as you can in ruby, but it's marginally less direct there) 22:58:00 -!- Draggor [~Draggor@216-80-120-145.alc-bsr1.chi-alc.il.static.cable.rcn.com] has quit [Ping timeout: 272 seconds] 22:58:15 drewc: I believe adding _methods_ dynamically is a bit trickier. 22:58:27 -!- Demosthenes [~demo@206.180.155.43.adsl.hal-pc.org] has quit [Quit: leaving] 22:58:27 it's more like python objects are a mixture between class instances and hash tables. 22:58:54 at least Sheeple gets rid of the class instances :P 22:58:55 Like javascript? 22:59:18 nyef: adding a method to javascript is just assigning a function to a slot. 22:59:22 nyef: javascript doesn't have classes 22:59:47 drewc: pythonlang also has a bit of a MOP, and that's all done through the class itself, afaict 22:59:47 *nyef* thought javascript had prototypes. 23:00:08 so I guess classes are primary way of dispatching + primary way of having 'fields' + mop dispatch 23:00:10 jake-is-a-virus [~chatzilla@24.143.26.144] has joined #lisp 23:00:11 or something 23:00:12 -!- Athas [~athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote host closed the connection] 23:00:42 nyef: they're hash tables that can secretly have a __proto__ hash table. 23:00:49 Well, i suppose that explains why the interpreter has performance issues. I'm not going to be entirely critical, as i could see the utility.... 23:00:55 they do very little beyond that. 23:00:59 but i can store a hash table in a slot... 23:01:39 Ah, good. gcc doesn't complain when you do return foo(), where foo() is declared as returning void. 23:02:08 So long as it does the right thing, I can get away with just a couple of KLUDGE comments. 23:02:19 nyef: just don't try and use the return value! 23:02:27 hmm, what DOES it do, I wonder? 23:02:39 I'm doing it from a function returning void, so I'm not too worried about that. 23:02:55 drewc: what does a class get you beyond a hash table with predetermined keys? 23:03:17 sykopomp: a vector with pre-computed offsets 23:04:05 it can even be more optimized than a vector, like that MOP hack that levy did a while back 23:04:10 does CLOS have statically compiled slot offsets?... 23:04:21 well, implementations I mean. 23:04:25 yes 23:04:33 sykopomp: of course, that's the whole point! 23:04:50 sykopomp: CLOS was designed to be performant _and_ extensible :) 23:05:17 http://sbcl.sourceforge.net/sbcl-internals/Compiler-Transformations.html 23:05:57 ah ok 23:06:04 -!- HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Quit: This computer has gone to sleep] 23:06:59 -!- Asgeir [~asgeir@tri59-1-82-233-201-74.fbx.proxad.net] has left #lisp 23:07:29 jleija [~jleija@adsl-243-237-77.chs.bellsouth.net] has joined #lisp 23:09:45 OmniMancer [~OmniMance@219-89-91-200.jetstart.xtra.co.nz] has joined #lisp 23:10:24 alama [~alama@a95-95-138-123.cpe.netcabo.pt] has joined #lisp 23:10:26 -!- Ogedei [~user@e178209223.adsl.alicedsl.de] has quit [Ping timeout: 248 seconds] 23:10:39 sykopomp: a python-like metaclass is a trivial extension if one requires the functionality, of course. 23:11:02 slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has joined #lisp 23:12:16 trebor_home [~email@dslb-084-059-023-133.pools.arcor-ip.net] has joined #lisp 23:13:33 -!- hc_e [~hc@salato.hcesperer.org] has quit [Quit: Changing server] 23:14:01 -!- Soulman [~kvirc@154.80-202-254.nextgentel.com] has quit [Ping timeout: 258 seconds] 23:14:09 hc_e [~hc@salato.hcesperer.org] has joined #lisp 23:15:34 isn't something similar to it implemented in AMOP? 23:17:01 The info above are informative and useful but way more than I what need for the simple example that I have now. UPDATE-INSTANCE-FOR-REDEFINED-CLASS will do. 23:17:16 ah, not quite -- I was thinking of DYNAMIC-SLOT-CLASS, where the set of potential slots is fixed 23:19:02 francogrex, I think that if you're just redefining the class to add one slot, and not touching anything else, you don't even need to define an update method 23:19:22 -!- dnolen [~dnolen@pool-96-224-24-64.nycmny.east.verizon.net] has quit [Quit: dnolen] 23:19:54 -!- Rix [~Rixi``@77-85-21-9.btc-net.bg] has quit [Ping timeout: 240 seconds] 23:20:05 Adlai: but what about all the instances that were already made with the previous class (that is missing some slots) 23:20:24 they will not be updated will they (I will try to see) 23:20:26 Anarch [~olaf@c-67-171-37-107.hsd1.wa.comcast.net] has joined #lisp 23:20:48 francogrex, redefining a class will cause all the existing instances to be updated, although it might happen "lazily" 23:21:17 ie, an instance won't be updated until you try to do something to it (such as read or write a slot), at which point it'll be updated. 23:21:44 Adlai: yes i realize now (testing) 23:22:06 clhs make-instances-obsolete 23:22:07 http://www.lispworks.com/reference/HyperSpec/Body/f_mk_i_1.htm 23:23:00 but is it not possible that sometimes though the class is not all transparent (meaning you don't see the slots)? 23:23:22 in that case (adding one slot by redefining will disrupt 23:24:04 dnolen [~dnolen@pool-96-224-24-64.nycmny.east.verizon.net] has joined #lisp 23:24:49 I can't though think of an example where the slots are hidden 23:24:56 francogrex, if your class is nontrivial, you'll need an update method. 23:24:58 maybe a compiled code (even then) 23:25:08 compilation has nothing to do with this 23:25:21 also, you can't "hide" slots in CLOS 23:27:49 Adlai: so then in most cases when the class is defined in a simple way just redefining will do to add slots. 23:29:18 Yuuhi` [benni@p5483B171.dip.t-dialin.net] has joined #lisp 23:29:33 -!- mejja [~user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.0.14/2009090900]] 23:29:58 Adlai: (describe ) already I see that the slots are changed after redefinition of the class so it's ok 23:30:29 -!- airolson [~airolson@CPE000ae6922d9c-CM001cea397dac.cpe.net.cable.rogers.com] has quit [Quit: airolson] 23:30:36 -!- jleija [~jleija@adsl-243-237-77.chs.bellsouth.net] has quit [Quit: good night everyone] 23:31:06 -!- ljames [~ln@unaffiliated/ljames] has quit [] 23:31:09 francogrex, redefining (defclass x () (a b)) to include slot 'c will do the right thing 23:31:26 -!- Yuuhi [benni@p5483B171.dip.t-dialin.net] has quit [Read error: Connection reset by peer] 23:32:35 parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #lisp 23:32:49 Rix [~Rixi``@77-85-21-9.btc-net.bg] has joined #lisp 23:33:29 -!- Rix [~Rixi``@77-85-21-9.btc-net.bg] has quit [Read error: Connection reset by peer] 23:33:46 -!- puchacz [~puchacz@87-194-5-99.bethere.co.uk] has quit [Remote host closed the connection] 23:34:15 rabar [~jonathans@129-2-175-75.wireless.umd.edu] has joined #lisp 23:34:28 *Xach* realized a missing buildapp feature while driving 23:35:09 i think drewc mentioned he does something like this, but it needs easy entry points dispatched on (first argv) 23:35:51 what do i do? 23:35:54 Hi I'm new to lisp, and I'm trying to learn about maplist. could someone just quickly give an example usage/explain how it differs from just mapping a function to each item in a list? 23:36:11 drewc: build a big executable and symlink it to different names to get different behaviors? 23:36:47 -!- sebyte [~sebyte@vps203.linuxvps.org] has left #lisp 23:36:54 rabar: instead of mapping a function to each item, you are mapping it to successive sublists of a list. 23:37:32 Xach: i don't do that, but it's a nice thing to have 23:37:40 Xach: thanks! 23:37:53 drewc: i don't need my ~/bin/ to be 3 or 4GB :) 23:38:04 Xach: exactly :) 23:38:51 -!- adeht [~death@bzq-84-110-248-40.red.bezeqint.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:39:37 -!- Yuuhi` [benni@p5483B171.dip.t-dialin.net] has quit [Ping timeout: 260 seconds] 23:41:08 *Xach* will hack it together tonight 23:41:12 (maplist 'identity '(1 2 3)) => ((1 2 3) (2 3) (3)) 23:41:40 thanks, adlai 23:42:09 rabar, a repl (along with the documentation) is a nice way to explore the standard library 23:42:14 clhs maplist 23:42:15 http://www.lispworks.com/reference/HyperSpec/Body/f_mapc_.htm 23:42:57 *Xach* thinks of brucio's explanation of RANDOM 23:43:00 mbohun [~mbohun@202.124.72.175] has joined #lisp 23:44:10 I guess it's possible to rely on the repl a bit too much... 23:45:52 drewc: UPX is king regarding making SBCL small ;-) 23:46:23 -!- fsl [~fsl@auf186.internetdsl.tpnet.pl] has quit [Quit: WeeChat 0.3.1.1] 23:46:36 p_l: Does that still work with embedded cores, given that they're supposed to be mmap()ed off the original executable? 23:46:38 p_l: and UPX doesn't fuck with argv[0]? 23:46:47 Xach: it doesn't 23:46:49 nice 23:46:57 nyef: works for me with :executable t 23:47:01 Neat! 23:47:16 p_l: how long is a hello world compressed vs. not? 23:47:21 sorry, how slow? 23:47:43 <_deepfire> (And how long, as well) 23:48:02 it doesn't fuck with argv[0] when it can compress with linux/elf386 or linux/elfamd64 because it uses a small stub to decompress in-memory and continue 23:48:34 Xach: speed isn't different, it compresses the size on disk only, decompressing into memory. Decompressing is fast, though 23:49:11 p_l: but doesn't it take some time to decompress in memory? 23:49:28 Phoodus [foo@97-124-127-114.phnx.qwest.net] has joined #lisp 23:49:55 Xach: I don't know about hello world, but my ~300ms-lifetime command line ecl binary compressed with upx -9 is not appreciably slower (perhaps on the order of ~10ms) 23:50:03 Ladies and gentlemen, I present to you the branch that I plan to commit to CVS at about midweek: http://repo.or.cz/w/sbcl/nyef.git/shortlog/refs/heads/wider-fixnums 23:50:06 arbscht: interesting 23:50:33 -!- rabar [~jonathans@129-2-175-75.wireless.umd.edu] has left #lisp 23:50:34 i'd be interested in the result of "buildapp --entry print --output hello-world" ./hello-world timing 23:50:43 Modulo feedback from testing, of course. 23:51:00 -!- mega1 [~quassel@3e44a3eb.adsl.enternet.hu] has quit [Ping timeout: 252 seconds] 23:51:06 Xach: it does 10MB/s on a Pentium 133MHz 23:51:09 p_l, upx is failing for me... doesn't run the toplevel function :| 23:51:17 -!- davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 23:51:32 interesting 23:51:40 I just got similar error, I'll have to look into it 23:51:52 I could compress an image that doesn't have a toplevel function 23:52:02 -!- oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has quit [Ping timeout: 248 seconds] 23:52:21 hmm, interesting 23:53:11 gzexe works fine with a toplevel but decompresses to disk and re-execs 23:53:28 <_deepfire> nyef, three fixnum widths available? 23:53:40 _deepfire: Sure! Why not? 23:53:52 It does default to 63-bit, though. 23:54:58 <_deepfire> It'd be interesting to have antifuchs pit them against each other. 23:55:51 -!- b4|hraban [~b4@a83-163-41-120.adsl.xs4all.nl] has quit [Remote host closed the connection] 23:56:05 adeht [~death@bzq-84-110-248-40.red.bezeqint.net] has joined #lisp 23:56:05 Adlai pasted "SBCL on UPX" at http://paste.lisp.org/display/94957 23:56:34 still, putting a compressed image together with relocatable core would make many newbies less scared of "giant executable of doom" 23:57:34 *nyef* points out the possibility of just adding zlib or similar to the executable and store the core compressed in the first place. 23:57:36 ... wow. I just compressed an executable, and got it working... except it skipped toplevel 23:57:45 nyef: yep 23:57:56 gko [~gko@122-116-15-138.HINET-IP.hinet.net] has joined #lisp 23:58:03 <_deepfire> p_l, you mean --eval works? 23:58:03 amnesiac [~amnesiac@p3m/member/Amnesiac] has joined #lisp 23:58:06 nyef: now coupled with relocatable core... :D 23:58:09 -!- francogrex [~user@253.89-243-81.adsl-dyn.isp.belgacom.be] has quit [Ping timeout: 256 seconds] 23:58:33 what do you mean by relocatable? that you could append a core file to any other file? 23:59:38 <_deepfire> Adlai, no, relocatability means code-location-agnostic executability. 23:59:49 Adlai: no, that it could be loaded at any address