00:00:12 they have 256kB L2 cache each, and that's all 00:01:03 hefnr: which would make them useable if programmed separately... 00:03:05 I think my problem is, how to even get started. 00:03:26 emma: Where are you at right now? 00:03:36 emma: cry out for sykopomp's tutorial to get back online! :P 00:03:45 hahahaha I was waiting for that. 00:03:45 madnificent: sure.. program them separately.. in C, or assembly language :) 00:03:47 *sykopomp* is lazy 00:04:14 hefnr: noooos, through translated lisp-like code 00:04:29 chandler, all done, at . 00:04:33 hefnr: it would simply be nice to be able to keep all code in one language 00:04:45 emma: I recommend you use http://phil.nullable.eu/ as your environment while you're getting started. 00:04:55 emma: have you gotten linked to Gentle Intro yet? 00:05:08 emma: also, are you an experienced programmer? 00:05:17 Nope. 00:05:19 madnificent: it isn't really one language if you're doing that, but I see what you're saying. I'm all for it. In fact, I want such a thing for the x86. 00:05:28 minion: please tell emma about gentle 00:05:28 emma: direct your attention towards gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/ 00:05:48 -!- segv [n=mb@72-255-20-161.client.stsn.net] has quit [Read error: 60 (Operation timed out)] 00:05:50 emma: that book is a bit archaic, but it's a very nice basic introduction to lisp, and programming in general :) 00:06:23 I think I get the idea of programming, I just don't know how to make the leap to actually programming something in a real language, specially lisp. 00:07:22 Okay I will look for that book. 00:07:34 emma: it's actually available for free online (at that link) 00:07:46 emma: what helps from time to time, is thinking of something really basic. (like a Celcius to Kelvin converter) and try to build that (searching whatever you need). Then you can expand that with a user-interface (text) etc 00:08:31 hefnr: it could be good to speed up the bottlenecks of some of the code, no? It could leave memory management etc up to the user (basically, GOAL inside CL) 00:08:41 madnificent: I feel like writing more fun apps is a nicer thing than writing yet-another-calculator. 00:08:43 or just find something simple that you'd like to have a program for (with emphasis on simple) 00:08:58 actually... ELIZA tends to be a really fun project. 00:09:08 chatbots are something you can show off to friends :) 00:09:14 even ELIZA is fun to show to people (in my opinion) 00:09:14 Oh yes, I agree 00:09:30 When I get some free time, I need to code up my chatbot some more :) 00:09:42 madnificent: I think that's what I'm gonna end up doing in teh tutorial, I think. A simple ELIZA. 00:09:47 unless your friend are using emacs 00:10:14 stassats: It's fun when you can pit your ELIZA against Emacs and have it win in an argument ;-) 00:10:32 M-x psychoanalize-pinhead 00:10:39 -!- chawls [n=nix@bzq-219-145-16.static.bezeqint.net] has quit [Connection timed out] 00:10:58 sykopomp: emacs seems to be the biggest hurdle up 'till now. I've only convinced two people of learning emacs. (of which one blindly follows what I say because he's just learning computer programming) and the other got 'converted' from vim because I know more emacs than vimtricks 00:11:30 madnificent: I'm zealously advocating for ABLE :P 00:11:36 ManateeLazyCat [n=user@222.212.128.200] has joined #lisp 00:11:39 my mother uses emacs, because i didn't show her vim 00:11:42 (even though I'd rather people eventually switch to emacs+slime...) 00:11:54 emma: rephrase what I said. Think of something YOU would want and try to build that (but keep it very very very simple!) 00:12:08 stassats: what?! you joking? 00:12:16 stassats: hah. Good job. 00:12:30 madnificent: of course for simple tasks, like editing text files 00:13:15 willb [n=wibenton@h69-129-204-3.mdsnwi.broadband.dynamic.tds.net] has joined #lisp 00:13:17 (i just didn't have another editor, except ed) 00:13:24 sykopomp: it would be good (I don't know if it is already) if ABLE would use the standard emacs-keybindings. This way it would be the 'newbie' emacs editor. Not scaring them from, but introducing them to the beast 00:13:31 ED is the standard text editor 00:13:38 (and damned useful one) 00:13:45 stassats: tell you're mother she's very cool in a geek kind of way 00:14:08 *madnificent* never used ED (and ducks now) 00:14:23 madnificent: Not using the emacs bindings is one of the good parts, I think :) 00:14:31 HET2 [n=diman@chello084114161225.3.15.vie.surfer.at] has joined #lisp 00:14:45 madnificent: learn it now, before you find out that your entire interface to production server is a broken serial line :D 00:15:17 sykopomp: not pushing them is a good thing. But when you give a key-binding, I think it's good to keep the same binding as emacs/slime does 00:15:34 p_l: LoL 00:15:41 madnificent: I don't give keybindings. Specially since they vary across different OSs for ABLE. 00:15:51 madnificent: hence the clicking around ;) 00:15:54 madnificent: It's actually more common than you would think, especially with Xen 00:16:03 segv [n=mb@72-255-20-161.client.stsn.net] has joined #lisp 00:16:11 and able will be emacs-kindergarten? 00:16:58 that's the objective, yes. 00:17:01 p_l: I know it is, however I hope not to have to maintain too much servers. But yes, I probably should learn it just in case. 00:17:28 NoorDextor [n=Game450@unaffiliated/noordextor] has joined #lisp 00:17:32 sykopomp: so _when_ there are keybindings, they should be the same. As to not to confuse people. Or am I still not getting it? 00:17:32 madnificent: Anyway, the experience made me learn basics of ed, so that no matter what Unix I encounter, I can find my way around long enough to bootstrap vim or emacs clone 00:17:56 madnificent: The keybindings are written next to the different menu options in ABLE, that seems good enough. 00:18:06 isismelting [n=jo@ip72-197-229-240.sd.sd.cox.net] has joined #lisp 00:18:27 ABLE's author hasn't contacted me yet, which is a bit disappointing. I'd like to have better access to his dev stuff, for patching stuff when necessary, etc. 00:19:11 sykopomp: yes, I'm not saying that the keybindings should be the primary objective of ABLE, far from it. I'm just saying that if there are keybindings for something, that I'd like them to be the same as in emacs. Since it's a playground, it shouldn't be forcing users. 00:19:53 madnificent: One of the nice things about ABLE is that it feels like home for users, editing-wise. 00:19:55 sykopomp: for some reason I assumed you were working on able too 00:20:08 emacs bindings are foreign, and that's exactly what I'm hoping to avoid 00:20:08 i am using lisp to generate simple monophonic melodies and need to find the simplest way to play them back on my speakers - plain beeps are just fine - if anyone could point me toward something i'd thank them to do so 00:20:26 p_l: ed, now included in your own mini-survival-ket 00:20:30 madnificent: no. It probably seems that way because I'm very vocal about advertising for it. That's just because I think it's a great idea (and useful for my tutorial!) 00:20:31 s/ket/kit 00:20:53 i see a solution: two sets of keybindings... and vim-mode 00:21:17 stassats: uhh... you're welcome to try and implement it, I guess. 00:21:33 I'd rather write a tutorial specifically for learning to use emacs :) 00:21:39 in the context of lisp 00:22:09 chawls [n=nix@bzq-219-145-16.static.bezeqint.net] has joined #lisp 00:22:14 is there an emacs port for windows x64? 00:22:14 -!- dash__ [n=dash@dslb-084-057-033-208.pools.arcor-ip.net] has quit [Operation timed out] 00:22:29 emacs replaces windows x64 00:22:34 hahahaha 00:23:07 when someone asks a question the right way, which i think i did, it is best to either answer them correctly or to do nothing. 00:23:26 isismelting: write it to the wav file and play with some player 00:23:50 isismelting: EmacsW32 should work on amd64 windows, but beware of NT6.1 Server, as WoW64 is optional 00:24:27 When I install 2k8, I'll check, but right now I only have 32bit Win7 00:24:50 thank you stassats - is that a realistic solution for someone who needs instantaneous playback without tedious steps after every generation of output? 00:25:42 isismelting: i don't know how on windows, but on linux you can send data to the player through the pipe, or even write it to the /dev/sound 00:26:01 p_l thank you - i am not using amd unfortunately. perhaps i'm best utilizing a shell account to a sun system until i can get a linux system up and running in my new office 00:26:04 isismelting: If you want a portable way, use mplayer and pipe stream into it 00:26:13 dash_ [n=dash@dslb-084-057-017-215.pools.arcor-ip.net] has joined #lisp 00:26:26 isismelting: my bad, but I don't know nor care about windows. On top of that, you might need to specify Vista or XP since both of them have a 64bit release. And 64bit windows should probably be able to run i386 emacs 00:26:29 thank you stassats and p_l 00:26:30 isismelting: amd64 is the same as x64, In fact older 64bit windows installs had amd64 as arch 00:26:48 amnesiac [n=amnesiac@p3m/member/Amnesiac] has joined #lisp 00:27:04 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 104 (Connection reset by peer)] 00:27:07 oh it is - thanks, i didn't realize 00:27:18 isismelting: mplayer allows you to pipe a raw audio stream into it, so you'd have to generate a binary stream of certain properties and then give the same settings to mplayer's rawaudio demuxer 00:27:45 thank you madnificent - i might mention that i don't care much about how much you care about windows - i care enough to suggest that you check it out, since it has massive potential to be utilized for good 00:27:55 int80_h [n=michael@h-68-166-221-28.snvacaid.covad.net] has joined #lisp 00:28:19 mplayer sounds like what i need. i appreciate the help friends 00:28:35 -!- rottcodd [n=user@ppp59-167-54-88.lns1.cbr1.internode.on.net] has quit [Read error: 54 (Connection reset by peer)] 00:28:37 ... mplayer sounds a little bit like overkill 00:28:47 heh, a good FFI interface to Windows APIs (not a widget library or anything like that, just a ready-made direct interface to windows' APIs) would be a very good thing to have... 00:28:48 sorry isismelting, I've had my time on windows in the past. It seems to be a great place to sell software on though 00:28:49 rottcodd [n=user@ppp59-167-54-88.lns1.cbr1.internode.on.net] has joined #lisp 00:28:49 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 00:28:58 I got the following error when trying to use slime, while trying to startup with my .emacs file 00:29:07 Error in init file: File error: "Cannot open load file", "cl" 00:29:11 stassats: I suggested it because I used its rawaudio support before 00:29:19 could someone help me debug my .emacs file? 00:29:33 I used the one from cliki Slime HowTo, verbatim 00:29:39 int80_h: you are missing cl.el (which is weird, as it should be included in standard distribution) 00:30:01 int80_h: paste it in the pastie if no one answers you immediately :) (probably a wrong path or something like that) 00:30:02 bah, I was having trouble installing emacs, but I thought I had solved that problem 00:30:09 okay, back to the begining 00:30:13 int80_h: Try byte-compiling the files, as many try loading cl.el only for compilation 00:30:14 maybe screwed load-path? 00:30:25 int80_h: Is it on windows? 00:30:30 no, netbsd 00:30:40 hmmm.. shouldn't be a problem then 00:30:51 yeah, and I'm using netbsd stable 00:30:58 no nothing funny going on there 00:30:58 madnificent - while i prefer the idea of an open-source operating system, it is not realistic for widespread use yet, not until the internals of computer technology are common knowledge -- keep in mind that there is a community of open-source software for the closed-source operating system, and please don't waste any of your intelligence on anti-windows elitism - i can tell you're a bright individual, but every level of intelligence has a tra 00:31:26 -!- attila_lendvai [n=ati@business-89-132-61-222.business.broadband.hu] has quit [Read error: 60 (Operation timed out)] 00:31:28 -!- authentic [n=authenti@unaffiliated/authentic] has quit [Read error: 60 (Operation timed out)] 00:31:36 hmm, whereis cl.el supposed to be located, relative to emacs executable? 00:31:36 isismelting: you are saying things. 00:31:42 authentic [n=authenti@85-127-180-223.dynamic.xdsl-line.inode.at] has joined #lisp 00:31:43 isismelting: i don't see any 'anti-windows elitism' here 00:31:52 isismelting: Well, Linux is ready for widespread use IMHO, except that the most popular "user friendly" distro forgot that it's not windows 00:32:09 attila_lendvai [n=ati@business-89-132-61-222.business.broadband.hu] has joined #lisp 00:32:17 *stassats* has linux even in TV 00:32:26 *int80_h* isn' 00:32:33 my preference to linux doesn't change the fact that I'm impressed by Win7 00:32:37 *int80_h* isn't a linux user, but he plays one on TV 00:32:46 i like your attitude, p_l 00:32:53 i'm jayme, what are you called 00:33:09 isismelting: I simply had seen enough OSes to get sick of fanboying :D 00:33:45 anyway, that's not the place for pointless windows vs. others debate 00:33:53 stassats: Agreed 00:34:01 i've simply seen enough suffering to have gotten sick of fanboying 00:34:22 isismelting: I am not doing anti-windows elitism. I laugh with about anything I don't care about (it used to be called humour in a civilized world). I believe it is ready for widespread use, since I was forced to use vista for 3 days (whilst one of my friends was convincing me it was not that bad (so I got help everywhere I wanted)). Though I'm not a really big fan, I'd prefer the quick way of ubuntu any day (which I didn't really 00:34:22 guess to be fair). 00:34:31 -!- ths [n=ths@p549AFCC2.dip.t-dialin.net] has quit [Read error: 60 (Operation timed out)] 00:34:51 madnificent, isismelting: take the hissy fit outside, boys. 00:34:53 perhaps there is no name for what i called "anti-windows elitism" 00:35:06 isismelting: your message fell off. I am interested in winfs though. Microsoft has promised it since W95 and since 2000 (I think), I got really curious. 00:35:16 *madnificent* shuts up 00:35:35 also does 00:36:03 *stassats* looked at the logs, oh, that started as a windows vs. emacs debate 00:36:37 bobo [n=bobo@c-76-119-115-138.hsd1.ma.comcast.net] has joined #lisp 00:36:38 madnificent: WinFS tries to conquer a non-trivial problem, which seems to be impossible to conquer while keeping the same filepath oriented API 00:37:08 it actually started as a question about whether there was a port to amd64 for emacs - the implication of the call for the debate here is what i misnamed "anti-windows elitism" 00:37:08 So even though various solutions exist, the problem is applications 00:37:32 is anyone familiar with david cope's work on "experiments in musical intelligence" ? 00:37:54 only if familiar includes owning the book and having opened it once or twice 00:38:04 well, one book. 00:38:11 is it "digital music" 00:38:14 i'm not sure how many he has 00:38:37 no, "The Algorithmic Composer" 00:39:05 isismelting: you can also use audio through sdl 00:39:26 someone ought to port his software from MCL to something usable 00:39:27 at http://arts.ucsc.edu/faculty/cope/experiments.htm you can get mp3s of EMI's work by "after-chopin" and other "after-composers" -- it's farily impressive, i thought some people here might be interested, feel free to check it out 00:39:49 phf [n=phf@c-98-231-150-21.hsd1.md.comcast.net] has joined #lisp 00:40:00 oh, cool. 00:40:51 the after-chopin is shockingly good 00:41:18 the bach is not - further evidence that bach was a robot i think 00:42:20 hi all 00:43:31 sounds like an episode of dr. who.. 00:43:51 -!- manuel__ [n=manuel@HSI-KBW-091-089-250-148.hsi2.kabel-badenwuerttemberg.de] has quit [] 00:44:30 which does? 00:44:50 the idea of bach being a robot. 00:44:59 these are all composed by his software? 00:45:09 that would explain his preludes. 00:46:06 yes - preformed by him i think 00:46:31 -!- koning_r1bot [n=aap@dhcp-077-248-142-146.chello.nl] has quit [Read error: 60 (Operation timed out)] 00:46:43 -!- dmiles [i=dmiles@c-24-16-246-158.hsd1.wa.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 00:47:11 I've always wanted to write a program to do this. 00:47:21 tc-rucho [n=tc-rucho@unaffiliated/tc-rucho] has joined #lisp 00:47:31 -!- jfrancis [n=jfrancis@72.14.224.1] has quit [Read error: 110 (Connection timed out)] 00:47:35 koning_robot [n=aap@dhcp-077-248-142-146.chello.nl] has joined #lisp 00:47:40 anyone that uses cl-irc arround? 00:47:50 oh yeah? that's nothing -- i just generated a melody from mary had a little lamb, and it's just as good if not slightly worse 00:47:58 sigh 00:49:08 *tc-rucho* wonders what's going on 00:49:36 esden [n=esden@91-67-156-166-dynip.superkabel.de] has joined #lisp 00:49:47 minion: tell tc-rucho about logs 00:49:48 tc-rucho: have a look at logs: #lisp logs are available at http://ccl.clozure.com/irc-logs/lisp/ ; older logs may be available at http://tunes.org/~nef/logs/lisp/ (down as of 2008/09/24) 00:50:05 thanks stassats 00:51:06 by the way, minion uses cl-irc 00:52:01 stassats: I know, but I meant, someone that has knowledge about the way cl-irc works 00:52:29 I'm going crazy trying to find _how_ to obtain usermodes with it 00:52:43 I haven't found any documentation anywhere 00:52:58 I've been just guessing how to use reading the code, but I'm lost with this part 00:53:20 s/how to use/how to use it/ 00:53:25 bangtree [n=user@pool-71-98-73-58.ipslin.dsl-w.verizon.net] has joined #lisp 00:54:02 younder [n=jpthing@062016236162.customer.alfanett.no] has joined #lisp 00:54:27 -!- abend [n=sasha@076-076-146-016.pdx.net] has quit ["Quitting..."] 00:54:28 ths [n=ths@X7722.x.pppool.de] has joined #lisp 00:54:50 tc-rucho: have you tried reading the beirc code? 00:58:10 hefnr: it's the same thing, I'm _lost_ there 00:58:26 maodun [n=stopgo@c-67-180-49-1.hsd1.ca.comcast.net] has joined #lisp 00:59:09 abend [n=sasha@076-076-146-016.pdx.net] has joined #lisp 00:59:23 Is lisp supposed to change my entire way of seeing programming in general, and supposed to be as, to be honest, mind blowing as it is? 00:59:24 -!- tcr [n=tcr@host145.natpool.mwn.de] has quit ["Leaving."] 00:59:55 i don't think lisp was designed for that 01:00:14 designed it was not. Mind blowing it is. 01:00:17 I'm starting to feel I want to major in CS and program lisp as a job 01:00:20 z0d [n=z0d@artifact.hu] has joined #lisp 01:00:47 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 01:01:01 What's the simplest way to read/write UTF-8 to/from a stream? 01:01:08 never major in CS 01:01:20 mattrepl [n=mattrepl@ip68-98-133-128.dc.dc.cox.net] has joined #lisp 01:01:21 hefner: ;_; (guess what I'm studying) 01:01:31 dmiles_afk [n=dmiles@c-24-16-246-158.hsd1.wa.comcast.net] has joined #lisp 01:01:37 ahaas: specify that as your external format, or flexi streams? 01:01:42 hefner: The only reason I wouldn't is because I have a feeling they'd try to convert me into a java monkey. 01:01:53 -!- mattrepl [n=mattrepl@ip68-98-133-128.dc.dc.cox.net] has quit [Client Quit] 01:02:02 ahaas: :external-format :utf-8 01:02:15 pkhuong: Ok, thanks. I was using flexi-streams, but didn't know if there was a more trivial read-utf-8-char method laying around. 01:02:21 hefner: I have CS & AI as my major :) 01:02:31 Quadrescence: depends on where you study. Though they help Java-people for the most part. I'm left partially free in some projects (thus allowing me to code in lisp) 01:03:00 But lisp, to me, is an almost perfect cross between the things I love: math, language/linguistics, application 01:03:03 p_l: was the AI-part fun? I'm thinking of choosing that in half a year 01:03:10 Yay! Tracing finally works on cmucl/darwin/x86. Stupid darwin assembler. 01:03:13 I'm guessing incremental-redisplay is subtly broken for with-{rotation,translation,scaling} graphics 01:03:24 yay rtoym! 01:03:25 Quadrescence: ``Lisp, the perfect lover'' ? 01:03:34 madnificent: I'm in UK, so I don't know how it would apply to you. And I'm still at the very beginning 01:03:34 madnificent: I guess so. ;) 01:03:43 rtoym: with encapsulation or breakpoints? 01:04:02 but AI part is much more fun than "Foundations of Computing Science" aka "how to be a code monkey in java" 01:04:10 pkhuong: breakpoints. It was kind of working before, but certain cases were broken. All because of a stupid assembler. 01:04:45 rtoym: interesting. That's still broken here, I believe. 01:04:51 Majorly broken, too. Segfault, and no way to get back to the repl. All you could do was kill it from another window. 01:04:54 -!- ManateeLazyCat [n=user@222.212.128.200] has quit [Read error: 104 (Connection reset by peer)] 01:05:02 especially given low quality of tasks in practical assessments (I wanted to leave comments like "This is so wrong on so many levels" through most of the points in my first assessment) 01:05:18 pkhuong: Really? I looked at the sbcl version, and it seemed ok. 01:05:30 -!- HET2 [n=diman@chello084114161225.3.15.vie.surfer.at] has quit ["This computer has gone to sleep"] 01:05:48 bhall_ [n=bhall@nat/sun/x-61f9ee019e8d04de] has joined #lisp 01:06:10 p_l: actually, that is accepted on our school. Given that you give a respectable view on things, the input of the ones taking the courses is greatly appreciated (in most cases) 01:06:23 I should start calling it university 01:06:30 pkhuong: Do you have some examples where it's broken? 01:07:27 madnificent: I didn't have enough strength to write all comments. At least the second assesment didn't force its own function signatures... 01:08:02 rtoym: just random tracing with :encapsulate nil lands you in ldb pretty regularly. 01:08:06 just have the function signatures do nothing but call your own proper API ;) 01:09:04 pkhuong: Oh. cmucl wasn't that bad. If you want to know, the problem was in function_end_breakpoint_guts. The stupid assembler assembled the jmp multiple_value_return as a 5-byte instruction, but it really needed to be a 2-byte short jmp. 01:09:54 Phoodus: those signatures pretty much forced a certain way of doing things 01:10:41 not to mention that pretty often you were ordered to do things in certain way. Not to mention that "void" as return type makes it hard for FP 01:10:56 rtoym: why does it matter? Oh, you still have the funky return to address+offset call convention. 01:11:32 okay a re-install of emacs fixed the problem 01:11:38 pkhuong: Exactly! And without a working debugger, it was pretty hard to figure out. But maybe because I was stupid. 01:12:22 rtoym: nice debugging! 01:13:09 yeah that was bad-ass debugging 01:14:43 pkhuong: I had to fix it. I use tracing *a lot*, and crashing my lisp sucks big time. 01:15:03 -!- ebzzry [n=rmm@124.217.79.64] has quit [Remote closed the connection] 01:15:24 ebzzry [n=rmm@124.217.79.64] has joined #lisp 01:16:00 -!- sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has quit [] 01:16:57 disumu [n=disumu@p57A276C9.dip.t-dialin.net] has joined #lisp 01:17:55 Jasko [n=tjasko@c-98-235-21-22.hsd1.pa.comcast.net] has joined #lisp 01:18:11 If you had a function that takes a stream argument, and you wanted to wrap that stream in a flexi-stream, would you use a LET and shadow the original, or SETF to rebind the variable? 01:18:55 simplechat [n=simplech@unaffiliated/simplechat] has joined #lisp 01:19:52 ahaas: I would allow the user to pass either a flexi-stream or a regular one, and setf to a flexi-stream when needed. 01:20:05 pkhuong: Thanks! 01:25:27 _ace4016_ [i=ace4016@76.168.248.118] has joined #lisp 01:26:02 sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has joined #lisp 01:26:09 -!- ace4016 [i=ace4016@cpe-76-168-248-118.socal.res.rr.com] has quit [Nick collision from services.] 01:26:13 -!- _ace4016_ is now known as ace4016 01:27:09 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 01:29:06 -!- felipe [n=felipe@my.nada.kth.se] has quit [Client Quit] 01:29:32 bit` [n=bit@c-71-193-240-79.hsd1.or.comcast.net] has joined #lisp 01:30:36 -!- isismelting [n=jo@ip72-197-229-240.sd.sd.cox.net] has left #lisp 01:31:58 fusss pasted "possibly bad sbcl setup?" at http://paste.lisp.org/display/72324 01:33:32 fusss: it's just a contrib; if the symbols aren't there, they won't be used. 01:34:25 -!- segv [n=mb@72-255-20-161.client.stsn.net] has quit [Read error: 104 (Connection reset by peer)] 01:34:40 just being overly cautious here, sorry 01:34:49 -!- maodun [n=stopgo@c-67-180-49-1.hsd1.ca.comcast.net] has quit [Read error: 54 (Connection reset by peer)] 01:35:58 hrm... that's annoying. find-pane won't find my pane because it's a border-pane which isn't a clim-stream-pane. 01:35:58 rvirding [n=chatzill@h235n3c1o1034.bredband.skanova.com] has joined #lisp 01:36:25 -!- b4|hraban [n=b4@0brg.xs4all.nl] has quit [Remote closed the connection] 01:36:35 segv [n=mb@72-255-20-161.client.stsn.net] has joined #lisp 01:36:52 O_4 [n=souchan@ip-118-90-84-42.xdsl.xnet.co.nz] has joined #lisp 01:37:59 well, I can cheat by doing (car (frame-current-panes ... but that seems bogus. 01:38:33 what I really want is for my command to trigger a full redraw of the pane. I want incremental-redisplay, except of course when I don't (like when I've changed the scale of the whole view) and I want everything redraw. 01:38:35 n. 01:40:47 ths__ [n=ths@X5cd2.x.pppool.de] has joined #lisp 01:42:09 -!- ths [n=ths@X7722.x.pppool.de] has quit [Read error: 60 (Operation timed out)] 01:44:24 find-pane-named should work fine. it's just get-frame-pane that does that stupidity. 01:45:31 hugod_ [n=hugo@bas1-montreal50-1279442397.dsl.bell.ca] has joined #lisp 01:45:31 -!- hugod [n=hugo@bas1-montreal50-1279442397.dsl.bell.ca] has quit [Read error: 131 (Connection reset by peer)] 01:46:21 -!- crod [n=cmell@cad439-031.dynamic.tiki.ne.jp] has quit [Read error: 110 (Connection timed out)] 01:46:32 is there a way to tell asdf-install to install packages from a local mirror? :-P 01:46:37 crod [n=cmell@cad439-217.dynamic.tiki.ne.jp] has joined #lisp 01:47:13 change its code 01:47:13 i'm using stuff that has *.asd files not just in the top level directory, but inside as well. my self-made script to populate site-systems with symlinks breaks down sometime 01:47:23 no time for that 01:48:27 -!- Starsie [n=Stars@pool-71-178-226-102.washdc.fios.verizon.net] has quit [Remote closed the connection] 01:50:23 -!- segv [n=mb@72-255-20-161.client.stsn.net] has quit [Read error: 60 (Operation timed out)] 01:50:57 anybody knows offhand whether it is allowed to use macros in the initialization forms of &key and &optional arguments? 01:51:40 seems like sbcl is not expanding there... 01:52:33 segv [n=mb@72-255-20-161.client.stsn.net] has joined #lisp 01:52:47 "An init-form can be any form." are macros "any form"? 01:52:59 fusss: Do you have any non-compressed swfs w/ code in them? 01:53:12 -!- bangtree [n=user@pool-71-98-73-58.ipslin.dsl-w.verizon.net] has quit ["time to go"] 01:53:21 ahaas: without code 01:53:32 you trying a decompiler? 01:54:05 fusss: I am parsing swfs and outputting them again, but the output isn't working. 01:54:06 -!- rottcodd [n=user@ppp59-167-54-88.lns1.cbr1.internode.on.net] has quit [Read error: 110 (Connection timed out)] 01:54:11 i don't have the adobe tools, isn't compression something you enable manually? 01:54:13 i was wrong, it's something deeper. a simple macro was expanded 01:54:31 fusss: I use mxmlc and you can't disable compression. 01:54:42 ahaas: have you tried swfdump? 01:55:04 fusss: To do what? 01:55:25 swfdump -a foo.swf; it disassembles the code section of the swf 01:55:30 attila_lendvai: sure it is. What makes you think that doesn't work? 01:56:09 fusss: Thanks. I'll check it out. I hope it can give me some hints. 01:56:21 ahaas: http://www.swftools.org/download.html 01:56:44 nearly all other tools barf at flexbuilder generated code. this one doesn't. 01:58:21 pkhuong, stassats: ok, i see it now. here's the whole story: cl-quasi-quote is reading stuff into various CLOS AST's and wraps the toplevel with a macro call that runs the transformation pipeline at macroexpand time. the problem is that defun seems to dump its read sexp form into the fasl, which in my case contains clos instances. one of them is invalid and i get this error... (paste follows) 01:58:50 thanks hefner 01:58:59 will that find child panes down in the heirarchy? 01:59:03 hier... 02:00:22 attila pasted "funny sbcl fasl dump error" at http://paste.lisp.org/display/72325 02:00:50 -!- phf [n=phf@c-98-231-150-21.hsd1.md.comcast.net] has quit ["Leaving..."] 02:00:59 hahahaha 02:01:01 ack. that only finds my border frame. I need the drawing substrate pane somehow. 02:01:07 that's a great error. 02:01:08 oh well, time to catch the train... 02:01:25 attila_lendvai: that's got nothing to do with macros and everything with being able to dump that object. 02:01:39 attila annotated #72325 with "clarification" at http://paste.lisp.org/display/72325#1 02:02:31 attila_lendvai: wait, did you add the 'How did this happen?' 02:02:39 sykopomp: no 02:03:03 slyrus__: why would name a border pane? 02:03:44 -!- JuanDaugherty [n=juan@cpe-72-228-150-44.buffalo.res.rr.com] has quit ["Leaving"] 02:04:34 -!- segv [n=mb@72-255-20-161.client.stsn.net] has quit [Read error: 145 (Connection timed out)] 02:05:28 -!- eevar [n=snuffpup@127.80-203-27.nextgentel.com] has quit [Read error: 104 (Connection reset by peer)] 02:08:03 -!- fe[nl]ix [n=algidus@88-149-211-176.dynamic.ngi.it] has quit ["Valete!"] 02:09:00 fe[nl]ix [n=algidus@88-149-211-176.dynamic.ngi.it] has joined #lisp 02:09:06 -!- O_4 [n=souchan@ip-118-90-84-42.xdsl.xnet.co.nz] has quit [] 02:10:50 O_4 [n=souchan@ip-118-90-84-42.xdsl.xnet.co.nz] has joined #lisp 02:12:17 pkhuong: a base class of that instance has a make-load-form with the body (make-load-form-saving-slots instance :environment environment). could this be an sbcl issue? 02:18:44 -!- slyrus__ [n=slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has quit [Read error: 110 (Connection timed out)] 02:19:05 -!- l4ndfo [n=l4ndfo@catv-89-132-93-183.catv.broadband.hu] has quit [Remote closed the connection] 02:19:37 damn, it seems to work in my attempt to reproduce it 02:20:45 -!- ltbarcly [n=jvanwink@nc-76-0-128-24.dhcp.embarqhsd.net] has quit [Read error: 60 (Operation timed out)] 02:21:52 O_4_ [n=souchan@ip-118-90-84-42.xdsl.xnet.co.nz] has joined #lisp 02:22:51 eno__ [n=eno@adsl-70-137-132-182.dsl.snfc21.sbcglobal.net] has joined #lisp 02:23:39 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 104 (Connection reset by peer)] 02:26:56 slangan [n=hask@h44n2c1o1097.bredband.skanova.com] has joined #lisp 02:29:50 attila_lendvai: no idea. 02:30:38 fopcompile.lisp line 228 has some comments about a minor confusion probably related to this 02:30:41 -!- O_4 [n=souchan@ip-118-90-84-42.xdsl.xnet.co.nz] has quit [Read error: 110 (Connection timed out)] 02:31:30 it says that this validation should be turned off while dumping fopcompilable structs (whatever that means) 02:31:33 -!- sam_ [n=Sami__@hoasnet-fe1add00-113.dhcp.inet.fi] has quit [] 02:32:54 O_4 [n=souchan@ip-118-90-84-42.xdsl.xnet.co.nz] has joined #lisp 02:34:08 echo-area [n=user@nat/yahoo/x-ac2a499727a1cd3b] has joined #lisp 02:34:09 Cowmoo [n=Cowmoo@c-98-218-212-106.hsd1.va.comcast.net] has joined #lisp 02:34:11 sam_ [n=Sami__@hoasnet-fe1add00-113.dhcp.inet.fi] has joined #lisp 02:34:37 -!- ebzzry [n=rmm@124.217.79.64] has quit [Remote closed the connection] 02:34:42 BrianRice-mb [n=briantri@c-98-225-51-246.hsd1.wa.comcast.net] has joined #lisp 02:34:50 -!- mrsolo [n=mrsolo@nat/yahoo/x-bb97306347d1df3d] has left #lisp 02:35:34 l4ndfo [n=l4ndfo@catv-89-132-93-183.catv.broadband.hu] has joined #lisp 02:35:41 -!- BrianRice [n=briantri@c-98-225-51-246.hsd1.wa.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 02:36:03 -!- amnesiac [n=amnesiac@p3m/member/Amnesiac] has quit ["Leaving"] 02:37:35 -!- dialtone_ [n=dialtone@adsl-99-136-101-166.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 02:39:10 eno [n=eno@nslu2-linux/eno] has joined #lisp 02:39:22 -!- eno__ [n=eno@adsl-70-137-132-182.dsl.snfc21.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 02:41:29 -!- O_4_ [n=souchan@ip-118-90-84-42.xdsl.xnet.co.nz] has quit [Read error: 110 (Connection timed out)] 02:44:06 O_4_ [n=souchan@ip-118-90-84-42.xdsl.xnet.co.nz] has joined #lisp 02:48:42 -!- lemonodor [n=lemonodo@76.214.2.185] has quit [] 02:52:49 -!- mejja [n=user@c-4db6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 02:53:14 dialtone [n=dialtone@adsl-75-17-56-28.dsl.pltn13.sbcglobal.net] has joined #lisp 02:53:47 -!- O_4 [n=souchan@ip-118-90-84-42.xdsl.xnet.co.nz] has quit [Read error: 110 (Connection timed out)] 02:55:32 O_4 [n=souchan@ip-118-90-84-42.xdsl.xnet.co.nz] has joined #lisp 02:55:57 -!- sam_ [n=Sami__@hoasnet-fe1add00-113.dhcp.inet.fi] has quit [] 02:57:51 kpreid [n=kpreid@cpe-67-242-2-23.twcny.res.rr.com] has joined #lisp 02:58:06 sam_ [n=Sami__@hoasnet-fe1add00-113.dhcp.inet.fi] has joined #lisp 03:00:58 something [n=afeng@c-68-46-48-132.hsd1.nj.comcast.net] has joined #lisp 03:02:08 I'm using (format nil "~{~a ~}" words) to concatenate a list of words into a string separated by space. However, I don't want a extra space on the end. Any way to handle this? 03:02:57 clhs ~^ 03:02:57 http://www.lispworks.com/reference/HyperSpec/Body/22_cib.htm 03:02:58 ~{~a~^ ~} 03:03:03 I think. 03:03:08 *Fare* is in eval-when hell 03:03:34 cool, thanks guys! 03:03:43 I try to define a defining-form, and it doesn't seem to be run when the FASL is loaded but not compiled 03:03:57 -!- sam_ [n=Sami__@hoasnet-fe1add00-113.dhcp.inet.fi] has quit [] 03:04:03 -!- attila_lendvai [n=ati@business-89-132-61-222.business.broadband.hu] has quit [Read error: 60 (Operation timed out)] 03:04:21 -!- leo2007 [n=leo@sl392.st-edmunds.cam.ac.uk] has quit [Read error: 110 (Connection timed out)] 03:05:50 -!- O_4_ [n=souchan@ip-118-90-84-42.xdsl.xnet.co.nz] has quit [Read error: 110 (Connection timed out)] 03:07:51 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 54 (Connection reset by peer)] 03:07:59 sam_ [n=Sami__@hoasnet-fe1add00-113.dhcp.inet.fi] has joined #lisp 03:08:33 Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has joined #lisp 03:08:54 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 03:13:01 -!- sam_ [n=Sami__@hoasnet-fe1add00-113.dhcp.inet.fi] has quit [] 03:13:20 -!- younder [n=jpthing@062016236162.customer.alfanett.no] has left #lisp 03:16:45 -!- O_4 [n=souchan@ip-118-90-84-42.xdsl.xnet.co.nz] has quit [Read error: 110 (Connection timed out)] 03:18:53 Good morning. 03:20:12 *beach* reluctantly checks his email. 03:22:50 -!- crod [n=cmell@cad439-217.dynamic.tiki.ne.jp] has quit [Read error: 60 (Operation timed out)] 03:23:42 -!- sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has quit [] 03:24:10 syamajala [n=syamajal@140.232.182.239] has joined #lisp 03:24:25 sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has joined #lisp 03:24:31 fusss: swfdump helped tremendously 03:24:46 :) 03:25:16 -!- sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has quit [Client Quit] 03:25:54 xreyes_ [n=xreyes@8.84-48-175.nextgentel.com] has joined #lisp 03:25:58 fusss: Thanks. I had a bad writer for signed variable length integers. I didn't understand sign extension the first time around. 03:26:03 -!- xreyes [n=xreyes@8.84-48-175.nextgentel.com] has quit [Read error: 113 (No route to host)] 03:27:25 ah, no additional major problem that needs to be solved this morning. 03:27:34 *beach* works on yesterdays problems. 03:28:14 beach: the clim course-work deployment? 03:28:53 ahaas: those are easy to miss. i abandoned mine in favor of xach's, but haven't had much time to do that flash side of things. still stuck on admin/infrastructure 03:29:54 fusss: Which Xach one are you talking about? 03:30:31 beannie-man cliki-bailer 03:30:45 or as mccain calls him, "that one" 03:30:58 I was asking about the Lisp code, not the man. 03:31:02 oh 03:31:04 hold on 03:31:26 b/c I think he had some older stuff, but his newer dissambler used my parser (I think) 03:31:34 -!- bobo [n=bobo@c-76-119-115-138.hsd1.ma.comcast.net] has quit [] 03:31:55 http://www.xach.com/lisp/cl-flash/test.lisp 03:32:03 awwww 03:32:24 sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has joined #lisp 03:33:01 yeah, that's old 03:33:02 someone jinxed his nginx 03:33:51 -!- Nshag [i=user@Mix-Orleans-105-1-170.w193-250.abo.wanadoo.fr] has quit ["Quitte"] 03:35:08 fusss: administration, mostly :( 03:36:13 crod [n=cmell@cad439-217.dynamic.tiki.ne.jp] has joined #lisp 03:39:22 fleeb [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has joined #lisp 03:39:48 -!- fleeb is now known as dto2 03:42:02 thom_logn [n=thom@pool-96-229-99-100.lsanca.dsl-w.verizon.net] has joined #lisp 03:44:04 good night 03:45:15 chavo_ [n=user@c-24-118-166-62.hsd1.mn.comcast.net] has joined #lisp 03:45:47 -!- joshe [n=aurum@opal.elsasser.org] has quit [Read error: 54 (Connection reset by peer)] 03:45:54 joshe [n=aurum@opal.elsasser.org] has joined #lisp 03:47:09 ManateeLazyCat [n=user@222.212.128.200] has joined #lisp 03:47:24 -!- chavo_ [n=user@c-24-118-166-62.hsd1.mn.comcast.net] has quit [Remote closed the connection] 03:48:20 -!- tic [n=tic@c83-249-194-249.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 03:48:23 tic [n=tic@c83-249-194-249.bredband.comhem.se] has joined #lisp 03:48:40 slash__ [n=Unknown@whgeh0138.cip.uni-regensburg.de] has joined #lisp 03:49:30 -!- disumu [n=disumu@p57A276C9.dip.t-dialin.net] has quit ["zzz"] 03:49:37 -!- madnificent [n=user@83.101.62.132] has quit [Read error: 104 (Connection reset by peer)] 03:49:47 madnificent [n=user@83.101.62.132] has joined #lisp 03:50:32 -!- slash_ [n=Unknown@whgeh0138.cip.uni-regensburg.de] has quit [Read error: 104 (Connection reset by peer)] 03:53:40 dcl [n=dcl@unaffiliated/dcl] has joined #lisp 03:56:03 -!- dmiles_afk [n=dmiles@c-24-16-246-158.hsd1.wa.comcast.net] has quit ["Read error: 110 (Connection timed out)"] 03:56:26 -!- ikki [n=ikki@201.155.75.146] has quit ["Leaving"] 04:00:34 aja [n=aja@S01060018f3ab066e.ed.shawcable.net] has joined #lisp 04:03:40 -!- Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has quit ["Ex-Chat"] 04:03:53 -!- CrazyEddy [n=CrazyEdd@wrongplanet/CrazyEddy] has quit [Read error: 110 (Connection timed out)] 04:04:53 _ace4016_ [i=ace4016@76.168.248.118] has joined #lisp 04:05:34 -!- ace4016 [i=ace4016@76.168.248.118] has quit [Nick collision from services.] 04:05:36 -!- spiderbyte [n=dcl@unaffiliated/dcl] has quit [Read error: 110 (Connection timed out)] 04:05:38 -!- _ace4016_ is now known as ace4016 04:05:43 -!- xreyes_ [n=xreyes@8.84-48-175.nextgentel.com] has quit [Read error: 60 (Operation timed out)] 04:06:01 ManateeL` [n=user@222.212.128.200] has joined #lisp 04:06:55 jlf`` [n=user@netblock-68-183-235-250.dslextreme.com] has joined #lisp 04:07:28 -!- jlf [n=user@209.204.171.109] has quit [Nick collision from services.] 04:07:30 -!- jlf`` is now known as jlf 04:08:08 -!- ManateeLazyCat [n=user@222.212.128.200] has quit [Read error: 60 (Operation timed out)] 04:09:49 -!- jlf [n=user@unaffiliated/jlf] has quit [Remote closed the connection] 04:10:38 -!- rvirding [n=chatzill@h235n3c1o1034.bredband.skanova.com] has left #lisp 04:12:03 jlf [n=user@netblock-68-183-235-250.dslextreme.com] has joined #lisp 04:13:57 -!- a-s [n=user@92.81.96.202] has quit [Read error: 104 (Connection reset by peer)] 04:14:06 -!- something [n=afeng@c-68-46-48-132.hsd1.nj.comcast.net] has quit [] 04:14:47 -!- jlf [n=user@netblock-68-183-235-250.dslextreme.com] has quit [Remote closed the connection] 04:14:47 dmiles_afk [i=dmiles@c-24-16-246-158.hsd1.wa.comcast.net] has joined #lisp 04:14:52 -!- syamajala [n=syamajal@140.232.182.239] has quit ["Leaving..."] 04:14:59 chavo_ [n=user@c-24-118-166-62.hsd1.mn.comcast.net] has joined #lisp 04:15:24 jlf [n=user@netblock-68-183-235-250.dslextreme.com] has joined #lisp 04:16:44 xreyes_ [n=xreyes@8.84-48-175.nextgentel.com] has joined #lisp 04:22:49 tiesje [n=user@202.63.242.211] has joined #lisp 04:23:25 -!- ace4016 [i=ace4016@76.168.248.118] has quit ["restart"] 04:23:31 i _love_ this language. from fresh vps install to web app in 1 hour. 04:23:59 fusss: oh? 04:24:13 never have few people did so much 04:24:27 5 years ago cliki must have been 1/5 of what it is now 04:26:13 -!- ManateeL` [n=user@222.212.128.200] has quit [Remote closed the connection] 04:26:31 sykopomp: replicating, not writing from scratch 04:28:17 ace4016 [i=ace4016@cpe-76-168-248-118.socal.res.rr.com] has joined #lisp 04:29:08 ManateeLazyCat [n=user@222.212.128.200] has joined #lisp 04:30:52 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 104 (Connection reset by peer)] 04:31:49 -!- chavo_ [n=user@c-24-118-166-62.hsd1.mn.comcast.net] has quit [Remote closed the connection] 04:35:33 Nocebojin [n=shaun@CPE-124-186-227-195.qld.bigpond.net.au] has joined #lisp 04:35:37 shaun_ [n=shaun@CPE-124-186-227-195.qld.bigpond.net.au] has joined #lisp 04:36:11 -!- shaun_ [n=shaun@CPE-124-186-227-195.qld.bigpond.net.au] has left #lisp 04:38:37 -!- ASau [n=user@193.138.70.52] has quit [Read error: 104 (Connection reset by peer)] 04:38:54 ASau [n=user@193.138.70.52] has joined #lisp 04:40:04 kejsaren_ [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 04:41:18 bighous1 [n=bighouse@modemcable012.160-131-66.mc.videotron.ca] has joined #lisp 04:48:34 me-so-stupid [n=hooyambo@77.236.84.166] has joined #lisp 04:48:44 replor [n=replor@EM114-48-144-206.pool.e-mobile.ne.jp] has joined #lisp 04:50:28 -!- kejsaren_ [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 104 (Connection reset by peer)] 04:50:51 yoong [n=yykim@iz4u.net] has joined #lisp 04:50:57 -!- yoong [n=yykim@iz4u.net] has left #lisp 04:51:18 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 04:57:20 -!- madnificent [n=user@83.101.62.132] has quit [Remote closed the connection] 04:57:30 madnificent [n=user@83.101.62.132] has joined #lisp 05:00:42 -!- hugod_ [n=hugo@bas1-montreal50-1279442397.dsl.bell.ca] has quit [] 05:05:12 does Leslie Polzer hang out around here? 05:05:23 -!- Fare [n=Fare@c-71-232-6-92.hsd1.ma.comcast.net] has quit [Read error: 110 (Connection timed out)] 05:05:57 nope 05:08:06 Xlas [n=28@c-463e70d5.026-58-73746f25.cust.bredbandsbolaget.se] has joined #lisp 05:08:59 freenode, the first login is on the house 05:15:41 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 60 (Operation timed out)] 05:18:02 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 104 (Connection reset by peer)] 05:18:39 -!- Xlas [n=28@c-463e70d5.026-58-73746f25.cust.bredbandsbolaget.se] has quit [] 05:18:41 eno [n=eno@nslu2-linux/eno] has joined #lisp 05:22:59 Bewilder [i=jabber-i@number-41.thoughtcrime.us] has joined #lisp 05:24:23 -!- slangan [n=hask@h44n2c1o1097.bredband.skanova.com] has quit [Read error: 131 (Connection reset by peer)] 05:24:36 slangan [n=hask@h44n2c1o1097.bredband.skanova.com] has joined #lisp 05:25:03 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 104 (Connection reset by peer)] 05:26:33 -!- froog [n=user@81-234-149-249-no94.tbcn.telia.com] has quit [Read error: 110 (Connection timed out)] 05:28:51 eno [n=eno@nslu2-linux/eno] has joined #lisp 05:30:09 binarycodes [n=sujoy@59.93.161.78] has joined #lisp 05:30:21 -!- saikat [n=saikat@user-12lc4ta.cable.mindspring.com] has quit [] 05:30:22 -!- replor [n=replor@EM114-48-144-206.pool.e-mobile.ne.jp] has quit [Read error: 110 (Connection timed out)] 05:33:00 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit [Remote closed the connection] 05:35:22 fusss: What are you setting? 05:36:47 setting? just launching a weblocks appy 05:37:08 fusss: That's what I was wondering about :) 05:37:28 ecommerce site in arabic 05:38:18 fusss: Post the link when there's something to see from outside, please? I don't really have time now, but weblocks is high on my TODO :) 05:38:19 weblocks broke since the last download, the asdf-installed one says "ASDF0" is undefined 05:38:48 cl-prevalence is missing too, can't find prevalence.lisp in the root, etc. just fetching older copies from my private repos. 05:39:33 p_l: of course. 05:42:46 -!- existentialmonk [n=carcdr@64-252-145-185.adsl.snet.net] has quit [Remote closed the connection] 05:44:19 -!- bighous1 is now known as bighouse 05:46:49 -!- wlr_ [n=walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Remote closed the connection] 05:49:46 wlr [n=walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 05:50:05 Reaver_1 [n=m@193.108.254.83] has joined #lisp 05:55:29 lemonodor [n=lemonodo@76.214.2.185] has joined #lisp 05:57:17 -!- binarycodes [n=sujoy@59.93.161.78] has quit ["WeeChat 0.2.6"] 05:58:15 rullie [n=rullie@CPE00222d13276c-CM00222d132768.cpe.net.cable.rogers.com] has joined #lisp 05:58:49 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 06:02:09 Can someone describe how one might implement EVAL? 06:02:59 I've thought about it. And I was thinking about the use of a double-ended queue ('deque'). 06:03:27 topriddy [n=JAVABOY@80.255.61.29] has joined #lisp 06:03:32 Quadrescence: The classical solution was to write a lisp implementation 06:04:06 aka "If I implement (eval x) in machine code, I'll get lisp" 06:05:12 Quadrescence: something like this: http://jonex.info/dump/yolisp.jpg 06:06:13 gdmfsob [n=gdmfsob@94.178.0.182] has joined #lisp 06:06:21 fukken saved 06:07:12 to be a little more serious: http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-26.html#%_sec_4.1 06:07:30 rottcodd [n=user@ppp59-167-54-88.lns1.cbr1.internode.on.net] has joined #lisp 06:08:39 In effect, we conjure the spirits of the computer with our spells. 06:10:46 CyberShaman 06:11:52 nagnals [n=hask@h44n2c1o1097.bredband.skanova.com] has joined #lisp 06:11:53 stassats: so you can eval while you eval 06:16:01 minion: tell Quadrescence about LiSP 06:16:01 Quadrescence: direct your attention towards LiSP: "Lisp in Small Pieces". This book covers Lisp, Scheme and other related dialects, their interpretation, semantics and compilation. To sum it up in a few figures: 500 pages, 11 chapters, 11 interpreters and 2 compilers. 06:16:20 beach: I haven't been able to get my hands on the book. :( 06:16:30 Quadrescence: Amazon.com has it. 06:16:43 beach: My wallet doesn't, unfortunately. 06:17:28 Quadrescence: well, I am afraid you are out of luck then, because that's a topic that is a bit too complex to handle on IRC. 06:18:51 beach: Well, you could send ova sum dolla dolla billz to moi 06:19:46 you could get the coughtorrentcough lol 06:20:34 -!- lemonodor [n=lemonodo@76.214.2.185] has quit [] 06:21:42 Nocebojin: Maybe I have coughtorrentcough every book on lisp I could find. 06:22:36 -!- slangan [n=hask@h44n2c1o1097.bredband.skanova.com] has quit [Connection timed out] 06:22:38 lemonodor [n=lemonodo@76.214.2.185] has joined #lisp 06:23:18 except the one you want now :P 06:23:44 Yar 06:26:51 -!- bhall_ [n=bhall@nat/sun/x-61f9ee019e8d04de] has quit ["leaving"] 06:27:12 coughmininova.orgcough thats where you can get any coughtorrentcough 06:28:36 tried that, i couldnt find it there. found the treasure at the pirate bay though 06:28:39 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 06:31:06 -!- ASau [n=user@193.138.70.52] has quit [Remote closed the connection] 06:31:20 ASau [n=user@193.138.70.52] has joined #lisp 06:40:57 -!- bombshelter13 [n=bombshel@209-161-228-143.dsl.look.ca] has quit [] 06:41:23 -!- aja [n=aja@S01060018f3ab066e.ed.shawcable.net] has quit [Client Quit] 06:41:34 beach` [n=user@ABordeaux-158-1-112-109.w90-60.abo.wanadoo.fr] has joined #lisp 06:41:46 HET2 [n=diman@chello084114161225.3.15.vie.surfer.at] has joined #lisp 06:43:25 seb- [n=seb@li30-51.members.linode.com] has joined #lisp 06:43:34 why are expression called "S-expressions" ? 06:43:47 or worse...sexp 06:44:21 how about "what does the `s' stand for?" 06:44:31 symbolic expressions? 06:44:36 lnostdal: that one sounds smarter 06:44:47 stassats: ah ok 06:45:22 http://www-formal.stanford.edu/jmc/recursive/node3.html 06:45:40 bhall [n=bhall@unaffiliated/bhall] has joined #lisp 06:45:41 sex-p is a constant function that returns NIL for every value :-S 06:45:41 stassats: i think i like "symbolic expression" better than S-expression..is that ok? 06:45:56 stassats: or Lisp expression even more 06:46:08 seb-: i don't know what is ok for you 06:46:36 stassats: ok = not blatantly lame 06:46:57 what about "lisp"..? 06:47:00 heh 06:47:34 you can call it however you like, though any lisper will understand sexp, s-expresion, and so on 06:47:35 maybe "not-so-python" would be better 06:48:14 seb-: dude lisp is, like, totally hip. We be up in your face with sexy expressions. 06:48:24 lol 06:48:31 seb-: for serious, lisp is like all over tha' shit 06:48:38 *sykopomp* makes bizarre gestures. 06:49:04 maybe like this http://www.fohguild.org/forums/attachments/screenshots/95895d1229374265-funny-strange-random-pics-24mcj1g.jpg , sykopomp 06:49:29 though .. in cl .. it should probably be what-p 06:49:33 stassats: that stanford doc is quite nice 06:49:57 stassats: i don't know what would be more enlightening...read it all or *writing* a spec like that :) 06:51:18 seb-: One would imagine that if you put the time into figuring out the concepts enough to write such a thing, you would understand them better than someone who was simply reading them. 06:51:19 it doesn't have any enlightening information if you already know lisp 06:51:41 it is more of historic interest 06:52:36 -!- beach [n=user@ABordeaux-158-1-127-127.w90-60.abo.wanadoo.fr] has quit [Nick collision from services.] 06:52:38 -!- beach` is now known as beach 06:52:49 stassats: i realize this is obvious to most but "list" can be used interchangeably w/ s-expression 06:53:03 -!- HET2 [n=diman@chello084114161225.3.15.vie.surfer.at] has quit ["This computer has gone to sleep"] 06:53:05 stassats: so "list" is another options 06:53:13 option* 06:53:25 seb-: I fail to see the problem with s-exp 06:53:37 sykopomp: it is fine 06:53:43 seb-: not to mention, 'list' tends to refer more to the data structure. 06:53:47 seb-: I don't use it that way. I consider atoms to be s-expressions as well. 06:53:50 s-exp more provides a unit of meaning. 06:53:52 i like 'expression with many parenthesis' 06:54:03 stassats: parentheses* 06:54:13 thanks 06:54:20 *beach* goes to work 06:54:26 beach: good point 06:54:36 mornin' beach 06:54:37 btw 06:54:57 ThomasI [n=thomas@unaffiliated/thomasi] has joined #lisp 06:55:12 meh 06:55:17 elephant is killing me 06:55:21 -!- Reaver_1 [n=m@193.108.254.83] has quit ["Leaving."] 06:55:27 fusss: what's wrong? 06:55:50 *lnostdal* needs something a bit "cooler" than plain-old-Postmodern soon .. 06:55:58 ..and i'm lost .. think elephant'll kill me too? :} 06:56:07 "Copy config.sexp in elephant root directory to my-config.sexp and edit it appropriately.", well yeah, i have REPEATEDLY. 06:56:07 lnostdal: how big's your database? :P 06:56:36 lnostdal: rucksack looks great, but it's too much of "configure it in detail to your appropriate site needs" 06:56:59 fusss: skypher's pretty good about replying to e-mails. 06:57:20 who's skypher? 06:57:25 leslie polzer 06:57:46 slacking12 [n=slacking@ip68-101-220-87.sd.sd.cox.net] has joined #lisp 06:57:50 hum, not sure yet, sykopomp .. might as well start looking for something a bit smart now instead of having to deal with it later when it gets bigger 06:58:07 sykopomp: i know he is quick to reply, just can't wait that long myself 06:58:25 lnostdal: are you using cl-weblocks too? 06:58:28 lnostdal: I used bknr to prototype for my game. It was fantastic, but my data just got waaaay huge. 06:59:05 you got bknr running? lucky you. 06:59:06 nope, fusss .. i'm using my own weird web thing 06:59:06 plus, if you use bknr, it's actually pretty easy to port. They both use with-transaction, so you just have to mess around with the classes a bit, and configure elephant. 06:59:10 hey all. I was hoping to get some feedback. I've started going through some common lisp tutorials, but I've also been looking at scheme as well. I guess I like the advantages of simpler syntax and a more narrowly focused procedure for doing things, but I'm wondering what people think as far as the major disadvantages 06:59:23 fusss: just the datastore+indices. It was actually really easy to set up :) 06:59:35 -!- oudeis [n=oudeis@bzq-79-183-101-69.red.bezeqint.net] has quit ["This computer has gone to sleep"] 06:59:44 slacking12: We'll give feedback on Lisp stuff, but scheme goes in #scheme 06:59:51 if I find syntax a bit more digestable initially, is there any reason why I shouldn't learn it for the time being as opposed to sticking just to CL 07:00:02 -!- netaust1n [n=austinsm@160.79.78.72] has quit [] 07:00:11 yes, it's just a general question what people's opinion is 07:00:13 I don't see any harm in learning both. 07:00:29 slacking12: people do interesting and useful things in both languages. 07:00:38 slacking12, there's http://community.schemewiki.org/?Scheme-VS-Common-Lisp 07:00:48 PLT Scheme is pretty complete, from what I'm told. 07:01:26 lnostdal: thanks. I'm stumbled across that comparison as well 07:02:06 weblocks has an in-memory store builtin 07:02:26 sykopomp: thanks I'll check it out. I was just wondering, cause while I can clearly see the disadvantages of pursuing just emacs lisp (for example) right now, but I'm not just savvy about the finer distinctions between cl and scheme. Thanks for the feedback all 07:02:35 slacking12: basically Scheme is pristine, beautiful and elegant.. and Common Lisp is for "real work"...but as was said...people do some real work in Scheme 07:03:12 Chicken has a lot of real work going on. 07:03:14 slacking12: no one really uses just "scheme", you will have to pick an implementation and learn it thoroughly 07:03:19 -!- ThomasI [n=thomas@unaffiliated/thomasi] has quit ["Bye Bye!"] 07:03:29 seb-: I find CL to be quite elegant. Not as small, but quite a lot of work put into defining it. 07:03:56 yeah, I think right now being newer to programming in general, scheme is the right way to go. I don't want to get turned off by some of CL's more syntactically complicated elements and just go back to working with a diffierent high-level language 07:03:59 rlpowell: i worked at chicken's Eggs and they're not even close to the stuff that we have for CL. no contest. 07:04:12 Oh, in terms of lib support? Yeah. THat's why I'm using CL. 07:04:30 Just saying. 07:04:53 slacking12: if you don't like something, don't use it. 07:05:20 if you need libraries you don't use any Lisp. 07:05:47 i really wonder if newbies really _get_ the point of Lisp. Common Lisp suits professional developers who got burnt by massive systems like Win32 SDK, Java, .NET, etc. Scheme is for people who want to admire a five line function all day. 07:05:48 well, I'm a new CSE major 07:06:04 I know it's going to be useful, and I'll need to familiarize myself with a lot of diff. languages 07:06:53 slacking12: learn both. 07:06:53 slacking12: get into language theory and semantics (Nielson and Nielson is a great intro) that was you can look a one page description of a language and "get" it. 07:06:54 I'm just still new when it comes to the actual process (developing algorithms... actual implementation), so I'm just working out what would be the most productive way for me to be starting out 07:07:07 fusss: Sure, ``scheme''. I have to use gambit, but it doesn't mean I haven't managed to do anything useful. 07:07:43 slacking12: the most productive way is to just get hacking and reading. Never mind trying to find the ideal language. 07:07:59 true 07:08:05 thanks everyone. Back to reading 07:08:09 o/ 07:08:15 pkhuong: it frustrates the hell out of me. not so much the language as the lack of environment. i peek and poke around a CL repl and find out things on my own. scheme just returns brief, muted errors. 07:08:28 there is no ideal 07:08:31 vtl [n=user@nat/redhat/x-b366f3343f39be06] has joined #lisp 07:08:47 yeah! ive never used a repl before. its pretty fun 07:08:48 If the language you've decided to hack with becomes an issue, you'll have learned something and can look for something else in an informed manner. 07:08:52 -!- ia [n=ia@89.169.165.188] has quit [Client Quit] 07:09:04 also, learn C 07:09:13 I am 07:09:17 I love pointers actually 07:09:20 slacking12: start with Java and C++. You'll wonder what the heck is wrong with you. 07:09:22 slacking12: hacking comes first, reading second, imo. Otherwise, you'll miss the point of most of what you read. 07:09:42 fusss: grep and etags ;) 07:09:48 -!- holycow [n=new@mail.wjsgroup.com] has quit [Read error: 145 (Connection timed out)] 07:10:11 -!- vtl [n=user@nat/redhat/x-b366f3343f39be06] has quit [Remote closed the connection] 07:10:13 a decent disassembler and any debugger other than gdb 07:10:25 fusss: and, as a last resort, going to the lab to ask around. 07:10:43 sykopomp, about bknr .. i get the clos <--> db thing i think .. but what about queries? .. can, or is one meant to, switch back to plain old sql queries for that? 07:10:46 yeah, I actually do get to do a lot of useful stuff. I do some development for a news website, and I've been working a lot with databases, using regexes, parsing text files 07:11:00 which is why I got turned on to lisp... I use emacs all the time 07:11:19 so I thought the interactive debugging abilities were awesome for development/learning 07:11:30 lnostdal: bknr indices did a good enough job for me. 07:11:48 i'm glad i started in the computing underground. the "professional" programmers are whinny wankers, really. there are kids in the demo scene who can hack circles around any working programmer. 07:12:01 lnostdal: but it's pretty distant from writing SQL stuff, I think. I found it to be nice for prototyping. If my dataset had stayed small, I would've kept it, though. 07:12:15 fusss: there isn't any kid in the demo scene anymore. 07:12:27 pkhuong: we aged well :-D 07:12:42 pkhuong: they all went to work on Spore or something. 07:12:47 (they made it seem that way...) 07:12:54 *lnostdal* misses xmode and MCGA 256 color etc. .. x) 07:13:41 good morning 07:13:51 VESA, unreal mode, many a good night spent in reseting jumpers on the mother-board after a modified version of pmode.asm (one from simtel) didn't work properly 07:13:52 ok, sykopomp 07:14:03 sykopomp: or at Epic, id, nvidia, ... 07:14:28 heh 07:14:41 -!- nagnals [n=hask@h44n2c1o1097.bredband.skanova.com] has left #lisp 07:15:07 I hope I can actually turn out to be a decent programmer. Everyone I talk to has at least several years' advantage :( 07:15:29 starting at 21 with an art background doesn't sound like the fast track to happy hacking. 07:15:40 lol 07:15:45 sykopomp: it might the slow track to not burning out. 07:16:19 pkhuong: that doesn't sound too terrible. I like not being burnt out or bitter. 07:17:34 -!- Draggor is now known as BigMelons 07:18:52 oudeis [n=oudeis@89-139-152-237.bb.netvision.net.il] has joined #lisp 07:21:31 -!- bhall [n=bhall@unaffiliated/bhall] has quit ["leaving"] 07:22:11 bhall [n=bhall@unaffiliated/bhall] has joined #lisp 07:22:43 mulligan [n=user@e178051219.adsl.alicedsl.de] has joined #lisp 07:26:36 -!- slacking12 [n=slacking@ip68-101-220-87.sd.sd.cox.net] has quit ["Leaving"] 07:29:02 slyrus_ [n=slyrus@adsl-68-121-172-169.dsl.pltn13.pacbell.net] has joined #lisp 07:29:18 evening 07:29:53 -!- dcl is now known as spiderbyte 07:30:00 ugh! I lost the marker for my whiteboard. 07:30:05 Aankhen`` [n=Aankhen@122.162.224.129] has joined #lisp 07:32:58 -!- yangsx [n=yangsx@218.247.244.25] has quit [Connection timed out] 07:33:44 unbeleivable 07:34:04 i have two _identical_ environments, but app works on one and not the other 07:34:31 two fresh vps installs of the same OS image, rsynced. 07:34:39 -!- BigMelons is now known as MyMelons 07:35:46 scp /etc/passwd root@remote:/etc/passwd even 07:36:04 me-so-stupid_ [n=hooyambo@77.236.84.166] has joined #lisp 07:37:17 -!- me-so-stupid [n=hooyambo@77.236.84.166] has quit [Read error: 104 (Connection reset by peer)] 07:37:47 -!- fe[nl]ix [n=algidus@88-149-211-176.dynamic.ngi.it] has quit ["Valete!"] 07:38:48 fe[nl]ix [n=algidus@88-149-211-176.dynamic.ngi.it] has joined #lisp 07:42:37 -!- nullwork [n=nullwork@c-24-245-23-122.hsd1.mn.comcast.net] has quit [Remote closed the connection] 07:44:46 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["The funniest things in my life are truth and absurdity."] 07:46:14 netaust1n [n=austinsm@cpe-98-14-220-121.nyc.res.rr.com] has joined #lisp 07:48:20 -!- slash__ is now known as slash_ 07:52:07 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 07:58:46 jestocost [n=cmell@cb8a6a-204.dynamic.tiki.ne.jp] has joined #lisp 08:00:26 -!- crod [n=cmell@cad439-217.dynamic.tiki.ne.jp] has quit [Read error: 110 (Connection timed out)] 08:00:45 yangsx [n=yangsx@218.247.244.25] has joined #lisp 08:02:46 ecraven [n=nex@140.78.42.103] has joined #lisp 08:03:33 ebzzry [n=rmm@124.217.79.64] has joined #lisp 08:03:40 -!- dto2 is now known as ssss 08:03:56 -!- ssss is now known as dddd 08:08:30 -!- tiesje [n=user@202.63.242.211] has quit [Read error: 54 (Connection reset by peer)] 08:10:00 maodun [n=stopgo@c-67-180-49-1.hsd1.ca.comcast.net] has joined #lisp 08:10:20 -!- maodun [n=stopgo@c-67-180-49-1.hsd1.ca.comcast.net] has left #lisp 08:11:22 -!- dddd [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 08:12:06 dto2 [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has joined #lisp 08:16:06 -!- araujo [n=araujo@gentoo/developer/araujo] has quit ["Leaving"] 08:21:13 Aha! I realize why scheme specs are labeled R^nRS (the R^n part) 08:21:15 uhh... how can you capture the environment a function/method is defined in?... 08:21:58 sykopomp: don't think you can just capture it... 08:22:46 sykopomp: that is *I* don't think you can just capture it 08:23:30 heh. 08:23:50 -!- dto2 [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has quit [Remote closed the connection] 08:23:59 -!- dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has quit [Remote closed the connection] 08:24:17 sykopomp: why do you need that? 08:24:29 dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has joined #lisp 08:24:57 stassats: I'm working on the method-like things that dispatch on prototypes. 08:25:49 sykopomp: you mean the entire environmant? 08:25:56 sp? 08:26:04 *drewc* can't spell 08:26:22 drewc: I... don't really know what I'm doing. I figure capturing teh environment means you capture whatever's going on in the lexical env you're in (so it would be viable to use the methods for closures?) 08:27:28 heh 08:27:36 capturing the environment he says 08:27:40 browsing the sbcl source yields a bit of confusion. I'm going by AMOP and the papers I'm reading... 08:28:24 you can't just "capture" it, it's not passed around in a tea cup. environment == hashtable. variable/value association. 08:28:33 -!- rsynnott [i=rsynnott@spoon.netsoc.tcd.ie] has quit [Read error: 110 (Connection timed out)] 08:29:10 the way to capture the environment is to write your own reader, or blow holes in the builtin one, or wrap it it 08:29:33 rcy [n=rcy@S01060002553240a8.vc.shawcable.net] has joined #lisp 08:29:36 closures capture environment 08:29:38 sorry i'm cranky, weblocks wasted my time, royally 08:30:03 stassats: that they do. Would they work? 08:31:17 fusss: what's wrong with weblocks? 08:31:27 ahhh 08:31:28 as the name, lexical, says, you can do with it only what was already in the source 08:31:40 where do i start 08:31:54 hm 08:32:17 (defstore *foo* :memory) ==> error "can't find memory-store.lisp" 08:32:21 okay, I guess to make a more straightforward question. What do I need to do/read in order to have my little method-definer macro work like a defun or a defmethod? 08:32:33 -!- cmatei [n=cmatei@85.186.180.45] has quit [Read error: 110 (Connection timed out)] 08:32:46 i have tried three different versions, each broken in its own special way. "ASDF0" undefined 08:32:49 aerique [i=euqirea@xs2.xs4all.nl] has joined #lisp 08:33:04 sykopomp: what's so special about defun or defmethod? 08:33:19 fusss: i've never used weblocks .. but i use similar approaches to web dev ... so i'm wondering if it's weblocks specific 08:33:30 stassats: Don't they do something special to evaluate their bodies inside the environment they were defined in? (closures)? 08:34:51 drewc: it does all the right things, when it works 08:35:50 -!- pierre_thierry [n=pierre@black.delerce.fr] has quit [Read error: 110 (Connection timed out)] 08:36:18 fusss: and when it doesn't? 08:36:30 (defmacro simple-defun (name lambda-list &body body) `(setf (symbol-function ',name) (lambda ,lambda-list ,@body))) 08:37:09 drewc: it's really hard to tell. the thing is opaque. 08:37:21 fusss: ok, then i understand 08:37:27 stassats: does that work inside a closure?... 08:37:28 like ucw was 5 years ago 08:37:29 i really shouldn't just bitch about weblocks, it's a combination 08:37:48 drewc: did you get the docs ready for ucw? :) 08:38:00 sykopomp: "ready" no ... 08:38:06 H4ns1 [n=Hans@p57BBA476.dip0.t-ipconnect.de] has joined #lisp 08:38:14 sykopomp: i got caught up with real work... 08:38:25 but real soon now 08:38:29 crod [n=cmell@cb8a5b-174.dynamic.tiki.ne.jp] has joined #lisp 08:38:30 docs galore 08:38:36 sykopomp: why shouldn't it? 08:38:42 stassats: I guess I'm confused as to why AMOP was talking about different environments when defining a method, and how it was a bit more of an implementation explanation, so it just set the method's :environment to top level. 08:38:48 I honestly don't know :) 08:38:58 -!- jestocost [n=cmell@cb8a6a-204.dynamic.tiki.ne.jp] has quit [Read error: 110 (Connection timed out)] 08:39:06 mrsolo [n=mrsolo@adsl-68-126-187-226.dsl.pltn13.pacbell.net] has joined #lisp 08:39:37 sykopomp: you're a right, a defun closes the lexical environment of all the free variables in a function body. you want first-class environments. you will need to write your own reader. closures can capture environments but they're not first class objects. let me explain. 08:40:05 sykopomp: it's important to realize how method bodies work ... 08:40:53 drewc: amop just chucks the text for the body in plain text into a slot :P 08:41:01 if you had your own reader you could implement efficient frames for lexical scope. you can tell what block encloses what by inspecting the environment (possibly in a nested cons representation) with closures, only the closed function can see/use the environment. outside inspection is hard. 08:41:11 and says 'don't worry about that, irrelevant for this' (which is probably true) 08:41:19 sykopomp: not the text ... but yeah 08:41:23 off for a cigarette and late night coffee 08:41:32 fusss: enjoy! 08:42:10 *stassats* doesn't understand fusss 08:42:23 *sykopomp* wishes he did. 08:42:32 fusss: you don't need your own reader .. unless you really want to be portable . most lisps offer access to the environment 08:42:53 -!- topriddy [n=JAVABOY@80.255.61.29] has quit [Read error: 104 (Connection reset by peer)] 08:43:11 rsynnott [i=rsynnott@spoon.netsoc.tcd.ie] has joined #lisp 08:43:48 it's important to realize that common lisp was never state-of-the-art 08:43:57 it 08:44:14 's lowest common denominator 08:44:23 yeah >_> 08:44:32 so... it's possible to implement this? 08:44:40 what is this? 08:44:43 ,clhs defun says "Evaluating defun causes function-name to be a global name for the function specified by the lambda expression ...skipped... processed in the lexical environment in which defun was executed." 08:44:43 dto2 [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has joined #lisp 08:44:43 .me came late 08:45:32 stassats: .cfasl! 08:45:33 drewc: I'm (foolishly) trying to implement Slate-style multimethods for a prototype-based extension I'm writing. 08:45:39 -!- dto2 [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has quit [Remote closed the connection] 08:45:58 -!- dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has quit [Read error: 54 (Connection reset by peer)] 08:46:02 sykopomp: first question would by why 08:46:08 -!- sohail [n=Sohail@unaffiliated/sohail] has quit [Read error: 113 (No route to host)] 08:46:32 dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has joined #lisp 08:46:35 sykopomp: unless you're serious ... you don't need it, don't want it .. and there is a better way 08:46:35 VityokOrgUa [n=user@193.109.118.130] has joined #lisp 08:46:38 drewc: I need a really really runtime-flexible object system for the engine I'm writing. I don't think a class-based solution is acceptable. 08:47:22 and I would still need something similar to capturing the environment like I'm trying to if I were going to do single-dispatch. 08:47:33 sykopomp: gah ... i bet i could prove you wrong. 08:47:56 (if I'm wrong and don't need it for single-dispatch, then I don't need it for multi, either) 08:48:19 you might, but after playing around with an existing LPC-based game, I don't really think it would be very nice to deal with a class-based system. 08:48:40 -!- H4ns [n=Hans@p57BBA349.dip0.t-ipconnect.de] has quit [Nick collision from services.] 08:48:43 -!- H4ns1 is now known as H4ns 08:49:06 bon jour 08:49:07 slot-value delegation down the object chain is really useful, so is being able to constantly add and remove slots (whose values will be shared down the inheritance chain) 08:49:49 likewise, adding/removing parent objects to change the entire behavior of an existing object (or set of objects) on the fly is also very useful. 08:50:40 I don't think this level of runtime flexibility is really needed for most applications, but the more I thought about it, the more I really wanted to be able to do these things... 08:50:46 sykopomp: you want a prototype based object system 08:51:00 -!- Nocebojin [n=shaun@CPE-124-186-227-195.qld.bigpond.net.au] has quit [Read error: 145 (Connection timed out)] 08:51:09 drewc: I already wrote slot-values, multiple inheritance for objects, creation/destruction. 08:51:11 schaueho [n=schauer@dslb-088-066-041-078.pools.arcor-ip.net] has joined #lisp 08:51:42 sykopomp: so you've re-written 1/2 of the mop 08:51:45 i did that too 08:51:54 drewc: it's actually very little code. Prototypes are very simple. 08:52:08 I suspect the bulk of the work after this is going to be just optimizing stuff. 08:52:08 sykopomp: haeyou ooked at contextL? 08:52:12 sorry 08:52:16 yeah, I have :P 08:52:26 my keyboard has a bad battery 08:52:45 -!- jmcphers [n=jmcphers@218.185.108.156] has quit ["Konversation terminated!"] 08:52:49 sykopomp: have you looked hard? 08:52:51 drewc: the whole implementation right now is under 300 lines of code, I don't think that's quite a major reimplementation of clos/the mop 08:53:25 drewc: well, the concept I have of contextL doesn't quite seem to fit what I'm aiming for here... 08:53:27 Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has joined #lisp 08:53:45 unless I just keep slapping layer after layer after layer... but I don't think that's quite what I want either. 08:53:52 -!- fe[nl]ix [n=algidus@88-149-211-176.dynamic.ngi.it] has quit ["Valete!"] 08:54:55 sykopomp: wat you re describing sounds to me like a subset of contextL. I, of course, might be missing something... 08:55:32 I don't think contextL does value delegation following the object inheritance chain. 08:55:32 *drewc* is really sorry for the typos 08:55:37 (np) 08:55:47 let me find the example I pasted to lisppaste 08:55:57 manuel_ [n=manuel@HSI-KBW-091-089-250-148.hsi2.kabel-badenwuerttemberg.de] has joined #lisp 08:56:18 fe[nl]ix [n=algidus@88-149-211-176.dynamic.ngi.it] has joined #lisp 08:56:22 garvin [n=garvin@210.75.16.226] has joined #lisp 08:56:25 http://paste.lisp.org/display/72174 08:56:42 -!- stassats` [n=stassats@wikipedia/stassats] has quit [Remote closed the connection] 08:56:46 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 08:57:16 it very much -is- a prototype object system. 08:59:33 -!- garvin [n=garvin@210.75.16.226] has quit [Client Quit] 08:59:59 so, if you set a property for a particular parent, the value for that property is what will be used by all its children, unless a child overrides the slot. 09:00:35 Aisling_ [i=ash@blk-137-73-33.eastlink.ca] has joined #lisp 09:01:05 sykopomp: yup .. you need to see lisp on lines. 09:01:24 same idea + contexts 09:03:13 wait .. i make example 09:03:14 :-\ 09:04:15 saikat [n=saikat@user-12lc4ta.cable.mindspring.com] has joined #lisp 09:05:13 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 09:05:16 dwave [n=ask@pat-tdc.opera.com] has joined #lisp 09:06:29 drewc: can you dynamically add/remove parent objects from the inheritance chain? Can you add/remove slots on the fly from parents, override only in children, etc? 09:06:42 -!- manic12__ [n=manic12@c-98-227-126-106.hsd1.il.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 09:06:43 hey, if contextL can do this stuff, that'd be great... 09:07:28 sykopomp: what is a good use case for removing a parent object from the inheritance chain? 09:07:37 sykopomp: yes/no. you solve the same problem in a different way 09:07:42 sykopomp: i'm not questioning it, just curious. 09:07:46 stassats: i was rambling above, never mind me please :-D 09:08:35 H4ns: I have a damsel in distress that clones (and thus inherits values and slots and methods from) the Standard-Human prototype. I want to turn her into a toilet. I change her parent object from standard-human to standard-toilet. 09:08:47 *drewc* is going to have a glass of his favourite scotch 09:08:48 and she's now a toilet, except she's kept any characteristics that made her her. 09:09:12 no changes are actually made to her, so I could swap the toilet and standard-human out, and she'd be exactly as she was again. 09:09:21 this is a practical example when you realize I'm writing a game :P 09:09:32 -!- merlincorey [n=merlin@ip65-46-14-94.z14-46-65.customer.algx.net] has quit [Read error: 60 (Operation timed out)] 09:09:35 sykopomp: ok, that i understand. 09:09:41 having this kind of stuff available at runtime to non-programmers is really handy. 09:09:52 *fusss* if i could do it over again, i would trade 10 years of C++ hacking for a 2 year course on graphics design :-/ 09:10:49 fusss: graphics design might be nice. Would certainly make me feel less horrible about putting my site up :P 09:10:50 sykopomp: contextl can do this. 09:11:00 drewc: runtime no coding involved? 09:11:08 indeed. 09:11:12 this sounds pretty awesome, I guess I misunderstood how contextl works :D 09:11:13 well .. 09:11:23 besiria [n=user@ppp083212086159.dsl.uom.gr] has joined #lisp 09:11:29 *sykopomp* read two of the papers and a webpage. 09:11:38 *sykopomp* is *obviously* an expert. 09:12:00 you have to define how a person reacts when they are in the context of being a toilet 09:12:05 -!- Aisling [i=ash@blk-137-73-33.eastlink.ca] has quit [Read error: 110 (Connection timed out)] 09:12:12 oh 09:12:15 hrm :-\ 09:12:18 ish 09:12:29 which isn't quite that flexible... 09:12:32 you have to do the same with any approach 09:12:34 ... of being a toilet? 09:12:40 I see an interesting context here 09:12:50 p_l: of course. It's ContextL. 09:13:13 drewc: with the prototype-approach it's a matter of a very simple interface where you just say 'add this parent', and 'remove this parent' 09:13:14 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 09:13:17 sykopomp: actually .. i'm over thinking it 09:13:43 sykopomp: 'add this layer', 'remove this layer' 09:13:55 the closest thing I could think up about "being a toilet" was "do not push third button" 09:14:04 or 'this property has this value'. Simplicity is another thing I'm aiming for. Sorry if I sound demanding, I'm all for ContextL if that solves all the issues I had in mind. 09:14:43 in a game, when you are a wizard, you want to turn the frog into a prince, not "remove the frog layer from the entity, then add the prince layer to it" 09:14:52 hm. I think I see what you mean. But that would involve defining a new layer every time some new 'context' happens, right? 09:14:54 yeah 09:15:10 H4ns: and of course, define in code what happens within these layers... 09:15:23 *p_l* demands a game with a spell "change that person into toilet" 09:15:41 p_l: very easy to do if you have a prototype system (and apparently also easy with contextL) 09:15:41 H4ns: would you rather add the prince class to to frog? 09:15:59 or remove the frog class and add the prince class? 09:16:16 drewc: no. when the frog turns into a prince, it becomes a prince and it no longer is a frog 09:16:37 the child object is just , what you change are the parents. 09:16:40 drewc: for example, the prince does not know how flies taste. if things are implemented properly. 09:16:51 sykopomp: I can see it as a pretty crazy thing to implement still (from the mindboggling parts of the implementation: how do you represent the experience of being a toilet to the player who got hit by one?) 09:16:57 -!- rottcodd [n=user@ppp59-167-54-88.lns1.cbr1.internode.on.net] has quit [Connection timed out] 09:17:18 p_l: all game objects are really just property lists with some fancy property-value inheritance 09:17:28 sykopomp: i still wonder whether it would be possible to implement a prototype object system on top of the mop. that way, generic function dispatch would still work. 09:17:56 H4ns: so the entity no longer has the frog layer active, but the price layer is active. 09:18:12 sykopomp: the datastructure is not that important - interactions are more crucial. And external representation unless it's a pure simulation 09:18:25 H4ns: I ran into a few issues while trying to do it. 09:18:28 drewc: you can certainly implement that scheme using a neutral entity that can be either a frog or a prince, but it is more complex. 09:19:04 or you can separate the body and being 09:19:12 H4ns: i'm trying to make the argument that contextl simplifies that. :) 09:19:31 first of all, I had to override the way slot-value lookup works (and I couldn't find exactly how to do that). Second, everything actually gets compiled, so that's a lot of overhead every time you change a slot value. 09:19:47 this way you would have the AI actor which would have it's interface entity swapped 09:19:58 H4ns: it's hard to design a protocol that can cover both frog and prince regardless 09:20:00 and really, I couldn't find a good lead in AMOP on how to implement something like this. At least not with the level of flexibility I was hoping for. 09:20:05 -!- mulligan [n=user@e178051219.adsl.alicedsl.de] has quit [Read error: 104 (Connection reset by peer)] 09:20:13 mulligan [n=user@e178051219.adsl.alicedsl.de] has joined #lisp 09:20:38 sykopomp: contextl itself might not be enough, but have a good look at the implementation 09:20:39 On the other hand, it was immensely easy to implement the whole system by using a lot of CLOS code, and now the last thing I need is to figure out how to handle function definitions to capture the environment they're in properly (I think I need this?) 09:20:41 O_4 [n=souchan@ip-118-90-84-42.xdsl.xnet.co.nz] has joined #lisp 09:21:28 H4ns: prototypes, cloning, multi-inheritance, and differential inheritance are already written (it was pretty much trivial...) 09:21:53 sykopomp: singletons + dynamic contexts are close to what you need 09:22:05 drewc: that's a -lot- of singletons. 09:22:12 10,000+ singletons D: 09:22:26 that's not a lot 09:22:30 heh 09:22:44 -!- yangsx [n=yangsx@218.247.244.25] has quit [Read error: 110 (Connection timed out)] 09:22:56 drewc: this implementation is much simpler :-\ I feel like using contextL might be more of a hack. 09:24:11 sykopomp: fair enough.. but read the contextl source.. 09:24:19 drewc: I will, actually :) 09:24:26 and use the parts of clos that you can 09:24:40 I use it as the backend, for the implementation :P 09:24:46 so uh... I guess it has a MOP already. 09:24:49 woo! \o/ 09:25:14 kiczales is a smart cookie! 09:25:35 anyways, it would be nice to figure out how to implement these methods for now... 09:25:55 *drewc* sips on his lagavulin 16 09:26:43 -!- schaueho [n=schauer@dslb-088-066-041-078.pools.arcor-ip.net] has quit ["Bye bye"] 09:26:51 nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has joined #lisp 09:27:34 sykopomp: now you got me interested: how did slot-value-using-class not suffice for looking up a slot's value in the instance and its prototypes? 09:28:02 drewc: bad boy! :-) 09:28:06 H4ns: oh. I guess I don't get the mop well enough then D: 09:28:16 Morning. 09:28:56 H4ns: i was just about to make that argument! :) 09:29:38 *sykopomp* checks AMOP 09:30:29 -!- dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has quit [Remote closed the connection] 09:33:36 sykopomp: did you ever see pascal costanza's video's on CLOS and the mop? 09:33:47 videos 09:33:49 I have not! 09:34:03 -!- phadthai [i=mmondor@ginseng.pulsar-zone.net] has quit [Read error: 60 (Operation timed out)] 09:34:04 *drewc* blames the scotch for stray 's 09:34:21 lemme see if i can find a url 09:37:53 yeah .. long dead. 09:38:04 heh 09:38:17 maybe I can actually implement this with the MOP. I'll give it another shot... 09:38:40 sykopomp: you certainly can. the MOP is amazing 09:39:03 I don't actually know if it'll save me that much work, though, still. 09:39:13 you may end up using the same implementation, but getting the rest for free 09:39:33 *sykopomp* just needed to know how to define functions properly :( 09:39:39 *sykopomp* had everything else ;_; 09:40:04 sykopomp: it could be worse... you could be in #php :) 09:40:13 sykopomp: Just remember to stop exploring and get anything done.... :P 09:40:19 -!- _theHAM [n=hammy@199.5.193.8] has quit [Read error: 60 (Operation timed out)] 09:40:33 p_l: :( 09:40:45 drewc: I'm not familiar with #php :P 09:41:29 -!- Eleanore [n=a@ip215131.lbinternet.se] has quit [Read error: 110 (Connection timed out)] 09:41:48 and yes... I have a friend of mine who is very good in PHP and I remember his fights to implement something that was batshit insane in PHP, but was probably a more than easy thing with Lisp (with few macros, possibly even without them :D) 09:41:48 good morning 09:41:56 antifuchs: aroundp 09:42:17 sykopomp: they actually get things done over there ... the option to create your own object system is not there.. so you just code the app :) 09:42:50 hm 09:43:15 us lispers have to write a web framework before we can even start! 09:43:17 :) 09:43:25 dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has joined #lisp 09:43:31 lisp -- with great power comes great responsibility 09:43:36 Can I still ask how I would go about making sure custom function definitions respect the lexical environment? :P 09:44:01 what do you mean? 09:44:04 drewc: but see, once it's written, we can... uhh.. I guess be unhappy with the quality of the framework, and write a completely new one. 09:44:46 sykopomp: you'll fit in fine around here :P 09:44:49 functions do not have access to the lexical environment of their callers 09:44:58 nikodemus: If I want to put an s-exp that would later be read and evaled into a slot of an object, how can I capture the environment it was defined in? 09:45:15 nikodemus: definition environment. 09:45:16 use a lambda 09:45:23 ...oh 09:45:31 -!- spiaggia [n=user@armadillo.labri.fr] has left #lisp 09:45:36 you know, I'm a pretty big moron. 09:45:47 nikodemus: thank you :) 09:45:59 np :) 09:46:18 felipe [n=felipe@my.nada.kth.se] has joined #lisp 09:46:25 drewc: how painless is RT? 09:46:57 painless, ha! 09:47:01 nikodemus: ug 09:47:20 use a lambda he says... see the lexical environment he says. I'd rather be sailing (like drewc!) 09:47:23 *sykopomp* goes to bed now. 09:47:37 nite, #lisp 09:47:44 -!- dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has quit [Remote closed the connection] 09:48:50 you know how linus wrote git because every other option was painful? well i dream about writing an RT replacement. 09:49:37 <_3b> feel free to write the one i want while you are at it :) 09:49:48 -!- gonzojive_ [n=red@ip98-169-46-222.dc.dc.cox.net] has quit [Client Quit] 09:50:14 aha 09:50:21 it's not all that painful to use though 09:51:01 it's just the setup etc 09:51:03 nikodemus: it is fairly easy to set up and does not need a lot of maintenance. 09:51:10 drewc, are you speaking of RT2? 09:51:24 -!- esden [n=esden@91-67-156-166-dynip.superkabel.de] has quit ["leaving"] 09:51:32 Because that, sir, is the worst ticket system I have ever used. 09:51:32 nikodemus: handling spam is kind of awkward, but other than that, it does not create a lot of work on its own. 09:51:44 could you guys set up an SBCL instance to experiment with? 09:51:55 -!- crod [n=cmell@cb8a5b-174.dynamic.tiki.ne.jp] has quit [Read error: 110 (Connection timed out)] 09:51:57 jestocost [n=cmell@cad4e7-076.dynamic.tiki.ne.jp] has joined #lisp 09:51:58 tic: RT, from best practical 09:52:00 nikodemus: i'd not recommend it for bug tracking, though. 09:52:05 oh 09:52:20 drewc, eggsactly what we're using. 09:52:26 i'm actually pretty impressed with launchpad so far, but i'm thinking anything will look good after bugzilla... 09:52:26 nikodemus: for bug tracking, mozilla is better. also not so hard to set up. 09:52:37 *better*? 09:52:48 tic: we use it for common-lisp.net. i am not a fan 09:52:49 nikodemus: yes, better than rt. for bug tracking :) 09:52:54 We're using Jira, which is better than Mozilla, but still not very good. 09:52:58 *H4ns* is not a fan 09:53:05 drewc, find it impossible to search in RT. 09:53:11 how about Trac for bug tracking? 09:53:15 i like bugzilla 09:53:18 so if anyone has a request tracker that is better than rt, just let me know 09:53:19 *drewc* ducks 09:53:35 tic: trac does not do email well 09:53:44 for bugs .. with custom templates and some hacking .. it works. 09:53:48 tic: not to speak of user-defined categories 09:53:56 H4ns, does here. What in particular do you find lacking in e-mail? 09:53:58 does it do tagging? 09:54:02 H4ns, yeah, it's database model is ... weird. 09:54:06 (RT, that is) 09:54:20 The good thing about Trac is that it's hackable, see trac-hacks.org 09:54:26 yCrazyEdd [n=CrazyEdd@114-198-18-24.VIC.netspace.net.au] has joined #lisp 09:54:59 tic: i've really not played with it for long, but i found bugzillas mails better 09:55:14 -!- yCrazyEdd is now known as CrazyEddy 09:55:17 tic: yeah, cool! it's hackable, so it is good. 09:55:19 H4ns, fair enough... Trac's e-mail templates are fully customizable though. 09:55:42 H4ns, ... I meant good in the PHP sense -- the code base is actually not very nice, but you can fix it given time & motivation. 09:56:05 tic: sure. i can also write my own bug tracking and request tracker system. 09:56:31 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 09:56:38 actually, i started a bug tracker years ago but, suprise!, found that it would be a lot of work to make it usable, let alone good, so gave up. 09:56:48 adl [n=adl@mail.andrewlawson.org] has joined #lisp 09:57:01 -!- adl [n=adl@mail.andrewlawson.org] has left #lisp 09:57:30 addled [n=adl@mail.andrewlawson.org] has joined #lisp 09:57:40 meanwhile, i can recommend both bugzilla and rt to be useable, for bug and request tracking respectively. 09:58:56 -!- saikat [n=saikat@user-12lc4ta.cable.mindspring.com] has quit [] 09:59:46 vtl [n=user@nat/redhat/x-e71d921e0def6435] has joined #lisp 10:01:14 agreed. they are both painful though. 10:01:25 hmmm... I wonder about debian bug tracker. It is quite interesting one 10:02:05 drewc: i'll kind of argue that most of the pain comes from their web application nature. 10:03:14 drewc: i.e. every action results in a new page being rendered on the page. clumsy as hell, in particular for highly interactive tasks. 10:03:22 H4ns: true. 10:03:40 "rendered on the server", but anyway 10:04:13 -!- pchrist [n=spirit@gentoo/developer/pchrist] has quit ["leaving"] 10:04:44 pchrist [n=spirit@gentoo/developer/pchrist] has joined #lisp 10:06:06 -!- addled [n=adl@mail.andrewlawson.org] has quit [Remote closed the connection] 10:06:27 addled [n=adl@mail.andrewlawson.org] has joined #lisp 10:06:36 years ago i use Double Choco Latte as a bug tracker. 10:06:45 dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has joined #lisp 10:07:21 but i can't recommend it over bugzilla. 10:07:22 -!- l3dx [n=thomas@unaffiliated/l3dx] has quit [Read error: 110 (Connection timed out)] 10:08:00 jdz [n=jdz@85.254.248.11] has joined #lisp 10:08:00 ejs [n=eugen@77.222.151.102] has joined #lisp 10:08:24 a caffeine IV would be an overclocked version of that, then? 10:09:07 -!- addled [n=adl@mail.andrewlawson.org] has quit [Remote closed the connection] 10:09:52 addled [n=adl@mail.andrewlawson.org] has joined #lisp 10:11:39 -!- addled [n=adl@mail.andrewlawson.org] has quit [Remote closed the connection] 10:12:26 addled [n=adl@mail.andrewlawson.org] has joined #lisp 10:13:04 nikodemus: IMO, if you've outgrown a BUGS file, then bugzilla is the best bet. 10:13:24 euh 10:13:35 erm, with SB-SPROF, how do i limit the number of samples taken? :max-samples is advertised to do that, but even with set to 10.000, i see this: Profiler sample vector full (904 traces / 12800000 samples), doubling the size 10:13:46 (eventually crashing into ldb) 10:14:15 i think bugzilla is a non-starter. even if i can convince myself, lack of drive-by-email capability will demotivate xof 10:14:25 though i'm working on a project now and we're sharing a google spreadsheet.. 10:14:31 and it's working out quite well. 10:14:55 toddoon [n=guillaum@mar92-11-82-245-210-60.fbx.proxad.net] has joined #lisp 10:14:58 hm, i wonder how dabbledb would do as a tracker... 10:14:58 understandable. 10:15:08 -!- addled [n=adl@mail.andrewlawson.org] has left #lisp 10:15:12 exotic solutions 'r us 10:15:26 addled [n=adl@mail.andrewlawson.org] has joined #lisp 10:15:28 does it have email input? 10:15:34 i don't think so 10:15:42 nikodemus: it should not be very hard to write a email->bugzilla comment gateway 10:16:05 any volunteers to do that? 10:16:08 the system used by debian for bug tracking (and not only that) is explicitly email-driven 10:16:16 debbugs, yes 10:16:35 though debbugs is reputed to be hard to install for non-debian use 10:17:20 hrm 10:17:59 ejs1 [n=eugen@nat.ironport.com] has joined #lisp 10:18:03 it seems there's a debian package for debbugs. 10:18:17 how hard could it be? 10:18:52 "The system is mainly controlled by e-mail, but the bug reports can be viewed using the WWW." 10:19:11 oic 10:19:13 -!- rcy [n=rcy@S01060002553240a8.vc.shawcable.net] has quit [Remote closed the connection] 10:19:25 "Note: there might be various issues with this package, caveat emptor." 10:19:33 hah 10:19:44 there is one thing that is more clumsy than web interfaces: it is email interfaces 10:19:44 speaking of web, anyone heard anything about the supposed lisp.org redesign by alu? 10:19:48 rcy [n=rcy@S01060002553240a8.vc.shawcable.net] has joined #lisp 10:20:03 tic: is it a redesign like the one for common-lisp.net? :) 10:20:14 :D 10:20:18 those words go well together: "alu" & "supposed" :P 10:20:20 H4ns, something like that, yeah. :-) 10:21:04 H4ns: If it wasn't for the the tendency to completely block non-webmail email usage, email interfaces might actually be better than many Web ones (well, when you use Emacs :P) 10:21:45 -!- O_4 [n=souchan@ip-118-90-84-42.xdsl.xnet.co.nz] has quit ["Come alive!"] 10:22:15 RPC over e-mail? Yay. Screen-based interfaces and mainframes all over. 10:23:20 tic: Message passing. I steer away from RPC 10:23:23 A javascript-powered (for the web) and by-emacs-connectable (for real users) text interface with mail-reporting for 'news' could own other solutions (just an idea no-one will ever implement) 10:24:06 wait a minute .. i've used bugzilla .. it does a lot of emailing 10:24:19 you can't add a bug over email 10:24:59 but i'm sure we were able to comment via email 10:25:05 *drewc* searches 10:27:06 -!- ejs [n=eugen@77.222.151.102] has quit [Read error: 110 (Connection timed out)] 10:28:12 ok, that must have been an in-house hack. don't mind me. 10:29:51 -!- oudeis [n=oudeis@89-139-152-237.bb.netvision.net.il] has quit ["This computer has gone to sleep"] 10:32:22 -!- addled [n=adl@mail.andrewlawson.org] has quit [Remote closed the connection] 10:32:47 what would be the best way to get a REPL over ssh from lisp? I'd like to connect to multiple (say 60) sbcl-cores on several (say 30) distant machines. I must first connect to an ssh-server and reconnect from there to the real computers. Then I must start the sbcl-system. From then on I'd like to have a repl available from my local lisp-core as to send them some tasks. 10:33:00 -!- dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has quit [Remote closed the connection] 10:33:18 addled [n=adl@mail.andrewlawson.org] has joined #lisp 10:34:44 I'm somewhat hoping I can do all of this from lisp (I could call bash-scripts for it), so I can find out when the system has finished a task (which would let me send a new one) 10:35:45 attila_lendvai [n=ati@business-89-132-61-222.business.broadband.hu] has joined #lisp 10:36:05 tiesje [n=user@202.63.242.211] has joined #lisp 10:36:19 dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has joined #lisp 10:37:06 madnificent: you want to connect to your lisps over a socket via an ssh tunnel. 10:37:18 yes 10:38:10 madnificent: no .. that's the answer ... :) 10:38:30 you open a socket ... 10:38:36 connect to it .. 10:38:41 and accept commands 10:39:35 drewc: so I should build ssh-tunnels and give the command to launch sbcl trough that tunnel first, then connect to that socket (and that's it?) 10:39:38 esden [n=esden@lapradig77.informatik.tu-muenchen.de] has joined #lisp 10:39:40 eevar2 [n=jalla@127.80-203-27.nextgentel.com] has joined #lisp 10:40:37 madnificent: something like that yeah .. the details depend on the ... well ... the details. 10:40:43 stassats` [n=stassats@ppp78-37-164-120.pppoe.avangarddsl.ru] has joined #lisp 10:40:47 actually, I can build that stream with with-open-stream and send the commands from there. 10:40:50 thanks drewc ! 10:41:00 matley [n=matley@matley.imati.cnr.it] has joined #lisp 10:41:14 madnificent: glad i could help! 10:41:17 madnificent: if you have nfs, you could use unix domain sockets instead of ssh 10:41:17 lnxz [n=joachim@bjo1-1x-dhcp373.studby.uio.no] has joined #lisp 10:41:47 huangjs [n=user@watchdog.msi.co.jp] has joined #lisp 10:42:18 nikodemus: no, I must use ssh (the only way I'm allowed to get in there) 10:43:05 then what drewc said 10:43:39 -!- attila_lendvai [n=ati@business-89-132-61-222.business.broadband.hu] has quit ["..."] 10:44:00 benny` [n=benny@i577A1AE4.versanet.de] has joined #lisp 10:44:06 what is the fastest way to convert an integer to a string (i.e. (princ 1), but fast)? 10:44:14 -!- addled [n=adl@mail.andrewlawson.org] has quit [Remote closed the connection] 10:44:56 addled [n=adl@mail.andrewlawson.org] has joined #lisp 10:46:57 H4ns: bind *print-pretty* to NIL. if it's still too slow, adapt sb-impl::output-integer to work directly on a string 10:47:12 nikodemus: ah, ok! thanks! 10:48:09 don333 [n=user@nut.man.poznan.pl] has joined #lisp 10:49:12 I've never heard H4ns so happy. 10:49:25 Quadrescence: i'm easy to please. 10:49:36 H4ns: I haven't pleased you ever. ._. 10:49:54 elderK [n=elderK@218-101-117-199.dialup.clear.net.nz] has joined #lisp 10:50:07 -!- elderK [n=elderK@218-101-117-199.dialup.clear.net.nz] has left #lisp 10:50:09 Maybe it's not you I bother, but chandl3r (3 to avoid highlight) 10:50:36 boy. format really is slow, *print-pretty* or not. 10:50:50 CCL or SBCL? 10:51:05 nikodemus: sbcl 10:51:56 -!- benny [n=benny@i577A15F1.versanet.de] has quit [Read error: 113 (No route to host)] 10:52:26 hm, it seems we don't compile the format string unless (> speed space) 10:52:27 nikodemus: i'm toying around with cl-pdf which uses format to print to the pdf stream. i see a ten fold performance increase when using individual princ calls instead of format. 10:52:46 -!- jestocost [n=cmell@cad4e7-076.dynamic.tiki.ne.jp] has quit [Read error: 60 (Operation timed out)] 10:52:57 nikodemus: ah, i think that explains. i see 46 forms interpreted 32 lambdas converted when using TIME 10:53:45 nikodemus: i'll recompile cl-pdf to see whether that helps. 10:54:41 ah, format has also a tendency to compile in calls to WRITE, which does a shitload of keyword argument parsing 10:54:47 i think i can fix that 10:55:15 -!- Cowmoo [n=Cowmoo@c-98-218-212-106.hsd1.va.comcast.net] has quit [Connection timed out] 10:55:42 nikodemus: i recompiled with optimization turned on, now the format based version is only five times slower than the princ based one. 10:56:48 i still see the "46 forms interpreted" "32 lambdas converted" message, seems to be unrelated. 10:57:51 -!- jsoft [n=Administ@unaffiliated/jsoft] has quit ["Lost terminal"] 10:58:11 -!- addled [n=adl@mail.andrewlawson.org] has left #lisp 10:59:13 -!- stassats [n=stassats@wikipedia/stassats] has quit [Read error: 110 (Connection timed out)] 10:59:52 addled [n=addled@mail.andrewlawson.org] has joined #lisp 11:01:50 does the same happen if you run the test multiple times? 11:01:57 yes 11:02:41 oh, no - the "forms interpreted" thing always appears, the "lambdas converted runs only once" 11:02:56 (this is 1.0.18.16, uh) 11:03:32 -!- don333 [n=user@nut.man.poznan.pl] has left #lisp 11:06:18 jestocost [n=cmell@cb8a6f-106.dynamic.tiki.ne.jp] has joined #lisp 11:08:01 -!- netaust1n [n=austinsm@cpe-98-14-220-121.nyc.res.rr.com] has quit [Connection timed out] 11:09:12 MrSpec [n=NoOne@82.177.125.6] has joined #lisp 11:09:14 ThomasI [n=thomas@unaffiliated/thomasi] has joined #lisp 11:09:19 -!- Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has quit [Read error: 113 (No route to host)] 11:09:20 Hello 11:13:02 HET2 [n=diman@chello084114161225.3.15.vie.surfer.at] has joined #lisp 11:13:29 -!- slyrus_ [n=slyrus@adsl-68-121-172-169.dsl.pltn13.pacbell.net] has quit [Read error: 60 (Operation timed out)] 11:15:03 yo 11:16:06 yo 11:17:34 -!- tessier_ [n=treed@kernel-panic/sex-machines] has quit [Read error: 110 (Connection timed out)] 11:17:57 tessier_ [n=treed@kernel-panic/sex-machines] has joined #lisp 11:18:17 netaust1n [n=austinsm@cpe-67-243-48-35.nyc.res.rr.com] has joined #lisp 11:21:04 araujo [n=araujo@gentoo/developer/araujo] has joined #lisp 11:22:32 H4ns: ok, so the lambda-conversions probably come from generic function dispatch settingling into shape 11:24:24 -!- eevar2 [n=jalla@127.80-203-27.nextgentel.com] has quit ["This computer has gone to sleep"] 11:24:31 sticking a (when cl-user::*my-test-case* (break "eval ~S" original-exp)) in EVAL might be interesting 11:24:45 MrSpec: Hello. I haven't seen you since you pasted your code more than a month ago. 11:24:54 MrSpec: Though perhaps you had a different nick. 11:25:20 Hello beach, 11:25:32 I had other things to do, 11:31:10 -!- defn [i=tao@gateway/shell/blinkenshell.org/x-6841622c29ef3957] has quit [Connection timed out] 11:32:20 binarycodes [n=sujoy@59.93.163.211] has joined #lisp 11:32:37 -!- lnxz [n=joachim@bjo1-1x-dhcp373.studby.uio.no] has quit [Read error: 110 (Connection timed out)] 11:32:40 Nshag [i=user@Mix-Orleans-105-1-236.w193-250.abo.wanadoo.fr] has joined #lisp 11:35:41 Nocebojin [n=shaun@CPE-124-186-227-195.qld.bigpond.net.au] has joined #lisp 11:38:50 nikodemus: good idea. i got to turn to something else now, but i'll try that tomorrow. 11:40:34 venderson_ [n=V@d122-109-191-113.sun9.vic.optusnet.com.au] has joined #lisp 11:41:00 -!- venderson_ [n=V@d122-109-191-113.sun9.vic.optusnet.com.au] has quit [Read error: 104 (Connection reset by peer)] 11:43:04 envi^home [n=envi@220.121.234.156] has joined #lisp 11:45:41 defn [i=tao@gateway/shell/blinkenshell.org/x-9fcfe7894e981f8f] has joined #lisp 11:50:25 schaueho [i=d5a445c1@gateway/web/ajax/mibbit.com/x-29f58759429e8f99] has joined #lisp 11:54:37 ths___ [n=ths@p549AFCC2.dip.t-dialin.net] has joined #lisp 11:56:24 -!- ths___ is now known as ths 11:57:01 -!- ths__ [n=ths@X5cd2.x.pppool.de] has quit [Read error: 110 (Connection timed out)] 11:57:43 binarycodes_ [n=sujoy@59.93.214.40] has joined #lisp 11:58:00 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit ["Am I missing an eyebrow?"] 12:00:24 H4ns: CVS HEAD has a marginally faster ~D now, and compiles format control strings when SPEED >= SPACE 12:00:51 nikodemus: cool, thank you. i'll update and recompile in the background. 12:01:14 nikodemus: i do need ~F though. pdf does not like floats without dots, even if the fraction is 0 12:01:56 -!- beach [n=user@ABordeaux-158-1-112-109.w90-60.abo.wanadoo.fr] has left #lisp 12:03:09 -!- tiesje [n=user@202.63.242.211] has quit [Read error: 113 (No route to host)] 12:04:07 -!- lemonodor [n=lemonodo@76.214.2.185] has quit [] 12:05:32 -!- venders_n [n=V@d122-109-191-113.sun9.vic.optusnet.com.au] has quit [Read error: 110 (Connection timed out)] 12:06:58 silenius [n=jl@yian-ho03.nir.cronon.net] has joined #lisp 12:09:56 -!- binarycodes [n=sujoy@59.93.163.211] has quit [Read error: 110 (Connection timed out)] 12:11:27 eevar2 [n=jalla@127.80-203-27.nextgentel.com] has joined #lisp 12:15:23 cracki [n=cracki@40-050.eduroam.RWTH-Aachen.DE] has joined #lisp 12:16:57 -!- HET2 [n=diman@chello084114161225.3.15.vie.surfer.at] has quit ["This computer has gone to sleep"] 12:21:17 if v[(EVAL x)] = v[v[x]], why doesn't (EVAL x) = v[x]? :o 12:21:20 pretty neato 12:24:09 -!- binarycodes_ [n=sujoy@59.93.214.40] has quit [Client Quit] 12:24:10 (equal (v '(eval X)) (v (v x))) X and x have nothing in commin, a priory. 12:24:28 s/in/on/ 12:24:50 is there a working dbus package? 12:24:58 Quadrescence: It's a question of environments. 12:25:25 Cel: try google: dbus lisp 12:25:49 Cel: I don't know if what you'll find is "working". 12:26:36 matimago: myeah, that was what I did, but there's not much to be found on that. I was hoping someone had experience with this. 12:27:42 Did you try this: https://coderanger.net/browser/school/2007/fall/spacefortress/trunk/dbus-lisp/dbus/message.lisp?rev=424 ? 12:28:12 https://coderanger.net/browser/school/2007/fall/spacefortress/trunk/dbus-lisp?rev=424 12:28:21 It looks like it could be put to use... 12:28:43 matimago: didn't he say that he tried google but wanted to talk to someone with actual experience? 12:29:35 H4ns: not exactly. He asked for a "working dbus package" and then mentionned that he hoped there was someone with experience with dbus (in lisp I guess). 12:30:04 matimago: ah, right! now that you say it, i read it as "can someone please google for me?" 12:30:19 The author of dbus-lisp would match his hopes. dbus-lisp itself could be answer he wanted. 12:30:49 -!- jdz [n=jdz@85.254.248.11] has quit [] 12:31:22 HET2 [n=diman@chello084114161225.3.15.vie.surfer.at] has joined #lisp 12:33:44 jdz [n=jdz@85.254.193.149] has joined #lisp 12:34:49 -!- addled [n=addled@mail.andrewlawson.org] has quit [Remote closed the connection] 12:35:39 binarycodes [n=sujoy@59.93.214.40] has joined #lisp 12:39:26 -!- nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has quit ["This computer has gone to sleep"] 12:40:48 What is an example of an "unevaluatable sexp"? 12:41:11 (1) 12:41:13 Quadrescence: define "evaluable". 12:41:34 an invalid lisp form? 12:42:01 (defun myeval (form) (if (atom form) form (typecase (first form) (number form) (t ...)))) (myeval '(1)) --> 1 12:42:33 matimago: I'm not entirely sure what I mean -- maybe it is contextual. I am just reading. 12:42:40 Even if you restrict it to CL:EVAL, (CL:EVAL '(1)) gives a defined result. 12:42:51 It signals an error. 12:42:56 -!- rtoym [n=chatzill@user-0c8hpll.cable.mindspring.com] has quit [Remote closed the connection] 12:43:03 *shrug* 12:43:16 Perhaps they mean, a sexp, that when passed to CL:EVAL produces the signaling of a condition? 12:43:31 rfgpfeiffer [n=rfgpfeif@141.89.226.149] has joined #lisp 12:43:59 I'll quote the text 12:44:29 Also, fundamentally, sexps and eval functions are a chicken-and-egg question. 12:45:21 -!- MrSpec is now known as Spec[away] 12:47:09 "Let A be a list of k>=0 ordinary atoms and let B be an evaluable S-expression. In general, the value of the lambda expression (LAMBDA A B) is defined so that the value of (LAMBDA A B) is the function which is computed on a list of k actual arguments r by computing e[B,A,r], where e[B,A,r] is the value of B in the context such that the value of A_i is r_i for 1<=i<=k." 12:48:16 I'd say that in this context, "evaluable S-expression" = "form". 12:48:31 -!- Jasko [n=tjasko@c-98-235-21-22.hsd1.pa.comcast.net] has quit ["Leaving"] 12:48:57 matimago: Without telling me to RTFM, could you define precisely what a "form" is? 12:49:16 Basically, a S-expr which is lisp code. 12:49:47 We could be more restrictive, if we want to be able to interpret "the function which ..." as the mathematical object, so we'd need to to restrict ourselves to forms having a "mathematical" behavior. 12:50:14 That is, which is composed only of side-effect free functions. 12:50:34 And by "lisp code", I assume you mean "something you could put into a lisp interp. and it would not raise any error" (very roughly) 12:50:45 Yes. 12:50:51 I hope I don't sound silly being "nit picky" or whatever. 12:51:07 Quadrescence, e.g. (defun op (f a b) (f a b)) contains an invalid Lisp form. 12:51:11 Quadrescence: mapping programs to mathematical functions is full of interesting details. 12:51:27 tic: huh? 12:51:41 matimago: That sentence reminds me of Haskell. :P 12:51:45 adeht, well, doesn't it? (provided there's no function f already defined) 12:51:45 Well, mathematically it's not a function. 12:52:00 tic: no, even then it doesn't 12:52:02 Quadrescence: yes, that's the point of this section, they define functions in the mathematical sense. 12:52:19 adeht, *hmm* what would you call it? 12:52:22 kapuzineralex [n=alex@mnch-5d86a21f.pool.einsundeins.de] has joined #lisp 12:53:06 tic: a valid Lisp form 12:53:45 adeht, even though the code won't work? 12:53:50 hey could someone let me know why in this statement there is a ' before the list? I understand why its there for the evenp 12:53:50 (remove-if-not #'evenp '(1 2 3 4 5 6 7 8 9 10)) 12:53:53 adeht: Well, (f a b) isn't evaluable, is it? (provided f is not yet defined) 12:54:32 Nocebojin: If there is no ', then it's going to try to read (1 ...) as a function '1' being applied to 2 3 4 5... 12:54:37 Nocebojin: #'x is read as (function x) 'x is read as (quote x) 12:54:58 tic: what makes you think it "won't work"? it has well-defined semantics 12:54:59 ahhhh, i wondered if that was it. thanks :) 12:55:11 QUOTE is a special operator that returns its argument not evaluated. 12:55:17 Nocebojin: Try (remove-if-not #'evenp (list 1 2 3 4 5 6 7 8 9 10)) 12:55:29 (note the removal of ' ) 12:55:38 yes. so that should work too then? 12:55:46 by the looks of it 12:55:56 Nocebojin: yes. 12:56:02 Nocebojin: the difference is when the list is constructed. 12:56:11 Jasko [n=tjasko@c-98-235-21-22.hsd1.pa.comcast.net] has joined #lisp 12:56:40 With (remove-if-not #'evenp '(1 2 3 4 5 6 7 8 9 10)), the list is constructed by the lisp reader, when it reads the expression. This list, constructed by the reader is passed to QUOTE, which returns it as-is, and then on to REMOVE-IF-NOT. 12:57:14 With (remove-if-not #'evenp (list 1 2 3 4 5 6 7 8 9 10)), the list is constructed by LIST, when it is called, that is, when you evaluate this whole expression, and then returned and passed to REMOVE-IF-NOT. 12:58:06 Nocebojin: also, you should consider objects built by the lisp reader as immutable literal. You can apply remove-if-not, but you couldn't apply delete-if-not on a quoted list. 12:58:32 ejs2 [n=eugen@nat.ironport.com] has joined #lisp 12:58:47 matimago: Does (LIST a1 a2...) actually return (QUOTE (a1 a2 ...))? Gut feeling was yes, but my gut feeling changed to no. 12:58:59 lol i understood most of that. not all though :P 12:59:01 Quadrescence: no. LIST returns a newly allocated list. 12:59:20 (LIST a1 a2 ...) === (CONS a1 (CONS a2 ... (CONS an NIL))) 12:59:29 Right. 13:00:15 What I don't understand completely is why exactly a function like the above can work with '(a1 a2...) 13:00:26 Notably: (defun f () (list 1 2 3)) ==> (not (eql (f) (f))) (defun g () '(1 2 3)) ==> (eql (g) (g)) 13:00:54 Quadrescence: because it is a side-effect-free function: it doesn't try to modify the list. 13:01:38 Also, because the point of lisp is to treat data the same, whether it is code or data, whether it is in the scanner, in the compiler or in the user program. 13:01:52 -!- kapuzineralex [n=alex@mnch-5d86a21f.pool.einsundeins.de] has quit ["Leaving"] 13:02:00 -!- matley [n=matley@matley.imati.cnr.it] has quit [Remote closed the connection] 13:02:10 matley [n=matley@matley.imati.cnr.it] has joined #lisp 13:02:42 matimago: And, from a more low-level perspective, does the side-effect-free imply that there must be an extra copy of '(a1 a2 ...) made which /can/ be mutated? 13:03:19 is there some standard way to make sure an sbcl process never dies, and if it does, it's restard .. aside from a cron-based watchdog? 13:03:19 Quadrescence: indeed, remove-if-not will allocate a prefix of the result. It can however share the tail with the argument list, or even return it when it removes nothing. 13:03:24 (By "low-level perspective", I mean a "low-level hardware/software perspective) 13:04:53 (defun my-remove-if-not (pred list) (cond ((null list) list) ((not (funcall pred (car list))) (my-remove-if-not pred (cdr list))) (t (cons (car list) (my-remove-if-not pred (cdr list)))))) ; notice the CONS 13:05:21 matimago: I will kill you if you typed that just in your IRC client 13:05:52 I did. You'll have to debug it, perhaps. 13:06:04 I understand it. 13:06:51 -!- ManateeLazyCat [n=user@222.212.128.200] has left #lisp 13:07:08 -!- jdz [n=jdz@85.254.193.149] has left #lisp 13:07:11 jdz [n=jdz@85.254.193.149] has joined #lisp 13:08:09 -!- ejs1 [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 13:09:10 matimago: mmmm. Okay, so, though this would be absurd, (remove-if-not #'evenp '(1 2 3)) could first make a copy of '(1 2 3), denoted by '(1 2 3)_2, and then it does the actual removals to that, giving '(2)_2, and one could technically return the elements of the first list '(1 2 3), which exist in the second one '(2)_2, no? 13:09:38 Err, now that I think of it, that might not get to any point I was trying to clarify to myself. 13:10:23 addled [n=addled@mail.andrewlawson.org] has joined #lisp 13:10:29 It could proceed like this, yes, but most probably, given that the delete* functions are specified to be allowed to modify, but not mandated to modify their argument, it's the reverse: delete calls remove and remove just creates the result directly, without side effects. 13:10:58 copy + delete is O(2n)=O(n), but still twice slower. 13:11:37 matimago: Do you work on any of the lisp compilers? :D 13:11:44 -!- addled [n=addled@mail.andrewlawson.org] has left #lisp 13:12:04 addled [n=addled@mail.andrewlawson.org] has joined #lisp 13:12:04 -!- dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has quit [Remote closed the connection] 13:12:34 Not right now. 13:13:41 matimago: Have you? I'm probably sounding like an interrogator or interviewer, but, how long have you programmed in (any) lisp? 13:13:53 (just interested in getting to know more about the people here, I suppose) 13:14:44 dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has joined #lisp 13:15:06 I've been programming in CL since 1992. Since 2000, it's my main programming language. 13:15:39 Of course, as any lisper, I've got an implementation on the drawing board ;-) Even a familly of implementations actually. 13:16:56 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #lisp 13:17:00 matimago: Oh really? So it's not so atypical for lispers to toy with their own implementations and whatnot, either? 13:17:57 Not at all. 'Rite of passage'. But sane lispers usually keep them for themselves. Some tag theirs 'newLISP' and spam the channels and newsgroups. 13:18:58 ew 13:19:17 sdsdsds [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has joined #lisp 13:19:22 I haven't yet started programming in Lisp for any useful measure of "programming", but since about a year. 13:19:26 Yeah, that's sort of what I'm doing (designing and thinking, not advertising) 13:19:42 -!- sdsdsds is now known as dto__ 13:19:48 tic: :):) 13:20:01 -!- echo-area [n=user@nat/yahoo/x-ac2a499727a1cd3b] has quit [Remote closed the connection] 13:20:37 tic: It seems like I haven't been actually programming in any lisp at all, lately. Perhaps this is not very good, but I know I've been definitely constantly reading about it, and thinking about how I'd implement a lisp. 13:21:00 what other languages to you commonly use? 13:21:27 Quadrescence: try to have some time for your own developements, where you can choose lisp. 13:21:49 Quadrescence, well, if it works for you.. the best way to learn about a lanuguage is doing things with it. E.g. by knowing CL, you might be able to make better choices in your own version. 13:22:57 do* 13:23:57 -!- kpreid [n=kpreid@cpe-67-242-2-23.twcny.res.rr.com] has quit [] 13:24:02 tic: I don't disagree. And, I've, of course, programmed in CL, I just haven't been explicitly lately. My whole design-a-lisp is, for the most part, to just learn more lisp, how it /really/ works, and all that/ 13:24:03 . 13:24:28 kpreid [n=kpreid@cpe-67-242-2-23.twcny.res.rr.com] has joined #lisp 13:24:36 Nocebojin: I do some C, C++, Fortran, and FreeBASIC 13:24:57 Nocebojin: But only when I have some reason to, I guess. 13:25:39 They frustrate me more than "pleasure" me. 13:26:11 lol 13:26:19 havent heard of freeBASIC before 13:28:02 Nocebojin: It's more of a 'hobby' kind of language. Nice people in the community, and I'm contemplating writing a specification for it. 13:28:36 Quadrescence: right. And some have as hobby sending probes into space, with lisp kernels... 13:29:02 :)) 13:29:58 dlowe [n=dlowe@ita4fw1.itasoftware.com] has joined #lisp 13:30:28 Quadrescence: does freeBASIC have a use in a commerical sense? OR is it like QBASIC, good for teaching and playing around with pretty graphics 13:31:17 Nocebojin: anything can have a use in a commercial sense. Since you can see PHP and perl used in commercial products, why not a BASIC or a Lisp? 13:31:20 _mathrick [n=mathrick@195.116.35.13] has joined #lisp 13:31:58 it's easier to fit Perl and PHP than Lisp into a "commercial sense" person... 13:32:14 -!- mathrick [n=mathrick@195.116.35.13] has quit [Nick collision from services.] 13:32:20 -!- _mathrick is now known as mathrick 13:32:36 Nocebojin: The original goal of FreeBASIC was to have a free+open source 'clone' of qbasic. That's pretty much done (there are some incompatibilities due to 16/32 bit differences), but otherwise it has lots of improvements and added functionality and whatnot.. 13:32:49 matimago: It could be used for anything, really. 13:32:55 err, Nocebojin * 13:33:04 p_l: would that be because of their slippery properties? 13:33:35 matimago: "Lisp? Isn't that very old? And slow?" 13:33:37 matimago: Well, some things have clearly been designed for non-commercial/non-business use. Or, more specifically, for pedagogical purposes. 13:33:44 well, maybe minus the slow bit 13:33:58 Doesn't Knuth use a made up language MIX in his tAoCP volumes? 13:34:01 it's a part of a discussion I had with someone 13:34:07 Quadrescence: It's an assembler 13:34:21 and is in the process of being replaced due to architecture upgrade 13:34:27 p_l: mm, yeah, I recall now. 13:34:33 so any perl coders want to write me a username autocomplete for xChat? :P 13:34:40 i should work out how to do that actually 13:34:42 (30 years is pretty long time for an arch :P) 13:34:45 True, but eventually students become workforce and educational languages become mainstream... 13:34:48 Nocebojin: xchat had that already. :P 13:34:59 mine doesnt do it 13:35:17 oooooooooo 13:35:21 13:35:22 Nocebojin: press TAB? Make sure no characters except space precede the name 13:35:23 ;) 13:35:37 MMIX is a very nice architecture. I'd love to have it in hardware ^__^ 13:35:40 thanks lol 13:36:46 p_l: "Lisp's syntax is ugly" 13:37:25 i was intimidated by lisp when i first saw some exmaple code. i was like wtf? 13:37:34 example* 13:37:38 Quadrescence: When they are not the ones implementing the stuff, it doesn't matter :) 13:38:01 Lisp syntax creates a strong aversion for me to learn any other language. 13:38:30 yeah well no that i unserstand the syntax, its so pretty 13:38:36 now* 13:39:10 hmm... the first syntax I learned was LOGO (for 8bit micro, too) so I was a bit biased about language syntax :) 13:39:33 i only got as far as (defun hello-world () (format t "hello, world")) before i got it and fell in love. 13:39:49 it's not even that it's pretty. It's just. Ugh, I sound crazy when I say this, but, lisp is just, all in all, absolutely mind-blowing to me. 13:41:19 is there an equivalent to public and private variables in lisp? 13:41:48 nikodemus [n=nikodemu@cs181137124.pp.htv.fi] has joined #lisp 13:41:58 Quadrescence: A suffusion of blue? 13:42:18 A sense of great enlightenment--all at once? 13:42:23 variables bound to the exported on not exported symbols from some package? 13:42:24 Nocebojin: not really. 13:42:41 -!- jdz [n=jdz@85.254.193.149] has quit [Read error: 145 (Connection timed out)] 13:42:57 stassats`: yes. 13:43:07 stassats`: variables and packages are orthogonal. What do you want to know? 13:43:21 dlowe: thanks :) better watch my naming then. 13:43:28 Lisp looks like a car, but with enough tweaking you can turn it into a pretty effective airplane or submarine. <--- So true 13:43:51 lol 13:43:54 matimago: it was an attempt to answer private / public variables question 13:44:16 Oh. 13:44:23 *dlowe* doesn't understand what all the fuss about lisp enlightenment is. 13:44:47 stassats`: i didnt really understand what you meant. lol 13:45:03 Bewilder: I suppose. :) 13:45:30 Quadrescence: I was quoting http://xkcd.com/224/ 13:45:41 Nocebojin: yes, it's a convention. PUBLIC variables would be named by exported symbols. PROTECTED variables would be named by non-exported symbols, and PRIVATE variables, would be named %variable% instead of *variable*. 13:45:58 Nocebojin: Variables are referred to by symbols, which are interned in a package. The package acts as a non-hierarchical namespace 13:46:25 matimago: except that the language totally doesn't enforce any of it, so it's not the same thing at all 13:46:52 Yes, that's what is called, a convention. 13:47:02 heh p_l, I started with LOGO aswell, I didn't even know it's a lisp until recently 13:47:35 dlowe: I guess it's because it is one of the rare languages that are really different from what most other people use. Similar talks about enlightenment can be heard from Haskell camp and probably few others. (Forth? Prolog? Erlang?) 13:47:37 saikat [n=saikat@user-12lc4ta.cable.mindspring.com] has joined #lisp 13:50:56 -!- besiria [n=user@ppp083212086159.dsl.uom.gr] has quit [Remote closed the connection] 13:51:08 -!- sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has quit [] 13:51:33 -!- rfgpfeiffer [n=rfgpfeif@141.89.226.149] has quit [] 13:51:52 hugod [n=hugo@bas1-montreal50-1279442397.dsl.bell.ca] has joined #lisp 13:59:58 phadthai [i=mmondor@ginseng.pulsar-zone.net] has joined #lisp 14:02:09 -!- yango [n=yango@unaffiliated/yango] has quit [Read error: 110 (Connection timed out)] 14:03:14 LiamH [n=none@common-lisp.net] has joined #lisp 14:06:09 jdz [n=jdz@85.254.248.11] has joined #lisp 14:11:19 -!- cracki [n=cracki@40-050.eduroam.RWTH-Aachen.DE] has quit [Read error: 110 (Connection timed out)] 14:14:13 -!- HET2 [n=diman@chello084114161225.3.15.vie.surfer.at] has quit ["This computer has gone to sleep"] 14:15:39 malumalu [n=malu@hnvr-4dbb5d6b.pool.einsundeins.de] has joined #lisp 14:16:45 rfgpfeiffer [n=rfgpfeif@wlan1.asg-platform.org] has joined #lisp 14:17:05 elderK [n=elderK@218-101-117-199.dialup.clear.net.nz] has joined #lisp 14:17:51 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 14:18:17 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 14:19:23 sam_ [n=Sami__@hoasnet-fe1add00-113.dhcp.inet.fi] has joined #lisp 14:19:55 jum59 [n=jens@p548D6A61.dip.t-dialin.net] has joined #lisp 14:20:58 tritchey [n=tritchey@c-98-226-113-211.hsd1.in.comcast.net] has joined #lisp 14:26:31 -!- elderK [n=elderK@218-101-117-199.dialup.clear.net.nz] has quit [] 14:27:16 -!- mueslisc1nitte [n=kaldewey@147.172.224.4] has quit [Read error: 60 (Operation timed out)] 14:27:48 -!- mqt [i=tran@monaco.nirv.net] has quit [Read error: 60 (Operation timed out)] 14:27:48 elderK [n=elderK@218-101-117-199.dialup.clear.net.nz] has joined #lisp 14:27:52 mqt [i=tran@monaco.nirv.net] has joined #lisp 14:28:16 HET2 [n=diman@chello084114161225.3.15.vie.surfer.at] has joined #lisp 14:28:53 mueslischnitte [n=kaldewey@147.172.224.4] has joined #lisp 14:29:12 AWizzArd [n=wizard@p578b13b1.dip0.t-ipconnect.de] has joined #lisp 14:30:04 -!- elderK [n=elderK@218-101-117-199.dialup.clear.net.nz] has left #lisp 14:30:13 -!- tritchey [n=tritchey@c-98-226-113-211.hsd1.in.comcast.net] has quit [] 14:37:25 sellout [n=greg@guest-fw.dc4.itasoftware.com] has joined #lisp 14:38:07 leo2007 [n=leo@sl392.st-edmunds.cam.ac.uk] has joined #lisp 14:40:55 -!- simplechat [n=simplech@unaffiliated/simplechat] has quit [Remote closed the connection] 14:41:33 davazp [n=user@100.Red-79-157-95.staticIP.rima-tde.net] has joined #lisp 14:42:45 -!- kuwabara [n=Kuwabara@cerbere.qosmos.fr] has quit [Remote closed the connection] 14:43:22 kuwabara [n=Kuwabara@cerbere.qosmos.fr] has joined #lisp 14:45:10 -!- AWizzArd [n=wizard@p578b13b1.dip0.t-ipconnect.de] has left #lisp 14:48:48 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Read error: 54 (Connection reset by peer)] 14:49:12 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 14:53:57 -!- mtd [n=martin@ops-13.xades.com] has quit [Read error: 110 (Connection timed out)] 14:54:22 Fare [n=Fare@c-71-232-6-92.hsd1.ma.comcast.net] has joined #lisp 14:54:43 -!- esden [n=esden@lapradig77.informatik.tu-muenchen.de] has quit [Remote closed the connection] 14:54:49 esden [n=esden@lapradig77.informatik.tu-muenchen.de] has joined #lisp 14:55:50 -!- dto__ is now known as szdlkjsdlk 14:56:17 deximer [n=deximer@168.203.117.66] has joined #lisp 14:57:06 -!- szdlkjsdlk is now known as dto__x 15:00:04 existentialmonk [n=carcdr@64-252-145-185.adsl.snet.net] has joined #lisp 15:04:53 bobo [n=bobo@c-76-119-115-138.hsd1.ma.comcast.net] has joined #lisp 15:07:38 -!- ksergio [n=sgarcia@mail.nuecho.com] has quit ["Leaving"] 15:07:43 calvin_ [i=calvin@brutaldeluxe.com] has joined #lisp 15:07:52 -!- calvin_ [i=calvin@brutaldeluxe.com] has left #lisp 15:07:54 ksergio [n=ksergio@mail.nuecho.com] has joined #lisp 15:10:12 -!- dto__x [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has quit [Remote closed the connection] 15:10:34 -!- jlf [n=user@netblock-68-183-235-250.dslextreme.com] has quit [Read error: 113 (No route to host)] 15:10:39 swdsdsd [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has joined #lisp 15:11:09 -!- swdsdsd is now known as dto___ 15:12:06 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 15:12:21 lnxz [n=joachim@bjo1-1x-dhcp373.studby.uio.no] has joined #lisp 15:13:55 segv [n=mb@ita4fw1.itasoftware.com] has joined #lisp 15:14:10 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 15:15:05 -!- willb [n=wibenton@h69-129-204-3.mdsnwi.broadband.dynamic.tds.net] has quit [Connection timed out] 15:16:08 ikki [n=ikki@201.155.75.146] has joined #lisp 15:16:15 ManateeLazyCat [n=user@222.212.128.200] has joined #lisp 15:17:08 -!- ManateeLazyCat [n=user@222.212.128.200] has quit [Client Quit] 15:18:26 -!- ksergio [n=ksergio@mail.nuecho.com] has quit [Remote closed the connection] 15:20:56 ManateeLazyCat [n=user@222.212.128.200] has joined #lisp 15:21:44 dono [n=scottcag@66.216.156.221.static.dejazzd.com] has joined #lisp 15:21:48 -!- dono [n=scottcag@66.216.156.221.static.dejazzd.com] has left #lisp 15:22:41 elurin [n=user@88.254.109.35] has joined #lisp 15:22:52 ksergio [n=ksergio@mail.nuecho.com] has joined #lisp 15:23:25 -!- ksergio [n=ksergio@mail.nuecho.com] has quit [Remote closed the connection] 15:25:16 jollygood [n=jollygoo@pool-71-164-44-205.chrlwv.east.verizon.net] has joined #lisp 15:25:49 ksergio [n=sgarcia@mail.nuecho.com] has joined #lisp 15:27:16 b4|hraban [n=b4@0brg.xs4all.nl] has joined #lisp 15:29:32 ejs1 [n=eugen@nat.ironport.com] has joined #lisp 15:32:17 milanj [n=milan@77.46.250.185] has joined #lisp 15:35:30 -!- jollygood [n=jollygoo@pool-71-164-44-205.chrlwv.east.verizon.net] has quit [] 15:38:36 -!- ejs2 [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 15:40:09 oudeis [n=oudeis@89-139-152-237.bb.netvision.net.il] has joined #lisp 15:41:12 -!- matimago [n=user@cac94-10-88-170-236-224.fbx.proxad.net] has quit [Read error: 104 (Connection reset by peer)] 15:42:09 -!- binarycodes [n=sujoy@59.93.214.40] has quit ["WeeChat 0.2.6"] 15:42:19 -!- kzar [n=kzar@hardwick.demon.co.uk] has quit [Remote closed the connection] 15:42:32 -!- jum59 [n=jens@p548D6A61.dip.t-dialin.net] has left #lisp 15:44:21 matimago [n=user@cac94-10-88-170-236-224.fbx.proxad.net] has joined #lisp 15:44:54 jum59 [n=jens@p548D6A61.dip.t-dialin.net] has joined #lisp 15:46:13 -!- jum59 [n=jens@p548D6A61.dip.t-dialin.net] has left #lisp 15:51:38 ryepup [n=ryepup@216.155.97.1] has joined #lisp 15:54:12 -!- jdz [n=jdz@85.254.248.11] has quit ["Somebody rebooted me"] 15:55:05 Luis_Byclosure [n=luis@a83-132-181-55.cpe.netcabo.pt] has joined #lisp 15:58:53 willb [n=wibenton@wireless78.cs.wisc.edu] has joined #lisp 15:59:03 -!- HET2 [n=diman@chello084114161225.3.15.vie.surfer.at] has quit ["This computer has gone to sleep"] 15:59:35 envi_home2 [n=envi@220.121.234.156] has joined #lisp 16:00:08 fusss_ [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 16:00:27 Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has joined #lisp 16:01:44 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 16:01:51 -!- fusss_ is now known as fusss 16:02:52 -!- malumalu [n=malu@hnvr-4dbb5d6b.pool.einsundeins.de] has quit [Read error: 104 (Connection reset by peer)] 16:03:49 -!- envi^home [n=envi@220.121.234.156] has quit [Read error: 60 (Operation timed out)] 16:04:04 slyrus_ [n=slyrus@adsl-68-121-172-169.dsl.pltn13.pacbell.net] has joined #lisp 16:04:56 ia [n=ia@89.169.165.188] has joined #lisp 16:05:14 more progress on xcvb - hopefully something working to show up this weekend. 16:07:09 -!- bighouse [n=bighouse@modemcable012.160-131-66.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 16:07:40 -!- ejs1 [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 16:09:09 binarycodes [n=sujoy@59.93.160.249] has joined #lisp 16:09:10 -!- eevar2 [n=jalla@127.80-203-27.nextgentel.com] has quit ["This computer has gone to sleep"] 16:09:41 -!- VityokOrgUa [n=user@193.109.118.130] has quit ["time to go"] 16:09:52 Fare, cool. how does it compare to Mudballs? 16:12:28 addresses a different issue 16:12:45 nah, not exactly 16:12:50 -!- aerique [i=euqirea@xs2.xs4all.nl] has quit ["..."] 16:12:53 I thought both was aimed at defining systems. 16:13:09 well, currently addresses a subset of the issues that mudballs addresses 16:13:17 it doesn't do distribution (yet) 16:13:27 I updated the docs on cl.net 16:13:30 alrigh, is the plan to ... compete, as it were? 16:13:32 Okay, cool. 16:13:36 -!- lnxz [n=joachim@bjo1-1x-dhcp373.studby.uio.no] has quit ["leaving"] 16:13:52 *tic* can never spell xcvb correctly, sigh. 16:13:53 the plan is to get there eventually 16:14:02 shmho [n=user@58.142.15.103] has joined #lisp 16:14:16 currently, I automated the conversion from ASDF to XCVB 16:14:36 (based on sbrody's code -- he did the heavy lifting) 16:14:55 and I'm working on automating some parts of the Makefile 16:15:07 (where sbrody used to do some manual things) 16:16:01 right, read the ilc submission. 16:16:03 but I have to add a step to get it to work 16:16:21 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 16:16:37 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 16:16:53 so, you're aiming XCVB to become a superset of Mudballs, I assume? 16:17:01 i.e. let you build a pre-image that knows about your central-registry, etc. 16:17:12 eventually, maybe 16:17:20 my first aim is to replace ASDF 16:17:38 -!- ManateeLazyCat [n=user@222.212.128.200] has quit [Read error: 110 (Connection timed out)] 16:17:40 to build software at ITA (and other places) 16:18:02 ben_m [n=Ben@85-127-17-213.dynamic.xdsl-line.inode.at] has joined #lisp 16:18:24 postamar [n=postamar@x-132-204-254-128.xtpr.umontreal.ca] has joined #lisp 16:18:24 not that competition is bad, but what I meant was simply that spreading out resources instead of taking what's best and work with that. On the other hand, I don't know how Mudballs compares to XCVB when it comes to separate compilation, deps, etc. 16:18:46 (interesting, in any case!) 16:19:01 mudballs doesn't even try 16:19:14 Exactly. 16:19:16 I don't understand what makes it superior to ASDF, if anything 16:19:20 Yuuhi [i=benni@p5483F017.dip.t-dialin.net] has joined #lisp 16:19:23 the distribution, I guess? 16:19:25 Fare: it's a replacement for asdf-install, not asdf 16:19:26 maybe 16:19:45 dlowe: it also tries to replace asdf, doesn't it? 16:20:22 it includes its own defsystem 16:20:32 I think the whole defsystem approach is rotten 16:20:39 Fare: maybe, but I didn't see any compelling reasons to switch over 16:21:00 If the whole defsystem approach is rotten, what would you prefer? 16:21:21 chandler: read the xcvb design papers 16:21:31 Sure. Link? 16:21:38 jfgi 16:21:54 -!- netaust1n [n=austinsm@cpe-67-243-48-35.nyc.res.rr.com] has quit [] 16:21:59 hopefully, I'll get the thing to work before this weekend. 16:22:19 sbrody did all the hard work, I can do the user wrapping 16:22:30 (did most of it already) 16:22:33 Hun [n=Hun@p50993726.dip0.t-ipconnect.de] has joined #lisp 16:22:45 -!- daniel_ is now known as daniel 16:22:50 afterwards, there's a lot of refactoring to be done -- but at least we'll start from something that works (in the simple case) 16:23:20 http://common-lisp.net/project/xcvb/ 16:23:28 "module import statement, just as in any modern language" - heh. lots of opportunities for users to shoot their own feet without macro hygiene 16:23:50 Hm? 16:24:17 How do you "import" a macro in Common Lisp? 16:24:52 I don't get it. Maybe it's above me, though. 16:25:02 *tic* heads home 16:25:43 chandler: PLT Scheme does it right 16:25:57 but even without that -- XCVB currently only aims to replace ASDF 16:26:16 so, you tell which file you depend on -- and that files defines the macros 16:26:52 -!- tessier_ [n=treed@kernel-panic/sex-machines] has quit [Connection reset by peer] 16:26:56 Yes, PLT Scheme does it right because it has syntax-case. But as a replacement for the defsystem approach, this seems like a good step forward. 16:27:03 I like the CFASL idea. 16:27:20 tessier_ [n=treed@kernel-panic/sex-machines] has joined #lisp 16:28:12 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 16:28:17 -!- tessier_ [n=treed@kernel-panic/sex-machines] has quit [Read error: 104 (Connection reset by peer)] 16:28:46 tessier_ [n=treed@kernel-panic/sex-machines] has joined #lisp 16:29:01 yango [n=yango@unaffiliated/yango] has joined #lisp 16:29:26 -!- shmho [n=user@58.142.15.103] has quit [Remote closed the connection] 16:29:54 -!- Luis_Byclosure [n=luis@a83-132-181-55.cpe.netcabo.pt] has quit [] 16:29:56 no, PLT Scheme does it right because it has a good model of staged computation, unlike READ-TIME, COMPILE-TIME, LOAD-TIME, COFFEE-TIME and EXECUTE-TIME 16:30:57 (eval-when (:coffee-time) ) :) 16:36:45 Krystof [i=csr21@158.223.51.76] has joined #lisp 16:39:34 Fare, be careful of the term `separate compilation'. To many it means that each module can be compiled entirely independently of the others, which is what you have in C (treating source files as the modules, and header files as something different). `Incremental compilation' is the best one can do in the face of macros. 16:40:18 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 16:40:42 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 16:40:43 Riastradh, incremental compilation has its own connotations 16:41:19 it's still separate compilation, just with dependencies 16:41:44 I mean compile-time staging dependencies 16:42:03 -!- schaueho [i=d5a445c1@gateway/web/ajax/mibbit.com/x-29f58759429e8f99] has quit ["http://www.mibbit.com ajax IRC Client"] 16:42:22 not just source-level dependencies with flat compile-time dependencies. 16:42:49 "separate compilation with proper staging"? 16:43:07 What `separate compilation' means to many is that the modules really are compilable separately, in any order, at any time. At the very least, you should clarify what you mean by `separate compilation' at the beginning of any documents that use the term. 16:43:09 -!- nikodemus [n=nikodemu@cs181137124.pp.htv.fi] has quit [Connection reset by peer] 16:45:18 rpg [n=rpg@75.146.46.193] has joined #lisp 16:45:30 Riastradh, good point 16:46:11 -!- postamar [n=postamar@x-132-204-254-128.xtpr.umontreal.ca] has quit [] 16:47:56 -!- gdmfsob [n=gdmfsob@94.178.0.182] has quit [Read error: 131 (Connection reset by peer)] 16:48:27 -!- Fare [n=Fare@c-71-232-6-92.hsd1.ma.comcast.net] has left #lisp 16:49:07 postamar [n=postamar@x-132-204-254-128.xtpr.umontreal.ca] has joined #lisp 16:51:58 crod [n=cmell@cb8a5b-232.dynamic.tiki.ne.jp] has joined #lisp 16:54:02 -!- jestocost [n=cmell@cb8a6f-106.dynamic.tiki.ne.jp] has quit [Read error: 110 (Connection timed out)] 16:56:13 sohail [n=Sohail@unaffiliated/sohail] has joined #lisp 16:57:44 binarin [n=user@gwn.alt1.ru] has joined #lisp 16:58:05 LeCamarade [n=LeCamara@41.222.7.35] has joined #lisp 16:58:16 -!- adeht [n=death@nessers.org] has quit ["changing servers"] 17:02:09 gdmfsob [n=gdmfsob@94.178.15.140] has joined #lisp 17:02:55 salex [n=user@216.80.143.240] has joined #lisp 17:03:18 jlf [n=user@unaffiliated/jlf] has joined #lisp 17:07:12 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit [Read error: 104 (Connection reset by peer)] 17:09:07 fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has joined #lisp 17:11:04 ltbarcly [n=jvanwink@nc-76-0-128-24.dhcp.embarqhsd.net] has joined #lisp 17:17:27 -!- rfgpfeiffer [n=rfgpfeif@wlan1.asg-platform.org] has quit [] 17:17:59 nikodemus [n=nikodemu@cs181137124.pp.htv.fi] has joined #lisp 17:19:06 -!- slyrus_ [n=slyrus@adsl-68-121-172-169.dsl.pltn13.pacbell.net] has quit [Read error: 110 (Connection timed out)] 17:21:07 -!- rpg [n=rpg@75.146.46.193] has quit [Read error: 110 (Connection timed out)] 17:21:26 -!- silenius [n=jl@yian-ho03.nir.cronon.net] has quit [] 17:22:16 tcr [n=tcr@host145.natpool.mwn.de] has joined #lisp 17:22:17 Beket [n=stathis@athedsl-412320.home.otenet.gr] has joined #lisp 17:25:35 athos [n=philipp@92.250.204.223] has joined #lisp 17:27:12 jestocost [n=cmell@cb8a5b-232.dynamic.tiki.ne.jp] has joined #lisp 17:27:28 -!- crod [n=cmell@cb8a5b-232.dynamic.tiki.ne.jp] has quit [Read error: 110 (Connection timed out)] 17:27:31 -!- leo2007 [n=leo@sl392.st-edmunds.cam.ac.uk] has quit ["out for a bit"] 17:28:00 borism_ [n=boris@195-50-197-14-dsl.krw.estpak.ee] has joined #lisp 17:28:00 -!- LeCamarade [n=LeCamara@41.222.7.35] has quit ["Leaving"] 17:30:35 BlueBlazer [n=tomdeben@75.149.54.1] has joined #lisp 17:30:51 -!- BlueBlazer [n=tomdeben@75.149.54.1] has left #lisp 17:32:19 -!- Quadrescence [n=quad@c-24-118-118-178.hsd1.mn.comcast.net] has quit [Remote closed the connection] 17:37:06 -!- toddoon [n=guillaum@mar92-11-82-245-210-60.fbx.proxad.net] has quit [Remote closed the connection] 17:43:39 -!- dwave [n=ask@pat-tdc.opera.com] has quit [] 17:45:09 -!- Nshag [i=user@Mix-Orleans-105-1-236.w193-250.abo.wanadoo.fr] has quit ["Quitte"] 17:46:24 PanGoat [n=PanGoat@node2.sensoryresearch.net] has joined #lisp 17:47:35 mattrepl [n=mattrepl@ip68-98-133-128.dc.dc.cox.net] has joined #lisp 17:48:17 -!- rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has quit [Read error: 131 (Connection reset by peer)] 17:48:31 rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has joined #lisp 17:49:35 -!- Nocebojin [n=shaun@CPE-124-186-227-195.qld.bigpond.net.au] has quit [Read error: 110 (Connection timed out)] 17:51:57 -!- Krystof [i=csr21@158.223.51.76] has quit [Read error: 110 (Connection timed out)] 17:54:00 -!- willb [n=wibenton@wireless78.cs.wisc.edu] has quit ["Leaving"] 17:54:48 holycow [n=new@mail.wjsgroup.com] has joined #lisp 17:57:47 -!- rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has quit [Read error: 104 (Connection reset by peer)] 17:58:03 rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has joined #lisp 17:59:26 rpg [n=rpg@75.146.46.193] has joined #lisp 17:59:32 Luis_Byclosure [n=luis@a83-132-181-55.cpe.netcabo.pt] has joined #lisp 18:00:45 Quadrescence [n=quad@c-24-118-118-178.hsd1.mn.comcast.net] has joined #lisp 18:00:58 -!- addled [n=addled@mail.andrewlawson.org] has left #lisp 18:01:59 funebre [n=mfunebre@c-67-170-13-67.hsd1.wa.comcast.net] has joined #lisp 18:03:03 -!- Luis_Byclosure [n=luis@a83-132-181-55.cpe.netcabo.pt] has left #lisp 18:03:58 -!- rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has quit [Read error: 131 (Connection reset by peer)] 18:07:10 rdd [n=rdd@c83-250-142-219.bredband.comhem.se] has joined #lisp 18:09:33 yango_ [n=yango@unaffiliated/yango] has joined #lisp 18:10:03 gonzojive [n=red@ip98-169-42-150.dc.dc.cox.net] has joined #lisp 18:10:16 Eleanore [n=a@ip215131.lbinternet.se] has joined #lisp 18:11:07 -!- dialtone [n=dialtone@adsl-75-17-56-28.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 18:14:09 isismelting [n=jo@ip72-197-229-240.sd.sd.cox.net] has joined #lisp 18:14:31 -!- holycow [n=new@mail.wjsgroup.com] has quit [Read error: 54 (Connection reset by peer)] 18:14:54 elderK [n=elderK@218-101-117-149.dialup.clear.net.nz] has joined #lisp 18:15:05 -!- elderK [n=elderK@218-101-117-149.dialup.clear.net.nz] has left #lisp 18:18:28 -!- postamar [n=postamar@x-132-204-254-128.xtpr.umontreal.ca] has quit [] 18:19:01 -!- bobo [n=bobo@c-76-119-115-138.hsd1.ma.comcast.net] has quit [] 18:19:04 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #lisp 18:19:06 -!- envi_home2 [n=envi@220.121.234.156] has quit [Read error: 104 (Connection reset by peer)] 18:19:22 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit [Read error: 104 (Connection reset by peer)] 18:19:36 Guest28780 [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #lisp 18:19:47 jfrancis [n=jfrancis@72.14.224.1] has joined #lisp 18:20:32 -!- Guest28780 is now known as cracki 18:21:55 -!- yango [n=yango@unaffiliated/yango] has quit [Read error: 110 (Connection timed out)] 18:26:26 postamar [n=postamar@x-132-204-254-128.xtpr.umontreal.ca] has joined #lisp 18:26:47 -!- postamar [n=postamar@x-132-204-254-128.xtpr.umontreal.ca] has left #lisp 18:30:08 -!- Spec[away] [n=NoOne@82.177.125.6] has quit [Read error: 60 (Operation timed out)] 18:32:08 -!- b4|hraban [n=b4@0brg.xs4all.nl] has quit [Remote closed the connection] 18:32:24 -!- pon][ [n=pon@c-d531e253.516-1-64736c10.cust.bredbandsbolaget.se] has quit ["leaving"] 18:32:38 b4|hraban [n=b4@0brg.xs4all.nl] has joined #lisp 18:32:42 -!- gdmfsob [n=gdmfsob@94.178.15.140] has quit [Read error: 110 (Connection timed out)] 18:33:04 wasabi_________0 [n=wasabi@ntoska150195.oska.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 18:33:24 -!- fusss [n=chatzill@ip70-187-234-43.dc.dc.cox.net] has quit ["ChatZilla 0.9.84 [Firefox 3.0.5/2008120122]"] 18:33:36 gdmfsob [n=gdmfsob@94.178.15.140] has joined #lisp 18:33:44 -!- mattrepl [n=mattrepl@ip68-98-133-128.dc.dc.cox.net] has quit [] 18:33:53 vmCodes [n=vmCodes@5acc029b.bb.sky.com] has joined #lisp 18:34:33 -!- mulligan [n=user@e178051219.adsl.alicedsl.de] has quit [Remote closed the connection] 18:36:08 dialtone [n=dialtone@adsl-99-136-101-166.dsl.pltn13.sbcglobal.net] has joined #lisp 18:36:42 -!- wasabi__________ [n=wasabi@ntoska208215.oska.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 60 (Operation timed out)] 18:39:58 rme [n=rme@pool-70-105-87-66.chi.dsl-w.verizon.net] has joined #lisp 18:39:58 -!- Hun [n=Hun@p50993726.dip0.t-ipconnect.de] has quit [Read error: 104 (Connection reset by peer)] 18:40:13 -!- gdmfsob [n=gdmfsob@94.178.15.140] has quit [Operation timed out] 18:42:05 Spec[away] [n=NoOne@82.177.125.6] has joined #lisp 18:42:08 -!- spiderbyte [n=dcl@unaffiliated/dcl] has quit [Read error: 60 (Operation timed out)] 18:48:14 mattrepl [n=mattrepl@ip68-98-133-128.dc.dc.cox.net] has joined #lisp 18:49:26 slyrus_ [n=slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has joined #lisp 18:49:44 xvc [n=chatzill@82-69-45-88.dsl.in-addr.zen.co.uk] has joined #lisp 18:51:40 -!- matley [n=matley@matley.imati.cnr.it] has quit [Read error: 113 (No route to host)] 18:52:45 -!- BrianRice-mb is now known as BrianRice 18:54:39 Greetings everyone. I've read in Hyperspec for MAPCAN, but I don't think I get it 100%. 18:55:01 -!- Eleanore [n=a@ip215131.lbinternet.se] has quit [Read error: 104 (Connection reset by peer)] 18:55:01 http://paste.lisp.org/display/72357 18:55:36 -!- gonzojive [n=red@ip98-169-42-150.dc.dc.cox.net] has quit [Read error: 54 (Connection reset by peer)] 18:55:58 gonzojive [n=red@ip98-169-42-150.dc.dc.cox.net] has joined #lisp 18:56:11 Would anyone be so kind as to explain to me how the `9' came up ? 18:57:21 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 104 (Connection reset by peer)] 18:58:26 I can't explain why that happens, but I can point out that the function you give mapcan should return a list 18:58:41 -!- rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has quit [Read error: 54 (Connection reset by peer)] 18:58:44 Beket: also, you shouldn't be using mapcan with a literal list 18:59:24 well, you can give it a literal list. you shouldn't ever return a literal list. 18:59:42 yeah, that's what I meant. 18:59:56 pstickne [n=pstickne@c-71-236-177-238.hsd1.wa.comcast.net] has joined #lisp 19:00:13 (mapcan (lambda (x) (list 'hello x)) '(1 2 3 4 5)) => (HELLO 1 HELLO 2 HELLO 3 HELLO 4 HELLO 5) 19:00:16 rread [n=rread@c-76-102-10-71.hsd1.ca.comcast.net] has joined #lisp 19:00:33 Oh right! Since MAPCAN uses NCONC to concatane lists, the lambda expression should return a list. 19:00:52 jbjohns [n=chatzill@52-45.3-213.fix.bluewin.ch] has joined #lisp 19:01:12 -!- vmCodes [n=vmCodes@5acc029b.bb.sky.com] has left #lisp 19:01:29 -!- ThomasI [n=thomas@unaffiliated/thomasi] has quit ["Bye Bye!"] 19:01:43 Hello. Is there a way to determine the type of a variable? I read that format will append on a string if there is a fill pointer, but I made a string with make-string and tried to use it but it says that the type isn't a vector of chars with a fill pointer. So I would like to know what it is then 19:01:50 It seems it follows closely the rule: (nconc list) => list 19:01:55 Even for non-lists. 19:02:18 my google-fu isn't working on this one. :( 19:02:48 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 19:03:48 It seems that implementation relies on reasonable enough behaviour of common-case algorithm. 19:03:57 -!- Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has quit ["Ex-Chat"] 19:04:24 Like that division, which returns 1/0 = -1 (quotient) * 0 + 0 (remainder). 19:05:00 (make-array 6 19:05:28 hmm, naughty firefox. 19:07:21 aha, type-of 19:07:27 jbjohns: you can call type-of on your string to see its type. Describe might tell you something useful too. If you want a string with a fill pointer, you can use make-array directly. 19:07:50 e.g. (make-array 6 :element-type 'character :initial-element #\a :fill-pointer 3), and you could add :adjustable t, which might make it more useful. 19:07:54 hefner: Thanks, but if I use make-array then I'll have to convert to a string, no? 19:08:08 coerce or whatever 19:08:41 what's a string? 19:09:07 a simple-vector of characters, but that seems to be different then a vector somehow 19:09:26 bombshelter13 [n=bombshel@209-161-228-143.dsl.look.ca] has joined #lisp 19:09:57 it doesn't have to be simple. 19:11:12 ok, fair enough 19:11:19 any mcclim gurus around (besides hefner who doesn't like incremental-redisplay :) )? 19:11:34 Shame they didn't just add fill pointer to make-string 19:11:35 a simple-vector of characters is in fact not a string, while a vector of characters is 19:12:19 hmm, interesting. 19:12:26 s/vector of characters/vector of element-type character/ 19:12:36 http://www2.cyrusharmon.org/standalone.lisp illustrates some of my incremental-redisplay problems 19:12:46 jsnell: then what does make-string return a simple-vector of chars on SBCL? 19:12:49 in case anyone is curious... 19:13:11 jbjohns: it doesn't 19:13:13 ecraven [n=nex@140.78.42.103] has joined #lisp 19:13:30 a simple-vector has element-type t by definition 19:13:32 oh, right, simple-vectors are not what they sound like 19:13:50 (type-of (make-string 30)) 19:13:51 what it returns is a (simple-array character (*)) 19:14:04 simple-array, yes 19:14:50 compare with (type-of (vector)) 19:14:51 that is to say that a simple-vector is not a one dimensional simple-array :) 19:15:10 what's the difference between simple-vector (is there such a thing?)? 19:15:26 21:13 < jsnell> a simple-vector has element-type t by definition 19:15:42 anything with a non-t element-type is not a simple-vector 19:16:12 even if it is both simple and a vector. yes, this terminology sucks 19:16:17 -!- xvc [n=chatzill@82-69-45-88.dsl.in-addr.zen.co.uk] has quit ["Chatzilla 0.9.75.1 [SeaMonkey 1.1.12/0000000000]"] 19:16:36 :) yea, as far as I knew a vector was just an array of one dimintion 19:16:46 it is 19:16:49 er, dimension 19:17:11 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 19:17:34 ok, so if I use a vector of el-type char I can use it everywhere I use a "string" without problems? And that's portable CL etc? 19:17:36 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 19:17:40 -!- ASau [n=user@193.138.70.52] has quit ["Reboot!"] 19:17:57 jbjohns: http://www.lispworks.com/documentation/HyperSpec/Body/t_string.htm 19:18:27 a string *is exactly* a vector whose element-type is a subtype of character 19:22:01 amnesiac [n=amnesiac@p3m/member/Amnesiac] has joined #lisp 19:22:12 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 19:22:20 -!- isismelting [n=jo@ip72-197-229-240.sd.sd.cox.net] has left #lisp 19:22:26 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 19:23:06 ASau [n=user@193.138.70.52] has joined #lisp 19:23:15 ThomasI [n=thomas@unaffiliated/thomasi] has joined #lisp 19:23:53 mrsolo_ [n=mrsolo@nat/yahoo/x-d4db378a8940b1a1] has joined #lisp 19:24:58 -!- Spec[away] [n=NoOne@82.177.125.6] has quit [Remote closed the connection] 19:25:10 CLOS is amazing. 19:25:15 willb [n=wibenton@h69-129-204-3.mdsnwi.broadband.dynamic.tds.net] has joined #lisp 19:25:33 Does that mean you can have strings with element type nil? And if so, are they useful for anything? 19:26:12 xan, in what sense ? 19:26:36 FireDevil [n=FireDevi@punephenix.net4india.com] has joined #lisp 19:26:52 Thas: indeed it does 19:26:57 heh. "An attempt to access an array of element-type NIL was made. Congratulations!" 19:27:01 holycow [n=new@mail.wjsgroup.com] has joined #lisp 19:27:08 Beket, in the general sense that I'd like to have its babies and specifically that it's saving me from writing so much code today that I'm in awe :) 19:27:25 Thas: more precisely, it means that NIL arrays *are strings* 19:27:34 Huh, learn something every day. Been a while since I learned anything new about CL in particular, but that surprises me. 19:27:51 many CL implementations fail to correctly implement this :-) 19:27:57 It makes sense in an orthogonal way though. 19:28:16 (Like dimension-0 arrays, which also surprised me when I found out about them, but make perfect sense when you think about it) 19:28:19 jollygood [n=jollygoo@pool-71-164-44-205.chrlwv.east.verizon.net] has joined #lisp 19:28:31 -!- FireDevil [n=FireDevi@punephenix.net4india.com] has left #lisp 19:29:22 what is a dimension-0 array (or at least where can I read about them)? 19:29:31 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 19:29:48 (make-array ()) 19:29:48 A dimension-0 array is an array with no dimensions. (make-array '()) to get one, access it with (aref array) 19:29:55 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 19:30:52 -!- mrsolo [n=mrsolo@adsl-68-126-187-226.dsl.pltn13.pacbell.net] has quit [Read error: 110 (Connection timed out)] 19:31:06 Beket, also weird types of method combinations feel like "uh, I don't think I'll ever use that" until you need exactly *that* one 19:31:50 xan, cool, I look forward to studying CLOS. For the time being I am struggling to get C out of my head:) 19:32:22 -!- rme [n=rme@pool-70-105-87-66.chi.dsl-w.verizon.net] has left #lisp 19:34:15 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 19:34:21 Beket: you're not real programmer. :) 19:34:23 gonzojive_ [n=red@ip98-169-46-222.dc.dc.cox.net] has joined #lisp 19:34:55 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 19:36:23 netaust1n [n=austinsm@160.79.78.72] has joined #lisp 19:38:04 -!- gonzojive [n=red@ip98-169-42-150.dc.dc.cox.net] has quit [Read error: 60 (Operation timed out)] 19:38:38 FWIW, unlike what people might expect, zero-dimensional arrays can be relatively heavyweight objects 19:39:34 BTW, speaking of weight. 19:39:47 Are symbols ever garbage collected? 19:39:58 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 19:39:59 kapuzineralex [n=alex@mnch-5d86a21f.pool.einsundeins.de] has joined #lisp 19:40:43 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 19:40:44 Nikodemus: yeah, I checked that once shortly after I learned about them. It turned out that cons cells are the most memory-efficient and the fastest if you just need a box. 19:40:51 lemonodor [n=lemonodo@76.214.2.185] has joined #lisp 19:43:22 ASau, I think it's implementation dependent 19:43:42 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 19:44:02 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 19:44:30 xan: it seems that it isn't. 19:44:49 -!- ThomasI [n=thomas@unaffiliated/thomasi] has quit ["Bye Bye!"] 19:45:13 -!- davazp [n=user@100.Red-79-157-95.staticIP.rima-tde.net] has quit [Remote closed the connection] 19:45:24 At least I don't know and never heard of any implementation which does. 19:45:27 ASau, I might be wrong, but I remember reading something like "depending on your implementation symbols might be gc" in a thread talking about programs autogenerating a lot of symbols and whether or not you should worry about it 19:45:42 Maybe it is subtle issue, but SBCL seems not to g/c them. 19:46:52 -!- MyMelons is now known as themelonbread 19:48:08 ASau: you mean when they're uninterned, or what? 19:48:35 I mean huge memory leak. 19:48:40 sbcl keeps internal (non-weak) references to all symbols that have been used for sufficiently interesting purposes 19:48:55 for example any that have been proclaimed special 19:50:29 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 19:51:40 jsnell: does it make sense for an interned symbol to be gc'd? 19:52:30 of course not 19:53:24 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 19:53:33 why not? Interning is for comparison, and if there's no symbol in the VM at all, a new one could get a different interned identity and still match anything else that comes through 19:53:33 ASau: symbols are just regular objects. They just tend to have tons of references to them (packages for interned symbols, source forms, etc). If you just make a fresh symbol with, e.g., make-symbol, there's no reason it wouldn't be gced. 19:54:10 Phoodus: wrong. You can use get the list of all the symbols in a given package. 19:54:21 and because symbols have properties other than identity 19:55:37 yeah, if you get a symbol from a string after absolutely no references to that symbol remained, you still want it to hit the same stuf 19:56:06 anyway, maybe I should try sleeping before asking questions ;) 19:56:15 What would one do with a 0 dimension array? 19:56:20 binarin` [n=user@gwn.alt1.ru] has joined #lisp 19:56:22 -!- Phoodus [i=foo@ip68-231-38-131.ph.ph.cox.net] has quit [Read error: 104 (Connection reset by peer)] 19:56:28 jbjohns: access the one element in it :) 19:56:45 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit [orwell.freenode.net irc.freenode.net] 19:56:45 -!- kleppari [n=spa@bitbucket.is] has quit [orwell.freenode.net irc.freenode.net] 19:56:45 -!- jsnell [n=jsnell@vasara.proghammer.com] has quit [orwell.freenode.net irc.freenode.net] 19:56:45 -!- lucca [n=lucca@kuu.accela.net] has quit [orwell.freenode.net irc.freenode.net] 19:56:45 -!- lasts [n=lasts@77.207.25.109] has quit [orwell.freenode.net irc.freenode.net] 19:56:45 -!- cods [n=cods@rsbac/developer/cods] has quit [orwell.freenode.net irc.freenode.net] 19:56:48 ok, so it becomes a single cell 19:57:11 jbjohns: yes, (aref array). There can only be 1 element in it. 19:57:13 What would the most idiomatic way of calling a function 10 times and collecting/printing what values were returned how many times (to test a random function) 19:57:18 I'll have to think about what value that would have over a simple variable. :) 19:57:34 ben_m: Would trace work? 19:57:49 ben_m: (loop repeat 10 collect (multiple-value-list (fn))) 19:59:13 -!- jollygood [n=jollygoo@pool-71-164-44-205.chrlwv.east.verizon.net] has quit [] 20:00:04 cods [n=cods@tuxee.net] has joined #lisp 20:00:12 -!- cods [n=cods@tuxee.net] has quit [Killed by kornbluth.freenode.net (Nick collision)] 20:00:14 jbjohns: you can't arbitrarily pass bindings around, so it's useful if you want to share assignments in other ways than what dynamic or lexical scoping offer. 20:00:16 kleppari [n=spa@bitbucket.is] has joined #lisp 20:00:16 antoszka [n=antoszka@unaffiliated/antoszka] has joined #lisp 20:00:16 lasts [n=lasts@77.207.25.109] has joined #lisp 20:00:16 lucca [n=lucca@kuu.accela.net] has joined #lisp 20:00:16 jsnell [n=jsnell@vasara.proghammer.com] has joined #lisp 20:00:16 cods [n=cods@rsbac/developer/cods] has joined #lisp 20:00:17 -!- cods [n=cods@rsbac/developer/cods] has quit [Remote closed the connection] 20:00:21 pkhuong: I phrased my question wrong, but that helped, thanks. 20:00:24 cods [n=cods@tuxee.net] has joined #lisp 20:00:49 -!- kleppari [n=spa@bitbucket.is] has quit [Remote closed the connection] 20:00:54 kleppari [n=spa@bitbucket.is] has joined #lisp 20:01:10 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 20:02:04 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 20:02:23 -!- jestocost [n=cmell@cb8a5b-232.dynamic.tiki.ne.jp] has quit [Read error: 110 (Connection timed out)] 20:02:52 jestocost [n=cmell@cb8a6f-014.dynamic.tiki.ne.jp] has joined #lisp 20:02:57 pkhuong: Ah, I see, so it's like getting what other languages call a "reference" 20:03:42 but it seems that the kinds of things you do with this you can also do with a dynamic/global variable. I guess the difference is you can control access because it has to be passed around 20:04:42 jbjohns: you can also store it in a data structure or otherwise pass it around arbitrarily, including as a return value. 20:05:18 interesting. I'll have to keep that one in mind for when the need for it comes up. 20:05:20 AFAICT, it's like a reference in other languages if you mean C++, D or maybe Ada. 20:05:36 I was actually thinking ML, but yes, C++ etc. 20:06:11 In e.g. OCaml, the easiest way to get a mutable variable is to make a "ref" which is a one cell location that you can read and mutate 20:06:12 in my world, ML calls that a mutable cell. 20:06:40 right, but I think the keyword to make one (at least in OCaml) is ref 20:06:59 yes, and in SML too, I believe. 20:07:31 -!- rpg [n=rpg@75.146.46.193] has quit ["Leaving..."] 20:13:10 -!- binarin [n=user@gwn.alt1.ru] has quit [Read error: 110 (Connection timed out)] 20:13:14 -!- Aji-Dahaka [n=root@fluffy.dname.net] has left #lisp 20:17:03 xjrn [n=jim@c-24-7-31-66.hsd1.ca.comcast.net] has joined #lisp 20:17:56 Jabberwockey [n=jens@dslb-082-083-101-154.pools.arcor-ip.net] has joined #lisp 20:19:34 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #lisp 20:19:56 ejs1 [n=eugen@92.49.235.196] has joined #lisp 20:20:03 Anyone know of an srt fixer? I'm doing one now right quick in Lisp but was just curious 20:20:22 (srt are the subtitle files for movies for those who don't know) 20:23:39 jbjohns: fixer? What would it fix? 20:23:47 when the times don't match 20:23:52 that is, the starting time 20:24:02 -!- ths [n=ths@p549AFCC2.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 20:25:14 in my case, I have an srt file that is 2 seconds behind, so I need to push all times forward 2 seconds 20:25:58 spiderbyte [n=dcl@unaffiliated/dcl] has joined #lisp 20:26:14 -!- amnesiac [n=amnesiac@p3m/member/Amnesiac] has quit ["Leaving"] 20:27:57 mejja [n=user@c-4db6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #lisp 20:28:10 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 20:28:25 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 20:28:46 -!- lichtblau [n=user@port-83-236-3-235.dynamic.qsc.de] has quit [Remote closed the connection] 20:28:56 lichtblau [n=user@port-83-236-3-235.dynamic.qsc.de] has joined #lisp 20:30:26 ah, right 20:30:47 rurban [n=chatzill@212-183-63-125.adsl.highway.telekom.at] has joined #lisp 20:34:38 gordon02139 [n=gordon@ita4fw1.itasoftware.com] has joined #lisp 20:36:31 ths [n=ths@X5cd2.x.pppool.de] has joined #lisp 20:37:07 -!- binarycodes [n=sujoy@59.93.160.249] has quit ["WeeChat 0.2.6"] 20:37:12 technik [i=lonstein@ohno.mrbill.net] has joined #lisp 20:37:22 -!- gordon02139 [n=gordon@ita4fw1.itasoftware.com] has left #lisp 20:39:24 ok, pattern time. :) The nature of the file is: first line is the number, next line is the time block like: start --> end and the rest is the text 20:39:34 so this sounds like a state machine to me, no? 20:39:58 if so, any good patterns in loop for this? 20:40:11 jbjohns: I've seen those fixers online at sites that have subs. 20:40:48 ah, should have thought of that. But this is a good excersise for me in any case. 20:41:21 jbjohns: I think they convert for different frame rates and other options, as well. 20:41:54 I don't see any information to deal with frame rates in there, unless there is drift or something 20:42:45 but I can't see how there could be. It says the time that the text will be needed for the movie and that should be the same regardless of framerate, no? I mean a faster frame rate doesn't mean you see a 1:30 hour movie in 45 minutes 20:43:46 Maybe I'm mistaken. 20:44:09 -!- nikodemus [n=nikodemu@cs181137124.pp.htv.fi] has quit ["This computer has gone to sleep"] 20:45:03 I'll let you know after I do this fix and then watch the movie. If it starts drifting somehow then you were right. :) 20:45:54 mehrheit [n=user@lan-84-240-55-160.vln.skynet.lt] has joined #lisp 20:46:00 -!- kapuzineralex [n=alex@mnch-5d86a21f.pool.einsundeins.de] has quit ["good night."] 20:46:28 I have a couple of questions, while I'm thinking about this. First; is the consensus that loop is the best, or should everyone be switching to iterate? Or is the typical "it depends"? 20:47:05 you assume a consensus that doesn't exist. 20:47:21 jgracin [n=jgracin@82.193.208.195] has joined #lisp 20:47:44 I personally don't think iterate is worth the trouble. It's a little better, sure, but not sufficiently to bother. 20:48:01 LOOP is in the standard, that's the only advantage it got, but it's a huge advantage. 20:48:12 Yeah, that's my problem with iterate, too. 20:48:33 tsuru [n=user@c-69-245-36-64.hsd1.tn.comcast.net] has joined #lisp 20:49:56 hefner: i tend to use it for the things that are simple in iterate and pain in the ass in loop (e.g. indirect max/min), and avoid it otherwise (since loop is standard) 20:51:56 Is LOOP considered a different language integrated to lisp ? 20:52:12 the thing I wondered about iterate is why it exports *soooo* many symbols? 20:52:12 oudeis_ [n=oudeis@89-139-152-237.bb.netvision.net.il] has joined #lisp 20:52:18 loop doesn't seem to do this 20:52:20 it's an example of a DSL, sure, but it's standardized (cf format) 20:52:23 HET2 [n=diman@chello084114161225.3.15.vie.surfer.at] has joined #lisp 20:55:13 -!- mattrepl [n=mattrepl@ip68-98-133-128.dc.dc.cox.net] has quit [] 20:55:27 salex: for indirect max/min, use EXTREMUM (defined in cl-utilities) 20:55:35 jbjohns: mostly because iterate is supposed to be extensible 20:55:55 tcr: that doesn't solve the non-standard issue, now does it? 20:56:10 jbjohns: so you could define your own FOO:FOR and use that instead of ITER:FOR 20:56:11 indirect max/min was just a simple example of something iterate does well, loop doesnt 20:56:42 what do you mean by indirect max/min? 20:57:12 e.g: where you want to find n maximizing f(n), not max of n 20:57:27 ah, yeah. 20:57:32 sorry, not maximinzing f(n) 20:57:49 there is no support for his in loop, so you end up having two locals, and the test code 20:58:19 luis: Ah, didn't think of that. I guess it's not really that problematic, just scary for someone (like me) who likes to keep his package exports tight 20:58:19 right, and REDUCE dealing of :KEY is surprising 20:58:51 tcr if you are dealing with nested lists, the mapping stuff doesn't help as much either 20:58:54 bighouse [n=bighouse@modemcable012.160-131-66.mc.videotron.ca] has joined #lisp 20:59:13 salex: Like? 20:59:36 n-dimensional data structures, not flattened 21:00:01 Nah I was referring to "mapping stuff" 21:00:14 oh, like reduce etc. does't help you with 4d arrasy :) 21:01:39 anyway. nothings perfect. iterate is at least extensible 21:02:11 -!- fe[nl]ix [n=algidus@88-149-211-176.dynamic.ngi.it] has quit ["Valete!"] 21:02:18 salex: I agree. I just today thought about the indirect maximizing issue, and initially thought iterate would be your only option. 21:02:39 The status of cl-utilities wrt alexandria is a bit unfortunate 21:02:58 yeah. i do a lot of that sort of max/min 21:03:23 sometimes it's clearer to write something context specific anyway, but it's nice to have a clean mechanism 21:04:06 for the 4d array stuff, isn't it possible to write something like (reduce ... (make-displaced-array 4d-array))? 21:04:43 tcr: not if the indices are important, i.e. f(i,j,k,t) is what you are looking at 21:04:56 or at least, if you do this you just push the mess around 21:05:25 erm, that was unclear 21:06:23 of course you can map n->i,j,k,t or whatever, but if the local spatial information is important, you're trading of where the messy stuff lives, not really cleaning it up. (as you'll have to rectonstruct the neighborhood anyway) 21:06:33 postamar [n=postamar@x-132-204-255-121.xtpr.umontreal.ca] has joined #lisp 21:07:19 -!- jgracin [n=jgracin@82.193.208.195] has quit [Remote closed the connection] 21:08:24 Teratogen [i=leontopo@unaffiliated/teratogen] has joined #lisp 21:10:02 Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has joined #lisp 21:13:59 tns [n=mehdi@put92-6-88-165-36-162.fbx.proxad.net] has joined #lisp 21:15:06 mattrepl [n=mattrepl@ip68-98-133-128.dc.dc.cox.net] has joined #lisp 21:20:30 ^authentic [n=authenti@85-127-20-42.dynamic.xdsl-line.inode.at] has joined #lisp 21:20:38 CalJohn [n=pg99@87-194-236-208.bethere.co.uk] has joined #lisp 21:20:49 -!- CalJohn [n=pg99@87-194-236-208.bethere.co.uk] has left #lisp 21:21:17 -!- rurban [n=chatzill@212-183-63-125.adsl.highway.telekom.at] has quit ["ChatZilla 0.9.75.1 [SeaMonkey 1.1.14/2008120416]"] 21:21:39 sellout- [n=greg@guest-fw.dc4.itasoftware.com] has joined #lisp 21:22:09 -!- sellout [n=greg@guest-fw.dc4.itasoftware.com] has quit [Read error: 104 (Connection reset by peer)] 21:23:25 -!- authentic [n=authenti@unaffiliated/authentic] has quit [Read error: 60 (Operation timed out)] 21:28:55 fe[nl]ix [n=algidus@88-149-212-205.dynamic.ngi.it] has joined #lisp 21:29:21 ThomasI [n=thomas@unaffiliated/thomasi] has joined #lisp 21:31:58 -!- themelonbread is now known as themelonbagel 21:32:49 -!- dto___ is now known as dtoo 21:33:00 -!- dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has quit [Read error: 104 (Connection reset by peer)] 21:33:08 -!- dtoo is now known as dto 21:34:08 tripwyre [n=sathya@117.193.166.210] has joined #lisp 21:34:10 -!- ejs1 [n=eugen@92.49.235.196] has quit [Read error: 60 (Operation timed out)] 21:35:52 -!- ThomasI [n=thomas@unaffiliated/thomasi] has quit ["Bye Bye!"] 21:36:25 josemanuel [n=josemanu@165.0.222.87.dynamic.jazztel.es] has joined #lisp 21:36:38 missyjane [n=hey@unaffiliated/missyjane] has joined #lisp 21:36:56 ejs1 [n=eugen@77-109-24-243.dynamic.peoplenet.ua] has joined #lisp 21:38:40 adeht [n=death@nessers.org] has joined #lisp 21:39:18 -!- missyjane [n=hey@unaffiliated/missyjane] has quit [] 21:39:27 ChibaPet [n=mason@64.206.6.254] has joined #lisp 21:39:29 ThomasI [n=thomas@unaffiliated/thomasi] has joined #lisp 21:40:02 Hm, the pastebot seems to be broken. 21:40:04 -!- ^authentic [n=authenti@unaffiliated/authentic] has quit [Read error: 113 (No route to host)] 21:40:19 -!- tns [n=mehdi@put92-6-88-165-36-162.fbx.proxad.net] has quit [] 21:40:21 or maybe my local environment is broken? 21:40:47 we'll go with my local environment 21:41:07 -!- esden [n=esden@lapradig77.informatik.tu-muenchen.de] has quit [Read error: 110 (Connection timed out)] 21:41:12 ur, hm, no - I see an error from "Apache/1.3.34 Server at paste.lisp.org Port 80" 21:41:14 -!- dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has quit [Remote closed the connection] 21:41:44 chibapet pasted "critique" at http://paste.lisp.org/display/72366 21:41:59 There is a cool article here: http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/26c9521bf0a35e21 21:42:51 So, I wanted to solve it without using iteration. And the paste-botted stuff is my solution. I'm wondering if someone could pick out some ugliness there and tell me what I might have done differently, with the caveat that I want it to be a relatively simple tail-recursive solution. 21:43:15 -!- ikki [n=ikki@201.155.75.146] has quit [Read error: 113 (No route to host)] 21:43:34 -!- Aankhen`` [n=Aankhen@122.162.224.129] has quit ["He who moderates best, moderates least…"] 21:44:12 Points of ugliness that I'm not sure how to resolve: I seem to be constructing lists a lot, but I'm not seeing a clean way to not do this. Also, I dislike the initial checking-for-nullness-of-last-car bit, but, again, I'm not sure what is a reasonable solution. 21:44:36 -!- tripwyre [n=sathya@117.193.166.210] has quit [] 21:47:09 ChibaPet: consider using (cons x y) instead of (append y (list x)), and an internal helper function defined using "labels" instead of the optional argument stuff 21:47:26 esden [n=esden@91-67-156-166-dynip.superkabel.de] has joined #lisp 21:47:27 ok 21:48:04 Adamant [n=Adamant@c-69-254-76-231.hsd1.ga.comcast.net] has joined #lisp 21:49:35 -!- themelonbagel is now known as themelonbread 21:51:54 -!- sellout- is now known as sellout 21:52:02 JuanDaugherty [n=juan@cpe-72-228-150-44.buffalo.res.rr.com] has joined #lisp 21:52:19 ChibaPet: also something's probably suboptimal if you find yourself passing both (car foo) and (cdr foo) instead of just foo 21:52:29 hm 21:52:33 rbohn_ [n=chatzill@67.106.39.4.ptr.us.xo.net] has joined #lisp 21:52:34 -!- Beket [n=stathis@athedsl-412320.home.otenet.gr] has quit [Remote closed the connection] 21:52:37 -!- themelonbread is now known as Draggor 21:52:57 Well. They are heading into different buckets, as it were. 21:53:50 Hm, (cons foo bar) isn't producing the same results as (append foo (list bar)) 21:53:57 -!- adeht [n=death@nessers.org] has quit [Read error: 60 (Operation timed out)] 21:55:22 That said, it strikes me as being likely that I shouldn't be calling (list) so much. 21:56:55 what are you actually trying to do? 21:57:04 -!- deximer [n=deximer@168.203.117.66] has quit ["Leaving"] 21:57:07 This post: http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/26c9521bf0a35e21 21:57:22 I wanted to do that tail-recursively, not iteratively. 21:57:38 fwiw, in addition to previous, i don't think its a good idea to have optional params athat are actually required. 21:57:41 My solution works, but I want it to be more elegant, and I'm not sure how. :) 21:58:04 Well, the optional parameters are just to avoid defining an inner function. 21:58:14 But, yeah, I should learn about (labels) and use that. 21:58:23 yup 21:58:44 That still wouldn't fix the ugliness with over-using (list) there... 21:58:46 and you want to avoid iteration why? 21:58:59 daniel_ [i=daniel@unaffiliated/daniel] has joined #lisp 21:59:15 minion: chant 21:59:15 MORE SENSE 21:59:26 I want to avoid loop specifically. I'm not opposed to iteration generally. 21:59:36 again, why? 22:00:05 THAT said, I do want to eventually be comfortable programming without mutable variables. Looping via tail recursion seems like a good step. I may be confused. 22:00:44 fwiw: another general comment, the name is bad. it doesn't describe what it does well, and it misleads aboutthe data types 22:01:02 ChibaPet, have you tried the DO family of iteration? 22:01:04 Right, because it's not dealing with sequences. 22:01:15 I like "do" but it still involves some mutation. :) 22:01:19 and it's not behaving like other find-* 22:01:24 -!- vtl [n=user@nat/redhat/x-e71d921e0def6435] has quit [Remote closed the connection] 22:01:30 I will change the name. 22:01:35 being to purist about that is silly ChibaPet. for learning, fair enough 22:01:40 -!- rcy [n=rcy@S01060002553240a8.vc.shawcable.net] has quit [Read error: 110 (Connection timed out)] 22:01:47 And I will use labels to avoid the optional parameters. 22:01:51 but it's not an admirable goal in and of itself, or anything 22:02:16 Well. Eventually I might want to use the CL-ish skin over Erlang, in which case mutability won't be possible. 22:02:28 I want to learn the magic of functional programming. :P 22:04:00 -!- LiamH [n=none@common-lisp.net] has quit ["Leaving."] 22:05:11 ChibaPet: Lisp is not functional. 22:05:24 :o 22:05:35 Right, understood. But it *can be*. 22:05:39 Right. :D 22:05:50 Luckily, it can be everything and a bag of chips. 22:05:53 heh 22:06:12 I will be honest. If you want to learn functional programming, maybe take a few weeks to play with Haskell 22:06:14 -!- Jasko [n=tjasko@c-98-235-21-22.hsd1.pa.comcast.net] has quit ["Leaving"] 22:06:22 (but be sure to dump haskell for lisp after) 22:07:22 I've looked at Haskell and Erlang, and I think Erlang might be better-suited to real-world use. But, Lisp-on-Erlang might be maximally fun. But for now my envisioned project can be done without Erlang's light-weight threads, and I'm happy with the design I've come up with that doesn't depend on them. 22:08:38 ChibaPet: I was just recommending Haskell as a tool to learn. 22:08:38 esden_ [n=esdentem@repl.esden.net] has joined #lisp 22:08:58 I personally don't recommend it as a "main" language. Others might of course disagree. 22:09:03 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 22:09:12 -!- rbohn [n=chatzill@67.106.39.4.ptr.us.xo.net] has quit [Read error: 110 (Connection timed out)] 22:09:14 But it was a good ride in how to code, more or less, purely functionally 22:09:14 It interests me. 22:09:19 dv_ [n=dv@85-127-102-97.dynamic.xdsl-line.inode.at] has joined #lisp 22:09:21 -!- Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has quit [Read error: 60 (Operation timed out)] 22:09:21 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 22:09:29 But much of it is a turn off. 22:09:36 Mind you, I was there before lisp/ 22:09:37 .* 22:09:45 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 22:10:50 I would second on Erlang. If you do multiple side effects it can be a real pain in Haskell since you have to do all kinds of monad combinations, etc. 22:10:52 -!- segv [n=mb@ita4fw1.itasoftware.com] has quit [] 22:11:02 plus Erlang isn't static typed, so that saves you some up front time 22:11:42 jbjohns: In that case, I'd agree too. 22:11:53 I do really like Haskell, but I personally reach for it for situations where I'll make use of the lazy scemantics 22:11:54 Again, just for learning to program functionally, I think Haskell is good. 22:12:22 But, like you said, it's not at all a tool of choice 22:12:26 Just because it can be a pain. 22:12:46 elderK [n=elderK@203-167-171-211.dialup.clear.net.nz] has joined #lisp 22:13:03 -!- elderK [n=elderK@203-167-171-211.dialup.clear.net.nz] has left #lisp 22:13:46 I guess if I were a static-type-believer I wouldn't use anything else. But atm I'm not. :) I mean, I'm sure Haskell's type system can really catch a lot of errors, but in my experience most "type" errors are simple typos that decent dynamic typed languages have ways of catching as well 22:13:48 -!- Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has quit [Remote closed the connection] 22:14:40 amnesiac [n=amnesiac@p3m/member/Amnesiac] has joined #lisp 22:14:45 -!- daniel [i=daniel@unaffiliated/daniel] has quit [Read error: 110 (Connection timed out)] 22:15:35 Jarvellis [n=jarv@dsl-217-155-101-22.zen.co.uk] has joined #lisp 22:16:41 Dawgmatix [n=deep@207-237-30-94.c3-0.avec-ubr11.nyr-avec.ny.cable.rcn.com] has joined #lisp 22:17:03 -!- ejs1 [n=eugen@77-109-24-243.dynamic.peoplenet.ua] has quit [Read error: 110 (Connection timed out)] 22:17:26 rfgpfeiffer [n=rfgpfeif@e178209148.adsl.alicedsl.de] has joined #lisp 22:18:54 salex annotated #72366 with "roughly" at http://paste.lisp.org/display/72366#1 22:19:24 fwiw, anyway, think that's roughly where you were aming 22:19:26 *aiming 22:19:51 return-from is new to me - interesting 22:19:54 slom [n=slom@pD9EB55DD.dip.t-dialin.net] has joined #lisp 22:20:11 there are other ways to do this, that seems pretty clear though 22:20:33 and follows your approach 22:21:02 Jasko [n=tjasko@c-98-235-21-22.hsd1.pa.comcast.net] has joined #lisp 22:21:04 anyway, i don't know that this is how i'd do it, but there it si 22:21:11 Thank you. 22:21:19 That is cleaner than mine by a big margin. 22:22:25 -!- spiderbyte [n=dcl@unaffiliated/dcl] has quit [Remote closed the connection] 22:23:03 cYmen [n=cymen@squint.a-oben.org] has joined #lisp 22:23:05 -!- sellout [n=greg@guest-fw.dc4.itasoftware.com] has quit [] 22:24:00 knob [n=anon@adsl-65-23-255-234.prtc.net] has joined #lisp 22:24:31 -!- knob [n=anon@adsl-65-23-255-234.prtc.net] has left #lisp 22:24:56 is using homemade 2-dimensional arrays a la (+ (* row width) col) really faster than using the built in 2-dimensionals? 22:25:22 cYmen: depends on the implementation. 22:25:40 wow...why s that? 22:25:48 -!- slom [n=slom@pD9EB55DD.dip.t-dialin.net] has quit ["Ex-Chat"] 22:26:05 calculation can be faster than a memory indirection lookup 22:26:24 syamajala [n=syamajal@140.232.182.239] has joined #lisp 22:26:30 depends how smart he compiler is about simple-arrays, too, no? 22:26:38 (if that's the case) 22:26:54 cYmen: if multidimensional arrays are implemented as metadata + a pointer to a vector, you get to hoist away the lookup for the vector, and you may also be able to do some more tricks on the index calculations. 22:27:23 so the built ins are basically vectors of vectors? 22:27:23 in theory, there could not be any difference. In actuality, I don't think any CL implementation does anything like that. 22:27:54 cYmen: probably not; row-major-aref makes that a slightly painful choice. 22:28:07 yeah, that would be surprising 22:28:30 pkhuong: what choice? 22:28:44 vector of vectors 22:28:47 however, in languages like c++ where multidim arrays can be done as foo[z][y][x] those are pointer stacks 22:28:51 cYmen: of implementing multidimensional arrays as vectors of vectors. 22:29:06 -!- rbohn_ [n=chatzill@67.106.39.4.ptr.us.xo.net] has left #lisp 22:29:40 this all is some of why opengl does data as 1D internally (plus that's more likely to put the whole tex/data in one spot 22:29:41 afaik foo[x][y][z] always results in one pointer 22:29:41 dcrawford: but when you need performance, you use operator() instead to deref only once. 22:29:52 -!- esden_ [n=esdentem@repl.esden.net] has quit ["leaving"] 22:30:14 esden_ [n=esdentem@repl.esden.net] has joined #lisp 22:30:28 p_l: no. you have std::vector > >. Each std::vector is a pointer to malloced memory. 22:30:41 pkhuong, I'm not saying [][][] is the smartest, just that the memory is separated into * * * that way 22:31:00 yeah, but c++ arrays and cl arrays really aren't the same thing at all 22:31:14 pkhuong: that's STL, not C/C++ arrays 22:31:18 dcrawford: yeah, but if you need performance, you do something like what I described above, which is metadata for address computation + a linear vector. 22:31:27 wow...now I feel like I need to read a book on the topic :) 22:31:56 pkhuong, thus how opengl does it 22:32:37 cYmen: if you're confused by all this, you probably don't need to care about the difference in performane (which is small) 22:32:52 there are specific times to care 22:32:53 but only then 22:32:54 p_l: iirc, same thing, unless the sizes are all known at compile time. 22:32:56 -!- rfgpfeiffer [n=rfgpfeif@e178209148.adsl.alicedsl.de] has left #lisp 22:32:58 spiderbyte [n=dcl@unaffiliated/dcl] has joined #lisp 22:33:37 dcrawford: but then C++ compilers tend to be able to hoist most of the stuff out of loops and perform strength reduction on the address computation. 22:33:51 pkhuong: could be. i haven't been keeping up. back when I did care about htis stuff, i wrote a meta-code array type 'cause c++ arrays weren't doing what I needed :) 22:34:01 pkhuong: For foo[x][y][z] the sizes are taken from sizeof(array_type) 22:34:04 that was a pain in the ass 22:34:06 Salex, out of curiosity, why the return-from in your code you pasted? Doesn't the same thing happen without that? 22:34:24 And, does the nreverse degrade performance, being included regularly? 22:34:36 though of course C++ probably overloads the operators somewhere 22:35:07 C++ - If it's not broken, randomly overload operators to break it 22:35:33 dto [n=user@68-187-211-226.dhcp.oxfr.ma.charter.com] has joined #lisp 22:35:51 p_l: there's a lot of special case for C-style arrays. I think it's something like completely declared sizes (dimensions) and some special case when at the global scope. 22:35:53 i'm not looking at it now, but the nreverses are called once per set (otherwise you'd end up with them backwards from original order). This second pass is much faster than appending as you go 22:35:58 leo2007 [n=leo@sl392.st-edmunds.cam.ac.uk] has joined #lisp 22:36:04 ok 22:36:22 return-from will return from the outer function when it's done, regardless how deep 22:36:26 makes it clear whats going on 22:36:42 ok, thank you 22:36:52 pkhuong: don't know about C++, but in ANSI C the arrays don't really exist - they are just pointers which get multiplied by index*sizeof(type) 22:36:55 oh, (i'm not looking at it, so check) i should have nreversed the whole thing before returning too, same reason 22:37:09 p_l: c++ array are the same (or at least were) 22:37:53 salex: I wouldn't bet on that since I had seen templates overloading operators in random ways when all I wanted was to perform !pointer_to_class 22:38:09 salex, you did nreverse on the final return, yeah 22:38:24 -!- ebzzry [n=rmm@124.217.79.64] has quit [Remote closed the connection] 22:38:36 ikki [n=ikki@201.155.75.146] has joined #lisp 22:38:43 anyway, there's a gazillion ways to do that 22:39:11 -!- esden [n=esden@91-67-156-166-dynip.superkabel.de] has quit ["Changing server"] 22:39:33 p_l: now you'r just reminding me why I gave up on c++ ;) 22:39:34 p_l: not always. There's a weird special case for global storage. 22:40:01 wasabi_________1 [n=wasabi@ntoska163007.oska.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 22:41:07 pkhuong: Could you describe it or point to spec? Cause I rather clearly remember that my copy of "ANSI C" explicitly specified that "type array[n]" <=> "array+n*sizeof(type)" 22:41:41 (not at definition time, but during reference) 22:42:51 of course ANSI C crumbles when it encounters machine where sizeof(char) != 1 :> 22:43:40 p_l: the equivalence isn't applied recursively. 22:44:39 So when you have int[][4], that's a pointer to int[4], not a pointer to pointers to int. 22:45:02 would somebody explain to me what symbol-macrolet does? peferably simple and lengthy? :) 22:45:17 no 22:45:19 :) 22:45:21 pkhuong: that's what I'm saying - [x][y][z] get translated into multiplication 22:45:24 which is why when you put compiletime arrays in C(++) you can only have one dim not declared 22:45:25 clhs symbol-macrolet 22:45:35 http://www.lispworks.com/reference/HyperSpec/Body/s_symbol.htm 22:45:45 -!- esden_ [n=esdentem@repl.esden.net] has quit ["leaving"] 22:45:54 p_l: that's *only* if the sizes are known. 22:46:12 stassats`: I tried reading that but I don't understand it, sorry... 22:46:22 cYmen: what part? 22:46:31 *p_l* is not sure if you were allowed to play with multidimensional arrays this way without compile-time information on size. It's... tricky ground 22:46:46 If you don't know the size, you can't even express that in C. You have to either pass int**, or do the address computation by hand. 22:46:58 -!- ben_m [n=Ben@85-127-17-213.dynamic.xdsl-line.inode.at] has quit ["asdf"] 22:47:02 stassats`: I'm afraid my grasp on macros isn't firm enough to even see what the problem is it's supposed to solve... 22:47:07 -!- oudeis [n=oudeis@89-139-152-237.bb.netvision.net.il] has quit ["This computer has gone to sleep"] 22:47:29 pkhuong's right there, you ca only work with fixed size blocks then 22:47:31 -!- oudeis_ [n=oudeis@89-139-152-237.bb.netvision.net.il] has quit ["This computer has gone to sleep"] 22:47:34 esden [n=esdentem@repl.esden.net] has joined #lisp 22:47:53 cYmen: which is why at this point, you should jsut ignore symbol-macrolet (which is very much not the same thing) 22:47:55 really 22:48:10 cYmen: it is used, for example, in with-slots, so you can write (setf slot 10) instead of (setf (slot-value object slot) 10) 22:48:10 -!- syamajala [n=syamajal@140.232.182.239] has quit ["Leaving..."] 22:48:49 pkhuong: We should stop that, since we are probably trying to explain the same things to each other, just that after an all-nighter and coffee mixed with Bailey's I might not see the point clearly :) 22:48:52 you can dyn create a highD array in C++, it just needs a lot of looped new/delete 22:49:00 and I remember another weirdness re row-major/column-major for static allocation of 2 dimensional arrays; compatibility with fortran or something. 22:49:21 ok then, thanks :) 22:49:22 pkhuong, fortran is opposite of C 22:49:25 cYmen: with (symbol-macrolet ((slot '(slot-value object slot))) ...) 22:49:27 pkhuong: they're incompatible 22:49:44 i don't think there was ever an compatability hack that was standard 22:50:03 the meta-programmed version I did handled this (well, arbitrary ordering) 22:50:18 partially for that reason (fortran code) 22:50:20 -!- wasabi_________0 [n=wasabi@ntoska150195.oska.nt.ftth.ppp.infoweb.ne.jp] has quit [Connection timed out] 22:50:28 too process simulation data created in fortran ... I learned fortran rathen than translate and invert the save function written in fortran 22:50:32 salex: I think it's usually managed through some macros to do pointer arithmetic in order to hit memory just right for FORTRAN 22:51:13 p_l: right, it's easy to do if you do all the offset computations, for arbitrary dimensional ordering 22:51:26 no standard way to change ordering in memory 22:51:45 and really, my re-orderablity was a side effect of slicing, not a goal 22:52:04 but the last FORTRAN program I compiled was a bigger part of OS implemented as portable environment running on Unix, compiled with f2c 22:52:42 there's still a lot of fortran in use around here :) 22:52:51 division-bell [n=Kenan@88.238.183.51] has joined #lisp 22:53:34 salex: This had a complete, own, runtime system including it's own network stack that used BSD sockets to the dirty work on Unix :> 22:53:51 and it had transparent network filesystem :) 22:54:00 VMS style 22:54:12 heh 22:54:57 (and yes, it was fun. In fact I prefered its build system more than wrangling with some of the autotools stuff) 22:55:26 what, you didn't try f2cl ? 22:55:35 ;) 22:55:52 it's just one letter different ;P 22:55:53 nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has joined #lisp 22:55:55 salex: I didn't do CL much then, and it had some important parts in OS interface written in C (for Unix) 22:57:28 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Remote closed the connection] 22:58:09 the vms version probably didn't use C in its OS interface at all :D 22:58:13 -!- postamar [n=postamar@x-132-204-255-121.xtpr.umontreal.ca] has left #lisp 22:58:21 dcl [n=dcl@unaffiliated/dcl] has joined #lisp 22:59:39 -!- mehrheit [n=user@lan-84-240-55-160.vln.skynet.lt] has quit [Read error: 113 (No route to host)] 22:59:41 VMS would probably make for fairly easy FFI system :) 23:00:00 oudeis [n=oudeis@192.117.29.135.static.012.net.il] has joined #lisp 23:03:26 bobo [n=bobo@c-76-119-115-138.hsd1.ma.comcast.net] has joined #lisp 23:06:24 -!- salex [n=user@216.80.143.240] has quit [Remote closed the connection] 23:06:55 salex: yeah, no compatibility hack could make sense. I wonder what marked me so much that I still remember the confusion now. 23:09:17 -!- athos [n=philipp@92.250.204.223] has quit ["leaving"] 23:10:23 -!- spiderbyte [n=dcl@unaffiliated/dcl] has quit [Connection timed out] 23:10:31 -!- ikki [n=ikki@201.155.75.146] has quit ["Leaving"] 23:14:42 -!- ThomasI [n=thomas@unaffiliated/thomasi] has quit ["Bye Bye!"] 23:15:32 locklace annotated #72366 with "another way" at http://paste.lisp.org/display/72366#2 23:16:07 ChibaPet: just for fun :) 23:16:27 -!- nikodemus [n=nikodemu@cs181229041.pp.htv.fi] has quit ["This computer has gone to sleep"] 23:18:15 -!- elurin [n=user@88.254.109.35] has quit [Remote closed the connection] 23:18:27 elurin [n=user@88.254.109.35] has joined #lisp 23:18:57 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 23:21:59 sorry, was AFK - looking now :) 23:22:50 locklace, you mostly did that because you want me to cry. Admit it. 23:24:29 shmho [n=user@58.142.15.103] has joined #lisp 23:24:55 that bad? 23:25:14 ikki [n=ikki@201.155.75.146] has joined #lisp 23:25:19 plutonas [n=plutonas@147.52.193.182] has joined #lisp 23:25:25 No, just a new model. I'm still working through Salex's one, and yours is further afield. :) 23:25:51 I'm pausing occasionally to consider whether or not I'm smart enough to program in Lisp. 23:26:19 i just find take-while-pairwise useful for various things (companion to the venerable take-while) 23:26:36 The venerable take-while is new to me as yet. 23:32:29 (take-while pred list) just returns the first n elements of list, where n+1 is the first element for which pred is false 23:32:42 ChibaPet: every one is smart enough for lisp. The sweetness of the results may vary, but it will (probably) not be worse than the result of your abilities in other languages :) 23:32:51 Heh. 23:33:34 -!- Jabberwockey [n=jens@dslb-082-083-101-154.pools.arcor-ip.net] has quit [Remote closed the connection] 23:33:43 My confusion with Salex's example, I think, is that he's looking at the list "moving forward" where I was saving off the head and examining it, so I was looking at it in reverse, so to speak. 23:34:13 Looking at it as an independent solution to the problem and not a tweak of how I was doing it made it significantly easier to understand. 23:34:51 Next, I'll spend some time with your version, locklace. 23:36:18 segv [n=mb@72-255-42-154.client.stsn.net] has joined #lisp 23:37:39 EtFb [n=etfb@203.22.236.8] has joined #lisp 23:39:32 rvirding [n=chatzill@h235n3c1o1034.bredband.skanova.com] has joined #lisp 23:41:38 (Also, collecting stuff out-of-order weirded me out.) 23:41:59 (Although I can envision how it might be more efficient, not having to walk lists each time to append.) 23:42:58 oops, should have cleaned that up a little first 23:44:00 locklace annotated #72366 with "cleaned up take-while-pairwise" at http://paste.lisp.org/display/72366#3 23:44:19 ty 23:44:31 -!- ecraven [n=nex@140.78.42.103] has quit ["bbl"] 23:45:45 if I have a macro with a 'name' parameter and I want to generate a function named frobnicate-name something like `(defun ,(read-from-string (format nil "frobnicate-~a" name)) ...) is reasonable right? 23:46:07 (that would be ,name of course) 23:46:29 (er, no) 23:46:50 Odin- [n=sbkhh@adsl-2-92.du.snerpa.is] has joined #lisp 23:47:26 -!- sykopomp [n=user@unaffiliated/sykopomp] has quit [Read error: 110 (Connection timed out)] 23:47:50 -!- bobo [n=bobo@c-76-119-115-138.hsd1.ma.comcast.net] has left #lisp 23:54:50 -!- josemanuel [n=josemanu@165.0.222.87.dynamic.jazztel.es] has quit ["Saliendo"] 23:56:31 yangsx [n=yangsx@218.247.244.25] has joined #lisp 23:56:33 Alright, there's something. I was able to take Salex's approach and write it from scratch. Emulating my betters isn't a bad start. Now, locklace's code... :) 23:56:47 -!- milanj [n=milan@77.46.250.185] has quit ["Leaving"]