00:00:16 sonnym [~evissecer@rrcs-184-74-137-167.nys.biz.rr.com] has joined #lisp 00:02:10 -!- Posterdati_ [~tapioca@host127-230-dynamic.16-87-r.retail.telecomitalia.it] has quit [Read error: Connection reset by peer] 00:07:41 -!- freiksenet [~freiksene@cs181130165.pp.htv.fi] has quit [Ping timeout: 240 seconds] 00:09:58 -!- fantazo_ [~fantazo@178-191-175-7.adsl.highway.telekom.at] has quit [Ping timeout: 276 seconds] 00:13:08 _hramrach [debian-tor@gateway/tor-sasl/hramrach] has joined #lisp 00:13:17 -!- Joreji [~thomas@75-186.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 272 seconds] 00:13:17 -!- churib is now known as churib_zZz 00:13:26 -!- hramrach__ [debian-tor@gateway/tor-sasl/hramrach] has quit [Ping timeout: 240 seconds] 00:13:34 Edward [~ed@AAubervilliers-154-1-49-67.w90-3.abo.wanadoo.fr] has joined #lisp 00:14:38 -!- HG` [~HG@xdsl-92-252-114-104.dip.osnanet.de] has quit [Quit: Leaving.] 00:15:13 valium97582 [~daniel@189-47-113-196.dsl.telesp.net.br] has joined #lisp 00:15:57 -!- carlocci [~nes@93.37.207.208] has quit [Quit: eventually IE will rot and die] 00:16:57 -!- huangjs [~user@watchdog.msi.co.jp] has quit [Read error: Connection reset by peer] 00:17:53 huangjs [~user@watchdog.msi.co.jp] has joined #lisp 00:20:18 good evening 00:21:08 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 00:21:13 Apparently LW has a different meaning for "alist" than the spec does. 00:21:31 Posterdati [~tapioca@host127-230-dynamic.16-87-r.retail.telecomitalia.it] has joined #lisp 00:23:29 alist is where you store alot of keys and values 00:23:33 statonjr [~statonjr@cpe-071-075-085-085.carolina.res.rr.com] has joined #lisp 00:23:53 fantazo_ [~fantazo@178-191-175-7.adsl.highway.telekom.at] has joined #lisp 00:27:54 sellout: in what sense ? 00:29:17 -!- varjag [~eugene@4.169.249.62.customer.cdi.no] has quit [Quit: Ex-Chat] 00:29:56 mon_key [~user@unaffiliated/monkey/x-267253] has joined #lisp 00:30:26 fe[nl]ix: in RUN-SHELL-COMMAND, they say :ENVIRONMENT wants an alist of vars and values, but it really wants '(("VAR" "value") ...) 00:30:54 Just frustrating because the error was in LW code, so I couldn't exactly poke around to see what was going wrong. 00:32:56 Xach: Heh, yes  apparently. 00:39:28 -!- billitch1 [~billitch@78.125.238.33] has quit [Ping timeout: 260 seconds] 00:45:24 gigamonkey [~user@adsl-99-155-195-23.dsl.pltn13.sbcglobal.net] has joined #lisp 00:49:05 -!- tsuru [~charlie@adsl-179-29-10.bna.bellsouth.net] has quit [Ping timeout: 255 seconds] 00:49:16 -!- SegFaultAX [~SegFaultA@c-24-4-147-168.hsd1.ca.comcast.net] has quit [Quit: Lost terminal] 00:51:36 ocharles [u411@gateway/web/irccloud.com/x-svnbaychxgwayhir] has joined #lisp 00:54:08 -!- incandenza [~quassel@ip68-231-109-244.ph.ph.cox.net] has quit [Remote host closed the connection] 00:54:19 sbahra [~sbahra@pool-74-106-252-24.bltmmd.fios.verizon.net] has joined #lisp 00:55:47 -!- joast [~rick@CPE-76-178-178-72.natnow.res.rr.com] has quit [Quit: Leaving.] 00:56:18 alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #lisp 00:56:47 daedra [~simon@unaffiliated/daedra] has joined #lisp 00:56:55 how do you test if something is t (true)? 00:57:07 (equal something t)? 00:57:12 -!- timor [~timor@port-92-195-112-157.dynamic.qsc.de] has quit [Ping timeout: 250 seconds] 00:57:24 -!- pmurias [~pawel@static-78-8-208-43.ssp.dialog.net.pl] has quit [Quit: leaving] 00:57:28 <_death> daedra: in Common Lisp, everything but NIL is true 00:57:37 ah yes 00:57:59 so (not (equal nil something)) does the job 00:58:14 <_death> daedra: or just "something" 00:58:25 oh yes! 00:58:31 silly me 00:59:13 eli [~eli@winooski.ccs.neu.edu] has joined #lisp 01:00:08 Joreji [~thomas@75-186.eduroam.RWTH-Aachen.DE] has joined #lisp 01:02:22 tsuru [~charlie@adsl-179-29-10.bna.bellsouth.net] has joined #lisp 01:02:41 -!- HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Ping timeout: 240 seconds] 01:07:51 Is using CLOS/generic functions the only way to have all functions which depend on a certain function F be "updated" if F is re-defined? Or is there a way to allow redefinition of F to trigger all functions depending on F to be redefined as well? 01:09:17 Hey, though not directly a lisp question, maybe you guys are interested in helping :) I have a function, http://paste.lisp.org/display/118667, which is to determine if a number is devisable by any number in another list 01:09:39 It's called about 100000 times, and this current implementation tends to be too slow, when i is large (>1000000) 01:09:47 I wondered if anyone could see any other approaches? 01:10:08 Quadrescence: What do you mean by "depend on"? "call"? 01:10:22 sellout: yes 01:10:25 lisp is not python 01:10:30 you get what you want by default 01:10:32 -!- Guest52376 is now known as xristos 01:10:54 xristos: Who is that directed to? 01:10:57 Whom* 01:10:57 you 01:11:05 Quadrescence: Then that'll work for any function  the calling functions don't need to be redefined, they'll just always call the current definition. 01:11:10 -!- slyrus_ [~chatzilla@adsl-75-36-217-249.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 255 seconds] 01:11:16 sellout: Okay, thanks. 01:12:06 Quadrescence: It's only if you redefine a macro that you need to recompile the functions in which that macro is used, since they get expanded. 01:12:23 inlining? 01:12:27 hi xristos 01:12:37 My other option is to try and reduce the size of the divisors list I think 01:12:49 hey manic12 01:14:19 -!- javuchi [~noname@235.Red-193-152-254.dynamicIP.rima-tde.net] has quit [Ping timeout: 276 seconds] 01:14:22 Xach: Well, hopefully if he's using inline or defining compiler macros, he knows what he's doing. 01:14:38 HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 01:15:24 -!- gemelen [~shelta@shpd-92-101-135-224.vologda.ru] has quit [Ping timeout: 250 seconds] 01:17:22 javuchi [~noname@235.Red-193-152-254.dynamicIP.rima-tde.net] has joined #lisp 01:19:36 incandenza [~quassel@ip68-231-109-244.ph.ph.cox.net] has joined #lisp 01:19:41 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 255 seconds] 01:22:16 -!- azaq23 [~derivecto@unaffiliated/azaq23] has left #lisp 01:24:11 Wow, after using a 13" monitor for a long time, using a 21" one feels so nice, size matters 01:25:34 dabd [~dabd@a79-169-211-148.cpe.netcabo.pt] has joined #lisp 01:26:54 -!- Joreji [~thomas@75-186.eduroam.RWTH-Aachen.DE] has quit [Read error: Operation timed out] 01:29:03 PuffTheMagic [~PuffTheMa@unaffiliated/puffthemagic] has joined #lisp 01:29:40 -!- cibs [~cibs@Sylpheed.Math.NCTU.edu.tw] has quit [Ping timeout: 248 seconds] 01:31:12 -!- Yuuhi` [benni@p5483D1FD.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:31:31 -!- daedra [~simon@unaffiliated/daedra] has left #lisp 01:31:53 -!- incandenza [~quassel@ip68-231-109-244.ph.ph.cox.net] has quit [Remote host closed the connection] 01:36:55 incandenza [~quassel@ip68-231-109-244.ph.ph.cox.net] has joined #lisp 01:37:45 -!- ASau [~user@89-178-174-41.broadband.corbina.ru] has quit [Remote host closed the connection] 01:38:47 ASau [~user@89-178-174-41.broadband.corbina.ru] has joined #lisp 01:39:01 drdo: Wow, I don't know how programmers can get by without giant multi-arrays of pixels sitting in front of them 01:39:24 *Phoodus* still pines for the days of cheap 2048x1536 displays, even if they were CRT 01:39:51 elderK [~k@pdpc/supporter/active/elderk] has joined #lisp 01:39:53 it's less the issue of size in inches, more of pixel amount, and their density 01:40:09 of course, the clarity of LCDs allows the use of smaller fonts, which somewhat alleviates things 01:40:21 p_l|backup: yes 01:40:36 "giant" in population of pixels, not necessarily physical size :) 01:51:08 Phoodus: http://www.9xmedia.com/Pages-products/Desktop%20landing%20page.html 01:51:31 yep, I've seen those 01:54:56 -!- HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Quit: This computer has gone to sleep] 01:55:15 they really don't come cheap though 01:55:30 -!- LiamH [~nobody@pool-141-156-216-46.res.east.verizon.net] has quit [Quit: Leaving.] 02:06:57 sohail [~Adium@unaffiliated/sohail] has joined #lisp 02:08:33 -!- sm` [~s@77.29.103.52] has quit [Ping timeout: 272 seconds] 02:09:01 BrandLeeJones [~BrandLeeJ@88.116.134.106] has joined #lisp 02:09:38 -!- Edward [~ed@AAubervilliers-154-1-49-67.w90-3.abo.wanadoo.fr] has quit [] 02:10:14 -!- redline6561 [~user@c-66-56-55-169.hsd1.ga.comcast.net] has quit [Ping timeout: 240 seconds] 02:11:00 how do i assign a lambda function to a symbol [say, "S"] in such a way that I can call the function doing just (S) and not (funcall S) ? 02:11:38 Landr: your question implies that your goal is ill-advised. 02:12:00 I just want to know if it's possible 02:13:24 cafesofie [~cafesofie@rnwifi-164-107-93-24.resnet.ohio-state.edu] has joined #lisp 02:14:51 Landr: not in common lisp because of the different namespaces (I think) 02:15:34 anyone have an event loop package for CL handy? I'm trying to avoid writing one but it seems I can't 02:16:41 sohail: iolib maybe? 02:17:30 Landr: you can use FLET (or LABELS) to define a function S that does (funcall S) (-: 02:17:40 that way, you can do (S) and get the effect of (funcall S) 02:17:46 (or use macrolet, I guess) 02:18:04 still, what ralith says: it's probably ill-advised (: 02:18:09 antifuchs: the documentation looks very promising, thanks! 02:18:31 yes, but flet is fleeting :P and doesn't affect the global namespace... does it? 02:18:50 that's right. well, you can use defun, then (: 02:19:11 then for some reason it complains: *** - EVAL/APPLY: too few arguments given to F 02:19:13 sohail: are you serious ? 02:19:14 make a function S that uses (funcall S) - now you have that name in both namespaces. 02:19:22 Landr: http://paste.lisp.org/display/118668 02:19:24 fe[nl]ix: serious about? 02:19:37 the documentation being promising 02:19:41 as for iolib, turns out it's not what I thought 02:19:44 Phoodus got it right. well then (: 02:19:46 ah, symbol-function :) that was what I was looking for 02:19:48 thanks Phoodus 02:20:04 fe[nl]ix: I was serious and then I was disappointed :D 02:21:38 I guess I'm going to have to write it myself so it's going to suck 02:21:46 interesting, lambda expressions aren't real functions? 02:22:08 you mean their macro expansions? 02:22:22 the "real" magic happens from (function ...), which lambda expands to 02:23:10 ah, they're the description of a function waiting to be turned into a real function 02:23:43 What do you mean by "real function"? 02:24:02 well, something that's already ready to roll 02:24:13 and it just needs parameters fed to it 02:24:22 Nothing is real, there is no spoon 02:24:29 lambda returns something you can call directly 02:24:37 so that's a "real function" by that definition 02:24:40 whereas using a lambda expression instead of a function makes it turn the expression into a function first, and only then call the (newly-crafted) function? 02:24:58 a defun expression turns the expression into a function first, too 02:25:09 and then stores it behind a symbol 02:25:19 well yes, but then the function is crafted already 02:25:26 it is in the lambda case, too 02:25:32 whereas the lambda expression gets recreated every time it's used? 02:25:36 no 02:25:39 sohail: what's wrong with iolib ? 02:25:45 you might be thinking of closures 02:26:00 let me pastebin my thoughts, just a second 02:26:03 where the surrounding local scope outside a lambda body can be referred to inside it, and remembers it 02:26:21 but even then, that information is referenced when the lambda is called, not created every time 02:26:29 fe[nl]ix: seems like it doesn't allow custom events 02:26:31 the only allocation that should happen on a lambda call is potentially stack 02:26:43 -!- dabd [~dabd@a79-169-211-148.cpe.netcabo.pt] has quit [Quit: Ex-Chat] 02:26:54 sohail: ah, I see :D 02:26:56 (barring weird implementation specifics of passing, say, 100 parameters and making a list for them) 02:28:40 http://paste.lisp.org/submit 02:28:52 hmm, no 02:29:22 fe[nl]ix: basically, I need the capability to push random work (like a thread pool) but also handle timeouts and random events (like an event loop) 02:29:40 http://paste.lisp.org/display/118669 02:30:00 no expression is created in the funcall case 02:30:16 yes, my bad... i meant... the lambda expression is turned into a function 02:30:25 every time anew 02:30:33 (foo 1), when foo has been defun'd, puts the parameter in a register (typically), and calls an address 02:30:50 (funcall foo 1), when foo is a variable holding a lambda, puts the parameter in a register, and calls an address 02:31:15 Landr: What do you mean with "expression is created" ? 02:31:33 drdo: the lambda expression is transformed into a function 02:31:42 also, fe[nl]ix, suggestions welcome :D 02:31:43 also, in the case of (defun foo () ....), then (symbol-function 'foo) will be generally indistinguishable from (lambda () ...) that has the same function body 02:31:59 and are called in the exact same way 02:32:05 Landr: Why would that happen when you call a function? 02:32:21 joast [~rick@CPE-76-178-178-72.natnow.res.rr.com] has joined #lisp 02:32:31 because that's what the hypertext says? o_O 02:32:32 (defun foo () ...) can be expanded to (setf (symbol-function 'foo) (lambda () ...))) 02:32:46 (though other implementation bits go into defun beyond just that setf) 02:32:53 3.1.5.1 ... "(SETF (SYMBOL-FUNCTION symbol) object) requires object to be either a FUNCTION, a SYMBOL-FUNCTION return value, or a lambda expression. The lambda expression is thereby immediately converted to a FUNCTION." 02:33:14 i thought the last sentence implied lambda expressions aren't yet fully "compiled" functions yet 02:33:20 in that case, "lambda expression" is an unevaluated list of source code representing a lambda 02:33:21 and have to be re-compiled every time they're called 02:33:48 but that only gets compiled once 02:33:53 That makes no sense 02:34:20 well, i just don't know what "converted" means in that context 02:35:15 A lambda expression is not a function, it evaluates to a function, that's all it means 02:35:19 Landr: where did you get that quote from? I didn't see it in the clhs symbol-function page 02:35:33 http://clisp.sourceforge.net/impnotes/evaluation.html#sym-fun 02:35:48 woops, my bad :< that's not the hypertext 02:36:09 it just links to it 02:36:15 "The lambda expression is thereby immediately converted to a FUNCTION." 02:36:22 -!- joast [~rick@CPE-76-178-178-72.natnow.res.rr.com] has quit [Ping timeout: 240 seconds] 02:36:26 ie, during the evaluation of the setf 02:36:35 so it has to be evaluated first? 02:36:48 evaluating a lambda expression results in a function object 02:37:14 and this takes more time than calling a function directly, right? 02:37:30 that has NOTHING to do with when the function is eventually called 02:37:33 -!- gravicappa [~gravicapp@ppp85-140-118-236.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 02:37:36 this is the setf 02:37:46 :< 02:37:51 later on, something else calls the function, which was created from evaluating the lambda expression 02:37:57 that function call is no different from any other 02:38:28 yes, but when I use a lambda expression instead of a function, it has to evaluate the lambda expression first, right? 02:38:38 it's similar to saying that the method with which you fill your gas tank affects your performance 02:38:40 it doesn't matter 02:38:46 setf puts a function object somewhere 02:39:06 calling the fucntion object is completely oblivious to how that function object is found, or how it was set there 02:39:14 Landr: Sure, the lambda expression has to be evaluated at some point 02:39:14 echo-area [~user@114.251.86.0] has joined #lisp 02:39:39 and the lambda expression is evaluated during the setf mechanism, according to that clisp note 02:39:46 drdo: what i'm trying to say is, it keeps being re-evaluated every time it's used? 02:39:54 Landr: That makes no sense 02:39:54 no. and nothing you read implies that 02:39:59 :/ 02:40:22 Calling a function has nothing to do with lambda expressions 02:40:24 what difference do you think there is between (a) and (funcall (symbol-function 'a)) ? 02:40:32 A function is a function 02:41:04 joast [~rick@CPE-76-178-178-72.natnow.res.rr.com] has joined #lisp 02:41:20 <_hramrach> unless it's a ninja disguised as a function :p 02:41:44 Landr: I honestly don't understand the confusion here 02:41:54 Phoodus: well, nothing, but there's a difference between (a) (a) (a) and (funcall ) (funcall ) (funcall ) in that in the last case, the lambda expression is re-evaluated each time (and not "re-used") 02:42:12 right, the step from source code list to function object happens once, regardless of using (lambda ...) or (defun ...) 02:42:30 evaluation is generally a compile-time step 02:42:40 in terms of converting lambdas to function objects 02:42:57 so, if i call the same lambda expression many times, it keeps calling an earlier evaluation result address? 02:43:03 also, (let (a ) (funcall a) (funcall a) (funcall a)) 02:43:05 :P 02:43:11 (add parens to taste) 02:43:12 -!- BrandLeeJones [~BrandLeeJ@88.116.134.106] has quit [Quit: BrandLeeJones] 02:43:13 sure, you'll have 3 different function objects in the lambda case, but they'll be called exactly the same as the single function behind 'a 02:43:34 Landr: You don't call lambda expressions, you call functions 02:43:52 ah wait, I see 02:43:54 I think I might get a bit of your confusion 02:44:21 the (lambda ...) expression is referentially transparent, when it comes to static source code 02:44:23 lambda is how you make functions 02:44:31 ok, so if I do (defun foo ()) then an address, say, 12345, gets assigned for this "compiled" function? 02:44:32 therefore, the compiler only performs that evaluation once 02:44:46 an address? 02:44:57 and if I do (foo) (foo) (foo) after that, it keeps calling 12345 02:45:00 pointers aren't really accessable in lisp 02:45:08 but right, it calls the same function object instance 02:45:10 well no, but i'm trying ot express it in a way i do understand :/ 02:45:16 yes, so 02:45:18 whereas each lambda expression creates a unique function object 02:45:24 _at compile time_ 02:45:28 Landr: lambda makes functions, funcall calls functions 02:45:36 so it's exactly like calling (a) (b) (c), where the function bodies are all equivalent 02:45:39 What's the confusion here? 02:46:31 I think the problem is that you think lambda has a run-time effect 02:46:31 <_hramrach> meaning you can save memory by defining a function, technically 02:46:44 what? 02:46:47 if I have a lambda expression (let's call it L) and I do (L) (L) (L) ... does it first compile the lambda expression (to an address, say, 6789) and then calls 6789 three times... or does it re-compile the expression into a function every time (to three separate addresses, 1111, 2222, 3333) and call 1111 2222 3333 02:47:04 it calls the same function object (which resides at some address) 3 times 02:47:17 ah, good :) that was my confusion 02:47:20 Now i'm confused 02:47:25 I thought a new function object was created every time 02:47:27 What? 02:47:33 hmm, I'm referring to (let ((l (lambda ....))) (funcall l) (funcall l) (funcall l)) 02:47:48 as your literal syntax doesn't really work 02:47:59 I think he meant 02:48:03 ((lambda ...)) ((lambda ...)) ((lambda ...)) 02:48:22 if you do (funcall (lambda () 1)) (funcall (lambda () 1)) (funcall (lambda () 1)), then you'll have 3 independent function objects that do the same thing 02:48:29 If you do that, those are 3 different functions, unless your compiler is very smart 02:48:34 (though a sufficiently advanced compiler might take care of that) 02:48:40 heh 02:48:50 drdo: that's what I was thinking, but I got confused along the way 02:49:06 however, those 3 function objects are generated at compile time. At runtime, it simply uses a reference to a known object 02:49:24 kruft`` [~user@c-98-214-105-38.hsd1.in.comcast.net] has joined #lisp 02:49:27 the function call mechanics should be indistinguishable from calling functions behind their well-known symbol 02:49:57 Landr: I still don't understand what confusion you have/had 02:50:13 I think he thought that lambda created a function object at runtime 02:50:18 yes 02:50:31 That's implementation dependant 02:50:40 it is, which is why I brought up referential transparency 02:50:42 -!- kruft` [~user@c-98-214-105-38.hsd1.in.comcast.net] has quit [Ping timeout: 240 seconds] 02:50:46 No sane compiler will do that though 02:51:02 k04n [~k04n@cpe-76-175-192-194.socal.res.rr.com] has joined #lisp 02:51:21 lisp is hard ;< 02:51:32 do you have prior programming experience? 02:51:32 <_hramrach> sanity is relative to working environment 02:51:52 learning lisp once you're baked into other languages might make it hard to shift into it properly 02:52:32 Phoodus: mainly C, python, lua, java(script), php, some ASM... none of it enough to call myself "experienced", but enough to say that I "get" it 02:52:50 btw, if you need to convert source to function objects at runtime (ie, the body of the lambda is not known at compile time and you build it up at runtime), you need to use (eval ) 02:53:29 that will invoke the compiler (depending on compilation settings, but whatever) at runtime 02:53:50 -!- kruft`` [~user@c-98-214-105-38.hsd1.in.comcast.net] has quit [Ping timeout: 240 seconds] 02:54:46 ah 02:54:49 <_hramrach> lisp is supposed to be math, not cooking recipe. No matter how much paper you use you get the same .. so long as you have enough paper ;-) 02:54:52 *Landr* is having a dim enlightenment moment 02:55:16 but your initial assessment actually is not unreasonable 02:55:23 (that lambda does work at runtime) 02:55:41 it's because i've never actually compiled lisp programs 02:55:45 just mucked around in the REPL 02:55:46 because as drdo says, it really is an implementation optimization that avoids the runtime work when it's all well-known ahead of time 02:56:16 since you know some asm, you should really use (disassemble ) 02:56:30 i can't, it's clisp (which as I've been told uses a virtual machine) 02:56:33 although if you're in CLISP, you might not get asm code. Dunno if their JIT deployed yet 02:57:12 all the other major lisps should give you native machine code disassemblies 02:57:30 yes, lots of PUSH's and such 02:57:32 it's a bit esoteric to get into that layer, but reveals a lot about how it really works 02:58:04 it'd be easier if I could see it translated to C :> 02:58:05 Landr: Get SBCL and play around with it 02:58:16 SBCL compiles everything, there's no interpretation anywhere 02:58:27 apt-getting 02:58:39 kruft`` [~user@c-98-214-105-38.hsd1.in.comcast.net] has joined #lisp 03:00:18 ermm... why do I have to define variables in sbcl? 03:00:26 what? 03:00:39 because it does more optimization, it holds you to more precision about doing things the right way 03:00:57 well, if I do (setf a 5) it complains about that 03:00:57 CLISP is very forgiving, in terms of warnings 03:01:02 (but it does set a to 5) 03:01:09 It does what you expect 03:01:14 But that's not valid 03:01:23 Landr: AFAIR, setf-ing "undefined variable" is invalid 03:01:34 so... how do I define a variable then? 03:01:40 you should use a defparameter/defvar for global variable 03:01:42 defvar, defparameter, etc 03:01:45 It only makes moderate sense to do that in the toplevel 03:01:45 and then you can setf it 03:01:46 ahhh 03:01:52 anywhere else and it makes zero sense 03:01:58 the manuals never told me about that :( 03:02:13 Landr: are you reading any book about lisp? 03:03:24 are you reading reference manuals or tutorials? 03:03:36 it's hard to learn all the details just from going through portions of reference material 03:04:00 i read plenty (not all to conclusion) ... I have a very limited attention span for things in general ;s I read most of graham and seibel, and currently barski's land of lisp, and "Common Lisp: A Gentle Introduction to Symbolic Computation" i read in full I think 03:04:38 Landr: defparameter/defvar is mentioned in Land of Lisp; however, the author makes the setf-before-defvar error once 03:04:41 it's mentioned in errata 03:05:14 I think finishing LoL might clear many things out :) 03:05:28 A lot of people do that in the repl, because it's easier and most implementations do what you would expect 03:05:30 *Phoodus* hasn't read LoL yet, but bought a copy for everyone in the office 03:05:38 Phoodus: :D 03:05:40 simply based on the good reviews 03:06:05 Phoodus: Wait, what? 03:06:22 How many people does your office have' 03:06:24 ? 03:06:33 it's a small team, not like hundreds or anything :) 03:06:39 Still 03:06:48 but the junior people aren't doing lisp yet, this should be a great intro for them 03:06:59 the reviews said it's hard :P 03:07:09 Phoodus: it's a really nice book IMO ;) but not as introduction to programming in general 03:07:21 they have programming experience 03:07:24 if one did some programming before, one will understand it; otherwise I think it might be hard 03:07:39 I've skimmed through some of it actually, seems appropriate 03:07:46 Landr: no, not hard :) 03:07:53 oh wait, land of lisp or let over lambda? :P 03:08:00 oh, land of lisp 03:08:00 land of lisp :D 03:08:04 ah, right :D 03:08:07 ahh :> yes, then it's easier 03:08:17 on #lisp-pl we started to call them "LoL Minor" and "LoL Major" 03:08:26 or "LoL blue" and "LoL green" 03:08:27 :D 03:08:36 haha, which is minor? (: 03:08:36 Isn't land of lisp aimed at the very beginner? 03:08:39 isn't it purple? 03:08:49 Landr: purple/green 03:08:51 two dominating colors 03:09:24 antifuchs: we started with Land of Lisp as "minor", but then thought that color-coding might be more sufficient :D 03:09:51 more appropiate* 03:11:00 -!- madnificent [~madnifice@83.101.62.132] has quit [Read error: Connection reset by peer] 03:11:10 madnificent [~madnifice@83.101.62.132] has joined #lisp 03:11:34 so, if i compile lisp programs, i don't need a lisp interpreter to run it, right? 03:11:36 *p_l|backup* must check his router again 03:11:42 pavelludiq [57f63ac1@gateway/web/freenode/ip.87.246.58.193] has joined #lisp 03:12:06 Landr: That's true you don't. But you still need a runtime system. 03:12:09 Landr: you want to get a stand-alone executable? 03:12:17 TeMPOraL: yes 03:12:29 Landr: the runtime system beach speaks of contains the compiler 03:12:31 Landr: That's different from not needing a compiler. 03:12:38 er, interpreter 03:12:42 so you can actually compile new lisp code into your running program at runtime 03:13:07 Landr: You need runtime support like in every language 03:13:17 -!- RaceCondition [~RaceCondi@82.131.61.203.cable.starman.ee] has quit [Quit: Computer has gone to sleep] 03:13:22 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Quit: Leaving.] 03:13:24 but you don't need a C compiler to run C programs :P 03:13:30 SBCL is an example of not including an interpreter at all 03:13:33 You need libc 03:13:39 Landr: but you need libc 03:13:48 in lisp, compiler is a small part of the entire runtime 03:13:51 well... yes... but ... hmm 03:13:54 just another tool 03:13:59 in SBCL, even whatever you type at the repl is compiled to native code and garbage collected, instead of interpreted 03:13:59 Landr: like .NET 03:14:19 that makes sense 03:14:21 .NET, as far as I know, has a compiler in it's runtime 03:14:30 its * 03:14:48 so... how do you make an OS in lisp then? :p 03:14:59 same as an OS in any other language? 03:15:13 you build in the compiler into it? 03:15:33 if you want to stick to Common Lisp, then yes, the compiler will always be available 03:15:48 which is a Good Thing 03:16:06 Definitely! 03:16:08 (Lisp itself being a family with all sorts of variants, and nothing barring a raw-OS variant of Lisp from making different decisions about where the compiler lives) 03:16:44 and LispWorks will actually let you unbundle the compiler 03:16:54 troussan [~user@c-24-245-15-191.hsd1.mn.comcast.net] has joined #lisp 03:17:29 IIRC, Allegro's lack of that feature is the primary issue with its licensing being so complex/expensive 03:17:55 RaceCondition [~RaceCondi@82.131.61.203.cable.starman.ee] has joined #lisp 03:18:59 Phoodus: except that LW gives you the license to deploy with the compiler anyway, iirc 03:19:03 Phoodus: the problem is with that that you could just make a stand-alone executable which eval's files and thus make "your own" compiler based on theirs? 03:19:12 WM2D [~flengyel@pool-71-167-237-248.nycmny.east.verizon.net] has joined #lisp 03:19:15 right 03:19:44 so if you make a product, you can't sell it cheap, because you're reselling the compiler & the end-customer needs a full license too, or something to that effect 03:19:47 k04n_ [~k04n@cpe-76-175-192-194.socal.res.rr.com] has joined #lisp 03:19:49 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 03:19:50 What stops me from just distributing the entire thing? 03:19:55 it's been a while since I was haggling with that, might have changed since then 03:20:03 but if you write a compiler in lisp that needs a compiler itself to... *infinite loop* 03:20:17 lisp compilers are generally written in lisp 03:20:27 but how are they compiled? 03:20:30 Landr: GCC is written in C, why doesn't that bother you? 03:20:41 Landr: you need to compile a single lisp compiler only once 03:20:42 because... C is just assembly with system calls? 03:20:53 ??? 03:20:53 so is compiled lisp 03:20:56 then, you can use your new lisp compiler to compile more lisp compilers 03:21:02 -!- k04n [~k04n@cpe-76-175-192-194.socal.res.rr.com] has quit [Ping timeout: 240 seconds] 03:21:15 I mean, the very first lisp compiler had to be somehow translated to assembly 03:21:22 from there, you can just stick with lisp 03:21:30 -!- WM2D [~flengyel@pool-71-167-237-248.nycmny.east.verizon.net] has quit [Client Quit] 03:21:49 TeMPOraL: it was first an interpreter, where one of the functions got written in assembly. The rest of lisp had grown out by itself ;-) 03:22:16 p_l|backup: ok, I stand corrected :) 03:22:26 *Landr* will just have to make it to lisp in small pieces 03:22:30 though it's true that it was self-hostd very soon 03:22:39 WM2D [~flengyel@pool-71-167-237-248.nycmny.east.verizon.net] has joined #lisp 03:22:45 once i can get that i can get lisp... right? 03:23:04 Landr: The questions you are asking aren't specific to lisp 03:23:06 you can work with lisp without knowing all the underlying details just fine, to a point 03:23:27 Landr: becoming self-hosted is the usual benchmark of when your language stopped being a toy or just an overgrown automation tool and became a real language. Interestingly, several commonly used and lauded languages fail that for their main implementation 03:23:36 Phoodus: i'm trying to get past that point :\ 03:23:41 symbols & what package they reside in are usually a hangup when starting, you'll typically have to learn a lot in that ;) 03:24:01 how far have you gotten in Lisp? 03:24:11 -!- cafesofie [~cafesofie@rnwifi-164-107-93-24.resnet.ohio-state.edu] has left #lisp 03:24:28 i got to exercise 3 of the euler project 03:24:41 then realized I need to find out what lisp's way of turning a number to a string is 03:24:55 -!- dfkjjkfd [~paulh@210-11-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 03:24:55 You can use format 03:25:02 (like i said, my interest fades and i leave it again for a few months) 03:25:30 format is like printf on massive amounts of steroids 03:25:42 doh, why do i keep forgetting that 03:25:51 drdo: mixed with crack 03:25:53 Phoodus: oh, don't remind me; I once wrote a program for my university assignment that interned some symbols read from users, and others computed by the program 03:26:04 p_l|backup: And who knows what else 03:26:06 the program itself had its own package, and I got completely confused... 03:26:29 I still do have to get through symbols/package point :) 03:26:36 mine was using non-hygienic macros from other packages 03:26:56 MetalDust [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has joined #lisp 03:27:30 Landr: the only printing function in any language I know of that can print you an aligned table of values in one call... 03:27:51 Barski is doing some crazy stuff with that in Land of Lisp 03:27:55 ;) 03:28:06 *Landr* is still on page 120 :p 03:28:15 TeMPOraL: ... you should try COBOL. Or Possibly FORTRAN :P 03:28:22 I still haven't gotten too deeply into format's power, mostly since I do server stuff, not user presentation 03:28:24 Is format turing complete? 03:28:32 drdo: afair, yes 03:28:37 drdo: afaik no, but it can call out to Lisp 03:28:51 p_l|backup: That's cheating 03:28:57 it's only turing complete if it can make decisions and loop 03:29:15 Landr: it can loop for sure 03:29:46 but I'm not sure how we should treat arguments to format other than formatting string though 03:30:54 aceluck [~aceluck@175.140.14.22] has joined #lisp 03:32:16 It's like brainf***. You have a program - format-string and some data. :D 03:32:48 And there is no random access to the data. 03:33:31 what's sad is that I have seen people who had to program turing machines for their coursework 03:33:44 format can loop on lists and has some conditional printing capabilities 03:34:04 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 03:34:34 but it can't loop on predicates, can it? 03:34:58 So, who wants to write a brainfuck interpreter in format? 03:35:35 Sounds like an afternoon well spent 03:35:44 amnesiac [~amnesiac@p3m/member/Amnesiac] has joined #lisp 03:36:04 I recently did some research but didn't find anything perfectly fitting the role. I need a compact crossplatform gui. cl-fltk would be perfect but it doesn't work on windows. 03:36:56 Is there some lib Google doesn't know about? 03:37:05 Ltk? 03:37:34 naryl: web 03:37:45 That's the crossplatform gui most people use 03:38:58 You can't write a good ui using html 03:39:36 astoon [~astoon@178.130.1.36] has joined #lisp 03:39:42 naryl: theoretically you can, but I agree with you it's not the best option 03:40:02 naryl: What do you want to write a gui for? 03:40:15 at least not HTML-only; HTML+CSS+all that javascript/ajax magic 03:40:17 p_l|backup: I can't find any mention of it working on Windows. And my win-box is out of reach ATM. 03:40:57 naryl: it works 03:41:06 dralston [~dralston@S0106687f74a12729.va.shawcable.net] has joined #lisp 03:41:09 -!- jim__ [~jim@ool-18bbd5b2.static.optonline.net] has quit [Quit: Leaving] 03:41:10 ok, thanks. 03:42:45 -!- k04n_ [~k04n@cpe-76-175-192-194.socal.res.rr.com] has quit [Ping timeout: 246 seconds] 03:43:20 drdo: The app itself can't be written in js for a few reasons. I decided it would be better to make clueless Windows-users just run an exe and get a ui than run it and see some black window telling "open localhost:8123 in your browser and don't close this window". 03:44:50 -!- Soulman1 [~knute@166.80-202-254.nextgentel.com] has left #lisp 03:45:32 -!- xan_ [~xan@129.131.117.91.dynamic.mundo-r.com] has quit [Read error: Operation timed out] 03:46:44 naryl: What kind of application is it' 03:47:46 k04n [~k04n@cpe-76-175-192-141.socal.res.rr.com] has joined #lisp 03:48:07 -!- troussan [~user@c-24-245-15-191.hsd1.mn.comcast.net] has quit [Remote host closed the connection] 03:48:34 i've done another exercise from the 99 lisp problems: http://paste.pocoo.org/show/321333/ 03:48:48 -!- dfox [~dfox@ip-94-113-90-33.net.upcbroadband.cz] has quit [Ping timeout: 265 seconds] 03:48:48 naryl: you can embed WebKit (with Qt4.5+) and use it to host the Web UI 03:48:56 i don't understand why the actual output of lfsort is not matching the expected output (see above paste) 03:49:38 (the expected vs actual output is at the bottom of the paste) 03:49:50 sm` [s@77.29.103.52] has joined #lisp 03:50:20 k04n_ [~k04n@cpe-76-175-192-141.socal.res.rr.com] has joined #lisp 03:50:26 pattern: What's up with you and the monstruous comments? 03:50:38 -!- em [~emma@unaffiliated/emma] has quit [Quit: Smile! ] 03:50:52 i like comments :) 03:51:11 anyway.. i like to be clear about what's happening in the code 03:51:13 drdo: blame education 03:51:44 pattern: If the code is clear, then it is clear 03:51:50 If the code is not clear, make it clear 03:52:01 the intention must also be clear 03:52:07 and you can't judge intention purely from code 03:52:12 p_l|backup: yeah; I used to comment *a lot* some time ago 03:52:17 that's why you have comments :P 03:52:22 exactly 03:52:25 the "one line of code - one line of comment" rule, almost 03:52:25 -!- k04n [~k04n@cpe-76-175-192-141.socal.res.rr.com] has quit [Ping timeout: 272 seconds] 03:52:27 pattern: The intention should be evident from the naming 03:52:41 Comments are useful sometimes when it is not so clear 03:52:44 drdo: it can't always be done good enough 03:52:51 drdo: It's a daemon you don't want to forget running in the background. 03:52:56 there's only so much meaning you can fit in to a variable name 03:52:58 I think the primary use of comments should be to explain "Why" and "What for" 03:53:09 -!- WM2D [~flengyel@pool-71-167-237-248.nycmny.east.verizon.net] has quit [Quit: WM2D QRT] 03:53:11 and the code itself should, by good naming, tell "How" 03:53:22 anyone feel like reviewing my retarded event loop and make some suggestions on how to integrate timeouts? http://paste.lisp.org/display/118672 03:53:44 tmh [6c491a1c@pdpc/supporter/sustaining/tmh] has joined #lisp 03:53:47 pattern: if your code doesn't explain itself, you're doing something wrong 03:53:54 Greetings lispers! 03:54:00 sohail: good use of comments :D 03:54:06 hi, tmh 03:54:31 pattern: You should also write meta-comments 03:54:33 TeMPOraL: how do you mean? 03:54:43 To clarify the comments, make sure it's clear 03:54:47 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: night] 03:54:49 drdo: that's what diagrams and flowcharts are for 03:54:56 along with man pages, etc 03:55:09 Bah! It was hard to write, it should be hard to read. 03:55:11 I think he's actually serious 03:55:14 unfortunately, there are only so many hours in the day... 03:55:53 flowcharts are awesome 03:55:59 sohail: I was reffering to the current discussion about comments 03:56:06 ;) 03:56:08 "no tears in the writer, no tears in the reader," someone once said about fiction 03:56:09 -!- dralston [~dralston@S0106687f74a12729.va.shawcable.net] has quit [Quit: Leaving] 03:56:12 [Insert literate programming argument here] 03:56:20 "no tears in the reader, no joy in the writer," could apply to code 03:56:40 (that was a joke, btw) 03:56:41 JuanDaugherty [~Ren@cpe-72-228-177-92.buffalo.res.rr.com] has joined #lisp 03:56:48 pattern: I have no joy reading your code 03:57:00 my apologies 03:57:00 flowcharts are good at telling how 03:57:03 but still, they don't tell why 03:57:15 emma [~em@unaffiliated/emma] has joined #lisp 03:57:18 TeMPOraL: ah, I once worked with one guy who wrote 30 lines of comments for each non-trivial line of code 03:57:22 drdo: yeah, the plot is flat, and the main protagonist seems predictable 03:57:27 :D 03:57:47 for loop using all but the last element? 30 lines explaining the meaning of the universe 03:57:49 (joking) 03:58:17 hehe 03:58:22 (+ x 3) ; Applying the addition operation on x and 3, the addition operation is comutative, associative, ......... 03:58:28 ack 03:58:34 Until you get to the set theory 03:58:35 btw, if anyone *is* looking at that code, the ev-loop-stop function actually doesn't need to queue the handler so I took that off 03:58:37 logic 03:58:40 the meaning of life 03:58:40 etc 03:58:41 how do i tell whether a nil is part of a list or the end of a list? o.O 03:58:43 http://paste.lisp.org/display/118672 :D 03:58:50 s/the// 03:59:25 yeah, but on the other hand I've been in some situations that a single line of *why* and meta-how comment would save me like half an hour of digging through code myself... 03:59:44 Landr: if it's a car of the cons, it's a part of the list 03:59:46 oh sure 03:59:50 if it's a cdr, it's not 03:59:53 the "one line of comment" is an art 04:00:18 If your code is well written, comments are only necessary in very specific situations 04:00:39 usually people don't have their thoughts together while coding so it's either a jumble of comments or a jumble of code 04:00:40 If you feel like you need a lot comments, your code is probably bad 04:00:59 so... how do i tell whether it's a car? 04:00:59 drdo: yes, and they'd better be there in those situations, or otherwise some people might lose lots of time... 04:01:08 better explicit and verbose comments than too terse comments (or, worse, no comments) 04:01:16 Landr: you know how lists are built in lisp? 04:01:17 Landr: if it has doors, wheels and an engine, it might be a car 04:01:23 the cons-cells stuff 04:01:26 k04n [~k04n@cpe-76-175-192-194.socal.res.rr.com] has joined #lisp 04:01:28 TeMPOraL: yes sohail: knew you'd say that :P 04:01:28 sohail: :D 04:01:50 :) 04:02:15 i tried with listp, but that doesn't work 04:02:32 (nil is a cons that has itself as a cdr, right?) 04:02:34 pattern: No, if you need that, it means your code sucks 04:02:44 Landr: no 04:02:55 but i can do (cdr nil) 04:03:20 and (listp nil) gives T 04:03:23 i've yet to see any code that could use better/more comments 04:03:31 err... couldn't 04:03:34 Landr: nil is the empty list 04:03:42 -!- k04n_ [~k04n@cpe-76-175-192-141.socal.res.rr.com] has quit [Ping timeout: 240 seconds] 04:03:44 the empty list is a list 04:03:47 but the empty list is a list? 04:03:49 hmm 04:04:21 ah yes, if it were a circular list my interpreter'd be running hot now 04:04:37 Landr: if you have a (car sth) = nil, and (cdr sth) not = nil 04:04:49 then the nil is an element of the list 04:05:08 -!- lemoinem [~swoog@151-74-252-216.dsl.colba.net] has quit [Remote host closed the connection] 04:05:11 -!- PuffTheMagic is now known as ryan 04:05:12 so what do I do with (1 2 NIL NIL 3 4) ? :p 04:05:17 also, what might be obvious to the programmer who wrote the code might not be so obvious to the reader of the code... so it's better to be more explicit and comment your code than to assume the reader of your code can figure it out just from the code itself, without comments 04:05:30 Landr: what do you want to do with it? 04:05:31 :D 04:05:34 lemoinem [~swoog@216.252.93.224] has joined #lisp 04:05:41 ahhh, wait 04:05:46 pattern: I repeat, if your code is good you seldom need comments 04:06:17 drdo: how can you know that whoever reads your code will be able to figure it out? 04:06:19 ok, I might have said some stupid things, disregard my car-cdr stuff 04:06:33 pattern: Commenting is lazy. Instead of writing clear code, you write unclear one and a comment to go with it. 04:06:43 pattern: How do you know that whoever wants to run your code has a computer? 04:06:55 clear code + clear comments > clear code + no comments 04:07:12 I second that, pattern. 04:07:29 pattern: That's not true. You often get duplicate information and difficulties maintaining the two synchronized. 04:08:19 If you find it difficult to maintain code and comments, then you are a very lazy programmer. 04:08:45 how can code ever describe why one design decision was chosen over another? 04:08:47 This is some good trolling 04:08:48 aidalgol: Or one that works for a company, so is under time pressure. 04:09:04 Landr: this case is simple; in the (nil 3 4) part of your list, cdr of the first cons cell points to a cell with 3; I'm thinking how to handle situations like a (nil) list 04:09:26 Landr: (null (cdr '(nil nil))) => nil, (null (cddr '(nil nil))) => t 04:09:42 pattern: Give me an example 04:09:43 I comment to explain the purpose of my code when it's not glaringly obvious why it does what it does. 04:09:58 aidalgol: Yes, that is good 04:10:06 And if your code is any good, that should be very seldom 04:10:12 yes, null for empty list (or 'henceforth filled with nil') 04:10:16 drdo: for example, why you chose one data structure vs another... or one sort vs another... etc.. 04:10:25 pattern: Give me a specific example 04:10:26 Yes, I usually just comment a big chunk of code, not line-by-line. 04:10:40 aidalgol: That's good, unless the reason it is not obvious is that you didn't bother writing it that way. 04:10:47 Landr: (consp nil) -> nil 04:10:51 this solves our problem 04:11:11 ahh, yes 04:11:25 :< so many symbols 04:11:25 list ends when (cdr list) -> nil; before that, (cdr list) will get you a cons, which is an living object 04:11:37 I personally think of nil as of special case, in which car and cdr both return nil 04:11:43 but I'm not sure if it's a good interpretation 04:11:47 drdo: don't have a specfic example on hand.. but when i find one i'll give you a link 04:11:47 The Rise of the Living Objects 04:11:52 looks like for timeouts I'm going to have to implement a platform-specific solution, hrm 04:11:54 Be very afraid 04:11:59 drdo: :D 04:12:21 i wish i had a good list of all the common lisp functions :\ 04:12:31 Landr: The hyperspec has one 04:12:49 Landr: there is a cl-qr.pdf file somewhere on the interwebz 04:13:08 print it, get a cover for it, and carry it everywhere with yourself 04:13:13 :D 04:13:39 drdo: where? i only see a mishmash of terms 04:13:46 Landr: http://clqr.berlios.de/download.php 04:13:48 sohail: If there is no trivial abrastraction for that, write one 04:13:53 Landr: ? 04:14:07 *abstraction 04:14:33 TeMPOraL: thanks 04:14:46 Landr: np :) 04:17:58 drdo: unfortunately it's not trivial to implement on unix without making your own loop be select/poll I think :D 04:19:45 -!- rokstar_ is now known as rokstar 04:20:14 taeyun [~taeyun@59.4.64.176] has joined #lisp 04:20:16 could anyone help me figure out why the actual output of my lfsort function does not match the expected output? http://paste.pocoo.org/show/321342 04:20:18 -!- dlowe1 [~dlowe@c-66-30-116-162.hsd1.ma.comcast.net] has quit [Quit: *poof*] 04:20:29 helo 04:20:37 (if there aren't enough comments in that code for you, see here: http://paste.pocoo.org/show/321333/ ) 04:21:00 looks like Xach wrote something http://www.xach.com/lisp/timer/doc.html 04:21:03 hi, taeyun 04:21:54 Adamant [~Adamant@unaffiliated/adamant] has joined #lisp 04:22:13 *Landr* has discovered incf 04:22:18 pattern: There are too many comments, i couldn't be bothered reading that 04:22:29 *Landr* gains 20XP for no longer having to do (setf a (1+ a)) 04:22:47 this guide is gold :D 04:22:55 -!- emma is now known as em 04:23:00 hell yeah 04:23:03 drdo: i just took out 70% of the comments, just for you... and you're still not satisfied? :( 04:23:25 *TeMPOraL* gains 50XP for discovering maphash 04:23:29 pattern: What do you want your function to do? 04:23:30 pattern: I see 2 problems with those comments. (1) Descriptions of the function are better placed in the docstring. (2) Verification of the functions is better performed with unit testing. 04:23:36 I just peaked at the index of this guide, just for fun 04:23:38 :D 04:24:02 tmh: i've just started with lisp.. none of the tutorials i've read have even mentioned docstrings or how to do unit tests in lisp 04:25:14 drdo: i'd like to sort the elements of a list of sublists according to the sublists' length frequency; i.e., in the default, where sorting is done ascendingly, lists with rare lengths are placed first, others with a more frequent length come later. 04:25:22 pattern: Also, you're not following commenting conventions. There should be 3 semi-colons at the top-level, 2 on indented lines, and 1 after code. 04:25:38 tmh: thanks.. i didn't know that 04:25:54 pattern: Finally, there is also the #| Comments |# delimiting for large areas of comments. 04:26:08 taeyun: I don't recognize your nick. Are you new here? 04:26:20 pattern: if you think that count-sublists works fine, then there might be an conceptual problem 04:26:26 ie. with how sort works 04:27:11 btw. is using #+nil to comment-out a specific sexp ok, or considered bad-style? 04:27:13 TeMPOraL: my tests of count-sublists: http://paste.pocoo.org/show/321346/ 04:28:08 oh.. doh! 04:28:12 now i see it 04:28:20 oh.. wait.. maybe i don't 04:28:22 Could somebody tell me how to make executable in lispbox? 04:28:32 i do have the < comparison between the results of count-sublists 04:29:06 isn't that what sort wants? 04:29:58 pattern: "if the predicate does not really consistently represent a total order (...) the elements will be scrambled in some unpredictable way, but no element will be lost", from CLHS 04:30:34 I'm too tired for hard-thinking right now, sorry (me needz moar sleep) 04:33:02 taeyun: it depends on which Common Lisp implementation is bundled with the lispbox you use (I don't remember which one is the default) 04:33:14 anyway, getting executables is implementation-specific 04:34:01 slyrus_ [~chatzilla@adsl-75-36-217-249.dsl.pltn13.sbcglobal.net] has joined #lisp 04:34:09 TeMPOraL: thanks... i'm reading up on total order now.. 04:36:06 beach: there's your answer. 04:37:12 Ralith: Indeed! 04:40:54 *sohail* writes timer using a thread waiting on a lock with a timeout and moves on 04:41:17 I guess I could do a tick event 04:42:32 -!- aceluck [~aceluck@175.140.14.22] has quit [Quit: aceluck] 04:42:32 -!- ikki [~ikki@189.139.232.70] has quit [Ping timeout: 250 seconds] 04:42:41 Remember kids, profiling is half the battle. 04:43:33 it's not so bad to do a tick event every second or something so my timer resolution is about a second Don't really need better than that right now 04:43:40 -!- ryan is now known as PuyffTheMagic 04:43:53 no, that's pretty bad, I don't like it 04:44:33 I thought I *knew* where the bottleneck was, but nothing I did improved the performance. Then it occurred to me, I needed to profile. 04:44:37 -!- sm` [s@77.29.103.52] has quit [Ping timeout: 240 seconds] 04:44:58 tmh: Pfff, that's only you! I'm the best programmer ever, i always know.. 04:46:15 -!- az [~az@p4FE4FD8C.dip.t-dialin.net] has quit [Ping timeout: 272 seconds] 04:47:49 -!- Adlai__ [~leif@ool-18bfe51c.dyn.optonline.net] has quit [Quit: Ex-Chat] 04:49:05 tmh: so true 04:49:41 also I found basic statistics quite usable when profiling functions deep in nested loops of game/simulation code 04:50:52 ie. you compute quartiles, and look at median and interquartile range 04:51:08 sm` [s@79.125.197.137] has joined #lisp 04:51:20 or, in other words, basically discard the smallest and largest quaters of your samples for analysis ;) 04:53:02 az_ [~az@p4FE4F398.dip.t-dialin.net] has joined #lisp 05:00:22 hmm... well, i changed the comparison operator in the sort from < to <= 05:01:27 the <= relation is supposedly a total order relation.. 05:01:36 so if the problem i was having was that the < relation i was using wasn't a total order relation, then the sort should now work 05:02:25 but the sort is now resulting in: ((O) (I J K L) (M N) (D E) (D E) (F G H) (A B C)) 05:02:43 -!- jomatv6 [~jomat@2001:470:9935::badc:ab1e] has quit [Ping timeout: 272 seconds] 05:02:43 pattern: no, I don't think that's the problem; even CLHS states (in a part which I haven't quoted here), that the predicate should make a strictly-less relation 05:02:52 so <, not <= 05:02:56 oh 05:02:58 hmmm 05:03:14 sorry for not mentioning that 05:03:23 jomatv6 [~jomat@2001:470:9935::badc:ab1e] has joined #lisp 05:04:27 *pattern* scratches his head 05:04:44 try to change this call to: (sort given-list #'< :key (lambda (x) (count-sublists (length x) given-list))) 05:05:28 it will call this lambda on your sublists to get their "representation", that will be used with < operator 05:05:35 (or at least I think it works that way :D) 05:06:34 just with x alone? 05:06:36 what about y? 05:07:45 pattern: when sort wants to compare objects x and y, it will compare them by calling the predicate (ie. #'<) on (key x) and (key y) 05:07:52 and that didn't seem to work either... the result i got was: ((D E) (D E) (I J K L) (M N) (O) (A B C) (F G H)) 05:08:16 http://www.lispworks.com/documentation/HyperSpec/Body/f_sort_.htm 05:08:59 one of the examples in the spec is: (stable-sort tester #'(lambda (x y) (and (oddp x) (evenp y)))) 05:09:02 pattern: do a: (mapcar (lambda (x) (count-sublists (length x) given-list)) given-list) 05:09:03 please 05:09:22 and paste the result 05:10:16 adu [~ajr@pool-72-83-254-159.washdc.fios.verizon.net] has joined #lisp 05:11:51 -!- jomatv6 [~jomat@2001:470:9935::badc:ab1e] has quit [Ping timeout: 240 seconds] 05:12:25 The variable GIVEN-LIST is unbound. 05:12:29 jomatv6 [~jomat@2001:470:9935::badc:ab1e] has joined #lisp 05:13:20 oh wait 05:13:28 (2 3 2 3 1 3 1) 05:14:48 and the given-list, please? 05:14:52 paste it here 05:15:09 '((a b c) (d e) (f g h) (d e) (i j k l) (m n) (o)) 05:15:26 -!- em [~em@unaffiliated/emma] has quit [Ping timeout: 240 seconds] 05:15:42 as you can see, your count-sublists doesn't work 05:15:46 :D 05:18:11 how is it not working? 05:18:19 it looks like it's working fine to me 05:18:57 there are 2 lists of length 2, 3 lists of length 3, 1 lists of lenght 4, and 1 lists of length 1 05:18:58 -!- Fullma_ [~fullma@ram94-2-82-66-69-246.fbx.proxad.net] has quit [Ping timeout: 260 seconds] 05:19:10 oh, sry 05:19:13 my fault 05:19:18 I should go to sleep NOW 05:19:30 oh 05:19:34 fine 05:19:55 thank you for your helping TeMPOraL 05:20:01 alot! 05:20:29 i appreciate your help as well, TeMPOraL 05:20:54 even though we haven't figured this out yet, it's very educational to watch your debugging process 05:21:08 taeyun: sure, np 05:21:13 hargettp [~hargettp@pool-71-174-140-28.bstnma.east.verizon.net] has joined #lisp 05:21:23 pattern: sorry I can't be more helpful, but I'm just tired and I don't think well :D 05:21:28 i hear you 05:21:36 it's way past my bed time for me too 05:21:37 sabalaba [~sabalaba@c-71-227-118-15.hsd1.mi.comcast.net] has joined #lisp 05:21:40 my current theory is that your count-sublists behaves weird inside sort 05:21:47 I'm trying to figure it out 05:22:05 I did somethink like that: 05:22:07 something* 05:22:10 (defvar given-list '((a b c) (d e) (f g h) (d e) (i j k l) (m n) (o))) (mapcar (lambda (x) (count-sublists-2 (length x) given-list)) given-list) 05:22:30 tcleval [~funnyguy@186.213.60.209] has joined #lisp 05:22:32 hi 05:22:33 got the same (2 3 2 3 1 3 1) you pasted, so my count-sublistst-2 works the same as yours 05:22:38 hi, tcleval 05:22:43 undefined function: COUNT-SUBLISTS-2 05:22:48 and the code of count-sublists-2: 05:22:53 is there any Google Data API implementation for CL? 05:23:01 (defun count-sublists-2 (len list) (reduce (lambda (acc x) (if (= len (length x)) (1+ acc) acc)) list :initial-value 0)) 05:23:27 hmm 05:23:29 daniel__ [~daniel@p5B3276E2.dip.t-dialin.net] has joined #lisp 05:23:30 try using that in sort, it's another take on the same problem 05:23:42 -!- alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has quit [Quit: alexsuraci] 05:23:51 if sort will give different results with this function, it'll tell us something 05:24:00 if it won't, it'll probably tell us something too... :D 05:24:41 it's basically the same algorithm, but expressed with reduce 05:25:25 that doesn't seem to work either... i got: ((D E) (D E) (I J K L) (M N) (O) (A B C) (F G H)) 05:26:07 ok, so it's the same as with original count-sublists 05:26:12 *TeMPOraL* is puzzled 05:27:07 psilord [~psilord@adsl-71-150-253-113.dsl.mdsnwi.sbcglobal.net] has joined #lisp 05:27:07 -!- psilord [~psilord@adsl-71-150-253-113.dsl.mdsnwi.sbcglobal.net] has left #lisp 05:27:10 -!- daniel_ [~daniel@p50829825.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 05:27:38 -!- Harag [~Harag@wbs-196-2-122-200.wbs.co.za] has quit [Ping timeout: 260 seconds] 05:27:45 -!- elderK [~k@pdpc/supporter/active/elderk] has left #lisp 05:28:06 too tired to think, sorry 05:28:13 I need to take a long (3h :D) nap 05:28:42 but if you figure it out 'till then, please write it here 05:28:52 sure 05:28:54 thanks for your help 05:28:57 I'm curious about what the problem is 05:29:01 np 05:29:25 'night then :D 05:29:29 take care 05:29:29 -!- ASau [~user@89-178-174-41.broadband.corbina.ru] has quit [Remote host closed the connection] 05:29:57 -!- amnesiac [~amnesiac@p3m/member/Amnesiac] has quit [Quit: Leaving] 05:30:06 ASau [~user@93-80-250-194.broadband.corbina.ru] has joined #lisp 05:32:38 -!- tmh [6c491a1c@pdpc/supporter/sustaining/tmh] has left #lisp 05:34:56 weird 05:35:03 i just did: 05:35:17 (defun lxsort () (sort given-list #'< :key (lambda (x) (count-sublists-2 (length x) '((a b c) (d e) (f g h) (d e) (i j k l) (m n) (o)))))) 05:35:33 and that worked 05:36:04 i had suspected that for some reason, within the lambda in the sort it was having problems referncing that "given-list" variable 05:36:21 so i put the list directly in the sort instead 05:36:24 and that seems to work 05:36:44 TeMPOraL: when you awake, see the above solution 05:37:40 tmh [6c491a1c@pdpc/supporter/sustaining/tmh] has joined #lisp 05:38:41 Back for a quick question. I need to profile the meta-sexp LL(1) parser generator. There are some aspects of the internals that I want to evaluate. Does anyone have a recommendation for a large text file with a very simple grammar to parse? 05:39:18 fusss [~fusss@1.144.127.111] has joined #lisp 05:40:14 sepok [~johan2@d83-183-51-82.cust.tele2.se] has joined #lisp 05:41:44 Gaah, my campaigns of terrorizing fat-fingered stupidity against ticketing systems continue unabated. Lispbuilder-SDL maintainers, sorry about the latest feature request submitted as "Defect". The only defect I am aware of is between my thumb and middle-finger. Click. 05:42:10 hope this reaches you well! later. 05:42:14 -!- fusss [~fusss@1.144.127.111] has left #lisp 05:42:25 TeMPOraL: my theory as to why this is happening is that as the sort function in lisp sorts in place, during the sort some elements must be taken out just when count-sublists is counting, so that it gets the wrong count 05:44:50 -!- hargettp [~hargettp@pool-71-174-140-28.bstnma.east.verizon.net] has quit [Quit: Leaving...] 05:46:46 TeMPOraL: yeah... i'm pretty sure that's what must be happening... i just tried changing the sort to use a copy of the given-list, and it works just fine 05:47:37 pattern: yes, that's your problem. 05:47:52 (Just read the scrollback) 05:48:16 good timing, gigamonkey ;) 05:49:02 that's a great nick, btw 05:54:18 Thanks. 05:55:28 -!- _s1gma [~herpderp@77.107.164.131] has quit [Quit: Leaving] 05:55:42 pattern: here's how I might do it. http://paste.lisp.org/display/118674 05:56:33 thanks... that looks good 05:56:40 i haven't learned freq or assoc yet 05:57:00 nor count 05:57:03 freq is just a variable name. 05:57:22 ah 05:57:32 haven't learned remove-duplicates either.. 05:57:36 If the list was long you might want to use a hash table instead of an alist. 05:57:53 Well, since this looks like homework, you could try writing them yourself. 05:58:15 thanks, i'll give that a shot 05:58:24 i'm going through the 99 lisp problems site 05:58:33 very addictive.. 05:58:49 Your version is going to be calling count-sublists a lot of times. 05:59:18 You could also remove the copy-list from my function if you wanted but then your function would be just as destructive as SORT 05:59:26 yeah, it's definitely better to just count the sublists once and just look up the counts during the sort 06:00:20 i'm not really going for efficiency in solving these problems yet... at this point i'm just happy to solve them at all 06:00:35 later, when i learn more lisp i might go back and try to improve them.. 06:03:53 If you don't care about efficiency: http://paste.lisp.org/display/118674#1 06:04:18 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit: DarthShrine] 06:04:47 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Ping timeout: 272 seconds] 06:04:53 That's actually about the same as your original using built in functions. 06:05:16 Gotta love those :key arguments. 06:06:00 that looks great 06:06:14 -!- mattrepl [~mattrepl@pool-72-83-118-99.washdc.fios.verizon.net] has quit [Quit: mattrepl] 06:06:27 Note that that one does need the COPY-LIST or you'll run into your original problem. 06:06:39 Things such as :key (or anything preceeded by a :), what are those? 06:06:50 keyword arguments. 06:06:58 If you (defun foo (a b &key c) ...) 06:07:05 Then you call it (foo 10 20 :c 30) 06:07:34 See the section "Keyword parameters" in http://gigamonkeys.com/book/functions.html 06:07:45 Should I expect a performance difference between ELT and SCHAR when accessing a character in a string? 06:07:56 tmh: probably. 06:07:56 Oh, so it's a form of &optional argument which would solve the problem that &optional has? 06:08:30 sepok: depending on what you consider the problem of &optional arguments to be, perhaps. 06:08:30 As in (defun foo (a b &optional c d)) I can not assign d without assigning c 06:08:40 sepok: yes, it solves that. 06:08:50 gigamonkey: That was my guess as well. I can't seem to measure one, though. I'm currently testing them on a string with ~47million characters. 06:08:50 gigamonkey: Okay, thanks 06:09:19 tmh: well, if your Lisp is smart enough, it might figure out your string is a simple string and compile ELT into the same thing as SCHAR. 06:10:09 gigamonkey: Gah! That was what I feared. I wanted to run a simple test and am potentially being out-smarted by my implementation. 06:10:30 I think about that sometimes 06:10:35 I think I should just go to bed and devise a better test in the morning. 06:11:26 somnium [~user@adsl-65-190-98.dab.bellsouth.net] has joined #lisp 06:11:57 -!- taeyun [~taeyun@59.4.64.176] has left #lisp 06:12:15 tmh: it seems like if you define two functions that accept a string as an argument and put them in one file and compile it and then put your test code, which calls them, elsewhere, it should defeat any optimization. 06:12:29 Hmm, I'm not good at reading DISASSEMBLE, but my quick scan of my test functions indicates that they are identical. 06:12:56 Well, in that case you'd hope to get identical performance. ;-) 06:13:58 Oh well, this will have to wait until the morning. Thanks. 06:14:11 -!- tmh [6c491a1c@pdpc/supporter/sustaining/tmh] has left #lisp 06:16:59 -!- homie [~levgue@xdsl-78-35-151-244.netcologne.de] has quit [Remote host closed the connection] 06:17:24 homie` [~levgue@xdsl-78-35-151-244.netcologne.de] has joined #lisp 06:20:05 When it commes to comments in my code, when should I use two ;, three ; and so on? 06:21:10 beep [~beep@76.89.161.18] has joined #lisp 06:22:11 -!- beep [~beep@76.89.161.18] has left #lisp 06:22:36 -!- az_ [~az@p4FE4F398.dip.t-dialin.net] has quit [Quit: WeeChat 0.3.3] 06:23:07 Salamander_ [~Salamande@ppp121-45-9-141.lns20.adl2.internode.on.net] has joined #lisp 06:23:25 az [~az@p4FE4F398.dip.t-dialin.net] has joined #lisp 06:25:14 -!- Salamander [~Salamande@ppp118-210-128-192.lns20.adl6.internode.on.net] has quit [Ping timeout: 255 seconds] 06:28:34 sepok: One after a form on the same line, two on a line by itself aligned with the code inside a top-level form, three at the top level. 06:29:07 -!- sabalaba [~sabalaba@c-71-227-118-15.hsd1.mi.comcast.net] has quit [Ping timeout: 240 seconds] 06:31:05 -!- parcs [~patrick@ool-45741d7d.dyn.optonline.net] has quit [Ping timeout: 255 seconds] 06:32:05 parcs [~patrick@ool-45741d7d.dyn.optonline.net] has joined #lisp 06:32:26 -!- adu [~ajr@pool-72-83-254-159.washdc.fios.verizon.net] has quit [Quit: adu] 06:34:06 DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined #lisp 06:36:43 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #lisp 06:39:40 -!- pizdets [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [] 06:40:21 -!- Sluggo [~user@c-75-64-77-87.hsd1.tn.comcast.net] has quit [Remote host closed the connection] 06:43:29 -!- sepok [~johan2@d83-183-51-82.cust.tele2.se] has quit [Quit: Lost terminal] 06:43:45 Adlai_ [~leif@ool-18bfe51c.dyn.optonline.net] has joined #lisp 06:45:02 handle_with_care [~tiareth@219-89-32-206.dialup.xtra.co.nz] has joined #lisp 06:47:50 -!- Salamander_ [~Salamande@ppp121-45-9-141.lns20.adl2.internode.on.net] has quit [Ping timeout: 240 seconds] 06:48:22 Salamander_ [~Salamande@ppp121-45-144-84.lns21.adl6.internode.on.net] has joined #lisp 06:52:18 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 06:55:42 splittist [~IceChat77@30-245.62-188.cust.bluewin.ch] has joined #lisp 06:55:48 morning 06:57:40 -!- Salamander_ [~Salamande@ppp121-45-144-84.lns21.adl6.internode.on.net] has quit [Ping timeout: 255 seconds] 06:59:12 hello splittist 07:02:31 -!- statonjr [~statonjr@cpe-071-075-085-085.carolina.res.rr.com] has quit [Ping timeout: 240 seconds] 07:10:51 Salamander_ [~Salamande@ppp118-210-147-26.lns20.adl6.internode.on.net] has joined #lisp 07:10:54 fantazo__ [~fantazo@178-191-160-182.adsl.highway.telekom.at] has joined #lisp 07:12:20 -!- fantazo_ [~fantazo@178-191-175-7.adsl.highway.telekom.at] has quit [Read error: Operation timed out] 07:19:15 jewel [~jewel@196-210-134-61.dynamic.isadsl.co.za] has joined #lisp 07:21:18 alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #lisp 07:25:05 redline6561 [~user@c-66-56-55-169.hsd1.ga.comcast.net] has joined #lisp 07:30:11 -!- sohail [~Adium@unaffiliated/sohail] has quit [Quit: Leaving.] 07:30:38 áááá 07:31:03 open: ? 07:34:17 sorry ignore that, was having issues with input method 07:34:29 -!- open [~thesk@unaffiliated/open] has left #lisp 07:34:38 -!- handle_with_care [~tiareth@219-89-32-206.dialup.xtra.co.nz] has quit [Ping timeout: 240 seconds] 07:35:34 handle_with_care [~tiareth@219-89-32-206.dialup.xtra.co.nz] has joined #lisp 07:35:39 mishoo [~mishoo@79.112.236.252] has joined #lisp 07:36:07 -!- somnium [~user@adsl-65-190-98.dab.bellsouth.net] has quit [Remote host closed the connection] 07:39:02 -!- astoon [~astoon@178.130.1.36] has quit [Ping timeout: 240 seconds] 07:46:07 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Ping timeout: 240 seconds] 07:49:37 -!- alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has quit [Read error: Connection reset by peer] 07:50:06 alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #lisp 07:54:36 lafille [~lafille@ANantes-552-1-149-251.w90-1.abo.wanadoo.fr] has joined #lisp 07:56:38 -!- lafille [~lafille@ANantes-552-1-149-251.w90-1.abo.wanadoo.fr] has quit [Client Quit] 07:58:27 -!- baley_ [~baley@87.229.24.201] has quit [Ping timeout: 240 seconds] 07:58:42 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 07:59:50 mrSpec [~Spec@88.208.105.6] has joined #lisp 07:59:50 -!- mrSpec [~Spec@88.208.105.6] has quit [Changing host] 07:59:50 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 07:59:57 gemelen [~shelta@shpd-92-101-135-224.vologda.ru] has joined #lisp 08:10:18 -!- tcleval [~funnyguy@186.213.60.209] has quit [Read error: Operation timed out] 08:12:07 -!- fantazo__ [~fantazo@178-191-160-182.adsl.highway.telekom.at] has quit [Remote host closed the connection] 08:12:09 gonzojive [~red@66-169-234-132.dhcp.snlo.ca.charter.com] has joined #lisp 08:13:31 azaq23 [~derivecto@p4FF6817C.dip0.t-ipconnect.de] has joined #lisp 08:13:33 -!- azaq23 [~derivecto@p4FF6817C.dip0.t-ipconnect.de] has quit [Changing host] 08:13:33 azaq23 [~derivecto@unaffiliated/azaq23] has joined #lisp 08:14:34 -!- gemelen [~shelta@shpd-92-101-135-224.vologda.ru] has quit [Read error: Connection reset by peer] 08:17:18 beach` [~user@116.118.72.132] has joined #lisp 08:18:41 -!- homie` [~levgue@xdsl-78-35-151-244.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 08:18:54 -!- beach [~user@116.118.0.122] has quit [Ping timeout: 246 seconds] 08:20:01 gemelen [~shelta@shpd-92-101-140-59.vologda.ru] has joined #lisp 08:22:04 homie [~levgue@xdsl-78-35-151-244.netcologne.de] has joined #lisp 08:25:20 juniorroy [~juniorroy@212.36.224.57] has joined #lisp 08:25:26 -!- handle_with_care [~tiareth@219-89-32-206.dialup.xtra.co.nz] has quit [Ping timeout: 240 seconds] 08:26:43 -!- Ginei_Morioka [~irssi_log@78.112.71.82] has quit [Ping timeout: 265 seconds] 08:27:03 Ginei_Morioka [~irssi_log@78.112.71.82] has joined #lisp 08:33:30 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Ping timeout: 250 seconds] 08:43:14 -!- dmiles_afk [~dmiles@c-67-161-117-56.hsd1.wa.comcast.net] has quit [Read error: Connection reset by peer] 08:44:02 dmiles_afk [~dmiles@c-67-161-117-56.hsd1.wa.comcast.net] has joined #lisp 08:49:04 insomnia1alt [~milan@port-92-204-69-250.dynamic.qsc.de] has joined #lisp 08:50:19 -!- jcazevedo [~jcazevedo@bl4-6-98.dsl.telepac.pt] has quit [Quit: Leaving] 08:52:37 -!- insomniaSalt [~milan@port-92-204-75-166.dynamic.qsc.de] has quit [Ping timeout: 272 seconds] 08:53:48 morphling [~stefan@gssn-5f75551b.pool.mediaWays.net] has joined #lisp 09:09:18 -!- gonzojive [~red@66-169-234-132.dhcp.snlo.ca.charter.com] has quit [Quit: gonzojive] 09:10:42 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Ping timeout: 240 seconds] 09:14:16 -!- MikeSeth [~me@unaffiliated/mikeseth] has left #lisp 09:16:27 -!- thmzlt [~thomaz@24-217-48-63.dhcp.stls.mo.charter.com] has quit [Ping timeout: 240 seconds] 09:16:30 -!- pnq [~nick@ACA28AB3.ipt.aol.com] has quit [Ping timeout: 265 seconds] 09:17:02 -!- jewel [~jewel@196-210-134-61.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 09:17:44 xraycat [~Miranda@brln-4db97d9b.pool.mediaWays.net] has joined #lisp 09:22:04 HG` [~HG@xdsl-92-252-114-104.dip.osnanet.de] has joined #lisp 09:23:46 -!- manic12 [~andrew@99-100-67-123.lightspeed.sntcca.sbcglobal.net] has quit [Ping timeout: 276 seconds] 09:25:31 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 09:25:42 -!- mishoo [~mishoo@79.112.236.252] has quit [Ping timeout: 240 seconds] 09:29:23 -!- cmm [~cmm@bzq-79-178-206-31.red.bezeqint.net] has quit [Remote host closed the connection] 09:29:40 cmm [~cmm@bzq-79-178-206-31.red.bezeqint.net] has joined #lisp 09:31:03 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 09:36:03 -!- eut [~m@cpe-24-24-136-239.socal.res.rr.com] has left #lisp 09:47:39 stassats [~stassats@wikipedia/stassats] has joined #lisp 09:47:43 carlocci [~nes@93.37.192.210] has joined #lisp 09:49:50 -!- loxs [~loxs@78.90.124.178] has quit [Ping timeout: 240 seconds] 09:51:45 loxs [~loxs@78.90.124.178] has joined #lisp 09:52:28 mascotte [~mascotte_@AClermont-Ferrand-651-1-23-249.w86-194.abo.wanadoo.fr] has joined #lisp 09:57:38 -!- HG` [~HG@xdsl-92-252-114-104.dip.osnanet.de] has quit [Ping timeout: 255 seconds] 09:57:41 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit: DarthShrine] 09:59:52 mega1 [~quassel@catv4E5CABA2.pool.t-online.hu] has joined #lisp 10:03:00 HG` [~HG@xdslas084.osnanet.de] has joined #lisp 10:04:34 -!- rien [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has quit [Ping timeout: 276 seconds] 10:05:10 rien [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 10:05:38 -!- dmiles_afk [~dmiles@c-67-161-117-56.hsd1.wa.comcast.net] has quit [Quit: Read error: 110 (Connection timed out)] 10:07:28 H4ns```` [~user@p579F8775.dip.t-dialin.net] has joined #lisp 10:11:09 homie` [~levgue@xdsl-84-44-210-21.netcologne.de] has joined #lisp 10:11:10 -!- H4ns``` [~user@pD4B9EE9F.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 10:12:31 freiksenet [~freiksene@cs181130165.pp.htv.fi] has joined #lisp 10:13:50 -!- homie [~levgue@xdsl-78-35-151-244.netcologne.de] has quit [Ping timeout: 255 seconds] 10:18:14 Zephyrus [~emanuele@unaffiliated/zephyrus] has joined #lisp 10:19:20 DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined #lisp 10:21:36 OliverUv_ [fuckident@valkyrie.underwares.org] has joined #lisp 10:24:07 -!- rme [~rme@pool-70-106-129-201.chi01.dsl-w.verizon.net] has quit [Quit: rme] 10:24:42 -!- OliverUv [fuckident@valkyrie.underwares.org] has quit [Ping timeout: 240 seconds] 10:25:23 HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 10:26:43 mishoo [~mishoo@79.112.236.216] has joined #lisp 10:29:10 benny` [~benny@i577A3489.versanet.de] has joined #lisp 10:30:50 -!- benny` is now known as benny 10:35:10 -!- vandemar [cohen@2001:470:1f10:56b::4] has left #lisp 10:35:24 kiuma [~kiuma@93-35-237-39.ip57.fastwebnet.it] has joined #lisp 10:35:57 vandemar [cohen@2001:470:1f10:56b::4] has joined #lisp 10:36:35 -!- mishoo [~mishoo@79.112.236.216] has quit [Quit: be back later] 10:37:23 Joreji [~thomas@75-186.eduroam.RWTH-Aachen.DE] has joined #lisp 10:38:39 tfb [~tfb@92.41.114.224.sub.mbb.three.co.uk] has joined #lisp 10:38:54 -!- biTT is now known as ism 10:39:00 OliverUv [fuckident@valkyrie.underwares.org] has joined #lisp 10:39:01 -!- OliverUv [fuckident@valkyrie.underwares.org] has quit [Client Quit] 10:40:37 -!- ism is now known as ttb 10:41:34 -!- cmm [~cmm@bzq-79-178-206-31.red.bezeqint.net] has quit [Ping timeout: 265 seconds] 10:42:21 cmm [~cmm@bzq-79-178-206-31.red.bezeqint.net] has joined #lisp 10:43:27 -!- HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Ping timeout: 272 seconds] 10:48:27 ZabaQ [~john.conn@host81-152-40-56.range81-152.btcentralplus.com] has joined #lisp 10:51:01 HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 10:52:33 -!- incandenza [~quassel@ip68-231-109-244.ph.ph.cox.net] has quit [Remote host closed the connection] 10:52:44 leo2007 [~leo@120.33.169.187] has joined #lisp 10:52:50 -!- mathrick [~mathrick@83.1.168.198] has quit [Remote host closed the connection] 10:53:04 mathrick [~mathrick@83.1.168.198] has joined #lisp 10:56:09 -!- rootzlevel [~hpd@91-66-218-51-dynip.superkabel.de] has quit [Quit: leaving] 10:57:06 Is it possible to create an anonymous generic function? It must be, but I don't see how such a thing could possibly work? 10:57:34 -!- OliverUv_ [fuckident@valkyrie.underwares.org] has quit [Remote host closed the connection] 10:59:02 brodo [~brodo@p5B0249EC.dip.t-dialin.net] has joined #lisp 11:03:13 sluggo [~chris@c-75-64-77-87.hsd1.tn.comcast.net] has joined #lisp 11:07:00 OliverUv [fuckident@valkyrie.underwares.org] has joined #lisp 11:07:38 francogrex [~user@109.130.56.48] has joined #lisp 11:08:32 I found this "abandoned" project http://common-lisp.net/cgi-bin/viewcvs.cgi/cl-x86-asm/?root=cl-x86-asm 11:08:46 do you think it's useful for anything? 11:09:29 no :-) 11:10:08 I abandoned it because such a thing already exists in Movitz. 11:12:06 I don't know, but if it's anything like the situation with classes, you should be able to ensure a generic function with a name first, and then set its name to NIL afterwards. 11:12:11 ZabaQ: it's a pity. movitz is movitz... what was the purpose? 11:12:40 like as it is now what can one do with it? 11:14:15 -!- rien [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has quit [Remote host closed the connection] 11:14:32 rien [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 11:14:37 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Ping timeout: 255 seconds] 11:15:56 francogrex: it was meant to be used as a compiler backend. I *think* you can generate a very simple (as in store, add, return) x86 raw binary with it. 11:16:42 I was very much a lisp newbie when I wrote that thing. Actually I still am a lisp newbie... 11:19:06 ZabaQ: ok. then it was going to be nice and useful. I wish you could have completed it. I just find it a pity to see abandoned project. 11:20:20 -!- cmm [~cmm@bzq-79-178-206-31.red.bezeqint.net] has quit [Ping timeout: 250 seconds] 11:20:59 I'm not sure what people would actually do with it.. 11:21:26 cmm [~cmm@bzq-79-178-206-31.red.bezeqint.net] has joined #lisp 11:22:00 It taught me that I could implement somtething quickly via text-processing textual-tables into sexprs and then wrapping lisp round them. 11:22:14 Which was bit of a revelation to me at the time. 11:24:00 dabd [~dabd@a79-169-178-93.cpe.netcabo.pt] has joined #lisp 11:25:36 well, if anything, just for the heck of it, as you entioned above, assemble asm code into executables.. 11:26:14 or embed asm code into lisp... 11:26:28 the latter would have been even more interssting 11:26:48 you can do this already 11:27:14 using VOP, but this is nasm instructions, would have been 11:27:27 -!- kiuma [~kiuma@93-35-237-39.ip57.fastwebnet.it] has quit [Quit: Leaving] 11:27:53 gravicappa [~gravicapp@ppp85-140-117-9.pppoe.mtu-net.ru] has joined #lisp 11:28:05 VOPs take care of many things 11:28:29 (when I said "embed", I meant more like "inline" asm code) 11:29:15 funny thing - VOP-based, macro capable LAP would probably win a big chunk of delicate assembler work that is still needed, because non-DSP systems have horrible assemblers, apparently 11:30:28 francogrex: it's pointless 11:31:22 ..you see why I didn't think it worth completing :-) 11:31:26 is it also pointless (in your view) to embed asm in C as well ? 11:32:03 stassats: what about a generic, portable assembler that doesn't need to depend on implementation-specific stuff? 11:32:18 -!- Joreji [~thomas@75-186.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 260 seconds] 11:33:01 francogrex: i don't care about C, i'm talking about Lisp 11:33:09 -!- k04n [~k04n@cpe-76-175-192-194.socal.res.rr.com] has quit [Remote host closed the connection] 11:33:36 in any case, it's pointless in your view, it may not be pointless according to others 11:33:44 i used VOPs in Lisp, to provide optimized routines for different SBCL targets, and a portable versions for other implementations 11:34:13 Yuuhi [benni@p5483BA28.dip.t-dialin.net] has joined #lisp 11:34:51 using inline assembly wouldn't help in any way, i'd still put it into a separate function 11:35:36 *p_l|backup* will probably use few simple functions that output a partially-precomputed array of instructions for his "portable" variant. SBCL will get inline VOPs ^_^ 11:35:48 -!- ASau [~user@93-80-250-194.broadband.corbina.ru] has quit [Remote host closed the connection] 11:35:55 ASau` [~user@93-80-250-194.broadband.corbina.ru] has joined #lisp 11:37:15 https://github.com/stassats/swap-bytes here the code i was talking about 11:39:27 -!- freiksenet [~freiksene@cs181130165.pp.htv.fi] has quit [Quit: WeeChat 0.3.2] 11:40:55 it's very nice. (I always like to see asm mixed with other code) 11:41:30 is there a seperate manual for VOP 11:42:01 use the source! 11:42:21 k04n [~k04n@cpe-76-175-192-194.socal.res.rr.com] has joined #lisp 11:42:21 looking at rotate-byte contrib helps 11:42:52 i'll start by examining your github code it'll help 11:43:25 timor [~timor@port-92-195-248-65.dynamic.qsc.de] has joined #lisp 11:43:32 p_l|backup: You are working on an assembler, too? 11:44:18 -!- k04n [~k04n@cpe-76-175-192-194.socal.res.rr.com] has quit [Remote host closed the connection] 11:45:07 i still haven't got around making optimized versions for CCL 11:49:55 ZabaQ: not at the moment. One of my ideas needs to generate assembly at runtime for full functionality, though (and no, generating Lisp code and calling CL:COMPILE isn't good enough) 11:51:04 -!- rien [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has quit [Remote host closed the connection] 11:51:20 rien [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 12:05:01 manic12 [~andrew@99-100-67-123.lightspeed.sntcca.sbcglobal.net] has joined #lisp 12:05:04 BrandLeeJones [~BrandLeeJ@88.116.134.106] has joined #lisp 12:06:24 sea4ever [~sea@205.244.150.217] has joined #lisp 12:08:02 -!- HG` [~HG@xdslas084.osnanet.de] has quit [Quit: Leaving.] 12:08:42 -!- echo-area [~user@114.251.86.0] has quit [Remote host closed the connection] 12:11:48 hargettp [~hargettp@pool-71-174-133-175.bstnma.east.verizon.net] has joined #lisp 12:12:14 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Ping timeout: 240 seconds] 12:13:21 -!- francogrex [~user@109.130.56.48] has quit [Remote host closed the connection] 12:13:52 Ye cats. It's symbols all the way down! 12:16:08 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 12:18:05 freiksenet [~freiksene@ZYDXXXVIII.gprs.sl-laajakaista.fi] has joined #lisp 12:18:06 -!- BrandLeeJones [~BrandLeeJ@88.116.134.106] has quit [Quit: BrandLeeJones] 12:18:39 thmzlt [~thomaz@24-217-48-63.dhcp.stls.mo.charter.com] has joined #lisp 12:23:16 em [~em@unaffiliated/emma] has joined #lisp 12:25:09 valvola [~val@host157-172-dynamic.2-79-r.retail.telecomitalia.it] has joined #lisp 12:25:58 -!- benny [~benny@i577A3489.versanet.de] has quit [Ping timeout: 260 seconds] 12:26:51 benny [~benny@i577A205E.versanet.de] has joined #lisp 12:28:10 BrandLeeJones [~BrandLeeJ@88.116.134.106] has joined #lisp 12:28:50 v0|d [~user@213.232.33.243] has joined #lisp 12:29:09 tirinim. 12:34:16 bsod1 [~osa1@188.56.173.107] has joined #lisp 12:34:47 dfkjjkfd [~paulh@210-11-ftth.onsnetstudenten.nl] has joined #lisp 12:36:56 xan_ [~xan@129.131.117.91.dynamic.mundo-r.com] has joined #lisp 12:44:46 dfkjjkfd_ [~paulh@210-11-ftth.onsnetstudenten.nl] has joined #lisp 12:48:31 billitch [~billitch@men75-12-88-183-197-206.fbx.proxad.net] has joined #lisp 12:50:41 jmbr [~jmbr@158.33.220.87.dynamic.jazztel.es] has joined #lisp 12:51:02 -!- BrandLeeJones [~BrandLeeJ@88.116.134.106] has quit [Quit: BrandLeeJones] 12:51:32 -!- freiksenet [~freiksene@ZYDXXXVIII.gprs.sl-laajakaista.fi] has quit [Quit: WeeChat 0.3.2] 12:52:41 -!- valium97582 [~daniel@189-47-113-196.dsl.telesp.net.br] has quit [Quit: leaving] 12:54:40 moah [~gnu@dslb-178-006-212-130.pools.arcor-ip.net] has joined #lisp 12:55:50 Good evening everyone! 12:56:02 -!- em [~em@unaffiliated/emma] has quit [Ping timeout: 240 seconds] 12:56:03 beach: howdY :) 12:56:10 varjag [~eugene@4.169.249.62.customer.cdi.no] has joined #lisp 13:02:14 -!- incandenza_ is now known as incandenza 13:02:58 -!- mega1 [~quassel@catv4E5CABA2.pool.t-online.hu] has quit [Remote host closed the connection] 13:03:11 Zephyrus__ [~emanuele@unaffiliated/zephyrus] has joined #lisp 13:03:28 -!- valvola [~val@host157-172-dynamic.2-79-r.retail.telecomitalia.it] has quit [Quit: Sto andando via] 13:04:41 -!- Zephyrus [~emanuele@unaffiliated/zephyrus] has quit [Ping timeout: 272 seconds] 13:05:57 mega1 [~quassel@catv4E5CABA2.pool.t-online.hu] has joined #lisp 13:08:23 -!- mega1 [~quassel@catv4E5CABA2.pool.t-online.hu] has quit [Remote host closed the connection] 13:09:07 hi beach` :) 13:09:51 gigamonkey: hmm... I think I've just got confused about pattern's problem 13:09:59 -!- prip [~foo@host14-132-dynamic.35-79-r.retail.telecomitalia.it] has quit [Read error: Connection reset by peer] 13:10:00 why sort does whatever it does that it broke pattern's solution? 13:11:32 mega1 [~quassel@catv4E5CABA2.pool.t-online.hu] has joined #lisp 13:11:42 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 250 seconds] 13:14:50 oh, sort is destructive 13:14:55 that explains all 13:15:40 -!- zc00gii [~zc00gii@thefacepalm.net] has quit [Ping timeout: 276 seconds] 13:17:37 cuartum [~Cuartum@89.Red-80-25-155.staticIP.rima-tde.net] has joined #lisp 13:17:45 zc00gii [~zc00gii@thefacepalm.net] has joined #lisp 13:18:32 btw. how it is with this #+nil for commenting out sexp - it's ok, or "bad style" to do that? 13:19:32 -!- tfb [~tfb@92.41.114.224.sub.mbb.three.co.uk] has left #lisp 13:19:32 tfb [~tfb@92.41.114.224.sub.mbb.three.co.uk] has joined #lisp 13:19:33 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Ping timeout: 246 seconds] 13:20:24 TeMPOraL: The usual argument against it is that there is (or was) an implementation of Lisp called NIL (New Implementation of Lisp). 13:21:03 -!- ASau` is now known as ASau 13:21:08 -!- beach` is now known as beach 13:21:13 valium97582 [~daniel@189-47-113-196.dsl.telesp.net.br] has joined #lisp 13:22:18 there was, it was pre-ANSI iirc, something on VAX I think 13:22:55 I think it suffered from second system syndrome and died without reaching its goals 13:22:59 sellout- [~greg@c-24-61-13-161.hsd1.ma.comcast.net] has joined #lisp 13:23:21 -!- incandenza [~djm@ip68-231-109-244.ph.ph.cox.net] has quit [Quit: leaving] 13:24:06 -!- bsod1 [~osa1@188.56.173.107] has quit [Remote host closed the connection] 13:24:30 beach: is there any other way to make a single-sexp comment? 13:24:36 incandenza [~djm@ip68-231-109-244.ph.ph.cox.net] has joined #lisp 13:24:38 -!- hargettp [~hargettp@pool-71-174-133-175.bstnma.east.verizon.net] has quit [Ping timeout: 240 seconds] 13:24:49 TeMPOraL: +(or) 13:25:14 prip [~foo@host80-133-dynamic.42-79-r.retail.telecomitalia.it] has joined #lisp 13:25:15 I find it much more useful than normal "line comments", as Lisp doesn't really follow the line-based code structure, as other languages do 13:25:23 -!- incandenza [~djm@ip68-231-109-244.ph.ph.cox.net] has quit [Client Quit] 13:25:34 anfab [~chatzilla@122.164.27.2] has joined #lisp 13:26:09 +(or) ? 13:26:21 -!- Atomsk is now known as ace4016 13:26:43 -!- sellout [~greg@gw3.tacwap.org] has quit [Ping timeout: 276 seconds] 13:26:43 -!- sellout- is now known as sellout 13:26:46 incandenza [~djm@ip68-231-109-244.ph.ph.cox.net] has joined #lisp 13:26:59 TeMPOraL: (or) is always false. 13:27:28 ah, #+(or) 13:27:58 Sorry, yes, forgot the #. 13:27:59 hmm... #+() seems to work fine too :D 13:28:38 -!- zc00gii [~zc00gii@thefacepalm.net] has quit [Ping timeout: 240 seconds] 13:28:42 beach: but still, it sounds like a rarely used feature - more like a hack, "write #+" 13:28:48 is it so? 13:29:18 Something that is always false is exactly what you want in this situation. 13:29:27 hargettp [~hargettp@pool-71-184-177-218.bstnma.east.verizon.net] has joined #lisp 13:29:30 why is it +, by the way? - would make more sense (as in, "don't") 13:29:32 TeMPOraL: feature expressions are not like normal lisp expressions. 13:30:25 tic: Well, #-(and) if you prefer. 13:32:17 -!- azaq23 [~derivecto@unaffiliated/azaq23] has quit [Ping timeout: 255 seconds] 13:32:47 CL-USER> #-t(+ 3 3) 13:32:47 6 13:32:47 CL-USER> #+t(+ 3 3) 13:32:47 ; No value 13:32:54 ok, this suprised me 13:32:59 :D 13:33:44 TeMPOraL: Why? Is t a feature in your Lisp system? 13:35:19 *TeMPOraL* hereby stops asking silly questions and adds "read about feature system" to his todo list 13:35:41 em [~emma@unaffiliated/emma] has joined #lisp 13:36:22 sohail [~Adium@unaffiliated/sohail] has joined #lisp 13:38:38 -!- anfab [~chatzilla@122.164.27.2] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.6.13/20101203075014]] 13:39:06 Of course, sensible people used #+nil and #-nil -- and didn't add nil to their features ... 13:41:31 zc00gii [~zc00gii@thefacepalm.net] has joined #lisp 13:43:21 azaq23 [~derivecto@unaffiliated/azaq23] has joined #lisp 13:44:44 *splittist* uses Xach's quickproject. Apparently Hacks and glory await. 13:45:16 stassats [~stassats@wikipedia/stassats] has joined #lisp 13:48:27 -!- zc00gii [~zc00gii@thefacepalm.net] has quit [Ping timeout: 240 seconds] 13:49:19 -!- leo2007 [~leo@120.33.169.187] has quit [Ping timeout: 260 seconds] 13:50:44 -!- jmbr [~jmbr@158.33.220.87.dynamic.jazztel.es] has quit [Remote host closed the connection] 13:51:41 -!- dfkjjkfd_ [~paulh@210-11-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 13:51:55 -!- dfkjjkfd [~paulh@210-11-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 13:54:34 zc00gii [~zc00gii@thefacepalm.net] has joined #lisp 13:54:50 -!- Beetny [~Beetny@ppp118-208-143-239.lns20.bne1.internode.on.net] has quit [Ping timeout: 240 seconds] 13:56:47 -!- billitch [~billitch@men75-12-88-183-197-206.fbx.proxad.net] has quit [Ping timeout: 240 seconds] 13:58:00 -!- sohail [~Adium@unaffiliated/sohail] has quit [Quit: Leaving.] 13:58:48 Yes. 13:58:51 Don't keep them waiting. 13:59:46 zc00gii_ [~zc00gii@thefacepalm.net] has joined #lisp 13:59:47 -!- zc00gii [~zc00gii@thefacepalm.net] has quit [Ping timeout: 272 seconds] 14:03:12 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Quit: Leaving.] 14:03:30 Well, now that my project has a name and a basic directory structure, I'd better call it a day. Don't want to run afoul of the union. 14:03:55 -!- CrazyEddy [~CrazyEddy@wrongplanet/CrazyEddy] has quit [Read error: Operation timed out] 14:04:29 -!- Zephyrus__ [~emanuele@unaffiliated/zephyrus] has quit [Ping timeout: 260 seconds] 14:04:34 -!- zc00gii_ [~zc00gii@thefacepalm.net] has quit [Ping timeout: 276 seconds] 14:04:54 Zephyrus [~emanuele@unaffiliated/zephyrus] has joined #lisp 14:07:48 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 14:07:53 You've already done work on Sunday. What's a few more afouls? 14:09:11 -!- Xof_ [~crhodes@dunstaple.doc.gold.ac.uk] has quit [Ping timeout: 255 seconds] 14:09:17 -!- jamief [~user@harrison.doc.gold.ac.uk] has quit [Ping timeout: 272 seconds] 14:09:53 dto1 [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 14:12:28 -!- tfb [~tfb@92.41.114.224.sub.mbb.three.co.uk] has quit [Quit: sleeping] 14:12:36 zc00gii [~zc00gii@thefacepalm.net] has joined #lisp 14:13:05 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Ping timeout: 272 seconds] 14:14:31 dfox [~dfox@ip-94-113-90-33.net.upcbroadband.cz] has joined #lisp 14:14:35 -!- valium97582 [~daniel@189-47-113-196.dsl.telesp.net.br] has quit [Quit: leaving] 14:15:32 freiksenet [~freiksene@cs181130165.pp.htv.fi] has joined #lisp 14:20:18 -!- Zephyrus [~emanuele@unaffiliated/zephyrus] has quit [Ping timeout: 260 seconds] 14:21:24 Edward [~ed@AAubervilliers-154-1-52-167.w90-3.abo.wanadoo.fr] has joined #lisp 14:22:34 -!- zc00gii [~zc00gii@thefacepalm.net] has quit [Ping timeout: 260 seconds] 14:25:12 Hmm. There was something that did regex matches upon s-exps (rather than strings), iirc. 14:25:21 Does anyone remember what it is? 14:25:46 cl-irregsexp iirc. 14:26:28 hmm, i guess not. 14:27:14 Zephyrus [~emanuele@unaffiliated/zephyrus] has joined #lisp 14:28:06 -!- silentbicycle [~scott@99-55-246-143.lightspeed.gdrpmi.sbcglobal.net] has left #lisp 14:28:31 Is it possible to make a bit vector of size 1000000000 ? 14:28:33 -!- parcs [~patrick@ool-45741d7d.dyn.optonline.net] has quit [Quit: WeeChat 0.3.3] 14:28:59 parcs [~patrick@ool-45741d7d.dyn.optonline.net] has joined #lisp 14:29:32 ocharles: depends on the limits of your implementation. 14:29:40 Hrm, I'm using sbcl 14:29:41 ocharles: not a problem in sbcl. 14:29:44 -!- parcs [~patrick@ool-45741d7d.dyn.optonline.net] has quit [Client Quit] 14:29:45 Odd 14:29:55 32 bit or 64 bit? 14:30:01 printing it is another matter. 14:30:05 When I run this code with a size of 1000 or 10000 it's fine. when I bump it up it just always returns 1 (I can past that) 14:30:18 ocharles: array-total-size-limit 14:30:41 mephisto_ [~mephisto@CPE00163625fbf5-CM00407b85ff2a.cpe.net.cable.rogers.com] has joined #lisp 14:30:49 http://paste.lisp.org/display/118686 14:31:09 parcs [~patrick@ool-45741d7d.dyn.optonline.net] has joined #lisp 14:31:23 (primes-upto 100000) is 9592, but (primes-upto 1000000) is 1 14:31:53 ocharles: you shouldn't try to read elements from an uninitialized array. (though that is not your problem in this code) 14:32:09 ah ok. I thought it defaulted to 0 because that's how the reader displayed it 14:32:10 :initial-element 0 would suffice 14:32:17 ocharles: it's implementation-dependent. 14:32:21 ah 14:32:32 in lispworks, i think, you might have garbage in uninitialized arrays. 14:32:39 (that's how i learned about the issue) 14:32:45 is your code unsafe? 14:32:47 :) 14:33:01 because _upto_ length would leap out of bounds 14:33:05 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 14:33:06 stassats: I have no idea. I did copy and paste some optimization thing in earlier, but I dunno how to turn it off :) 14:33:40 zc00gii [~zc00gii@thefacepalm.net] has joined #lisp 14:34:01 upto (1- length) doesn't seem to make a difference on my output 14:34:12 use below 14:34:20 ooh, nice 14:35:18 (primes-upto 1000000) returns 78498 14:35:30 -!- cmm [~cmm@bzq-79-178-206-31.red.bezeqint.net] has quit [Ping timeout: 265 seconds] 14:35:31 my own implementation returns the same number 14:35:45 maybe I've messed up my environment then 14:36:09 cmm [~cmm@bzq-79-178-206-31.red.bezeqint.net] has joined #lisp 14:36:13 CrazyEddy [~vitreoele@210.8.79.105] has joined #lisp 14:36:20 -!- CrazyEddy [~vitreoele@210.8.79.105] has quit [Changing host] 14:36:20 CrazyEddy [~vitreoele@wrongplanet/CrazyEddy] has joined #lisp 14:37:42 Now I get: Index 100000 out of bounds for (SIMPLE-BIT-VECTOR 100000), should be nonnegative and <100000. 14:37:56 jamief [~user@158.223.51.80] has joined #lisp 14:37:59 I get this when I try to run --script too, I'm not sure how I fixed it before... 14:38:05 Xof [~crhodes@158.223.51.79] has joined #lisp 14:38:20 ocharles: not related to the issue, but "when (= 0 (bit sieve i)) count" i can be written as "count (zerop (bit sieve i))", moreover, the whole loop can be replaced with (- (count 0 sieve) 2) 14:38:34 ocharles: well, did you replace UPTO with BELOW? 14:38:44 stassats: I did 14:38:48 -!- zc00gii [~zc00gii@thefacepalm.net] has quit [Ping timeout: 240 seconds] 14:38:50 are you sure? 14:38:57 oh no, sorry 14:39:00 I replaced only 1 14:39:03 it does work now :) 14:39:24 that's me learnt the hard way not to fiddle with optimization settings until I'm sure it works 14:39:33 now, exclude even numbers! 14:39:44 yea, now to make it actually do the right thing, heh 14:40:16 zc00gii [~zc00gii@thefacepalm.net] has joined #lisp 14:44:10 And now... The value 1000000000 is not of type (or (mod 536870909) cons null) 14:44:35 yes, that's too much 14:44:47 hrm 14:44:48 -!- zc00gii [~zc00gii@thefacepalm.net] has quit [Ping timeout: 260 seconds] 14:45:19 here's a nickel, kid 14:45:27 *Krystof* steals the nickel 14:45:41 zc00gii [~zc00gii@thefacepalm.net] has joined #lisp 14:46:05 but you only need even numbers, so it'd be half the size 14:46:22 ah yea.. that is true. 14:46:23 there are other tricks 14:47:20 Krystof: give it back, or else I will have to cons you into jail 14:48:28 I'm not sure my idea of generating all primes up to MAX and then filtering is going to work anyway. This is for spoj, and my time limit is 5s. and it takes more than 5s to generate them all :) 14:48:37 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [Ping timeout: 276 seconds] 14:48:50 -!- PuyffTheMagic is now known as ryan 14:49:31 on my computer it takes 0.646 seconds to count the number of primes below 1000000000 14:49:53 -!- ryan is now known as PuffTheMagic 14:50:29 -!- zc00gii [~zc00gii@thefacepalm.net] has quit [Ping timeout: 264 seconds] 14:52:42 -!- billstclair_ is now known as billstclair 14:52:50 -!- billstclair [~billstcla@gw3.tacwap.org] has quit [Changing host] 14:52:50 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 14:53:01 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 14:53:10 ah, 19s here. poor little netbook 14:54:27 -!- juniorroy [~juniorroy@212.36.224.57] has quit [Ping timeout: 240 seconds] 14:54:37 tfb [~tfb@92.40.12.18.sub.mbb.three.co.uk] has joined #lisp 14:56:07 zc00gii [~zc00gii@thefacepalm.net] has joined #lisp 15:01:07 -!- zc00gii [~zc00gii@thefacepalm.net] has quit [Ping timeout: 265 seconds] 15:02:18 zc00gii [~zc00gii@thefacepalm.net] has joined #lisp 15:06:30 hanche [~hanche@32.57.189.109.customer.cdi.no] has joined #lisp 15:07:01 you are in a maze of twisty little functions, all different 15:10:18 -!- rien [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has quit [Ping timeout: 265 seconds] 15:10:34 -!- em [~emma@unaffiliated/emma] has quit [Quit: As a wild ass in the desert go I forth to my work] 15:10:43 rien [~unkanon@dyn-160-39-34-114.dyn.columbia.edu] has joined #lisp 15:10:45 emma [~em@unaffiliated/emma] has joined #lisp 15:10:52 billitch [~billitch@62.201.142.85] has joined #lisp 15:11:53 -!- emma is now known as em 15:12:33 pattern: "you are in a maze of twisty little functions, all different" <-- sounds like a room description for a text-based RPG :D 15:13:00 "there are two exits from here: north, south. there is a single cons cell laying on the floor" 15:13:34 wol [~wol@67.174.222.215] has joined #lisp 15:13:45 http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=you+are+in+a+maze+of+twisty 15:14:16 TeMPOraL: http://en.wikipedia.org/wiki/Zork_I 15:15:02 lum_sais [~kvirc@192.Red-79-158-113.staticIP.rima-tde.net] has joined #lisp 15:15:15 -!- churib_zZz is now known as churib 15:16:52 :D 15:21:12 iwillig [~iwillig@ool-18b944f4.dyn.optonline.net] has joined #lisp 15:32:02 Joreji [~thomas@75-186.eduroam.RWTH-Aachen.DE] has joined #lisp 15:41:38 -!- jestocost [~cmell@188-220-238-74.zone11.bethere.co.uk] has quit [Ping timeout: 250 seconds] 15:47:50 -!- hanche [~hanche@32.57.189.109.customer.cdi.no] has quit [Ping timeout: 240 seconds] 15:48:56 -!- Bucciarati_ is now known as Bucciarati 15:49:36 billitch1 [~billitch@AMontsouris-153-1-53-246.w86-212.abo.wanadoo.fr] has joined #lisp 15:49:38 _s1gma [~herpderp@77.107.164.131] has joined #lisp 15:50:51 ikki [~ikki@189.139.232.70] has joined #lisp 15:51:53 -!- billitch [~billitch@62.201.142.85] has quit [Ping timeout: 272 seconds] 15:52:28 -!- xan_ [~xan@129.131.117.91.dynamic.mundo-r.com] has quit [Ping timeout: 260 seconds] 15:52:49 zomgbie [~jesus@h081217131002.dyn.cm.kabsi.at] has joined #lisp 15:57:46 rme [~rme@pool-70-106-129-201.chi01.dsl-w.verizon.net] has joined #lisp 16:02:40 ziga` [~user@BSN-61-38-84.dial-up.dsl.siol.net] has joined #lisp 16:06:11 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 255 seconds] 16:09:00 sabalaba [~sabalaba@c-71-227-118-15.hsd1.mi.comcast.net] has joined #lisp 16:12:53 stassats: worry not, you still hold the record ;) 16:13:01 But I got 2.87s in the end :) 16:13:30 -!- sabalaba [~sabalaba@c-71-227-118-15.hsd1.mi.comcast.net] has quit [Read error: Operation timed out] 16:14:14 mattrepl [~mattrepl@pool-72-83-118-99.washdc.fios.verizon.net] has joined #lisp 16:14:31 xan_ [~xan@129.131.117.91.dynamic.mundo-r.com] has joined #lisp 16:18:23 -!- alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has quit [Quit: alexsuraci] 16:18:31 Blkt [~user@net-93-151-229-153.cust.dsl.teletu.it] has joined #lisp 16:19:46 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 16:28:57 jestocost [~cmell@188-220-238-74.zone11.bethere.co.uk] has joined #lisp 16:29:14 gonzojive [~red@66-169-234-132.dhcp.snlo.ca.charter.com] has joined #lisp 16:33:17 good evening people 16:34:28 ocharles: now i think my timings were skewed 16:34:33 ocharles: can you share your code? 16:35:53 drdo` [~user@91.205.108.93.rev.vodafone.pt] has joined #lisp 16:37:54 -!- drdo [~user@91.205.108.93.rev.vodafone.pt] has quit [Ping timeout: 260 seconds] 16:38:21 EarlGray [~dmytrish@88.154.11.231] has joined #lisp 16:39:54 HG` [~HG@xdsl-92-252-122-232.dip.osnanet.de] has joined #lisp 16:40:31 evening, Blkt 16:41:17 hi 16:43:18 -!- gonzojive [~red@66-169-234-132.dhcp.snlo.ca.charter.com] has quit [Quit: gonzojive] 16:43:32 mishoo [~mishoo@79.112.236.252] has joined #lisp 16:45:29 -!- sm` [s@79.125.197.137] has quit [Ping timeout: 260 seconds] 16:47:28 stassats: sure 16:47:38 I'm going to push each solution to github, I'll just set that up 16:48:07 -!- zomgbie [~jesus@h081217131002.dyn.cm.kabsi.at] has quit [Ping timeout: 240 seconds] 16:48:13 -!- lum_sais [~kvirc@192.Red-79-158-113.staticIP.rima-tde.net] has quit [Quit: KVIrc Insomnia 4.0.0, revision: 3900, sources date: 20100125, built on: 2010-07-07 00:42:53 UTC http://www.kvirc.net/] 16:49:57 WM2D [~flengyel@pool-71-167-237-248.nycmny.east.verizon.net] has joined #lisp 16:50:06 https://github.com/ocharles/SPOJ-solutions/blob/master/PRIME1.lisp I'm still learning cl so go easy :) 16:50:48 sm` [s@77.28.123.227] has joined #lisp 16:53:40 -!- hargettp is now known as hargettp|away 16:55:58 <_death> ocharles: some duplication there and unwarranted use of subseq, but it's not bad for a start 16:57:26 yea, it could do with a cleanup 16:57:36 but I mostly wanted to submit it and then actually get out of bed and take a shower 16:57:40 next thing I know it's 4pm :) 16:58:24 <_death> ocharles: also, I'm not sure why you convert the bitvector to a list in SIEVE.. 16:58:25 _death: how would you parse a string "5 100" into 2 variables? CL doesn't seem to have a split function (coming from a perl background) 16:59:18 it's coming from a stream, i would do (read) (read) 16:59:29 read reads up to a space? 16:59:47 read reads up when it needs to read 16:59:54 <_death> ocharles: in the simple, one time case, I'd do what you do.. use position and parse-integer. I really don't like regular expressions.. but there are libraries with a split function, like cl-ppcre 17:00:03 up to where 17:00:06 -!- tfb [~tfb@92.40.12.18.sub.mbb.three.co.uk] has quit [Quit: gone] 17:00:16 stassats, that's fairly unsafe though. 17:00:25 Oh yea, it reads a single sexp, right? 17:00:26 tic: who cares? 17:00:37 stassats, the one using read-line? dunno. 17:00:59 it's an online judging system 17:01:35 and _death I convert it to a list because the bitvector contains just 1s and 0s, but I want the actual indexes of the 0s. I guess there's a much better idiom for that though 17:02:38 <_death> ocharles: in PRIMES-BETWEEN you can have both a counter for the index and the "current" bit of the bit-vector 17:04:14 huangho [~vitor@201-41-27-246.paemt700.dsl.brasiltelecom.net.br] has joined #lisp 17:05:25 -!- cuartum [~Cuartum@89.Red-80-25-155.staticIP.rima-tde.net] has quit [Read error: Connection refused] 17:07:24 hello! 17:07:54 I would like to know if is there any practical difference between 'reduce' and 'apply' for functions with variable arity 17:08:11 e.g. (reduce #'+ '(1 2 3)) vs. (apply #'+ '(1 2 3)) 17:08:31 see call-arguments-limit 17:08:45 hmmm 17:08:48 thanks 17:12:18 alexsuraci [~alexsurac@pool-71-188-133-67.aubnin.fios.verizon.net] has joined #lisp 17:12:49 <_death> the latter also has an implementation-defined aspect wrt commutativity and associativity 17:16:10 I guess this would matter when working with floats 17:16:17 <_death> right 17:16:56 <_death> though for nice float summation I'd use kahan sum anyway 17:19:39 sabalaba [~sabalaba@c-71-227-118-15.hsd1.mi.comcast.net] has joined #lisp 17:19:41 I was wondering if 'apply' would be faster when applicable, because + is already doing some kind of "reduce" internally 17:20:18 huangho: I don't know the internals, but logically speaking, apply should be faster in the case above 17:20:25 but they're definitely not the same thing 17:20:43 <_death> logically speaking? 17:21:08 _death: well, just thinking about what reduce means vs. apply, it clearly needs to do a bit more work 17:21:25 <_death> how come? 17:21:43 my thought was that it would be doing the 'reduce' two times, one in 'reduce' itself, one in '+' 17:22:06 unless the compiler is smart enough to use a special-purpose two-argument + in this case 17:22:15 -!- Ginei_Morioka [~irssi_log@78.112.71.82] has quit [Ping timeout: 265 seconds] 17:22:20 leo2007 [~leo@222.79.250.4] has joined #lisp 17:22:40 huangho: I guess you could disassemble the code to see what really happens :) 17:22:51 hmm! 17:22:59 <_death> huangho: yes, and you can define your own binary+ function and reduce with that.. but that's not "logically speaking" :) 17:23:48 Ginei_Morioka [~irssi_log@78.114.179.121] has joined #lisp 17:23:56 _death: you mean reduce is able to optimize for functions that accept any number of arguments? 17:25:30 (reduce (lambda(x y) 17:25:30 (format t "Called~%") 17:25:30 (+ x y)) '(1 2 3 4 5 6)) 17:25:30 Called 17:25:30 Called 17:25:31 Called 17:25:35 Called 17:25:37 Called 17:25:39 21 17:25:49 don't paste here 17:25:54 use a paste service for that 17:25:58 we're called 5 times -- that's how many times you'd type "+" with infix notation 17:25:59 sorry 17:26:38 that's because your function takes two arguments 17:26:38 I guess 'reduce' could not do this generally 17:26:59 (by "this" I mean "optimize for functions of variable arity") 17:27:28 sugarshark [~ole@p4FDA8A18.dip0.t-ipconnect.de] has joined #lisp 17:27:44 <_death> mishoo: what do you think (+ a b c d e) does 17:28:07 <_death> (add f) 17:28:10 _death: probably the same thing, internally, but that's not what I cared about 17:28:26 -!- EarlGray is now known as earlgray 17:28:28 -!- phryk [~phryk@yggdrasil.phryk.net] has quit [Quit: Coyote finally caught me] 17:28:50 Vicfred [~Vicfred@189.143.87.127] has joined #lisp 17:29:09 -!- HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Quit: Leaving] 17:29:10 SBCL's dissasemble output is somewhat curious 17:29:16 ; 0A846CDB: 8B05A86C840A MOV EAX, [#xA846CA8] ; # 17:29:19 ; no-arg-parsing entry point 17:29:22 arg 17:29:26 "no-arg-passing"? 17:29:40 <_death> parsing 17:30:05 ah, yes, but curious anyway 17:30:46 join #ccl 17:31:12 ZabaQ: but i don't want to! 17:32:22 It wasn't an instruction, just a missing / when typing, sorry! 17:32:42 :D 17:33:04 -!- levi [~user@c-174-52-219-147.hsd1.ut.comcast.net] has quit [Read error: Connection reset by peer] 17:33:22 levi [~user@c-174-52-219-147.hsd1.ut.comcast.net] has joined #lisp 17:37:11 hahaha :D 17:40:31 hmm. LispPaste not getting through.. 17:43:02 tested for a list of 65536 numbers; reduce took 0.013s, apply took 0.006s 17:44:00 s1gma_ [~herpderp@77.107.164.131] has joined #lisp 17:44:11 did you try (reduce (lambda (x y) (+ x y)) list)? 17:44:18 tmh [6c491a1c@pdpc/supporter/sustaining/tmh] has joined #lisp 17:44:23 let's see 17:44:24 Greetings lispers! 17:45:32 stassats: 0.006s too! 17:45:43 stassats: very interesting 17:46:04 *ZabaQ* doesn't understand displaced arrays 17:46:43 that's because just #'+ doesn't know that it would get just two arguments, so it has to parse them each time 17:46:49 -!- _s1gma [~herpderp@77.107.164.131] has quit [Ping timeout: 240 seconds] 17:46:50 ZabaQ: what's there to understand? 17:47:03 -!- Posterdati [~tapioca@host127-230-dynamic.16-87-r.retail.telecomitalia.it] has quit [Remote host closed the connection] 17:47:24 <_death> huangho: there are other issues as well.. e.g., now say that you want to say something about the numbers you're adding.. you'll have a hard time doing that with apply.. and reduce also works with vectors etc. 17:47:50 yes, I was just wondering about the performance 17:47:54 <_death> huangho: basically using apply for this sort of task seems to me like nothing more than a "cute trick" 17:48:20 I would use 'reduce' anyway because of the arguments limit (on CLISP it is 4096) 17:48:40 -!- ikki [~ikki@189.139.232.70] has quit [Ping timeout: 276 seconds] 17:48:52 it's 2047 on lispworks 17:48:59 and 50 on ABCL 17:49:06 (unless I were pretty sure the list would be small) 17:49:07 536870911 sbcl 17:49:12 stassats: identity. they should have no identiy of their own, yet when I setf on a symbol bound to a displaced array it only affects the displaced-array and not the target array. 17:49:14 50?! 17:49:23 50 is the minimum by the spec 17:49:27 in sbcl call-arguments-limit doesn't mean anything 17:49:33 why? 17:49:54 ZabaQ: It should effect the target array. Are you sure you're comparing the correct index? 17:50:26 Blkt: i don't know 17:50:27 ZabaQ: It also depends on what the array contains. What does your array contain? 17:50:55 tmh: fixnums 17:51:03 http://paste.lisp.org/display/118693 17:51:12 ZabaQ: Okay, I'll look. 17:51:51 huh, you're confused 17:52:06 ZabaQ: You're not modifying the displaced array, you're modifying *displaced-testme* 17:52:57 ikki [~ikki@189.139.232.70] has joined #lisp 17:53:10 er. 17:54:46 -!- HG` [~HG@xdsl-92-252-122-232.dip.osnanet.de] has quit [Quit: Leaving.] 17:54:46 ZabaQ: Look at my annotation. 17:54:52 Well, yes. They are distinct things, but I don't see why. 17:55:07 HG` [~HG@xdsl-92-252-122-232.dip.osnanet.de] has joined #lisp 17:55:38 *displaced-testme* is spposed to be bound to a displaced array with *testme* as a atarget, so it's effectively an alias of *testme*, according to my reading. I've misunderstood something. 17:55:44 -!- billitch1 [~billitch@AMontsouris-153-1-53-246.w86-212.abo.wanadoo.fr] has quit [Remote host closed the connection] 17:55:48 it has nothing to do with displaced arrays or anything, you're modifying the binding of a variable, not the value of that binding 17:56:09 ZabaQ: What stassats said. 17:56:16 Oh, it only works via element reference! 17:56:21 *ZabaQ* understands 17:56:39 everything works that way 17:56:43 I'm actually creating a whole new array and relplacing the displaced array with it. 17:56:44 gah 17:57:13 if you want to fill a vector with another vector, use REPLACE 17:57:30 ZabaQ: Okay, for bonus points now, create and manipulate a 1D array displaced to a 2D array. 17:57:34 <_death> or (setf subseq) :) 17:57:47 -!- hargettp|away is now known as hargettp 17:59:34 statonjr [~statonjr@cpe-071-075-085-085.carolina.res.rr.com] has joined #lisp 18:00:26 prljavi_hari [~h@dh207-9-144.xnet.hr] has joined #lisp 18:01:02 -!- kruft`` [~user@c-98-214-105-38.hsd1.in.comcast.net] has quit [Ping timeout: 240 seconds] 18:01:19 (+ (row * max-colums) column) will map you fron 2d to 1d 18:01:31 I'm only interested in the 1d case at the moment 18:02:07 <_death> there's also row-major-aref/array-row-major-index 18:02:56 ZabaQ: Yeah, it's all just bookkeeping, but I think the 1D displaced-to 2D array helps clarify conceptually what is going in. 18:03:24 s/going in/going on/ 18:03:51 hey, i have some issues with i/o (on sbcl) 18:04:00 (progn (format t "asd") (read)) 18:04:36 *_death* 's spider sense sez: finish/force-output 18:04:53 Posterdati [~tapioca@host127-230-dynamic.16-87-r.retail.telecomitalia.it] has joined #lisp 18:05:08 this code prints "asd", but only after i write something and press enter 18:05:38 -!- earlgray [~dmytrish@88.154.11.231] has quit [Remote host closed the connection] 18:05:39 -!- _death is now known as adeht 18:05:53 -!- sabalaba [~sabalaba@c-71-227-118-15.hsd1.mi.comcast.net] has quit [Ping timeout: 255 seconds] 18:06:14 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 18:06:41 earlgray [~dmytrish@88.154.11.231] has joined #lisp 18:06:50 sabalaba [~sabalaba@c-71-227-118-15.hsd1.mi.comcast.net] has joined #lisp 18:07:21 hm force output seems to help 18:07:35 is there a way to disable buffering? 18:08:35 -!- cmm [~cmm@bzq-79-178-206-31.red.bezeqint.net] has quit [Ping timeout: 255 seconds] 18:08:55 Dodek: you can make-fd-stream without buffering 18:09:11 cmm [~cmm@bzq-79-178-206-31.red.bezeqint.net] has joined #lisp 18:09:36 no portable way 18:10:08 stassats, yeah i guess so 18:10:18 -!- JuanDaugherty [~Ren@cpe-72-228-177-92.buffalo.res.rr.com] has quit [Quit: Exeunt IRC] 18:11:04 dmytrish [~dmytrish@88.154.11.231] has joined #lisp 18:12:53 -!- earlgray [~dmytrish@88.154.11.231] has quit [Remote host closed the connection] 18:12:55 ok, thanks 18:13:27 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Quit: Leaving.] 18:16:23 -!- huangho [~vitor@201-41-27-246.paemt700.dsl.brasiltelecom.net.br] has quit [Read error: Operation timed out] 18:18:07 -!- dmytrish [~dmytrish@88.154.11.231] has quit [Remote host closed the connection] 18:18:36 dmytrish [~dmytrish@88.154.11.231] has joined #lisp 18:18:49 -!- WM2D [~flengyel@pool-71-167-237-248.nycmny.east.verizon.net] has quit [Quit: WM2D QRT] 18:21:14 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 18:22:37 -!- dmytrish [~dmytrish@88.154.11.231] has quit [Remote host closed the connection] 18:23:22 rgrau [~user@62.Red-88-2-20.staticIP.rima-tde.net] has joined #lisp 18:24:29 macrobat [~fuzzyglee@h-152-12.A163.priv.bahnhof.se] has joined #lisp 18:29:26 -!- lichtblau [~user@port-92-195-58-170.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 18:29:43 lichtblau [~user@port-92-195-58-170.dynamic.qsc.de] has joined #lisp 18:29:48 -!- lichtblau [~user@port-92-195-58-170.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 18:32:39 -!- hargettp [~hargettp@pool-71-184-177-218.bstnma.east.verizon.net] has quit [Quit: Linkinus - http://linkinus.com] 18:33:19 jewel [~jewel@196-210-134-61.dynamic.isadsl.co.za] has joined #lisp 18:34:13 I have trouble starting custom Clozure (in Emacs) I made with (save-application "c:/custom-clozure.exe :prepend-kernel t). It works well when started at the command line. 18:37:22 Do I need to set toplevel-function to something like REPL ? 18:40:02 -!- Blkt [~user@net-93-151-229-153.cust.dsl.teletu.it] has quit [Read error: Connection reset by peer] 18:41:54 *Fade* gets a bizarre spam, subject: RECOMPILATOR LISP TO C++.. WROTE IN C++ AND RESULTE AFTER COMPILING LISP 18:42:19 Blkt [~user@net-93-145-60-72.cust.dsl.teletu.it] has joined #lisp 18:42:44 -!- HG` [~HG@xdsl-92-252-122-232.dip.osnanet.de] has quit [Quit: Leaving.] 18:46:17 -!- homie` [~levgue@xdsl-84-44-210-21.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 18:49:22 Fade: at some point, people started speculating spam was used by emergining internet intelligence for communication 18:50:27 gadek [~konrad@62.121.148.46] has joined #lisp 18:51:11 stassats: the argument limit can be lifted from 50 to something higher, I believe. By setting a variable. 18:51:19 -!- prljavi_hari [~h@dh207-9-144.xnet.hr] has left #lisp 18:51:52 -!- pattern [~pattern@unaffiliated/pattern] has quit [Ping timeout: 250 seconds] 18:52:07 i can't think of any reasonable function needing more than 50 arguments 18:52:24 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 18:52:53 -!- pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has quit [Client Quit] 18:53:05 pizzledizzle [~pizdets@pool-96-250-215-244.nycmny.fios.verizon.net] has joined #lisp 18:53:12 if you could think of one, it would by definition be reasonable 18:53:51 hehe. 18:54:07 well, then there's no reason to do anything about it. 18:54:17 -!- sabalaba [~sabalaba@c-71-227-118-15.hsd1.mi.comcast.net] has quit [Ping timeout: 272 seconds] 18:54:39 pattern [~pattern@ool-45715287.dyn.optonline.net] has joined #lisp 18:54:46 huangho [~vitor@201-35-77-229.paemt700.dsl.brasiltelecom.net.br] has joined #lisp 18:56:48 homie [~levgue@xdsl-84-44-210-21.netcologne.de] has joined #lisp 18:58:32 erikc [~erikc@CPE001839c4f08a-CM001bd71e29a4.cpe.net.cable.rogers.com] has joined #lisp 18:58:37 -!- kerx [~kerx@38.118.129.34] has quit [Read error: Connection reset by peer] 19:00:58 -!- xan_ [~xan@129.131.117.91.dynamic.mundo-r.com] has quit [Ping timeout: 276 seconds] 19:02:13 xan_ [~xan@129.131.117.91.dynamic.mundo-r.com] has joined #lisp 19:03:50 -!- pattern [~pattern@ool-45715287.dyn.optonline.net] has quit [Ping timeout: 240 seconds] 19:04:43 damn, i have a show-stopper bug in ECL, and Juanjo can't reproduce it 19:04:45 pattern [~pattern@ool-45715287.dyn.optonline.net] has joined #lisp 19:05:18 that means i have to hunt it down myself, which isn't very encouraging 19:05:20 Ramarren: do you hang out here or just read logs? 19:06:13 sabalaba [~sabalaba@c-71-227-118-15.hsd1.mi.comcast.net] has joined #lisp 19:08:37 kerx [~kerx@38.118.129.34] has joined #lisp 19:14:04 stassats: can you reproduce it in a VM? 19:14:15 in which vm? 19:14:34 whatever. 19:14:52 why should that matter? 19:15:05 So you could send him the VM. 19:15:12 With the live bug. 19:16:19 pdponze [~pdponze@144.85.121.191] has joined #lisp 19:18:16 Soulman1 [~knute@166.80-202-254.nextgentel.com] has joined #lisp 19:19:01 -!- Blkt [~user@net-93-145-60-72.cust.dsl.teletu.it] has quit [Ping timeout: 276 seconds] 19:19:26 -!- tmh [6c491a1c@pdpc/supporter/sustaining/tmh] has left #lisp 19:20:28 -!- timor [~timor@port-92-195-248-65.dynamic.qsc.de] has quit [Ping timeout: 276 seconds] 19:24:55 bsod1 [~osa1@188.56.226.119] has joined #lisp 19:26:02 CallToPower [~CallToPow@85.8.72.223] has joined #lisp 19:26:38 -!- CallToPower is now known as CallToPower|away 19:28:41 heh 19:30:05 -!- sacho [~sacho@90.154.201.105] has quit [Ping timeout: 264 seconds] 19:31:42 Harag [~Harag@wbs-196-2-122-200.wbs.co.za] has joined #lisp 19:32:52 -!- myu2 [~myu2@v077103.dynamic.ppp.asahi-net.or.jp] has quit [Remote host closed the connection] 19:33:32 -!- CallToPower|away [~CallToPow@85.8.72.223] has quit [Quit: > /dev/null 2>&1] 19:34:00 is anyone aware of a lisp dsl that can preprocess to C code? (the resulting C code being standalone and not requiring the lisp vm) 19:34:10 CallToPower [~CallToPow@85.8.72.223] has joined #lisp 19:35:35 erikc: ECL is a common lisp compiler that transforms lisp into C. 19:35:37 StephenFalken [email@2001:470:1f14:135b::2] has joined #lisp 19:36:47 hyko- [~toby@my.unixuni.com] has joined #lisp 19:36:51 there's a mode of compilation that allows it to generate a standalone C source package 19:37:51 sweet, i'll check it out 19:38:04 mpasternacki [~user@chello080108072034.10.11.vie.surfer.at] has joined #lisp 19:38:11 -!- mpasternacki [~user@chello080108072034.10.11.vie.surfer.at] has left #lisp 19:38:32 _ism [~frinnn@i59F63AAD.versanet.de] has joined #lisp 19:39:17 -!- sugarshark [~ole@p4FDA8A18.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 19:41:39 myu2 [~myu2@v077103.dynamic.ppp.asahi-net.or.jp] has joined #lisp 19:41:40 -!- kerx [~kerx@38.118.129.34] has quit [Read error: Connection reset by peer] 19:41:55 -!- ttb [~frinnn@i59F62AA6.versanet.de] has quit [Ping timeout: 276 seconds] 19:43:17 -!- sm` [s@77.28.123.227] has quit [Ping timeout: 264 seconds] 19:44:01 -!- Joreji [~thomas@75-186.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 255 seconds] 19:44:15 -!- CallToPower [~CallToPow@85.8.72.223] has quit [Quit: > /dev/null 2>&1] 19:44:19 kerx [~kerx@38.118.129.34] has joined #lisp 19:44:40 CallToPower [~CallToPow@85.8.72.223] has joined #lisp 19:47:15 sm` [s@77.29.16.45] has joined #lisp 19:48:04 -!- Harag [~Harag@wbs-196-2-122-200.wbs.co.za] has quit [Ping timeout: 260 seconds] 19:49:01 sacho [~sacho@90.154.201.105] has joined #lisp 19:49:27 -!- iwillig [~iwillig@ool-18b944f4.dyn.optonline.net] has quit [Quit: Leaving] 19:54:31 -!- az [~az@p4FE4F398.dip.t-dialin.net] has quit [Quit: WeeChat 0.3.3] 19:54:44 -!- CallToPower [~CallToPow@85.8.72.223] has quit [Quit: > /dev/null 2>&1] 19:55:04 az [~az@p4FE4F398.dip.t-dialin.net] has joined #lisp 19:57:26 -!- parcs [~patrick@ool-45741d7d.dyn.optonline.net] has quit [Ping timeout: 240 seconds] 19:57:42 Jubb [~ghost@129.21.87.61] has joined #lisp 19:57:50 -!- sacho [~sacho@90.154.201.105] has quit [Ping timeout: 240 seconds] 19:58:17 lichtblau [~user@port-92-195-58-170.dynamic.qsc.de] has joined #lisp 19:58:32 hargettp [~hargettp@pool-71-184-177-218.bstnma.east.verizon.net] has joined #lisp 19:58:47 parcs [~patrick@ool-45741d7d.dyn.optonline.net] has joined #lisp 20:01:45 Joreji [~thomas@75-186.eduroam.RWTH-Aachen.DE] has joined #lisp 20:01:53 -!- Jubb [~ghost@129.21.87.61] has quit [Remote host closed the connection] 20:02:40 -!- kerx [~kerx@38.118.129.34] has quit [Read error: Connection reset by peer] 20:03:12 kerx [~kerx@38.118.129.34] has joined #lisp 20:06:04 -!- kerx [~kerx@38.118.129.34] has quit [Read error: Connection reset by peer] 20:06:45 sacho [~sacho@90.154.201.105] has joined #lisp 20:08:46 kerx [~kerx@38.118.129.34] has joined #lisp 20:10:14 -!- CrazyEddy [~vitreoele@wrongplanet/CrazyEddy] has quit [Read error: Operation timed out] 20:12:27 -!- rabite_ [~rabite@83.169.3.115] has quit [Quit: Reconnecting] 20:12:39 dfkjjkfd [~paulh@210-11-ftth.onsnetstudenten.nl] has joined #lisp 20:12:59 rabite [~rabite@83.169.3.115] has joined #lisp 20:13:18 Jubb [~ghost@129.21.87.61] has joined #lisp 20:14:28 -!- rme [rme@clozure-1F3CDCA9.chi01.dsl-w.verizon.net] has quit [Quit: rme] 20:14:28 -!- rme [~rme@pool-70-106-129-201.chi01.dsl-w.verizon.net] has quit [Quit: rme] 20:18:40 -!- Ginei_Morioka [~irssi_log@78.114.179.121] has quit [Ping timeout: 265 seconds] 20:18:40 -!- kerx [~kerx@38.118.129.34] has quit [Read error: Connection reset by peer] 20:20:34 Ginei_Morioka [~irssi_log@78.112.68.19] has joined #lisp 20:21:34 -!- erikc [~erikc@CPE001839c4f08a-CM001bd71e29a4.cpe.net.cable.rogers.com] has quit [] 20:22:12 kerx [~kerx@38.118.129.34] has joined #lisp 20:22:38 -!- jewel [~jewel@196-210-134-61.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 20:25:23 seamus-android [~alistair@cpc1-brig7-0-0-cust565.3-3.cable.virginmedia.com] has joined #lisp 20:26:02 s0ber_ [~s0ber@111-240-168-94.dynamic.hinet.net] has joined #lisp 20:26:03 -!- Vicfred [~Vicfred@189.143.87.127] has quit [Ping timeout: 260 seconds] 20:26:14 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [] 20:27:14 Beetny [~Beetny@ppp118-208-143-239.lns20.bne1.internode.on.net] has joined #lisp 20:28:07 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 20:28:20 -!- s0ber [~s0ber@111-240-165-86.dynamic.hinet.net] has quit [Ping timeout: 265 seconds] 20:28:29 -!- s0ber_ is now known as s0ber 20:29:40 -!- kerx [~kerx@38.118.129.34] has quit [Read error: Connection reset by peer] 20:29:46 -!- gemelen [~shelta@shpd-92-101-140-59.vologda.ru] has quit [Quit:    .    ...] 20:30:08 CrazyEddy [~Fresison@wrongplanet/CrazyEddy] has joined #lisp 20:30:11 kerx [~kerx@38.118.129.34] has joined #lisp 20:30:24 Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has joined #lisp 20:31:01 how can i get a line-by-line trace of my program? the trace function just isn't providing detailed enough information for me 20:32:40 It could well be that your implementation provides a more fine-grained TRACE facility than you think. Otherwise, you could break out your traced functions into separate traced functions. 20:33:04 i'm using sbcl 20:33:22 And a liberal sprinkling of FORMAT does wonders. Finally - what 'lines' are these? Lisp knows nothing of 'lines'. 20:33:25 just insert prints when needed 20:34:07 *stassats* is infecting ecl internals with printfs, joy 20:34:07 good point about lines 20:34:27 otoh, if i pass sbcl a source file with (load "foo") it should very well know about lines 20:34:54 pattern: The lisp reader doesn't think in terms of "lines"... 20:35:08 and i've manually put in printf's in my code... but that's such an incredibly primitive way of tracing a program... i'm surprised lisp doesn't have anything better than that 20:35:26 gemelen [~shelta@shpd-92-101-140-59.vologda.ru] has joined #lisp 20:35:37 me345 [~me345@adsl-75-15-187-76.dsl.bkfd14.sbcglobal.net] has joined #lisp 20:35:40 oops.. not printf's.. i mean formats 20:35:49 grr... old c terminology dies hard... 20:38:38 -!- seamus-android [~alistair@cpc1-brig7-0-0-cust565.3-3.cable.virginmedia.com] has quit [Ping timeout: 240 seconds] 20:39:04 -!- kerx [~kerx@38.118.129.34] has quit [Read error: Connection reset by peer] 20:39:26 -!- moah [~gnu@dslb-178-006-212-130.pools.arcor-ip.net] has left #lisp 20:39:54 kerx [~kerx@38.118.129.34] has joined #lisp 20:40:06 JuanDaugherty [~Ren@cpe-72-228-177-92.buffalo.res.rr.com] has joined #lisp 20:40:17 -!- Zephyrus [~emanuele@unaffiliated/zephyrus] has quit [Quit: ""] 20:40:39 -!- kerx [~kerx@38.118.129.34] has quit [Read error: Connection reset by peer] 20:40:41 anyway, thanks for the suggestions 20:41:49 It strikes me that if you are using slime (break) followed by inspection is often better than format. 20:42:57 And (assert ) is another useful thing that carries over from C.. 20:43:24 kerx [~kerx@38.118.129.34] has joined #lisp 20:43:49 yeah, i coud see those being useful 20:44:52 francogrex [~user@109.130.56.48] has joined #lisp 20:44:56 ZabaQ: what makes you think cl:assert "carries over from C"? 20:45:08 balooga [~00u4440@pool-173-55-252-200.lsanca.fios.verizon.net] has joined #lisp 20:46:10 It's the same principle. (assert ) verifies that your state is what you think it is. Useful for catching errornous assumptions about what your code is doing. 20:48:19 not a satisfactory answer. guess you had no intention of linking it historically 20:49:16 no, I'd imagine (assert ) in Lisp predates assert in C. 20:49:24 pattern: are you sure you're not looking for STEP? 20:51:10 talyz [~user@ip35.tunnan.riksnet.nu] has joined #lisp 20:51:23 ZabaQ: I doubt that 20:51:33 splittist: step seems to be a manual way of stepping through the code 20:52:10 pnq [~nick@AC8371DA.ipt.aol.com] has joined #lisp 20:52:18 i'd just like a listing of all of the source of the program as each part is executed, and (ideally) a list of the values each part evaluates to 20:52:56 yay. Ramarren's parser-combinator library is just the thing I was looking for. 20:52:57 i mean a listing of the relevant part of the source as that part of the source is exectuted 20:54:15 setting the trace question aside... i have a different question 20:54:36 i've just implemented part of another one of the 99 lisp problems... http://paste.pocoo.org/show/321752/ 20:54:50 stipet [~user@c83-253-30-176.bredband.comhem.se] has joined #lisp 20:55:04 and for some reason, when i run (coprimes 10) it returns (9) instead of (1 3 7 9) 20:55:19 -!- splittist [~IceChat77@30-245.62-188.cust.bluewin.ch] has quit [Quit: no prime directive for me] 20:55:30 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error: Connection reset by peer] 20:55:46 sprinkling some formats in the code indicated that the second invocation of coprimes as (coprimes 10 8) only got as far as the when statement 20:56:20 at that point the when statement should return nil, and it should continue to the cond.. but somehow it doesn't 20:56:29 what am i missing? 20:57:33 not related to the issue: you don't need PROGN 20:58:01 i can just put sexps after the defun and they'll be run in order? 20:58:07 also a spelling error 20:58:12 coprime(s) 20:58:14 defun has an implicit progn 20:58:34 pattern: does 99 mandate usage of recursion? 20:58:39 99-problems 20:58:46 or not, i guess it's defined above 20:59:06 pattern: you can give (- m 1) as r's default value.. or do (let ((r (or r (- m 1)))) ...) 20:59:09 stassats: no, it doesn't mandate recursion.. unfortunately, it comes with no restrictions at all 20:59:38 adeht: ah.. good to know 20:59:51 fortunately! your problem isn't recursive, so don't use recursion, and you'll be able to reason about it better 21:00:27 -!- Demosthenes [~demo@206.180.155.43.adsl.hal-pc.org] has quit [Quit: leaving] 21:00:29 i like practicing recursion... also, i haven't learned lisp's loop yet 21:00:41 so i don't even really know how to do iteration in lisp yet 21:00:50 though maybe if i think about it i'll find a way.. 21:01:16 you better learn it soon, recursion for iterative code isn't used much in CL 21:01:22 stick with recusrion just for learning it and get the function ti return correctly 21:01:36 despite it not being the best here 21:01:51 stassats: It's pretty and leads to clearer code in some cases! 21:01:55 -!- drdo` is now known as drdo 21:02:21 so... back to the actual question... any clue why the second invocation of coprimes as (coprimes 10 8) isn't making it past the when? 21:02:56 you put cond inside WHEN body 21:03:07 oops! 21:03:09 so it's run only the first time, when r is null 21:03:11 haha 21:03:20 doh 21:03:31 those stupid parenthesis.. 21:03:41 you should use the right indentation 21:03:44 thanks, stassats 21:03:48 where is your stoppiong condition? 21:04:03 i feel stupid for the nth time since starting to learn lisp.. 21:04:13 i immediately saw the problem when i reindented the code in emacs 21:04:15 -!- hargettp [~hargettp@pool-71-184-177-218.bstnma.east.verizon.net] has quit [Quit: Leaving...] 21:04:23 francogrex: ((< r 1) nil) 21:04:40 pattern: do you use emacs? 21:04:53 vim 21:04:53 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Ping timeout: 264 seconds] 21:04:56 i don't think it's in the right place 21:05:03 pattern: see, that's your punishment 21:05:07 :( 21:06:09 actually, when i had vim reindent the code, i also see the problem 21:06:13 hargettp [~hargettp@pool-71-184-177-218.bstnma.east.verizon.net] has joined #lisp 21:06:29 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 21:06:29 in what situation would r be *null* ? 21:06:49 -!- balooga [~00u4440@pool-173-55-252-200.lsanca.fios.verizon.net] has quit [Ping timeout: 255 seconds] 21:07:02 francogrex: when coprimes is first called with just one argument 21:07:24 err.. i mean that's when it should be nil 21:08:24 Lisper using vim? What a shame 21:08:51 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 21:08:53 hey, if i knew emacs half as well as i do vim, i'd use it for developing lisp 21:09:00 zc00gii: that's "vimer using lisp" 21:09:08 -!- hargettp [~hargettp@pool-71-184-177-218.bstnma.east.verizon.net] has quit [Client Quit] 21:09:44 but you don't know Lisp well either, but that's not stopping you, or is it? 21:10:44 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Client Quit] 21:11:05 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 21:11:30 pattern: you have a great opportunity to serve all vimers and lispers in the world. ;) 21:12:03 -!- mishoo [~mishoo@79.112.236.252] has quit [Ping timeout: 246 seconds] 21:12:13 dmiles_afk [~dmiles@c-67-161-117-56.hsd1.wa.comcast.net] has joined #lisp 21:12:17 i am a bridge between the two worlds 21:12:53 stassats: i prefer to tackle one difficult thing at a time 21:13:24 Now people like me use emacs with viper-mode and vimpulse but you have the power to change that 21:14:17 i tried viper with vimpulse in emacs first 21:14:47 even setting them up to be in vi mode in the repl was difficult enough 21:15:05 you don't need to know much to edit lisp in emacs 21:15:13 pattern: http://nekthuth.com/ 21:15:19 and after a week you'll know enough to be comfortable 21:15:48 there is no instant gratification, you'll need to be a little be patient, as with any other thing 21:16:01 stassats: that's true.. but in order to get the benefit of a lot of the advantages emacs offers over vim when editing lisp i would have to know it far better than i did 21:16:17 naryl: yeah, i'm using nekthuth now.. and loving it 21:16:27 mmm Vim. 21:16:59 pattern: that's sounds like the egg and chicken problem 21:17:02 pattern: You'll get better lisp support in emacs than in vim even if you know basically nothing about emacs. Lisp is inherently better supported in emacs than in vim. 21:17:11 rme [~rme@pool-70-106-129-201.chi01.dsl-w.verizon.net] has joined #lisp 21:17:13 pattern: I'm interested to know how to make it manage windows properly. I have minibufexpl and it makes a mess with nekthuth 21:17:29 naryl: come to #Nekthuth 21:18:58 -!- Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has left #lisp 21:21:30 *stassats* didn't succeed in his Slime-preaching, oh well 21:22:57 i hear paul graham does his lisp development in vim.. and manually copies and pastes the code in to the lisp repl 21:23:04 stassats: you dodn't even succeed at keeping an old slime-user :P 21:23:08 Hrm, I'm obviously misunderstanding something here, but I can't get strings to work with mapc or dolist. I thought a string was just a list of characters? 21:23:18 -!- dmiles_afk [~dmiles@c-67-161-117-56.hsd1.wa.comcast.net] has quit [Quit: Read error: 110 (Connection timed out)] 21:23:20 Or could it be that I don't understand the difference between a sequence and a list 21:23:24 ocharles: you thought wrong 21:23:32 ocharles: It's a vector of characters 21:23:39 list is a subtype of sequence 21:23:55 right 21:24:05 well, he probably eats gooey stuff from his toes, but that doesn't matter you'll get to be a great coder by imitating such behavior... 21:24:28 another subtype is VECTOR 21:24:29 stassats probably knows a better way but you can use "loop for char across string" 21:24:32 cuartum [~Cuartum@89.Red-80-25-155.staticIP.rima-tde.net] has joined #lisp 21:24:32 s/matter/mean 21:24:48 MAP works on sequences 21:25:27 I was using MAPC because I'm not building up a list, but I do want side effects 21:26:08 map nil achieves that 21:26:33 oh ok. I wasn't sure from the slime help. 21:26:36 off to the hyperspec I go 21:27:13 -!- stipet [~user@c83-253-30-176.bredband.comhem.se] has left #lisp 21:32:35 pattern: http://www.informatimago.com/develop/lisp/l99/p33.lisp 21:32:47 pattern: "whether" ==> a boolean response. 21:33:56 finally fixed the ECL bug, everything went better than expected 21:33:59 pattern: if you want a step-by-step trace, you can easily write one, using a code walker. 21:34:36 hargettp [~hargettp@pool-71-184-177-218.bstnma.east.verizon.net] has joined #lisp 21:36:27 stassats: what bug (only one?) 21:37:11 only one, inability to load fasls compiled not in the current image 21:37:52 dreampilot [~dreampilo@c-174-51-136-181.hsd1.co.comcast.net] has joined #lisp 21:38:08 oh,nice, that never worked for me (could only load same image fas) 21:38:36 this http://article.gmane.org/gmane.lisp.ecl.general/7916 21:39:07 francogrex: here's a patch http://article.gmane.org/gmane.lisp.ecl.general/7929 21:39:34 stassats: :) I was one of the first to notify the asdf requiring issue. (in mingw) 21:39:55 i remember seeing it 21:40:42 pjb: i don't even know what a code walker it... but thanks for the suggestion.. i'll see if i can google something up on that 21:41:36 good patch... I would have used it if I hadn't leady given up on ecl :( 21:41:46 and it's already in git, yay, now i can use ECL... though i don't use it 21:42:03 hah ... same here 21:42:14 but fixing bugs is fun 21:42:23 rather, hunting them down 21:45:23 i only sometimes use an old version (0.9l), bulld statically; it enables me to build "standalone" C style dll with lisp code embeded... 21:45:55 even that has become very rare 21:46:11 i occasionally use it to cross-test code 21:47:00 seangrove [~user@c-67-188-1-148.hsd1.ca.comcast.net] has joined #lisp 21:47:56 ok. How do you deploy your applications to clients? Through web interfaces? 21:48:56 yes 21:49:48 though in my own applications i use commonqt, but i don't plan to distribute them anytime soon 21:51:04 -!- loxs [~loxs@78.90.124.178] has quit [Quit: Leaving] 21:53:12 *francogrex* used cgi for a while... 21:53:26 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Ping timeout: 240 seconds] 21:54:29 -!- Xof [~crhodes@158.223.51.79] has quit [Ping timeout: 255 seconds] 21:55:43 Xof [~crhodes@158.223.51.79] has joined #lisp 21:56:39 fantazo [~fantazo@178-191-160-98.adsl.highway.telekom.at] has joined #lisp 21:57:01 og [foobar@puck.ogr.no] has joined #lisp 21:59:12 -!- gz [Clozure@clozure-93943513.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Input/output error] 22:00:19 a general hacking question. If one has a closed-source application (written in c) is there a way to generate any cffi bindings to it? (I dunno if that was clear). 22:00:38 -!- xraycat [~Miranda@brln-4db97d9b.pool.mediaWays.net] has quit [Quit: xraycat] 22:00:38 so you do not even have header files? 22:00:57 kruft [~user@c-98-214-105-38.hsd1.in.comcast.net] has joined #lisp 22:01:03 you can write cffi bindings by hand 22:02:12 hmm. That is the application that is tormenting me http://en.wikipedia.org/wiki/SAS_(software) 22:02:35 looks buzzword-rich 22:03:02 -!- pdponze [~pdponze@144.85.121.191] has left #lisp 22:03:26 -!- mega1 [~quassel@catv4E5CABA2.pool.t-online.hu] has quit [Ping timeout: 240 seconds] 22:03:38 yes very $$$, that's why I'm intent to hack it :) 22:04:03 just write your own in Lisp 22:04:27 -!- rdd [~rdd@c83-250-48-164.bredband.comhem.se] has quit [Ping timeout: 240 seconds] 22:05:42 stassats: it is a huge application developed by 100s over like 20 years... just a few cffi bindingd to read and write data would be good enough (start) 22:06:05 but lisp gives you superhuman powers 22:06:32 ecraven: I don't think even the header files are available 22:07:04 yeah, superhuman only if you start from a superhuman platform 22:07:16 SAS was surely originally in fortran 22:07:36 not necessarily 22:07:38 most programmatic FFI are C oriented 22:07:40 probably, though the site says C 22:08:31 *francogrex* dreaming about the glory I get at work when I inform them I cffi'ed sas! 22:08:38 my manual from 1980 shows that it was 22:08:49 '79 excuse me 22:09:14 JuanDaugherty: possibly, so it's old. they chaned to c later possibly 22:09:32 -!- cuartum [~Cuartum@89.Red-80-25-155.staticIP.rima-tde.net] has quit [Quit: Saliendo] 22:09:37 prolly in the 90s 22:10:02 so what do you think, it can be done? 22:10:40 what? 22:10:51 and interface to lisp? 22:10:53 the cffi linking from cl 22:10:56 sure, it's not even hard 22:10:57 yes 22:11:08 just tedious 22:11:08 *francogrex* intrigued 22:11:17 like any ole plain programming 22:11:27 -!- katesmith [~katesmith@unaffiliated/costume] has quit [Quit: Leaving] 22:11:35 but it's closed (no source code) 22:11:48 katesmith [~katesmith@75-138-209-215.dhcp.snfr.nc.charter.com] has joined #lisp 22:11:48 -!- katesmith [~katesmith@75-138-209-215.dhcp.snfr.nc.charter.com] has quit [Changing host] 22:11:48 katesmith [~katesmith@unaffiliated/costume] has joined #lisp 22:11:51 yeah but it's a commercial product, they have interfaces 22:12:13 you can't resell their shit like it was open source but otherwise it's like I said 22:12:49 hmm..where would you start if you were to do such a thing? 22:13:04 resell or otherwise distribute 22:13:27 no intention to do that, just personal use 22:13:30 by looking at their doucumentation for interfacing with external systems 22:13:32 HG` [~HG@xdsl-92-252-122-232.dip.osnanet.de] has joined #lisp 22:14:01 sohail [~Adium@unaffiliated/sohail] has joined #lisp 22:14:43 I don't see how lisp gives someone "superhuman" powers, a couple of macro's won't do that. 22:14:51 and for writing extensions 22:15:07 -!- pattern [~pattern@ool-45715287.dyn.optonline.net] has quit [Changing host] 22:15:08 pattern [~pattern@unaffiliated/pattern] has joined #lisp 22:15:58 also the probablity that there hasn't at least one lisp relic for interfacing with SAS I'd rate as a fractional per cent 22:16:05 fantazo: http://secretgeek.net/lisp_truth.asp 22:16:21 *hasn't been 22:16:29 fantazo: it's one of those languages that make it incredibly hard to program because you can't simply start by writing tons of boilerplate - you have to think about the actual program 22:17:05 fantazo: then i guess i was superhuman in the first place 22:18:28 JuanDaugherty: I searched a lot... didn't find anything already ready... I only was able to use c dlls into sas (one way) 22:18:28 naryl, I read _one_ religious hailing text, not the kind of text I would associate with a programming language. 22:18:51 -!- morphling [~stefan@gssn-5f75551b.pool.mediaWays.net] has quit [Remote host closed the connection] 22:18:55 prolly more stuff for GPSS/SPSS 22:19:06 aren't programming languages akin to religion? 22:19:16 and R 22:19:18 nope 22:19:26 is there a lisp function that will count the number of top-level elements in a list? 22:19:28 which you don't seem to here about as much any more though SAS has persisted 22:19:44 top level element 22:19:48 pattern: unintuitively named COUNT 22:20:02 i thought it was count.. but it seems to require two arguments 22:20:21 length ? 22:20:36 ah 22:20:38 thanks 22:20:39 pattern: you just want a length of a list? 22:20:55 oh.. doh... of course length 22:21:01 i knew that.. 22:21:29 -!- JuanDaugherty [~Ren@cpe-72-228-177-92.buffalo.res.rr.com] has left #lisp 22:21:35 JuanDaugherty: but R is still strong and there is an RCL (interface R CL trough cffi) although Ris open source 22:21:55 -!- mascotte [~mascotte_@AClermont-Ferrand-651-1-23-249.w86-194.abo.wanadoo.fr] has quit [Quit: Quitte] 22:22:29 Vicfred [~Vicfred@201.102.114.207] has joined #lisp 22:22:39 -!- hargettp [~hargettp@pool-71-184-177-218.bstnma.east.verizon.net] has quit [Quit: Leaving...] 22:23:56 lispm [~lispm@g231145111.adsl.alicedsl.de] has joined #lisp 22:27:13 hmm, from what I have seen and used of lisp, it is one language with a lot of boilerplate code. ok, languages like C have more boilerplate, but heh, they also offer also more low-level control. which could be only added to "modern" lisps with writing pieces in C. ( or a wrapper which does that) 22:28:34 yes it is, now you can go away 22:28:38 ok, you don't believe in lisp super-powers, we got it 22:28:43 (print 'hu?) 22:29:51 -!- brodo [~brodo@p5B0249EC.dip.t-dialin.net] has quit [Quit: brodo] 22:31:00 -!- Jubb [~ghost@129.21.87.61] has quit [Remote host closed the connection] 22:31:05 DarthShrine [~angus@60-242-109-62.tpgi.com.au] has joined #lisp 22:31:05 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has quit [Changing host] 22:31:05 DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined #lisp 22:31:31 -!- gigamonkey [~user@adsl-99-155-195-23.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 272 seconds] 22:33:23 -!- sohail [~Adium@unaffiliated/sohail] has quit [Quit: Leaving.] 22:33:48 cheez [~Adium@76-10-147-73.dsl.teksavvy.com] has joined #lisp 22:37:42 fantazo: What? Boilerplate-Driven Programming is new thing 22:38:56 also, to anyone who thinks SPSS isn't there anymore, try a psychologist workstation 22:40:32 Good morning everyone! 22:40:32 -!- ziga` [~user@BSN-61-38-84.dial-up.dsl.siol.net] has quit [Read error: Connection reset by peer] 22:42:02 pchrist_ [~spirit@gentoo/developer/pchrist] has joined #lisp 22:42:57 -!- me345 [~me345@adsl-75-15-187-76.dsl.bkfd14.sbcglobal.net] has quit [Read error: Connection reset by peer] 22:43:45 -!- francogrex [~user@109.130.56.48] has quit [Remote host closed the connection] 22:43:49 -!- fantazo [~fantazo@178-191-160-98.adsl.highway.telekom.at] has quit [Remote host closed the connection] 22:43:55 Hey, another troll. How quaint! 22:44:09 -!- Ginei_Morioka [~irssi_log@78.112.68.19] has quit [Ping timeout: 265 seconds] 22:44:34 -!- pchrist [~spirit@gentoo/developer/pchrist] has quit [Ping timeout: 250 seconds] 22:44:40 rdd [~rdd@c83-250-48-164.bredband.comhem.se] has joined #lisp 22:45:54 Ginei_Morioka [~irssi_log@78.112.49.250] has joined #lisp 22:46:04 -!- dreampilot [~dreampilo@c-174-51-136-181.hsd1.co.comcast.net] has quit [Quit: dreampilot] 22:46:07 "troll" is too harsh, i prefer "non-believer" 22:47:36 accusing CL of too much boilerplate is on the edge 22:48:02 i can write boilerplate in any language 22:48:13 duck troll 22:48:27 the floor function returns a list containing two elements... how can i assign each of those elements to a different variable at the same time? 22:48:35 it's not a list 22:48:46 Fade: Duck Roll? 22:48:49 oh, you're right 22:48:50 floor returns two values 22:48:51 it's not a list 22:49:06 if it walks like a troll and talks like a troll... 22:49:08 there several ways to work with multiple values 22:49:20 Fade: "duck, troll!" 22:49:32 it works in many axis' :) 22:50:07 pattern: (multiple-value-bind (var1 var2) (floor ...) ) 22:50:23 great, thank you 22:50:56 Please somebody tell minion to tell francogrex about www.xach.com/lisp/lispvan-2008-02-28.pdf 22:52:05 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 255 seconds] 22:52:49 homie` [~levgue@xdsl-78-35-140-66.netcologne.de] has joined #lisp 22:54:57 -!- homie [~levgue@xdsl-84-44-210-21.netcologne.de] has quit [Ping timeout: 246 seconds] 22:56:52 rootzlevel [~hpd@91-66-218-51-dynip.superkabel.de] has joined #lisp 22:56:54 -!- homie` [~levgue@xdsl-78-35-140-66.netcologne.de] has quit [Client Quit] 23:01:02 -!- Xantoz_ is now known as Xantoz 23:01:07 homie [~levgue@xdsl-78-35-140-66.netcologne.de] has joined #lisp 23:04:22 qbomb [~Adium@12.153.198.113] has joined #lisp 23:09:32 HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 23:12:11 -!- huangho [~vitor@201-35-77-229.paemt700.dsl.brasiltelecom.net.br] has quit [Ping timeout: 265 seconds] 23:13:07 huangho [~vitor@201-89-184-32.paemt700.dsl.brasiltelecom.net.br] has joined #lisp 23:15:21 -!- lispm [~lispm@g231145111.adsl.alicedsl.de] has quit [Quit: Bye!] 23:18:23 -!- ch077179 [~urs@adsl-89-217-139-9.adslplus.ch] has quit [Quit: Verlassend] 23:23:21 -!- huangho [~vitor@201-89-184-32.paemt700.dsl.brasiltelecom.net.br] has quit [Ping timeout: 240 seconds] 23:25:31 huangho [~vitor@201-89-184-32.paemt700.dsl.brasiltelecom.net.br] has joined #lisp 23:25:59 -!- manic12 [~andrew@99-100-67-123.lightspeed.sntcca.sbcglobal.net] has quit [Ping timeout: 272 seconds] 23:31:01 -!- MetalDust [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has quit [Read error: Connection reset by peer] 23:31:01 MetalDust_Clouds [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has joined #lisp 23:31:31 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 265 seconds] 23:32:41 -!- javuchi [~noname@235.Red-193-152-254.dynamicIP.rima-tde.net] has quit [Quit: WeeChat 0.3.3] 23:33:38 javuchi [~noname@235.Red-193-152-254.dynamicIP.rima-tde.net] has joined #lisp 23:33:42 -!- huangho [~vitor@201-89-184-32.paemt700.dsl.brasiltelecom.net.br] has quit [Quit: Lost terminal] 23:33:44 -!- MetalDust_Clouds [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has quit [Client Quit] 23:35:46 -!- HG` [~HG@xdsl-92-252-122-232.dip.osnanet.de] has quit [Quit: Leaving.] 23:46:44 -!- freiksenet [~freiksene@cs181130165.pp.htv.fi] has quit [Ping timeout: 240 seconds] 23:47:25 MetalDust [~metaldust@75-32-203-61.lightspeed.ftwotx.sbcglobal.net] has joined #lisp 23:51:17 -!- varjag [~eugene@4.169.249.62.customer.cdi.no] has quit [Quit: Ex-Chat] 23:54:12 -!- dabd [~dabd@a79-169-178-93.cpe.netcabo.pt] has quit [Quit: Ex-Chat] 23:58:21 -!- bsod1 [~osa1@188.56.226.119] has quit [Remote host closed the connection]