00:00:29 REPLeffect [~REPLeffec@69.54.115.254] has joined #lisp 00:03:08 -!- dstatyvka [ejabberd@pepelaz.jabber.od.ua] has left #lisp 00:03:52 -!- holycow [~new@69.67.174.130] has quit [Remote host closed the connection] 00:04:07 -!- dnolen [~dnolen@2002:4613:2723:1234:223:12ff:fe52:c2f9] has quit [Quit: dnolen] 00:08:09 -!- daniel_ [~daniel@p5082F8C3.dip.t-dialin.net] has quit [Ping timeout: 260 seconds] 00:08:14 -!- mega1 [~quassel@53d825c3.adsl.enternet.hu] has quit [Ping timeout: 246 seconds] 00:08:33 -!- dralston [~dralston@S010600212986cca8.va.shawcable.net] has quit [Quit: Leaving] 00:08:55 dnolen [~dnolen@2002:4613:2723:1234:223:12ff:fe52:c2f9] has joined #lisp 00:10:52 daniel_ [~daniel@p5082F8C3.dip.t-dialin.net] has joined #lisp 00:12:26 -!- tcr [~tcr@host146.natpool.mwn.de] has quit [Quit: Leaving.] 00:15:35 -!- rswarbrick [rupert@194.66.250.208] has quit [Quit: rswarbrick] 00:15:35 -!- Sumpen [~Sumpen@81-232-77-93-no46.tbcn.telia.com] has quit [Quit: Planned down time ^^] 00:17:23 -!- leo2007 [~leo@smaug.linux.pwf.cam.ac.uk] has quit [Remote host closed the connection] 00:20:45 -!- dnolen [~dnolen@2002:4613:2723:1234:223:12ff:fe52:c2f9] has quit [Quit: dnolen] 00:22:41 gruseom [~daniel@S0106001217057777.cg.shawcable.net] has joined #lisp 00:24:33 -!- jan247 [~jan247@120.28.69.61] has quit [Quit: jan247] 00:25:33 Blkt`: you still here? 00:27:51 -!- slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has quit [Quit: leaving] 00:29:00 -!- Blkt` [~user@host-78-13-255-101.cust-adsl.tiscali.it] has quit [Remote host closed the connection] 00:30:06 l_n [~foo@tuxhacker/lordnothing] has joined #lisp 00:31:55 jaoswald [~user@cpe-69-203-131-209.si.res.rr.com] has joined #lisp 00:32:09 -!- Strav [~user@184-78.162.dsl.aei.ca] has left #lisp 00:34:25 I am here. 00:34:44 -!- bjorkintosh [~bjork@ip72-204-42-139.fv.ks.cox.net] has quit [Quit: Leaving] 00:35:28 me too 00:37:08 Nice to see you guys. 00:37:23 *Xach* must clean and blog 00:37:24 Blkt was looking for me before, it seems. 00:39:09 You know, I was so proud of not overemphasizing lists in PCL but I think for the MPCL series I'll have to write a "List Processing for Blackbelts". 00:40:00 Ralith [~ralith@69.90.48.97] has joined #lisp 00:47:06 lisp is telling me that I could get some help by setting *break-on-signals*, but how do I do that so it works with C-c C-c in emacs slime? 00:47:21 knobo: set it in the repl. 00:47:45 knobo: or paste the form that's failing. it might be obvious to a syntax nerd. 00:48:15 -!- jaoswald [~user@cpe-69-203-131-209.si.res.rr.com] has quit [Ping timeout: 252 seconds] 00:48:50 knobo pasted "(*break-on-signals* 'irc)" at http://paste.lisp.org/display/94807 00:48:56 ignotus [~ignotus@unaffiliated/ignotus] has joined #lisp 00:49:37 <_3b__> qry ? 00:50:11 knobo: maybe it's horrified by those function names. 00:50:14 nice names 00:50:14 knobo annotated #94807 "the whole thing" at http://paste.lisp.org/display/94807#1 00:50:39 *stassats* shivers 00:50:54 hello, I don't quite understand time zone in lisp. According to (get-decoded-time), I'm in "-1" timezone, but I'm in +1 (CET). On another machine in the us, it reports "5", while it is in "-5". So it seems to use the negative of the real value, I don't understand 00:51:19 well, I'm just trying to see if I'm getting it to work, so it's just a direct translation of the example code in tokyo cabinet 00:51:38 ignotus: yes. It's backwards from the way everyone else seems to do it. 00:51:46 -!- fiveop [~fiveop@g229177154.adsl.alicedsl.de] has quit [Quit: humhum] 00:52:11 knobo: "tctdbqryaddcond" ?? 00:52:22 fe[nl]ix: cffi thing 00:52:35 gigamonkey: all right, thanks! 00:52:40 It's the name of the c function 00:52:44 knobo: give it another name 00:53:06 those Japanese 00:53:11 will do, but on a higher level 00:53:34 stassats: they're accustomed to the lack of separators between words :D 00:53:37 I'll keep the c function names at the bottom, then make some nicer names higher up 00:53:54 knobo: fair enough. 00:54:00 -!- anton_v [~Miranda@93.125.49.66] has quit [Read error: Connection reset by peer] 00:54:06 -!- mbohun [~mbohun@202.124.74.137] has quit [Quit: Leaving] 00:54:26 knobo: that still makes the code unreadable 00:54:28 good thing they're not in hiragana 00:54:30 Guthur [~Michael@host81-132-10-255.range81-132.btcentralplus.com] has joined #lisp 00:54:39 the "query" function will be user available. I'll give it a better name though. 00:54:43 *_3b__* puts - in the low level names too 00:54:58 But nobody understand what's wrong with the loop? 00:55:28 knobo annotated #94807 "the warning" at http://paste.lisp.org/display/94807#2 00:55:41 Probably makes it more understanable 00:55:47 <_3b__> ah, it wants #'cdddr 00:56:09 _3b__: that's it. Thanx 00:56:25 knobo: use something like (defcfun (%tdb-query-add-cond "tctdbqryaddcond") ...) 00:56:53 fe[nl]ix: maybe, if it is an option to make swig do the job for me. 00:56:54 i guess knobo autogenerated them 00:57:28 1127 autogenerated functions 00:57:34 hugod [~hugod@bas1-montreal50-1279440411.dsl.bell.ca] has joined #lisp 00:57:41 I'll put the dashes on them! 00:57:54 WTF, 1127 ? 00:58:03 -!- carbocalm [~user@69-196-130-49.dsl.teksavvy.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:58:15 grep -i defcfun *.lisp |wc -l 00:58:18 i wouldn't trust a database with such horrid names 00:58:24 :D 00:58:40 that's not the biggest problem with tokio cabinet 00:58:48 tokyo cabinet 00:59:36 As far as I can see there is no mailinglist, forum or community for tc, and when I wrote him an email, there was no answer. 01:00:01 "him" the developer. The one person. 01:00:16 i think it was rejected "too much whitespaces" 01:00:42 (remove #\Space the-email) 01:01:59 knobo: then you might want to try something else 01:02:04 I don't trust databases in general. 01:02:13 I'll make my own. 01:02:37 that's the spirit :D 01:02:43 NIH syndrom ? ;) 01:02:50 :) 01:02:54 jan247 [~jan247@unaffiliated/jan247] has joined #lisp 01:03:22 sellout [~greg@c-24-128-48-180.hsd1.ma.comcast.net] has joined #lisp 01:03:32 But isn't it usual to make stupid variable names in C? 01:04:30 In general I find it very hard to read C code. 01:05:54 abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has joined #lisp 01:06:12 tvl [~tudor@TSA-WIFI.WV.CC.CMU.EDU] has joined #lisp 01:06:18 gigamonkey: why is it bad to overemphasize lists? 01:06:44 why is that good? 01:07:15 overemphasize is overemphasizing 01:07:19 if I have a list like: '(*some-var*) that I pass to a function. It doesn't see *some-var* as the defparameter I used. I know I can do `(,*some-var*) instead but how can I do it on the function side? 01:07:34 stassats: because it's the LISt Processing language of course! :) 01:07:45 clhs symbol-value 01:07:45 http://www.lispworks.com/reference/HyperSpec/Body/f_symb_5.htm 01:08:04 felideon: that's LISP, but we're talking about Lisp 01:08:10 -!- gemelen [~shelta@shpd-92-101-156-197.vologda.ru] has quit [Ping timeout: 256 seconds] 01:08:16 true. 01:09:01 felideon: basically what knobo and stassats said. 01:09:32 List processing is actually quite cool but if you're new and you think that's all Lisp is good for, you're liable to think it's stupid. 01:10:10 Ok I see what you mean. 01:10:56 `Some people, when confronted with a problem, think "I know, I'll use lists." Now they have two problems.' 01:11:02 -!- carlocci [~nes@93.37.223.51] has quit [Quit: eventually IE will rot and die] 01:11:51 holycow [~new@69.67.174.130] has joined #lisp 01:12:58 lists are quite useful for repesenting lisp source code! 01:13:18 Under the principle of least surprise, McCarthy was suprised as well. 01:14:38 Anyway. Anyone here who trusts BDB? 01:15:02 I do 01:15:21 -!- holycow [~new@69.67.174.130] has quit [Read error: Connection reset by peer] 01:15:31 drewc: and lots of other kinds of source code'ish kinds of things. 01:15:33 imagine how much faster lisp would be if it was using arrays for source code 01:17:22 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Ping timeout: 272 seconds] 01:17:42 -!- slyrus [~slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has quit [Ping timeout: 240 seconds] 01:17:47 syamajala [~syamajala@140.232.178.166] has joined #lisp 01:18:10 stassats:... please, no... 01:20:32 -!- kwinz3 [kwinz@d86-32-109-108.cust.tele2.at] has quit [Ping timeout: 260 seconds] 01:20:55 bjorkintosh [~bjork@ip72-204-42-139.fv.ks.cox.net] has joined #lisp 01:23:30 #(defun foo #(arg1 arg2) #(declare #(ignorable arg2)) ...)? 01:24:19 -!- jan247 [~jan247@unaffiliated/jan247] has quit [Read error: No route to host] 01:24:54 well, you could make ( to be syntax for vectors and #() for lists 01:26:18 jan247 [~jan247@unaffiliated/jan247] has joined #lisp 01:29:22 you were serious? 01:29:29 I thought it was sarcasm 01:30:46 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 01:31:35 Our next argument is that since file-streams are isomorphic to specialized arrays, lisp -already- uses arrays for source code. 01:32:04 how about 2-dimensional arrays for definitions 2((defun foo (x)) ((ignore x)) ("Docstring 1" "Docstring 2") (body)) 01:32:57 sepult` [~user@xdsl-87-78-131-163.netcologne.de] has joined #lisp 01:33:00 heh, no that won't do 01:33:09 That's... frightening, actually. 01:34:25 or a Befunge/Lisp hybrid, where you can have multidirectional lists of sourcecode 01:35:00 -!- sepult [~user@xdsl-87-78-171-106.netcologne.de] has quit [Ping timeout: 252 seconds] 01:35:24 kwinz3 [~kwinz@213162066169.public.t-mobile.at] has joined #lisp 01:36:28 Anarch [~w3@elrond.hsl.washington.edu] has joined #lisp 01:36:57 *p_l* waits for 4D code 01:37:36 -!- tvl [~tudor@TSA-WIFI.WV.CC.CMU.EDU] has left #lisp 01:37:43 with 2D parallelism + documentation/reflection + time :> 01:38:05 (time a.k.a. synchronization/transactions) 01:38:16 maybe a reflective interpreter that understands itself in columns. 01:38:43 there was already a Lisp system that didn't use text for source code 01:38:59 Interlisp? 01:38:59 (as in storage nor manipulation) 01:39:03 nyef: propably 01:39:16 I don't remember the name, but Interlisp rings a little :) 01:39:44 The interlisp thing to do was have a list-structure-editor, and maintain all function definitions in core. 01:39:50 is there a shorter way to do (concatenate 'string "foo" "bar") or do you guys just usually create a macro to make a shorter version? 01:40:09 now add more dimensions, fast rendering and good spatial navigation methods... :D 01:40:11 brennanc: (format nil "~A~A" "foo" "bar") ? 01:40:26 ... 01:40:32 shorter, as in less typing and easier on the eye 01:40:35 brennanc: why do you need a macro? 01:40:36 brennanc: Alternately, if either "foo" or "bar" are constant, fold them into the format control. 01:40:37 *p_l* bangs his head against reinforced concrete 01:40:47 like (strcat "foo" "bar") 01:41:18 nyef: I completely forgot about using format for concatenation of strings... 01:41:33 brennanc: And sykopomp has a good point, this is not the sort of thing that requires a macro. 01:41:33 now I feel utterly stupid recalling my weird works with concatenate 01:41:34 brennanc: if you know you'll be doing concatenate 'string a lot, (defun strcat (&rest strings) (apply #'concatenate 'string strings)) 01:41:52 if you're doing concatenate 'string a lot, you're doing it wrong 01:41:58 pretty much 01:42:37 with-output-to-string is the ultimate strcat ;) 01:43:10 drewc: can you think of examples of with-foo macros that really couldn't just be higher-order functions? 01:43:46 so something that you can't just do (with-foo (lambda () (thunk))) 01:44:11 sure. with-slots 01:44:17 -!- demmeln [~Adium@dslb-094-216-209-050.pools.arcor-ip.net] has quit [Quit: Leaving.] 01:44:25 oh. Duh :\ 01:44:48 anything that augments the lexical environment 01:45:22 hm. Any other categories? 01:46:26 I'd be surprised if there were, TBH. 01:46:45 sykopomp: some with-xxx macros let you get away with modifying the var, thereby saying you want manual control of the resource's lifetime 01:47:01 nunb [~nundan@59.178.188.127] has joined #lisp 01:47:23 adeht: that fits into lexical environment augmentation though 01:47:24 -!- kwinz3 [~kwinz@213162066169.public.t-mobile.at] has quit [Ping timeout: 256 seconds] 01:48:16 Actually, it's not even "anything" that augments the lexical environment, as if it's just establishing a new lexical variable you pass it as a parameter to your thunk. 01:48:20 maybe I misunderstood the question then 01:49:00 So, anything that establishes a lexically-scoped macro, symbol-macro, or function binding. 01:49:06 and of course, if you count a lambda expression as a higher order function, (with-augmented-lexenv '((lex-var 1)) `(lambda () lex-var)) is possible 01:49:38 -!- Odin- [~sbkhh@s121-302.gardur.hi.is] has quit [Quit: Odin-] 01:49:48 by compiling at run time mind you, but possible. 01:51:03 mbohun [~mbohun@202.124.74.21] has joined #lisp 01:51:08 in a partially evaluated interpreter, you can have fexprs but still get compiled speed :P 01:51:30 -!- ignotus [~ignotus@unaffiliated/ignotus] has quit [Read error: Connection reset by peer] 01:51:31 ignotus` [~ignotus@catv-80-98-80-157.catv.broadband.hu] has joined #lisp 01:51:50 partially evaluated? Lazily evaluated or something else? 01:51:54 gko [~gko@211.22.47.2] has joined #lisp 01:52:12 -!- oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has quit [Ping timeout: 272 seconds] 01:54:33 -!- fractalis [~fractalis@cpe-98-27-162-52.neo.res.rr.com] has quit [Remote host closed the connection] 01:56:52 -!- Anarch [~w3@elrond.hsl.washington.edu] has quit [Quit: leaving] 01:56:57 -!- syamajala [~syamajala@140.232.178.166] has quit [Remote host closed the connection] 01:58:36 -!- nunb [~nundan@59.178.188.127] has quit [Ping timeout: 256 seconds] 02:01:22 sykopomp: partial-evaluation != lazy evaluation 02:01:34 yeah, that's what I'm asking. 02:02:11 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 02:02:25 p_l: I'm not sure what partial evaluation is :) 02:03:43 sykopomp: well, the way I had seen it done, you evaluate/execute part of the statements during compilation phase, leaving only those that depend on uknown factors 02:03:46 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 02:04:03 nunb [~nundan@59.178.190.65] has joined #lisp 02:04:12 except you do that on much higher level than just simplifying mathematical expressions like GCC :P 02:04:17 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 02:04:23 -!- mbohun [~mbohun@202.124.74.21] has quit [Quit: Leaving] 02:04:24 So, sortof the opposite of laziness? 02:04:43 "done before I started" evaluation? :D 02:04:58 nyef: well, kinda 02:05:14 nyef: the exact opposite yeah 02:05:18 nyef: it can still be lazy, you just don't have all the data to connect the thunks together :) 02:05:19 over-eager evaluation 02:05:26 -!- Louis11 [~chatzilla@r74-192-16-145.bcstcmta01.clsttx.tl.dh.suddenlink.net] has quit [Remote host closed the connection] 02:05:29 over-eager lazy evaluation? 02:05:46 are fexpr part of the concept 02:05:52 under-lazy evaluation 02:05:55 funnily I just read about them last night 02:06:24 http://en.wikipedia.org/wiki/Fexpr 02:06:29 Guthur: afaik not really. My main experience with both laziness and partial evaluation is from Haskell, so you might want to look into that 02:06:59 the cool part is if you feed a partial evaluator to itself, you get a compiler. 02:07:08 -!- rapacity [~prwg@unaffiliated/rapacity] has quit [Read error: Operation timed out] 02:07:15 Guthur: no, partial evaluation and fexps are not really related. 02:07:25 ok 02:08:32 balooga [~00u4440@147.21.16.3] has joined #lisp 02:08:47 but a mythical interpeted lisp using fexprs would benefit from partial evaluation... is all i was sayinh 02:08:52 sayin* 02:08:54 minion memo help 02:09:06 billstclair [~billstcla@p-74-209-23-233.dsl1.rtr.chat.fpma.frpt.net] has joined #lisp 02:09:06 -!- billstclair [~billstcla@p-74-209-23-233.dsl1.rtr.chat.fpma.frpt.net] has quit [Changing host] 02:09:06 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 02:09:11 minion: help memo? 02:09:11 dammit. 02:09:11 To send a memo, say something like ``minion: memo for nick: the memo''. I'll remember the memo for any nick which is the same as the given nick, +/- differences in punctuation, and any nick which is an alias for it, and give it to them when they next speak. 02:09:18 :) 02:09:30 drewc: iirc Python uses partial evaluation, though it probably isn't as good as when the code directly supports it 02:10:06 p_l: the compiler, or the language? 02:10:42 minion: memo for madnificent: Have your figured out why sdl:image-type-of was not working for you? 02:10:42 Remembered. I'll tell madnificent when he/she/it next speaks. 02:16:54 -!- parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has quit [Remote host closed the connection] 02:17:44 -!- CrazyEddy [~CrazyEddy@wrongplanet/CrazyEddy] has quit [Ping timeout: 246 seconds] 02:18:16 drewc: did lispbuilder-sdl run for you? 02:19:52 sykopomp: the compiler 02:20:01 mbohun [~mbohun@202.124.74.21] has joined #lisp 02:20:04 balooga: i didn't ask it to 02:20:13 I found some reference to partial evaluation in Python compiler for CM1 Lisp 02:20:16 The author of LoL has some pretty strong views on Emacs, damn. 02:20:47 drewc: Oh ok. I just read in the #lisp logs that you installed it. 02:20:54 quick, abandon Emacs! 02:21:35 -!- bigjust1 [~jcaratzas@adsl-074-232-230-165.sip.asm.bellsouth.net] has quit [Ping timeout: 246 seconds] 02:21:35 should we all move to eclipse instead 02:21:38 balooga: assuming you mean LoL the book and not LoL the library, it's safe to ignore 95% of his views 02:21:56 drewc: otherwise it's not safe? 02:21:57 drewc: LoL the book, yes. 02:22:26 Extensive partial evaluation at the Lisp semantics level <--- from paper about Python 02:22:26 stassats: not in my opinion :) 02:23:11 http://www.cs.cmu.edu/~ram/pub/lfp.ps 02:23:25 OmniMancer1 [~OmniMance@219-89-64-152.ipnets.xtra.co.nz] has joined #lisp 02:23:34 *stassats* agrees with drewc's opinion 02:23:41 balooga: your best bet would be to ignore LoL if you are new to lisp 02:24:04 oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has joined #lisp 02:24:08 the same goes for On Lisp 02:24:23 -!- ichernetsky [~ichernets@195.222.64.243] has quit [Ping timeout: 246 seconds] 02:24:30 -!- OmniMancer [~OmniMance@122-57-4-252.jetstream.xtra.co.nz] has quit [Ping timeout: 272 seconds] 02:25:59 yeah. PCL for newbies, IMHO, then maybe Gentle Introduction to Symbolic Computation (currently on my desk, rescued from scrap ^^) 02:26:14 Dawgmatix_ [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has joined #lisp 02:26:15 -!- dreish [~dreish@minus.dreish.org] has quit [Quit: dreish] 02:26:22 gentle is a great book 02:26:40 i'd say gentle first for those new to programming. 02:27:02 -!- brennanc [~brennanc@65.203.131.114] has quit [Quit: brennanc] 02:27:17 (incf drewc) 02:27:36 for those new to programming, yes. Though I'm not sure if I wouldn't first put someone through HtDP unless they already are set on programming (abstraction might put off some) 02:28:03 p_l: I pretty much started with gentle intro. 02:28:08 back in the day 02:28:29 I have a few Lisp books. LoL, PCL, Lisp in small pieces, ansi common lisp, PAIP. Not the gentle one though. 02:28:53 zero time to read any :( 02:28:54 *p_l* got four lisp books some time ago for free 02:28:59 balooga: no AMOP? :D 02:29:03 PCL, PAIP and LiSP are the good ones there 02:29:20 I've been reading LiSP lately. I really like it so far. 02:29:25 one of them is even a complimentary copy to one of the professors for review and possible use as textbook :D 02:29:29 makes me wanna greenspun. 02:29:59 dnolen [~dnolen@pool-96-224-24-64.nycmny.east.verizon.net] has joined #lisp 02:30:08 *p_l* still got the letters to professor inside the book o_O 02:31:00 however supplements are missing... 02:31:23 -!- redline6561 [~redline@c-66-56-16-250.hsd1.ga.comcast.net] has quit [Quit: Leaving.] 02:31:25 (Instructor's Manual + Study Guide + Transparencies + Lab Manual) 02:31:30 sykopomp: No, no amop. 02:32:10 what's the opposite of greenspunning, where "any sufficiently advanced lisp program eventually incorporates ideas from every language ever made" 02:32:59 drewc: (complement #'greenspun)? 02:33:01 Hmmm... Amazon has a new copy of gentle for $600. 02:33:08 balooga: D: 02:33:29 hmm.. the book is similar to PAIP, but more into AI, less into Lisp, though apparently includes enough to start programming in Lisp 02:33:37 drewc: a mail client too? 02:33:57 *drewc* looks at his code using CLOS, FORMAT, lexical scope, continations and monads.... and seens simula, fortran scheme and haskell-spunning 02:34:09 s/seens/sees 02:34:24 stassats: heh, it's not done until :) 02:34:40 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Ping timeout: 265 seconds] 02:34:40 drewc: emacs never finished. It just kept adding more mail clients >:( 02:34:42 oh, it's available as a download online. 02:35:13 I shall print it out and beat the kids with it tonight if they don't go to sleep by 8:30. 02:35:37 *p_l* wonders when was the last time he went to sleep that early 02:35:51 btw, when was last edition of Gentle? 02:36:12 malsyned [~malsyned@adsl-75-35-185-146.dsl.wlfrct.sbcglobal.net] has joined #lisp 02:36:17 I want to say 89 02:36:36 I've got a 1990 copy 02:36:54 Is the "trivial-" prefix something that a particular developer uses on his libraries, or is it a convention? 02:37:09 malsyned: It's a bit of a convention. 02:37:13 malsyned: it's often used for compatibility layer libraries. 02:38:04 malsyned: it's an amusing name that spread 02:38:16 OK, that's what I thought. Thanks guys. 02:38:31 it usually denotes a library that tries to be so lightweight that you couldn't possibly object to using it 02:38:39 ... "trivial-complex-fft"? 02:38:52 lol 02:38:56 -!- mbohun [~mbohun@202.124.74.21] has quit [Quit: Leaving] 02:39:29 all the trivial- systems should be merged into trivialities 02:40:05 Can we propose "quadrivial-" for libraries that aren't trivial? 02:40:45 adeht: or just call it 'cltl3' >_> 02:41:36 bigjust [~jcaratzas@adsl-074-232-230-165.sip.asm.bellsouth.net] has joined #lisp 02:42:48 rapacity [~prwg@unaffiliated/rapacity] has joined #lisp 02:43:32 ichernetsky [~ichernets@195.222.64.36] has joined #lisp 02:46:09 _3b__: you there? 02:46:31 is there a 'next step' for learning more about Lisp interpreters/compilers after LiSP? 02:47:05 LiSP suggests some literature 02:47:10 sbcl-internals.txt 02:47:15 sykopomp: There are a couple of directions you can go, but they all amount to getting your hands dirty. 02:47:18 CrazyEddy [~CrazyEddy@wrongplanet/CrazyEddy] has joined #lisp 02:47:43 nyef: Getting my hands dirty would be fun. I'm just asking what a nice step is that isn't _too_ big. 02:47:45 (Basically, either start writing an MFTL or find an implementation you like and start hacking on it. 02:47:54 -!- timor [~timor@port-87-234-97-27.dynamic.qsc.de] has quit [Remote host closed the connection] 02:48:23 <_3b__> Ralith: nope, not here 02:48:31 nyef: MFTL? 02:48:45 _3b__: where's that error-checking code that runs for each function call in cl-opengl? 02:48:47 "My Favorite Toy {Lisp,Language}" 02:48:54 minion: what does MFTL mean? 02:48:55 Malduck Flamboyant Typhloalbuminuria Lowan 02:49:03 that warks too. 02:49:05 ... "malduck"?!? 02:49:06 works* 02:49:10 -!- balooga [~00u4440@147.21.16.3] has quit [Ping timeout: 265 seconds] 02:49:35 nyef: and Typhloalbuminuria doesn't strike you as odd? 02:49:35 <_3b__> Ralith: gl/bindings.lisp (in my tree) 02:49:46 ... No. 02:49:49 _3b__: it's not in the official tree? 02:50:02 winxordie [~winxordie@n128-227-67-111.xlate.ufl.edu] has joined #lisp 02:50:12 <_3b__> Ralith: not that i know of 02:50:28 *sykopomp* wonders if MFTL is a phase every lisper goes through... 02:50:53 I'm considering going through an MFTL phase again. 02:51:08 nyef: any fun ideas for it? 02:51:23 Louis11 [~chatzilla@static-66-15-111-209.bdsl.verizon.net] has joined #lisp 02:51:27 Oh, a few. 02:51:38 I am still having some trouble with the "Let" syntax: (let ((holes (list-of-open-holes config))) (print "test")) 02:51:47 I've tried several variants, this is just what I have atm 02:51:59 Louis11: what are you trying to do?... 02:52:18 I'm trying to create a list "holes" by calling the function list-of-open-holes, with the parameter config 02:52:23 I just haven't got more than a rough sketch of some of the bits that I'd like to include. 02:52:31 gigamonkey: argh, I've just noticed that decode-universal-time doesn't support 30 and 45 minute delayed time zones, so (decode-universal-time (get-universal-time) -5.75) doesn't work. Luckily hour resolution is enough for me, I don't need exact times, but it is strange none the less. 02:52:33 Louis11: you're not using holes, though. 02:52:42 what do you mean? 02:52:47 like in my program, or on this line? 02:52:53 in that line you pasted 02:54:17 oh, there's more to the program. I'm using holes in a loop to interact with 02:54:28 just atm, i'm getting a "holes is not defined" warning when i load the file 02:54:31 nyef: where's the line between "MFTL" and "get chased down by an angry, pitchfork/torch-toting mob" (Arc?) 02:54:51 sykopomp: Hyping it. 02:55:10 Louis11: are you using the variable 'holes' _within_ the scope of the let? 02:55:17 Louis11: maybe you should paste the offending code :) 02:55:40 also, does a Lispy-language Toy that is embedded inside CL and isn't supposed to be taking over or anything like that counts as MFTL? 02:56:05 wgl: 02:56:07 http://pastebin.com/m3e7a56cf 02:56:07 err 02:56:15 that's my full code. It's ugly, been coding lisp for less than a day 02:56:29 basically, I want to make a list "holes" and then be able to loop through each value 02:57:09 Louis11: let isn't like = in other languages. 02:57:32 variables you define inside let are not visible outside the scope of the let 02:57:44 ooohh 02:57:51 so by the time you get to (loop ...), holes doesn't really exist. 02:57:56 alright, so how do i define it so that it is? 02:57:59 Louis11: let is just (funcall (lambda (holes) ...) list-of-holes) 02:58:02 Louis11, to define a variable globally, use defvar or defparameter 02:58:12 (let ((x 1)) (print x)) <-- 02:58:38 Louis11: so you have to include the code using holes in the body (...) 02:58:45 does slot-value work with structures? 02:58:49 oh, got ya 02:58:50 jsfb: no 02:58:51 jsfb: not portably 02:58:52 that makes more sense now 02:59:15 scheme's define works like that, though :) 02:59:31 that would explain why with-slots isn't working then. bummer, any similar way to access structures w/o making my own with-slots style macro? 02:59:31 scheme is not lisp! 02:59:38 jsfb: use a class 02:59:46 drewc: I can't say I like define, tbh :< 02:59:52 I don't want to use a class, too much overhead (I think) 02:59:53 jsfb: use with-accessors 03:00:06 I'll try that 03:00:07 jsfb: Have you measured the overhead? 03:00:10 jsfb: for what? your profiler has told you that? 03:00:38 no, you guys did for one (more overhead with classes via generic dispatch) 03:00:38 _3b__: is there any way to fetch the lisp type for a given OpenGL type? 03:01:27 jsfb: are you using generic dispatch? :) 03:01:27 jsfb: there are two things a man shouldn't do prematurely, and optimisation is the other one ;) 03:01:38 no 03:01:45 p_l, no I'm not 03:01:54 jsfb: then I doubt you'll notice overhead from it ;-) 03:02:03 drewc: The first being "give birth"? 03:02:09 exactly lol 03:02:18 drewc: I'd say that there's much more that man shouldn't do prematurely ;-) 03:02:46 nyef: ejaculate 03:02:49 -!- oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 03:02:53 jsfb: more != "too much" 03:02:59 Well, yes, I figured that. 03:03:28 i know, i just wanted to say it.... call me childish :P 03:04:04 drewc: I'd place "putting it in" as well on that list, but I'm just in mood for antidepressing childishness (sp?) xD 03:04:32 p_l: fair enough :D 03:04:47 minion: chant 03:04:48 MORE TOO 03:05:17 <_3b__> Ralith: not sure... i seem to remember just making a mapping by hand last time i wanted that 03:05:53 oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has joined #lisp 03:06:02 _3b__: I need to modify define-query-function to return typed arrays. It's already passed the OpenGL result datatype, but of course the arrays need lisp datatypes. 03:06:07 how would you approach that? 03:06:10 <_3b__> Ralith: not a 1 to 1 mapping in either direction though, so probably need to think about what you are trying to do anyway 03:06:13 minion: Chant? 03:06:13 MORE ONIC 03:06:24 _3b__: perhaps it'd be best to just pass the lisp datatype along with, then? 03:06:37 lisppaste: 93823 03:06:38 <_3b__> Ralith: where is that function? (don't have slime up at the moment) 03:06:47 is that not how that words? 03:06:52 _3b__: the macro is at state.lisp:481 03:06:58 minion: paste 93832 03:06:58 Paste number 93832: "openwrt network config" by anddam in None. http://paste.lisp.org/display/93832 03:07:02 errr 03:07:19 _3b__: and used just below that. 03:07:23 minion: paste 93823? 03:07:24 Paste number 93823: "Hack of the day: destructuring-diff" by drewc in #lisp. http://paste.lisp.org/display/93823 03:07:32 ya 03:07:52 jsfb: notice the symbol-macrolet in that one 03:08:20 jsfb: basically a long-handed with-slots for a structure 03:08:34 and actually could have been a let in that case 03:09:19 <_3b__> Ralith: yeah, i'd probably just pass the lisp type as an optional (or key) arg to the macro 03:09:35 or a WITH ... = in the LOOP form 03:09:40 <_3b__> Ralith: (not required arg, just in case anything else uses it) 03:10:33 _3b__: so default the type to 't' for maximum nonbreakage? 03:10:39 -!- rares [~rares@174-26-104-135.phnx.qwest.net] has left #lisp 03:10:55 <_3b__> Ralith: default to current expansion 03:11:25 _3b__: (make-array count :element-type t) versus (make-array count) should make no difference. 03:11:36 <_3b__> Ralith: (make-array count ,@(if type `(:element-type ,type))) 03:11:45 why? 03:11:55 thanx 03:12:09 element-type defaults to t; I imagine this is specified by the spec. 03:12:15 <_3b__> dunno, just how i would write it... i probably wouldn't bother changing a patch that was written your way though, unless it broke something 03:12:27 *Ralith* liks this, because cleaner 03:12:45 Ralith: ENOPARSE 03:13:22 -!- sykopomp [~sykopomp@unaffiliated/sykopomp] has quit [Quit: brb emacs is being slow as hell.] 03:13:53 lolwat 03:14:39 sykopomp [~user@unaffiliated/sykopomp] has joined #lisp 03:15:05 -!- ace4016 [ace4016@cpe-76-170-134-79.socal.res.rr.com] has quit [Quit: brb] 03:15:10 mbohun [~mbohun@202.124.73.174] has joined #lisp 03:15:21 hm. 03:15:51 how do I check if a type is numeric? 03:16:08 (subtypep type 'number) ? 03:16:37 ...right, I knew that. 03:16:37 -!- nunb [~nundan@59.178.190.65] has quit [Ping timeout: 264 seconds] 03:16:38 thanks 03:16:46 felideon` [~user@12.228.15.162] has joined #lisp 03:16:56 stassats` [~stassats@wikipedia/stassats] has joined #lisp 03:17:15 so, can you not pass something into a LET? 03:17:30 My code is loading fine, but produces Nil, regardless: http://pastebin.com/m5187d944 03:17:32 Louis11: what do you mean 'pass something into LET'? 03:18:02 I suspect you (Louis11) are trying to wrap your head around closures 03:18:05 Louis11: FORMAT returns nil after writing to output. 03:18:09 i'm trying to pass "config" into list-of-open-holes 03:18:14 oh 03:18:26 let sees config just fine. 03:18:28 well it also produces "HOLES IS NIL" 03:18:40 then list-of-open-holes is returning nil. 03:18:49 _3b__: make-array doesn't like handling booleans without a specific initial-element; going to just leave those generic for now. 03:19:03 pointers too, just cuz I have no idea what's appropriate there 03:19:26 <_3b__> Ralith: sounds reasonable, those aren't as likely to need to be typed 03:19:35 haha, dumb question - I was passing in a full configuration. Thanks for pointing that out sykopomp :) 03:20:06 Louis11: also... (loop for item in config when item collect it) 03:20:09 <_3b__> Ralith: (since you shouldn't be using glGet* where performance matters, but I could see typed arrays being convenient anyway for matrices and such that would be passed to libs written for performance anyway) 03:20:17 collect item* 03:20:29 what's that for? 03:20:48 <_3b__> sykopomp: (remove nil config) ? 03:20:51 ace4016 [ace4016@cpe-76-170-134-79.socal.res.rr.com] has joined #lisp 03:21:21 nunb [~nundan@59.178.180.68] has joined #lisp 03:21:38 _3b__: matrices is what triggered this, yes; with typed arrays, gl:get-float returns a value compatible with sb-cga:matrixes. 03:21:44 _3b__: well, yeah. Trying to show that loop can do more than for(i=0;i>10;i++) :P 03:22:11 _3b__: what should I be using, though? 03:22:19 I take it the loop you showed goes through a list, when it finds an item, stores it? 03:22:20 sykopomp: that's a weird for loop :) 03:22:40 adeht: I don't know how to do these weird C loops! 03:22:42 :( 03:23:00 <_3b__> Ralith: usually you maintain a local copy of any matrix state to which you want quick access 03:23:16 _3b__: so use it, but only once? 03:23:31 lithper2_ [~chatzilla@ool-182ff1c9.dyn.optonline.net] has joined #lisp 03:23:39 -!- dnolen [~dnolen@pool-96-224-24-64.nycmny.east.verizon.net] has quit [Quit: dnolen] 03:23:40 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 276 seconds] 03:23:40 -!- felideon [~user@12.228.15.162] has quit [Ping timeout: 276 seconds] 03:23:40 and if it changes on the GPU, just perform the same transformations locally rather than copy it again? 03:23:52 <_3b__> Ralith: well, you generally set the matrix to a know state at some point 03:24:22 Louis11: are you just loading a file and having it print stuff? 03:24:27 don't you usually only input initial state (and maybe some intermediate "keyframes") to GPU? 03:24:41 Louis11: I highly recommend you work in a repl right now. It'll make it much easier to experiment. 03:24:41 _3b__: I should probably get back to you when I have a more concrete idea what I'm doing; I'm working mostly from other people's code atm. 03:24:43 sykopomp: Uhm basically. I'm trying to use lisp to find a solution to this game 03:24:55 which implementation? 03:25:11 sbcl is what i'm using currently 03:25:23 Louis11: sounds like homework... heh 03:25:35 that it is :) 03:25:39 oh 03:25:40 :| 03:25:52 homework frowned upon I take it? 03:25:55 yes 03:26:16 only if you ask us to solve it 03:26:18 heh sorry, didn't see any mention in the topic 03:26:23 which I haven't done :) 03:26:33 ya - seems fair to help with language and config issues, ya? 03:26:37 although I still recommend you try working interactively. It's easier to find the solution when you can test your program a bit at a time. 03:26:56 yea, i've written a bunch of the smaller functions. Now trying to wrap my head around the recursion 03:27:04 which is where i'm at right now 03:27:14 nothing wrong with asking for help on homework so long as it's not "do my homework for me" 03:27:15 SBCL's repl isn't very useful by itself. Try calling SBCL with rlwrap. 03:27:22 your questions have been perfectly appropriate so far. 03:27:52 yea, i'm actually interested in learning Lisp. Just finding the transition from iterative to function quite confusing 03:27:54 then just call (load "myhomework.lisp") there, and start trying to call each function you write with dummy input. 03:27:55 wouldn't scheme (PLT Scheme) be a better choice for students? esp. for learning recurssion 03:27:56 and yes, a lot of the fun of lisp is interactive development. 03:28:02 -!- gko [~gko@211.22.47.2] has quit [Ping timeout: 248 seconds] 03:28:07 rickmode: I don't think it is. 03:28:13 rickmode: I believe we are doing scheme, and prolog next 03:28:15 it's an AI course 03:28:44 rickmode: SBCL can do TCO. What else do you want for recursion? 03:28:51 Louis11: lisp isn't necessarily functional. 03:28:54 prolog is fun - used that in a natural language processing class way back when 03:28:55 actually, I was taught about recursion first in lang:python, then in Java :) 03:28:59 Louis11: it can be whatever you want it to be. 03:29:13 I didn't know that 03:29:17 rickmode: Prolog saved my ass on Quantitative Logic exam 03:29:22 i've been under the impression that it's functional 03:29:27 Louis11: that's Scheme. 03:29:32 ah 03:29:37 Common Lisp is imperative, functional, and everything else, too. 03:29:45 object oriented? 03:29:47 yep. 03:29:48 yup 03:29:49 i feel like I saw something about that 03:29:52 cool :) 03:29:56 better OOP than you'll ever see in Java or C++, too 03:29:58 Louis11: Scheme is FP-centric. Lisp by itself usually can be melded into nearly any kind of pretzel, including APL-like 03:30:02 Louis11: some would argue it has one of the best OO systems out there, actually :) 03:30:18 certainly superior to the industry norm! 03:30:33 I'll have to look into that, once I figure out what the hell i'm doing :P 03:30:54 *p_l* shudders recalling call stacks from errors in NetBeans, with 10 levels of inheritance for simple object 03:31:26 p_l: how do you get that deep into inheritance in a real application? D: 03:31:32 why was there an inheritance tree in your call stack? 03:31:54 Ralith: simple, I had seen the stack of calls as it delved into specialized objects 03:31:59 Why, I dunno 03:32:00 sykopomp: I could see Sheeple getting used to such depths in the game context you like to pull out 03:32:24 Ralith: maybe. I wouldn't recommend it for the most part, though. 03:32:38 wouldn't recommend deep inheritance trees? 03:32:43 Ralith: last ten calls were basically to the same base class, with different objects inheriting from it, with rising inheritance level, down to something absurd 03:32:45 in general, no 03:32:49 well, yeah 03:32:52 I slogged through an old C++ code based with bad OO design using templates and mixin's leading to poorly handled diamond inheritance. *sigh* 03:33:18 with C++, one must inherit very judiciously... heh 03:33:28 why can't we all just use C3 and live in peace? 03:33:34 C3? 03:34:13 Ralith: a linearization algorithm (sorting class precedence) that generates really intuitive linearizations (imo) 03:34:25 ...kay 03:34:31 -!- malsyned [~malsyned@adsl-75-35-185-146.dsl.wlfrct.sbcglobal.net] has quit [Quit: Leaving] 03:35:06 so why does nobody use #'export? 03:35:45 -!- tltstc [~tltstc@cpe-76-90-95-39.socal.res.rr.com] has quit [Quit: tltstc] 03:35:47 <_3b__> cl-opengl uses it all over the place :/ 03:35:47 I've seen #'export used here and there. Exporting from the defpackage seems to be cleaner. 03:36:11 it seems more maintainable to me to have the exports near the declarations 03:36:15 easier to be sure they're in sync 03:36:20 harder to forget to add one 03:36:36 3b: I think it was one of the things that broke it on ECL ;) 03:36:53 Ralith: I sort of agree. 03:37:23 sykopomp: oh? 03:37:35 oh, that was shadow actually. 03:37:52 Ralith: I get the impression that declaring stuff on a per-file basis might lend itself to more modularity 03:37:58 minion: paste 92279? 03:37:59 Ralith: forget? but how do you know which one should be exported? 03:38:39 stassats`: huh? 03:38:40 Paste number 92279: "cl-opengl patch" by adeht in #lisp. http://paste.lisp.org/display/92279 03:38:48 sykopomp: that seems handy too; easier to move files around 03:39:09 Ralith: I'm not sure how it affects being able to move files around. 03:39:33 Ralith: there are many functions in a file, it's as easy to forget to put export there, as in defpackage 03:39:37 sykopomp: take file from one package, drop it in another, exports carry over. 03:39:45 stassats`: I mean when you're first writing a function. 03:39:53 or otherwise giving meaning to a symbol 03:39:57 Ralith: assuming you can keep all your dependencies in line. 03:40:02 sykopomp: well, yes 03:40:11 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 03:40:14 and that moving your file isn't going to break some other file somewhere in the horizon that happens to try to include it. 03:40:17 stassats`: it's more convenient to drop the export right above the defun or defclass or whatever 03:40:25 Ralith: i can C-c x in slime as easy 03:40:54 is there any reason why a recursive call would result in an undefined function of the recursive function? 03:41:28 Louis11: many possibilities. The first is to check your spelling :) 03:41:38 stassats`: ooh. Didn't know that one. 03:42:05 hm, i think the spelling is correct: http://pastebin.com/m724058f9 03:42:11 stassats`: wow... i didn't know that one either 03:42:12 well, i know it is lol 03:42:19 -!- ikki [~ikki@201.155.75.146] has quit [Quit: Leaving] 03:42:26 Ralith: (def (function e) frob (x) (do-stuff-to x)) ;) 03:42:27 ikki [~ikki@201.155.75.146] has joined #lisp 03:42:29 ericklc [~ikki@201.155.75.146] has joined #lisp 03:42:34 -!- ericklc [~ikki@201.155.75.146] has quit [Remote host closed the connection] 03:42:34 -!- ikki [~ikki@201.155.75.146] has quit [Remote host closed the connection] 03:42:35 ericklc [~ikki@201.155.75.146] has joined #lisp 03:43:02 -!- ericklc is now known as ikki 03:43:07 Louis11: what's the error? 03:43:19 sykopomp: besides the infinite recursion? 03:43:25 undefined function: PROCESS-SOLVE 03:43:54 lisppaste: url? 03:43:54 To use the lisppaste bot, visit http://paste.lisp.org/new/lisp and enter your paste. 03:44:07 drewc: well, he'd said something about undefined functions :) 03:44:17 Louis11: could you use a real pastbin like lisppaste? i can't read that code at all 03:44:26 ^ 03:44:31 Louis11 pasted "Code" at http://paste.lisp.org/display/94816 03:44:34 Louis11: do you know what a base case is? 03:44:42 sykopomp: I don't see your point 03:44:44 Louis11: also, format your code properly... those stray closing parens do not belong there 03:45:06 nor does all that whitespace 03:45:08 sykopomp: Yes, I forgot to check it here 03:45:58 hm, whene I corrected the stray parens, it fixed the warning? 03:45:59 what lisp are you using? 03:46:03 porcelina: sbcl 03:46:16 Common 03:47:27 alright, the coffee shop is closing - gotta run. Thanks for all of the help everyone :) 03:47:45 -!- Louis11 [~chatzilla@static-66-15-111-209.bdsl.verizon.net] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.5.7/20091221151141]] 03:48:02 -!- sellout [~greg@c-24-128-48-180.hsd1.ma.comcast.net] has quit [Quit: sellout] 03:48:13 hm 03:48:29 Anyone know of interesting module systems out there? 03:48:29 it works for me in sbcl besides the infinite recursion 03:48:35 oh he left 03:50:04 sellout [~greg@c-24-128-48-180.hsd1.ma.comcast.net] has joined #lisp 03:51:00 anyone here ever ported anything using lispbuilder-sdl to windows? 03:51:26 porcelina: dto packages up windows binaries for his games, and he develops on ubanto. 03:51:32 porcelina: try #lispgames 03:51:44 thx 03:54:10 -!- ikki [~ikki@201.155.75.146] has quit [Ping timeout: 248 seconds] 03:54:25 -!- jleija [~jleija@user-24-214-122-46.knology.net] has quit [Quit: good night everyone] 03:54:42 -!- benny [~benny@i577A80F4.versanet.de] has quit [Ping timeout: 240 seconds] 03:56:20 -!- LiamH [~nobody@pool-72-75-123-60.washdc.east.verizon.net] has quit [Ping timeout: 272 seconds] 04:04:19 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 04:05:00 -!- porcelina [~quassel@c-174-51-110-214.hsd1.co.comcast.net] has quit [Remote host closed the connection] 04:06:49 porcelina [~quassel@c-174-51-110-214.hsd1.co.comcast.net] has joined #lisp 04:07:21 mishoo [~mishoo@79.112.118.235] has joined #lisp 04:08:06 -!- marioxcc [~user@200.92.23.60] has quit [Remote host closed the connection] 04:09:49 ikki [~ikki@200.95.162.194] has joined #lisp 04:13:05 nitor [~nitor@cpe-66-25-205-147.sw.res.rr.com] has joined #lisp 04:16:05 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 04:17:18 -!- mishoo [~mishoo@79.112.118.235] has quit [Quit: be back later] 04:19:06 -!- mbohun [~mbohun@202.124.73.174] has quit [Quit: Leaving] 04:19:15 CyberBlue [~yong@111.167.26.59] has joined #lisp 04:19:19 lpolzer_ [~lpolzer@dslb-088-073-236-015.pools.arcor-ip.net] has joined #lisp 04:23:48 -!- lpolzer [~lpolzer@dslb-088-073-248-149.pools.arcor-ip.net] has quit [Ping timeout: 276 seconds] 04:27:01 syamajala [~syamajala@140.232.178.166] has joined #lisp 04:28:50 -!- gigamonkey [~gigamonke@adsl-76-254-20-11.dsl.pltn13.sbcglobal.net] has quit [Read error: Connection reset by peer] 04:34:08 -!- djinni` [~djinni`@li14-39.members.linode.com] has quit [Quit: Coyote finally caught me] 04:34:16 djinni` [~djinni`@li14-39.members.linode.com] has joined #lisp 04:34:53 -!- djinni` [~djinni`@li14-39.members.linode.com] has quit [Remote host closed the connection] 04:35:14 djinni` [~djinni`@li14-39.members.linode.com] has joined #lisp 04:35:50 -!- davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has quit [Remote host closed the connection] 04:41:56 -!- nyef [~nyef@pool-64-222-146-224.man.east.myfairpoint.net] has quit [Quit: G'night all.] 04:42:33 -!- bigjust [~jcaratzas@adsl-074-232-230-165.sip.asm.bellsouth.net] has quit [Ping timeout: 260 seconds] 04:43:54 MJabs [~chatzilla@r74-192-16-145.bcstcmta01.clsttx.tl.dh.suddenlink.net] has joined #lisp 04:44:18 gigamonkey [~gigamonke@adsl-76-254-20-11.dsl.pltn13.sbcglobal.net] has joined #lisp 04:45:34 ignotus`: herep 04:45:41 -!- Guthur [~Michael@host81-132-10-255.range81-132.btcentralplus.com] has quit [Quit: Computer says no] 04:47:45 minion: memo for ignotus`: Did you ever notice that the time zone argument to decode-universal-time is a rational between -24 and 24. So you can't use 5.75 but you can use (rational 5.75) or (+ 5 3/4) or 23/4. 04:47:45 Remembered. I'll tell ignotus` when he/she/it next speaks. 04:48:45 Good morning! 04:49:03 redline6561 [~redline@c-66-56-16-250.hsd1.ga.comcast.net] has joined #lisp 04:49:40 -!- jan247 [~jan247@unaffiliated/jan247] has quit [Quit: jan247] 04:50:10 -!- abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has quit [Quit: Leaving.] 04:50:42 -!- gruseom [~daniel@S0106001217057777.cg.shawcable.net] has quit [Read error: Operation timed out] 04:51:06 Louis11 [~chatzilla@r74-192-16-145.bcstcmta01.clsttx.tl.dh.suddenlink.net] has joined #lisp 04:52:50 *Louis11* predicts that Mjabs will ask a question shortly. 04:54:00 aja [~aja@unaffiliated/aja] has joined #lisp 04:54:17 MJabs pasted "peg-in-hole" at http://paste.lisp.org/display/94818 04:54:23 jan247 [~jan247@unaffiliated/jan247] has joined #lisp 04:54:28 -!- aja [~aja@unaffiliated/aja] has quit [Remote host closed the connection] 04:54:50 Hello. I'm having a "CONTROL-STACK-EXHAUSTED-ERROR" possibly resulting from a function prototype requirement. 04:55:28 aja [~aja@unaffiliated/aja] has joined #lisp 04:55:47 MJabs: The first thing to do would be to make your code more idiomatic. 04:55:57 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 04:56:37 abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has joined #lisp 04:56:45 <_3b__> that error sounds more like inifinite recursion than anything to do with function prototypes 04:56:49 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 04:57:14 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 04:57:33 exactly what is a function prototype in this context? 04:57:49 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 04:58:37 -!- Khisanth [~Khisanth@pool-151-205-123-229.ny325.east.verizon.net] has quit [Read error: Connection reset by peer] 04:58:59 MJabs: if you want people to read your code, you should write readable code. No CamelCase please, lisp-programmers-use-hyphens 04:59:45 Khisanth [~Khisanth@pool-151-205-123-229.ny325.east.verizon.net] has joined #lisp 04:59:51 wait. This looks very familiar. 05:00:00 Louis11: you're dragging strays in. 05:00:11 Heh, sorry 05:00:19 I'm bringing people to Lisp :) 05:00:29 Sorry. Cleaning my code now. 05:00:31 actually, it's my roommate - he's right across the hall 05:00:54 MJabs: Also, indent it correctly. 05:00:55 MJabs: I'd stay away from delete unless you know you want it and need it. 05:01:00 MJabs: you might want to consider using CASE instead of COND, while your tidying. 05:01:03 use remove for now. 05:01:19 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Remote host closed the connection] 05:01:27 <_3b__> yeah, delete was my guess at the problem too 05:01:28 Oh, okay. Thanks. 05:01:34 jmbr_ [~jmbr@109.32.220.87.dynamic.jazztel.es] has joined #lisp 05:01:54 And (thought some will disagree) some of us consider it good style to always prefer EQL to EQ. 05:02:03 *_3b__* failed to actually follow the code though 05:02:04 I do anyway. 05:02:08 -!- _3b__ is now known as _3b 05:02:13 MJabs: you should never be testing for EQ to NIL anyway 05:02:19 *gigamonkey* was just about to say that. 05:02:20 that's called NULL or NOT 05:02:45 molly_ [~4ac01091@gateway/web/freenode/x-acrhusooporbkepq] has joined #lisp 05:02:46 or switch UNLESS to WHEN 05:02:49 Oh, good point. 05:03:08 also, AND 05:03:13 mjabs ur an idiot 05:04:05 more strays? 05:04:21 bigjust [~jcaratzas@adsl-074-232-230-165.sip.asm.bellsouth.net] has joined #lisp 05:04:29 MJabs: in PegInHole there's no way the value of OPEN is going to change between the two UNLESS clauses. 05:04:31 sykopomp: Molly? 05:04:33 -!- jmbr [~jmbr@210.245.218.87.dynamic.jazztel.es] has quit [Ping timeout: 252 seconds] 05:04:38 bigjust: Hi there. Help you with anything? :) 05:04:46 -!- ChanServ has set mode +o drewc 05:04:47 I don't know them 05:04:55 louis11 are u serious? go eat a kiwi 05:05:25 gigamonkey: yes, i realized that too. 05:05:30 . . . what? 05:05:38 -!- jsfb [~jon@unaffiliated/jsfb] has quit [Quit: Leaving] 05:05:48 brown, round, hairy... seems like ur kind of thing 05:06:50 -!- drewc [~drewc@89.16.166.162] has been kicked from #lisp 05:07:09 -!- austinh [~austinh@c-24-21-81-46.hsd1.or.comcast.net] has quit [Quit: leaving] 05:07:53 <_3b> Louis11: was that a 3rd roommate? 05:08:18 i don't know them 05:08:40 the whois information was from my city though, but i have no idea who they were 05:08:42 <_3b> Louis11: molly_ was from your IP 05:09:13 Mjabs is the only roommate who is familiar with IRC 05:10:30 yurttas [~4ac01091@gateway/web/freenode/x-twkrtjjamprfrcmu] has joined #lisp 05:10:49 it's back 05:10:56 -!- yurttas [~4ac01091@gateway/web/freenode/x-twkrtjjamprfrcmu] has quit [Client Quit] 05:11:12 everything went better than expected :) 05:12:56 snowMonkey [~4ac01091@gateway/web/freenode/x-ybmzqnadwqhspyud] has joined #lisp 05:13:52 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 05:13:58 Demosthenes [~demo@206.180.155.43.adsl.hal-pc.org] has joined #lisp 05:13:58 -!- drewc [~drewc@89.16.166.162] has been kicked from #lisp 05:14:49 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 05:15:01 -!- drewc has set mode +b *!*4ac01091*@gateway/* 05:15:14 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 05:15:49 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 05:18:18 -!- drwho [~d@c-98-225-208-183.hsd1.pa.comcast.net] has quit [Quit: Gauss Eleminated] 05:18:26 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 05:19:28 I'm reading the rucksack-tutorial.lisp and am wondering what "rs" in line 83: (with-rucksack (rs *rs-tute-directory* :if-exists :supersede).... I don't see it defined anywhere. 05:20:12 er, wonder what "rs" is... 05:20:19 just a hunch, but I think it's defined right there :) 05:20:22 the with-rucksack macro will bind rs to the rucksack object 05:20:31 Louis11 pasted "Test" at http://paste.lisp.org/display/94819 05:20:50 so this is a bit of magic in the with-rucksack macro, then? 05:21:10 Is there any reason that code would end prematurely? It's _supposed_ to go through every iteration. However it ends after only about 10 05:21:27 rickmode: I dunno what's "magical" about it.. it's conventional of with-xxx macros 05:21:51 -!- redline6561 [~redline@c-66-56-16-250.hsd1.ga.comcast.net] has quit [Quit: Leaving.] 05:22:30 rickmode: with-open-file uses pretty much the same format. 05:22:41 as do several other idiomatic macros. 05:22:50 adeht: OK thanks. I guess I'm just having a hard time following the with-rucksack macro 05:22:54 with-output-to-string/with-input-from-string 05:23:03 back to PCL... ;) 05:23:09 with-anything-that-binds 05:23:11 :P 05:24:58 Louis11: you know you can do (trace process-moves process-solve) and try solving a puzzle? 05:25:22 adeht: No i didn't know that. I'll look into it, thanks 05:26:12 has anyone set Louis11 up with slime? 05:26:20 For aspect-oriented lisp-style programming what is a good tutorial? 05:26:27 I think i have it installed, but not sure if it's correct 05:26:48 did a macports on emacs sbcl and slime 05:27:04 nunb: contextl papers 05:27:06 Louis11: port install sbcl +threads 05:27:22 whats +threads for? 05:27:24 drewc: wanted more background on what contextL solves .. 05:27:40 Louis11: sbcl on mac does not come with threads enabled by default. 05:28:00 I take it i need threads for what i'm trying to do? 05:28:05 iirc, slime will need threads to get anything done? 05:28:11 (someone correct me if I'm wrong) 05:28:14 nunb: context oriented programming is an evolution of aspect oriented programming, and contextl integrates really well with CLOS. 05:28:38 nunb: I think it depends on the communication style 05:28:58 drewc: ghost of kiczales and all, I know, I guess an intro to AOP is in order then. 05:29:12 also found this http://www.peerbox.com:8668/space/Context 05:30:32 nunb: that's nice indeed... lots of good links there. i see contextl at the bottom :) 05:30:37 Louis11: what emacs are you using? I use aquamacs, slime and sbcl on osx 05:30:43 thanks guys, now i'm getting the with-foo idiom 05:31:00 drewc: the c-l.net page could do with that link (and the cliki page is even more sparse :-) 05:31:01 i'm using emacs in my terminal 05:32:29 documenting contextl as a library for pcos is one of my plans for the near future... he's published papers on the subject, but there is not a single docstring 05:32:34 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 05:32:48 errr 05:32:49 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 05:32:51 heh, I would like to point nyud.net to that page (don't want to overload the peerbox server) before putting it on cliki .. 05:33:13 my grammar was quite off there.... 05:33:23 nunb: regarding threading in SBCL and slime, I was able to use emacs and slime just fine on mac w/o threads. I only need to recompile an SBCL with threads to running a threaded web server wouldn't hang when started in slime. 05:33:44 ah the syntax is http://www.peerbox.com.8668.nyud.net/space/Context :-) adding it to cliki. 05:33:55 fusss [~kumi@li63-187.members.linode.com] has joined #lisp 05:34:20 Where's the grammar-nazi when you need him :-) 05:34:34 Louis11: what rickmode said. 05:34:57 drewc: did you mention *not* using with-rucksack earlier? or did I remember that backwards: always use with-rucksack? 05:35:17 drewc: yes, the c-l.net page warns there is no doc .. 05:35:47 rickmode: well, it depends on how you're using rucksack, but i found it best not to use with-rucksack 05:36:11 Louis11: I highly recommend aquamacs for slime, it makes the learning curve quite a bit easier .. 05:36:40 hm alright, i'll check it out :) 05:36:48 drewc: as in you would open it and leave it open (for performance, i presume)? 05:37:01 not for performance, but yes exactly 05:37:18 I second Aquamacs. It's emacs with training wheels. Or a modernized emacs. 05:37:46 drewc: I'll keep it in mind (or rather, in my notes). 05:37:46 rickmode: the problem comes when you want to keep an object around between two web requests. 05:38:22 rickmode: if you don't want caching and are just doing REST style stuff and passing object id's around, it doesn't matter 05:39:45 but if you return an object from a with-rucksack form and try to access it later, it points to a closed rucksack, and things are not happy. 05:39:50 drewc: oh so a rucksack persisted object shouldn't be used outside the scope of its rucksack? that is, open rucksack, get object, stuff object into session, close rucksack... 05:40:07 see where you stuffed it into the session? 05:40:26 it's no good to you once you've closed the rucksack 05:40:38 drewc: ya I see that - that happens in JDO too - they have a "detach" operation just for that sort of thing 05:40:46 -!- abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has quit [Quit: Leaving.] 05:40:49 well, it's of some good _if_ you're retrieved all the data you need 05:41:00 -!- Axioplase_ [~Axioplase@fortigate.kb.ecei.tohoku.ac.jp] has quit [Quit: bbl] 05:41:05 I did a (trace . . ) on my functions, and was able to follow it. It solves the puzzle about halfway, then gets stuck in a state. Is there anything glaringly wrong with my recursion? 05:41:16 but it doesn't retrieve everything eagerly, as you can store circular references in rucksack 05:41:21 drewc: I guess the next question is if the open and closing of a rucksack is fast 05:41:52 rickmode: does it matter? i highly doubt that is your bottleneck in a web app. 05:42:03 -!- l_n [~foo@tuxhacker/lordnothing] has quit [Quit: sleep] 05:42:18 drewc: gotcha... thanks for the tip 05:42:23 i mean, doing something is always going to be slower than not doing it... that's just how things work with electronic computers 05:43:22 i just leave it open... it's not like it's making a connection to a database server over a socket... it's opening a file 05:44:41 that said, use with-transaction all the time... make sure your transactions are as small as possible, because they block. 05:45:06 Louis11: paste? 05:45:29 rucksack is another on of those libraries that needs documentation.... oh for infinite time and resources! 05:45:46 http://paste.lisp.org/display/94819 05:46:01 just got aquamacs btw, like it better already :) Was scrolling around with up arrows previoulsy 05:46:08 drewc: so I presume using the rucksack is OK from many threads? 05:47:13 Louis11: imho 60% of the shock of lisp-slime-emacs is navigating, buffers opening with no rhyme or reason that one understands &c. 05:47:54 *nunb* means first-timer oobe, of course. 05:48:09 rickmode: yeah, there's a BigLock(tm) 05:48:14 drewc: about docs... the txt file intro tutorial lisp file are fine. It would be cool for one (or more) to direct to rucksacks.lisp for the rest of the API 05:48:49 ARC137 [~chatzilla@125.120.144.34] has joined #lisp 05:48:54 rickmode: well, i think a 'how to use rucksack for the web' is a good idea, as i've gone through this same converstation a few times now :) 05:49:22 drewc: lol... ya at some point you want to be able to say rtfm 05:49:35 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 05:49:48 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 05:49:49 rickmode: the ruckack source is very well written actually, so once you understand the concept, it's pretty easy to see what's going on. 05:50:40 that's one of the main reasons why i'm confident that we can manage the 'one big lock' problem... since rucksack objects are just CLOS objects, and STM is just a metaclass away... 05:51:49 it's easy to (defclass stm-transaction (rucksack-transaction) ...) and the rest is a simple matter of code and at least one painful race condition that i've overlooked. 05:52:17 is it possible that my RETURN-FROM's are causing a problem in my recursion? 05:53:26 that reminds me: I need to dig into metaclasses (I didn't see that covered in PCL.. at least not in the first 22 chapters) 05:53:37 rickmode: AMOP 05:53:37 rickmode: it's not covered in PCL 05:54:11 rickmode: 'User Level Language Crafting' is the most introduction like thing i know 05:54:25 RaceCondition [~RaceCondi@85.253.73.94.cable.starman.ee] has joined #lisp 05:54:39 rickmode: http://citeseer.ist.psu.edu/old/paepcke93userlevel.html 05:55:10 -!- sepult` [~user@xdsl-87-78-131-163.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 05:56:36 does Keene cover MOP? 05:56:51 balooga [~00u4440@adsl-76-194-233-139.dsl.lsan03.sbcglobal.net] has joined #lisp 05:57:38 bah, barely touches on it 05:59:38 -!- winxordie is now known as me 05:59:49 -!- lithper2_ [~chatzilla@ool-182ff1c9.dyn.optonline.net] has quit [Remote host closed the connection] 05:59:57 -!- me is now known as thegame 06:00:20 -!- thegame is now known as winxordie 06:01:14 *beach* can't believe he is thinking of writing a Web application. 06:01:27 -!- rrice [~rrice@adsl-99-164-44-7.dsl.akrnoh.sbcglobal.net] has quit [Quit: Leaving.] 06:01:49 sepult [~user@xdsl-87-78-131-163.netcologne.de] has joined #lisp 06:02:26 -!- winxordie [~winxordie@n128-227-67-111.xlate.ufl.edu] has left #lisp 06:02:38 I have a question though (naive, probably, because I am not used to writing web applications). Suppose I want to show say a table of objects to the user, and then allow the user to click on one of those objects. How do I make the connection between the URL and the application object? I am guessing I need to use some unique identifier in the object, and make that part of the URL? 06:02:43 beach: don't :-) 06:02:57 nunb: Thanks for the advice! 06:03:26 beach: yeah, that's the standard way to do it 06:03:28 beach: I can tell you how weblocks does it, maybe in #weblocks? 06:03:46 beach: depends on whether you want to expose REST urls (weblocks does without) 06:03:55 I was going to use hunchentoot. 06:03:59 beach: the other way is to close over the values you want and store a link to the closure 06:04:02 beach: it's either that (a unique id) or you match on the textual data (which may not be unique) 06:04:25 drewc: Ah, and then the identifier would be unique to that page? 06:04:43 beach: will it be db-backed? Nowadays people don't mind exposing db row-id's to the world :-0 06:04:51 beach: exactly, unique to that session/page/whatever 06:04:53 winxordie [~winxordie@n128-227-67-111.xlate.ufl.edu] has joined #lisp 06:04:54 nunb: Nope, no DB. 06:05:02 drewc: Got it. 06:05:07 beach: frameworks like UCW and weblocks go so far as to automate all this. 06:05:15 I see. 06:05:22 beach: and close over the control flow as well... as it were 06:05:37 drewc: Sure, yeah. 06:05:41 -!- ARC137 [~chatzilla@125.120.144.34] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.5.7/20091221152502]] 06:05:47 afair there was also one that did just the closure-encapsulation and left it at that .. so somewhere between hunchentoot and a framework like ucw 06:05:51 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 06:06:18 my new continuation library is very simple like that. 06:06:30 drewc: There could be some interesting memory leaks there though. 06:06:37 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 06:06:48 beach: indeed... you need to associate users with sessions, and have timouts on the sessions 06:07:10 in UCW we also have frames, which are individual page hits viewed as stack frames... 06:07:23 fatblueduck [~duck@pool-71-104-235-97.lsanca.dsl-w.verizon.net] has joined #lisp 06:07:31 lexa_ [~lexa_@seonet.ru] has joined #lisp 06:07:36 -!- lexa_ [~lexa_@seonet.ru] has left #lisp 06:07:38 so you delete older frames assuming the user is not going to hit the back button 20 times 06:07:53 This all makes sense. Thanks everyone. 06:08:17 I am sure I'll be back with more questions (or abandon the idea). 06:08:44 beach: if you're willing to write your request handlers in CPS, you don't even need a framework :) 06:08:52 freiksenet [~freiksene@hoasnet-fe29dd00-202.dhcp.inet.fi] has joined #lisp 06:09:17 drewc: I don't think I will, but thanks for the hint :) 06:09:43 ARC137 [~chatzilla@125.120.144.34] has joined #lisp 06:11:03 Any standard trick to get something like presentation types? 06:11:40 beach: in the CLIM sense? 06:11:45 Yeah. 06:13:20 Axioplase [~Axioplase@fortigate.kb.ecei.tohoku.ac.jp] has joined #lisp 06:13:22 not really. Lisp on Lines tries to solve a similar problem, but i wouldn't call it standard. 06:13:27 -!- Axioplase is now known as Axioplase_ 06:13:39 -!- syamajala [~syamajala@140.232.178.166] has quit [Remote host closed the connection] 06:13:49 Kolyan [~nartamono@89-178-166-62.broadband.corbina.ru] has joined #lisp 06:13:53 This gives me a lot of stuff to think about. Thanks again. 06:14:00 UCW has 'components', which are like widgets for the web 06:14:01 drewc: do ucw components map to presentation types, or are they a level above? 06:14:07 ah, answered .. 06:15:02 nunb: components in UCW play a couple roles actually, one of them being a place to hang your html rendering code. 06:15:22 is it fair to say UCW solves a larger part of the web app problem then, say, hunchentoot + cl-who / html-template ? 06:15:40 rickmode: indeed, a much larger part. 06:16:18 but it's a framework, so brings it's own share of problems with it :) 06:16:24 its 06:16:40 I saw an example at ifelipe.net that used a component to render the choices for a dropdown box. Is that the recommended way? 06:16:54 there is no recommended way. 06:17:19 most rendering is done within a component's RENDER method though 06:17:23 (for comparison, in weblocks that would be handled by a dropdown-presentation embedded in a form-view -- but this limits your flexibility in several ways -- eg attaching adhoc js onchange etc) 06:17:47 -!- ltriant [~ltriant@lithium.mailguard.com.au] has quit [Quit: leaving] 06:17:49 nunb: weblocks is like a poor version of what UCW looked like 6 years ago 06:17:55 is there a #lol channel ? 06:18:14 nah, but it's on topic in #tech.coop and #ucw 06:18:37 syamajala [~syamajala@140.232.178.166] has joined #lisp 06:18:41 -!- syamajala [~syamajala@140.232.178.166] has quit [Remote host closed the connection] 06:19:23 nunb: basically, weblocks looks like an old form library for UCW called ucw-forms mixed with the old code walker and cps transformer. We abandonded these ideas 06:20:00 because of the problems like limited flexibility and impossible to debug bloated CPS tranformed code :) 06:20:13 drewc: is ucw usable by anyone but you and maybe an incredibly suicidal^Madventurous soul? 06:20:21 + yet 06:20:45 sykopomp: sure, always has been. UCW was the first library i learned how to use when i started with lisp. 06:20:52 holycow [~new@mail.fredcanhelp.com] has joined #lisp 06:20:58 -!- xan [~xan@cs78225040.pp.htv.fi] has quit [Ping timeout: 256 seconds] 06:21:25 hm 06:21:47 how do I get started? :D 06:21:51 sykopomp: it was painful, especially back then, but i got by 06:22:22 http://common-lisp.net/project/ucw/documentation.html 06:23:17 dang CLOS + MOP is cool stuff. seems to me modern language designers have ignored what lisp had over 15 years ago -- another variation of greenspuns 10th rule. 06:23:49 rickmode: that's ok, lisp has ignored modern language designers, so it's a two way street :P 06:23:59 drewc: maybe the standard has. 06:24:13 but certainly not the language seen as standard+implementations+libraries 06:24:47 please note my tongue planted firmly in my cheek... ha ha only serious 06:25:05 :) 06:26:10 drewc: what backend would you recommend for ucw? 06:26:32 i deliver using the built in httpd... but i'm not google 06:26:57 if i was, i'd probably use the iolib backend... i've heard it rocks 06:27:17 mod_lisp is a good option as well, if you like apache 06:27:42 just don't use aserve or araneida, those would be bad choices. 06:27:55 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 06:27:58 xan [~xan@cs78225040.pp.htv.fi] has joined #lisp 06:28:25 well.... i could see an argument for araneida.. 06:28:42 it works with serve-event, so doesn't need threads. 06:29:15 aserve would be a reasonable choice if you happend to be on Allegro.. 06:29:24 -!- winxordie [~winxordie@n128-227-67-111.xlate.ufl.edu] has left #lisp 06:29:52 and it would be trivial to write a hunchentoot backend if you really wanted. 06:30:55 ucw isn't a whole http stack or...? 06:34:41 TR2N` [email@89.180.131.65] has joined #lisp 06:35:15 rickmode: it can be, but optionally can use another web server as a backend. 06:36:06 -!- TR2N [~email@89.180.227.253] has quit [Ping timeout: 252 seconds] 06:37:26 drewc: get antiframework before it's taken! 06:38:09 -!- RaceCondition [~RaceCondi@85.253.73.94.cable.starman.ee] has quit [Read error: Operation timed out] 06:42:32 Louis11 pasted "New Code" at http://paste.lisp.org/display/94823 06:42:58 I reworked my code a bit, and am getting a "debugger invoked on a TYPE-ERROR: The value 0 is not of type LIST." error. 06:43:04 I don't see where that's occuring in my code 06:43:20 <_3b> Louis11: you don't need the return-from in make-move 06:44:02 I take it, it just returns the config regardless? 06:44:16 <_3b> Louis11: use WHEN or UNLESS instead of IF when there is only 1 branch 06:44:21 Louis11: the rest of your backtrace will probably tell you where you are trying to treat a number as a list 06:45:20 Louis11: and my advice to your roommate from earlier applies to you to, use CASE, not COND to switch on numbers. 06:45:26 (Not that that's your problem.) 06:45:39 Yea i saw his change, i'll make that here shortly :) 06:45:44 what's the difference, if I may ask? 06:45:49 <_3b> Louis11: the function returns whatever the last form in th ebody returns (assuming nothing causes it to exit elsewhere), so you could replace the (return-from make-move config) with just config 06:45:52 cond is more general 06:46:00 case is easier for simple matching 06:46:05 Louis11: a word about comments : don't write in prose what you write in code 06:46:44 slyrus [~chatzilla@adsl-75-36-211-117.dsl.pltn13.sbcglobal.net] has joined #lisp 06:46:48 Louis11: what _3b said: don't use return-from unless you really need to be returning from the middle of some code. 06:46:52 drewc: but ? 06:46:52 Which happens rarely. 06:46:54 alright - the comments are mostly for my thought process :) 06:46:56 <_3b> Louis11: the IF in process-holes looks like you don't understand the syntax of IF, possibly you wanted WHEN there? 06:47:09 dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 06:47:16 Louis11: ok, that's fair :) 06:47:25 _3b: just updated to when 06:47:27 Louis11: at some point you're trying (length 0) instead of (length '(0)) perhaps? 06:47:49 <_3b> Louis11: same for the IF in make-moves 06:47:57 legumbre_ [~leo@r190-135-2-21.dialup.adsl.anteldata.net.uy] has joined #lisp 06:48:40 updated a bit: http://paste.lisp.org/display/94824 06:48:52 you seen the codes stitch, this is my opinion to which i stick at wich, if you see further down the whole, you'll 06:48:52 disocver ... .... 06:48:56 i suppose "replace that cond with a data structure" is asking too much? 06:49:04 something like that ? 06:49:08 in my top function? 06:49:09 poetry ? 06:49:10 lol 06:49:23 drewc: yeah, that's possible too. I wonder which is faster, a CASE or SVREF? 06:49:29 -!- setheus [~setheus@cpe-70-116-140-134.tx.res.rr.com] has quit [Ping timeout: 260 seconds] 06:49:38 -!- legumbre [~leo@r190-135-28-60.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 248 seconds] 06:49:41 gigamonkey: i know which is clearer and more easily changed! 06:49:57 Louis11: as long as we're beating you up (just part of the standard hazing), they're spell t and nil not T and Nil. 06:49:57 process-holes is being recursively called without a config 06:50:02 (though both work.) 06:50:06 drewc: which? 06:50:12 ok write your comments in poetry form... 06:50:14 lol 06:50:15 that is, valid moves should be a parameter, not hard code 06:50:18 drewc: C-c C-c in either case. 06:50:50 gigamonkey: what if i want to change the game board? 06:51:13 or bind it to a parameter... 06:51:17 just sayin 06:51:27 gigamonkey: lol, i'll change those as well :) 06:51:30 <_3b> Louis11: (- ... 1) -> (1- ...), (loop for i from 0 to (- ... 1) -> (loop for i from 0 below ... 06:51:43 Yeah. But not everything needs to be flexible. He can always change the definition of valid-moves later to use a dynamically bound variable. 06:51:56 <_3b> Louis11: if (equal ... nil) collect -> unless ... collect 06:51:57 There is such a thing as over generalization. 06:52:04 -> (loop for i below ...) 06:52:24 this is true, and actually CASE would solve my main complaint, which is the repetition 06:53:06 <_3b> right, i'd drop the from 0 also, but wouldn't object to that part :) 06:53:07 -!- ARC137 is now known as arc137 06:53:09 Tonijz [~tonijs@85.254.194.65] has joined #lisp 06:53:22 ThomasI [~thomas@unaffiliated/thomasi] has joined #lisp 06:53:58 gigamonkey: the real question is, is there an algorithm to generate that table of open moves, and is finding that the actual problem we should be solving? 06:54:31 drwho [~d@c-98-225-208-183.hsd1.pa.comcast.net] has joined #lisp 06:54:32 Well, there's that. 06:54:59 <_3b> Louis11: aside from the style changes, did replacing those IF with WHEN help at all? 06:55:05 Louis11: actually instead of t and nil you should use meaningful names like :filled and :empty 06:55:13 it would be a fun use case for genetic programming... i bet i could evolve that program 06:55:15 trebor_dki [~user@mail.dki.tu-darmstadt.de] has joined #lisp 06:55:30 And use eql instead of equal. 06:55:50 drewc: hmmm, I suspect this is too boring a program for GP. Brute force should handle it. 06:56:01 Another stupid web question: Is it possible for a server to give an answer to a client implying essentially "keep the current page". 06:56:03 _3b: It makes more sense, but didn't fix my initial problem 06:56:05 s/./?/ 06:56:10 I'm working on the style changes atm :) 06:56:14 If Louis11 really want'd to impress folks, he'd go look up Norvig's Sudoku solver and apply that technique here. 06:56:24 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 06:56:28 any chance it's in Norvig's AI book? 06:56:36 Louis11: no, on his website. 06:56:39 <_3b> beach: not sure that is meaningful, what if there is no 'current page'? 06:56:42 -!- freiksenet [~freiksene@hoasnet-fe29dd00-202.dhcp.inet.fi] has quit [Remote host closed the connection] 06:56:52 gigamonkey: easy to implement? Or more difficult than my brute force method? 06:57:06 for a student, just thinking this recursively is a big deal (i know lots of "professional" programmers that would struggle) 06:57:06 Louis11: probably a bit more difficult. 06:57:10 _3b: I meant: hey client: don't erase anything, and don't try to render what I sent you. 06:57:16 <_3b> beach: unless you mean in the context of communication with a script on the page, in which case the script can interpret responses however it likes 06:57:39 I may look at it out of curiosity. Though I doubt i'd be able to implement it atm. 06:57:43 _3b: Ah, like a Javascript script? 06:57:55 <_3b> beach: right, that is the usual way to do that sort of thing 06:58:07 Hmm, OK. Thanks. 06:58:30 <_3b> beach: usually with a fallback to just sending the same page again for browsers without javascript 06:58:44 _3b: Right. 06:58:44 -!- holycow [~new@mail.fredcanhelp.com] has quit [Read error: Connection reset by peer] 06:59:05 gigamonkey: You mentioned using meaningful names, would these have the same affect as nil and t? 06:59:07 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 06:59:38 Louis11: if you are comparing with EQL (eq EQUAL) the way you are, yes. 06:59:47 But maybe better would be to write some functions with good names: 06:59:49 (defun filled-p (config position) (nth position config)) 07:00:08 and (defun empty-p (config position) (not (filled-p config position))) 07:00:08 -!- ichernetsky [~ichernets@195.222.64.36] has quit [Read error: Connection reset by peer] 07:00:14 hm, alright i'll give that a try as well 07:00:43 Currently, my make-moves get's passed 0, instead of any sort of list. Any reason this would occur? 07:01:40 fixed style :) http://paste.lisp.org/display/94825 07:02:01 <_3b> Louis11: use the annotate button instead of making new pastes 07:02:16 ah didn't see it, i'll use it next time 07:02:19 <_3b> Louis11: also, set the language so it highlights correctly 07:02:27 Louis11: (make-moves config (first holes)) <--- might that be the problem? what is the first item in HOLES ? 07:02:27 07:02:51 -!- pragma_ is now known as umopepisdn` 07:03:02 drewc: It's a location in config. Starting out, it's 0. I did a trace and it passes '(0), then passes 0? 07:03:21 -!- balooga [~00u4440@adsl-76-194-233-139.dsl.lsan03.sbcglobal.net] has quit [Ping timeout: 240 seconds] 07:03:29 oh i think i see it 07:05:53 alright, that corrected my premature termination. It seems i'm overflowing the stack. Are my WHENs not sufficient enough for a base case? 07:06:24 Louis11: at some point someone's going to beat you up for using a list for config. The use of NTH suggests maybe you want at least a vector. 07:07:17 so, the list is causing the issues and a vector would resolve it? 07:08:34 -!- rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has quit [Quit: rickmode] 07:09:19 No. I'm just giving you gratuitous advice about how to make your code more stylish. 07:09:27 You can ignore me until you solve your actual problem. ;-) 07:09:48 no.. i think the issue is that you are recursing forever though these functions 07:10:25 -!- dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [Quit: dnolen] 07:10:30 so, i take it WHEN doesn't suffice for breaking out of the functions? 07:10:38 balooga [~00u4440@adsl-76-194-233-139.dsl.lsan03.sbcglobal.net] has joined #lisp 07:10:48 hadronzoo [~hadronzoo@ppp-70-251-117-169.dsl.rcsntx.swbell.net] has joined #lisp 07:10:55 I figured that when no more "moves", or whatever the case may be, are available, that function simply wouldn't execute 07:10:59 gigamonkey: you're doing the beating ;-) 07:11:10 tltstc [~tltstc@cpe-76-90-95-39.socal.res.rr.com] has joined #lisp 07:11:13 Louis11: the first thing process-holes does is call make-moves... the first thing make-moves does is call solve-puzzle... 07:11:39 the first thing solve-puzzle does is call process-holes... 07:11:56 so what would be the best way to break out of the infinite recursion? I figured the When would return a nil, or not do anything since eventually no more moves or holes would be available 07:12:53 louis11: iteration :-) 07:13:04 nunb: Nothing relaxes a true Lisper like beatin up on the newbies. ;-) 07:13:22 *nunb* lol'd 07:13:23 If that's what getting help entails, then it's fine by me :) 07:13:25 Louis11: as long as (list-of-open-holes) returns a value, you never reach your base case. 07:13:39 nowhere near as bad as #haskell or #C :P 07:13:41 gigamonkey: practice for beating the dead horse, eh? 07:13:48 numb: ;-) 07:14:01 Louis11: really? we need to practice then... we have a reputation to uphold in #lisp! 07:14:17 Louis11: I also suspect you're going to run into trouble with your recursion given that you're destructively modifying your config. 07:14:29 It's going to be hard to backtrack. 07:14:51 oh, are we allowed to say 'you 07:14:54 I thought about this previosly. I was under the impression that I was passing a copy along, and not the initial config 07:15:03 're really going about this wrong" 07:15:15 <_3b> running make-moves after solve-puzzle in make-moves seems a bit suspicious... if you solved the puzzle, why do more after that? 07:15:49 Louis11: if you never copy something, there is no copy 07:15:53 naively I figured it would stop once there were no more moves. But as was pointed out, as long as list-of-open-holes returns values, it won't. 07:16:05 <_3b> (not that i have any idea what's going on with that set of functions) 07:16:08 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #lisp 07:16:10 so how do I go about non-destructively modifying config to pass it along? 07:16:45 Louis11: rather than set places in the list, contruct a new list similar to the old one but with your values swapped in where you want them. 07:17:03 yeah, make-move should use copy-seq or something. 07:17:18 I had copy-tree in there, or something like that previously, then removed it 07:17:26 or just copy the bugger yeah 07:17:44 but if we're going to use SETF we should be using LOOP 07:17:54 hell.... PROG ! 07:18:30 So in my solve-puzzle, in the WHEN can I place an UNLESS in there as well? Something like "When we have open holes, process them, unless goal is met"? 07:19:58 Louis11: (when (and open-holes (not goal-is-met)) (process-them)) 07:20:24 alright, thanks drewc 07:20:34 <_3b> or just generate moves directly instead of holes 07:20:54 ichernetsky [~ichernets@195.222.66.148] has joined #lisp 07:21:00 Louis11: also (when (or goal-is-met open-holes) ...) works, but i prefer the former 07:21:28 the two are not equivalent 07:21:55 yikes, no they are not 07:22:05 dalkvist [~cairdazar@hd5e24dca.gavlegardarna.gavle.to] has joined #lisp 07:22:44 Louis11: so you'll probably want make-move to look something like (let ((new-config (copy-list config))) ... frob new-config ... new-config) 07:22:53 that means it's bed time to lay of the lisp for me! :) 07:23:15 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 07:23:28 adeht: when you start making mistakes like that, you have to keep yourself away from code 07:23:39 Louis11: and I'd expect to see a function solved-p which takes a config and tells you whether you're done. 07:23:51 drewc: true :) 07:24:01 -!- ASau [~user@83.69.227.32] has quit [Remote host closed the connection] 07:24:11 Yea, I'm working on a make-move similar to what you said, doesn't seem to be quite right though: http://paste.lisp.org/display/94824#1 07:24:17 Is this the game where you try to jump the pegs until there's only one peg left, ideally in the center? 07:24:24 gigamonkey: yup 07:24:30 ASau [~user@83.69.227.32] has joined #lisp 07:24:42 and I suspect I am doing it in the worst way possible 07:25:53 -!- ThomasI [~thomas@unaffiliated/thomasi] has quit [Quit: Bye Bye!] 07:25:54 -!- slyrus [~chatzilla@adsl-75-36-211-117.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 248 seconds] 07:27:44 aerique [euqirea@xs2.xs4all.nl] has joined #lisp 07:29:15 Louis11: In the end what is the result you want: simply something that says whether there is a solution or a list of moves to win? 07:29:30 gigamonkey: Yea, basically i am trying to locate a solution to the puzzle 07:29:54 a path to the solution 07:31:39 tmitt [seg@wizardly.us] has joined #lisp 07:32:30 say do you (defstruct foo slot1 slot2 slot) and then (setq bar (make-foo)), how do you change the value of bars slots? 07:34:01 -!- Phoodus [foo@97-124-117-72.phnx.qwest.net] has quit [Ping timeout: 264 seconds] 07:34:36 tmitt: (setf (foo-slot1 bar) 123) 07:34:46 thank you 07:34:49 -!- aerique [euqirea@xs2.xs4all.nl] has quit [Quit: ...] 07:35:01 aerique [euqirea@xs2.xs4all.nl] has joined #lisp 07:35:43 -!- Modius [~Modius@cpe-70-123-130-159.austin.res.rr.com] has quit [Quit: I'm big in Japan] 07:37:32 So my make move is causing an "illegal function call": http://paste.lisp.org/display/94824#2 07:37:40 -!- xinming_ [~hyy@218.73.129.62] has quit [Read error: Connection reset by peer] 07:37:52 xinming [~hyy@125.109.79.180] has joined #lisp 07:37:52 I take it I can't use setf inside of let? 07:39:17 Hang on, what shape is this board? 07:39:42 Too many parens before the setf. 07:39:45 levente_meszaros [~levente_m@apn-89-223-224-203.vodafone.hu] has joined #lisp 07:40:50 triangle 07:41:18 It's actually this exact game: http://s3.jonlathem.com/website/blog/CrackerBarrelPuzzle_lg1.jpg 07:41:32 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 07:41:43 -!- CyberBlue [~yong@111.167.26.59] has quit [Quit: Leaving] 07:41:51 Ah, I was thinking of this one http://www.educationallearninggames.com/hi-q.asp 07:42:04 So what's solved? Does the last peg have to be somewhere in particular? 07:42:33 gigamonkey: you are the author of PCL? 07:43:00 gigamonkey: doesn't matter where the last peg is, just has to be one peg left 07:44:21 -!- ignotus` [~ignotus@catv-80-98-80-157.catv.broadband.hu] has quit [Read error: Operation timed out] 07:44:58 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 07:45:32 freiksenet [~freiksene@pub-nat.haaga-helia.fi] has joined #lisp 07:47:12 rares [~rares@63-225-203-166.phnx.qwest.net] has joined #lisp 07:49:58 HET2 [~diman@91.114.108.230] has joined #lisp 07:53:55 MJabs annotated #94818 "peg-in-hole-2" at http://paste.lisp.org/display/94818#1 07:54:14 I believe I have a similar problem(s) as Louis11. After tracing, my recursion loops infinity. Could this be because i have destructively modified something leading to no end case? 07:55:52 Phoodus [foo@174-17-103-75.phnx.qwest.net] has joined #lisp 07:57:25 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 07:58:33 Mjabs: possibly. It all depends on the data-structure etc. you've chosen. In general -- a) pass around the data-structure 07:58:45 b) don't destructively modify it (each fn. gets a copy of its own DS) 07:58:56 c) ensure a termination condition exists 07:59:09 d) monotically progress towards it :-) 07:59:33 I confess I don't understand the data-structure you're using ... 08:01:14 anyway to check if there is only one type of element in a list? i.e. '(nil nil nil nil t) 08:01:16 nunb: I'm representing a triangle board in terms of the empty holes. Or at least trying to. =) 08:04:23 MJabs: yeah, the only list you want to modify is a fresh copy you just made. 08:04:56 MJabs doesn't modify anything 08:05:11 So the good news, for you guys, is that it can be done--even with all the inefficient nth'ing and list copying, a brute force recursive procedure gets the solution almost instantly. 08:05:29 did you just do it in like 30 minutes? 08:05:30 adeht: oh, I hadn't looked at MJabs's code. 08:05:38 Louis11: while we've been talking. 08:05:50 haha . . . 08:05:58 Of course, I've already learned the thing this is trying to teach you which is how to you recursion. ;-) 08:06:06 lol 08:06:09 gagamonkey: so if i append list a and list b. then i append list a and list c, has list a been modified? 08:06:47 Louis11: BTW, there's a bug in your valid-moves function for the (= open 12) case. 08:07:00 the problem can be solved with breadth-first search.. you can write a bfs function and the problem-specific configuration 08:07:01 MJabs: if you're using APPEND, no. 08:07:19 adeht: be nice. 08:07:46 gagamonkey: i am. so good news for me. 08:08:33 gigamonkey: I am working on a goal state function as you mentioned. I know my goal state should have only on "t". I've been trying to loop through and collect all the t's then count them, but that didn't seem to work 08:09:35 Well, you can count directly in loop: (loop for x in config count x) 08:09:55 x being the symbol I want? 08:10:12 Or use the COUNT function and forget about LOOP. 08:10:26 could be X or anything else. 08:11:07 But COUNT is probably the way to go here. 08:11:44 alright, i'll use count then. Thanks :) 08:12:41 benny` [~benny@i577A8FDD.versanet.de] has joined #lisp 08:13:32 morphling [~stefan@gssn-5f755adc.pool.mediaWays.net] has joined #lisp 08:14:29 good morning 08:15:53 Louis11: more lispy, imho (count t '(nil nil nil t t)) => 2 08:16:18 hm 08:16:29 also, did someone mention previously that I should change equal to eq? 08:16:41 *nunb* lols at gagamonkey 08:17:26 eq eql equal are in order of more fuzzy equality. 08:17:30 for numbers eq is sufficient. 08:17:34 for strings equal is required 08:17:38 etc. 08:17:41 ah alright 08:17:43 spradnyesh [~pradyus@122.166.145.24] has joined #lisp 08:17:51 hm, i made some changes and I am still exhausting the stack: http://paste.lisp.org/display/94824#3 08:18:08 nunb: eq is insufficient for numbers 08:18:43 Louis11: sorry, what stassats said 08:19:24 stassats: I should have said integers then? 08:19:42 nunb: still no 08:19:44 http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node74.html 08:21:06 nunb: that link, third example. "(eq 3 3) might be true or false, depending on the implementation." 08:23:06 Louis11: my advice is never use EQ. 08:23:20 unless you need it 08:23:21 alright, just making sure I wasn't missing something from before. 08:23:22 Use EQL if you want object identity and other, fuzzier ones, if they suit. 08:23:24 *drewc* uses eq when he means eq 08:23:32 stassats`: when would that be? 08:23:39 *gigamonkey* never means eq 08:23:47 I added in a goal test, and i'm still running out of room. Is my goal test insufficient? 08:23:56 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Remote host closed the connection] 08:24:07 gigamonkey: when you're testing if it's the same object 08:24:08 nha [~prefect@250-194.105-92.cust.bluewin.ch] has joined #lisp 08:24:14 leo2007 [~leo@smaug.linux.pwf.cam.ac.uk] has joined #lisp 08:24:44 stassats`: you mean when you're testing if it's the same object as long as it's not a number or a character. 08:24:53 i use eql when i mean 'eq but include chars and numbers' :) 08:25:28 oh that's not good . . . fatal error occured 08:25:40 i always use equal and check the clhs when things don't work as i expect them to :) 08:26:12 Under EQ numbers and characters are not objects with identity. Under EQL they are. Thus I prefer to pretend EQ doesn't exist so "everything is an object" is still true. 08:26:18 gigamonkey: if two things are not EQ then they are not the same object. 08:26:34 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 08:26:47 gigamonkey: are '(1) and '(1) the same object? 08:27:08 "Thus eql tells whether two objects are conceptually the same, whereas eq tells whether two objects are implementationally identical." 08:27:14 which of those descriptions uses "the same"? 08:27:45 drewc: potentially not. But (let ((x '(1))) ...) and x and x are the same object. 08:28:06 As you know: (let ((x 1)) ...) and x and x are not necessarily EQ. 08:28:33 yeah, true enough. 08:28:35 gigamonkey: sameness and identity are different concepts in CL 08:29:14 so when i want to test if things are the same, i use eql. when i want to test if they are identitcal, i use eq 08:29:25 Edico [~Edico@unaffiliated/edico] has joined #lisp 08:29:36 drewc: and from the glossary "same adj. 2. (of objects if no predicate is implied by context) indistinguishable by eql." 08:29:47 uhm . . . i figure it's bad, but any reason I would be getting a "fatal error encountered"? 08:30:34 Louis11: many reasons. figuring out which one it is is called programming ;) 08:30:53 drewc: so what does "identical" mean to you that makes it a useful notion? 08:30:54 anyway to get a more detailed error message for it? 08:31:12 Louis11: probably. What Lisp are you using? 08:31:24 sbcl 08:31:31 gigamonkey: identical means the same object in memory. i accept that the abstraction is broken and there is a machine underneath. 08:33:02 -!- Dawgmatix_ [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has quit [Quit: Ex-Chat] 08:33:12 gigamonkey: when i see eq i think 'pointer comparison', and i'm comfortable with the fact that we cannot intern the set of bignums. :) 08:33:54 characters, otoh.... 08:34:00 drewc: yeah. I get that point of view. I just think it's wrong. ;-) 08:34:07 hm, perhaps the fatal error is caused by my overflowing the stack? 08:34:15 Louis11: anything is possible. 08:34:26 I think that you should consider that eql and eq test for the same thing, but that eq is restricted in its applicability. 08:34:28 I see EQ as a mere efficiency hack, and it's annoying how it hijacked useful terminology like "identical" 08:34:31 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 08:34:39 drewc: Which is not, by any means, to say, "You're doing it wrong." 08:34:43 gigamonkey: fair enough :) 08:34:49 gigamonkey: lol :) 08:34:54 Yes, eq as an efficiency hack upon eql. 08:35:46 I'd be interested to see a program whose performance is significantly improved by switching from EQL to EQ where appropriate. 08:35:56 -!- MJabs [~chatzilla@r74-192-16-145.bcstcmta01.clsttx.tl.dh.suddenlink.net] has quit [Quit: ChatZilla 0.9.85 [Firefox 3.5.7/20100106054534]] 08:36:21 alright, well I think i'm calling it a night. I'll try more tomorrow, thanks for all of the help 08:36:21 really... = and char= exist for a reason ;) 08:36:35 Well, if you have a lot of symbol comparisons. 08:36:41 drewc: Lousy type inference? 08:36:57 = does not imply EQL 08:37:19 = does more and errors on not numbers 08:37:45 char= is a cleaner example. 08:37:52 Louis11: goodnight. 08:37:57 these operators also can take more than two objects 08:38:45 (or fewer :) 08:38:56 night 08:38:57 -!- Louis11 [~chatzilla@r74-192-16-145.bcstcmta01.clsttx.tl.dh.suddenlink.net] has left #lisp 08:40:35 point i was making is that we have all these equality operators that mean slightly different things. when i use EQ in code i'm saying that i'm not comparing numbers or characters here... i use = when i'm comparing numbers, and char= to compare characters. If i'm comparing a number/character to a possible number/character, that's what eql is for. 08:41:30 -!- benny` is now known as benny 08:42:48 does't really matter though, does it... :D 08:43:01 I'm with you on that. I just pretend that EQ doesn't exist. When I'm comparing "objects" I use EQL. When I'm comparing specific types I use = or CHAR=. 08:43:02 EQL is for comparing anything for object identity. EQ is a specialized version. 08:43:16 -!- HET2 [~diman@91.114.108.230] has quit [Quit: This computer has gone to sleep] 08:43:30 But I agree, it doesn't matter much. 08:44:02 i used SET and PROG in the same file the other day, so what to i know. 08:44:12 s/to/do 08:44:22 char= is a specialized version of EQL for chars. 08:44:38 PROG, that's hardcore. 08:44:46 (That's mainly what I was talking about when I mentioned type inference). 08:45:01 gigamonkey: FWIW, it was part of a macroexpansion 08:45:09 A lot of these differences are just efficiency hacks for bad compilers. 08:45:48 Zhivago: no, I don't see char= as an efficiency hack at all 08:46:43 i needed to bind some variables and then have some wierd control flow... i had IF and BLOCK... then i was looking towards tagbody.. and realized that PROG was actually the exact form i needed. 08:46:50 adeht: How does char= differ from eql upon characters? 08:46:55 Zhivago: they can't tell the compiler anything about types, because they have valid semantics for any objects 08:47:08 i have been waiting for that moment since i first found PROG and it was as good as i had hoped. 08:47:20 Zhivago: like I said.. it can take one or more objects, unlike EQL 08:47:24 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 08:47:24 drewc: which is to say, not that good. ;-) 08:47:44 adeht: Sounds like an efficiency hack. 08:47:59 Is there any sensible reason that char= takes one or more objects and eql doesn't? 08:48:10 Zhivago: heh.. to me it's more of an aesthetic convenience hack :) 08:48:32 gigamonkey: i really enjoy knowing PROG is back there when i use the macro :) 08:49:25 Zhivago: sometimes you want to compare a positive number (not necessarily 2) of characters for sameness.. 08:51:08 adeht: Yeah, and sometimes I want to compare a positive number (not necessarily 2) of non-characters for sameness. 08:51:13 mega1 [~quassel@3e70cb39.adsl.enternet.hu] has joined #lisp 08:51:32 I'm not saying that all of the efficiency hackery is on the char= end of the stick. 08:52:45 nostoi [~nostoi@246.Red-81-36-252.dynamicIP.rima-tde.net] has joined #lisp 08:53:54 -!- morphling [~stefan@gssn-5f755adc.pool.mediaWays.net] has quit [Remote host closed the connection] 08:54:10 -!- NNshag [~shag@lns-bzn-52-82-65-119-59.adsl.proxad.net] has quit [Quit: Quitte] 08:55:56 -!- spradnyesh [~pradyus@122.166.145.24] has left #lisp 08:58:23 attila_lendvai [~ati@apn-89-223-230-135.vodafone.hu] has joined #lisp 09:00:09 -!- nostoi [~nostoi@246.Red-81-36-252.dynamicIP.rima-tde.net] has quit [Quit: Verlassend] 09:00:44 Zhivago: there's STRING= and STRING-EQUAL (which are quite useful with their start/end parameters), there's CHAR-EQUAL.. it would be annoying not to have CHAR= 09:02:18 -!- nha [~prefect@250-194.105-92.cust.bluewin.ch] has quit [Ping timeout: 265 seconds] 09:02:29 (add < > /= variants as well..) 09:04:52 Goodnight, folks. 09:05:09 and char* only work on characters, which might be useful as well 09:06:12 brill [~brill@193.3.1.132] has joined #lisp 09:06:54 -!- brill [~brill@193.3.1.132] has quit [Client Quit] 09:07:08 ivan4th [~ivan4th@smtp.igrade.ru] has joined #lisp 09:07:41 kwinz3 [kwinz@d86-32-109-108.cust.tele2.at] has joined #lisp 09:08:10 -!- aja [~aja@unaffiliated/aja] has quit [Read error: Connection reset by peer] 09:09:22 -!- gigamonkey [~gigamonke@adsl-76-254-20-11.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 248 seconds] 09:09:28 -!- freiksenet [~freiksene@pub-nat.haaga-helia.fi] has quit [Remote host closed the connection] 09:12:53 Zhivago: and I would guess that EQL doesn't take a variable number of objects for reasons of performance (e.g., when it is passed as a predicate.. that happens much more often than, say, CHAR= being passed) 09:13:22 -!- Krystof [~csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has quit [Ping timeout: 256 seconds] 09:16:43 quite a few lispers use livejournal for blogging? Is it a good service? 09:17:00 CyberBlue [~yong@111.167.2.223] has joined #lisp 09:17:22 -!- nunb [~nundan@59.178.180.68] has quit [Ping timeout: 248 seconds] 09:17:49 b4|hraban [~b4@a83-163-41-120.adsl.xs4all.nl] has joined #lisp 09:18:28 it's ok 09:20:04 not as good as your own nih-blog in lisp 09:20:43 but with that you need to buy a hosting service and run the software needed, right? 09:21:17 you could run it on your home machine 09:21:33 ideally a nih-hosting service 09:21:46 That's not possible at the moment. 09:21:51 Nshag [~shag@lns-bzn-52-82-65-119-59.adsl.proxad.net] has joined #lisp 09:22:16 -!- hadronzoo [~hadronzoo@ppp-70-251-117-169.dsl.rcsntx.swbell.net] has quit [Quit: hadronzoo] 09:22:24 demmeln [~Adium@dslb-094-216-209-050.pools.arcor-ip.net] has joined #lisp 09:22:35 nunb [~nundan@59.178.165.82] has joined #lisp 09:23:58 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Read error: Operation timed out] 09:25:12 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 09:25:48 -!- attila_lendvai [~ati@apn-89-223-230-135.vodafone.hu] has quit [Ping timeout: 252 seconds] 09:25:55 jdz [~jdz@85.254.211.133] has joined #lisp 09:26:25 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Quit: +++ killed by SIGSEGV +++] 09:26:49 how do you write the blog? in the web browser or with a client software? 09:28:00 whatever is more convenient for you 09:28:58 dia100daly [~sdiawara@212.99.78.121] has joined #lisp 09:34:40 -!- Nshag [~shag@lns-bzn-52-82-65-119-59.adsl.proxad.net] has quit [Quit: Quitte] 09:34:58 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Ping timeout: 248 seconds] 09:35:40 ok 09:36:25 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 09:39:05 -!- Fufie [~innocent@86.80-203-225.nextgentel.com] has quit [Quit: Leaving] 09:39:54 i use[d] org-mode with moderate success 09:40:09 somedoby actually blogged about how to use org-mode to do it 09:40:19 must be somewhere on planet.lisp 09:42:23 it it allowed to define primary methods on reinitialize-instance? 09:42:28 attila_lendvai [~ati@apn-89-223-167-2.vodafone.hu] has joined #lisp 09:43:13 and what about returning a value different from the instance being reinitialized? 09:45:33 -!- nowhere_man [~pierre@lec67-4-82-235-57-28.fbx.proxad.net] has quit [Ping timeout: 276 seconds] 09:46:23 how does it make sense to return a different instance? 09:46:48 freiksenet [~freiksene@pub-nat.haaga-helia.fi] has joined #lisp 09:52:20 well, as it turns out it does not make much 09:54:40 antoszka_ [~antoszka@unaffiliated/antoszka] has joined #lisp 09:55:33 speaking of not making sense.. print-unreadable-object is annoying, it doesn't return the instance by itself 09:57:13 -!- plutonas [~plutonas@port-92-195-175-223.dynamic.qsc.de] has quit [Ping timeout: 258 seconds] 09:58:08 -!- kwinz3 [kwinz@d86-32-109-108.cust.tele2.at] has quit [Ping timeout: 256 seconds] 09:59:25 -!- varjagg is now known as varjag 10:02:33 -!- antoszka_ is now known as antoszka 10:03:33 -!- attila_lendvai [~ati@apn-89-223-167-2.vodafone.hu] has quit [Read error: Connection reset by peer] 10:05:13 -!- rares [~rares@63-225-203-166.phnx.qwest.net] has quit [Ping timeout: 264 seconds] 10:07:05 attila_lendvai [~ati@apn-89-223-167-2.vodafone.hu] has joined #lisp 10:09:48 -!- cataska [~cataska@210.64.6.235] has quit [Quit: leaving] 10:14:02 -!- chitech [~khuongdp@82.143.212.234] has quit [Read error: Connection reset by peer] 10:20:08 -!- ichernetsky [~ichernets@195.222.66.148] has quit [Quit: Leaving.] 10:21:06 -!- TR2N` [email@89.180.131.65] has left #lisp 10:21:13 rares [~rares@63-225-203-166.phnx.qwest.net] has joined #lisp 10:21:22 -!- Phoodus [foo@174-17-103-75.phnx.qwest.net] has quit [Ping timeout: 248 seconds] 10:22:06 tcr [~tcr@host146.natpool.mwn.de] has joined #lisp 10:24:00 Arcade [myrlochar@91.92.170.132] has joined #lisp 10:26:53 -!- Nightcrawler [myrlochar@91.92.170.132] has quit [Ping timeout: 265 seconds] 10:28:08 kwinz3 [~kwinz@213162066156.public.t-mobile.at] has joined #lisp 10:29:11 -!- attila_lendvai [~ati@apn-89-223-167-2.vodafone.hu] has quit [Read error: Connection reset by peer] 10:29:22 -!- demmeln [~Adium@dslb-094-216-209-050.pools.arcor-ip.net] has left #lisp 10:34:08 attila_lendvai [~ati@apn-89-223-167-2.vodafone.hu] has joined #lisp 10:39:03 free_thinker [~willijar@134.151.144.246] has joined #lisp 10:41:06 ignas [~ignas@78-60-73-85.static.zebra.lt] has joined #lisp 10:41:13 -!- sepult [~user@xdsl-87-78-131-163.netcologne.de] has quit [Remote host closed the connection] 10:41:24 -!- jan247 [~jan247@unaffiliated/jan247] has quit [Quit: jan247] 10:42:27 fsl [~fsl@auf186.internetdsl.tpnet.pl] has joined #lisp 10:45:08 -!- kwinz3 [~kwinz@213162066156.public.t-mobile.at] has quit [Ping timeout: 258 seconds] 10:51:56 OmniMancer [~OmniMance@219-89-64-152.ipnets.xtra.co.nz] has joined #lisp 10:54:43 -!- OmniMancer1 [~OmniMance@219-89-64-152.ipnets.xtra.co.nz] has quit [Ping timeout: 258 seconds] 10:58:13 -!- attila_lendvai [~ati@apn-89-223-167-2.vodafone.hu] has quit [Read error: Connection reset by peer] 10:59:19 -!- CyberBlue [~yong@111.167.2.223] has quit [Quit: Leaving] 11:01:10 kwinz3 [~kwinz@213162066173.public.t-mobile.at] has joined #lisp 11:04:18 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Quit: +++ killed by SIGSEGV +++] 11:05:23 attila_lendvai [~ati@apn-89-223-167-2.vodafone.hu] has joined #lisp 11:08:11 slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has joined #lisp 11:10:36 nowhere_man [~pierre@lec67-4-82-235-57-28.fbx.proxad.net] has joined #lisp 11:12:00 -!- kwinz3 [~kwinz@213162066173.public.t-mobile.at] has quit [Ping timeout: 276 seconds] 11:14:57 PatrickMcLaren [~Patrick@ppp118-209-197-239.lns20.mel6.internode.on.net] has joined #lisp 11:17:54 demmeln [~Adium@dslb-094-216-209-050.pools.arcor-ip.net] has joined #lisp 11:19:27 demmeln pasted "Muffle Warning: Am I doing this wrong?" at http://paste.lisp.org/display/94836 11:19:50 < Thats on SBCL 11:20:40 1.0.35.2 x86-64 OS X 11:21:40 try handler-bind.. 11:23:41 demmeln: that's very wrong, just think about it 11:23:46 just tried. it works. Oh so with handler case i cannot invoke restarts. Just looked closely at clhs 11:24:04 what's the difference between handler-case & handler-bind? 11:25:14 demmeln: What do you mean "very wrong"? 11:25:59 Zephyrus [~emanuele@unaffiliated/zephyrus] has joined #lisp 11:26:13 Handler-case implies a transfer-of-control; I don't think you want a transfer of control from the point where the warning is signalled to the point where that handler-case is established 11:26:53 tcr: Yes I was not fully aware of the semantics of handler-case 11:27:05 handler-case does not unwind the stack 11:27:27 tcr: but now i am ;) 11:27:27 -!- attila_lendvai [~ati@apn-89-223-167-2.vodafone.hu] has quit [Read error: Connection reset by peer] 11:27:44 handler-case does, sorry 11:27:50 handler-bind does not 11:28:24 the forms in a handler-case's error clause happen after the restarts are disestablished, the warning printed, the stack unwound 11:28:48 handler-case is just sugar around handler-bind 11:28:56 adeht: billitch: Yeah I get it now. Thanks guys. 11:32:11 attila_lendvai [~ati@apn-89-223-167-2.vodafone.hu] has joined #lisp 11:35:46 jaoswald [~user@cpe-69-203-131-209.si.res.rr.com] has joined #lisp 11:37:28 kwinz3 [~kwinz@213162066171.public.t-mobile.at] has joined #lisp 11:41:35 antoszka [~antoszka@unaffiliated/antoszka] has joined #lisp 11:43:01 ShadowChild [~lukjadOO7@unaffiliated/lukjad007] has joined #lisp 11:45:50 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Client Quit] 11:45:56 -!- lukjad86 [~lukjadOO7@unaffiliated/lukjad007] has quit [Ping timeout: 252 seconds] 11:49:28 -!- jaoswald [~user@cpe-69-203-131-209.si.res.rr.com] has quit [Quit: ERC Version 5.1.3 (IRC client for Emacs)] 11:55:32 -!- attila_lendvai [~ati@apn-89-223-167-2.vodafone.hu] has quit [Read error: Connection reset by peer] 11:59:31 letto [~letto@188.26.222.115] has joined #lisp 12:01:48 silenius [~jl@2a01:238:e100:320:21f:c6ff:fed7:73bb] has joined #lisp 12:02:04 ichernetsky [~ichernets@port-163-adslby-pool46.infonet.by] has joined #lisp 12:02:24 jmbr__ [~jmbr@144.32.220.87.dynamic.jazztel.es] has joined #lisp 12:02:37 attila_lendvai [~ati@apn-89-223-167-2.vodafone.hu] has joined #lisp 12:03:59 -!- jmbr_ [~jmbr@109.32.220.87.dynamic.jazztel.es] has quit [Ping timeout: 246 seconds] 12:06:19 -!- arc137 [~chatzilla@125.120.144.34] has quit [Quit: arc.net.cn] 12:10:20 somecodehere [~ingvar@18.216.159.217.sta.estpak.ee] has joined #lisp 12:11:10 -!- PatrickMcLaren [~Patrick@ppp118-209-197-239.lns20.mel6.internode.on.net] has left #lisp 12:12:27 -!- nunb [~nundan@59.178.165.82] has quit [Ping timeout: 252 seconds] 12:14:13 nunb [~nundan@59.178.163.153] has joined #lisp 12:15:07 -!- legumbre_ is now known as legumbre 12:15:25 -!- attila_lendvai [~ati@apn-89-223-167-2.vodafone.hu] has quit [Ping timeout: 264 seconds] 12:19:14 -!- nunb [~nundan@59.178.163.153] has quit [Ping timeout: 256 seconds] 12:19:40 -!- Zephyrus [~emanuele@unaffiliated/zephyrus] has quit [Quit: ""] 12:20:12 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 12:21:38 hello 12:22:00 Zephyrus [~emanuele@unaffiliated/zephyrus] has joined #lisp 12:25:45 Guthur [~Michael@host81-132-10-255.range81-132.btcentralplus.com] has joined #lisp 12:26:44 reprore [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 12:27:43 -!- grouzen [~grouzen@91.214.124.2] has quit [Ping timeout: 265 seconds] 12:34:28 -!- kpreid [~kpreid@216-171-189-244.northland.net] has quit [Quit: kpreid] 12:37:10 -!- Guthur [~Michael@host81-132-10-255.range81-132.btcentralplus.com] has quit [Quit: Computer says no] 12:39:42 Nshag [~shag@lns-bzn-52-82-65-119-59.adsl.proxad.net] has joined #lisp 12:43:01 -!- somecodehere [~ingvar@18.216.159.217.sta.estpak.ee] has quit [Remote host closed the connection] 12:44:42 -!- c|mell [~cmell@cpc3-colc5-0-0-cust193.colc.cable.ntl.com] has quit [Ping timeout: 240 seconds] 12:45:16 astoon [~user@80.78.109.217] has joined #lisp 12:48:53 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Remote host closed the connection] 12:49:09 -!- drewc [~drewc@89.16.166.162] has quit [Remote host closed the connection] 12:50:03 -!- demmeln [~Adium@dslb-094-216-209-050.pools.arcor-ip.net] has quit [Quit: Leaving.] 12:53:45 -!- Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has quit [Quit: Leaving] 12:55:48 -!- b4|hraban [~b4@a83-163-41-120.adsl.xs4all.nl] has quit [Quit: Leaving] 13:00:39 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 13:01:18 -!- astoon [~user@80.78.109.217] has left #lisp 13:03:35 mstevens [~mstevens@eris.etla.org] has joined #lisp 13:05:55 Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has joined #lisp 13:07:24 grouzen [~grouzen@91.214.124.2] has joined #lisp 13:09:08 attila_lendvai [~ati@apn-94-44-40-33.vodafone.hu] has joined #lisp 13:09:46 kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has joined #lisp 13:13:22 Blkt [~user@host-78-13-255-101.cust-adsl.tiscali.it] has joined #lisp 13:18:36 -!- fatalnix [~Fatalnix@spirit.ggxmain.com] has quit [Ping timeout: 256 seconds] 13:18:45 -!- felideon` [~user@12.228.15.162] has quit [Read error: Connection reset by peer] 13:19:41 -!- ShadowChild is now known as lukjad007 13:19:42 -!- lukjad007 is now known as lukjad86 13:20:07 -!- hugod [~hugod@bas1-montreal50-1279440411.dsl.bell.ca] has quit [Quit: hugod] 13:20:15 fatalnix [~Fatalnix@spirit.ggxmain.com] has joined #lisp 13:23:25 davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has joined #lisp 13:26:18 -!- freiksenet [~freiksene@pub-nat.haaga-helia.fi] has quit [Remote host closed the connection] 13:29:00 -!- attila_lendvai [~ati@apn-94-44-40-33.vodafone.hu] has quit [Read error: Connection reset by peer] 13:29:56 abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has joined #lisp 13:30:10 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 13:30:28 Odin- [~sbkhh@s121-302.gardur.hi.is] has joined #lisp 13:32:21 -!- drwho [~d@c-98-225-208-183.hsd1.pa.comcast.net] has quit [Read error: Connection reset by peer] 13:33:01 drwho [~d@c-98-225-208-183.hsd1.pa.comcast.net] has joined #lisp 13:33:20 -!- reprore [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Ping timeout: 256 seconds] 13:35:02 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Ping timeout: 256 seconds] 13:35:02 -!- Stattrav [~Stattrav@202.3.77.161] has quit [Ping timeout: 256 seconds] 13:35:06 attila_lendvai [~ati@apn-94-44-40-33.vodafone.hu] has joined #lisp 13:35:25 reprore_ [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 13:36:30 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Ping timeout: 258 seconds] 13:37:07 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 13:38:26 -!- oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has quit [Ping timeout: 256 seconds] 13:38:31 Stattrav [~Stattrav@202.3.77.161] has joined #lisp 13:40:14 plage [~user@salle008.emi.u-bordeaux1.fr] has joined #lisp 13:40:19 Good afternoon! 13:40:28 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 13:41:54 hi plage 13:43:34 dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #lisp 13:44:14 -!- Blkt [~user@host-78-13-255-101.cust-adsl.tiscali.it] has quit [Quit: At last, back to Tuscany!] 13:45:44 Quiet here! 13:46:12 plage: http://lericson.blogg.se/code/2010/february/this-might-seem-silly-git-pull.html 13:47:41 -!- Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has quit [Read error: Connection reset by peer] 13:47:54 -!- kwinz3 [~kwinz@213162066171.public.t-mobile.at] has quit [Ping timeout: 240 seconds] 13:48:42 -!- ``Erik [~erik@c-69-140-109-104.hsd1.md.comcast.net] has quit [Read error: Connection reset by peer] 13:49:03 -!- drwho [~d@c-98-225-208-183.hsd1.pa.comcast.net] has quit [Read error: Connection reset by peer] 13:49:04 -!- boyscared [~bm3719@c-68-32-124-6.hsd1.va.comcast.net] has quit [Read error: Connection reset by peer] 13:49:34 -!- sbahra [~sbahra@2002:62da:45b3:1234:21d:e0ff:fe00:f7ab] has quit [Read error: Operation timed out] 13:49:41 drwho [~d@c-98-225-208-183.hsd1.pa.comcast.net] has joined #lisp 13:49:47 Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has joined #lisp 13:50:12 -!- dia100daly [~sdiawara@212.99.78.121] has left #lisp 13:50:41 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Ping timeout: 258 seconds] 13:51:18 sbahra [~sbahra@2002:62da:45b3:1234:21d:e0ff:fe00:f7ab] has joined #lisp 13:51:36 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 13:52:18 tsuru` [~user@c-68-53-57-241.hsd1.tn.comcast.net] has joined #lisp 13:52:24 fe[nl]ix: nice! 13:52:45 fe[nl]ix: By the way, it's st felix today in France (or was it yesterday?). 13:52:45 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 13:53:03 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 13:53:53 ``Erik [~erik@c-69-140-109-104.hsd1.md.comcast.net] has joined #lisp 13:54:25 boyscared [~bm3719@c-68-32-124-6.hsd1.va.comcast.net] has joined #lisp 13:56:25 plage: I have no idea 13:56:56 jleija [~jleija@adsl-243-224-153.chs.bellsouth.net] has joined #lisp 13:58:33 -!- attila_lendvai [~ati@apn-94-44-40-33.vodafone.hu] has quit [Read error: Connection reset by peer] 13:59:16 hugod [~hugod@207.96.182.162] has joined #lisp 13:59:38 fe[nl]ix: http://www.almanach.free.fr/ 14:00:32 plage: http://en.wikipedia.org/wiki/Saint_Felix#Saints 14:01:04 impressive! 14:02:10 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Ping timeout: 248 seconds] 14:02:13 So I figured out one way of doing presentation types with a web interface. If URLs are associated with closures in the server, then clicking one link, could alter the closures associated with other URLs "of the right presentation type". 14:03:07 attila_lendvai [~ati@apn-94-44-40-33.vodafone.hu] has joined #lisp 14:03:07 Hmm, having written that, I think I already know a better way... 14:03:49 I'll just store the associated object in the server, and call ACCEPT on it, and what happens depends on the context. 14:05:06 Nah, won't work. I'll think some more. 14:05:34 dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 14:05:39 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 14:05:49 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 14:07:12 carlocci [~nes@93.37.223.7] has joined #lisp 14:07:28 fractalis [~fractalis@cpe-98-27-162-52.neo.res.rr.com] has joined #lisp 14:10:29 -!- knobo [~user@90.149.4.182] has quit [Ping timeout: 260 seconds] 14:11:10 OK, I'll keep a *context* variable around. Clicking on a link checks that the associated object is of the right presentation type. If not, nothing happens, if it is, the corresponding action is invoked (executing a command or continuing argument acquisition by modifying the *context* according to the presentation type of the next parameter). 14:11:13 -!- fsl [~fsl@auf186.internetdsl.tpnet.pl] has quit [Read error: Connection reset by peer] 14:11:32 -!- fatblueduck [~duck@pool-71-104-235-97.lsanca.dsl-w.verizon.net] has quit [Quit: Lost terminal] 14:11:58 kwinz3 [kwinz@d86-32-109-108.cust.tele2.at] has joined #lisp 14:12:03 A fancy version would signal to a script in the client which links should be highlighted. 14:12:23 pjb [~t@95.124.64.158] has joined #lisp 14:12:36 -!- fractalis [~fractalis@cpe-98-27-162-52.neo.res.rr.com] has quit [Ping timeout: 265 seconds] 14:13:38 felideon [~user@12.228.15.162] has joined #lisp 14:17:15 morphling [~stefan@gssn-5f755adc.pool.mediaWays.net] has joined #lisp 14:21:18 -!- potatishandlarn [~potatisha@c-4f66cb81-74736162.cust.telenor.se] has quit [Ping timeout: 265 seconds] 14:21:43 antoszka [~antoszka@unaffiliated/antoszka] has joined #lisp 14:21:48 fsl [~fsl@auf186.internetdsl.tpnet.pl] has joined #lisp 14:22:31 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 14:22:45 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 14:23:20 rdd [~rdd@c83-250-52-182.bredband.comhem.se] has joined #lisp 14:26:09 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Remote host closed the connection] 14:26:27 -!- abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has quit [Quit: Leaving.] 14:27:09 marcelinollano [~marcelino@217.Red-79-155-24.dynamicIP.rima-tde.net] has joined #lisp 14:28:33 -!- attila_lendvai [~ati@apn-94-44-40-33.vodafone.hu] has quit [Read error: Connection reset by peer] 14:29:52 lexa_ [~lexa_@seonet.ru] has joined #lisp 14:31:14 billstclair [~billstcla@gw3.tacwap.org] has joined #lisp 14:31:14 -!- billstclair [~billstcla@gw3.tacwap.org] has quit [Changing host] 14:31:14 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 14:31:54 TDT [~dthole@dhcp80ff865b.dynamic.uiowa.edu] has joined #lisp 14:32:44 -!- TDT [~dthole@dhcp80ff865b.dynamic.uiowa.edu] has left #lisp 14:33:30 -!- free_thinker [~willijar@134.151.144.246] has left #lisp 14:34:17 *Xach* is a little sad again that sbcl executables are so "slow" to start up 14:34:21 -!- l_a_m [~nlamiraul@194.51.71.190] has quit [Ping timeout: 252 seconds] 14:35:24 hmm, actually, that's not too bad. 14:35:36 demmeln [~Adium@lapradig96.informatik.tu-muenchen.de] has joined #lisp 14:36:08 ~25ms on my server, ~70ms on my desktop 14:38:35 heh, ~15ms on the 32-bit, 3Ghz pentium 4. 14:39:47 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 14:39:57 -!- metasyntax [~taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has quit [Quit: Nichts mehr.] 14:40:44 b4|hraban [~b4@a83-163-41-120.adsl.xs4all.nl] has joined #lisp 14:40:52 Modius [~Modius@cpe-70-123-130-159.austin.res.rr.com] has joined #lisp 14:42:23 Yes. I will buy a new fast computer this year too. 14:42:35 No need to optimize for speed anymore. 14:42:58 freiksenet [~freiksene@hoasnet-fe29dd00-202.dhcp.inet.fi] has joined #lisp 14:43:15 *p_l* has bigger slowdowns due to I/O :D 14:43:19 Xach: is the server a cloud-based server or more traditional? 14:43:37 tsuru`: 64-bit physical core 2 duo 14:43:49 wigflip-client.exe? 14:44:15 this is for a hello-world: buildapp --entry print --output hello-world 14:45:12 gzexe on that has an interesting side-effect on argv[0] 14:46:33 -!- letto [~letto@188.26.222.115] has quit [Read error: Operation timed out] 14:46:39 -!- konr [~user@201.82.130.248] has quit [Ping timeout: 258 seconds] 14:47:21 HET2 [~diman@91.114.108.230] has joined #lisp 14:47:57 -!- Tonijz [~tonijs@85.254.194.65] has quit [Quit: Leaving] 14:48:20 letto [~letto@188.26.223.127] has joined #lisp 14:49:39 attila_lendvai [~ati@apn-94-44-40-33.vodafone.hu] has joined #lisp 14:50:42 -!- OmniMancer [~OmniMance@219-89-64-152.ipnets.xtra.co.nz] has quit [Ping timeout: 240 seconds] 14:50:51 -!- amaron [~amaron@cable-89-216-169-165.dynamic.sbb.rs] has quit [Ping timeout: 252 seconds] 14:50:51 -!- mstevens [~mstevens@eris.etla.org] has quit [Quit: leaving] 14:51:06 -!- kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has quit [Quit: kpreid] 14:51:55 OmniMancer [~OmniMance@222-154-176-115.jetstream.xtra.co.nz] has joined #lisp 14:52:23 bew [~chatzilla@cpc2-dals16-2-0-cust285.hari.cable.virginmedia.com] has joined #lisp 14:52:44 amaron [~amaron@cable-89-216-169-165.dynamic.sbb.rs] has joined #lisp 14:53:30 -!- letto [~letto@188.26.223.127] has quit [Ping timeout: 240 seconds] 14:54:16 -!- bew [~chatzilla@cpc2-dals16-2-0-cust285.hari.cable.virginmedia.com] has quit [Client Quit] 14:55:07 kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has joined #lisp 14:55:24 Xach: as interesting as strace? 14:55:59 well, Arch64-packaged SBCL no longer crashes spectacularly under strace... 14:56:18 p_l: not super-interesting, i guess. i didn't realize it unpacked into /tmp to run. 14:56:30 bobbysmith007 [~russ@216.155.97.1] has joined #lisp 14:56:38 oh, so it unpacked this way? 14:56:46 Not memory-only? 14:57:01 it would be interesting to see effects of upx on SBCL... 14:57:07 p_l: not memory-only 14:58:38 *p_l* grabs UPX to see how bad the crash will be 15:01:09 -!- marcelinollano [~marcelino@217.Red-79-155-24.dynamicIP.rima-tde.net] has quit [Quit: marcelinollano] 15:01:31 marcelinollano [~marcelino@217.Red-79-155-24.dynamicIP.rima-tde.net] has joined #lisp 15:01:58 -!- abeaumont [~abeaumont@84.76.48.250] has quit [Remote host closed the connection] 15:03:25 slyrus [~chatzilla@adsl-75-36-211-117.dsl.pltn13.sbcglobal.net] has joined #lisp 15:03:45 44M sbcl-test <---- SBCL 1.0.34 from Arch64, (s-l-a-d #P"sbcl-test" :executable t :purify t) 15:04:01 8.7M sbcl-upx 15:04:08 how is that? :D 15:05:06 and no crash :D 15:05:49 I think it just solved the "binaries are huge" problem 15:06:22 now the binaries are just big? 15:06:48 -!- fsl [~fsl@auf186.internetdsl.tpnet.pl] has quit [Ping timeout: 252 seconds] 15:07:14 fiveop [~fiveop@e179162004.adsl.alicedsl.de] has joined #lisp 15:07:25 (Delphi, on 32bit code, back in time of Delphi 4/5, produced at minimum 0.5~1.5MB for a hello world, just because of included standard library. Which, iirc, was statically compiled with unused code removed. SBCL packs several times the amount of libraries in that) 15:08:08 minion, logs 15:08:09 logs: #lisp logs are available at http://ccl.clozure.com/irc-logs/lisp/ (since 2008-09) and http://tunes.org/~nef/logs/lisp/ (since 2000) 15:08:25 jdz: now the binaries are in size that no one will be capable of complaining, IMHO :P 15:08:45 (other than people who actually know how to deal with size and low-level parts etc.) 15:09:46 call me oldschool but i've been playing games on Sinclair ZX Spectrum 15:10:04 jdz: oldschool 15:10:15 jdz: I'm programming a machine that has 32k of ram (after extension) 15:10:17 48KB RAM 15:10:34 p_l: good luck running SBCL on that :) 15:10:39 -!- Kolyan [~nartamono@89-178-166-62.broadband.corbina.ru] has quit [Ping timeout: 252 seconds] 15:10:52 jdz: I'm not thinking of putting SBCL on it, but generating the code from SBCL? why not :D 15:10:54 but there was a lisp for spectrum i'm pretty sure 15:11:14 still, <9 MB is pretty good size nowadays, compared to some software 15:11:17 c|mell [~cmell@cpc3-colc5-0-0-cust193.colc.cable.ntl.com] has joined #lisp 15:11:31 Kolyan [~nartamono@95-26-244-216.broadband.corbina.ru] has joined #lisp 15:11:32 well, it gets bigger when you load useful software into it, though. 15:11:37 like hunchentoot 15:12:31 ~13MB on this system. i guess that's not too bad, either. 15:12:32 -!- attila_lendvai [~ati@apn-94-44-40-33.vodafone.hu] has quit [Read error: Connection reset by peer] 15:12:34 BTW, first "Hello, World" in C++ took 1.5MB for code that only had to call two syscalls to do its job. We are not that bad :P 15:13:17 xmonad on my computer has a 6.5MB binary, and that's with several dynamic libs 15:13:27 fsl [~fsl@auf186.internetdsl.tpnet.pl] has joined #lisp 15:14:01 a text editor has about 60 kLOC. That compiles into a 88 MB core file for me. Plus contribs it's a 15M tar.bz2. 15:14:52 I'll have to play around with UPX a little more 15:15:31 btw, command used to compress my example core: upx -9 -v -o sbcl-upx sbcl-test 15:17:17 *sigh* This lab class is not going so well. 15:19:00 attila_lendvai [~ati@apn-94-44-40-33.vodafone.hu] has joined #lisp 15:19:29 slyrus_ [~slyrus@adsl-75-36-211-117.dsl.pltn13.sbcglobal.net] has joined #lisp 15:22:17 -!- carlocci [~nes@93.37.223.7] has quit [Quit: eventually IE will rot and die] 15:22:29 plage: lisp lab? 15:23:44 Edward [~Ed@AAubervilliers-154-1-69-199.w81-249.abo.wanadoo.fr] has joined #lisp 15:24:45 -!- Algid [~dash@c-71-237-204-74.hsd1.or.comcast.net] has quit [Quit: Leaving] 15:25:01 -!- rdd [~rdd@c83-250-52-182.bredband.comhem.se] has quit [Ping timeout: 264 seconds] 15:25:43 yeah, "programming project 3" for the third-year undergraduates. All Lisp based. 15:26:17 -!- aerique [euqirea@xs2.xs4all.nl] has quit [Quit: ...] 15:27:25 I am afraid they will be a bit surprized next week, when I give them a presentation of the CLIM application that they are supposed to improve. 15:29:52 -!- jdz [~jdz@85.254.211.133] has quit [Quit: Boot me gently] 15:30:25 -!- ignas [~ignas@78-60-73-85.static.zebra.lt] has quit [Ping timeout: 264 seconds] 15:30:28 *tcr* crosses fingers this sbcl build will build through 15:33:06 -!- attila_lendvai [~ati@apn-94-44-40-33.vodafone.hu] has quit [Ping timeout: 245 seconds] 15:33:39 marioxcc [~user@200.92.23.60] has joined #lisp 15:33:58 -!- davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 15:36:00 malsyned [~malsyned@adsl-75-35-185-146.dsl.wlfrct.sbcglobal.net] has joined #lisp 15:37:01 plage: hehe. 15:37:24 plage: but I doubt they will be as surprised as AI students that only did Java suddenly tasked with writing a program in Prolog :P 15:37:43 p_l: Right. You beat me! 15:38:20 p_l: the CLIM application is actually quite neat. It's a complete (but primitive) accounting system in just a few hundred lines of code. 15:39:16 -!- dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [Quit: dnolen] 15:40:45 plage: cool! 15:40:56 *p_l* looks at the Swing code he has to write and weeps 15:41:42 p_l: upx is neat -- it squashes my 3.8M ECL-built executable to 880K :) 15:41:53 -!- reprore_ [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 15:42:23 reprore [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 15:42:27 Hey arbscht. How are things? 15:42:42 [Only 8 minutes more, and I'm off for the week-end.] 15:42:49 hello plage :) 15:43:19 things are not bad... I've had a decent summer hacking with lisp 15:43:45 arbscht: double lucky guy! :-) 15:43:48 Excellent! And now it's back to normal work? 15:44:07 plage: btw, still interested in the packaging outsourcing? I'm still a little busy (I need to take extra courses or fail the year -_-; ) but I actually have a place to live, food to eat and electricity to power the computer ^^; 15:44:34 Krystof [~csr21@158.223.51.76] has joined #lisp 15:44:36 plage: I have a couple more weeks yet 15:45:04 p_l: I am still interested. We need to discuss possible interactions with what-is-it-called-again (liblisp?). 15:45:35 libcl? 15:45:39 -!- slyrus [~chatzilla@adsl-75-36-211-117.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 276 seconds] 15:45:40 -!- OmniMancer [~OmniMance@222-154-176-115.jetstream.xtra.co.nz] has quit [Quit: Leaving.] 15:45:41 Right! 15:47:16 plage: I'm actually considering building a set of scripts? applications? that would support few several existing distribution channels. A kludge, but it would be nice to have all libs from cl-user.net easily installable, for example 15:47:58 Sounds good to me. 15:48:24 p_l: I'll talk to you later. It is time to finish this lab class and go home. 15:48:30 -!- plage [~user@salle008.emi.u-bordeaux1.fr] has left #lisp 15:48:30 yeah 15:48:57 *p_l* rebuilds his clbuild sourcedir 15:50:07 *derrida* takes a moment to tell clbuild he loves her. 15:50:28 -!- Edward [~Ed@AAubervilliers-154-1-69-199.w81-249.abo.wanadoo.fr] has quit [Ping timeout: 256 seconds] 15:51:43 I wonder how much space will be taken by a big system after UPX 15:52:39 besiria [~user@83.212.87.178] has joined #lisp 15:52:46 -!- ASau [~user@83.69.227.32] has quit [Read error: Connection reset by peer] 15:52:59 what is UPX? 15:53:50 derrida: executable compressor 15:54:37 neat, reading about it now 15:55:33 -!- kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has quit [Quit: kpreid] 15:56:54 -!- HET2 [~diman@91.114.108.230] has quit [Quit: This computer has gone to sleep] 15:57:38 *Xach* stumbles across http://iridia.ulb.ac.be/pulcinella/Welcome.html 15:58:35 ASau [~user@83.69.227.32] has joined #lisp 16:01:54 -!- slyrus_ [~slyrus@adsl-75-36-211-117.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 276 seconds] 16:02:32 -!- balooga [~00u4440@adsl-76-194-233-139.dsl.lsan03.sbcglobal.net] has quit [Quit: Leaving.] 16:02:40 NNshag [~shag@lns-bzn-60-82-254-220-250.adsl.proxad.net] has joined #lisp 16:02:42 Edward [~Ed@AAubervilliers-154-1-34-167.w90-3.abo.wanadoo.fr] has joined #lisp 16:02:59 lithper2_ [~chatzilla@72.8.31.30] has joined #lisp 16:04:38 -!- Nshag [~shag@lns-bzn-52-82-65-119-59.adsl.proxad.net] has quit [Ping timeout: 256 seconds] 16:10:36 kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has joined #lisp 16:10:51 Xach: nice link, thanks! 16:11:23 Edward__ [~Ed@AAubervilliers-154-1-47-108.w90-3.abo.wanadoo.fr] has joined #lisp 16:11:41 it is a lisp stuck in amber 16:12:09 Indeed! :-) 16:12:50 -!- Edward [~Ed@AAubervilliers-154-1-34-167.w90-3.abo.wanadoo.fr] has quit [Ping timeout: 246 seconds] 16:13:55 milanj [~milan@109.93.9.246] has joined #lisp 16:14:01 fractalis [~fractalis@cpe-98-27-162-52.neo.res.rr.com] has joined #lisp 16:15:18 gz_ [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #lisp 16:15:24 timor [~timor@port-87-234-97-27.dynamic.qsc.de] has joined #lisp 16:16:17 -!- fiveop [~fiveop@e179162004.adsl.alicedsl.de] has quit [Quit: humhum] 16:16:36 fiveop [~fiveop@e179162004.adsl.alicedsl.de] has joined #lisp 16:17:31 dabd [~dabd@kdbio22.inesc-id.pt] has joined #lisp 16:17:36 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 16:19:28 -!- dabd [~dabd@kdbio22.inesc-id.pt] has quit [Client Quit] 16:19:37 dabd [~dabd@kdbio22.inesc-id.pt] has joined #lisp 16:21:25 -!- hugod [~hugod@207.96.182.162] has quit [Read error: Connection reset by peer] 16:23:03 hugod [~hugod@207.96.182.162] has joined #lisp 16:24:14 dnolen [~dnolen@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has joined #lisp 16:31:21 konr [~user@201.82.130.248] has joined #lisp 16:32:04 sysop_fb [~bleh@80.255.39.35] has joined #lisp 16:34:17 -!- marioxcc is now known as marioxcc-AFK 16:34:25 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: Lost terminal] 16:34:25 jsfb [~jon@unaffiliated/jsfb] has joined #lisp 16:35:11 redline6561 [~redline@gate-22.spsu.edu] has joined #lisp 16:36:33 alley_cat [~AlleyCat@sourcemage/elder/alleycat] has joined #lisp 16:37:09 -!- hugod [~hugod@207.96.182.162] has quit [Read error: Connection reset by peer] 16:37:10 -!- BrianRice [~water@c-76-115-44-87.hsd1.or.comcast.net] has quit [Quit: BrianRice] 16:40:24 borism_ [~boris@213-35-234-36-dsl.end.estpak.ee] has joined #lisp 16:41:39 -!- borism [~boris@213-35-234-36-dsl.end.estpak.ee] has quit [Ping timeout: 258 seconds] 16:44:45 Fufie [~innocent@86.80-203-225.nextgentel.com] has joined #lisp 16:46:45 -!- Krystof [~csr21@158.223.51.76] has quit [Ping timeout: 276 seconds] 16:47:23 hugod [~hugod@207.96.182.162] has joined #lisp 16:52:20 Dawgmatix_ [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has joined #lisp 16:52:46 -!- jsfb [~jon@unaffiliated/jsfb] has quit [Quit: Leaving] 16:53:49 -!- egn [~egn@li101-203.members.linode.com] has quit [Remote host closed the connection] 16:55:23 -!- marioxcc-AFK is now known as marioxcc 16:56:23 balooga [~00u4440@147.21.16.3] has joined #lisp 16:56:23 -!- ASau [~user@83.69.227.32] has quit [Remote host closed the connection] 17:00:25 -!- demmeln [~Adium@lapradig96.informatik.tu-muenchen.de] has quit [Ping timeout: 264 seconds] 17:04:29 -!- kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has quit [Quit: kpreid] 17:04:35 splittist [~joe@30-245.62-188.cust.bluewin.ch] has joined #lisp 17:04:52 morn 17:05:44 ing? 17:05:56 indeed 17:06:07 -!- balooga [~00u4440@147.21.16.3] has quit [Ping timeout: 265 seconds] 17:07:07 better morning than mourning 17:09:09 balooga [~00u4440@147.21.16.3] has joined #lisp 17:09:18 It was about 20 degrees this morning, and minus 5 at lunchtime. (And I didn't even cross the equator) 17:09:39 *splittist* checks long-range forecast for Vienna 17:16:28 the prognosis for the weekend of the meeting looks not too bad, 8-10°C 17:18:32 TR2N [email@89.180.192.75] has joined #lisp 17:19:02 all thanks to antifuchs for arranging the warming... 17:20:34 I'm looking forward to the meeting :-) 17:21:05 it's been between -20°C and -5°C for a while here :((( 17:21:26 *sykopomp* grumbles about people out in the warmth. 17:22:04 *Xach* wonders about a CL weather machine 17:22:07 austinh [~austinh@c-24-21-81-46.hsd1.or.comcast.net] has joined #lisp 17:24:38 -!- dnolen [~dnolen@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has quit [Quit: dnolen] 17:25:01 -!- dabd [~dabd@kdbio22.inesc-id.pt] has quit [Ping timeout: 264 seconds] 17:26:13 Xach: because one AI winter is not enough? ;) 17:27:07 Hun [~hun@p50993726.dip0.t-ipconnect.de] has joined #lisp 17:27:09 ah, good point. 17:31:00 But what a fabulous name /for/ a CL weather machine! 17:32:23 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 17:32:38 it could be spiced up a bit. "AI WinterBringer 2000" perhaps. 17:32:46 Ragnaroek [~chatzilla@p54A64F93.dip.t-dialin.net] has joined #lisp 17:33:36 astoon [~user@80.78.109.217] has joined #lisp 17:35:30 jsfb [~jon@unaffiliated/jsfb] has joined #lisp 17:36:03 Can anyone remember a use case for what he would have liked a valid-type-specifier-p? 17:37:44 tcr: only for interactive use when being lazy about looking the proper syntax up in the HySp... 17:38:21 splittist: slime shows you 17:38:41 heh 17:39:11 tcr: s/.*/nope/ (: 17:39:19 at least in some contexts, but it's easy to add remaining ones 17:40:41 -!- cmatei [~cmatei@95.76.26.166] has quit [Ping timeout: 246 seconds] 17:41:06 -!- redline6561 [~redline@gate-22.spsu.edu] has quit [Ping timeout: 240 seconds] 17:41:23 -!- Dodek [dodek@dodecki.net] has quit [Disconnected by services] 17:42:08 brennanc [~brennanc@65.203.131.114] has joined #lisp 17:43:46 I come to think that a good definition for "valid type specifier" is based on "Would TYPEP choke on it?" (modulo the fact that you can't use compound FUNCTION / VALUES types w/ TYPEP) 17:44:12 kpreid [~kpreid@209-217-212-34.northland.net] has joined #lisp 17:44:34 -!- sysop_fb [~bleh@80.255.39.35] has quit [] 17:45:57 I would like to be reminded why SBCL's behaviour of (subtypep 'foo 't) => T, T makes sense. 17:47:53 I'm not particularly buying the "FOO may be defined to be a type later" answer; given that SUBTYPEP takes an ENV parameter, its purpose seems to be "Return subtype relationship as is valid w.r.t. ENV", and if ENV is NIL, it pretty much means "Return subtype relationship as is valid w.r.t. NOW" 17:48:28 slyrus [~chatzilla@adsl-75-36-211-117.dsl.pltn13.sbcglobal.net] has joined #lisp 17:50:49 tcr: the "FOO may be defined to be a type later" should be considered when writing compiler macros 17:51:42 tcr: e.g. you have a function that takes :element-type, and in the compiler macro for that function you have 17:52:36 *levente_meszaros* thinks html/css layout is broken 17:52:49 tcr: (if (and (constantp element-type) (subtypep (eval element-type) 'character)) ...) 17:54:23 fe[nl]ix: you should pass ENV to both constantp, and subtypep 17:54:29 tcr: with the current behaviour, subtype will return NIL and the optimization will be skipped 17:54:43 fe[nl]ix: also, notice that something which is CONSTANTP is not necessarily EVALable at compile-time 17:54:54 example ? 17:55:05 for the constantp bit? 17:55:30 constants defined by defconstant are CONSTANTP, but not necessarily evaluatable at compile-time 17:56:11 you need something like (and (constantp thing) (not (symbolp thing))) (+ a bunch of exceptions for NIL, T, etc) 17:57:49 tcr: it works on the implementations that I use :) 17:58:11 well, I think I should put my compile-time-constant-p into alexandria 17:58:34 and that's besides the point 17:58:42 rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has joined #lisp 17:58:55 I didn't get your point, in fact you're arguing for my point 17:59:06 -!- silenius [~jl@2a01:238:e100:320:21f:c6ff:fed7:73bb] has quit [Quit: silenius] 17:59:25 or would argue that (subtypep 'foo 'character) should evaluate to T because FOO may be defined via (deftype foo () 'base-char) later? 17:59:51 no, it should return NIL 18:00:10 Yes, so why does (subtypep 'foo 't) return T,T? 18:00:11 plan9 [~stian@arachnotron.sletner.com] has joined #lisp 18:01:09 -!- fihi09 [~user@pool-96-224-165-27.nycmny.east.verizon.net] has quit [Ping timeout: 252 seconds] 18:01:37 -!- c|mell [~cmell@cpc3-colc5-0-0-cust193.colc.cable.ntl.com] has quit [Ping timeout: 264 seconds] 18:02:10 syamajala [~syamajala@140.232.178.166] has joined #lisp 18:02:27 heh, I have a macro called WITH-LAZY-EVAL that plays nicely with functions defined with DEF LAZY-FUNCTION 18:02:40 and DEF LAZY-FUNCTION defined both strict and lazy variants 18:03:13 you can freely mix them as long as you take care not to return or provide an infinite something to the strict world 18:03:33 (take (primes) 10) -> stack overflow 18:03:37 c|mell [~cmell@cpc3-colc5-0-0-cust193.colc.cable.ntl.com] has joined #lisp 18:03:41 (with-lazy-eval (take (primes) 10)) -> '(2 3 5 7 11 13 17 19 23 29) 18:03:52 (with-lazy-eval (take (primes) 10)) expands into (FORCE-RECURSIVELY (TAKE/LAZY (PRIMES/LAZY) 10)) 18:04:09 e.g. primes is defined as (def lazy-function primes () (sieve (integers-from 2))) 18:04:21 expanded into (DEF FUNCTION PRIMES NIL (FORCE-RECURSIVELY (PRIMES/LAZY))) and (DEF FUNCTION PRIMES/LAZY NIL (SIEVE/LAZY (INTEGERS-FROM/LAZY 2))) 18:04:29 -!- trebor_dki [~user@mail.dki.tu-darmstadt.de] has quit [Ping timeout: 246 seconds] 18:05:08 tcr: isn't it useless to pass ENV to SUBTYPEP and CONSTANTP if I can't do the same with EVAL ? 18:05:10 I'm wondering if delays could only be used at certain "places/times" when the stack is growing too deep to let the caller decide what to do 18:07:26 -!- varjag [~eugene@122.62-97-226.bkkb.no] has quit [Quit: Ex-Chat] 18:07:42 -!- jsfb [~jon@unaffiliated/jsfb] has quit [Remote host closed the connection] 18:08:13 fe[nl]ix: contantp expands macro in the ENV, SBCL ignores env in subtypep but it's necessary so subtypep takes deftypes from the same file into account portably (iirc) 18:08:55 -!- ichernetsky [~ichernets@port-163-adslby-pool46.infonet.by] has quit [Quit: Leaving.] 18:10:24 tcr: ENV being ignored and necessary doesn't make sense 18:10:56 "portably" 18:11:06 sbcl is not compliant in that regard 18:12:19 ska` [~user@124.157.214.197] has joined #lisp 18:13:06 hmm, this was pretty straight forward, I removed all delays 18:13:15 and put a special there incremented in each lazy call 18:13:23 demmeln [~Adium@dslb-094-216-209-050.pools.arcor-ip.net] has joined #lisp 18:13:27 at a certain threshold it returns a delayed computation 18:13:32 and it seems to work 18:13:38 less lambdas, more speed? 18:14:39 -!- Kolyan [~nartamono@95-26-244-216.broadband.corbina.ru] has quit [] 18:15:25 -!- slyrus [~chatzilla@adsl-75-36-211-117.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 264 seconds] 18:17:40 rdd [~rdd@c83-250-52-182.bredband.comhem.se] has joined #lisp 18:17:58 -!- leo2007 [~leo@smaug.linux.pwf.cam.ac.uk] has quit [Remote host closed the connection] 18:18:23 davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has joined #lisp 18:22:54 sierinjs [~root@unaffiliated/sierinjs] has joined #lisp 18:23:18 What does #: do? 18:23:48 clhs #: 18:23:48 http://www.lispworks.com/reference/HyperSpec/Body/02_dhe.htm 18:24:21 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 260 seconds] 18:24:46 -!- ska` [~user@124.157.214.197] has quit [Ping timeout: 245 seconds] 18:24:56 -!- srcerer [~chatzilla@dns2.klsairexpress.com] has quit [Read error: Connection reset by peer] 18:25:39 drewc [~drewc@89.16.166.162] has joined #lisp 18:27:39 -!- demmeln [~Adium@dslb-094-216-209-050.pools.arcor-ip.net] has quit [Quit: Leaving.] 18:28:31 levente_meszaros pasted "to delay or not to delay :-)" at http://paste.lisp.org/display/94852 18:29:07 the second variant only allocates two closures 18:30:18 what's weird is that the support library for the trivial implementation of the primes function takes 100 LOC 18:30:34 and primes itself is lik 20 LOC 18:30:47 again, lisp *is* a really powerful language 18:31:23 balooga1 [~00u4440@147.21.16.3] has joined #lisp 18:33:32 -!- balooga [~00u4440@147.21.16.3] has quit [Ping timeout: 246 seconds] 18:35:32 Louis11 [~chatzilla@nat-165-91-14-164.tamulink.tamu.edu] has joined #lisp 18:37:46 quotemstr [~quotemstr@cpe-67-247-228-249.buffalo.res.rr.com] has joined #lisp 18:37:53 When is it ever useful for a cond clause to be nil? 18:37:57 Louis11 pasted "untitled" at http://paste.lisp.org/display/94854 18:38:21 I'm still having some issues with infinite recursion . . . anyone have any suggestions? 18:41:18 slyrus [~chatzilla@adsl-75-36-211-117.dsl.pltn13.sbcglobal.net] has joined #lisp 18:42:33 <_3b> Louis11: what happens when you find a solution? 18:42:50 stw [~stw@static-71-172-94-66.nwrknj.fios.verizon.net] has joined #lisp 18:43:04 <_3b> Louis11: (as in where in the code is that handled) 18:43:16 at the moment, nothing, but in the end it should print out a path 18:43:17 tfb [~tfb@LMontsouris-152-62-15-18.w80-13.abo.wanadoo.fr] has joined #lisp 18:43:26 but in it's current state it simply doesn't run 18:43:46 <_3b> "doesn't run" or "runs too much" ? 18:43:58 quotemstr: how do you mean? 18:44:03 ah just did a trace, runs too much 18:44:19 (cond nil (t 42)) 18:44:21 <_3b> Louis11: alternately, what is /supposed/ to handle finding a solution in your current code 18:44:27 I assume its infinite recursion. I tried to handle this with my goal state 18:44:30 snorble [~none@s83-179-14-105.cust.tele2.se] has joined #lisp 18:44:51 <_3b> Louis11: the call to GOAL-STATE in SOLVE-PUZZLE you mean? 18:44:52 I have (goal-state) which should check the configuration, and prevent further recursion if only one t is present in the list 18:44:56 yes 18:45:11 I take it my goal-state checking is not sufficient? 18:45:13 <_3b> Louis11: ok, so what does solve-puzzle do when it sees a solution? 18:45:27 I figured it would just end at this point 18:45:47 <_3b> define 'it' and 'end' 18:45:48 quotemstr: That's not valid in CL 18:45:52 -!- levente_meszaros [~levente_m@apn-89-223-224-203.vodafone.hu] has quit [Quit: ...] 18:45:56 Answers that question. :-) 18:45:57 Tahnks. 18:46:01 -!- konr [~user@201.82.130.248] has quit [Read error: Operation timed out] 18:46:09 konr [~user@201.82.130.248] has joined #lisp 18:46:27 I figured the recursion would stop once the goal state is met, as it no longer satisfies the (and . . .) 18:46:31 sepult [~user@xdsl-87-79-117-79.netcologne.de] has joined #lisp 18:46:59 <_3b> Louis11: ignore the recursion for a second.. what does solve-puzzle do 18:47:00 quotemstr: (cond ((frob)) (t 12)) is valid though 18:47:10 hm . . . i also need to check "if there are any more moves" don't i? Otherwise it will only end on a goal state, but doesn't gauruntee it ever reaches a goal state. It could reach a dead end? 18:47:13 Right, right. 18:47:22 and pretty useful at times 18:47:37 solve-puzzle takes in the current configuration of the board. It finds all of the empty holes, and passes that list onto process-holes 18:47:57 <_3b> Louis11: it only does that when it isn't at goal state... what does it do when it is at goal state? 18:48:15 I assumed nothing, since it didn't satisfy the (and . . . 18:48:27 potatishandlarn [~potatisha@c-4f66daae-74736162.cust.telenor.se] has joined #lisp 18:48:49 I figured it was a "If the configuration satisfies the (when (and . . .)) then the code will be executed. Otherwise, that section will simply be passed over" 18:49:03 *Xach* wonders why he doesn't see more use of cond-as-when-let style 18:49:17 <_3b> Louis11: right, what happens when it is passed over 18:49:20 -!- marcelinollano [~marcelino@217.Red-79-155-24.dynamicIP.rima-tde.net] has quit [Ping timeout: 272 seconds] 18:49:33 legumbre_ [~leo@r190-135-16-208.dialup.adsl.anteldata.net.uy] has joined #lisp 18:49:44 <_3b> Louis11: hint: try running (when (not t) (print "foo")) at the repl 18:49:49 I thought the function ended. 18:50:02 <_3b> ok, and what does it return when it ends? 18:50:17 <_3b> and which function called it? 18:50:20 alright, it returns Nil? 18:50:24 <_3b> right 18:50:46 So then, why does it infinitely recurse? If nil is returned, then process-holes is never called? 18:51:14 -!- legumbre [~leo@r190-135-2-21.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 256 seconds] 18:51:22 <_3b> Louis11: which function called solve-puzzle? 18:51:49 I'm calling it directly. (solve-puzzle '(nil t t t t t t t t t t t t t t)) 18:52:14 what is the shape of the puzzle? 18:52:14 but, make-moves also calls it when it generates a new configuration 18:52:41 it's a triangle 18:52:43 http://s3.jonlathem.com/website/blog/CrackerBarrelPuzzle_lg1.jpg 18:52:46 <_3b> ok, what happens in make-moves after solve-puzzle finds goal and returns? 18:52:46 that game specifically 18:52:57 Is syntactically-correctly too much a mouthful? 18:53:18 uhm, nothing happens 18:53:25 <_3b> why nothing? 18:53:35 tcr: 'is correct, syntactically' 18:53:49 -!- kpreid [~kpreid@209-217-212-34.northland.net] has quit [Quit: kpreid] 18:54:30 Well solve-puzzle return Nil. So then Make-moves returns Nil? 18:55:06 Louis11: try tracing some of the relevant functions to see what's actually happening? 18:55:38 srcerer [~chatzilla@dns2.klsairexpress.com] has joined #lisp 18:55:50 Fade: Yea, i've been doing that. It looks like it's trying to solve the puzzle. At one point, I saw it get about halfway through and then get stuck in a configuration 18:56:00 I say stuck tentatively, as I am not really sure what was happening 18:56:55 <_3b> Louis11: what happens in make-moves if solve-puzzle didn't find a solution? 18:57:16 I implemented a knight's tour solver /w logic that wasn't totally dissimilar to this, and I found with a bit of look-ahead, if I selected a path with the fewest number of potential moves, the sol'n came back several orders of magnatude more quickly. 18:57:21 tsuru annotated #94854 "Consider:" at http://paste.lisp.org/display/94854#1 18:57:36 attila_lendvai [~ati@catv-89-134-66-143.catv.broadband.hu] has joined #lisp 18:57:53 I've seen COND called exceptionally ugly syntax. Why? What would be an alternative multi-conditional? 18:58:02 'course, chess allowed me to use a two dimensional array. 18:58:23 -!- reprore [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 18:58:31 -!- lexa_ [~lexa_@seonet.ru] has left #lisp 18:58:42 -!- tfb [~tfb@LMontsouris-152-62-15-18.w80-13.abo.wanadoo.fr] has quit [Remote host closed the connection] 18:58:49 _3b: I think i'm not checking for valid moves at a given configuration. Because of this, I check for a goal state, but never an invalid state? 18:58:50 <_3b> Fade: this code is still working on noticing it found a solution, finding it more efficiently isn't a problem yet :) 18:58:59 Fade: You rediscovered dynamic programming. Congratulations. 18:59:14 <_3b> Louis11: that might be a problem, but isn't what i'm trying to get you to notice at the moment :) 18:59:26 quotemstr: Called by whom? 18:59:38 tcr: I don't recall the source -- probably usenet somewhere. 18:59:45 The question just seems relevant now. 19:00:11 I only mention it because when I was building the solver, I got to a point where I thought it was stuck, but it was just way into solving untenable lines. 19:00:59 _3b: Hm, well I think solve-puzzle will only return nil on a goal state. So solve-puzzle never encounters a bad state, so it will continue with the next function calls 19:01:20 kpreid [~kpreid@216-171-189-244.northland.net] has joined #lisp 19:01:35 -!- davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has quit [Remote host closed the connection] 19:01:43 quotemstr: I don't think many language have something like that to begin with. Pattern guards can be concise 19:02:02 -!- srcerer [~chatzilla@dns2.klsairexpress.com] has quit [Read error: Connection reset by peer] 19:02:14 <_3b> Louis11: by 'continue' you mean evaluate the recursive MAKE-MOVES call after the SOLVE-PUZZLE call? 19:02:32 _3b: yea 19:02:42 I forgot how it's called but the | foo <- lookup x y, bar <- ... in ghc Haskell can be quite handy 19:02:50 <_3b> Louis11: ok, why do you expect it to behave differently when a goal state is found? 19:03:30 jsfb [~jon@unaffiliated/jsfb] has joined #lisp 19:03:42 <_3b> Louis11: note that make-moves doesn't do anything with the return value from solve-puzzle 19:03:50 oconnore_ [~oconnore_@c-66-31-125-56.hsd1.ma.comcast.net] has joined #lisp 19:04:12 didn't notice that 19:04:23 frontiers [~frontiers@139.79-160-22.customer.lyse.net] has joined #lisp 19:06:14 <_3b> Louis11: also note that solve-puzzle returns NIL when (list-of-open-holes config) is false as well 19:06:46 <_3b> Louis11: and when the body of the WHEN is executed, solve-puzzle returns the results of process-holes 19:07:12 <_3b> Louis11: and process-holes either returns NIL, or the result of the recursive call to process-holes 19:07:29 -!- legumbre_ is now known as legumbre 19:07:42 <_3b> Louis11: so if process-holes terminates, it returns nil, so solve-puzzle always returns nil 19:09:31 alright, so i'm looking at this code but i'm at a loss as to how to correct it. Is my not handling the solve-puzzle returned in make-moves a contributing factor? 19:10:02 <_3b> Louis11: yes, but as noted above, it doesn't return anything useful even if you did pay attention 19:10:35 cmatei [~cmatei@95.76.26.166] has joined #lisp 19:10:47 tsuru posted this http://paste.lisp.org/display/94854 19:11:15 I'm looking at the mapcar function - what does it do exactly? 19:11:25 I'm looking at the documentation, but don't see how it applies in this instance 19:11:39 <_3b> Louis11: it calls a function on every element of a list, and collects the return values into a new list 19:11:59 yes, that is not a magic bullet to fix all of it, I was trying to get you to think about what you are returning... 19:12:26 <_3b> Louis11: it is an alternative to your recursive functions for iterating along the elements of a list 19:12:52 Is the lambda similar to lambda in haskell? 19:13:07 <_3b> (but since you want to stop iterating when you find a solution, it probably isn't the best solution, even if it is a simplification of what you have now) 19:13:59 -!- astoon [~user@80.78.109.217] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 19:14:16 *_3b* assumes they are the same lambda... it creates an anonymous function (or a closure, more generally) 19:14:39 -!- alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has quit [Remote host closed the connection] 19:15:36 unicode [~user@95.214.88.151] has joined #lisp 19:16:05 hm so in make-moves, do I need to collect the moves being made, then check when solve-puzzle returns nil? 19:16:41 alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #lisp 19:16:46 *_3b* doesn't see any reason to collect it, but checking for goal state before continuing iteration would be a good idea 19:17:07 <_3b> checking the return value of solve-puzzle is one way to do that, assuming you modify it to return something different in that case 19:17:46 <_3b> Louis11: is learning/practicing recursion a goal of this exercise? 19:18:16 _3b: No, but I was under the impression that lisp was functional. My only other experience with functional languages was haskell, and everything had to be done with recursion 19:18:28 so naturally, recursion is what I assumed should be used 19:18:40 the goal is simply to find a solution 19:18:58 <_3b> scheme style favors recusion, but CL has many iterative constructs that are more appropriate for iteration than recursive solutions would be 19:19:06 -!- jsfb [~jon@unaffiliated/jsfb] has quit [Quit: Leaving] 19:19:29 Louis11: Common Lisp is only "functional" in so far as "it works" 19:19:37 plutonas [~plutonas@port-92-195-155-122.dynamic.qsc.de] has joined #lisp 19:19:57 tcr: That's what they told me yesterday. Just figured I already had this code, I would just run with it. But it's apparent that it's not working 19:20:59 <_3b> Louis11: implementing process-holes and make-moves iteratively would probably simplify things 19:21:20 <_3b> (though it seems like learning/practicing recursion might be a good idea anyway :) 19:21:42 yea, i'll admit i'm terrible at recursion 19:21:46 I second that :) 19:21:52 lol 19:22:00 I meant 3b's recommendation 19:22:01 leo2007 [~leo@smaug.linux.pwf.cam.ac.uk] has joined #lisp 19:22:05 doh bad timing 19:22:14 lol, it's correct nonetheless :) 19:22:31 but anyway, i'll have a look at the iterative method 19:22:40 got analysis of algorithms in about 10 minutes 19:22:44 thanks again for the help 19:23:02 -!- Louis11 [~chatzilla@nat-165-91-14-164.tamulink.tamu.edu] has quit [Remote host closed the connection] 19:23:47 is there a way to make floating points more accurate in sbcl? 19:24:06 Blkt [~user@net-93-146-153-17.t2.dsl.vodafone.it] has joined #lisp 19:24:06 <_3b> port the quad-float code from cmucl? :p 19:24:15 ;/ 19:24:17 porcelina: more accurate than what? 19:24:17 use ratios instead? 19:24:28 <_3b> (or use double-floats if you aren't already) 19:24:36 CL supports infinite precision numbers... 19:24:45 uhm, idk it's giving me around 10 digits. 19:25:24 -!- Adlai [~Adlai@unaffiliated/adlai] has quit [Quit: out] 19:25:30 _3b: It's available in pure (SB)CL in ygingras's fractal code. 19:25:46 (+ 5 (/ 1 10000000000000000000000000000000000000000000000000000)). lots of digits! 19:25:53 unicode-afk [~user@95.214.88.151] has joined #lisp 19:26:10 -!- unicode-afk [~user@95.214.88.151] has left #lisp 19:26:35 * (sqrt 142362457246834862562346) 19:26:35 3.773095e11 19:26:39 a lot less digits. :| 19:26:43 <_3b> if you haven't specified, you are probably using single floats, so doubles might help 19:27:00 how do you specify? 19:27:12 porcelina: coerce the integer to a double-float first. 19:27:34 (sqrt 142362457246834862562346d0) 19:27:34 3.773094979547094d11 19:27:45 ;o 19:28:22 uhm, how do i do that inside a function that takes ints? 19:28:35 porcelina: use the FLOAT function. 19:28:36 or COERCE 19:28:43 (coerce 5 'double-float) 19:28:53 *_3b* wonders if a large enough int coerced to a double could lose enough precision to be less accurate than an exact sqrt represented as a single 19:29:10 _3b: could happen, if you're unlucky. 19:29:13 hmm. 19:29:22 does sqrt do "exact", or does it coerce internally? 19:29:23 yeah, that seems like something that'd happen with rly big numbers. 19:29:25 _3b: well, fsvo precision. 19:29:43 isn't there a package for keeping numbers in rational form? 19:29:58 porcelina: rational square roots? 19:30:01 Really? 19:30:03 yeah 19:30:08 ,wiki sakura wars wii 19:30:15 whoops, wrong channel 19:30:19 lol 19:30:33 "If number is a positive rational, it is implementation-dependent whether root is a rational or a float." 19:30:51 huh 19:30:52 hmm... 19:31:02 so if you do (sqrt 123456778/1) ? 19:31:04 tcr: implementation and number -dependent ;) 19:31:23 dcrawford: rational include integers 19:31:32 ah 19:31:36 -!- Fufie [~innocent@86.80-203-225.nextgentel.com] has quit [Quit: Leaving] 19:32:19 pkhuong: well, an implementation could perhaps return an inexact rational, good to 100 digits 19:32:59 I'm not sure if the spec means to disallow that or not. :) 19:33:03 -!- balooga1 [~00u4440@147.21.16.3] has quit [Ping timeout: 265 seconds] 19:33:12 srcerer [~chatzilla@dns2.klsairexpress.com] has joined #lisp 19:33:27 <_3b> though i guess you could always use clisp long floats, with enough bits for whatever number you want the sqrt of 19:33:34 it says "returns the principal square root of number", which you might consider to indicate it was supposed to return the correct answer. but if it's returning floats, that's already false. 19:34:11 _3b: enough bits? How many bits are enough for (sqrt 2)? 19:34:53 <_3b> pkhuong: i mean enough to represent the original integer correctly 19:35:00 -!- srcerer [~chatzilla@dns2.klsairexpress.com] has quit [Read error: Connection reset by peer] 19:35:05 someone at school was talking about one that if you said (sqrt 2) would return root 2. 19:35:22 any computer algebra system. 19:35:22 <_3b> not much you can do about (sqrt 2) unless you want to just return '(sqrt 2) or something :) 19:35:35 Fufie [~innocent@86.80-203-225.nextgentel.com] has joined #lisp 19:35:36 tcr pasted "FLET.20 from ansi-test suite makes SBCL spin infinitively?" at http://paste.lisp.org/display/94857 19:35:39 you can return 3 root 2 for (sqrt 18) tho. 19:35:50 Could you try that snippet and report whether sbcl spins on it for you too? 19:35:53 which is better than just '(sqrt 18) 19:36:29 tcr: I can see that triggering an exponential-time behaviour. 19:36:43 tcr: returns T 19:36:45 tcr: it returns T almost instantly for me. 19:37:06 what platform, sbcl version? 19:37:06 okay i gotta get back to homework 19:37:10 thanks for the help guys. 19:37:27 linux-x86, .35.1 19:38:01 stassats`: *evaluator-mode*? 19:38:25 <_3b> tcr: returns t on win32 "1.0.25.57", :compile 19:38:27 compiled without sb-eval 19:38:33 Guthur [~Michael@host81-132-10-255.range81-132.btcentralplus.com] has joined #lisp 19:39:28 you say it returns instantly for you? 19:39:30 <_3b> t on 1.0.29/win32 also 19:39:38 carlocci [~nes@93.37.199.77] has joined #lisp 19:39:57 the same with 1.0.23.12 19:40:22 <_3b> 0.047 sec on fast machine/.0.25.57, .125 on slow/.0.29 19:40:34 I'm on 32bit x86 linux 19:40:37 -!- Blkt [~user@net-93-146-153-17.t2.dsl.vodafone.it] has quit [Ping timeout: 264 seconds] 19:41:40 <_3b> 0.642 on 1.0.29/very slow machine/linux x86-32 19:41:55 hm 19:42:00 <_3b> sorry, 1.0.21 on very slow machine/linux 19:42:06 OmniMancer [~OmniMance@222-154-176-115.jetstream.xtra.co.nz] has joined #lisp 19:42:28 Yay 19:42:41 Once a again bitten by (proclaim '(optimize (debug 2))) in my .sbclrc 19:43:59 <_3b> yep, that seems to break it 19:45:54 -!- alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has quit [Remote host closed the connection] 19:46:46 fool me twice... ? 19:47:16 mattrepl [~mattrepl@208.78.149.14] has joined #lisp 19:50:59 balooga [~00u4440@147.21.16.3] has joined #lisp 19:53:16 -!- marioxcc is now known as marioxcc-ADK 19:53:21 -!- marioxcc-ADK is now known as marioxcc-AFK 19:58:11 alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #lisp 19:59:42 -!- gz_ [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has left #lisp 20:01:23 redline6561 [~redline@c-66-56-16-250.hsd1.ga.comcast.net] has joined #lisp 20:01:26 -!- Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has quit [Read error: Connection reset by peer] 20:01:46 Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has joined #lisp 20:02:48 jtza8 [~jtza8@wbs-196-2-105-89.wbs.co.za] has joined #lisp 20:03:45 -!- splittist [~joe@30-245.62-188.cust.bluewin.ch] has quit [] 20:04:25 dstatyvka [ejabberd@pepelaz.jabber.od.ua] has joined #lisp 20:09:20 varjag [~eugene@226.119.202.84.customer.cdi.no] has joined #lisp 20:14:56 -!- kpreid [~kpreid@216-171-189-244.northland.net] has quit [Quit: kpreid] 20:15:04 -!- syamajala [~syamajala@140.232.178.166] has quit [Quit: Leaving...] 20:16:37 -!- freiksenet [~freiksene@hoasnet-fe29dd00-202.dhcp.inet.fi] has quit [Remote host closed the connection] 20:16:58 freiksenet [~freiksene@hoasnet-fe29dd00-202.dhcp.inet.fi] has joined #lisp 20:17:26 -!- rread [~rread@nat/sun/x-haymcqyxbfyrrxdv] has quit [Quit: rread] 20:18:29 LiamH [~none@pdp8.nrl.navy.mil] has joined #lisp 20:19:09 -!- Buganini [~buganini@security-hole.info] has quit [Ping timeout: 260 seconds] 20:22:59 dnolen [~dnolen@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has joined #lisp 20:24:07 adu [~ajr@pool-173-66-253-196.washdc.fios.verizon.net] has joined #lisp 20:25:56 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: *poof*] 20:27:42 Xach: Nice doc on buildapp. 20:27:59 Xach: Not knowing cl-launch, and dwim.build; how does it differ? 20:29:24 -!- fsl [~fsl@auf186.internetdsl.tpnet.pl] has quit [Ping timeout: 272 seconds] 20:29:59 dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #lisp 20:30:02 Emacs with M-x slime does this all the time  * ;; swank:close-connection: end of file on #. Any ideas how to fix it? 20:30:32 sierinjs: console emacs? 20:30:37 Yup. 20:30:53 emacs -nw 20:31:52 Hmm, it indeed works, without -nw. :/ 20:31:56 sierinjs: try again until the connection works 20:32:02 tcr: cl-launch is a shell script that aims to do a variety of "create a shell-launchable Lisp application" tasks across many different implementations 20:32:11 sierinjs: http://article.gmane.org/gmane.lisp.slime.devel/9280 20:32:25 tcr: many implementations, many strategies, etc; buildapp aims only to support one strategy on one lisp (sbcl) 20:32:44 -!- Guthur [~Michael@host81-132-10-255.range81-132.btcentralplus.com] has quit [Quit: Computer says no] 20:32:44 tcr: hu.dwim.build is closer to buildapp but it includes some hu.dwim-specific parts 20:32:58 Xach: ok thanks 20:33:39 Xach: the documentation should perhaps say that swank sets *debugger-hook* to the slime debugger on connection (if swank:*global-debugger* is true, the default) 20:33:55 that is that your users probably do not have to care about that 20:34:00 I like buildapp's focus on one specific task, and also that it addresses the usual "lisp executable" question. 20:34:16 tcr: i don't quite understand...how might someone run into trouble with that? 20:34:21 I'm observing what I believe to be something in Swank server/listener that is blocking non-local accesses (have removed firewall as a culprit) - is there a setting from this_? 20:34:59 swank listens on 127.0.0.1 20:35:10 tcr: oh, you mean if they make their own custom program that doesn't use the default debugger, they might wonder why it isn't getting called on errors after swank has been connected? 20:35:32 use ssh tunnels for remote connections 20:35:45 kpreid [~kpreid@209-217-212-34.northland.net] has joined #lisp 20:36:03 Buganini [~buganini@security-hole.info] has joined #lisp 20:36:10 stassats`: Is that a deliberate thing? 20:36:14 yes 20:36:22 Xach: Well that may be the case, too, but my point is that you say "buildapp does not deal with debugger management", and people might wonder if they have to tweak anything to get sldb show up (they don't) 20:36:52 tcr: ah, i see. here's what i had in mind when i wrote that... 20:36:56 srcerer [~chatzilla@dns2.klsairexpress.com] has joined #lisp 20:37:03 if you trust your network, you can set swank:*loopback-interface* to "0.0.0.0" 20:37:17 :: 20:37:35 stassats`: Is there a convenient way to ssh-client from Emacs (hopefully at the point of slime-connect) to do the SSL connection as well? 20:37:42 tcr: i imagine one class of users want to just make a command-line program that doesn't enter an interactive debugger, so they want a custom debugger that e.g. prints out a pretty message and exits. buildapp doesn't facilitate (or inhibit) that in any way. 20:37:52 slyrus_ [~slyrus@adsl-99-96-17-238.dsl.pltn13.sbcglobal.net] has joined #lisp 20:38:21 Modius: i don't understand what you're asking 20:38:36 deepfire [~deepfire@80.92.100.69] has joined #lisp 20:39:14 Bordeaux-threads conflict with binary-types, through a shared package nickname. 20:39:34 stassats` I know how to use putty to create a tunnel to this server. What I'm wondering is if there's a convenient known way to do so from within emacs (client-side) 20:40:20 not that i know of 20:40:28 Xach: Yeah in fact, I'd like to have such a thing built in. When I had the opportunity to do class assignments by using Lisp, I used clisp, and I found it very convenient that I could just use ASSERT, and it wouldn't land the user into the debugger. 20:41:34 -!- deepfire is now known as _deepfire 20:41:49 -!- bigjust [~jcaratzas@adsl-074-232-230-165.sip.asm.bellsouth.net] has quit [Ping timeout: 264 seconds] 20:42:38 since you can run commands from within Emacs, you can probably run a script that creates the tunnel. 20:42:41 tcr: I'm inclined to support that via another library, so you could "buildapp --load-system buildapp-debugger ..." and then (buildapp-debugger:install-debugger ...) or something simmilar 20:43:42 -!- freiksenet [~freiksene@hoasnet-fe29dd00-202.dhcp.inet.fi] has quit [Remote host closed the connection] 20:44:27 bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has joined #lisp 20:45:02 tcr: what facility does clisp have to make that command-line use convenient? 20:45:05 holycow [~new@69.67.174.130] has joined #lisp 20:45:11 is it part of shebang handling or something? 20:45:34 fsl [~fsl@auf186.internetdsl.tpnet.pl] has joined #lisp 20:45:55 oh, i guess there's also sb-ext:disable-debugger. but i find that painfully verbose. 20:46:10 yes it's part of it 20:46:54 <_deepfire> I need to restart hacking on desire, it's been like weeks between smallish commits, after months of every-day hacking in 2009 (which the New Year totally ruined). 20:46:55 tfb [~tfb@LMontsouris-152-62-15-18.w80-13.abo.wanadoo.fr] has joined #lisp 20:47:03 Ideally, I could do ./buildapp --disable-debugger ... 20:47:29 _deepfire: How is it evolving? 20:47:55 Adlai [~adlai@unaffiliated/adlai] has joined #lisp 20:47:59 <_deepfire> tcr, I'm working on parting it to ECL/linux -- CCL/linux is already there. 20:48:33 <_deepfire> The former is stalled by trying to come up with a unified codebase for RUN-PROGRAM across as many implementations as I can. 20:49:19 <_deepfire> The ECL part is tentatively almost done, stalled by a couple of fairly weird bugs, supposedly on the ECL side. 20:49:40 ECL's code base seems quite nice judging from the few bits I looked at 20:49:47 <_deepfire> And I'm somewhat reluctant at bugging Juanjo into looking into it, as I feel like I overextended my credit. 20:50:37 <_deepfire> ..and it's not trivial either -- one case strongly hints at a FFI breakage, and the other involves DEFSTRUCT expanding into a DEFCLASS form. 20:50:48 <_deepfire> for some unknown reason. 20:50:57 I installed some things through clbuild(slime incl.). When I do emacs + M-x slime I can get into slime, but when I do (require 'cl-ppcre) it errors about something. How do I make him to find all those other installed things? 20:51:47 -!- attila_lendvai [~ati@catv-89-134-66-143.catv.broadband.hu] has quit [Ping timeout: 246 seconds] 20:52:38 lispm [~joswig@e177123141.adsl.alicedsl.de] has joined #lisp 20:52:54 <_deepfire> Actually, I could cash upon the recent extensions to ECL's native RUN-PROGRAM juanjo made (which I asked for) and proceed w/out syncing on unified RUN-PROGRAM. 20:53:00 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 20:53:22 <_deepfire> But the desire for the latter is burning. 20:53:59 <_deepfire> And I'm too overworked lately that I didn't have much time for any non-work projects. 20:54:18 <_deepfire> OTOH, I managed to opensource a major work-project recently. 20:54:30 hello 20:54:35 <_deepfire> So I'm not entirely complaining. 20:54:42 <_deepfire> Hey fenlix. 20:56:00 <_deepfire> Oh, my women is no longer sleepy, so bye bye hack time :-) 20:57:29 _deepfire: what project ? 20:57:54 <_deepfire> fenlix, http://blog.feelingofgreen.ru/lisp/COMMON-DB-released/ 21:00:24 daniel [~daniel@p5082ED3E.dip.t-dialin.net] has joined #lisp 21:01:14 <_deepfire> Ok, dollhouse time. 21:02:05 -!- daniel_ [~daniel@p5082F8C3.dip.t-dialin.net] has quit [Ping timeout: 260 seconds] 21:08:19 Hi all, I'm a lisp newb, looking for a good open source reference app to study, any recommendations? 21:09:06 stw: i learned a lot about CL from studying http://weitz.de/cl-ppcre/ 21:09:42 thanks, I'll take a look at that 21:10:08 i come from a pretty strong perl backgrounds so it might be a good fit 21:11:16 when i used perl a lot i never thought about how regular expressions might be implemented. it just seemed like black magic that high wizards must have passed down to me. 21:11:37 cl-ppcre made me think about how it could be done and that it didn't have to be obscure or difficult. 21:12:10 -!- tomaw_ [tom@freenode/staff/tomaw] has quit [Quit: Quitting] 21:12:11 cool, i will definitely check it out 21:12:31 there is also an application written with it 21:12:42 moocow [~new@mail.fredcanhelp.com] has joined #lisp 21:12:48 the regexp coach 21:12:54 -!- hugod [~hugod@207.96.182.162] has quit [Ping timeout: 256 seconds] 21:13:06 -!- holycow [~new@69.67.174.130] has quit [Ping timeout: 272 seconds] 21:13:13 http://weitz.de/regex-coach/ 21:13:24 francogrex [~user@63.47-244-81.adsl-dyn.isp.belgacom.be] has joined #lisp 21:13:44 it took effort for me to understand cl-ppcre, but i never felt like it was because the code was unnecessarily complicated or hairy. it seemed like sufficient complexity for the task at hand. 21:13:46 great, thanks, would you guys consider these projects good cl style and idiomatic? 21:14:31 varjagg [~eugene@226.119.202.84.customer.cdi.no] has joined #lisp 21:14:50 stw: it's good, but i'd look around at more things too. 21:15:10 there are a lot fo different styles in CL 21:15:15 Blkt [~user@net-93-146-149-241.t2.dsl.vodafone.it] has joined #lisp 21:15:47 Xach: Russ Cox has written a few interesting papers about implementation of regex engines 21:15:49 ok, sure, that makes sense 21:15:57 check out Edi's stuff, that's a good way to read into CL code 21:16:09 One made me feel to want to learn C properly :-) 21:17:01 -!- slyrus_ [~slyrus@adsl-99-96-17-238.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 260 seconds] 21:17:48 he's got a great page, with lots of links, this ought to provide a good start 21:17:56 -!- varjag [~eugene@226.119.202.84.customer.cdi.no] has quit [Ping timeout: 252 seconds] 21:18:44 There's also a lot of interesting thing by the dude who wrote TLC's engine (spencer?) 21:20:59 Phoodus [foo@97-124-127-114.phnx.qwest.net] has joined #lisp 21:21:16 (sb-ext:valid-type-specifier-p '*) => T 21:21:34 hrm 21:22:35 -!- francogrex [~user@63.47-244-81.adsl-dyn.isp.belgacom.be] has quit [Quit: ERC Version 5.2 (IRC client for Emacs)] 21:22:52 I think I'm going to ignore that :-) 21:23:39 when i did mostly perl things, i didn't really think about how i might add regular expressions if they weren't already built-in. same with hash tables and things like that. my CL outlook is quite different. 21:24:30 -!- Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has quit [Ping timeout: 272 seconds] 21:24:43 -!- tfb [~tfb@LMontsouris-152-62-15-18.w80-13.abo.wanadoo.fr] has quit [Quit: sleeping] 21:24:45 do you find you have to (want to) add a lot of things on your own? 21:25:04 stw: I find that it isn't an area i consider to be the realm of black magic and wizards. 21:25:41 It's not intimidating to think about adding things that might seem like some distant implementor should have provided. 21:25:48 (in other environments) 21:26:21 ok, i see, from what I've picked up so far that is the feeling I get also 21:27:26 Of course, it's always nice when someone else does the work already. 21:27:40 *Xach* reuses cl-ppcre, CXML, Ironclad, Drakma, and things like that all the time 21:27:46 stassats [~stassats@wikipedia/stassats] has joined #lisp 21:28:29 what's next? building a computer from discrete transistors? 21:29:06 -!- stassats` [~stassats@wikipedia/stassats] has quit [Ping timeout: 240 seconds] 21:29:06 I'm looking forward to studying some production code, I appreciate the pointers 21:34:12 demmeln [~Adium@dslb-092-075-036-133.pools.arcor-ip.net] has joined #lisp 21:34:18 -!- OmniMancer [~OmniMance@222-154-176-115.jetstream.xtra.co.nz] has quit [Read error: Connection reset by peer] 21:34:50 poet [~poet@vpn3-146179.near.uiuc.edu] has joined #lisp 21:34:50 -!- poet [~poet@vpn3-146179.near.uiuc.edu] has quit [Changing host] 21:34:51 poet [~poet@unaffiliated/poet] has joined #lisp 21:35:03 -!- rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has quit [Quit: rickmode] 21:35:18 -!- Blkt [~user@net-93-146-149-241.t2.dsl.vodafone.it] has quit [Remote host closed the connection] 21:35:33 OmniMancer [~OmniMance@222-154-176-115.jetstream.xtra.co.nz] has joined #lisp 21:35:57 cl-ppcre, CXML, Ironclad,  AntiSpamMeta 21:36:37 sorry 21:37:45 hugod [~hugod@207.96.182.162] has joined #lisp 21:38:32 Xach: i have found it much easier to avoid regular expressions all together... i don't have to use a library and i don't have to write one :) 21:38:51 soyeomul [~bh@betla.izb.knu.ac.kr] has joined #lisp 21:40:10 bigjust [~jcaratzas@adsl-074-232-230-165.sip.asm.bellsouth.net] has joined #lisp 21:40:33 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 21:40:43 That said, i do have ad-hoc parsers or subseq/position type stuff which could arguably be replaced by regexps or a higher level pattern matching library. 21:40:56 I just haven't found one i find suitable. 21:42:01 Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has joined #lisp 21:46:14 amnesiac [~amnesiac@p3m/member/Amnesiac] has joined #lisp 21:46:26 does cl-ppcre use the NFA algorithm outlined by russ cox? 21:48:34 -!- hugod [~hugod@207.96.182.162] has quit [Ping timeout: 272 seconds] 21:48:47 Fade: no. Straightforward backtracking. 21:49:02 -!- felideon [~user@12.228.15.162] has quit [Quit: out] 21:50:33 -!- LiamH [~none@pdp8.nrl.navy.mil] has quit [Quit: Leaving.] 21:51:23 dreish [~dreish@minus.dreish.org] has joined #lisp 21:53:00 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Remote host closed the connection] 21:54:32 -!- Edico [~Edico@unaffiliated/edico] has quit [Quit: Ex-Chat] 21:54:35 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 21:57:01 proq [~user@unaffiliated/proqesi] has joined #lisp 21:59:20 drewc: I always find it nice that when I feel like they're a good fit, there's a good library to take advantage of 'em. 21:59:25 holycow [~new@69.67.174.130] has joined #lisp 21:59:58 same with all the other stuff people have written for me 22:00:35 Xach: very true, very true indeed. 22:00:36 -!- moocow [~new@mail.fredcanhelp.com] has quit [Ping timeout: 272 seconds] 22:02:04 -!- holycow [~new@69.67.174.130] has quit [Read error: Connection reset by peer] 22:02:29 -!- balooga [~00u4440@147.21.16.3] has quit [Ping timeout: 246 seconds] 22:02:52 -!- soyeomul [~bh@betla.izb.knu.ac.kr] has quit [Quit: Gnus Rules!] 22:03:09 -!- ikki [~ikki@200.95.162.194] has quit [Ping timeout: 252 seconds] 22:03:41 jockc [~jockc@dsl-206-251-71-75.dynamic.linkline.com] has joined #lisp 22:04:02 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: *poof*] 22:05:40 Yuuhi [benni@p5483D295.dip.t-dialin.net] has joined #lisp 22:05:59 -!- Ragnaroek [~chatzilla@p54A64F93.dip.t-dialin.net] has quit [Remote host closed the connection] 22:12:20 -!- jockc [~jockc@dsl-206-251-71-75.dynamic.linkline.com] has quit [Remote host closed the connection] 22:14:46 Louis11 [~chatzilla@64.134.151.189] has joined #lisp 22:14:53 hello again :) 22:15:48 -!- fsl [~fsl@auf186.internetdsl.tpnet.pl] has quit [Quit: WeeChat 0.3.1.1] 22:16:29 -!- dstatyvka [ejabberd@pepelaz.jabber.od.ua] has left #lisp 22:19:13 ikki [~ikki@200.95.162.194] has joined #lisp 22:19:15 What's a good way to randomly walk through all functions in the Lisp image? 22:19:32 gonzojive_ [~red@c-76-21-113-242.hsd1.ca.comcast.net] has joined #lisp 22:19:41 rme [~rme@pool-70-104-120-122.chi.dsl-w.verizon.net] has joined #lisp 22:21:47 tcr: map-symbols with fboundp, assuming you only want toplevel functions? 22:22:02 davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has joined #lisp 22:22:09 I guess you mean do-all-symbols 22:22:50 yeah, i do... my brain somehow spat out what i wish was there rather than what is offered. 22:22:54 or LOOP 22:23:38 ccl::%map-lfuns 22:24:25 jockc [~jockc@dsl-206-251-71-75.dynamic.linkline.com] has joined #lisp 22:25:36 what's l? 22:26:46 balooga [~00u4440@147.21.16.3] has joined #lisp 22:27:17 tcr: a letter 22:28:12 -!- Zephyrus [~emanuele@unaffiliated/zephyrus] has quit [Quit: ""] 22:28:37 sb-vm::map-allocated-objects? 22:29:51 So when I have a function that is being called recursively, and it returns a value, how should I go about collecting the returned values? 22:30:07 tcr: "lisp". I think in the old days (like 1985 or so) there used to be some other kind of funs (cfuns, written in C, and sfuns, which were something else). The other kinds died out, and now a "lisp function" is just a function. 22:30:48 Louis11: typical to pass an accumulator argument 22:31:06 clhs define-symbol-macro 22:31:07 http://www.lispworks.com/reference/HyperSpec/Body/m_defi_1.htm 22:31:38 Louis11: rather than return values, pass an accumulator through your functions, and return that. 22:31:40 There does not seem to be compile-time effects specified to define-symbol-macro 22:31:41 Summermute [~Summermut@c-68-55-150-29.hsd1.dc.comcast.net] has joined #lisp 22:32:14 I take it by accumulator, you mean a variable that I add to, and return in the end? 22:32:30 fihi09 [~user@pool-96-224-165-27.nycmny.east.verizon.net] has joined #lisp 22:32:37 Louis11: exactly. 22:32:43 alright, thanks 22:33:14 louis otherwise you can cons up the returns as they happen 22:33:17 tcr: it look like you're right. that doesn't make me happy. 22:33:37 it doesn't make sense at all 22:34:23 tcr: less so than defmacro? 22:34:37 hm? 22:34:51 re compile-time effects of define-symbol-macro. 22:35:00 defmacro does have compile-time effects 22:35:04 I'm not getting your point 22:35:16 pkhuong, define-symbol-macro does not have the same effects that are specified for defmacro 22:35:32 it doesn't have any 22:36:12 It looks like you can't portably use define-symbol-macro and use that symbol-macro within the same file 22:36:25 tcr: * without eval-when 22:36:40 tcr, I think it's an unintentional omission, though 22:36:57 tcr: I was wondering if defmacro had any explicit compile-time effect specified. 22:37:01 Adlai: i'm not so sure... it's an easy copy paste from defmacro 22:37:12 defmacro has the compile-time side effect, though 22:37:15 pkhuong: it does when it appears as a toplevel form 22:37:21 it's like an "eval-always" 22:37:29 rickmode [~rickmode@64.134.235.192] has joined #lisp 22:37:56 "If a defmacro form appears as a top level form, the compiler must store the macro definition at compile time" 22:38:36 there is unfortunately no such wording for define-symbol-macro. 22:38:43 ECL seems to interpret the spec very strictly, so it's not just some academic point 22:39:06 tcr, I think most lisps define the symbol macro at compile time 22:39:21 hugod [~hugod@207.96.182.162] has joined #lisp 22:40:10 Lisp->C implementation traditionally differ on stuff like that 22:42:40 -!- bigjust [~jcaratzas@adsl-074-232-230-165.sip.asm.bellsouth.net] has quit [Read error: Connection reset by peer] 22:42:58 -!- lispm [~joswig@e177123141.adsl.alicedsl.de] has quit [Remote host closed the connection] 22:43:02 -!- besiria [~user@83.212.87.178] has quit [Remote host closed the connection] 22:44:15 dralston [~dralston@S010600212986cca8.va.shawcable.net] has joined #lisp 22:47:54 -!- unicode [~user@95.214.88.151] has quit [Ping timeout: 240 seconds] 22:49:32 when I'm in emacs and using slime I have auto-completion, but when I switch to editing a text file I lose the ability. How do I get the same ability when editing files? 22:50:09 Louis11 pasted "New code" at http://paste.lisp.org/display/94873 22:50:14 you hit the right keys 22:50:23 e.g. M-TAB 22:50:26 Is there any reason why i'm getting an undefined function warning? 22:50:32 The function is clearly defined :/ 22:50:59 Louis11: do you compile it? 22:51:08 I get a message saying "[Can't find completetion for ..." 22:51:27 brennanc: maybe it's true? 22:51:30 stassats: I'm just doing (load "peg.lisp") 22:51:38 so i don't think it's compiled 22:51:46 Louis11: do (load (compile-file "peg.lisp")) 22:51:51 or C-c C-k in Slime 22:52:38 hm, i get a .fasl file? 22:52:50 brennanc: Does your buffer start with a (in-package ...) form? 22:53:12 ah that works :) 22:53:13 thanks 22:54:47 I think I might need to compile or load it first. let me try 22:55:13 how about making slime complain when compiling a file that doesn't start with an IN-PACKAGE or that doesn't have one at all ? 22:55:16 -!- Draggor [~Draggor@216-80-120-145.alc-bsr1.chi-alc.il.static.cable.rcn.com] has quit [Read error: Operation timed out] 22:56:15 It would make sense that | (in-package :foo) where | denotes point, that the REPL-package would be used 22:56:29 but actually if it can't find a in-package form by searching backwards, it searches forwards 22:56:34 for whatever strange reason 22:58:07 Louis11 annotated #94873 "untitled" at http://paste.lisp.org/display/94873#1 22:59:16 -!- hugod [~hugod@207.96.182.162] has quit [Quit: hugod] 22:59:30 -!- Adlai [~adlai@unaffiliated/adlai] has quit [Ping timeout: 272 seconds] 22:59:44 -!- ryepup [~ryepup@216.155.97.1] has left #lisp 23:00:13 "found where keyword expected getting LOOP clause after WHEN current LOOP" any idea what this means? 23:00:25 jmbr___ [~jmbr@22.32.220.87.dynamic.jazztel.es] has joined #lisp 23:00:58 -!- alley_cat [~AlleyCat@sourcemage/elder/alleycat] has quit [Quit: Ex-Chat] 23:01:37 your loop body is malformed 23:02:08 -!- Hun [~hun@p50993726.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 23:02:50 -!- jmbr__ [~jmbr@144.32.220.87.dynamic.jazztel.es] has quit [Ping timeout: 256 seconds] 23:03:24 if you are expecting someone to read all your code and find in which function exactly it happens, then it's in PROCESS-HOLES, you need DO after when (all-moves config i) 23:03:41 -!- morphling [~stefan@gssn-5f755adc.pool.mediaWays.net] has quit [Remote host closed the connection] 23:03:51 i'm not expecting anyone to read all my code :) I just wanted a hint as to what was happening as I wasn't familiar with the error message 23:04:34 -!- poet [~poet@unaffiliated/poet] has quit [Ping timeout: 272 seconds] 23:04:46 then you need to include the form in question and exact error message 23:04:46 Dodek [~Dodek@wikipedia/Dodek] has joined #lisp 23:05:12 -!- Dawgmatix_ [~dman@c-76-124-9-27.hsd1.nj.comcast.net] has quit [Ping timeout: 272 seconds] 23:05:14 -!- sierinjs [~root@unaffiliated/sierinjs] has quit [Ping timeout: 265 seconds] 23:05:20 (next time) 23:05:45 -!- mattrepl [~mattrepl@208.78.149.14] has quit [Ping timeout: 260 seconds] 23:06:02 alright 23:06:11 -!- kpreid [~kpreid@209-217-212-34.northland.net] has quit [Quit: kpreid] 23:06:15 -!- stw [~stw@static-71-172-94-66.nwrknj.fios.verizon.net] has left #lisp 23:06:57 nyef [~nyef@pool-64-222-146-224.man.east.myfairpoint.net] has joined #lisp 23:07:16 -!- konr [~user@201.82.130.248] has quit [Ping timeout: 245 seconds] 23:07:42 gemelen [~shelta@shpd-92-101-156-41.vologda.ru] has joined #lisp 23:10:58 -!- varjagg [~eugene@226.119.202.84.customer.cdi.no] has quit [Remote host closed the connection] 23:14:15 lithper2__ [~chatzilla@72.8.31.30] has joined #lisp 23:14:54 -!- mega1 [~quassel@3e70cb39.adsl.enternet.hu] has quit [Ping timeout: 265 seconds] 23:15:51 SandGorgon [~OmNomNomO@office.sea.jambool.com] has joined #lisp 23:16:00 -!- lithper2_ [~chatzilla@72.8.31.30] has quit [Ping timeout: 252 seconds] 23:17:00 balooga1 [~00u4440@147.21.16.3] has joined #lisp 23:19:17 jcowan [~jcowan@2620:0:1003:1005:21a:a0ff:fe13:f0c0] has joined #lisp 23:20:06 *drewc* shakes his fist at FORMAT 23:20:35 * FORMAT swallows the fist and belches 23:20:41 why doesn't ~{ ~} work with vectors! 23:20:49 -!- balooga [~00u4440@147.21.16.3] has quit [Ping timeout: 264 seconds] 23:20:51 *drewc* hands drewc a COERCE 23:21:20 * FORMAT cowers in the corner 23:21:27 -!- carlocci [~nes@93.37.199.77] has quit [Quit: eventually IE will rot and die] 23:21:44 *jcowan* gently suggests a combinator library instead of some hijjus hackque 23:24:44 carlocci [~nes@93.37.199.77] has joined #lisp 23:27:55 in my for loop I do (loop for i in holes . . .) is there anyway to get the index for i? 23:28:09 for index from 0 23:29:45 -!- adu [~ajr@pool-173-66-253-196.washdc.fios.verizon.net] has quit [Quit: adu] 23:30:30 (loop for index from 0 in holes . . .)? 23:30:34 -!- b4|hraban [~b4@a83-163-41-120.adsl.xs4all.nl] has quit [Quit: Leaving] 23:30:39 no 23:30:44 just for index from 0 23:31:00 (loop for index from 0 for item i holes ...) 23:31:04 err 23:31:06 item in* 23:32:07 blah, i thought that would solve my problem 23:32:56 -!- jcowan [~jcowan@2620:0:1003:1005:21a:a0ff:fe13:f0c0] has quit [Quit: Leaving] 23:34:20 -!- c|mell [~cmell@cpc3-colc5-0-0-cust193.colc.cable.ntl.com] has quit [Ping timeout: 272 seconds] 23:34:50 parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #lisp 23:37:25 so i'm trying out a big hash... is there a good way to merge hashes? if i pass one as a function parameter, obviously it won't keep changes made in the function unless i return a new hash 23:37:44 or really, hash of hash of hashes. 23:37:46 Demosthenes: why wouldn't it keep changes? 23:38:22 i thought they were passed by copy, not reference. 23:38:31 er, value. 23:38:39 Does the slime (client) have any option for "keepalive" that it can use to keep the tunnel open with? 23:39:15 -!- dnolen [~dnolen@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has quit [Quit: dnolen] 23:39:18 everything is passed by value, but every value is a reference (except for some immutable objects, i.e. numbers and characters). 23:39:40 man, i thought perl's $HashRef->{"a"}->{"b"}->{"c"} was clunky until i did (gethash "c" (gethash "b" (gethash "a" myhash))) 23:40:19 pkhuong: let me ponder that bit of wisdom. 23:40:20 so, don't do that 23:42:47 Louis11 annotated #94873 "New Code" at http://paste.lisp.org/display/94873#2 23:42:55 Draggor [~Draggor@216-80-120-145.alc-bsr1.chi-alc.il.static.cable.rcn.com] has joined #lisp 23:43:35 In that code I am passing the variable "solution" through my functions. In the end I want to print it out. However, I am looping in the process-moves function, I take it this will modify my solution when it shouldn't? 23:43:48 I'm trying to wrap my head around how to accumulate everything at the end 23:44:16 -!- jtza8 [~jtza8@wbs-196-2-105-89.wbs.co.za] has quit [Quit: Lost terminal] 23:48:07 pkhuong: ooh! i can pass the hash, and even use local lets to point to the hash in a hash i want to work on... slick. 23:48:14 you have to go out of your way there in perl 23:48:33 Demosthenes: if you want chaining of hash table accesses, it's pretty easy to write a function to do that, too. 23:48:37 stassats: you were suggesting an alternate addressing method? 23:48:47 Demosthenes: what sykopomp said 23:48:48 is there any reason why doing a trace would cause the execution time of a program to increase? Without trace the program is done in a few seconds, with trace it's taking a bit longer 23:49:09 sykopomp: i was just reading that someone elsewhere suggested a reader-macro, but was disuaded because they weren't portable. 23:49:10 Louis11: because it prints additional information? 23:49:13 Louis11: please only paste the code that changes when annotating... 23:49:22 Demosthenes: (defun hashget (hash &rest keys) 23:49:22 "Convenience function for recursively accessing hash tables." 23:49:23 (reduce (lambda (h k) (gethash k h)) keys :initial-value hash)) 23:49:28 tsuru`: Sorry thought it meant a new paste 23:49:47 paste diffs! 23:49:50 sykopomp: hrm, lemme tease that apart, thanks. 23:49:55 (i'm not serious) 23:50:14 Demosthenes: (hashget *hashtable* 'key1 'key2 'key3) 23:50:29 sykopomp: don't forget to handle missing values. 23:50:51 -!- davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:51:10 kpreid [~kpreid@216-171-189-244.northland.net] has joined #lisp 23:51:22 pkhuong: (if h (gethash k h) (error "Shit went wrong"))? :) 23:51:34 *laugh* 23:51:48 Demosthenes: what possible problem are you solving that needs such a scary data structure, and wouldn't it be better to hide the fact that it's a hash of hash of hashes behind some nice accessor functions? 23:51:51 Demosthenes: as a general rule of thumb, you don't need readmacros or even regular macros to do many many things. 23:52:04 Demosthenes, in that perl example you need only first "->" 23:52:35 people seem to have this idea that when you need a layer of abstraction, macros are the best choice ;) 23:53:36 sykopomp: then they have two problems :) 23:53:39 Greetz to adlai for writing that utility function after I wrote an awful, awful version of it. 23:53:40 drewc: scary hash of hashes ;] 23:54:00 just organizing adhoc instead of prematurely 23:54:20 drewc: I ran into the scary hash of hashes phenomenon with couchdb, which loves itself some objects inside objects :\ 23:54:30 actually, that's where that code is from. 23:54:30 Demosthenes: then you're doing it wrong. use conses! 23:54:33 -!- dralston [~dralston@S010600212986cca8.va.shawcable.net] has quit [Remote host closed the connection] 23:55:04 Demosthenes: we build our ad-hoc data structures out of CONSes around these parts :P 23:55:29 Louis11: what happens in SOLVE-PUZZLE if LIST-OF-OPEN-HOLES returns nil? 23:55:49 davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has joined #lisp 23:56:07 Demosthenes: (incf drewc). If you want an associative data structure, use alists. 23:56:13 syamajala [~syamajala@c-76-119-52-223.hsd1.ma.comcast.net] has joined #lisp 23:56:15 -!- syamajala [~syamajala@c-76-119-52-223.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 23:56:21 tsuru`: solve-puzzle returns nil? 23:56:21 it's nicer when you're just messing around. 23:56:52 hash of hash of hashes sounds like it's getting into 'this is probably a tree' 23:56:55 <_3b> bah, plists ftw... assoc isn't an accessor :p 23:56:59 -!- l0stman [~l0stman@freedsl-2.blueline.mg] has quit [Quit: leaving] 23:57:01 Louis11: right. What happens if there is a SOLUTION and LIST-OF-OPEN-HOLES returns nil? 23:57:02 conses make great trees 23:57:05 Demosthenes: While this situation can be solved with a function, start to look for patterns in things like your 3-level-deep gethash group 23:57:21 _3b: http://github.com/adlai/ALREF ;) 23:57:25 Demosthenes: Some patterns emerge not just at the level of what you're doing; but in the "shape" of the s-expressions you type in to do it. 23:57:30 now it does. DEATH BE TO PLISTS. 23:57:35 (a (a (a b))) <-- 23:57:36 in symbols or otherwise. 23:57:41 well, I was attempting to make it so that if there is a solution, then list-of-open-holes will not return nil 23:58:04 I had that issue in my old version, attempted to fix it here 23:58:25 drewc: but having hash tables with integer indexes is such a nice way to build your arrays! :D 23:58:56 Louis11: okay... How can SOLVE-PUZZLE ever return anything but NIL? 23:59:07 `(with-sarcasm (lambda () ,@*)) 23:59:11 sykopomp: what does using alists as plists gain over plists besides the extra cons? 23:59:20 well it eventually will return nil, I was hoping to keep track of all the moves and just return them once solve-puzzle does return nil? 23:59:45 drewc: nothing. I just happen to prefer alists for no real reason. Matter of taste, I guess. 23:59:54 getf only works on symbol keys? 23:59:58 ASSOC returning the entire CONS is a feature.