00:00:10 OmniMancer: any other strategy for associating names with lexvars has too many problems to be workable 00:00:45 :( 00:00:45 you can trivally make some macros like REF, DEREF, SETF DEREF 00:01:05 this creates functionality present in C or PERL 00:01:08 especially given DEFINE-MODIFY-MACRO 00:01:27 what that do? 00:01:39 but you don't need any pointers or references in CL 00:01:50 they aren't needed in practice, not ever 00:01:57 and yeah, you can easily create a reference type using conses, or lambdas, or structs, or any container at all. 00:02:13 whenever i need mutable state i use structs or clos instances 00:02:21 or a cons, if it's a single value 00:02:25 they are hidden away in implementation? 00:02:26 weirdo: don't be so sure... UCW has an implementation of first class places and we need them! :) 00:02:45 UCW? 00:02:48 drewc: why not just make a REF/DEREF macro? 00:02:49 minion: UCW? 00:02:50 UCW: UnCommon Web is a Common Lisp web application development framework. http://www.cliki.net/UCW 00:03:07 weirdo: because we want backtracking to work with arbitrary places 00:03:27 weirdo: though, really, it's just ref/deref under the hood 00:03:30 hmm call/cc? 00:04:09 weirdo: call/cc is part of it... the other part is the ability to move objects back/forward in time. 00:04:26 can you redefine a function and make that update sessions, instead of invalidating them after each bugfix? 00:04:42 (or objects having different values in different 'frames') 00:04:47 i'm not sure what you mean. 00:05:05 also, does clicking stuff on the browser cons and never free until the session is dead, like in plt web server? 00:05:15 authentic [n=authenti@85-127-180-40.dynamic.xdsl-line.inode.at] has joined #lisp 00:05:41 no, we can limit the depth of the session, as well as it's width. 00:06:39 i'm implementing a GC for 'frames' which will help this even more. 00:07:21 seisatsu [n=seisatsu@adsl-99-31-233-216.dsl.pltn13.sbcglobal.net] has joined #lisp 00:07:26 oh, i think i see what you mean with the 'bugfix' bit. 00:07:41 -!- S11001001 [n=sirian@pdpc/supporter/active/S11001001] has left #lisp 00:08:25 if you've re-defined an 'action' (the only parts of ucw that really interact with call/cc) you might have to hit 'reload' in the browser to get a fresh frame that holds the new actions. 00:08:54 simply clicking the same link might not work in all cases, depending on how you've defined things. 00:09:12 lisp is pretty cool ma 00:09:13 man 00:09:58 thunk_ [n=user@74-130-81-112.dhcp.insightbb.com] has joined #lisp 00:11:01 This may be a stupid question, but I've looked and looked in vain: Does anyone know of a complete list of format directives _anywhere_? 00:11:03 for example, in ( clhs format 00:11:13 http://www.lispworks.com/reference/HyperSpec/Body/f_format.htm 00:11:23 clhs 22.3 00:11:23 http://www.lispworks.com/reference/HyperSpec/Body/22_c.htm 00:11:54 thunk_: besides that, i don't know of anywhere they exist in a full list. 00:12:14 thunk_: if you feel like compiling such a list you have my full support! :) 00:12:46 trsh [n=beeb@93-141-53-193.adsl.net.t-com.hr] has joined #lisp 00:12:49 drewc: If I undertook that project you'd be the first to know :) 00:13:07 DeusExPikachu [n=DeusExPi@pool-141-157-64-49.balt.east.verizon.net] has joined #lisp 00:13:28 thunk_: whenever i need a format directive, i usually just ask here. 00:13:48 format golf is a popular sport here :) 00:14:09 -!- ChanServ has set mode -o drewc 00:14:38 *p_l* ponders about dumping the whole alphabet into format and check which directive causes which error ;-) 00:15:16 drewc: lol. Well, maybe if we got a tournament together we could come close to completion! 00:15:16 I got something to kind of start to work.. 00:15:21 CL-USER> (with-open-file (stream "/home/em/lisp/listfile") stream (read-line stream)) 00:15:21 "14:46 -!- Channel Users Name" 00:15:50 I just need to figure out how to wrap that up in something that will read the NEXT line and so on. So it gets the whole thing. 00:16:32 -!- dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has left #lisp 00:16:53 emma : (loop for line = (read-line stream nil) while line ...) 00:18:20 -!- thunk_ [n=user@74-130-81-112.dhcp.insightbb.com] has left #lisp 00:21:18 ignas [n=ignas@79.132.160.221] has joined #lisp 00:21:18 -!- qidush [n=qidush@c83-252-27-42.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 00:24:54 qidush [n=qidush@c83-252-27-42.bredband.comhem.se] has joined #lisp 00:26:58 -!- mrsolo [n=mrsolo@209.131.62.113] has quit ["Leaving"] 00:29:27 dv_ [n=dv@85.127.111.103] has joined #lisp 00:31:19 -!- dialtone [n=dialtone@unaffiliated/dialtone] has quit [Read error: 110 (Connection timed out)] 00:31:28 -!- saikat [n=saikat@adsl-76-228-82-245.dsl.pltn13.sbcglobal.net] has quit [] 00:32:17 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 00:35:20 so a #(.............) is a vector and a 2A#(....................) is a matrix. 00:37:45 i've never seen a datatype that is a parallelpiped of numbers. 00:38:33 -!- merus [n=merus@c-67-175-45-120.hsd1.in.comcast.net] has quit [Remote closed the connection] 00:38:46 parallelpiped? 00:39:51 yea it looks like the way you make 'arrays' lets you have a vector, a matrix, but also 'cubes' of numbers and beyond. 00:40:27 emma: multidimensional arrays. AFAIK there's no real limit on the amount of dimensions, too 00:41:37 a rectangular prism of numbers. Not sure how to describe it. 00:41:40 kickaha [n=user@92.250.39.154] has joined #lisp 00:43:13 hi, can anyone explain me something about loading a package? 00:47:24 -!- authentic [n=authenti@unaffiliated/authentic] has quit [Read error: 113 (No route to host)] 00:47:45 pizzledizzle [n=pizdets@96.250.220.91] has joined #lisp 00:48:17 guess there's no one around... 00:48:57 kickaha: depends on what you mean by "loading a package" 00:49:59 hmmm, so there's someone around after all, hi p_l 00:50:14 CL packages as in sourcecode are namespaces. for "software packages like libraries", you usually have a system definition file, which contains instructions on how to build&load the package (the most common nowaday being ASDF) 00:51:01 my problem is that i'm starting sbcl by means of clbuild and then i want to load a library in a different asdf:*central-registry* but asdf keeps complaining it can't find the component 00:51:25 let me get the code on lisppaste so that people can check it out 00:51:41 kickaha: you have to add a path to asdf:*central-registry* list, or simply put a symlink in clbuild's systems directory (that's what I do) 00:52:11 hmmm, that last option didn't occur to me, lol, i was going for the first option but it isn't working 00:52:54 dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has joined #lisp 00:55:33 -!- weirdo [n=sthalik@c142-5.icpnet.pl] has quit [Read error: 104 (Connection reset by peer)] 00:57:03 kickaha pasted "my hunchentoot init.lisp" at http://paste.lisp.org/display/86589 00:57:06 what does aref stand for? 00:58:29 ... damn it i left a line there from while i was editing the code now. lol 00:58:32 emma: I guess array reference 00:58:34 emma: array reference 00:58:40 minion: aref? 00:58:41 Sorry, I couldn't find anything in the database for ``aref''. 00:58:44 argh 00:59:05 oh good guess 00:59:14 if anyone looks at my paste please ignore line 34 01:01:14 yango_ [n=yango@unaffiliated/yango] has joined #lisp 01:03:46 clhs aref 01:03:46 http://www.lispworks.com/reference/HyperSpec/Body/f_aref.htm 01:04:04 ah, thanks p_l. that's what I should have done 01:04:16 -!- yango [n=yango@unaffiliated/yango] has quit [Connection timed out] 01:04:56 skeptomai annotated #86589 "directory?" at http://paste.lisp.org/display/86589#1 01:05:34 kickaha: only thing I could think of is that maybe what you gave is interpreted as a filename rather than directory? I did something more explicit to ensure it's a directory (annotated in paste) 01:05:40 gotta run... good luck 01:06:11 -!- skeptomai [n=cb@67.40.185.246] has quit ["Computer has gone to sleep"] 01:06:23 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 01:06:23 ok, thanks. 01:06:26 oops, too late 01:07:02 it's interesting that strings are actually vectors. 01:08:18 ManateeLazyCat [n=user@116.4.148.183] has joined #lisp 01:09:01 a bit unfortunate in the unicode world 01:09:30 why? 01:10:57 kpreid: I guess that depends on the definition of standard-char, right? 01:11:21 weeeelll, only if you want a char which is "SS" 01:11:28 -!- Soulman [n=kvirc@154.80-202-254.nextgentel.com] has quit [Read error: 110 (Connection timed out)] 01:12:09 kpreid: composed in what way? 01:12:11 -!- coderdad [n=coderdad@ip72-200-214-240.ok.ok.cox.net] has quit [Remote closed the connection] 01:12:19 -!- sohail [n=sohail@unaffiliated/sohail] has quit ["Leaving."] 01:12:35 I'm not sure what you're asking 01:12:49 -!- Nshag [i=user@Mix-Orleans-106-1-159.w193-248.abo.wanadoo.fr] has quit [Remote closed the connection] 01:13:01 authentic [n=authenti@85-127-21-157.dynamic.xdsl-line.inode.at] has joined #lisp 01:13:14 kpreid: well, I'm asking if it's defined as single character or as composition in unicode standard. 01:13:22 sohail [n=sohail@CPE001839a305c5-CM000a73a081a5.cpe.net.cable.rogers.com] has joined #lisp 01:13:46 -!- slash_ [n=Unknown@p4FF0BDA2.dip.t-dialin.net] has quit [Client Quit] 01:14:15 like difference between #\ and A+ 01:14:25 GreatPatham [n=dan@c-24-19-169-87.hsd1.wa.comcast.net] has joined #lisp 01:14:59 -!- seisatsu [n=seisatsu@adsl-99-31-233-216.dsl.pltn13.sbcglobal.net] has quit [Read error: 145 (Connection timed out)] 01:15:10 it is defined in unicode that the upcasing of "ß" is "SS", and "SS" is not any kind of composition, just two Ses 01:15:44 -!- lukjad007 [n=lukjadOO@unaffiliated/lukjad007] has quit [Read error: 60 (Operation timed out)] 01:16:12 as long as it will report #\SS to me, it's not much of a problem for me. Let germans deal with their fubars :) 01:17:31 saikat [n=saikat@c-24-5-85-71.hsd1.ca.comcast.net] has joined #lisp 01:20:25 c|mell [n=cmell@y192025.dynamic.ppp.asahi-net.or.jp] has joined #lisp 01:20:34 qidush_ [n=qidush@c83-252-27-42.bredband.comhem.se] has joined #lisp 01:22:08 -!- qidush [n=qidush@c83-252-27-42.bredband.comhem.se] has quit [Read error: 110 (Connection timed out)] 01:25:35 weirdo [n=sthalik@c142-5.icpnet.pl] has joined #lisp 01:25:46 haha, glibc has a type named "caddr_t" 01:26:28 marioxcc [n=user@200.92.17.83] has joined #lisp 01:26:39 quek [n=read_eva@router1.gpy1.ms246.net] has joined #lisp 01:26:41 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit [] 01:27:04 hi, ¿someone can tellme how to open a file for read in binary mode? 01:27:14 open makes a character stream 01:27:19 pkhuong: http://portal.acm.org/citation.cfm?id=1596550.1596594&coll=portal&dl=ACM&type=series&idx=SERIES824&part=series&WantType=Proceedings&title=ICFP&CFID=505049525&CFTOKEN=505049525 <--- I do believe that's mlet* ;) 01:27:43 marioxcc: :element-type '(unsigned-byte 8) 01:28:04 -!- sbahra [n=sbahra@c-68-34-110-14.hsd1.dc.comcast.net] has quit [Read error: 110 (Connection timed out)] 01:28:33 drewc: thanks, i forget to put the ' lol 01:28:38 :S 01:31:05 sbahra [n=sbahra@c-68-34-110-14.hsd1.dc.comcast.net] has joined #lisp 01:31:09 -!- sbahra [n=sbahra@c-68-34-110-14.hsd1.dc.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 01:31:15 seisatsu [n=seisatsu@adsl-99-40-50-58.dsl.pltn13.sbcglobal.net] has joined #lisp 01:35:05 envi^home [n=envi@220.121.234.156] has joined #lisp 01:35:08 Hello everybody! Many thanks to everyone who helped make yesterday a great day for me by helping me get mcclim installed in spite of a lot of problems encountered during the process. Special thanks to _3b, who devoted _much_ time to helping me to success yesterday. Nothing is as sweet as victory! 01:36:24 drewc: sure... But the point of the hack seems to be the (semi-)transparence. 01:36:34 -!- tali713 [i=tali713@c-71-195-45-159.hsd1.mn.comcast.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 01:37:30 -!- ace4016 [i=ace4016@cpe-76-87-84-207.socal.res.rr.com] has quit ["When there's nothing left to burn, you have to set yourself on fire."] 01:38:12 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 01:38:28 -!- ikki [n=ikki@201.155.75.146] has quit ["Leaving"] 01:39:10 dralston [n=dralston@S010600212986cca8.va.shawcable.net] has joined #lisp 01:39:48 -!- sohail [n=sohail@unaffiliated/sohail] has quit ["Leaving."] 01:43:36 beach, sorry to take so long to respond to your last post to me. Your dictionary software fails to compile for me, with the debugger saying I need to install the cl-aa package. Does anyone know where to get this package, and how to install it? 01:45:47 sohail [n=sohail@CPE001839a305c5-CM000a73a081a5.cpe.net.cable.rogers.com] has joined #lisp 01:46:45 clhs unsigned-byte 01:46:45 http://www.lispworks.com/reference/HyperSpec/Body/t_unsgn_.htm 01:47:57 doesn't CLHS specify what's the default size for UNSIGNED-BYTE? 01:48:08 hmm gotta get me some REPL and emacs 01:51:16 weirdo, unsigned-byte just means non-negative integer, so it cannot have a default size -- but you can specify (unsigned-byte 32) for 32-bits etc. 01:51:59 -!- dralston [n=dralston@S010600212986cca8.va.shawcable.net] has quit ["Leaving"] 01:52:56 weirdo: it's rather sensible that it doesn't specify a default size. There were too many choices :D 01:53:13 but the name is confusing, it says "byte" but the size is specified in bits 01:53:24 i always though "byte" equals 8 bits, never anything else 01:54:11 -!- Wombatzus [n=user@216-31-242-4.static-ip.telepacific.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 01:54:17 in common lisp a byte e.g. with ldb can be any number of bits 01:54:39 weirdo: well, byte = 8 bits happened much later. Also, wordsizes were wildly different back in the day 01:54:50 older computers had weird sizes like 36-bit words and other strange things 01:55:01 word size/endianness variety is good 01:55:09 36bit is rather normal. 60bit, that was weird 01:55:15 code that can't handle different word sizes/endianness is moronic 01:55:22 worse yet, people get paid to write such code 01:55:53 Is there a list somewhere of all the most commonly needed cl packages, telling what they are for, and how to install and use them? 01:56:07 weirdo2 [n=sthalik@c142-5.icpnet.pl] has joined #lisp 01:56:21 lat_: I doubt it, but cl-user.net has a useful catalogue 01:56:22 testing, testing. can someone write something with unicode? 01:58:22 weirdo2: Zaó gl ja. ¶þðµ  01:58:28 -!- marioxcc [n=user@200.92.17.83] has left #lisp 01:58:35 p_l: loud and clear. thank you. 01:58:41 -!- weirdo2 [n=sthalik@c142-5.icpnet.pl] has quit [Client Quit] 01:58:43 (text-size medium "") 02:00:44 :-) 02:00:53 too bad i finally made X to work. now i'll multitask again 02:00:53 merus [n=merus@c-67-175-45-120.hsd1.in.comcast.net] has joined #lisp 02:01:00 p_l, thanks. I'll check there. 02:03:33 -!- ThomasI [n=thomas@unaffiliated/thomasi] has quit [Remote closed the connection] 02:04:36 you guys 02:05:01 this tutorial is telling me to do something but not explaining how the hell it works 02:05:37 -!- dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has quit [Remote closed the connection] 02:06:13 Irishmanluke: state your inquiry. 02:06:52 alright I mean I really should just google it 02:06:54 but anyway 02:07:28 Moe111 [n=Moe111@modemcable067.226-21-96.mc.videotron.ca] has joined #lisp 02:07:40 first thing I need to know is what (when) does 02:08:10 (when test forms) in general 02:08:18 clhs when 02:08:18 http://www.lispworks.com/reference/HyperSpec/Body/m_when_.htm 02:08:44 I'm looking for something that's similar to fboundp but that would be able to tell if there is a method applicable to a certain object 02:08:49 use hyperspec-lookup.el in emacs. if you're not using emacs, then use it 02:08:50 ideas? 02:08:54 dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has joined #lisp 02:09:08 minion: amop? 02:09:08 amop: The Art of the Metaobject Protocol, an essential book for understanding the implementation of CLOS and advanced OO. See the sepcification of MOP at http://www.lisp.org/mop/ 02:09:17 minion: closer-mop? 02:09:18 closer-mop: Closer to MOP is a compatibility layer that rectifies many of the absent or incorrect MOP features as detected by MOP Feature Tests. http://www.cliki.net/closer-mop 02:09:28 Moe111: i believe it's called COMPUTE-APPLICABLE-METHODS 02:10:19 specbot: so it returns the forms when the test form is true? 02:11:02 I don't know why they couldn't have just said that 02:14:22 -!- kickaha [n=user@92.250.39.154] has quit [Read error: 60 (Operation timed out)] 02:15:08 Irishmanluke: yes 02:15:14 specbot is a bot 02:15:47 you need to learn how to figure out such trivial stuff on your own. providing you with precise answers every time just won't do 02:16:24 -!- bgs100 is now known as BGS100 02:16:33 Is it possible to use a type defined through deftype as a specifier in defmethod? I'm getting a "There is no class named ..." error if I try to, if that's the wrong way to go about it, what's the recommended way? 02:18:37 i have something like: 02:18:38 (deftype new-type () `(cons integer some-class-type)) 02:18:38 (defmethod operate-on-new-type ((obj new-type)) ...) 02:18:46 -!- dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has quit [Remote closed the connection] 02:18:56 ljames: unfortunately, defmethod wants classes 02:19:23 hmm, so I suppose I'll have to write a new class, and convert new-type objects to that class 02:20:34 weirdo: you're saying they shouldn't tell me what a function does when they use it 02:21:02 this is weird, weirdo 02:21:15 the compute-applicable-methods doesn't seem to recognize some accessors 02:21:30 hmm, or I'll just cheat and use a defun 02:21:49 hmpf. I'll do it in a difference way ... 02:22:59 I don't like being patronized when my brain is hurting 02:24:24 dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has joined #lisp 02:24:26 -!- Urfin [i=foobar@85.65.93.74.dynamic.barak-online.net] has quit [Read error: 113 (No route to host)] 02:25:13 I'm tired that's part of it folks 02:26:00 Irishmanluke: then take a good sleep, there's no point in overstraining your memory 02:26:19 Irishmanluke, I think almost all the documentation in the 'lisp community' has been written for people who could have written the documentation themselves. 02:26:44 that makes no sense 02:26:47 -!- BGS100 is now known as bgs100 02:27:33 Okay, in my opinion, most of the documentation I have found for lisp seems poorly written and organized. 02:27:48 ok 02:28:08 emma: what docs have you been looking at? 02:28:09 s/organized/poorly organized/ 02:28:17 mogunus`, many of them. 02:28:20 I'm too old that's the problem 02:28:36 -!- ignas [n=ignas@79.132.160.221] has quit [Read error: 145 (Connection timed out)] 02:28:36 -!- mogunus` is now known as mogunus 02:29:25 ok I get it now 02:29:27 Irishmanluke, how long have you been writing lisp? 02:29:35 one day 02:29:42 emma: please give me a few examples. Then, I can perhaps do something about it. Do you mean library docs, or general tutorial docs, or the hyperspec, or what? 02:29:44 lol 02:29:50 That's to be expected then... just be patient 02:29:54 Irishmanluke: there's no "too old" there is only "stopped using brain and it deteriorated", and that's as close to scientific fact as you can get :) 02:30:00 mogunus, a good reference for operators , functions, macros should simply state what it does, and simply show how to use it, with some common examples, and explanations about the examples. 02:30:04 -!- dreish [n=dreish@minus.dreish.org] has quit [] 02:30:07 I was there the beginning of the year 02:30:12 p_l: I'm only kidding I'm 18 02:30:29 mogunus, yes, the hyperspec is no good for learning lisp. 02:30:34 emma: Do you have a copy of Steele? (That is, Common Lisp: the Langugage) 02:30:34 emma: Ah, you mean the "reference-class" docs? 02:30:42 the hyperspec is a reference, not a tutorial 02:30:52 http://jtra.cz/stuff/lisp/sclr/index.html 02:31:11 That is an incomplete if useful for what it covers "simplified reference." 02:31:13 I need to try some of that zen stuff those hackers are into 02:31:34 ManateeL` [n=user@119.141.228.206] has joined #lisp 02:31:38 Those would be chinese hackers 02:31:43 emma: Have you seen the cookbook? It is example-based and useful. 02:31:54 I thought that was alot of hackers 02:31:54 sorry japanese 02:32:15 no, right first time 02:32:18 http://cl-cookbook.sourceforge.net/ 02:32:33 ohm 02:32:41 wait no wrong om 02:33:34 Irishmanluke, do you have PCL on hand? or at least check the website? 02:33:36 mogunus, yes i did look at cookbook. It is one of the few I have found that approaches something more like what I think it should be. 02:33:57 emma: if what you're basing your assessment on here is just the hyperspec, then you're really off base: the purpose of the hyperspec is to be a *complete* reference, not to educate. In time it will become very useful to you, but it is certainly not very useful for starting out. 02:34:07 this jtra.cz one you posted looks like it has good potential but it needs to be expanded and it falls short in the exposition. 02:34:34 It's like looking at a dictionary expecting to learn english from it 02:34:39 Yeah, the simplified reference is decent but incomplete. 02:34:47 mogunus, no i get what you are saying. I think the hyperspec is just a handy representation of the larger issue here. 02:34:52 What else have you seen that approximates what you want, besides the cookbook? 02:35:14 -!- carlocci [n=nes@93.37.203.67] has quit ["eventually IE will rot and die"] 02:35:25 And, given the cookbook as a starting point, what would you like to see more of? 02:35:38 Here's the thing --- Anyone can learn python, so lots of different kind of people do end up learning python. Which means that people who have merely high inteligence know python and write tutorials and references. And those people often know how to communicate. 02:36:53 By way of contrast, it is seeming to me, the type of people who know lisp, are beyond high-intelligence, and every effort to understand something seemingly simply is met with concepts and terminology in a computer science masters thesis. 02:37:35 In #lisp you're pretty much bound to get answers like that. 02:37:46 that's simply not true, i'm afraid 02:38:05 But, I don't think python is too relevent here, unless you can point to a particular piece of docs for python and say "I want that, for lisp." 02:38:12 Well im not complaining about this. I dont have to learn lisp by tomorrow. I am not even learning it for a marketable skill. I am just kind of reporting on what I notice. Maye it's not even accurate for everyone. 02:38:19 we can paste youtube links if you like. that should just about balance it out 02:38:30 If I started my cousin on a programming language, he knows nothing about that, if I picked lisp or python, there'd be little difference 02:38:54 I'm actually interested in this, because I'd like to make a "so you want to learn lisp" web resource. 02:39:01 learning the basics of computer science would dominate the learning curve 02:39:10 i have never learned python or any other language. Im intentionally starting with lisp because that seems like a good challenge. I only mentioned python because i do have many friends who are constantly going on about it, so I tangentially am lead to believe it's a very popularized language with lots of points of entry. 02:39:45 emma: well, when you package the language with an introductory course for it... 02:40:28 emma: So, in your opinion, what has been the most helpful lisp resource so far? 02:42:25 mogunus, i found a book online by David B. Lamkins which is giving me some satisfaction. 02:42:57 http://www.psg.com/~dlamkins/sl/ 02:43:23 Successful lisp? Really? Interesting. I really thought of that as a more advanced text. 02:43:55 what's your computer background emma ? 02:44:24 emma: I'm sure you 02:44:43 've been pointed at "gentle into to symbolic computation" before. Have you looked at it? 02:44:53 that's a good link... bookmarked 02:45:30 Virtually non-existent. I want lisp to be my first programming language so i read some stuff about scheme for a while, wrote to project-euleresque type programs, and got burnt out. But Im trying common lisp now. 02:45:34 DeusExPikachu: I own the print book, it's pretty good. But it only became useful to me later. 02:46:07 DeusExPikachu: it has very good debugger, conditions, and macro content. 02:46:14 However -- My knowledge of computers or programming is deficient. But I know something about math. 02:46:42 I have reason to think I can process abstract and logical things because I understand more math than average. 02:47:16 -!- ManateeLazyCat [n=user@116.4.148.183] has quit [Read error: 110 (Connection timed out)] 02:47:19 -!- billstclair [n=billstcl@unaffiliated/billstclair] has quit [] 02:47:23 emma, you in college? self study? 02:47:47 Yes self-study :) 02:48:40 mogunus, i didn't look into "gentle intro... " yet 02:49:22 emma: I highly recommed it, it especially helps with the computer science background. 02:49:37 I read some of SICP before I got burnt out . 02:50:04 *weirdo* found sicp boring and inadequate 02:50:10 I *love* SICP. 02:50:15 I was doing all the exercises but it was slow going. And I started to feel like I wasn't sure if you could only ever do project-euler type problems with Scheme 02:50:17 With a burning flaming passion. That book is fantastic. 02:50:45 well I also like it from a certain perspective. It's certainly educational and definitely about understanding computer science. More than programming. 02:50:46 my problem with SICP is that it doesn't explain the thought process behind writing the code 02:50:47 mogunus: uh oh, we've got a hot-blooded lisper here 02:50:49 it just presentsi t 02:51:00 I got started on lisp due to a SICP course. 02:51:03 PCL is way better in that aspect 02:51:10 alright. is there a reason why (foo bar) would work but (funcall (intern "foo") bar) would not? 02:51:29 Moe111: 1) uppercase "foo" 02:51:29 However! I recognize that it is totally inappropriate for many people. 02:51:39 weirdo: yes, it's uppercased. 02:51:40 Moe111: 2) FOO could be a local function (see LABELS) 02:51:54 or FLET 02:52:03 weirdo: and if you don't have a good teacher to reason you through the code examples, it can be really unfortunate. 02:52:15 also, FOO could be a macro or could have a compiler macro that doesn't preserve its semantics 02:52:56 mogunus: i didn't watch the video lectures, they were very verbose, guy saying nothing in particular for long minutes 02:53:07 my problem isn't with understanding the code, but with not gaining anything from it 02:53:59 The biggest obstacle to learning lisp for me has been getting it (and all the packages I need) properly installed. But then my needs are probably different than the average lisper. 02:54:22 weirdo: you didn't gain anything from SICP...? Did you get to the part where you get to implement your own interperter? or register macheine? 02:54:25 do you use clbuild? 02:54:27 weirdo: it does start kinda slow. 02:54:33 lat_, maybe you could do it with clbuild ? 02:54:50 weirdo, shouldn't funcall get a function value? If foo is a variable that stores values that would not work 02:55:10 emma, I did use clbuild, 02:55:13 mogunus: i know how EVAL could be naively implemented 02:55:19 let me rephrase that, foo can store a value, and funcall expects a function 02:55:20 the interpreter part is better explained in LiSP 02:55:22 lat_, you probably dont use ubuntu but I found this useful --- http://club-ubuntu.org/blogs/em/getting-started-with-lisp-in-ubuntu 02:55:47 some stuff is trivial, like lazy evaluation via thunks, i figured that out on my own and only later found out that SICP mentions it 02:55:56 I think there needs to be a #' there if the value of foo is not what you are looking for right? 02:56:23 DeusExPikachu: haha! right on 02:56:38 oh, wait 02:56:46 symbols are valid function designators 02:56:58 lisp macros are effin awesome people 02:56:59 correct, but again, foo would need to contain a function 02:57:23 DeusExPikachu: so that's what i said earlier, it fails if FOO contains a local function 02:57:48 other reasons for failure are: 1) compiler macro 2) macro 02:58:17 I don't think it would fail if its a local function, isn't that just a closure? 02:58:20 SandGorgon [n=OmNomNom@122.173.247.98] has joined #lisp 02:58:42 slackjaw [n=jolyonw@124-168-253-144.dyn.iinet.net.au] has joined #lisp 02:58:54 DeusExPikachu: local functions are FLET or LABELS, they don't set the symbol value; they're implemented with a code walker that replaces every FUNCTION/application form with the closure 02:59:04 emma, I do use ubuntu, but clbuild is the installation method recommended here. But I'll look at that link. 02:59:15 is clojure definitely also lisp? What are the sufficient and necessary conditions for a programing language to be a lisp? 02:59:22 oh, nm nm... I was thinking the other way around 02:59:53 lisp has dialects 03:00:05 *many dialects 03:00:08 emma: what do you find lacking in the cookbook? (I'd like some suggestions re: improving it) 03:00:30 emma: lisp can be either "has sexps", "has sexps, lambda", "has sexps, lambda, NIL stands both for empty list and boolean false", etc... 03:00:38 or other permutations 03:00:52 for instance, ACL2 has sexps and NIL, but not lambda 03:01:10 mogunus, i thought cookbook was one of the more useful ones I happened upon. But I found it by google searching: somefunction common lisp 03:01:13 KMP thinks that for a language to be a lisp, it musn't form an isolated community *and* recognize itself as a lisp 03:01:21 by this KMP argues that scheme is not a lisp 03:01:43 mogunus -- maybe some way to search the site for functions/macros or an index page. 03:01:50 but it's scheme's own point, they think that lisp is "impure", i.e. glorifies side-effects 03:02:22 just like catholics see celibate people as "pure" 03:03:02 weirdo: scheme calls itself a Lisp - see original report 03:03:12 -!- superjoe [n=superjoe@149-169-230-216.nat.asu.edu] has quit ["Leaving"] 03:03:23 also, scheme is nowhere near pure functional ;-) 03:03:24 well. it's KMP's opinion, not mine 03:03:31 It's lisp if people shy away from it because they say it looks like toe nail clippings 03:03:46 p_l: but it's easy to isolate a purely functional subset, e.g. see drscheme 03:03:59 also, they're crazy about not having LOOP 03:04:03 I must say that among some of the more truly guru-type scheme people and guru-type common lisp people, I sense a sort of rivalry and occasionally some talking the other side down. 03:04:03 when you get into discussions about "purity", you can end up with purely function CPP 03:04:12 CPP? 03:04:33 emma: scheme is unsuited for Real Work 03:04:48 ever saw anything like CLIM or macsyma for scheme? 03:04:48 weirdo: C PreProcessor that then executeds in C Monad 03:04:56 weirdo, and one of the most brilliant scheme people told me, 'common lisp is unsuited for making large programs'. 03:05:13 they said maxima works mostly because of luck. 03:05:22 That's better than not existing. 03:05:42 one thing that threw me off in scheme is not having keyword arguments 03:05:49 both are IMHO good enough when it comes to writing big apps, especially later revisions... 03:05:52 other thing is that many things aren't standardised between impls 03:06:00 so starting programming is equivalent to vendor lock-in 03:06:15 emma, I looked at that link. I'm way past all those instructions. But it did not go smoothly. It was very time consuming, and would not have been possible without a _lot_ of help from the experts on this channel. 03:06:17 e.g. FFI, object-protocol 03:06:23 yeah, that's one of the things that finally pushed me from scheme to CL :) 03:06:34 not MOP, there's no way to make objects at all with RnRS scheme 03:07:00 I choose to just think PLT scheme = scheme. 03:07:00 besides, their macros were only recently fully standardised in R6RS (which is boycotted, btw) 03:07:11 plt scheme doesn't even compile to native code 03:07:11 There's no reason to even think that any other kind of scheme exists. 03:07:24 I can think of a few. 03:07:34 PLT scheme has drscheme. 03:07:36 xinming_ [n=hyy@125.109.245.202] has joined #lisp 03:07:48 And is a more organized and real community with real scholars. 03:08:03 s/scholars/ivory tower academicians/ 03:08:17 Ah, those fake scholars, always foiling my success. 03:08:21 Speaking of large systems, how many people here are using mudballs? 03:08:24 emma: mzscheme (which is the scheme used by PLT) afaik isn't the most accomplished one, when it comes to "real world programs" 03:08:44 mogunus: haven't encountered it outside cl-smoke 03:09:25 I think it might be the leader as far as teaching scheme though. And making scheme attractive. If scheme is a lisp I think that PLT Is leading the larger lisp community in making lisp accessible, interesting, and attractive. 03:09:56 emma: Bigloo and Gambit seem more used industrially, plus there is Guile and multiple little schemes used internally in many pieces of software (including games) 03:10:24 emma: also note that traditional CS education is inadequate for doing Real Work 03:10:28 but one reason I thought it's better to just learn common lisp is because i think there are more tools in common lisp for interacting with the outside world. files, devices, whatever, that's just my sense of it though. 03:10:46 people don't write code that uses data structures, they use libraries implementing data structures 03:11:01 people don't write and prove clever algorithms, they use dijkstra's 03:11:01 so you would hope 03:11:23 mathematics is more helpful for programming than CS education 03:11:26 emma: Considering you just defined scheme as PLT scheme, that's a strange position. 03:12:00 weirdo: people write crapphy, buggy and slow as hell code because they know nothing about datastructures and algorithms 03:12:06 *crappy 03:12:06 well, this is related to my earlier observation that lisp is just so full of such clever people. Sometimes too clever. 03:12:14 weirdo, I think you're thinking of Ph.D computer science 03:12:24 p_l: but they don't need to, see CL-CONTAINERS, FSET etc. 03:12:32 BINOMIAL-HEAP, and moar 03:12:55 BS computer science has been invaluable in my experience 03:13:04 DeusExPikachu: what's needed is a way of abstracting stuff and a good taste - impossible to teach 03:13:08 it just comes with time 03:13:16 DeusExPikachu: mostly in allowing a lot of free time 03:13:16 weirdo: actually, you are much better off knowing, because then you know which datastructure to use 03:13:26 people get tired of crappy protocols and copypasta code - so they acquire taste 03:13:30 It's not everything you need to know, but it definetly sets you aapart 03:14:01 pkhuong: sure it is invaluable - it gives me access to a big library full of books I don't have money to buy :-) 03:14:08 p_l: why's that hard? just see which operations you use in critical paths and use the datatypes with lowest computational complexity 03:14:21 and profile, profile, profile 03:15:16 weirdo: you assume people know what computational complexity is :P 03:15:36 as I recall from an intersting little page, bubble sort is quite popular :P 03:15:45 you can't actually have too many clever people. Hopefully lisp ends up making even more brilliant innovations that keep all the other languages chasing it for another 50 years. But with other languages it seems like you have 'coders'. And with lisp, it's like everyone is a compiler engineer, which affects the kind of pedagogy you find. 03:15:53 p_l: freebsd uses it in kernel code :) 03:16:01 and it's run every time a machine is booted :) 03:16:20 p_l: big o notation is dead simple and doesn't require and CS or math education 03:16:34 weirdo: yeah, pity that people ignore it 03:16:52 or don't know the values nor look them up 03:17:00 -!- pizzledizzle [n=pizdets@96.250.220.91] has quit [] 03:17:05 only thing that is weird about it is that "log n" means "between one and n" 03:17:28 it's very difficult to calculate or prove what the o() or O() is for a given algorithm. 03:17:44 I think it's a very complicated and very abstract problem. 03:18:06 emma: your input is appreciated. 03:18:08 emma: most code is io-bound anyway 03:18:18 weirdo: then what does nlog n mean? 03:18:21 I think it also means k(log n) where k is any real number. 03:18:32 ampleyfly: n * (between 1 and n) 03:18:33 fusss [n=chatzill@115.128.38.161] has joined #lisp 03:18:53 -!- envi^home [n=envi@220.121.234.156] has quit ["Leaving"] 03:18:59 i am having a weird LW bug: (s-utils:format-universal-time (get-universal-time)) returns the same value for the last day or so :-P 03:19:09 weirdo: hrm, I should be sleeping >.> 03:19:40 it's always one value between 1 and n for the whole algorithm 03:19:53 for one "log n" reference 03:20:00 weirdo: I'm still not figuring out what's not working with the code I have. 03:20:18 but it's totally arbitrary, for instance between binary trees and binary chop 03:20:20 something in here is caching the value of GET-UNIVERSAL-TIME; fuck! 03:20:25 I think I'll have to do a code dump 03:20:27 minion: tell Moe111 about paste 03:20:28 Moe111: direct your attention towards paste: lisppaste: lisppaste is an IRC bot that runs under the nickname "lisppaste" and can be used (only for the #lisp IRC channel!) at http://paste.lisp.org/new/lisp - or http://paste.lisp.org/ for other destinations 03:20:30 -!- xinming [n=hyy@125.109.79.131] has quit [Connection timed out] 03:21:25 fusss: :D 03:22:57 I know about paste. thanks. However, I can't get my problem reduced to a simple lisp snippet. 03:23:47 anyone knows about a central directory of open-source code? 03:23:54 i find it hard to find libraries through google 03:24:03 cliki? 03:24:09 some morons expose html manual pages to google and it finds them instead of the library home page 03:24:14 no, generally, it's offtopic 03:24:43 Moe111 pasted "funcall" at http://paste.lisp.org/display/86596 03:24:59 under what circumstance could that funcall fail? 03:25:42 I'm doing the funcall in the REPL and it works. but having that funcall execute in the body of a hunchentoot page generation throws a condition 03:25:49 saying that BAR is undefined. 03:25:53 Moe111: packages/ 03:26:08 or maybe that DEFCLASS doesn't get evaluated? 03:26:18 Moe111: try (describe 'bar) 03:26:38 like I said, I can call the actual function that hunchentoot calls from the repl, and it works as expected. 03:26:43 when hunchentoot calls it, it doesn't. 03:26:49 the defclass is definitely working 03:27:03 Moe111: packages 03:27:20 you passed the BAR symbol from a wrong package 03:27:22 hmmm. so maybe intern 03:27:44 I should pass a package key to my intern call? 03:27:45 -!- SandGorgon [n=OmNomNom@122.173.247.98] has quit [Read error: 60 (Operation timed out)] 03:27:46 I'll try 03:28:32 Moe111: you definitely want find-symbol, not intern. Maybe *package* isn't always what you expect it to be. 03:28:41 shiva8 [n=waseir@c-98-220-107-98.hsd1.in.comcast.net] has joined #lisp 03:28:42 ahh. 03:29:06 has anyone used the MIT opencourse ware for LISP ? 03:29:12 6.002 i belive 03:30:08 shiva8: use everything you can get your hands on to improve your programming 03:30:12 -!- saikat [n=saikat@c-24-5-85-71.hsd1.ca.comcast.net] has quit [] 03:30:20 yup 03:30:24 the MIT stuff, specially SICP, is of exceptional value 03:31:03 boom. it works. thanks 03:31:19 shiva8: not 6.0001? 03:31:28 dunno about the number of zeros, but one at the end 03:31:40 ill look it up ... 03:31:49 shiva8: i watched some SICP videos but didn't like them 03:31:53 perhaps 6.002 is the one on electronics bsic ..which looks really nice to 03:31:57 i belive you might be right about it 03:32:16 they were mostly theory i belive..then you use the other information on teh site 03:32:28 and the book ..for practical application 03:32:53 i am still going to dig into it and learn it ..since i belive it will help develop my programming skills 03:32:59 weirdo: the "bug" I was having was basically me calling format-universal time with get-universal-time's result, instead of the stored time stamp from database :-) my machine is so fast that all the data, which consecutive calls to get-universal time appears to be happening at the same second 03:33:01 i also looked up there Oxygen project 03:33:11 The one froom MIT about Artificial Intellegence 03:33:16 minion: tell shiva8 about dead-sexy-book 03:33:17 Sorry, I couldn't find anything in the database for ``dead-sexy-book''. 03:33:22 minion: tell shiva8 about pcl 03:33:23 shiva8: look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 03:33:40 pcl is immensely useful if you already know some programming language 03:33:58 fusss: :) 03:34:25 haha dead-sexy book i like that 03:37:07 minion: that dead-sexy book 03:37:07 i don't know what you're referring to 03:37:18 hmm... I don't remember exact reference... 03:37:33 i like thou how in the MIT videos .. The one where he explains Programming language to be something to do wth Magical things 03:37:37 that a really old Video thou 03:37:40 from the 85 03:37:43 80, 0 03:38:04 shiva8: reference to SICP 03:38:19 as well as reference to even older things 03:38:56 (sysadmins were called "wizards" in elder times) 03:39:09 ahh thats nice 03:39:20 i still think computers is somewhat of a black magic book in its self 03:39:33 shiva8: not black magic, but magic indeed 03:39:36 that a 15 year old could do alot in it ..even not knowing mathematics or other such scienc subjects 03:39:47 why is sourceforge such a piece of crap? 03:39:50 the kind of magic that is well structured with laws 03:40:02 can't they just provide links? why do i have to click three times to download something? 03:40:28 indded p 03:40:45 -!- quek [n=read_eva@router1.gpy1.ms246.net] has left #lisp 03:40:47 its not in your package manager? 03:40:54 its gonna be an interesting ride when i begin the MIT courware 03:41:27 hell .. i wanna be done with the book and the stuff on electronics basics ..before i get to University 03:41:37 so i am all ready for it and i can enjoy university a bit to 03:41:48 good idea 03:41:59 this program is just brilliant. it searches for libfreetype with find(1) instead of pkg-config 03:42:02 That's what I did to some extent 03:42:14 it makes much sence Deus 03:42:37 anyways . i gotta go .. 03:42:48 nice enviroment ..this room has a good vibe 03:42:57 thanks for the help guys 03:43:00 it's better then awesome 03:43:35 when i get into the working of LISP .. sure will be here to ask questions ... see ya all 03:44:18 shiva8: try to call it "Lisp"; the all uppercase name is a throwback to the 60s 03:44:35 oh the good ol' days 03:44:43 that I didn't exist in 03:44:50 what about LisP 03:45:08 LISP suggests you are using LISP 1.5 or something like that :-) 03:45:42 much work to do tommorow 03:45:43 "back in my day, we programmed in LISP, not your fancy pants Lisp" 03:46:14 today most people do not program in lisp at all 03:46:28 datou [n=datou@124.205.137.170] has joined #lisp 03:46:31 the software for kayak? 03:46:34 I spotted this manual in a bookshelf at the university the other day 03:46:40 labeled IQLISP 03:46:40 DeusExPikachu: "Back in my day, we wrote FASLs in assembler, not using your fancy-pansy CFFI" 03:46:55 haha 03:46:59 :P 03:47:21 DeusExPikachu: actually, that's how you do FFI on MACLISP :-) 03:47:22 man assembler what a novelty 03:48:08 better than dealing with machine code, is what I hear 03:48:47 assembler is potentially novel with each new processor =) 03:48:55 p_l: why CFFI? 03:49:02 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit [] 03:49:14 what does CFFI have in common with FASLs? 03:49:16 *rme* kinda likes assembly 03:49:17 well I was saying the concept of assembly in general 03:50:16 as in, the concept of machine dependent code? 03:50:17 man back in the day we used punch cards 03:50:24 no 03:50:47 back in my day, computer's were actual people 03:51:08 in my day we used mechanical turing machines 03:51:28 it took alot of lining up of rocks to make a program 03:52:33 hey do any of you know about conway's game of life and how you can make a turing machine in it 03:52:45 nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has joined #lisp 03:53:00 weirdo: I meant it concerning access to functions defined outside Lisp 03:53:22 oh :) 03:53:37 stumbled upon it reading some networking code :-) 03:54:30 Irishmanluke: I know that it is somehow equivalent to a universal turing machine 03:54:38 but I have no idea how =) 03:54:41 yeah 03:54:56 how to encode some problem in it* 03:55:12 http://xkcd.com/505/ 03:55:42 I don't know exactly, the machine code consists of a certain series of spacehships 03:56:05 DeusExPikachu: =) 03:56:25 Irishmanluke: that sounds entirely sober to me. 03:56:44 the turing machine they made out of it was huge and largely computer generated 03:57:04 I heard once of a three-layer game of life - it was game of life implemented in game of life implemented in game of life 03:57:09 but plenty of people have made patterns which simulate simple logical problems 03:57:48 apparently there were interesting problems after misplaced cell in lowest layer :-) 03:57:50 p_l: like consisting of those large patterns which emulate one cell in the game of life? 03:58:21 I forget what they're called unit something or other 03:58:26 p_l: >.< 03:58:54 it would be interesting to make bacteria that can compute 03:59:04 they already do that I hear 03:59:20 if life followed the game of life 03:59:22 they would solve np-complete problems with n > 100 in an instant 03:59:24 unit cell oh that's simple 03:59:54 ...or maybe not. matter of scale :) 03:59:57 a living turing machine 04:00:03 that would be awesome 04:00:07 Irishmanluke: we are one too :) 04:00:15 aren't cells living turing machines? 04:00:15 well true 04:00:33 the universe itself can be implemented on a turing machine 04:00:38 but don't ask for proof 04:01:00 you mean like emulated? 04:01:16 Irishmanluke: maybe the current one is implemented on one 04:01:31 and the implementation itself is in a universe implemented in a turing machine, etc 04:01:40 weirdo: have you been watching too many movies 04:01:46 Irishmanluke: why so? 04:01:55 the matrix comes to mind 04:01:56 I think the universe is implemented on a machine that can solve the halting problem 04:01:56 what's there in the universe that can't be implemented on a turing machine? 04:02:24 DeusExPikachu: do physics reduce to the halting problem? 04:02:25 weirdo given enough time and space nothing 04:02:48 saikat [n=saikat@c-98-210-13-214.hsd1.ca.comcast.net] has joined #lisp 04:03:13 time and data storage 04:03:20 it would take an absurd amount of time to simulate matter at a molecular level 04:04:03 now it would 04:04:33 but it raises ethics issues 04:04:34 depends how much matter 04:04:44 not that ethics ever stood in the progress of Science 04:04:56 also there's the quantum level 04:05:17 well, i dunno physics 04:05:26 there's also something called "string theory" with as many as 42 dimensions 04:05:30 if you simulate at the quantum level, don't try to simulate weather 04:05:45 I should say scale up to weather 04:05:54 that will take forever on any computer 04:06:17 if someone implemented einstein's physics, wouldn't it be almost (tm) accurate? 04:06:46 besides, quantum physics would be hard if one wanted to replicate something from real life 04:06:49 since they have a RNG 04:07:07 SandGorgon [n=OmNomNom@122.173.247.98] has joined #lisp 04:07:20 and there's no *RANDOM-STATE* in real life 04:07:20 ?? 04:07:38 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 04:08:17 e^(i)=(-1) 04:08:29 this is completely unrelated to the conversation 04:08:40 yes 04:08:53 it just really makes me think this whole universe is an effing joke 04:09:28 weirdo: universe has this weird quality that for some reason it doesn't reach lowest energy state. Not to mention all those quantum uncertainities 04:09:43 It is, http://www.youtube.com/watch?v=-rg3uNrI8tE 04:10:25 ha, lisp beats c again 04:10:39 i just installed emacs and sbcl 04:10:54 then executed emacs, typed M-x slime and it all just worked 04:10:57 all libraries work too 04:11:13 sn u poo 04:12:08 slime and emacs is pretty nice 04:13:25 clim is probably even better 04:13:34 i mean listener and clim-desktop 04:13:37 logBot6338 [n=logBot@59.96.45.44] has joined #lisp 04:14:23 sepult [n=user@xdsl-87-78-31-246.netcologne.de] has joined #lisp 04:14:24 weirdo: now, if only clim was stabler on me :P 04:15:38 -!- sepult [n=user@xdsl-87-78-31-246.netcologne.de] has quit [Remote closed the connection] 04:16:57 -!- syamajala [n=syamajal@140.232.178.84] has quit ["Leaving..."] 04:17:27 sepult [n=user@xdsl-87-78-31-246.netcologne.de] has joined #lisp 04:21:32 thom_ [n=thom@pool-173-51-164-80.lsanca.fios.verizon.net] has joined #lisp 04:21:57 I'm trying to install a package using asdf-install, but I get: No key found for key id 0x#1=1A3EF94663B68105. Try some command like gpg --recv-keys 0x#1# 04:23:12 lat_: ditch asdf-install and use clbuild 04:25:57 -!- sepult [n=user@xdsl-87-78-31-246.netcologne.de] has quit [Read error: 104 (Connection reset by peer)] 04:26:08 -!- redblue [i=star@ppp043.108-253-207.mtl.mt.videotron.ca] has quit [Read error: 54 (Connection reset by peer)] 04:26:12 weirdo, can cl-vectors be installed using clbuild? I see no such choice: http://projects.tuxee.net/cl-vectors/section-summary#summary 04:27:55 p_l, I did some research --- PLT scheme has a JIT compiler. it doesn't _write_ native code to the disk, as gcc does; and it might choose to not bother compiling some code. But it indeed contains a native code compiler. 04:28:12 lat_: it can be - it's included in clbuild list 04:28:28 emma: mzscheme also had a mode to compile to C 04:28:44 p_l it doesn't anymore? 04:28:51 -!- Moe111 [n=Moe111@modemcable067.226-21-96.mc.videotron.ca] has quit [] 04:29:02 p_l -- cant you just compile to C and then compile that with gcc ? 04:29:05 emma: dunno, I don't use it. Last Scheme I played with was chicken scheme 04:29:33 p_l, great. Where is that list? 04:29:48 lat_: run clbuild projects 04:30:22 sepult [n=user@xdsl-87-78-31-246.netcologne.de] has joined #lisp 04:30:26 lat_: also, you can easily add additional projects to clbuild 04:30:45 as long as they are available in form of public source code repository 04:31:34 -!- sepult [n=user@xdsl-87-78-31-246.netcologne.de] has quit [Remote closed the connection] 04:32:08 does CL code ever get security issues/ 04:32:18 technically it can, but does it ever do? 04:34:25 -!- logBot6338 [n=logBot@59.96.45.44] has quit [Read error: 110 (Connection timed out)] 04:36:53 sepult [n=user@xdsl-87-78-31-246.netcologne.de] has joined #lisp 04:37:24 _mfm_ [n=mfm@c-98-239-97-203.hsd1.ca.comcast.net] has joined #lisp 04:37:30 weirdo: of course, just that it might not have certain kinds of them most of the time 04:40:06 CL has plenty of undefined behaviour. 04:40:13 Every one of those is a security issue. 04:40:30 weirdo and p_l , neat. thanks! 04:41:07 -!- shiva8 [n=waseir@c-98-220-107-98.hsd1.in.comcast.net] has left #lisp 04:42:19 -!- thom_ [n=thom@pool-173-51-164-80.lsanca.fios.verizon.net] has quit ["This computer has gone to sleep"] 04:46:56 |stern| [n=seelenqu@pD9E47A37.dip.t-dialin.net] has joined #lisp 04:49:39 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 04:50:06 hi, how can I call foo's "the-test" in this example: http://paste.lisp.org/display/86597 04:51:57 (call-next-method) at the end of bar's the-test. 04:52:17 okay, time to start emacs 04:52:18 -!- weirdo [n=sthalik@c142-5.icpnet.pl] has quit ["leaving"] 04:52:28 rme: thanks 04:52:39 lexa_ [n=lexa_@seonet.ru] has joined #lisp 04:52:53 ve_ [n=a@94-193-95-252.zone7.bethere.co.uk] has joined #lisp 04:53:07 -!- lexa_ is now known as Guest60834 04:58:46 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit [] 04:58:48 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 04:59:07 -!- Guest60834 is now known as lexa_ 04:59:37 -!- lexa_ is now known as Guest80465 05:02:05 -!- merus [n=merus@c-67-175-45-120.hsd1.in.comcast.net] has quit [Success] 05:03:01 weirdo [n=sthalik@c142-5.icpnet.pl] has joined #lisp 05:03:14 -!- weirdo [n=sthalik@c142-5.icpnet.pl] has quit [Remote closed the connection] 05:03:27 weirdo [n=sthalik@c142-5.icpnet.pl] has joined #lisp 05:03:52 good old ERC :) 05:04:18 -!- sepult [n=user@xdsl-87-78-31-246.netcologne.de] has quit [Read error: 104 (Connection reset by peer)] 05:05:17 emma, I was not as far past those instructions as I thought. :>) There is more to clbuild than I realized. 05:05:18 -!- seelenquell [n=seelenqu@pD9E45C6E.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 05:05:54 sepult [n=user@xdsl-87-78-31-246.netcologne.de] has joined #lisp 05:06:47 -!- Guest80465 is now known as lexa_ 05:06:49 -!- sepult [n=user@xdsl-87-78-31-246.netcologne.de] has quit [Remote closed the connection] 05:07:17 -!- lexa_ is now known as Guest40915 05:08:41 lat_, cool! 05:09:05 lat_, if you do use ubuntu why not put what you figured out on the blog there http://club-ubuntu.org 05:09:09 -!- ve [n=a@94-193-95-252.zone7.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 05:09:10 -!- ve_ is now known as ve 05:10:05 -!- seisatsu [n=seisatsu@adsl-99-40-50-58.dsl.pltn13.sbcglobal.net] has quit ["Ex-Chat"] 05:12:15 emma, I may do that once I'm a little more sure I actually have it figured out. :) 05:12:29 oh cool :) 05:14:54 -!- benny [n=benny@i577A1B89.versanet.de] has quit [Read error: 60 (Operation timed out)] 05:15:25 -!- weirdo [n=sthalik@c142-5.icpnet.pl] has quit [Read error: 104 (Connection reset by peer)] 05:16:11 sepult [n=user@xdsl-87-78-31-246.netcologne.de] has joined #lisp 05:17:42 nightski [n=nightski@24-117-139-61.cpe.cableone.net] has joined #lisp 05:19:38 benny [n=benny@i577A1941.versanet.de] has joined #lisp 05:19:39 -!- nightski is now known as stoch 05:20:07 merus [n=merus@c-67-175-45-120.hsd1.in.comcast.net] has joined #lisp 05:20:59 *p_l* decides that lisp parens definitely don't look like toenail clippings. They don't look like ultra bold mangled {s 05:21:04 dralston [n=dralston@S010600212986cca8.va.shawcable.net] has joined #lisp 05:21:08 -!- dralston [n=dralston@S010600212986cca8.va.shawcable.net] has quit [Read error: 54 (Connection reset by peer)] 05:21:27 iwaki [n=hide@PPPa470.osaka.acca.dti.ne.jp] has joined #lisp 05:21:46 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 05:22:00 mishoo [n=mishoo@86-124-78-239.iasi.cablelink.ro] has joined #lisp 05:23:06 wtf 05:23:39 sepult: a random thought induced by bad sleeping pattern 05:23:44 why is sbcl's sources have a smylink to mips architecture ? 05:23:56 on debian on a x86 ?? 05:24:55 i mean default configuration and the default architecture seem to point to 05:24:55 mips here over 05:25:03 in the sources 05:30:19 -!- lat_ [n=lat@125.167.140.159] has quit [Read error: 60 (Operation timed out)] 05:32:02 sepult: Debian subtly suggesting a saner architecture? :D 05:33:16 tcr [n=tcr@host146.natpool.mwn.de] has joined #lisp 05:33:20 mind you, it was on MIPS that I had the weirdest dynamic linking failure 05:33:58 dralston [n=dralston@S010600212986cca8.va.shawcable.net] has joined #lisp 05:33:59 my emacs is suddenly exiting with C-g 05:34:06 oh man 05:34:13 what did i change again ? 05:34:38 and M-x customize is making emacs exit too 05:34:55 emacs --debug-init does not show anything 05:35:10 *sigh* 05:36:36 -!- sohail [n=sohail@unaffiliated/sohail] has quit ["Leaving."] 05:38:58 -!- sepult [n=user@xdsl-87-78-31-246.netcologne.de] has quit [Remote closed the connection] 05:39:13 sepult [n=user@xdsl-87-78-31-246.netcologne.de] has joined #lisp 05:42:02 mrsolo [n=mrsolo@adsl-68-126-198-233.dsl.pltn13.pacbell.net] has joined #lisp 05:44:16 -!- sepult [n=user@xdsl-87-78-31-246.netcologne.de] has quit [Remote closed the connection] 05:45:14 lat_ [n=lat@125.167.140.159] has joined #lisp 05:55:58 undo, please, undo that last rm -rf of mine, O gods of Unix 05:56:10 thom_ [n=thom@pool-173-51-164-80.lsanca.fios.verizon.net] has joined #lisp 05:56:34 fusss: welcome to joys of debugfs 05:56:45 fusss what were the args, praytell? 05:57:00 ~ 05:57:07 (but i was logged in as another account 05:57:11 There's also sleuthkit, but that would better be discussed on #llinux, or similar. 05:57:20 ohh. Oops. 05:58:07 vyazovoi [n=vyazovoi@horrible-unlim.vpn.mgn.ru] has joined #lisp 05:58:13 fusss: unmount the partition, run debugfs equivalent for your filesystem and pray 05:58:43 p_l: googling like crazy for those keywords atm :-( 05:59:01 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 06:01:07 fusss: for ext2/3/4, you have debugfs, for xfs there's xfs_db, on most unices debugfs is for whatever wariant of FFS is used, JFS has jfs_debugfs, debugreiserfs is self explanatory, etc... 06:03:16 man pages shall help you in your quest 06:04:36 qzg [n=qzg@ppp227.ld.centurytel.net] has joined #lisp 06:04:42 -!- qzg [n=qzg@ppp227.ld.centurytel.net] has quit [Remote closed the connection] 06:04:46 sepult [n=user@xdsl-87-78-26-141.netcologne.de] has joined #lisp 06:05:11 qzg [n=qzg@ppp227.ld.centurytel.net] has joined #lisp 06:05:15 -!- qzg [n=qzg@ppp227.ld.centurytel.net] has quit [Remote closed the connection] 06:08:34 -!- vyazovoi [n=vyazovoi@horrible-unlim.vpn.mgn.ru] has quit [Remote closed the connection] 06:14:12 I'm 06:15:23 I'm using sbcl 1,0,15. Any dangers to updating to 1.0.31? 06:15:41 jdijk [i=jdijk@ftth-212-84-159-210.solcon.nl] has joined #lisp 06:15:57 -!- jdijk [i=jdijk@ftth-212-84-159-210.solcon.nl] has left #lisp 06:17:51 why 1.0.15? 06:19:06 joshe, that was the latest when I installed it a year or so ago. 06:19:42 ah 06:20:26 well if you're worried than install 1.0.31 in a different directory so that you can easily switch back to 1.0.15 if you have any problems 06:21:39 -!- rme [n=rme@70.104.101.220] has quit [] 06:23:12 -!- tcr [n=tcr@host146.natpool.mwn.de] has quit ["Leaving."] 06:23:15 loxs [n=loxs@78.90.124.182] has joined #lisp 06:23:24 -!- loxs [n=loxs@78.90.124.182] has quit [Read error: 104 (Connection reset by peer)] 06:24:14 joshe, I could do that, but I'm getting so many files on my hard drive that it takes too long to backup now. 06:25:10 Adlai [n=adlai@unaffiliated/adlai] has joined #lisp 06:26:37 mcox [n=user@124-171-229-122.dyn.iinet.net.au] has joined #lisp 06:27:27 Davidbrcz [n=david@212.198.78.230] has joined #lisp 06:28:00 Is there a recommended way of binding *print-base* *read-base* to a new value(such as 16) within a specific file, such that it doesn't affect other files? I think eval-when may be what I want, but I'm a bit confused how this affects the REPL. I'm asking this as I had the 2 parameters set to 16 and I've had some other system fail compilation because it used some symbols which were interpreted as hex (such as 'decf). 06:28:26 Good morning everyone! 06:28:44 Good morning beach 06:30:03 ljames: if you have control over the loading of the file, I think you could just do (let ((*print-base* 16)(*read-base* 16)) (load "file")) 06:30:07 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 06:30:59 weirdo [n=sthalik@c142-5.icpnet.pl] has joined #lisp 06:31:10 beach! I've been waiting for you. Please tell me how to use you dict software. 06:31:23 hey 06:31:26 is zsh suitable for writing large scripts? 06:31:29 does it have wrong window 06:31:32 wrong window 06:31:57 theoretically I think you could also stick a #.(setf *read-base* 16 *print-base* 16) at the top of the file, but that's risky because it relies on *read-eval* to be true, and it relies on you to return the values to whatever they were before afterwards. 06:32:01 ah. currently the files are loaded through asdf, but I'd also like to use those values at the repl, but in such a way that it won't affect compilation of other systems... hmm, and I think I know how that may be accomplished... If i could get asdf to bind those 2 variables to the 10/10 before compilation, it would be fine 06:33:43 stassats [n=stassats@wikipedia/stassats] has joined #lisp 06:36:03 -!- Davidbrcz [n=david@212.198.78.230] has quit [Read error: 145 (Connection timed out)] 06:37:24 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 06:38:18 lat_: (asdf:operate 'asdf:load-op :docu-app) 06:38:42 lat_: And then (docu-app::docu-app) 06:39:48 beach, I have it displayed now. How do I load book.text? 06:40:14 -!- fusss [n=chatzill@115.128.38.161] has quit ["ChatZilla 0.9.85 [Firefox 3.5.2/20090729225027]"] 06:41:24 lat_: first Read Dico vietanh.dict 06:41:37 lat_: then Read Text medical.text (for instance) 06:42:01 lat_: or Read Text book.text for the first few pages of a book. 06:42:34 lat_: This is CLIM, so you can use completion r t instead of Read Text. 06:44:11 -!- mishoo [n=mishoo@86-124-78-239.iasi.cablelink.ro] has quit [Read error: 110 (Connection timed out)] 06:44:46 mishoo [n=mishoo@86-124-78-239.iasi.cablelink.ro] has joined #lisp 06:46:32 redblue [i=star@ppp093.108-253-207.mtl.mt.videotron.ca] has joined #lisp 06:49:31 Adlai` [n=adlai@unaffiliated/adlai] has joined #lisp 06:49:32 will xcvb do multithreaded builds? 06:50:20 -!- lat_ [n=lat@125.167.140.159] has quit [Read error: 60 (Operation timed out)] 06:50:45 multiprocess builds 06:51:31 daniel_ [i=daniel@unaffiliated/daniel] has joined #lisp 06:52:06 -!- daniel [i=daniel@unaffiliated/daniel] has quit [Read error: 60 (Operation timed out)] 06:52:47 -!- stoch [n=nightski@24-117-139-61.cpe.cableone.net] has quit ["Leaving"] 06:52:57 mrSpec [n=Spec@unaffiliated/mrspec] has joined #lisp 06:53:10 hello 06:53:32 -!- Adlai [n=adlai@unaffiliated/adlai] has quit [Nick collision from services.] 06:53:36 -!- Adlai` is now known as Adlai 06:54:45 Hello. 06:57:55 -!- mrsolo [n=mrsolo@adsl-68-126-198-233.dsl.pltn13.pacbell.net] has quit [Read error: 110 (Connection timed out)] 07:04:37 hello hello hello, what a wonderful word hello... 07:04:53 yeah. 07:04:55 Adlai` [n=adlai@unaffiliated/adlai] has joined #lisp 07:05:14 drewc: come again? 07:06:17 ampleyfly: http://www.youtube.com/watch?v=CZi8oBCeWAs 07:06:23 -!- mcox [n=user@124-171-229-122.dyn.iinet.net.au] has quit [Remote closed the connection] 07:06:53 is sourceforge banning people who hotlink to the files? 07:07:00 lat_ [n=lat@125.167.140.159] has joined #lisp 07:08:06 Soulman [n=kvirc@80.202.254.154] has joined #lisp 07:08:31 i mean, why do everyone link to the crappy 'file list' page that requires finding the correct file and then *two* clicks? 07:09:41 there's a reason it's not gaining support 07:10:54 two clicks == two add impressions .... think about it 07:11:33 there's a reason it's generating money to support itself 07:12:18 -!- slackjaw [n=jolyonw@124-168-253-144.dyn.iinet.net.au] has quit ["Computer goes to sleep!"] 07:12:54 -!- Adlai [n=adlai@unaffiliated/adlai] has quit [Read error: 60 (Operation timed out)] 07:13:24 Wahhh. I keep getting disconnected...usually right after asking a question...so I don't know if I got an answer or not. Did beach answer my questions? 07:15:11 no 07:15:13 drewc: right. 07:16:21 lat_: see http://paste.lisp.org/display/86598 07:17:15 *drewc* reads scrollback... n00bs talking past other n00bs... it's my shift and i missed it. 07:18:37 guaqua, many thanks! 07:18:37 -!- c|mell [n=cmell@y192025.dynamic.ppp.asahi-net.or.jp] has quit [Read error: 110 (Connection timed out)] 07:19:14 we need more knowledgeable lispers in PST or west of that! 07:19:37 *Adlai`* is west of PST, if you go far enough 07:19:47 *Adlai`* is also nested in backquotes again. 07:19:49 or early wakers from europe :) 07:19:54 -!- Adlai` is now known as Adlai 07:20:00 *dralston* is in PST, but is not yet familar with all of CL's library functions. 07:20:28 *Adlai* is very good friends with all the library functions, but like good friends, they love surprising him. 07:21:25 -!- sepult [n=user@xdsl-87-78-26-141.netcologne.de] has quit [Read error: 54 (Connection reset by peer)] 07:24:28 Adlai: i just learned today that nconc is _required_ to modify the last cons of the list... :) 07:24:42 every day here i learn something new! 07:27:47 -!- SandGorgon [n=OmNomNom@122.173.247.98] has quit [Read error: 60 (Operation timed out)] 07:28:39 -!- _mfm_ [n=mfm@c-98-239-97-203.hsd1.ca.comcast.net] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 07:28:43 drewc: what about (let ((x (list 1))) (nconc x nil)) ? 07:29:14 -!- saikat [n=saikat@c-98-210-13-214.hsd1.ca.comcast.net] has quit [] 07:29:15 Adlai: what about it? 07:30:22 I don't really see how nconc can modify the last cons... the last cons is ( 1 . NIL ), and needs to point the cdr to NIL now, so how can it be modified? wouldn't it just stay the same? 07:30:55 Adlai: how would you tell if it was modified or not? 07:31:50 quek [n=read_eva@router1.gpy1.ms246.net] has joined #lisp 07:32:13 I could keep references around to the original cons, and its car and cdr, and then compare all three with the new cons. 07:32:16 -!- dralston [n=dralston@S010600212986cca8.va.shawcable.net] has quit ["Off to bed"] 07:32:23 there is no new cos 07:32:30 cons 07:32:36 s/new cons/cons after nconcing/ 07:33:12 I guess it would be modified, but the modification wouldn't have any net effect. 07:33:15 it's the same cons, and the CDR points to the same value (NIL) 07:33:35 or not modified.... it doesn't matter. 07:34:03 kiuma [n=kiuma@93-36-11-54.ip57.fastwebnet.it] has joined #lisp 07:34:14 i could not modify it, but say i did.. and i'd still be right... right? :D 07:34:54 of course 07:35:04 http://git.or.cz/gitwiki/GitFaq#Whythe.27git.27name.3F 07:35:31 (for all the git fans in the channel) 07:35:50 *drewc* is a recent git convert 07:36:39 I actually never used any other vcs 07:38:29 i've used rcs, cvs, svn, darcs, mercurial, sourcesafe and git 07:38:35 for work. 07:38:50 it's really interesting to see how git's approach differs from other systems, though... the object model is fundamentally different. 07:39:12 (work meaning "they payed me, so i used what they use") 07:39:29 oh, and arch 07:39:42 (basically all of them) 07:40:16 did you like any of them before using git? 07:55:07 lhz [n=shrekz@c-b9aa72d5.021-158-73746f34.cust.bredbandsbolaget.se] has joined #lisp 07:55:10 Adlai` [n=adlai@unaffiliated/adlai] has joined #lisp 07:56:24 SandGorgon [n=OmNomNom@122.173.247.98] has joined #lisp 07:57:32 -!- mishoo [n=mishoo@86-124-78-239.iasi.cablelink.ro] has quit ["be back later"] 07:58:18 -!- Adlai [n=adlai@unaffiliated/adlai] has quit [Read error: 104 (Connection reset by peer)] 07:58:52 -!- Guest40915 is now known as lexa_ 07:59:13 -!- Adlai` is now known as Adlai 07:59:22 -!- lexa_ is now known as Guest80246 08:02:01 -!- legumbre_ [n=user@r190-135-31-99.dialup.adsl.anteldata.net.uy] has quit [Remote closed the connection] 08:03:47 legumbre_ [n=user@r190-135-31-99.dialup.adsl.anteldata.net.uy] has joined #lisp 08:06:25 -!- thom_ [n=thom@pool-173-51-164-80.lsanca.fios.verizon.net] has quit [Read error: 110 (Connection timed out)] 08:06:39 c|mell [n=cmell@x250031.dynamic.ppp.asahi-net.or.jp] has joined #lisp 08:10:13 letexpx [n=letexpx@abo-223-141-68.bdx.modulonet.fr] has joined #lisp 08:11:06 -!- lat_ [n=lat@125.167.140.159] has quit [Read error: 110 (Connection timed out)] 08:13:18 lat_ [n=lat@125.167.140.159] has joined #lisp 08:14:07 -!- letexpx [n=letexpx@abo-223-141-68.bdx.modulonet.fr] has quit [Client Quit] 08:18:45 Could You tell me what is the best way to represent chess board? I'm going to write program checking if it is possible to win game in 1 move. Do you have any ideas where should I start from? 08:20:22 mrSpec: since you'll be doing a lot of random access, you probably want a 2D array. 08:21:32 (make-array '(8 8)) 08:22:06 Ok, Is it good idea to use hash table ? 08:22:16 As chess board have letters and numbers? 08:23:02 you will want an array and use two numbers 08:23:18 well, given that the "hash function" to convert "E4" into '(5 2) is pretty simple, I'd say that you don't need to use your implementation's hashtables. 08:23:28 xinming [n=hyy@125.109.79.73] has joined #lisp 08:23:38 -!- mrSpec [n=Spec@unaffiliated/mrspec] has left #lisp 08:23:46 mrSpec [n=Spec@unaffiliated/mrspec] has joined #lisp 08:24:01 yeah, It is. 08:24:35 -!- qidush_ [n=qidush@c83-252-27-42.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 08:24:46 qidush [n=qidush@c83-252-27-42.bredband.comhem.se] has joined #lisp 08:24:46 metawilm [n=willem@kabel-9-126.kabel.netvisit.nl] has joined #lisp 08:24:56 nha [n=prefect@17-70.61-188.cust.bluewin.ch] has joined #lisp 08:25:42 you can represent a chessboard pretty efficiently as a '(simple-array fixnum (8 8)) 08:26:04 ok thanks, I'll use it 08:26:54 make sure to pass :element-type 'fixnum to #'make-array if you want to save space by using numbers for the chesspieces 08:28:07 where can I find info about fixnum? I've never used that :( 08:28:14 Is it in clhs? 08:28:19 if you want it efficient why not use (unsigned-byte 4) or something? 08:28:23 its just a fixed width integer 08:29:44 mrSpec: you might find this thread helpful: 08:30:08 thanks michaelw 08:30:55 mrSpec: I think it's just the most likely to get optimized. c|mell's suggestion could work too, but I don't know if that many implementations would optimize on that. 08:31:45 -!- quek [n=read_eva@router1.gpy1.ms246.net] has left #lisp 08:31:52 ok 08:32:39 -!- GreatPatham [n=dan@c-24-19-169-87.hsd1.wa.comcast.net] has quit [] 08:33:23 quek [n=read_eva@router1.gpy1.ms246.net] has joined #lisp 08:34:26 -!- Guest80246 is now known as lexa_ 08:34:55 -!- lexa_ is now known as Guest53571 08:35:34 -!- Guest53571 [n=lexa_@seonet.ru] has left #lisp 08:35:52 well if they optimize fixnum they will almost certainly optimize (unsigned-byte 4) 08:36:20 and they can do better than fixnum if they want -- e.g. unsigned-byte 8 most likely 08:36:42 -!- legumbre_ [n=user@r190-135-31-99.dialup.adsl.anteldata.net.uy] has quit [Remote closed the connection] 08:37:00 -!- xinming_ [n=hyy@125.109.245.202] has quit [Read error: 110 (Connection timed out)] 08:37:39 legumbre_ [n=user@r190-135-31-99.dialup.adsl.anteldata.net.uy] has joined #lisp 08:41:28 jewel [n=jewel@dsl-242-129-207.telkomadsl.co.za] has joined #lisp 08:45:45 -!- c|mell [n=cmell@x250031.dynamic.ppp.asahi-net.or.jp] has quit [Read error: 104 (Connection reset by peer)] 08:48:43 -!- htk_ [n=htk___@188.3.227.231] has quit [Read error: 110 (Connection timed out)] 08:49:13 htk_ [n=htk___@188.3.226.250] has joined #lisp 08:54:03 dialtone [n=dialtone@c-98-210-12-88.hsd1.ca.comcast.net] has joined #lisp 08:55:25 -!- xan-afk is now known as xan 08:55:26 -!- arbscht [n=arbscht@unaffiliated/arbscht] has quit [Read error: 54 (Connection reset by peer)] 08:57:13 -!- legumbre_ [n=user@r190-135-31-99.dialup.adsl.anteldata.net.uy] has quit [Read error: 113 (No route to host)] 08:57:29 vyazovoi [n=vyazovoi@horrible-unlim.vpn.mgn.ru] has joined #lisp 09:02:14 -!- Adlai [n=adlai@unaffiliated/adlai] has quit [Remote closed the connection] 09:02:39 Adlai [n=adlai@unaffiliated/adlai] has joined #lisp 09:02:42 yaroslav_h [n=yaroslav@79.126.59.30] has joined #lisp 09:05:23 Adlai` [n=adlai@unaffiliated/adlai] has joined #lisp 09:06:23 -!- ManateeL` [n=user@119.141.228.206] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 09:10:26 arbscht_ [n=arbscht@unaffiliated/arbscht] has joined #lisp 09:11:06 -!- Adlai [n=adlai@unaffiliated/adlai] has quit [Read error: 145 (Connection timed out)] 09:11:11 -!- Adlai` is now known as Adlai 09:12:44 Edico [n=Edico@unaffiliated/edico] has joined #lisp 09:12:44 ManateeLazyCat [n=user@119.141.228.206] has joined #lisp 09:17:17 Geralt [n=Geralt@p5B32C73F.dip.t-dialin.net] has joined #lisp 09:22:03 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit [] 09:27:45 -!- quek [n=read_eva@router1.gpy1.ms246.net] has left #lisp 09:28:03 ib11 [n=ib11111@HSI-KBW-091-089-048-039.hsi2.kabelbw.de] has joined #lisp 09:30:28 -!- Adlai [n=adlai@unaffiliated/adlai] has quit [Remote closed the connection] 09:30:58 Adlai [n=adlai@unaffiliated/adlai] has joined #lisp 09:32:04 envi^home [n=envi@220.121.234.156] has joined #lisp 09:36:26 -!- merus [n=merus@c-67-175-45-120.hsd1.in.comcast.net] has quit ["Leaving"] 09:38:39 tobetchi [n=tobetchi@p923e7d.sagant01.ap.so-net.ne.jp] has joined #lisp 09:45:00 -!- Adlai [n=adlai@unaffiliated/adlai] has quit [Remote closed the connection] 09:45:33 Adlai [n=adlai@unaffiliated/adlai] has joined #lisp 09:49:36 -!- Adlai [n=adlai@unaffiliated/adlai] has quit [Read error: 54 (Connection reset by peer)] 09:49:51 ace4016 [i=ace4016@cpe-76-87-84-207.socal.res.rr.com] has joined #lisp 09:50:53 anyone got a good tutorial to start with cffi-grovel, as I find the standard documentation a bit poor 09:51:18 Adlai [n=adlai@unaffiliated/adlai] has joined #lisp 09:51:59 nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has joined #lisp 10:10:02 angerman [n=angerman@host41.natpool.mwn.de] has joined #lisp 10:10:28 PissedNumlock: see fsbv or iolib 10:11:23 ty 10:12:53 rstandy [n=rastandy@net-93-144-5-239.t2.dsl.vodafone.it] has joined #lisp 10:17:05 nvoorhies_ [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has joined #lisp 10:17:05 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 10:17:14 -!- nvoorhies_ is now known as nvoorhies 10:17:23 -!- iwaki [n=hide@PPPa470.osaka.acca.dti.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 10:19:57 anyone here with some xp with cffi that wants to help out a newbie? :) 10:20:33 Sorry, I know nothing about MS-Windows-XP. 10:20:49 did you mean: "experience"? 10:20:51 yes 10:20:55 PissedNumlock: I wrote most of cffi-grovel :) 10:21:04 *_3b* doesn't volunteer to answer questions without seeing the question 10:21:04 PissedNumlock, state your inquiry. 10:21:09 extern proc_t * get_proc_stats(pid_t pid, proc_t *p); 10:21:16 I have defined the pid_t and proc_t types 10:21:27 PissedNumlock, defined with grovel, hopefully? 10:21:28 but atm my function still returns incorrect values 10:21:39 I have defined pid_t with grovel 10:21:47 proc_t manually :x 10:21:53 PissedNumlock, pass proc_t as a pointer 10:21:55 but should work on my system 10:21:59 don't convert it to a struct 10:22:07 AFAIK, CFFI only consider pointers. There's no type checking. When you write (:pointer pid_t) it's the same as :pointer. 10:22:09 it's type :pointer 10:22:22 s/pid_t/proc_t/ 10:22:39 atm I call it like this: http://pastebin.com/m32cbc25e 10:22:54 which yields incorrect results :p 10:23:09 as it says my process started somewhere in 1974 10:23:11 lisppaste: url? 10:23:12 To use the lisppaste bot, visit http://paste.lisp.org/new/lisp and enter your paste. 10:23:17 PissedNumlock, don't do 'proc-t 10:23:21 oh wait 10:23:31 hmm 10:23:36 what's the deftype for it? 10:23:41 PissedNumlock: Why don't you use defcfun? 10:24:15 PissedNumlock, WITH-FOREIGN-OBJECT can allocate on stack 10:24:22 -!- Adlai [n=adlai@unaffiliated/adlai] has quit [Remote closed the connection] 10:24:23 ignas [n=ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 10:24:34 so a new EVAL can replace the address with garbage 10:24:36 Adlai [n=adlai@unaffiliated/adlai] has joined #lisp 10:24:42 <_3b> paste the types definitions as well 10:24:43 PissedNumlock: pt is only valid within with-foreign-object 10:24:52 PissedNumlock pasted "proc" at http://paste.lisp.org/display/86600 10:25:01 that's the code I have atm 10:25:41 so how do I have to call it fe[nl]ix ? 10:25:41 <_3b> what is :pid in your call? 10:25:46 tcr [n=tcr@host146.natpool.mwn.de] has joined #lisp 10:26:02 the procesid of some vim proces on my machine 10:26:10 <_3b> no, i mean the literal symbol :pid 10:26:30 or you want to see the grovelline? 10:26:31 (in-package :proc) 10:26:32 (ctype :pid "pid_t") 10:27:39 fe[nl]ix annotated #86600 "get start_time correctly" at http://paste.lisp.org/display/86600#1 10:27:56 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 10:28:12 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 10:28:46 PissedNumlock: does that work ? 10:29:00 nope 10:29:09 -!- Adlai [n=adlai@unaffiliated/adlai] has quit [Remote closed the connection] 10:29:13 Time.at(153579016) 10:29:13 => Wed Nov 13 13:50:16 +0100 1974 10:29:25 Adlai [n=adlai@unaffiliated/adlai] has joined #lisp 10:31:18 <_3b> have you tried grovelling the proc_t struct? 10:31:31 <_3b> that looks like the sort of thing that would be hard to get right by hand :) 10:31:52 it's just copy paste and looking at the macro's 10:32:00 but I'll try that 10:33:46 Nshag [i=user@Mix-Orleans-106-3-48.w193-248.abo.wanadoo.fr] has joined #lisp 10:34:01 <_3b> also, might try initializing the slots to something obvious, to see if you are actually getting results from the call or random garbage 10:34:56 well, that's the most obvious function to call, it should fill in the proc_t structure 10:35:03 in fact it's the only function I can call 10:35:08 anyone using ContextL? 10:35:11 gotta eat, thx for the help so far 10:35:17 *PissedNumlock* hugs the channel 10:35:25 <_3b> right, but it 'should' fill it in with the right answer too, so obviously 'should' doesn't apply 10:35:32 :) 10:35:34 <_3b> question now, is which 'should' 10:36:24 metawilm: ask pjb, he wrote it. 10:36:52 Adlai: are you not confusing the two Pas[ck]als? 10:36:59 ah I believe I am. 10:37:04 *Adlai* hides head in shame. 10:37:21 and i'm actually interested in use cases, to hear how people like it 10:37:52 although I don't think either one spells his name with a K 10:38:06 right, i just looked it up 10:38:26 what are you thinking of using it for? 10:38:38 i have a few cases in mind for CLPython 10:38:58 1. move all compiler optimizations into one or more layers, which can easily be en/disabled 10:39:00 is that Python on CL, or CL on Python? 10:39:08 Python implemented in CL 10:39:18 ok 10:39:20 hi metawilm; will you be online the evening, too? 10:39:31 tcr: perhaps... probably not 10:40:14 2. make all the functions that print objects layered, so that there can be a slime layer that makes parts clickable or with colors, or in nice columns 10:40:57 Indeed, ContextL was Pascal Costanza's work. 10:41:07 3. make some of the parser functions layered, so that one module can enable slightly different parsing functionality (client-specific syntax; tcr is working on this) 10:41:11 metawilm: Ok, that's unfortune. I won't have time until then. Perhaps tomorrow. 10:42:07 pjb: sorry. That's about the fifth time that I've killed your bot or confused you with somebody else or something :) 10:42:34 Adlai: My fault, I should replace it soon. 10:44:50 billstclair [n=billstcl@unaffiliated/billstclair] has joined #lisp 10:49:35 Davidbrcz [n=david@212.198.78.230] has joined #lisp 10:49:58 -!- Adlai [n=adlai@unaffiliated/adlai] has quit [Remote closed the connection] 10:50:18 Adlai [n=adlai@unaffiliated/adlai] has joined #lisp 11:01:42 kickaha [n=user@89.214.46.19] has joined #lisp 11:01:49 -!- qidush [n=qidush@c83-252-27-42.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 11:04:13 -!- konr|afk [n=konrad@201.82.141.180] has quit [Read error: 110 (Connection timed out)] 11:06:31 <_3b> PissedNumlock: actually, it looks like your function call might be working... see http://www.google.com/codesearch/p?hl=en&sa=N&cd=3&ct=rc#XYAbp0OEvxM/ps/output.c&q=procps-3.2.8&l=910 11:06:58 qidush [n=qidush@c83-252-27-42.bredband.comhem.se] has joined #lisp 11:08:08 -!- xan [n=xan@cs78225040.pp.htv.fi] has quit [Read error: 60 (Operation timed out)] 11:09:20 -!- qidush [n=qidush@c83-252-27-42.bredband.comhem.se] has quit [Read error: 54 (Connection reset by peer)] 11:10:18 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 11:11:58 qidush [n=qidush@c83-252-27-42.bredband.comhem.se] has joined #lisp 11:12:53 lukjad007 [n=lukjadOO@unaffiliated/lukjad007] has joined #lisp 11:13:26 -!- metawilm [n=willem@kabel-9-126.kabel.netvisit.nl] has quit [] 11:13:52 Yuuhi [i=benni@84.131.211.31] has joined #lisp 11:16:08 -!- lat_ [n=lat@125.167.140.159] has quit ["Ex-Chat"] 11:16:33 metawilm [n=willem@kabel-9-126.kabel.netvisit.nl] has joined #lisp 11:16:47 i dont see your point _3b ? 11:16:55 -!- metawilm [n=willem@kabel-9-126.kabel.netvisit.nl] has quit [Client Quit] 11:17:28 aha, I have to add the boottime 11:18:15 <_3b> apparently it is not seconds, and not since 1970 :p 11:18:45 start_time; // stat start time of process -- seconds since 1-1-70 11:18:52 then the comments lie 11:18:55 <_3b> so if your machine uptime (when the process was started) is around 17 days, the value you got is right 11:19:00 <_3b> PissedNumlock: yeah 11:19:08 yop _3b it is 17 days >:) 11:19:12 may I hug you? 11:19:50 *PissedNumlock* hugs _3b 11:20:07 -!- ljames [n=ln@unaffiliated/ljames] has quit [] 11:21:10 -!- trsh [n=beeb@93-141-53-193.adsl.net.t-com.hr] has quit [] 11:23:22 -!- Adlai [n=adlai@unaffiliated/adlai] has quit [Remote closed the connection] 11:23:40 Adlai [n=adlai@unaffiliated/adlai] has joined #lisp 11:23:53 -!- redblue [i=star@ppp093.108-253-207.mtl.mt.videotron.ca] has quit [Read error: 110 (Connection timed out)] 11:24:06 trsh [n=beeb@93-141-16-103.adsl.net.t-com.hr] has joined #lisp 11:26:05 <_3b> tcr: in named-readtables.html: 'retrieve readtables from their names' -> 'retrieve readtables by name', 'at one sight' -> 'at one site', 'totally effortless' -> 'totally effortlessly' 11:26:37 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit [] 11:26:39 iwaki [n=hide@PPPa470.osaka.acca.dti.ne.jp] has joined #lisp 11:26:39 _3b: the last correction seems wrong 11:26:50 <_3b> michaelw: in context? 11:27:06 hmm? 11:27:24 ruepel0r [n=rue@77-22-58-33-dynip.superkabel.de] has joined #lisp 11:27:33 <_3b> michaelw: are you saying it sounds wrong in the original context, or just from what i said? 11:27:46 from what you said 11:28:08 <_3b> experienced Common Lisper will take it up totally effortless." 11:28:16 <_3b> ok, original context is "This has the nice property that any 11:28:18 <_3b> experienced Common Lisper will take it up totally effortless." 11:28:23 "without effort" (-: 11:28:24 <_3b> (sorry about the confused paste) 11:28:37 <_3b> and yeah, a completely different construction might be even better 11:28:42 nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has joined #lisp 11:28:46 yeah, what antifuchs says sounds better 11:29:14 (and here we are, non-native speakers discussing the fine points of English grammar ;)) 11:29:26 you can attach an optional "like, totally" (-: 11:29:36 <_3b> heh, now like we native speakers know anything about grammar :p 11:29:39 argh 11:29:51 michaelw: (-: 11:29:54 *_3b* suspects a good non-native speaker is a better source of grammar knowledge in any language 11:32:44 fe[nl]ix: there? 11:32:53 yes 11:33:18 how do you grovel this? 11:33:26 extern unsigned long long Hertz; 11:33:40 atm I'm doing this: (constant (hertz "Hertz")) but doesn't work 11:33:45 obviously 11:33:57 tried cvar as well 11:34:05 <_3b> tcr: "lest to make the situation worse" -> "lest it make ..." (or some other construct completely) 11:34:14 do I have to look at the header file that defines that variable 11:34:22 or will grovel resolve that for me? 11:35:35 no, grovelling is only useful for finding struct member offsets and for foreign constants 11:35:54 in your case simply (cffi:defcvar "Hertz" :unsigned-long-long) should work 11:35:58 works here 11:36:22 -!- SandGorgon [n=OmNomNom@122.173.247.98] has quit [Read error: 110 (Connection timed out)] 11:36:22 oh ffs, did it with "hertz" not "Hertz" 11:36:41 thx 11:38:43 -!- Adlai [n=adlai@unaffiliated/adlai] has quit [Remote closed the connection] 11:39:02 Adlai [n=adlai@unaffiliated/adlai] has joined #lisp 11:39:55 -!- iwaki [n=hide@PPPa470.osaka.acca.dti.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 11:41:37 Quadre_ [n=quad@24.118.241.200] has joined #lisp 11:41:55 Raulin [n=azaroth@c-282fe655.017-240-6b73641.cust.bredbandsbolaget.se] has joined #lisp 11:42:23 -!- Raulin [n=azaroth@c-282fe655.017-240-6b73641.cust.bredbandsbolaget.se] has left #lisp 11:43:04 solenskiner [n=solenski@c83-252-233-3.bredband.comhem.se] has joined #lisp 11:43:27 hey! how do i get clisp to print result to stdout when called to interpret a file? 11:44:10 <_3b> solenskiner: what did you try so far? 11:44:28 clisp , clisp -x 11:44:51 <_3b> or do you mean print the value returned by a from in the file, without modifying the file? 11:44:56 <_3b> *by a form in the file 11:45:04 solenskiner: using PRINT for example. 11:45:22 cool.. didnt need that in emacs.. kinda new =) 11:45:25 solenskiner: remember that interactively, you have a REPL = read eval PRINT loop 11:45:45 solenskiner: LOAD doesn't print the result of the forms it reads and evaluates. LOAD is a REL. 11:45:46 id rather edit in kate and just eval it when i need to 11:45:53 ok 11:46:04 hi guys, can someone explain me when are macros expanded? is it before my other functions in the same file get loaded? 11:46:12 solenskiner: that's not the most efficient way to do things 11:46:17 kickaha: depends on the implementation. 11:46:25 <_3b> kickaha: they are expanded when they are evaluated, or during compilation 11:46:27 logBot4966 [n=logBot@59.92.147.2] has joined #lisp 11:46:27 iwaki [n=hide@PPPa470.osaka.acca.dti.ne.jp] has joined #lisp 11:46:31 kickaha: if you compile the file, it's while compiling. 11:46:31 michaelw, what is? 11:47:12 <_3b> solenskiner: for best results, you wantto be able to send individual forms from the editor to a running lisp 11:47:23 pjb: i'm running sbcl, i'm trying to load my library as asdf but it complains that during macroexpansion some function is not defined, but the function definition occurs before the macro definition and way before the place where i use that macro 11:47:46 kickaha: it mustn't occur before textually, it must occur before in time. 11:47:47 _3b, hmm.. what do you mean? forms? ive only been at this for a week or so.... 11:48:06 kickaha: use (eval-when (:compile-toplevel) (defun f ...)) (defmacro m () (f ...)) 11:48:28 <_3b> solenskiner: http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_f.htm#form 11:48:40 _3b, thanks, ill check it out 11:48:44 <_3b> solenskiner: generally any chunk of lisp code 11:48:46 or even: (eval-when (:compile-toplevel :load-toplevel :execute) (defun f ...)) to have f also defined at run-time. 11:49:06 -!- Adlai [n=adlai@unaffiliated/adlai] has quit [Remote closed the connection] 11:49:12 pjb: hmmmm, so functions that i use in a macro must either have been declared in another file (as it compiles first) or should be wrapped in an EVAL-WHEN form? 11:49:12 _3b, cool.. well no prob, im just doing reaaaly simple things yet 11:49:19 Adlai [n=adlai@unaffiliated/adlai] has joined #lisp 11:49:23 <_3b> solenskiner: for example it is useful to be able to to redefine a function while your program is running, or load a data set and incrementally process it 11:49:33 kickaha: in another file, if you _load_ that other file in the compiler. 11:49:43 Compiling a file doesn't necessarily load it. 11:49:49 (implementation dependant). 11:49:57 redblue [i=star@ppp068.108-253-207.mtl.mt.videotron.ca] has joined #lisp 11:50:02 bbl 11:50:02 _3b, but how should i change my workflow then? atm im editing in kate, and in the kate console, calling clisp 11:50:11 pjb: thanks for the help 11:50:17 pjb: will try that 11:50:24 <_3b> solenskiner: the usual response would be to switch to slime (and implicitly, emacs) 11:50:32 no wai 11:50:44 <_3b> solenskiner: alternately, you could try to implement something similar for the editor of your choice 11:50:45 emacs has cost me more time then stumbleupon 11:51:42 i wanan put a showel thru RMS... 11:52:22 pjb, print works wonderfully, thanks! 11:52:30 well, there really ain't no alternative. the commercial lisp also have ok editors, but emacs is /the/ lisp environment really. 11:52:42 <_3b> minion: tell solenskiner about lisp videos 11:52:43 solenskiner: look at lisp videos: A topic to collect the various videos of people doing things with lisp. http://www.cliki.net/lisp%20videos 11:53:04 this works ok imo, using kate and clisp 11:53:15 i dotn really see the advantage, not yet atleast 11:53:16 <_3b> solenskiner: you might watch some of the slime videos, and see how the workflow with slime is 11:53:23 and it's painfully shitty in many ways, but you are simly better of learning emacs properly than doing c-style development with something else. 11:54:19 _3b, ill check it out later, i have a big assignment i gotto get done 11:54:23 well, big for me 11:54:29 with 1week experience.. 11:54:30 <_3b> i'd say putting effort into making the slime workflow possible with other editors is as reasonable as putting effort into learning effort... 11:54:38 <_3b> *into learning emacs 11:55:19 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has left #lisp 11:55:20 hypno, why? this works for me? i just type clisp and get what i need 11:55:33 <_3b> solenskiner: it works, but other options would work /better/ :) 11:55:34 ?=. 11:55:39 ah 11:55:45 well im feeling lazy now =) 11:55:56 <_3b> like i said, watch the videos (after your deadline is fine :) 11:56:02 thanks for the help =) i should get back to the assignment 11:56:06 i will 11:56:14 solenskiner: and so you miss out on a /ton/ of things. 11:56:31 like? 11:56:56 i dont need trace, im smart enough.. 11:57:06 ok, fuck it. there is nothing to see there. move on. use kate or whatever else. 11:57:17 :P 11:57:26 sheez. some people. 11:57:31 well 11:57:39 <_3b> solenskiner: same reason you don't use punch cards :) 11:57:39 give me some examples of _why_ i need it 11:57:49 what does it bring, that i need? 11:57:56 interactive development. 11:58:24 you change just a small part of the program, but don't want to recalculate/reread/reprocess data? just slap the changed code into your running Lisp image. 11:58:31 your data is still there for you. 11:58:35 How about that? 11:59:29 kinda nice 11:59:47 nothing i need yet tho, im just doing redicolously small programs atm 11:59:53 <_3b> also things like the slime inspector, you can return an object from a function, then go in and browse the object interactively instead of having to print it out and hope you printed the bit you wanted 12:00:03 thats really nice 12:00:04 <_3b> or the debugger, etc 12:00:06 batch vs. interactive. 12:00:29 hmm 12:00:44 seems like something ill slap into kate later, if i can 12:00:46 Your program is no longer a monolithic blob that runs from start to end. 12:01:07 solenskiner, or, you can try out Slime (emacs), Limp (vim) or Cusp (eclipse) 12:01:23 ah, cusp might be something for me 12:01:52 its not that i dont like cli tools, its that i hate unintiutive tools 12:02:20 C-c C-k why should i have to remember shit like that, i need my memory for important things.. 12:02:52 there is no such thing as intuition when it comes to computers. it's either "you recognize it from past experienc" or "you don't recognize it". While emacs and vim have a higher learning curve than other notepad-style editors, they give you more power when you know them, compared to the other editors that don't get more advanced as you continue to use them. 12:03:28 thats bull 12:03:38 solenskiner, Slime probably (haven't used it) installs menus in Emacs' GUI, so you can go to Slime -> Evaluate expression using your mouse. 12:03:50 it does 12:03:53 for example mv file1 file2 is totally intuitive, as soon as you get that mv is short for move 12:04:21 No. mv also means rename. 12:04:27 that is not very intuitive. 12:04:32 imo it is 12:04:36 <_3b> tcr: also, a quick explanation of why it is required to have a readtable to merge from might be nice 12:04:37 it doesn't mean rename 12:04:39 But it's beside the point. I'm talking about editors and their learning curve. 12:04:43 -!- Quadrescence [n=quad@unaffiliated/quadrescence] has quit [Success] 12:04:51 no, but rename is moving a file from one name to another 12:04:55 so it kinda does 12:05:08 it means move you can just accomplish renaming by moving the file to the same directory with a different name 12:05:10 Yes, but for a new computer user, why would move "intuitively" mean rename? 12:05:28 it does not 12:05:30 OmniMancer, that is not how most people percieve the mv command when first exposed to it. I certainly did not. 12:05:36 it can be used to rename 12:05:39 well we cant design for the common denominator, it would be totally useless 12:05:59 solenskiner: right, fuck C-c C-k. 12:06:03 solenskiner, but that's what you're saying we should do when you bring up the "non-intuitive editors"! 12:06:03 ;) 12:06:10 hmm 12:06:12 bah. troll. 12:06:21 what, because i dont agree? 12:06:27 check you defenition 12:07:15 no? im not saying change the disign, im saying i want to use another way of doing it. and youre all like youll miss out, then i have to drag out what ill miss 12:07:32 fuck, just because im inexperienced, and dont really agree, dosnt mean im dumb and a troll 12:07:57 fuckit 12:07:58 laters 12:08:02 -!- solenskiner [n=solenski@c83-252-233-3.bredband.comhem.se] has quit ["Leaving"] 12:08:03 solenskiner: wait 12:08:04 -!- kpreid [n=kpreid@216-171-189-244.northland.net] has quit [] 12:08:05 hm 12:08:27 the whole point of slime and IDEs in general is, imo, that you have a running image. 12:08:52 fiveop [n=fiveop@e179126238.adsl.alicedsl.de] has joined #lisp 12:08:57 its like smalltalk development? 12:09:01 I think -that- is the important thing to emphasize to people who'd rather use kate or gedit or notepad or ed to work on their Lisp code. 12:10:15 I've never done smalltalk development, but I gather that it's a similar idea 12:12:01 smalltalk is even more image-centric 12:12:34 the smalltalks environments i've seen rules supreme. it's just unfortunate it's not a lisp, heh. 12:13:34 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #lisp 12:13:46 well why can't we make a common lisp that has the IDE built in? 12:14:23 lw and acl has. even ccl, sbcl, cmucl also have, if you count hemlock. 12:14:27 CMUCL and Hemlock 12:14:31 -!- benny [n=benny@i577A1941.versanet.de] has quit [Read error: 113 (No route to host)] 12:14:33 all these lack in the "multimedia" department tho. 12:14:56 getting hemlock to run on sbcl, well, is another thing in its entirety :) 12:15:04 isn't CCL's ide on OSX a bit more advanced than hemlock? 12:15:18 hemlock is? 12:15:39 OmniMancer: hemlock is an emacs clone that's distributed with CMUCL 12:15:50 Adlai: yeah, it's a hemlock with a fair bit of hacking done to it (: 12:15:59 -!- Davidbrcz [n=david@212.198.78.230] has quit [Read error: 145 (Connection timed out)] 12:16:01 not much no, ime. it basically /is/ hemlock, with some extra OSX-ish menu support. 12:16:10 fe[nl]ix: how do you grovel this slot in a structure? char _f[20-2*sizeof(long)-sizeof(int)]; 12:16:15 -!- koning_robot [n=aap@88.159.107.70] has quit [Read error: 60 (Operation timed out)] 12:16:24 do I need to make a cfun sizeof 12:16:49 could a lisp environment be made which works like a smalltalk environment? 12:16:55 btw, does anybody recommend it? my friend that I'm gradually nudging towards CL has an XP/OSX dual boot, and I've been thinking of setting up the CCL IDE for him because he doesn't have a lot of free time to mess with Emacs. (He said that he will if he gets interested enough in CL) 12:17:04 OmniMancer: sure. and that would rock my world. :) 12:18:03 please enlighten the smalltalk-ignorant fool... what's the difference between slime (on a CL that supports all the swank stuff) and a "smalltalk env"? 12:18:06 PissedNumlock: you just add it to the cstruct definition and the groveler will calculate size and offset 12:18:13 um 12:18:35 Adlai a smalltalk env is more like its own OS with its own windowing system than emacs 12:18:45 Adlai: smalltalk environment is sort of like an operating system. graphics and all. everything can be graphically accessed and when code is changed, it automatically starts using the new code 12:19:00 objects are graphical in the sense that you can see and modify their slots "visually" 12:19:03 fe[nl]ix: don't I have to specifiy :count ? 12:19:12 you'd have to see for yourself :) 12:19:15 -!- logBot4966 [n=logBot@59.92.147.2] has quit [Read error: 60 (Operation timed out)] 12:19:35 well the modifying graphically is not necessarily there 12:19:44 yeah, I guess that "you can't imagine it unless you've been there"... that just doesn't sound too far from slime atm (I do see the difference though) 12:20:00 but you have windows and such and an inspector and such 12:20:15 the main thing is that it aleviates the current pain with GUI that lisp has 12:20:46 PissedNumlock: no. the default is :count :auto, which is exactly what you need here 12:21:13 k, thx :) 12:21:44 Adlai go google squeak and look at it 12:22:03 PissedNumlock: that code isn't IP64-safe. 12:22:09 is squeak today's smalltalk? I thought it was like LOGO... 12:22:24 it /is/ a smalltalk runtime 12:22:39 Adlai: you should checkout some of the videos on youtube, etc. squek looks boring, but i think its WV that is very much impressive. you essentially have complete interative worlds you can walk around in. :) 12:22:44 bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has joined #lisp 12:22:50 pkhuong: what code ? 12:23:11 char[20-2*sizeof(long)-sizeof(int)]. 12:24:00 and because it persistes everything there are even objects to share the world with others over a network 12:24:04 Adlai: and the CCL stuff is just great on OS X. very slick CL. 12:24:06 and to share objects 12:24:18 I managed to kill my lispconnection \o/ 12:24:32 hypno: good to know, I'll set it up for my friend when I get the chance. 12:25:36 hefner [n=hefner@ppp-58-9-116-20.revip2.asianet.co.th] has joined #lisp 12:26:19 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 12:28:37 Davidbrcz [n=david@212-198-78-230.rev.numericable.fr] has joined #lisp 12:28:56 Athas` [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 12:30:17 benny [n=benny@i577A1941.versanet.de] has joined #lisp 12:31:25 fe[nl]ix: I manage to get my lispconnection killed everytime I try to grovel sys/sysinfo.h 12:31:29 PissedNumlock pasted "grovel sys/sysinfo.h" at http://paste.lisp.org/display/86602 12:32:05 um 12:33:49 that last field is padding 12:34:13 yes but it's still there 12:34:17 PissedNumlock: you don't need to grovel every struct field. certainly not the padding 12:34:48 well it will matter to size which matters to C arrays of them... 12:35:09 fe[nl]ix: only the slots I'm intrested in? 12:35:14 PissedNumlock: yes 12:35:33 still, do you see why it crashes? 12:35:59 OmniMancer: the groveler calculates the total size regardless of which fields are actually groveled 12:36:28 well if that field crashes it wit will crash regardless 12:36:39 but yea you can ignore padding 12:36:40 nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has joined #lisp 12:37:05 fe[nl]ix: my /usr/include/sys/sysinfo.h does not specify that struct 12:37:21 it uses it and the manpage for sysinfo says that you have to include /sys/sysinfo.h 12:37:44 PissedNumlock: it should be "mem_unit" not "mem-unit" 12:37:48 does it include any files? 12:38:47 PissedNumlock: put the IN-PACKAGE form always on top, and don't use keywords for grovelled foreign types 12:39:20 k 12:39:36 sohail [n=sohail@CPE001839a305c5-CM000a73a081a5.cpe.net.cable.rogers.com] has joined #lisp 12:39:37 and yes OmniMancer found it, gets included in /linux/kernel.h 12:39:49 k thx fe[nl]ix <3 12:40:38 seems to work \o/ 12:43:01 PissedNumlock: and use defcvar for Hertz. CONSTANT works only on macros 12:43:17 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Read error: 110 (Connection timed out)] 12:43:21 -!- Athas` is now known as Athas 12:45:07 -!- OmniMancer [n=OmniManc@122-57-9-204.jetstream.xtra.co.nz] has quit ["Leaving."] 12:46:03 gigamonkey [n=user@adsl-99-155-194-147.dsl.pltn13.sbcglobal.net] has joined #lisp 12:46:13 Morning. 12:46:15 fe[nl]ix: yes, needed to remove that line, was already correct in my code 12:46:16 thx 12:46:24 hi gigamonkey 12:46:52 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit [] 12:47:40 PissedNumlock: I'm working on a better groveler - a C parser and partial evaluator but it's going to take some time to have it working 12:48:00 perhaps by Xmas 12:50:09 nice 12:50:11 SandGorgon [n=OmNomNom@122.173.247.98] has joined #lisp 12:50:29 -!- Davidbrcz [n=david@212-198-78-230.rev.numericable.fr] has quit [Read error: 110 (Connection timed out)] 12:50:35 well I just started with it, was bored and still got 3 weeks until my classes start again 12:50:44 following a Lisp course after doing a project in Lisp this year 12:50:46 yaroslav_h_ [n=yaroslav@79.126.18.39] has joined #lisp 12:50:56 and prolly gonna write a tinyC -> assembler compiler in Lisp as well 12:51:02 so I finally learn some C :x 12:51:57 excellent 12:53:42 -!- yaroslav_h [n=yaroslav@79.126.59.30] has quit [Read error: 145 (Connection timed out)] 12:54:25 -!- yaroslav_h_ is now known as yaroslav_h 13:00:58 -!- sohail [n=sohail@unaffiliated/sohail] has quit ["Leaving."] 13:01:29 coderdad [n=coderdad@ip72-200-214-240.ok.ok.cox.net] has joined #lisp 13:02:47 -!- kickaha [n=user@89.214.46.19] has quit [Remote closed the connection] 13:10:00 -!- yaroslav_h [n=yaroslav@79.126.18.39] has quit [Read error: 148 (No route to host)] 13:10:34 -!- djinni`` [n=djinni`@ludios.net] has quit [Client Quit] 13:10:41 djinni` [n=djinni`@ludios.net] has joined #lisp 13:11:36 In SBCL, what's the easiest way to get it to tell me about what the type inferencer is infering? 13:13:37 gigamonkey: what do you want to know? 13:14:31 Well, at this exact moment I'm wondering if I have a struct defined like (defstruct point (x 0 :type fixnum) (y 0 :type fixnum)) ... 13:14:42 does it know that point-x and point-y return fixnums? 13:14:52 Or do I need to say (the fixnum (point-x p)) ? 13:14:52 kpreid [n=kpreid@cpe-67-249-56-101.twcny.res.rr.com] has joined #lisp 13:15:29 yup, and nope. 13:15:35 (describe 'point-x) 13:16:20 lnostdal: that's what I was looking for. 13:17:18 that's not really inferred though, is it? .. it says "declared" .. to be expected, i guess .. when it infers it'll say "derived" .. i think (?) 13:17:21 Allegro has a nice feature where you can (declare (:explain :types)) and then the compiler tells you all about it's type inference. 13:17:29 its 13:17:50 gigamonkey: that'd be a lot of spewage in SBCL. 13:18:12 As it is in Allegro. But since it's a declaration it's local to the code you care about. 13:19:30 -!- dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has quit [Remote closed the connection] 13:20:04 bgs100 [n=ian@unaffiliated/bgs100] has joined #lisp 13:23:28 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit [Read error: 104 (Connection reset by peer)] 13:23:41 bgs100 [n=ian@unaffiliated/bgs100] has joined #lisp 13:29:12 dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has joined #lisp 13:34:45 I just pulled the latest SBCL, compiled it, and got an error trying to build the docs. 13:35:23 dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 13:35:24 it's not a very descriptive error... 13:36:51 Adlai pasted "sbcl doc build failure" at http://paste.lisp.org/display/86607 13:37:11 sohail [n=sohail@CPE001839a305c5-CM000a73a081a5.cpe.net.cable.rogers.com] has joined #lisp 13:37:18 go for "make html" instead 13:37:34 ..don't need .pdf / .ps and not-what versions of the docs i think .. :) 13:37:52 Adlai: do you have texi2dvi? 13:37:57 (..but if you really want that, i think the error is caused by missing tex packages..) 13:40:15 strange, I do have texi2dvi, and running it just does nothing. 13:41:10 ah, but `echo $?' reveals that it's exiting with code 1. hmm. 13:42:36 p0a [n=user@athedsl-379164.home.otenet.gr] has joined #lisp 13:42:37 *Adlai* tries reinstalling texi stuff 13:42:43 hello is anyone familiar with weitz drakma? 13:43:34 I'm trying (drakma:http-request "http://www.youtube.com/") and I get this from emacs: -uuu:**-F1 *slime-repl sbcl* All L3 (REPL ElDoc)------------------------------------------------------------------------------------------------------------------------------- 13:43:34 yeah, p0a 13:43:36 p0a: yes 13:43:57 jleija [n=jleija@user-24-214-122-46.knology.net] has joined #lisp 13:44:02 Sorry for this mistake. The error is: "Lisp connection closed unexpectedly: connection broken by remote peer" 13:44:05 p0a: that's your emacs modeline, are you sure you pasted the right text? 13:44:07 ah 13:44:59 <_3b> p0a: check *inferior-lisp* 13:45:11 <_3b> p0a: i'm guessing it is encoding problems 13:45:15 i'd check the *inferior-lisp* buffer .. and/or check that stuff (emacs and slime) is "running in utf-8 mode" (setq current-language-environment "UTF-8") (setq slime-net-coding-system 'utf-8-unix) 13:45:55 I'll try that 13:46:01 It is an encoding problem, indeed 13:47:12 lnostdal: I tried shift-M-: and entered those two likes (each executed separately) 13:47:34 it's probably something that needs to be done via .emacs .. on emacs+slime startup that is 13:47:37 the character with code 12465 cannot be encoded. 13:47:40 Okay 13:48:53 lnostdal: thanks! 13:50:27 -!- |stern| is now known as seelenquell 13:50:34 thom_ [n=thom@pool-173-51-164-80.lsanca.fios.verizon.net] has joined #lisp 13:51:52 antgreen [n=user@205.232.189.231] has joined #lisp 13:51:53 anyone knows how to convert a "jiffie" to a normal timeformat? as a jiffie isn't specified 13:52:38 but that's the value I'm getting, the nr of jiffies a certain process started after boottime 13:53:34 PissedNumlock: depends on the timer interrupt. WP says it's 4ms by default. 13:53:36 slackjaw [n=jolyonw@124-168-253-144.dyn.iinet.net.au] has joined #lisp 13:53:38 <_3b> PissedNumlock: don't you just need to divide by Hertz there? 13:53:52 (on linux 2.6.13+) 13:53:56 doesn't work _3b 13:54:10 but: I have found the value in /proc//stats 13:54:19 and according to the manpage it's in jiffies 13:54:21 :/ 13:54:37 as the hertz convertion gives me a date in the future 13:54:52 drewc: Here? 13:55:08 <_3b> what value are you getting for hertz? 13:55:11 60 13:55:32 PissedNumlock: a jiffy should be 1/Hertz, unless your kernel has dynamic ticks enabled, in which case it's useless 13:55:33 <_3b> yeah, that sounds odd, would have guessed 100 13:56:13 _3b: I saw your comment regarding the necessity of having to specify at least one :merge clause; did you have other comments, too, that I perhaps missed? 13:56:24 well fe[nl]ix that's what the source for ps says as well 13:56:35 _3b: Ah right some typos; thanks 13:56:41 sec, preparing a paste 13:57:10 PissedNumlock: Seems to be 100 by default here (2.6/x86-64) too. 13:57:25 _3b: The reason why you have to specify at least one merge clause is because you can't get an empty readtable in portable CL. You usually base your things on (copy-readtable nil) which returns a copy of the standard readtable. 13:57:40 it can be set in the kernel menuconfig. there's no universal one 13:57:41 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 13:57:58 if you have access to kernel's config you can check it out 13:58:16 yes pkhuong thx 13:58:16 pkhuong: where did you find that number out? 13:58:18 100 works fine 13:58:19 <_3b> tcr: yeah, assumed it was something like that 13:58:40 Davidbrcz [n=david@212-198-78-230.rev.numericable.fr] has joined #lisp 13:58:42 guaqua: $LINUX/include/asm/param.h 13:59:03 Is In Lisp function similar to cond, which check all tests? 13:59:16 <_3b> PissedNumlock: did you see http://www.google.com/codesearch/p?hl=en&sa=N&cd=3&ct=rc#XYAbp0OEvxM/proc/sysinfo.c&q=procps-3.2.8&l=93 ? 13:59:17 fair enough, that sounds sane :) 13:59:32 Does drakma actually escape double-quotes? 13:59:33 <_3b> from that comment, it seems like getting it right portably is difficult :p 13:59:35 Ie " -> \" 13:59:59 lol k _3b 14:00:10 I used another hertz apparently 14:00:30 one that was defined as extern in a header in /usr/include/proc 14:00:38 thanks chaps, works lovely 14:00:51 _3b: Actually, I think I'll introduce empty readtables. It just has to loop through all characters and make them constituents once at load-time. 14:02:42 p0a, when viewing the string as a "return value" it'll show " as escaped characters .. (princ "\"hello\") => "hello", "\"hello\"" the first line is standard-output .. the second one is the return value from the princ function call .. maybe that's what's confusing 14:04:07 lnostdal: 'viewing somethign as a return value' is rather meaningless. 14:04:20 p0a, see princ vs. prin1 .. and *print-escape* in the hyperspec 14:04:26 pjb, find a better term then 14:04:28 lnostdal: I understand, thanks 14:04:41 The REPL, will use PRINT to print the results, and will therefore honor the various *print-...* variable that PRINT honors. 14:04:53 Of course that doesn't give an answer to my actuall problem (which I thought drakma caused) 14:04:57 Is it considered okay style to leave the **'s off variables that are only locally declared special? 14:05:00 but I wrote a walk-around 14:05:03 hi, im beginner in lisp, i start with a main.lisp file, now i'm trying put some functions in another file, in the same directory, with (load "file") it dont found, how i must do that, thanks 14:05:25 gigamonkey: that might not do what you expect. 14:05:26 Notably, it binds *print-escape* to true. 14:05:49 pkhuong: depends what I expect I guess. ;-) 14:06:30 Actually I'm looking at someone else's code. My inclination was always to always use **'s but I'm wondering if it matters for names that aren't globally special. 14:06:35 -!- Davidbrcz [n=david@212-198-78-230.rev.numericable.fr] has quit [Read error: 104 (Connection reset by peer)] 14:07:17 With SBCL, using ** will let the compiler know when you expected a special lookup/binding but forgot to (declare special). 14:07:50 That's handy. 14:08:07 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit ["Leaving."] 14:09:12 minion: asdf for salva, please. 14:09:12 salva: direct your attention towards asdf: asdf is Another System Definition Facility. http://www.cliki.net/asdf 14:09:35 ok thanks 14:09:57 salva: Did you try to load the file from the REPL? 14:10:13 no, from the main lisp 14:10:15 -!- sohail [n=sohail@unaffiliated/sohail] has quit ["Leaving."] 14:10:23 salva: "main lisp"? 14:10:42 salva: Oh, you put the load in the mail.lisp file? 14:10:46 is a file 14:10:49 yes 14:11:08 salva: Then, follow the advice of Adlai and minion. 14:11:17 -!- antgreen [n=user@205.232.189.231] has quit [Read error: 110 (Connection timed out)] 14:11:40 ok thanks 14:12:25 -!- p0a [n=user@athedsl-379164.home.otenet.gr] has quit ["leaving"] 14:12:30 r0bby_ [n=wakawaka@guifications/user/r0bby] has joined #lisp 14:12:38 carlocci [n=nes@93.37.221.98] has joined #lisp 14:17:16 *Adlai* finally got tex working again and has shiny new SBCL 1.0.31 docs. 14:17:22 -!- carlocci [n=nes@93.37.221.98] has quit [Read error: 104 (Connection reset by peer)] 14:17:33 yaroslav_h [n=yaroslav@79-126-18-39.dynamic.mts-nn.ru] has joined #lisp 14:20:57 konr|afk [n=konrad@201.82.141.180] has joined #lisp 14:22:50 how can I do this: (defconstant +boottime+ (- (unix-time-now) (uptime))) since your boottime won't change at the start of your program 14:22:54 or should it be a var? 14:23:14 Indeed, the value is not constant, so use defvar. 14:23:35 -!- r0bby [n=wakawaka@guifications/user/r0bby] has quit [Connection timed out] 14:23:35 Constants must be EQL across phases. 14:23:42 do I use the * * convention or the + + 14:23:54 Better *x*. 14:24:02 k, thx 14:24:05 I used +x+ once upon a time, but it's confusing. 14:26:57 blackwolf [n=blackwol@ool-45763541.dyn.optonline.net] has joined #lisp 14:29:43 p0a [n=user@79.131.33.26] has joined #lisp 14:30:01 felideon [n=user@adsl-074-186-235-232.sip.bct.bellsouth.net] has joined #lisp 14:31:08 alinp [n=alinp@89.137.98.94] has joined #lisp 14:31:25 pjb, why? 14:31:30 Hello I'm trying this 14:31:31 CL-USER> (cl-ppcre:scan-to-strings "\"t\": \"(.*)%3D" (drakma:http-request "http://www.youtube.com/watch?v=some-video-id-here")) 14:31:34 "\"t\": \"ck%3D\", \"instream\": 14:31:37 http://paste.lisp.org/display/86609 14:31:46 Sigh, I have problems with my clip-board, sorry 14:32:22 tic: well, mostly because the values don't stay constant for a long time. Constants aren't, variables don't. 14:32:46 tic: So eventually you had to change them and you didn't know that you could change it because of the ++... 14:33:12 It's better to use defvar *x*, and document the purpose of the variable that won't change (often). 14:33:39 pjb, ah, yeah. 14:33:39 Why not use devfar +x+? 14:33:59 'cause earmuffs are the convention for variables and parameters. 14:34:02 p0a: because then you will have a harder time differentiating +x+ and +y+. 14:34:20 I mean the naming convention. If x pretends to be a constant 14:34:51 even though DEFVAR is used instead of DEFCONSTANT, at least name it +x+ instead of *x*? +x+ and +y+ are different symbols, why will I have problem? 14:34:54 It's better to name it *x* and document it. Even if it doesn't change often. 14:35:05 carlocci [n=nes@93.37.221.98] has joined #lisp 14:35:08 ok 14:35:29 Basically, in lisp, constants and defconstant are not equal sets. 14:38:18 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 14:38:58 PissedNumlock, if you're using sbcl and don't care about portability wrt. other lisps there's sb-ext:defglobal .. while not constant, it creates a "normal" global variable (not special or dynamic) 14:39:44 ..and it has "if already bound, don't re-bind" semantics .. like defvar 14:39:46 This is so weird, this bug doesn't reproduce itself under the same conditions 14:39:54 -!- thom_ [n=thom@pool-173-51-164-80.lsanca.fios.verizon.net] has quit ["This computer has gone to sleep"] 14:39:57 On different code 14:40:36 lnostdal: I do care about portability as it has to work on ECL 14:40:37 :) 14:40:41 so (cl-ppcre:scan-to-strings "\"(.*)\"" "foo \"bar\" baz") works fine -- but the same thing just won't work when I use the regex on a page retrieved from the internet 14:40:53 is the cookbook still being maintained or is it dead? 14:42:18 Moe111 [n=Moe111@modemcable067.226-21-96.mc.videotron.ca] has joined #lisp 14:42:48 -!- gigamonkey [n=user@adsl-99-155-194-147.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 14:42:48 -!- Tordek [n=tordek@host237.190-227-37.telecom.net.ar] has quit [Remote closed the connection] 14:42:50 In general, how much code repetition does it take before the "this needs a macro" thought is triggered? 14:43:38 less and less 14:43:56 Moe111: twice should make you realize a macro might be needed, but that doesn't mean every time you encounter the same pattern twice you should use a macro. 14:44:42 Yeah. I'm starting to get it on just twice. I don't know if it's a good reflex when it's that quick. Afterall, you can add as many layers of indirection as you want. 14:44:43 -!- ManateeLazyCat [n=user@119.141.228.206] has quit [Read error: 104 (Connection reset by peer)] 14:44:55 -!- trsh [n=beeb@93-141-16-103.adsl.net.t-com.hr] has quit [Client Quit] 14:45:13 how do you convert a ratio to an integer? 14:45:21 -!- cYmen [n=cymen@squint.a-oben.org] has quit ["leaving"] 14:45:46 Moe111: reflexes probably don't play a part 14:46:15 Except if you mean mental reflexes but I don't even know what that is. I have to go, bye 14:46:16 -!- p0a [n=user@79.131.33.26] has quit ["bye"] 14:46:41 Heh. Right.. 14:46:44 lataer 14:46:45 PissedNumlock: you may use TRUNCATE (or one of its friends). 14:46:48 PissedNumlock: try cl:truncate 14:47:08 thx 14:47:25 oh right, should have known that one :x 14:49:21 mattrepl [n=mattrepl@c-76-104-2-182.hsd1.va.comcast.net] has joined #lisp 14:53:43 Davidbrcz [n=david@212-198-78-230.rev.numericable.fr] has joined #lisp 14:55:09 -!- dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has quit [Remote closed the connection] 14:56:01 koning_robot [n=aap@88.159.107.70] has joined #lisp 14:57:24 -!- alinp [n=alinp@89.137.98.94] has quit [] 15:01:18 -!- blackwolf [n=blackwol@ool-45763541.dyn.optonline.net] has quit [Read error: 104 (Connection reset by peer)] 15:07:12 dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has joined #lisp 15:08:14 -!- felideon [n=user@adsl-074-186-235-232.sip.bct.bellsouth.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 15:10:05 mcspiff [n=user@drmons0501w-142068078072.pppoe-dynamic.ns.aliant.net] has joined #lisp 15:13:07 -!- fiveop [n=fiveop@e179126238.adsl.alicedsl.de] has quit [Read error: 113 (No route to host)] 15:13:26 fiveop [n=fiveop@e179126238.adsl.alicedsl.de] has joined #lisp 15:14:35 jleija_ [n=jleija@user-24-214-122-46.knology.net] has joined #lisp 15:14:48 -!- jleija_ [n=jleija@user-24-214-122-46.knology.net] has quit [Client Quit] 15:16:41 Moe111: Code repetition is not a good indicator for the necessity of a macro; abstraction is. 15:17:09 -!- slackjaw [n=jolyonw@124-168-253-144.dyn.iinet.net.au] has quit ["Computer goes to sleep!"] 15:18:05 functions are as good for dealing with code repetition 15:18:15 In particular, macros which merely abbreviate one, or two expressions, are usually not really abstractions. 15:18:39 jleija_ [n=jleija@user-24-214-122-46.knology.net] has joined #lisp 15:18:47 tcr: so you think it's better to have 4 functions which are very similar looking, then have 1 macro and 4 different looking functions? 15:18:48 -!- jleija_ [n=jleija@user-24-214-122-46.knology.net] has quit [Client Quit] 15:19:05 I'm in a situation where that's the case, and I don't think I'll ever use more then 4, at most 5 functions 15:19:07 <_3b> Moe111: depends on the functions and the macro 15:19:11 Moe111: It's better to base the 4 function on top of a more general higher-order function 15:19:40 Moe111: Just paste a description of what you have, and your macro solution 15:19:53 cmm [n=cmm@bzq-82-81-26-88.red.bezeqint.net] has joined #lisp 15:20:11 Davidbrcz_ [n=david@212-198-78-230.rev.numericable.fr] has joined #lisp 15:20:48 -!- Davidbrcz [n=david@212-198-78-230.rev.numericable.fr] has quit [Read error: 110 (Connection timed out)] 15:22:09 Moe111 pasted "title" at http://paste.lisp.org/display/86612 15:23:28 That's one function, where are the similiar ones? 15:23:37 coming =) 15:24:12 Moe111 pasted "untitled" at http://paste.lisp.org/display/86613 15:24:28 You can annotate pastes, Moe111 15:24:29 How can I read first letter from string like: "Test" => "T" ? 15:24:42 mrSpec: strings are vectors of characters. 15:24:42 mrSpec: (char string 0) 15:25:03 thanks :) 15:25:47 dreish [n=dreish@minus.dreish.org] has joined #lisp 15:26:01 tcr: I'll annotate next time. So you see how similar or dissimilar they are? 15:26:41 mrSpec: first character would be #\T, not "T" 15:26:56 the thing is, I will only have at most 4 or 5 contact form style pages per site. 15:27:04 Yeah, I see it. It is ok. 15:27:39 Moe111: Try to refactor common code in small functions 15:28:40 Moe111: For example, I'd move both case statements to toplevel functions 15:30:23 gigamonkey [n=user@adsl-99-155-194-147.dsl.pltn13.sbcglobal.net] has joined #lisp 15:31:26 aright. gotta run 15:31:33 -!- Moe111 [n=Moe111@modemcable067.226-21-96.mc.videotron.ca] has quit [] 15:32:22 -!- cmm- [n=cmm@bzq-82-81-48-122.red.bezeqint.net] has quit [Read error: 110 (Connection timed out)] 15:33:27 So I'm trying to think of a good reason to use locally declared special variables and not having a lot of success. 15:33:37 As opposed to globally special. 15:33:39 _3b: You told to replace "at one sight" with "at one site", but I won't to say "with one glance" 15:33:57 _3b: s/won't/want/ 15:34:08 <_3b> tcr: ah, wasn't sure which you meant 15:34:09 tcr: "at first sight" ? 15:34:59 I missed the context but I think that's the idiom you're looking for. 15:35:14 <_3b> though i'm not sure that really works there 15:35:27 gigamonkey: That's not it, because that would imply easyness I don't want to express. I want to say that it's all at one site, so you have everything at your eyes 15:35:52 <_3b> how about 'at once'? that covers both meanings 15:35:59 In German we say "auf einen Blick" which would literally translate to something like "at one sight", but my mind probably played a trick on me confusing it with "at one site" 15:36:28 gigamonkey: Re. local specials; think of hooks into some system you don't have control of. 15:36:47 -!- sciendan [n=dan@69.250.212.245] has quit [Read error: 60 (Operation timed out)] 15:36:50 gigamonkey: To communicate from one hook with a later hook, you can use local specials 15:37:14 xan [n=xan@cs78225040.pp.htv.fi] has joined #lisp 15:37:28 I use local specials in that case to communicate tight coupling to the reader 15:38:08 Whereas if you defvar'd your special variable it might imply it really is "global"? 15:38:52 saikat_ [n=saikat@c-98-210-13-214.hsd1.ca.comcast.net] has joined #lisp 15:38:58 Yeah. I often to something like (let ((.foo. ....)) (declare (special .foo.)) ;; tightly coupled with OTHER-HOOK 15:38:58 tcr: a screenful? 15:39:16 Pardon? 15:39:34 But really there's no difference between having a DEFVAR'd variable *my-private-kludge* which is only used in a couple places vs. one that you locally declare special everywhere you use it. 15:39:41 -!- raptelan [n=Casey@c-68-49-132-34.hsd1.md.comcast.net] has quit [Remote closed the connection] 15:40:28 OmniMancer [n=OmniManc@122-57-9-204.jetstream.xtra.co.nz] has joined #lisp 15:40:39 tcr: back to your idiom, you might say "can take in at a glance" 15:41:02 It has the disadvantage that M-. won't work on the variable name, and in particular, it won't bring you to a definition with a docstring attached 15:41:18 tcr: Maybe you could it that word. It's a fairly obscure expression (I think I've only seen it used by old school forth and lisp users); merriam webster defines it as " the amount of information visible at one time on a display screen". 15:41:48 "screenful" is obscure? 15:42:21 Wouldn't have thought so! Obviously, I frequent the wrong circles! :) 15:42:23 tcr: Right. So maybe for kludges like that *better* to use a DEFVAR'd variable so you have a good place to put your comment about what the heck is going on. 15:42:50 I don't find screenful obscure either. 15:43:01 -!- stassats [n=stassats@wikipedia/stassats] has quit [Remote closed the connection] 15:43:06 gigamonkey: That said, I only use local special if the references are all within the same file. 15:43:16 if I used it with non-technical people, they'd probably think I invented the word. 15:43:44 pkhuong: "non-technical" as in, don't write code or "don't ever look at a computer screen"? 15:44:05 gigamonkey: the former. 15:45:00 pkhuong: weird. I wouldn't expect such folks to have any trouble with it. 15:45:42 Good you write tech books! 15:45:44 My girlfriend understood the meaning, but she'd never heard it before. 15:46:10 Perhaps there's a market for geek roman novels? 15:46:17 romantic 15:46:30 "A screenful of love" 15:46:42 Merriam-Webster has it, dated 1966. 15:46:58 *_3b* would have assumed tacking '-ful' onto things was generic enough for it not to matter 15:52:31 pkhuong: I recently thought about extending CL's type system not only with the possibility of saying that a function signals an error (return type NIL; actually that means more, though), but also specifying what error condition. So SBCL could try to lexically maintain where conditions are handles, and avoid searching for a handler at run-time. 15:52:40 (google suggests screenful is 1/10th as common as frob, and twice as much as frobnicate ;) 15:54:02 -!- Davidbrcz_ [n=david@212-198-78-230.rev.numericable.fr] has quit [Remote closed the connection] 15:54:02 tcr: where would that be useful? 15:54:45 i thought the web usability people used screenfuls? 15:55:05 pkhuong: Using handler-bind and restarts as some kind of coroutine functionality 15:56:40 You need an explicit inversion of control somewhere anyway; why can't you just call the consumer instead of signaling? 15:57:01 I specialize in English but I missed the question. 15:57:22 From the context it looks like, "At a glance" is what was meant. 15:57:51 I don't see why one would go through the condition system to get dynamic binding of functions. 15:58:14 -!- bps [i=alvin@u.NF] has quit [Remote closed the connection] 15:58:19 It's what's there :) 15:58:55 -!- benny [n=benny@i577A1941.versanet.de] has quit ["rcirc on GNU Emacs 23.1.50.1"] 15:59:08 I always have a bad feeling using signals because of the costs associated with it. 15:59:15 Dynamic binding and first-class functions are also here. 15:59:33 I.e. using signals for more than exception handling 16:00:25 -!- mcspiff [n=user@drmons0501w-142068078072.pppoe-dynamic.ns.aliant.net] has quit [Remote closed the connection] 16:00:29 yes, bind a special variable to a function and you're much better off 16:00:56 especially if you don't control /all/ the layers of code between where the condition will be signaled and where you intend to handle it 16:00:59 I'm not certain you should. It feels like a C++ish hack to me considering we have first-class functions and return-from/throw/go. 16:00:59 Oh I wasn't implying I'd do that. Just thinking 16:01:06 people install T condition handlers, you know (: 16:02:18 What is done at a throw? 16:03:05 The condition system is just sugar on top of them anyway 16:05:47 Azag [n=azag@pc-129-158-120-200.cm.vtr.net] has joined #lisp 16:05:50 hi 16:06:08 hi 16:06:09 how I comment multi-line in lisp? 16:06:29 #|... |#? 16:06:32 <_3b> Azag: #+(or) or #| |# 16:07:05 Better use #|| .. ||#; emacs can deal with that better 16:07:15 won't the first way only work on one line? 16:07:28 <_3b> #+(or) works on 1 form 16:07:48 in this way: 16:07:56 #|| lol 16:08:00 test 16:08:01 code 16:08:04 #|| 16:08:05 ? 16:08:26 um last one must be ||# 16:08:27 tcr: scan the stack for the catch block, then scan the stack for unwind handlers. For each unwind handler, jump to it with the unwind block in a register. 16:08:37 OmniMancer: ok 16:08:38 testing 16:09:18 I think don't work in .emacs :S 16:09:32 -!- carrl [n=carl@61-64-164-206-adsl-tai.STATIC.so-net.net.tw] has quit [Remote closed the connection] 16:09:39 _3b: won't the first way also only work on valid lisp? 16:09:43 carrl [n=carl@61-64-164-206-adsl-tai.STATIC.so-net.net.tw] has joined #lisp 16:09:53 <_3b> this channel is mainly about common lisp, #emacs knows more about elisp 16:10:06 ok 16:10:08 thanks 16:10:15 <_3b> OmniMancer: possibly, but why would you want invalid lisp? :) 16:10:31 stassats [n=stassats@wikipedia/stassats] has joined #lisp 16:10:35 because comments can be in english? 16:11:26 <_3b> ah, right... i usually use ;;; for that :) 16:11:50 tcr: A catch block is special because it also reset SP. It's not the actual control stack that's scanned (the blocks *are* allocated there), but an intrusive linked list in the blocks. Special variables point to the topmost blocks. 16:12:41 Jabberwockey [n=jens@84.46.79.41] has joined #lisp 16:13:45 benny [n=benny@i577A1941.versanet.de] has joined #lisp 16:15:16 -!- vyazovoi [n=vyazovoi@horrible-unlim.vpn.mgn.ru] has quit [Remote closed the connection] 16:15:53 -!- Azag [n=azag@pc-129-158-120-200.cm.vtr.net] has quit [Remote closed the connection] 16:17:36 mcspiff [n=user@drmons0501w-142068078072.pppoe-dynamic.ns.aliant.net] has joined #lisp 16:18:24 trsh [n=beeb@78.0.252.136] has joined #lisp 16:19:35 dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has joined #lisp 16:28:55 *tcr* hates S11... nickname, can't remember the bitmuster 16:29:32 -!- OmniMancer [n=OmniManc@122-57-9-204.jetstream.xtra.co.nz] has quit [Read error: 54 (Connection reset by peer)] 16:30:54 OmniMancer [n=OmniManc@122-57-9-204.jetstream.xtra.co.nz] has joined #lisp 16:34:00 tcr: SÉ 16:34:39 -!- mcspiff [n=user@drmons0501w-142068078072.pppoe-dynamic.ns.aliant.net] has quit [Remote closed the connection] 16:36:16 Davse_Bamse [n=davse@4306ds4-soeb.0.fullrate.dk] has joined #lisp 16:36:35 GreatPatham [n=dan@c-24-19-169-87.hsd1.wa.comcast.net] has joined #lisp 16:37:25 is it possible to serialise a function? 16:38:14 How general do you mean that question? 16:38:51 take function and put it into a stream in a form that can be retrieved again 16:39:43 sure. read/write-consistency is very important in CL. 16:40:55 coliv [n=Coliveir@c-69-248-128-195.hsd1.nj.comcast.net] has joined #lisp 16:41:14 however printing a function yields # 16:41:19 mcspiff [n=user@drmons0501w-142068078072.pppoe-dynamic.ns.aliant.net] has joined #lisp 16:41:31 for a stupid example: (read-from-string "(+ 2 3)"), which doesn't read from a stream, but could be made to do. 16:41:38 -!- coliv [n=Coliveir@c-69-248-128-195.hsd1.nj.comcast.net] has quit [Client Quit] 16:41:48 that is certainly not readable into the same object 16:41:58 I know how read works 16:42:17 and don't forget environment 16:42:50 you want to serialize the function object? hmm, well, that ought to be possible too. 16:43:16 or even just access the original source for the same effect 16:45:21 -!- Symmetry- [n=thezog@host-static-92-114-165-252.moldtelecom.md] has quit [Read error: 110 (Connection timed out)] 16:49:43 -!- rread [n=rread@nat/sun/x-cbzrlpsdkiduuzpu] has quit [Read error: 104 (Connection reset by peer)] 16:53:42 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 16:56:16 -!- benny [n=benny@i577A1941.versanet.de] has quit [Read error: 113 (No route to host)] 16:56:58 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 16:57:25 rread [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has joined #lisp 16:59:01 clhs function-lambda-expression 16:59:01 http://www.lispworks.com/reference/HyperSpec/Body/f_fn_lam.htm 16:59:22 -!- mcspiff [n=user@drmons0501w-142068078072.pppoe-dynamic.ns.aliant.net] has quit [Remote closed the connection] 16:59:24 mcspiff [n=user@drmons0501w-142068078072.pppoe-dynamic.ns.aliant.net] has joined #lisp 17:03:15 -!- Quadre_ is now known as Quadrescence 17:04:56 spilman [n=spilman@ARennes-552-1-1-48.w90-59.abo.wanadoo.fr] has joined #lisp 17:08:56 -!- bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has quit [Remote closed the connection] 17:09:34 -!- mattrepl [n=mattrepl@c-76-104-2-182.hsd1.va.comcast.net] has quit [] 17:12:25 question: is there a function that can take a function name and return the defun sexp, like macroexpand does for macros? 17:12:49 boyscared: eh? That's not what macroexpand does. 17:13:24 i wanted to send the code defining the function to pprint, to look at it 17:15:02 boyscared: You're doing it wrong. :) Have an emacs buffer open with your definitions, and then load/reload them into your image peu a peu 17:15:19 C-c C-c will do that in Slime 17:15:47 boyscared: there's FUNCTION-LAMBDA-EXPRESSION, but it's not required actually to return anything 17:15:52 what you really want is M-. 17:16:18 benny [n=benny@i577A1941.versanet.de] has joined #lisp 17:16:46 yeah, i could do that. just wondered if there was a way to output previously defined functions from the repl without loading the file 17:17:55 boyscared: M-. on a symbol name will automatically open the file and bring your cursor to its definition. 17:18:09 -!- nullman [n=nullman@c-75-73-150-26.hsd1.mn.comcast.net] has quit ["leaving"] 17:18:28 sort of unfortunate that CL is file-centric in this regard. with a complete system environment, why not save the code there too? 17:18:36 ie, smalltalk-style. 17:18:55 addled_ [n=adl@77.208.196.21] has joined #lisp 17:20:00 Because you then have nightmares like CMUCL's bootstrap procedure, or smalltalk images weighted down by unused 30 year old code. 17:20:01 nullman [n=nullman@75.73.150.26] has joined #lisp 17:20:02 smalltalk-style doesn't improve interactions at all, files i can read with a simple editor 17:20:56 -!- iwaki [n=hide@PPPa470.osaka.acca.dti.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 17:21:02 _mfm_ [n=mfm@c-98-239-97-203.hsd1.ca.comcast.net] has joined #lisp 17:21:34 ah, well, it doesn't have to be to the exclusion of files, of course. 17:22:00 so, that's unjustified added complexity 17:22:42 how can I do a bit-wise and on a hex value in CL? In perl I'd do something like: if (0x4000 & bit_mask) { ... 17:22:44 but it /would/ be cool query the system about function defintions, etc. other types of code-metada could be added as well, version information for example, hash sums, etc. 17:23:02 I found bit-and in CLHS, but it's barfing on my hex value... 17:23:05 hypno: well, you can do that right now 17:23:11 -!- redblue [i=star@ppp068.108-253-207.mtl.mt.videotron.ca] has quit [Read error: 110 (Connection timed out)] 17:23:21 <_3b> clhs logand 17:23:21 http://www.lispworks.com/reference/HyperSpec/Body/f_logand.htm 17:23:23 stassats: you mean with packages or what?/how? 17:23:30 with slime 17:23:37 _3b: ah.. ok, thanks, I'll have a look 17:23:48 <_3b> (though values aren't 'hex' in CL) 17:26:11 what's the best way to do something when a condition is signaled but let it continue onwards? 17:26:46 I know that I can put the code in a handler-bind function and return, but that doesn't feel right because that's "declining to handle" the condition. Is there a better way? 17:26:49 stassats: actually, with the MOP it ought to be possible to add versioning to generic functions and method, right? 17:27:00 Adlai: No that's exactly what you want to do 17:27:23 ok, thanks. 17:31:42 <_3b> hmm, is SETF LOGBITP specified to work somewhere? 17:32:09 Has anyone got trivial-without-package-locks ? 17:32:36 (Didn't want to imply it's there) 17:33:28 _3b: don't think so; dbp? 17:35:52 <_3b> pkhuong: ok, must have misremembered, or gotten confused by implementation specific behavior then 17:36:13 *_3b* won't bother suggesting that option in that case :) 17:36:18 -!- fiveop [n=fiveop@e179126238.adsl.alicedsl.de] has quit [Read error: 113 (No route to host)] 17:36:21 Davidbrcz [n=david@212-198-78-230.rev.numericable.fr] has joined #lisp 17:38:37 "dbp"? 17:38:48 <_3b> clhs dpb 17:38:48 http://www.lispworks.com/reference/HyperSpec/Body/f_dpb.htm 17:39:10 <_3b> (at least that is how i read it) 17:39:22 oh, I thought that was in answer to your question. heh. 17:39:28 err, to tcr's question. 17:40:05 _3b: right, dpb. 17:40:44 *_3b* likes setf logbitp though, aside from apparently not being portable 17:40:52 -!- Geralt [n=Geralt@unaffiliated/thegeralt] has quit [Connection timed out] 17:41:40 *_3b* votes for including it into cltl3 17:42:17 Geralt [n=Geralt@p5B32EEEB.dip.t-dialin.net] has joined #lisp 17:42:27 -!- GreatPatham [n=dan@c-24-19-169-87.hsd1.wa.comcast.net] has quit [] 17:43:22 loxs [n=loxs@78.90.124.182] has joined #lisp 17:48:14 -!- rstandy [n=rastandy@net-93-144-5-239.t2.dsl.vodafone.it] has quit [Read error: 110 (Connection timed out)] 17:50:01 Symmetry- [n=thezog@host-static-92-114-165-252.moldtelecom.md] has joined #lisp 17:50:27 -!- Davidbrcz [n=david@212-198-78-230.rev.numericable.fr] has quit [Client Quit] 17:59:37 letexpx [n=letexpx@abo-223-141-68.bdx.modulonet.fr] has joined #lisp 18:00:26 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 18:03:07 sbahra [n=sbahra@c-68-34-110-14.hsd1.dc.comcast.net] has joined #lisp 18:03:43 merus [n=merus@c-67-175-45-120.hsd1.in.comcast.net] has joined #lisp 18:05:54 thom_ [n=thom@pool-173-51-164-80.lsanca.fios.verizon.net] has joined #lisp 18:08:36 ManateeLazyCat [n=user@119.141.228.206] has joined #lisp 18:09:47 -!- mcspiff [n=user@drmons0501w-142068078072.pppoe-dynamic.ns.aliant.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 18:10:01 mcspiff [n=user@drmons0501w-142068078072.pppoe-dynamic.ns.aliant.net] has joined #lisp 18:15:45 -!- jleija [n=jleija@user-24-214-122-46.knology.net] has quit ["leaving"] 18:16:19 Davidbrcz [n=david@212-198-78-230.rev.numericable.fr] has joined #lisp 18:16:29 bytecolor [n=user@32.154.94.121] has joined #lisp 18:17:03 anyone know what I have to do to sbcl asdf on windows to get it to work correctly 18:17:27 doesn't it work correctly? 18:18:03 i.e. to avoid (require 'asdf) (use-package 'asdf) (load #P"asdfilehere") (asdf:operate 'asdf:load-op 'systemname) ? 18:19:10 push your directory into central registry? 18:19:41 it has to do with link following not working properly on windows 18:21:32 gigamonk` [n=user@adsl-99-35-218-72.dsl.pltn13.sbcglobal.net] has joined #lisp 18:21:42 why does (require 'cl-ppcre) fail if I compile a file with that statement in it, but it works from the repl? 18:22:18 redline6561 [n=redline@c-66-56-16-250.hsd1.ga.comcast.net] has joined #lisp 18:22:26 package "CL-PPCRE" not found, while compiling 18:22:58 because (require 'cl-ppcre) isn't run at compile time 18:23:46 hypno: you can see how source code in the image feels with pjb's IBCL 18:24:30 stassats: hrm, so what is the correct way to use that package from my compiled file? 18:24:30 Quick and stupid question, I've written an sbcl shebang-style script. It has some requires at the top that error out. i.e. "Don't know how to REQUIRE SPLIT-SEQUENCE". Why is that? 18:24:33 -!- Davidbrcz [n=david@212-198-78-230.rev.numericable.fr] has quit [Client Quit] 18:24:50 bytecolor: write your own .asd, which depends on cl-ppcre 18:24:59 Will asdf:load-op help? 18:25:40 redline6561: did you require asdf? 18:25:55 redline6561: it's probably less hassle to just dump an image which contains all dependencies 18:26:28 michaelw:fair enough but I'm not sure my code will work. willing to paste... 18:26:35 stassats: no. will give that a try. :) thanks. 18:26:35 bytecolor: alternatively, if you don't want to, (eval-when (:compile-toplevel :load-toplevel :execute) (require 'asdf) (require 'cl-ppcre)) 18:26:49 PissedNumlock: (values (truncate 3 2)) returns only the primary values, no need to use mv-bind 18:27:05 So I updated named-readtables to allow for empty readtables: http://common-lisp.net/~trittweiler/named-readtables.html 18:27:17 -!- thom_ [n=thom@pool-173-51-164-80.lsanca.fios.verizon.net] has quit ["This computer has gone to sleep"] 18:27:18 redline6561: develop on the repl until it works :) 18:27:22 stassats: BRILLIANT! That did the trick. Thanks. 18:27:28 michaelw: Yes, sir. 18:28:20 what happens if you have an empty read table? 18:28:34 redline6561: I didn't mean to sound patronizing 18:29:04 oh thx michaelw :) 18:29:09 jeej, someone read my code :p 18:29:13 hmm, baby monitor disrupts WLAN... I knew this would happen :-/ 18:29:18 OmniMancer: Everything is read in as symbols. Whitespace is still whitespace. 18:29:19 (setq *readtable* nil) ; and find out ;) 18:29:41 michaelw: Just being playful. Wasn't offended. It's a pleasant saturday here. 18:30:22 PissedNumlock: also, *boottime* should probably be a function instead 18:30:39 (let ((*readtable* (named-readtables:find-readtable :empty))) (read-from-string "(foo;;bar)")) ==> |(FOO;;BAR)| 18:30:48 well I could create a private variable and make boottime a function 18:30:51 Last question, though --script is being passed the compiler output is still being shown (style-warnings, compilation unit finished, etc). Can I suppress this somehow? 18:31:10 so it's more like (uptime) 18:31:32 PissedNumlock: what would you store in the private variable? 18:31:41 your boottime... :p 18:31:49 as it doesn't change throughout your application 18:32:42 PissedNumlock: consider me loading your code, dumping an image, rebooting, reloading the image 18:33:03 k, point taken, havent thought about that 18:33:19 tcr: nice stuff. 18:33:25 -!- ia [n=ia@89.169.161.244] has quit [Client Quit] 18:33:27 redline6561: I think that should be addressed in SBCL's manual (it isn't.) Can I beg you to write about this to the mailing list? 18:33:50 michaelw: heh, cool. 18:34:23 tcr: have you got the SLIME side stuff working as well? :-) 18:34:39 I'll update the code but I'm prolly moving to common-lisp.net and use that as my main repo instead of source forge 18:34:40 -!- wlr [n=walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Remote closed the connection] 18:34:51 thx michaelw for the comments, as a newbie I appreciate it :) 18:34:55 schoppenhauer [n=css@unaffiliated/schoppenhauer] has joined #lisp 18:35:08 tcr: Yes...but I have to go get groceries for dinner in a minute so no promises on when that mail arrives. 18:35:22 clhs *compile-print* 18:35:23 http://www.lispworks.com/reference/HyperSpec/Body/v_cmp_pr.htm 18:35:26 luis: Yes, I hacked that in at work, but that tree diverged from current HEAD quite a bit, and I haven't had time to merge. 18:35:27 clhs *compile-verbose* 18:35:27 http://www.lispworks.com/reference/HyperSpec/Body/v_cmp_pr.htm 18:36:14 -!- gigamonkey [n=user@adsl-99-155-194-147.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 18:36:57 Goal is that C-c C-c will work on (in-readtable clpython:python-syntax) \n def foo(x): \n return x*x 18:36:59 tcr: wouldn't one or both of the variables squelch sbcl? 18:37:11 tcr: Also, will play with options described on man page a minute to see if that helps. michaelw: If that was addressed at me, good pointer. Thanks. 18:37:12 kejsaren_ [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 18:37:39 -!- thom_logn [n=thom@pool-173-51-164-80.lsanca.fios.verizon.net] has quit ["This computer has gone to sleep"] 18:37:40 michaelw: Perhaps. But I think it's a common request and should hence be explicitly told on http://www.sbcl.org/manual/Shebang-Scripts.html#Shebang-Scripts 18:37:54 wlr [n=walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 18:37:57 -!- letexpx [n=letexpx@abo-223-141-68.bdx.modulonet.fr] has quit [Client Quit] 18:38:04 tcr: fair enough 18:38:28 redline6561: If you find it out, consider contributing a patch for the manual! 18:39:04 tcr: is it easy to hook, e.g., clpython's cl-yacc parser with the readtable stuff? 18:39:07 tcr: Will do. 18:39:37 luis: clpython uses a readtable to parse python code already 18:39:54 Oh, I didn't know that. 18:40:08 luis: It sets every character to a parsing function (which builts on yacc) 18:40:17 it simply dispatches evetyhing to the parser :P 18:40:27 The difficult thing is to make Slime get the toplevel form right 18:41:43 if you take unicode into account doesn't that make for a huge readtable? 18:41:57 It doesn't :) 18:42:04 -!- redline6561 [n=redline@c-66-56-16-250.hsd1.ga.comcast.net] has quit ["Leaving."] 18:42:06 (it doesn't take it into account) 18:43:16 metawilm is a rather practical guy, doesn't shy from not-the-perfectly-right thing if it results in gettings something today rather than tomorrow. 18:43:44 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 18:44:39 slash_ [n=Unknown@p5DD1C97D.dip.t-dialin.net] has joined #lisp 18:44:42 ia [n=ia@89.169.161.244] has joined #lisp 18:45:00 And, of course, only the first character of a toplevel form matters :) 18:45:12 after that it dispatched to the parser anyway 18:50:20 what do I have to give when ppl ask for your gpg key? I just generated a gpg key but no clue what I have to give 18:51:51 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 18:52:22 gpg -a --export ? 18:53:25 oh yes, that looks good 18:56:39 -!- yaroslav_h [n=yaroslav@79-126-18-39.dynamic.mts-nn.ru] has quit [Read error: 60 (Operation timed out)] 18:57:51 -!- slyrus_ [n=slyrus@adsl-75-52-254-152.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 18:58:14 sciendan [n=dan@69.250.212.245] has joined #lisp 19:00:16 iwaki [n=hide@PPPa470.osaka.acca.dti.ne.jp] has joined #lisp 19:00:39 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 19:04:01 *sigh* .. i'm so tired of CSS .. i've heard about vecto, cl-vector and zpb-ttf and stuff and maybe i could use those to generate parts of the UI on the server end and output pngs (cached ones..) and combine those with imagemaps to hook things up wrt. events .. but anything combining FFI and threads is scary .. are these libraries "pure" CL libraries? .. this might be a dumb idea anyway though; don't know .. :/ 19:04:47 that would be an even bigger nightmare, imo 19:04:48 who plays counterstrike source anyways 19:04:52 *drumroll* 19:04:55 it'd never look the same between browsers. 19:05:33 -!- kejsaren_ [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 19:05:34 oh, you mean one huge flat canvas image? 19:05:43 I am searching for lisp based open source softwares (not libraries). Searched sf.net and freshmeat but both throw libraries. Any such list available 19:06:17 no_mind: cliki.net and c-l.net 19:06:37 perhaps combine a bit, Fade .. CSS can position things on a pixel perfect basis 19:06:53 (i mean combine these "canvas"-like things with normal html-content) 19:07:03 ..and it has layers .. z-index 19:07:07 well, you'd give up a hell of a lot of flexibility. 19:07:12 ..i hope (IE .. curse you) 19:07:20 lnostdal: hmm. why scary? CCL has been working solidly for me, and SBCL should work too with threading these days, no? i wouldn't switch away from CSS tho. 19:07:33 does ie handle png natively now? 19:07:35 hypno: except on FreeBSD 19:07:49 tagac [n=user@239.36.221.87.dynamic.jazztel.es] has joined #lisp 19:07:49 hypno, yes, i'm ok with threads on the lisp end .. just wondering if these libraries dive into FFI land and C libraries 19:08:06 cschreiner [n=cp@cm-84.209.69.164.getinternet.no] has joined #lisp 19:08:20 could just check their .asd-files i guess .. (look for cffi :P) 19:08:27 PissedNumlock: i've yet to have a crash with CCL on either FreeBSD or OS X or windows. have you? 19:09:01 I don't use CCL 19:09:06 i like clozure, although its MOP is a bit weird. 19:09:18 but I have tried to compile SBCL with threadingsupport under FreeBSD 19:09:21 i've actually been torturing CCL a lot with multiple threads, OpenGL-ffi:ing, etc and i'm nothing but resoundingly impressed. :D 19:09:33 and they say it is "beta" and I believe em as it doesn't compile :p 19:09:35 it's very solid. 19:09:45 plus, threading on ppc. :D 19:12:19 Fade: threading on everything* 19:12:39 yeah, well, i came to ccl through my ppc mac. 19:13:34 iwaki1 [n=hide@PPPa13.osaka.acca.dti.ne.jp] has joined #lisp 19:14:02 does common lisp require special calling conventions usually? 19:14:09 eh? 19:14:15 what do you mean? :\ 19:14:44 in compiled code 19:15:09 or to be efficient? 19:15:14 that's probably implementation-dependent. 19:15:28 :\ 19:15:30 cl doesn't dictate how compiled code should look 19:15:50 does it even state code should be compiled? 19:15:50 -!- envi^home [n=envi@220.121.234.156] has quit ["Leaving"] 19:15:55 yes 19:15:59 no 19:16:02 no? 19:16:05 afaik you can just interprete it as well 19:16:20 it requires that implementations be able to compile, though. I guess I misread. 19:16:43 *PissedNumlock* digs into his Steele copy 19:16:45 I thought it was "you must optionally provide a certain amount of compilation, but you don't necessarily have to allow simple interpretation"? 19:16:50 sykopomp: it only specifies what effects compiling should have 19:17:01 ah, yes, minimal compilation 19:18:01 you need to have a compule function 19:18:11 and compile-file etc 19:18:27 but they can just interpret if desired :P 19:18:36 that's another matter :) 19:18:52 I mean are special calling conventions usually used by implementations? 19:19:27 By implementations targeting machine code, yes 19:19:28 if a function is of type type compiled-function then all macro's blabla have been expanded 19:19:40 and some other constraints as well 19:19:45 -!- ausente is now known as tio_da_cerveja 19:19:55 lnostdal: Xach's stuff is native lisp 19:19:58 clhs 3.2.2.2 19:19:59 http://www.lispworks.com/reference/HyperSpec/Body/03_bbb.htm 19:20:18 lnostdal: well, the stuff you asked for, anyway 19:20:36 Davidbrcz [n=david@212-198-78-230.rev.numericable.fr] has joined #lisp 19:20:43 -!- Davidbrcz [n=david@212-198-78-230.rev.numericable.fr] has quit [Connection reset by peer] 19:20:52 michaelw, ok, just found the git repositories .. giving it a spin now :) 19:21:03 -!- datou [n=datou@124.205.137.170] has quit [Read error: 60 (Operation timed out)] 19:21:24 let's compile lisp into java, and interpret java with common lisp 19:21:35 erm wait, that's a slight circular dependecny 19:21:59 minion: abcl? 19:22:01 abcl: ABCL is either Armed Bear Lisp or a family of languages for distributed programming by Akinori Yonezawa. http://www.cliki.net/abcl 19:22:05 myrkraverk: ABCL 19:22:07 bah 19:22:28 ;) 19:23:13 does it have bcpl? 19:23:34 -!- mcspiff [n=user@drmons0501w-142068078072.pppoe-dynamic.ns.aliant.net] has quit [Remote closed the connection] 19:23:56 the right of people to keep and arm bears shall not be infringed!! 19:25:02 ;-D 19:25:37 we need all processors to be lisp machines that run common lisp :D 19:26:16 -!- ManateeLazyCat [n=user@119.141.228.206] has quit [Remote closed the connection] 19:26:45 we? 19:26:47 OmniMancer, no no no, we need them to run le-lisp 19:27:01 le-lisp? 19:27:22 ManateeLazyCat [n=user@119.141.228.206] has joined #lisp 19:27:25 obsolete french lisp for microprecessors in the 80s; iirc 19:27:31 lol 19:27:31 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit [] 19:28:01 I tried hard t find an implementation I could try; with no success 19:28:08 I know lets make all processors run common lisp then have microcode emulators for the current archetectures and hide the common lisp :P 19:28:17 hahhaa 19:28:46 -!- iwaki [n=hide@PPPa470.osaka.acca.dti.ne.jp] has quit [Read error: 110 (Connection timed out)] 19:28:48 and let's, of course, implement the vector units in the ps2, with scratchpad ram and everything 19:29:05 kinda funny that no x86 or c64 processor is actually an x86 processor, it's a hardware emulator 19:29:18 ;-D 19:29:26 hi, can I get all keys as a list? ie. ((:foo "bar") (:baz 4)) 19:29:31 from a function 19:29:54 egn: (mapcar #'car ...) 19:31:13 fe[nl]ix: sorry, to what list? 19:31:24 oh, I didn't phrase my question well 19:31:28 OmniMancer: Atom is actually a x86 in hw 19:32:02 p_l, no translator? 19:32:22 I don't believe you!" 19:32:27 no microcode? 19:32:28 egn: (lambda (&rest rest &key foo bar) rest) ? 19:32:30 fe[nl]ix: (defun foo (&key bar &allow-other-keys) ) 19:32:46 *OmniMancer* was under the impression that EVERYTHING uses microcode :P 19:33:00 tic: it is based on original pentium 19:33:22 or to be more exact, on Pentium MMX 19:34:30 stassats: thanks 19:34:48 Yeah. I see no translation thingy in the Pentium block. 19:35:09 :O 19:35:12 madness 19:35:18 we shall have to slap intel 19:36:31 Except, says Wikipedia about the Atom: "Like many other x86 microprocessors, it translates x86-instructions into simpler internal operations (micro-ops) prior to execution. The majority of instructions produce one micro-op when translated, with around 4% producing multiple micro-ops." 19:37:54 that's a long-winded way of saying "some instructions are macros" 19:38:16 (lambda (&rest all-keys &key foo &allow-other-keys) (print foo) (print all-keys)) 19:38:51 sykopomp: thanks 19:38:54 its a long winded way of saying that it runs microcode 19:39:17 egn: the downside is that it won't complain if you misspell a keyword :) 19:39:27 yay 19:39:30 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 60 (Operation timed out)] 19:41:14 eno [n=eno@nslu2-linux/eno] has joined #lisp 19:43:10 ole4 [n=user@82.113.121.151] has joined #lisp 19:43:27 -!- jewel [n=jewel@dsl-242-129-207.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 19:45:17 tic: maybe newer Atom variants use P6 core, but afaik original Atom used P54C which had not microcode 19:45:33 p_l, yeah, the A1* series. 19:45:59 P6 design is afaik intel's most successful :-) 19:46:13 thought it was netburst.... 19:46:15 NetBurst deserves fame for "biggest flop after Itanium" 19:46:37 well, HP sells Itanium-based systems. 19:47:16 tic: they are afaik the last ones to sell (or produce) much 19:47:37 and that's in big part because they killed other architectures they could sell 19:48:08 Yeah, bye bye Alpha (was it? hp -> compaq -> dec, IIRC) 19:48:46 lisp machines invented GUI? 19:49:15 OmniMancer: basically. 19:49:18 tic: Compaq was the one who killed Alpha, HP actually restarted production for short time. HP killed HP-PA 19:49:25 p_l: netburst was a commercial success. 19:49:26 pjb: what about Sketchbook? 19:49:27 PA RISC, ah. 19:49:34 yay everyone steals everything form lisp :P 19:49:44 pkhuong, that's the only measure it got any success, though. :) 19:49:54 OmniMancer: but actually, GUI, mouse, and everything was invented by Douglas Engelbart. 19:50:09 who be he? 19:50:25 http://en.wikipedia.org/wiki/The_Mother_of_All_Demos 19:50:26 pkhuong: I remember Pentium 4 as the time when AMD and intel switched plkaces in "who makes the most powerhungry, heat-emitting chips" 19:50:48 It'll forever be known as the Gigahertz arms-race. 19:51:33 lol 19:51:51 tic: and known as the chip that got cancelled due to requiring insane amount of power for any future revision 19:52:09 p_l, good times! 19:52:25 I recall some quote about "if we tried to push it like we planned, we would have to mount nuclear reactors on motherboards" 19:52:42 lol 19:52:58 perhaps in time we shall have fusion reactors on mother boards :P 19:53:00 srsly, it even started as the slower chip 19:53:14 and power supplies the size of a small room 19:53:18 p_l: I believe the quote was more about the heat being comparable to that in the core of a nuclear reactor. 19:53:36 why not run a turbine of the cooling? 19:53:46 p_l, yeah, clock-for-clock netburst was slower than ppro. remember the Tulatin(?) core at 1,3 ghz outperforming the 1,5 ghz intro P4 19:55:21 Some of that was due to the RAM interface, though. 19:55:23 tic: Pentium M (P6) was known for kicking the shit out of Pentium 4 (NetBurst) 19:56:13 pkhuong: RDRAM was problematic, sure, but it didn't change ineffectiveness foof the design 19:56:21 when will we have a computer that is one motherboard sized FPGA? 19:56:22 Tordek [n=tordek@host41.190-138-160.telecom.net.ar] has joined #lisp 19:56:36 OmniMancer: never. 19:56:49 we must have that:D 19:56:57 You need one nanosecond to send signal from one side to the other of a motherboard... 19:57:02 Too slow. 19:57:06 PM VS P4 highly depends on the workload. A more important advantage, imho, was the fact that it didn't exhibit any obvious glass jaw. On the P4, it's dangerously easy to introduce a 2x slowdown with a trivial change to the code. 19:57:18 so who says that all signals have to go all the way across? 19:57:24 p_l, is P6 same as Pentium M (Banias, Dothan), though? I thought P6 was PPro. 19:57:38 pkhuong: that's because Netburst had ridiculously long pipelines. 19:57:42 What we could do, is 3D chips, a 1" cube. But first we'd need to solve the energy evacuation problem. 19:57:43 pkhuong, horray for 20+ step pipelines! 19:58:03 SSC is the solution there. 19:58:04 OmniMancer: You do realize that a FPGA is 90+% routing, right? 19:58:15 tic: P6 is PPro, Pentium II/III/M/Core1 and is the basis of Core2 and i7 19:58:20 indeed 19:59:04 p_l: it's more complex than that. 19:59:37 pkhuong: I know, but I think we deviated from topic enough already :-) 19:59:58 -!- weirdo [n=sthalik@c142-5.icpnet.pl] has quit [Remote closed the connection] 20:00:02 rread_ [n=rread@nat/sun/x-annkbgadecphzkym] has joined #lisp 20:00:09 e.g. Pentium M is more of Pentium MMX than Pentium III, IIRC. 20:00:22 still, it was funny that highest-clocked pentium 4 required near 8GHz ALUs 20:00:38 tic: Pentium M was directly descendant from Tualatin, afaik 20:00:41 sepult [n=user@xdsl-87-78-122-70.netcologne.de] has joined #lisp 20:01:01 Haven't done any hardware nerding in way too long time, it seems 20:01:06 P5 line didn't resurface till Atom 20:01:08 p_l: ... because the ALUs could issue twice per clock. 20:02:00 pkhuong: one material I found stated that ALUs were running with clock doubler, but I won't argue 20:02:25 scan doubler! all hail AGA. 20:02:46 mrsolo [n=mrsolo@adsl-68-126-198-233.dsl.pltn13.pacbell.net] has joined #lisp 20:02:53 Hey, what's with all this nostalgia? 20:03:19 [21:24] myrkraverk| obsolete french lisp for microprecessors in the 80s; iirc 20:03:28 and off we went. 20:04:37 weirdo [n=sthalik@c142-5.icpnet.pl] has joined #lisp 20:05:06 p_l: they were, but they could also complete some operations (bitwise and add/sub, iirc) in half a cycle and forward to the next operation, thus giving them an effective half-cycle *latency*. 20:06:59 -!- rread [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has quit [Read error: 110 (Connection timed out)] 20:06:59 -!- rread_ is now known as rread 20:07:54 -!- addled_ [n=adl@77.208.196.21] has quit [Client Quit] 20:11:11 I wonder how well will the new Opteron fare (and when they will add indexed TLBs! I wonder how much speedup could be gained by lowering context switch cost) 20:11:44 is self modifying code considdered bad? 20:11:58 OmniMancer: depends how you modify said code, I guess 20:12:19 mattrepl [n=mattrepl@c-76-104-2-182.hsd1.va.comcast.net] has joined #lisp 20:12:33 and it is certainly bad if you constantly modify code due to cache problems 20:12:40 is having functions as lists and letting them be modified at runtime bad? 20:12:43 -!- gigamonk` [n=user@adsl-99-35-218-72.dsl.pltn13.sbcglobal.net] has quit [Read error: 60 (Operation timed out)] 20:13:09 hmm... explain 20:13:43 OmniMancer: pretty much, if you like fast, compiled code 20:13:45 writing a function that rewrites itself while running type of self modifying code? 20:14:09 well you can make it so that the implementation takes care of compilation anywy 20:14:11 anyway 20:14:13 OmniMancer: I'd suggest looking at it at assembly level 20:14:35 assembly is scary :( 20:14:40 OmniMancer: sounds like a perfectly good way to reach a new level of code opacity. 20:14:42 OmniMancer: so is life 20:14:49 yay 20:14:58 code that is even harder to understand 20:17:26 I know that Windows 1.0 used stuff like arranging the flags&arguments passed into some functions so that they would form actual assembly instructions, ready to run 20:18:48 -!- tagac [n=user@239.36.221.87.dynamic.jazztel.es] has quit [Read error: 104 (Connection reset by peer)] 20:20:12 tagac [n=user@140.37.221.87.dynamic.jazztel.es] has joined #lisp 20:20:16 Lycurgus [n=Ren@pool-71-186-179-146.bflony.east.verizon.net] has joined #lisp 20:20:41 lol 20:22:36 can the sbcl profiler give me individual times of labels? 20:22:45 flets, that is 20:23:04 myrkraverk: sb-sprof will. 20:23:15 ok, will look at that 20:23:51 if you write a game in lisp you get an extension language for free? 20:24:42 It depends on your requirements. 20:26:02 -!- ia [n=ia@89.169.161.244] has quit [Read error: 60 (Operation timed out)] 20:26:53 lacedaemon [n=algidus@88-149-212-10.dynamic.ngi.it] has joined #lisp 20:27:05 -!- fe[nl]ix [n=algidus@88-149-208-80.dynamic.ngi.it] has quit [Nick collision from services.] 20:27:07 -!- lacedaemon is now known as fe[nl]ix 20:35:39 was slime-create-filename-translator renamed? 20:36:49 no 20:37:07 does it require a specific contrib? 20:37:14 slime-tramp 20:39:32 kenpp [n=kenpp@84.92.70.37] has joined #lisp 20:39:53 i'm including slime-tramp in my slime-setup form, but when I try to call slime-create-filename-translator I cat a "Symbol's function definition is void" 20:40:03 s/cat/get 20:41:40 did you evaluate it/restart emacs? 20:42:24 ia [n=ia@89.169.161.244] has joined #lisp 20:42:32 Davidbrcz [n=david@212-198-78-230.rev.numericable.fr] has joined #lisp 20:42:34 yeah, happens on startup 20:42:55 -!- loxs [n=loxs@78.90.124.182] has quit ["Leaving"] 20:42:57 too old slime? 20:43:07 clbuild instance from yesterday. 20:43:54 doesn't your clbuild emacs config interfere with any other emacs config? 20:44:52 no, i've integrated it with my ~/.emacs 20:45:14 Fade pasted "slime startup .emacs" at http://paste.lisp.org/display/86625 20:45:58 > (require 'slime-autoloads) 20:46:10 get rid of this line, or use autoloads properly 20:47:11 does hemlock run in sbcl? 20:47:18 no 20:47:34 does it run in anything other than cmucl? 20:47:36 thanks for the pointer. I'll look at the autoloads stuff. 20:47:58 just remove it and it'll work 20:48:10 OmniMancer: portable hemlock does 20:48:14 when I get rid of it, it complains about the slime-setup form. 20:48:39 well, you need to (require 'slime) first, obviously 20:49:42 doh. that does it. thanks stassats 20:53:25 locci [n=nes@93.37.221.98] has joined #lisp 20:54:10 -!- carlocci [n=nes@93.37.221.98] has quit [Nick collision from services.] 20:54:10 to properly use autoload, you need to use eval-after-load 20:54:15 -!- locci is now known as carlocci 20:55:04 ahh, okay 20:59:46 s0ber [n=s0ber@118-168-238-99.dynamic.hinet.net] has joined #lisp 21:01:09 -!- Davse_Bamse [n=davse@4306ds4-soeb.0.fullrate.dk] has quit ["leaving"] 21:01:43 -!- lhz [n=shrekz@c-b9aa72d5.021-158-73746f34.cust.bredbandsbolaget.se] has quit ["Leaving"] 21:07:00 OmniMancer: there's a PortableHemlock that should run on any CL. 21:07:22 except it aparently dies horribly on SBCL 21:08:07 -!- mrsolo [n=mrsolo@adsl-68-126-198-233.dsl.pltn13.pacbell.net] has quit [Read error: 54 (Connection reset by peer)] 21:09:04 hi, when defining a class, is there any way to reference "this" in a slot's initform? ie. (defclass foo () ((bar :accessor foo-bar :initform "baz") (bar-2 :accessor foo-bar2 :initform (foo-bar )))) (bar-2 (make-instance 'foo)) => "baz" 21:10:06 clhs initialize-instance 21:10:07 http://www.lispworks.com/reference/HyperSpec/Body/f_init_i.htm 21:10:43 stassats: thanks 21:11:02 -!- Davidbrcz [n=david@212-198-78-230.rev.numericable.fr] has quit [Read error: 60 (Operation timed out)] 21:11:32 -!- s0ber_ [i=pie@118-160-174-71.dynamic.hinet.net] has quit [Connection timed out] 21:12:33 Moe111 [n=Moe111@modemcable067.226-21-96.mc.videotron.ca] has joined #lisp 21:13:05 -!- OmniMancer [n=OmniManc@122-57-9-204.jetstream.xtra.co.nz] has quit ["Leaving."] 21:16:36 -!- kiuma [n=kiuma@93-36-11-54.ip57.fastwebnet.it] has quit ["Bye bye ppl"] 21:16:37 cornucopic [n=r00t@202.3.77.180] has joined #lisp 21:18:48 egn: have a look at http://paste.lisp.org/display/77962 21:20:21 Urfin [i=foobar@85.65.93.74.dynamic.barak-online.net] has joined #lisp 21:21:38 pjb: thanks 21:22:56 hi, i defined a asdf package whith a module that has a test function, from slime if i do a in-package can't acces to a test function, how must i do , thanks 21:25:00 GreatPatham [n=dan@c-24-19-169-87.hsd1.wa.comcast.net] has joined #lisp 21:27:24 seisatsu [n=seisatsu@adsl-99-54-9-28.dsl.pltn13.sbcglobal.net] has joined #lisp 21:27:41 You have to export the test function 21:28:06 salva: or use its full qualified name 21:28:39 (defpackage :foo (:use :common-lisp) (:export :test-function)) 21:28:54 ok thanks how is a full qualified name 21:28:56 ? 21:28:57 or (foo::test-function) 21:29:26 thanks 21:29:36 -!- ManateeLazyCat [n=user@119.141.228.206] has quit [Remote closed the connection] 21:30:11 your welcome 21:39:51 schoppenhauer [n=css@unaffiliated/schoppenhauer] has joined #lisp 21:40:11 -!- Moe111 [n=Moe111@modemcable067.226-21-96.mc.videotron.ca] has quit [] 21:45:50 -!- angerman [n=angerman@host41.natpool.mwn.de] has quit [] 21:47:27 slyrus_ [n=slyrus@adsl-68-121-172-169.dsl.pltn13.pacbell.net] has joined #lisp 21:49:02 -!- ace4016 [i=ace4016@cpe-76-87-84-207.socal.res.rr.com] has quit [Nick collision from services.] 21:49:11 ace4016 [i=ace4016@cpe-76-87-84-207.socal.res.rr.com] has joined #lisp 21:49:27 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 21:50:02 -!- Jabberwockey [n=jens@84.46.79.41] has quit [Remote closed the connection] 21:50:17 -!- mattrepl [n=mattrepl@c-76-104-2-182.hsd1.va.comcast.net] has quit [] 21:51:41 heh .. this has got to be the craziest/dumbest/orsomething hack i've done yet; using browser window.onresize events, i redraw stuff in realtime using vecto and cl-vector as the user resizes the browser window .. it actually works .. i think i can use this for some of the more tricky UI elements :} a video of it: http://nostdal.org/lnostdal/always-here/sw/on-resize-vecto-first-hack.ogv .. i don't intend to use this for the entire UI though; the 21:51:41 single element (the blue box) covers the entire UI here 21:52:24 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #lisp 21:56:05 -!- ruepel0r [n=rue@77-22-58-33-dynip.superkabel.de] has quit [Read error: 113 (No route to host)] 21:58:32 not sure that video will work at the moment actually; the server might not be configured to return proper mime info 21:59:17 404 Not Found 21:59:27 lnostdal: text/plain 21:59:31 ole4: wfm 21:59:34 you're missing .ogv at the end (/me is reading the logs) 21:59:53 michaelw, ok, i'll try adding proper mime info 21:59:58 redblue [i=star@ppp045.108-253-207.mtl.mt.videotron.ca] has joined #lisp 22:00:04 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 22:00:18 lnostdal: my fault 22:02:32 ok, works in ff-3.5 here now .. ogg video mime info :P 22:02:41 pretty dumb this 22:03:08 going to try to cache the UI elements based on common or often used size 22:03:13 -!- cornucopic [n=r00t@202.3.77.180] has quit ["so long.."] 22:06:04 stupid question because I confused myself... (lambda (x) (funcall (make-some-function) x (make-some-arg))) is the same as (rcurry (make-some-function) (make-some-arg)), right? 22:07:28 you mean curry, not rcurry? 22:07:36 rcurry, look at the x 22:07:53 -!- dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has quit [Read error: 113 (No route to host)] 22:07:54 yep 22:08:58 I used a macro called lift which generated functions 22:10:00 (lift fn _ foo _ bar baz) => (lambda (#g1 #g2) (funcall fn #g1 foo #g2 bar baz)) 22:10:14 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 22:10:28 never needed it really, confused things 22:10:30 mcspiff [n=user@drmons0501w-142068078072.pppoe-dynamic.ns.aliant.net] has joined #lisp 22:11:00 -!- ace4016 [i=ace4016@cpe-76-87-84-207.socal.res.rr.com] has quit ["brb"] 22:11:06 I just use a simple macro called FUN that does that only for single-arg functions. -that- simplifies things sometimes. 22:12:06 what does it look like? 22:13:51 (defmacro fun (&body body) `(lambda (_) (declare (ignorable _)) ,@body)) 22:14:12 ah, ok 22:15:14 (I don't even remember why I made it ignorable, but whatever) 22:15:41 -!- ASau [n=user@83.69.240.52] has quit [Remote closed the connection] 22:15:46 cornucopic [n=r00t@202.3.77.180] has joined #lisp 22:15:53 ASau [n=user@83.69.240.52] has joined #lisp 22:18:23 -!- tio_da_cerveja is now known as Cogumelo 22:24:47 -!- spilman [n=spilman@ARennes-552-1-1-48.w90-59.abo.wanadoo.fr] has quit ["Quitte"] 22:24:56 sykopomp: ignorable makes sense for a general purpose macro. OTOH, I find the #L reader macro superior 22:25:50 Joreji [n=thomas@43-078.eduroam.RWTH-Aachen.DE] has joined #lisp 22:26:15 illuminati1113 [n=user@pool-71-114-64-62.washdc.dsl-w.verizon.net] has joined #lisp 22:26:21 mathrick: I use FUN for multi-form functions that are annoying to compose/curry/etc 22:27:24 dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has joined #lisp 22:27:26 iwaki [n=hide@PPPa13.osaka.acca.dti.ne.jp] has joined #lisp 22:27:33 -!- illuminati1113 [n=user@pool-71-114-64-62.washdc.dsl-w.verizon.net] has quit [Remote closed the connection] 22:28:08 sykopomp: you could use #L for that too, I believe 22:28:50 mathrick: oh okay. In that case, why use something as ew as a reader macro when a simple macro is more than enough? 22:28:57 any links to what this #L reader macro does? 22:29:27 -!- dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has quit [Remote closed the connection] 22:30:58 sykopomp: #L(+ !1 !2) => (lambda (!1 !2) (+ !1 !2)) 22:31:14 what is the #L mean? 22:31:20 does that just mean List type? 22:31:21 it automatically declares arguments up to the highest !n encountered 22:31:22 emma: probably lambda :P 22:31:27 emma: it's a readmacro. 22:31:32 Oh my. 22:31:34 -!- iwaki [n=hide@PPPa13.osaka.acca.dti.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 22:31:40 emma: no, it's a non-standard reader macro that's a shorthand syntax for lambda 22:31:42 mathrick: needs more $ sign ;) 22:31:58 Not having seen other languages, are other languages so full of these little (perhaps you might say ad hoc) garnishments? 22:32:08 sykopomp: why? ! works just fine, and is that much farther away from sh :) 22:32:11 other lisps, sure 22:32:31 emma: no, extensible reader syntax is fairly unique to lisp 22:32:51 forth has it built-in, mostly because forth doesn't really have any syntax besides the reader 22:32:55 But it is probably an advantage to Lisp? 22:32:56 mathrick: that's a pretty neat macro, yeah, although I still tend to shy away from read macros unless I find them vital :\ 22:33:16 emma: an advantage, and some would say a disadvantage. 22:33:23 nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has joined #lisp 22:33:32 is a 'readmacro' just like an expansion sort of like what other languages usually call macros? 22:33:38 sykopomp: I don't use it very often, but it can come in handy 22:33:58 emma: a readmacro expands at read time :) 22:34:20 emma: no, it means modifying the reader, which is the part of Lisp that converts the stream of characters into sexps that are then seen by the rest of Lisp 22:34:21 most macros do dont they? 22:34:24 regular macros expand at macro-expansion-time (during minimal compilation, basically) 22:34:27 emma: no 22:34:37 regular macros have macro expansion time 22:34:47 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #lisp 22:34:50 you'd do well to read up on that, it's pretty well-defined 22:35:10 myrkraverk pasted "Emacs: Annoying indentation of key arguments" at http://paste.lisp.org/display/86629 22:35:28 please, is there a way to coach emacs to indent that in a better way? 22:35:30 sohail [n=sohail@CPE001839a305c5-CM000a73a081a5.cpe.net.cable.rogers.com] has joined #lisp 22:35:59 -!- nvoorhies [n=nvoorhie@adsl-75-36-204-63.dsl.pltn13.sbcglobal.net] has quit [Client Quit] 22:36:42 myrkraverk: there's a contrib, slime-indentation.el I think, but I dunno if it fixes that. It'd be a good place to look in though 22:36:44 *mathrick* tests 22:37:24 i doubt it fixes it 22:37:29 dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has joined #lisp 22:38:17 My pretty-printer patches will make SBCL pretty-printer be able to deal with it. :) 22:38:47 myrkraverk: nope, doesn't 22:39:12 tcr: does it know which argument is evaluated and which not? 22:39:18 it makes sense to fix it when there are known &KEY arguments however 22:40:24 stassats: No, but I'm not sure what you mean 22:41:14 distinguishing between lists and function calls in macros 22:41:46 No it relies on whether the CAR is fboundp 22:42:25 that's gonna mess up macros using keywords for syntax 22:42:34 -!- cschreiner [n=cp@cm-84.209.69.164.getinternet.no] has quit [] 22:42:37 Huh? 22:43:08 things like (:and foo bar) 22:43:53 I don't follow 22:44:15 -!- iwaki1 [n=hide@PPPa13.osaka.acca.dti.ne.jp] has quit [Read error: 110 (Connection timed out)] 22:44:39 (some-macro (:when (:and foo bar) baz)) 22:44:53 in this case, :when and :and are used as if they were fbound 22:45:09 bah, emacs TAGBODY indentation doesn't indent uninterned symbols correctly as tags 22:45:13 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 22:45:50 you can't magically indent any DSL you can conceive 22:46:08 stassats, why not? ;-P 22:46:09 of course 22:46:40 tcr: hmm, care to fix sbcl's LET indentation? :) 22:46:59 I think I did. Example? 22:47:04 tcr: (pprint `(let (,@(loop repeat 20 collect (gensym))) stuff)) prints variables linear, which is not so nice 22:47:46 ace4016 [i=ace4016@cpe-76-87-84-207.socal.res.rr.com] has joined #lisp 22:47:47 I disagree. 22:47:59 That's hightly contrived. In practise, linear printing is what you want 22:48:21 generating LETs is contrived? 22:48:23 it wastes a lot of space; not contrived, think macro 22:48:50 readable macroexpansions are nice ;\ 22:49:07 tcr: (if (every #'symbolp bindings) ) 22:49:07 oh wait, linear 22:49:18 The whole point of good pretty-printing is for macroexpansion, of course. 22:49:22 -!- Cogumelo is now known as BoogieNights 22:49:42 I do want linear printing to see what's defined there. It's a hightly contrived case because the variables happen to be uninteresting 22:49:54 mgm [n=none@p84-72.acedsl.com] has joined #lisp 22:50:01 tcr: IMHO, and that's what I do in my own source, you should print linearly when there's a binding, and concisely when there are only declarations 22:50:19 ideally with bindings first, then all declarations following 22:50:21 It's printing by filling what you call concisely 22:50:38 yes 22:52:28 -!- ole4 [n=user@82.113.121.151] has quit [Remote closed the connection] 22:52:39 ole4 [n=user@82.113.121.151] has joined #lisp 22:53:57 mathrick: reordering is tricky, think LET*; but otherwise I'm with you on this (or rather, you're with me) 22:54:29 mathrick: reordering could be confusing to the macro writer. 22:54:49 I wasn't suggesting that the reader reorder forms 22:55:22 just that it's the ideal form if it doesn't otherwise hinder readability 22:55:33 myrkraverk pasted "sb-sprof table" at http://paste.lisp.org/display/86630 22:55:47 I sometimes break that rule myself if it lets me group vars more logically 22:55:55 will someone please explain how I interpret these columns? 22:56:46 myrkraverk: http://www.sbcl.org/manual/Statistical-Profiler.html 22:57:44 *reading* 22:59:21 The Cumul column shows the sum of all Self columns up to and including that line in the table. 22:59:31 that part I don't get, excactly 22:59:49 Slime-macroexpand calls `indent-sexp' on the result though, so it doesn't yet profit from the improved pretty-printing 23:00:43 myrkraverk: i.th row cum is Sigma self[j] for j <= i 23:01:02 -!- kenpp [n=kenpp@84.92.70.37] has quit [Connection timed out] 23:01:13 ksvs [n=xirg@unaffiliated/romani] has joined #lisp 23:01:33 tcr, ah, thank you 23:02:17 Cumul is useful to decide where the long tail of functions you don't really care about begins. 23:03:27 myrkraverk: if you have three rows, 50%, 25% and 5%, cumul will show 80% (== 50 + 25 + 5) for the third one 23:03:37 pkhuong: why don't you see that on self equally easily? 23:04:47 tcr: Sometimes you have a lot of smallish self values. 23:05:19 The conjunction of self and cumul is helpful when you don't want to plot the values. 23:06:15 -!- mcspiff [n=user@drmons0501w-142068078072.pppoe-dynamic.ns.aliant.net] has quit [Remote closed the connection] 23:09:16 -!- mrSpec [n=Spec@unaffiliated/mrspec] has quit [] 23:09:46 <_3b> tcr: 'preregistered readtables' still lists NIL as meaning standard readtable, but make-readtable uses it to mean empty 23:09:48 -!- lukjad007 [n=lukjadOO@unaffiliated/lukjad007] has quit [Remote closed the connection] 23:10:40 _3b: make-readtable's merge takes a list of named-readtables-designators, so you'd have write (make-readtable :foo :merge '(nil)) for the standard readtable 23:10:52 -!- saikat_ [n=saikat@c-98-210-13-214.hsd1.ca.comcast.net] has quit [] 23:11:26 is there a function that expands vectors? 23:11:46 what do you mean by that? 23:12:04 _3b: (afk) 23:12:09 expanding a vector? 23:12:53 sorry, make a vector have more elements, at the tail 23:13:11 myrkraverk: adjust-array 23:13:12 (even if that means a new vector, and then copy) 23:13:19 thank you 23:13:27 clhs adjust-array 23:13:27 http://www.lispworks.com/reference/HyperSpec/Body/f_adjust.htm 23:14:10 -!- sbahra [n=sbahra@c-68-34-110-14.hsd1.dc.comcast.net] has quit [Read error: 110 (Connection timed out)] 23:15:12 arbscht [n=arbscht@unaffiliated/arbscht] has joined #lisp 23:15:17 -!- arbscht_ [n=arbscht@unaffiliated/arbscht] has quit [Read error: 60 (Operation timed out)] 23:15:55 lukjad007 [n=lukjadOO@unaffiliated/lukjad007] has joined #lisp 23:16:08 legumbre [n=user@r190-135-4-171.dialup.adsl.anteldata.net.uy] has joined #lisp 23:16:19 -!- dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has quit [Read error: 113 (No route to host)] 23:16:47 dto [n=user@pool-98-118-1-212.bstnma.fios.verizon.net] has joined #lisp 23:17:28 why the fsck does paul graham use (make-array) when sbcl doesn't have it! 23:17:53 hmm, or did I make a typo? 23:18:00 *_3b* guesses typo 23:18:12 myrkraverk: MAKE-ARRAY is a standard CL function. 23:18:19 <_3b> (or package problem) 23:18:29 or something 23:18:32 -!- ksvs [n=xirg@unaffiliated/romani] has left #lisp 23:18:44 -!- ib11 [n=ib11111@HSI-KBW-091-089-048-039.hsi2.kabelbw.de] has quit [Client Quit] 23:19:17 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #lisp 23:20:12 tcr: how'd trivial WITHOUT-PACKAGE-LOCKS be useful? 23:21:02 myrkraverk: so, porting yourself to CL, eh? 23:21:26 if that's the term, yes 23:22:35 myrkraverk: paul graham uses much that sbcl doesn't have... 23:22:35 I'm actually making a simple program, that uses lists, and thought CL would be an ideal language -- though I'm not really sure the code is any simpler than the C++/Java equalent 23:22:53 On Lisp *does* iirc use some operators of its own defining without much fanfare. Or am I thinking of PAIP? 23:23:15 I'm reading ANSI Common Lisp now, not On Lisp (yet) 23:23:26 oh, well, PG didn't write that :-) 23:23:27 kpreid: it uses in-package in the old style 23:23:29 kpreid: as long as it defines it, it's normal 23:23:34 red box is html, blue box is vecto (lisp): http://nostdal.org/lnostdal/always-here/sw/on-resize-vecto-html-and-vecto-combined-pixel-perfect.ogv it even works on IE (well, only tested IE8 ..) x) 23:23:55 kpreid: he did, you're confusing ANS Common Lisp (the standard) with the book "ANSI Common Lisp" 23:24:27 where is a good reference on the tyes in CL? 23:24:40 I want to know more about optimizations in CL 23:25:24 mathrick: doh, I forgot that bit 23:25:30 lnostdal: sorry if it's slow 23:25:41 myrkraverk: it's all implementation specific, and a lot of the knowledge is best picked up by trial on the target application. 23:25:43 myrkraverk: the kind of optimizations done are *very* implementation-specific 23:26:01 well, nearly everyone does inlining 23:26:02 myrkraverk: CLHS gives a good overview of what's there and what you can rely on 23:26:18 but how much type inference is used, for example, varies greatly 23:26:32 what can be unboxed 23:26:34 Xach, it's pretty darn fast i think! .. way fast enough for this stuff, at least .. i'm including X and Y in the filenames of widget-types, and i can thus cache the generated results based on common sizes .. excellent stuff btw.; it is pixel perfect :) 23:26:49 ok, the application I'm making, uses exclusively what I call small integers 23:26:50 lnostdal: that's cods's doing 23:27:02 lnostdal: i just made an interface i could understand... 23:27:08 that is, the largest number I should come across is 26! 23:27:32 ok, that is not so small a number ;-P 23:27:41 sage: factorial( 26) 23:27:41 403291461126605635584000000 23:27:48 heh 23:28:06 myrkraverk: why do you need to compute factorials? 23:28:14 (integer-length 403291461126605635584000000) => 89 23:28:14 pkhuong, I'm making permutations 23:29:07 and? There are well known algorithms to generate permutations (in-place, even!) and they don't require you to compute factorial. 23:29:29 minion: tell myrkraverk about alexandria 23:29:30 myrkraverk: look at alexandria: Alexandria is a collection of portable public domain utilities. http://www.cliki.net/alexandria 23:29:37 you can even find a nice implementation there. 23:29:42 well, this one does; and I was asked to use this particular algorithm 23:29:44 pkhuong: where's the fun in that? 23:30:50 S11001001 [n=sirian@pdpc/supporter/active/S11001001] has joined #lisp 23:31:05 pkhuong, what do you mean by in-place? 23:31:16 without allocating a new vector for the output 23:31:41 myrkraverk: with only constant-size auxiliary storage. 23:32:28 this one doesn't really have an auxilary storage, I just generate the list of elements, for permutation k, of length n; from left to right 23:32:45 -!- BoogieNights is now known as Rick_Astley 23:32:54 I use (append) 23:34:15 -!- lukjad007 is now known as hidlukjadetel 23:35:19 myrkraverk: that's bound to have O(N!^2) complexity 23:35:30 you should use CONS/PUSH and NREVERSE 23:36:18 -!- Urfin [i=foobar@85.65.93.74.dynamic.barak-online.net] has quit [Remote closed the connection] 23:36:23 mathrick, I never said my implementation was the most efficient one; right now, it's my factorial that's the bottleneck, so I'll start with making a cache of results 23:36:26 mathrick: that's probably dominated by computing n!. 23:36:53 ;-D 23:36:54 myrkraverk: going N!^2 is not "not the most efficient", it's horrible 23:37:13 pkhuong: howso? It's a difference between N!^2 and N! 23:37:29 which is huge 23:37:49 wait, my math is off 23:37:50 mathrick, that doesn't change that it's my fact that's taking most of the cpu time, according to my profiling table 23:37:52 mathrick: think a bit. You were given the value of 26! earlier. Do you know of any computer that can even address that many *bytes*? myrkraverk is only generating a single permutation. 23:37:57 it's (N^2)! 23:38:15 no 23:38:22 bah, I'm dumb 23:39:22 that'd be O(N! * N^2) vs. O(N! * N) 23:39:23 now 23:39:41 pkhuong: time complexity isn't necessarily equivalent to space complexity 23:39:44 Where do you see n! steps? 23:39:52 N! permutations 23:40:19 assuming you want to generate all of them 23:40:45 if not, then of course it doesn't matter that much 23:41:24 -!- Geralt [n=Geralt@unaffiliated/thegeralt] has quit ["Leaving."] 23:41:26 -!- ignas [n=ignas@ctv-79-132-160-221.vinita.lt] has quit ["Ex-Chat"] 23:41:57 mathrick, only one is generated at a time, and doesn't require any state from previous permutations 23:42:11 To generate and keep in a list all the n! permutation you'd need at least n! bytes. You were just told that myrkraverk is working with n up to 26. Again, even if you ignore the fact that myrkraverk wrote that he's only looking for a single one, generating all the up to 26! permutations and accumulating them in a list is impossible on just about any computer I can think of, mythical NSA hardware included. 23:42:17 that doesn't change that I may want to use something else than append, for each permutation 23:43:47 Ralith [n=ralith@69.90.48.127] has joined #lisp 23:44:49 pkhuong: pfff, what's 330 exabytes between friends? 23:44:51 but yeah 23:47:22 -!- tagac [n=user@140.37.221.87.dynamic.jazztel.es] has quit ["/* */"] 23:49:07 what's a good way to enclose the cache variable? 23:49:14 return a function that refers to it? 23:49:18 OmniMancer [n=OmniManc@122-57-9-204.jetstream.xtra.co.nz] has joined #lisp 23:50:08 (defun foo (n) (let ((cache)) (flet ((bar)) bar) ? 23:50:30 plus or minus a parenthesis somewhere 23:50:36 that's one common way, yes 23:51:47 then I just (flet ((baz (foo))) baz) ? 23:52:05 -!- Soulman [n=kvirc@80.202.254.154] has quit [Read error: 145 (Connection timed out)] 23:53:56 #'baz 23:55:16 tvl [n=tudor@cldmz-nat-12-108-127-191.pittsburgh.intel-research.net] has joined #lisp 23:55:34 -!- mathrick [n=mathrick@130.226.70.177] has quit ["HULK ANGRY! HULK DISCONNECT!"] 23:55:49 mathrick [n=mathrick@users177.kollegienet.dk] has joined #lisp 23:56:07 alexbobp [n=alex@adsl-75-42-224-116.dsl.austtx.sbcglobal.net] has joined #lisp 23:56:57 ah 23:58:03 _3b: Did that help? 23:58:16 <_3b> tcr: yeah, makes sense 23:58:56 -!- tvl [n=tudor@cldmz-nat-12-108-127-191.pittsburgh.intel-research.net] has quit ["leaving"]