00:00:15 leo2007: 10.6? cl-opengl can't work with CCL, until clozure changes the runtime. 00:00:26 mathk: that is completely out of date with respect to packages, it predates the final standard. 00:00:47 pkhuong: what's that about? 00:01:18 hefner: the hack to fake a main thread for GLUT doesn't work anymore. 00:01:25 Xach: ok, but it seems to cover a lot of macro stuff thought 00:01:49 *hefner* never trusted CCL anyway 00:01:54 on SBCL, the main thread is just the original REPL (*inferior-lisp*), so that's not too bad. CCL dedicates its main thread to handling mach messages. 00:02:34 I've come across references to the term "image". Does it mean the same thing as it does with Smalltalk or Factor? 00:02:42 Whereas SBCL spawns a fresh thread to handle mach messages. 00:02:43 but does any one know if that is possible to have it printed by some self-publishing web site like lulu? 00:03:17 -!- jan247 [~jan247@unaffiliated/jan247] has quit [Quit: jan247] 00:03:22 brennanc: pretty much, although it's closer to Factor (well, factor is close to CL's ;) then smalltalk: development is still file-oriented for long-term storage. 00:03:27 pkhuong: by default sbcl has only one thread, right? 00:03:28 *than. 00:03:29 -!- mbohun [~mbohun@202.124.74.143] has quit [Quit: Leaving] 00:03:52 leo2007: it doesn't support threads by default on OS X. 00:04:04 leo2007: Yes, except on OSX, where it spawns one for mach exception handling. 00:04:19 koning_robot [~aap@88.159.110.31] has joined #lisp 00:04:27 nyef: and since some messages are only sent to the main thread, weirdness must ensue. 00:04:46 Oh, of -all- the... 00:04:59 I guess all ccl users don't use opengl then. 00:05:09 leo2007: it used to work, < 10.6 00:05:29 nyef:That's why GLUT (cocoa) wants the main thread and CCL uses it for message handling, I think. 00:05:33 I'm so bloody glad I don't use OSX. 00:05:55 Windows and linux are bad enough. 00:05:56 -!- rvirding [~chatzilla@h80n1c1o1034.bredband.skanova.com] has left #lisp 00:06:51 does anyone here know how sine or cosine works internally? 00:07:02 how do they produce the correct return values? 00:07:23 kpreid [~kpreid@216-171-189-244.northland.net] has joined #lisp 00:07:26 pkhuong: i see. 00:07:31 fatblueduck: polynomial approximation. Taylor series and all that (usually). You can google for CORDIC for another approach. 00:07:39 I'm trying to do this with drawings and dx/dy ... 00:07:42 fatblueduck: They just ask the FPU, don't they? 00:07:44 pkhuong: thanks 00:07:47 -!- mathk [~mathk@lns-bzn-36-82-251-40-245.adsl.proxad.net] has quit [Quit: ..zzZzzZ] 00:08:08 fatblueduck, there are many different ways to implement them. The "simplest" (for some values of "simple") is to just call the C library equivalent, although other methods (like what pkhuong just said) are used in some lisps. 00:08:12 nyef: x87 is deprecated on x86-64 (: 00:08:20 pkhuong: Ssh! 00:08:32 Adlai: I'm looking for an algebraic way of reaching sine 00:08:33 jsfb [~jon@unaffiliated/jsfb] has joined #lisp 00:08:37 Adlai: but what does C do, and then what does the silicon do? 00:08:41 without actually using trig functions 00:09:14 fatblueduck: and reducing the range first is good for convergence. 00:09:14 fatblueduck, unless you don't want an accurate answer (or are doing this just for the educational value), you should use the existing functions. 00:09:34 Adlai: I am doing this for educational value 00:09:47 pkhuong, isn't there a little unit circle inside the CPU? 00:09:55 we use sin and cos everyday... how many people actually understand how they work? 00:10:00 Adlai: Heh! 00:10:29 Adlai: it caps out around 2^63 turns then. 00:10:52 pkhuong: Presumably because it gets dizzy? 00:11:10 increasing the clock speed means you can do more cycles 00:11:56 pkhuong: do you know if ccl developers are aware of cl-opengl breakage. 00:13:32 leo2007: I think someone filed a bug 1-2 months ago. 00:13:38 fatblueduck: Lookup tables? :-) 00:13:51 Also, sin(x) = x for small x. :-) 00:14:04 fatblueduck, do you know any calculus? 00:14:11 Meh. What you do is define sin(x) in terms of cos(x), and vice versa... 00:14:14 quotemstr_: right, LUT for the truncated polynomial's coefficients. 00:14:15 jsfb: yes 00:14:24 Taylor series 00:14:28 nyef: bah, all you need is exp! 00:14:57 fatblueduck: This really should be in your calculus book, either in a chapter on infinite series or the chapter just beyond that one. 00:15:15 pkhuong: Or love? 00:15:17 nyef: that's the theory; the practice is also extremely interesting. 00:15:42 sure, but you first need the perspective to make sense of the practice I think 00:15:57 jsfb: didn't they use cos and sin in classical math? this is what I don't understand... 00:16:04 *nyef* still gets lost with calculus, but is getting better. 00:16:23 fatblueduck: Classically, they used lookup tables. 00:16:23 there are many roads to rome but each has it's particular merits 00:16:30 -!- powerje [~Heathen79@adsl-75-60-217-193.dsl.wotnoh.sbcglobal.net] has quit [Quit: Leaving] 00:16:35 fatblueduck: calculus and analysis is mostly concerned about giving solid foundations to things that were already in use. 00:16:43 we are talking computers crunching numbers 00:16:47 -!- wedgeV [~wedge@adsl-69-232-231-189.dsl.pltn13.pacbell.net] has quit [Quit: wedgeV] 00:16:56 thanks 00:17:28 fatblueduck, there are also formulas that I'm sure you're aware of for getting things like (sin (+ a b)) given (sin a) and (sin b). These were known in classical times, and could be used to "extend" lookup tables. 00:17:45 l_n [~foo@tuxhacker/lordnothing] has joined #lisp 00:17:54 rpg [~rpg@ip-216-36-87-229.chi.megapath.net] has joined #lisp 00:18:23 Adlai: I'm not writing a program to do this -this will only exist on paper for my benefit 00:18:24 Geometry, arithmetic etc all have deep mathematical theory far removed from the basics as used by most, I don't pretend to know them either, but the proofs and knowledge is extensive 00:19:04 -!- migge [~marc@ip-95-223-247-31.unitymediagroup.de] has quit [Quit: Ex-Chat] 00:19:14 pkhuong has shown me that I must use calculus 00:19:24 Hmm, is there any way to tell if sb-ext:run-program could not find the specified program to run? 00:19:42 Xach: I would hope so. 00:19:43 fatblueduck, or formulas derived from calculus (such as the Taylor expansions) 00:19:44 -!- YamNad [~YamNad1@91.84.41.221] has quit [] 00:19:46 anyway, if you want some numerical methods for calculating most any reasonable functions you might need, a series approximation is probably a basis, but I'm not a numerical methods dude so whatever tricks there are I'm ignorant 00:20:21 nyef: unfortunately, i can't distinguish the structures returned by (run-program "wibbly-woo" nil) and (run-program "/bin/false" nil) 00:20:48 nyef: they both have a status of :exited and a code of 1 00:20:48 -!- timor [~timor@port-87-234-97-27.dynamic.qsc.de] has quit [Quit: Leaving.] 00:20:50 jsfb, thanks for considering my problem 00:21:03 (and no, i don't have a wibbly-woo program) 00:21:14 Hrm... 00:21:19 Then you have a lot of stuff regarding numerical precision and finite arithmetic etc which is a whole 'nother game 00:22:46 Xach: indeed you can't; if the exec fails the runtime just does an exit(1) 00:22:58 that is not great. 00:23:13 Xach: Okay, you're right, you can't tell. It would be possible to create a method to distinguish the two cases, though. 00:23:18 mbohun [~mbohun@202.124.72.138] has joined #lisp 00:23:38 lisper [~ron@68-190-211-184.dhcp.gldl.ca.charter.com] has joined #lisp 00:23:44 nyef: really? i'm drawing a blank. 00:24:00 (Essentially, open yet another pipe, set it cloexec, and write to it if the exec fails. If data appears on the pipe, you have a failure to find the program. If the pipe just closes, you have a success.) 00:24:49 oh, i thought you meant without hacking the runtime. 00:24:59 Xach: would it be possible to just probe the file before trying run-program? I suppose it would be difficult, because you'd want the shell to look for it for you.... 00:25:33 rpg: i don't really want to duplicate the machinery of execvp() if i can avoid it 00:25:36 it would be less than 30 lines of changes to the runtime 00:25:41 Xach: run which first? 00:25:52 For my next trick, it should be possible to duplicate out the behavior of spawn() in Lisp code instead of having it in C. 00:26:10 * run "which" first 00:26:18 -!- RaceCondition [~RaceCondi@85.253.73.94.cable.starman.ee] has quit [Ping timeout: 272 seconds] 00:27:09 (You still lose, however, if you want to use sb-posix:fork for it in a threaded lisp, thanks to bug 451111.)) 00:27:09 -!- killerboy [~mateusz@smrw-91-193-87-5.smrw.lodz.pl] has quit [Quit: Still learning LISP] 00:28:28 (As a hack, I still like SPORK.) 00:29:06 pkhuong: i suppose that'll do. 00:29:24 pkhuong: it does not feel elegant, beautiful, hygienic, pure, etc 00:29:36 heyhey [~501e437d@gateway/web/freenode/x-nzewajripygboqtq] has joined #lisp 00:29:48 -!- slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has quit [Quit: leaving] 00:30:09 slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has joined #lisp 00:30:32 -!- PissedNumlock [~resteven@igwe32.vub.ac.be] has quit [Read error: Connection reset by peer] 00:30:49 PissedNumlock [~resteven@igwe32.vub.ac.be] has joined #lisp 00:30:59 So long as it feels "gets the job done", do the rest really matter? 00:31:06 -!- Ralith [~ralith@69.90.48.97] has quit [Ping timeout: 240 seconds] 00:31:11 (Oh, wait, that's a -race condition-, isn't it?) 00:31:49 yeah. 00:32:23 Ralith [~ralith@69.90.48.97] has joined #lisp 00:33:35 Also, it'd be nice if I could avoid depending on something so blatantly unixy, but maybe that's pointless to avoid anyway. 00:34:14 does s-l-a-d :executable t work ok on windows? 00:34:17 Feel free to use CreateProcess() directly on windows. 00:34:31 I have heard that it does, but haven't checked my self in ages, if ever. 00:35:07 it worked when I tried it in 2007 :) 00:35:19 -!- lisper [~ron@68-190-211-184.dhcp.gldl.ca.charter.com] has quit [Quit: lisper] 00:35:40 other than having to hack out the stupid death kitten message 00:35:50 :-P 00:36:04 this is for buildapp. i'm run-program-ing an sbcl sub-process, and it can be user-specified, and it would be nice to tell the user they specified something bogus. 00:38:13 *Xach* sees nobody has tried it in 12 hours 00:39:14 Note that you still have the windows memory-map thing to consider for possible failures. 00:40:29 -!- amnesiac [~amnesiac@p3m/member/Amnesiac] has quit [Quit: Leaving] 00:41:10 -!- rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has quit [Ping timeout: 256 seconds] 00:41:57 -!- rdd [~rdd@c83-250-52-182.bredband.comhem.se] has quit [Ping timeout: 260 seconds] 00:43:10 rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has joined #lisp 00:44:55 aja [~aja@unaffiliated/aja] has joined #lisp 00:45:55 -!- fisxoj [~fisxoj@softbank221066001155.bbtec.net] has quit [Quit: Ex-Chat] 00:46:01 -!- slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has quit [Quit: Lost terminal] 00:47:40 -!- rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has quit [Ping timeout: 258 seconds] 00:47:49 slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has joined #lisp 00:48:16 -!- emma [~em@unaffiliated/emma] has quit [Remote host closed the connection] 00:48:41 emma [~em@unaffiliated/emma] has joined #lisp 00:48:52 -!- jockc [~jockc@dsl-206-251-71-75.dynamic.linkline.com] has quit [Quit: Leaving] 00:49:13 rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has joined #lisp 00:49:23 potatishandlarn [~potatisha@c-4f66b760-74736162.cust.telenor.se] has joined #lisp 00:49:23 nyef: did you know about fexecve() ? 00:51:10 rickmode_ [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has joined #lisp 00:51:44 -!- rickmode_ [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has quit [Remote host closed the connection] 00:52:05 rickmode_ [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has joined #lisp 00:53:18 fe[nl]ix: I'd consider fexecve() a rather dangerous call unless I know exactly that I'll have it 00:53:31 -!- rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has quit [Ping timeout: 245 seconds] 00:53:43 rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has joined #lisp 00:53:56 p_l: but why dangerous ? 00:54:06 fe[nl]ix: look when it was introduced :D 00:54:24 And I can assure you, that I regularly work with systems that don't have it 00:54:46 -!- gruseom [~daniel@h2-72.wlan.ucalgary.ca] has left #lisp 00:55:15 (it's POSIX.1-2008 - chances are that, outside of recent linux installations (or updated ones) it doesn't exist on target) 00:55:27 p_l: on Linux, since glibc 2.3.2(many years ago) 00:55:39 p_l: on FreeBSD, since 8.0 00:56:20 fe[nl]ix: glibc isn't exactly the standard I'd follow. I wonder about other BSDs (and other Unices) 00:56:28 -!- rickmode_ [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has quit [Ping timeout: 256 seconds] 00:56:33 sepult [~user@xdsl-87-78-25-217.netcologne.de] has joined #lisp 00:56:38 p_l: I don't care much about old systems 00:57:06 fe[nl]ix: then I guess you fall under "I know it will be there" 00:57:09 rickmode_ [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has joined #lisp 00:57:34 I suppose so :) 00:59:00 rickmode__ [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has joined #lisp 00:59:17 -!- rickmode__ [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has quit [Client Quit] 01:00:00 -!- rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has quit [Ping timeout: 252 seconds] 01:00:33 -!- kpreid [~kpreid@216-171-189-244.northland.net] has quit [Read error: Connection reset by peer] 01:00:33 kpreid [~kpreid@216-171-189-244.northland.net] has joined #lisp 01:01:11 -!- rickmode_ [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has quit [Ping timeout: 240 seconds] 01:01:30 Ah, fuck it. malloc() will never fail. 01:01:44 quotemstr_: Real programs dump core? 01:02:29 nyef: Core dumps are useful. 01:02:46 Core dumps are so rarely useful that I don't even bother installing gdb. 01:02:56 -!- Yuuhi [benni@p5483DCAE.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:03:08 *p_l* recalls some amusing (*NOT*) cases of malloc() ... 01:03:24 Besides, these days it's not so much that malloc() fails as the kernel badly overcommits and then the OOM killer gets you. 01:04:00 Exactly. 01:04:02 It's like a black hole. 01:04:16 You never actually observe the singularity: tidal forces tear you into your component quarks before you get close. 01:04:32 Likewise, thrashing will get you long before malloc() actually fials. 01:04:34 fails, even. 01:04:45 p_l: You run into the one where you have an overrun screw somewhere, so you install a malloc() debugging library only to find out that the debugging library itself has a bug, the overrun screw blows straight past the safety fences put in by the debugging library anyway, and the original two bugs are still there? 01:04:52 I'd check for overflow when computing the allocation size first. 01:04:52 geez.. sloppy programming in the works. just write a malloc wrapper that exits if malloc returns null, use it when you don't care that it should exit, and be done with it 01:05:01 -!- bytecolor [~user@adsl-71-137-193-55.dsl.scrm01.pacbell.net] has left #lisp 01:05:10 adeht: Of course. 01:05:20 adeht: What I mean is that one shouldn't bother to attempt graceful recovery from OOM. 01:05:20 -!- gemelen [~shelta@shpd-92-101-131-81.vologda.ru] has quit [Ping timeout: 260 seconds] 01:05:43 quotemstr_: it should first have a chance to kill itself on OOM 01:05:47 quotemstr: OOM is just something specific to your current environment 01:05:50 Linux is hilariously bad at it 01:06:10 ("Hang on, we ran out of memory. Asking programs if they can discard parts of their working set and extending the swap file, things will be slow for a bit.") 01:06:13 there's a reason why I no longer use stock Firefox binaries 01:06:30 (OOM killer) 01:06:47 Overcommit really is terrible, and should be off by default. 01:06:52 Is it really that hard to back allocations with pagefile? 01:06:56 Heh. I have to kill firefox about every few days -anyway- just from the flash plugin screwing up with ALSA. 01:07:07 But even on Windows, which does use that strategy, malloc() never fails in practice. 01:07:09 quotemstr_: it's not any better to hit swap, frankly. 01:07:16 pkhuong: It is, marginally. 01:07:31 nyef: you too? the audio comes out in weird glitchy bursts? 01:07:36 quotemstr_: Note that on windows, we also have the ability to reserve -address space- without also attempting to commit memory. 01:07:55 quotemstr_: I ask if it's that hard to actually know when the pages are supposed to be allocated and when they are supposed to fail and dump into signal, or kill the process if it can't react to it 01:08:09 hefner: Yeah. After being up-and-idle for too long after having used sound or after resume-from-suspend after having used sound. 01:08:38 hefner: Every bloody time with the suspend thing, too. Kill firefox, it goes away, then reload your session. 01:09:02 hefner: I also noticed that it doesn't know how to resume a suspended soundcard, so I have to use mplayer before firefox after resuming from suspend. 01:09:08 nyef: The funny thing is, that Lisp community is not the only one that complains about allocator not implementing NONRESERVE and similar flags (audio editing software has a lot of problems with that) 01:09:12 I'm mostly playing devil's advocate. I've written my application to handle memory allocation failure gracefully (and even to set aside a small memory buffer to allocate the OOM exception object). 01:09:27 But I just finished polishing up a GC, so allocation is on my mind. 01:09:37 By the way: D.F. Bacon's 2001 paper has a use-after-free bug. 01:09:51 nyef: you don't need to kill FF. Just go to Addons->Plugins, then disable and re-enable it 01:09:58 nyef: I recommend nspluginwrapper to you then - I avoid the problems because I can separately restart flash 01:10:05 fe[nl]ix: It's not -responding-. 01:10:12 (it also does wonders to "FF stalled by Flash" bug) 01:10:23 nyef: what isn't responding ? 01:10:25 Fair enough, and I probably should use that... 01:10:30 fe[nl]ix: Firefox. 01:10:49 I'll probably try to sort everything out when I reinstall. 01:10:51 fe[nl]ix: Flash can stop Firefox from responding, or to be exact it will stall FF's GUI 01:11:03 nyef: try switching tabs 01:11:14 fe[nl]ix: Flash can block even that 01:11:14 -!- Blkt`` [~user@dynamic-adsl-94-37-235-148.clienti.tiscali.it] has quit [Quit: gn all] 01:11:25 I was used to have a big black window when flash stalled 01:11:33 I'm thinking of trying a debootstrap on a fresh LVM volume to switch to debian from gentoo. 01:11:35 p_l: In-process plugins are almost always a bad idea. 01:11:39 dfsgsdfgsdfgsdfg [~new@mail.fredcanhelp.com] has joined #lisp 01:11:40 p_l: There are problems with PAM too. 01:11:46 -!- moocow [~new@69.67.174.130] has quit [Ping timeout: 256 seconds] 01:11:55 I myself had to patch a RHEL5 bug that caused pam_krb5 to exhaust the system's file descriptor table. 01:12:24 err, RHEL4. 01:12:24 Odin- [~sbkhh@s121-302.gardur.hi.is] has joined #lisp 01:13:05 Linux really is a trainwreck, isn't it? 01:13:11 -!- Ralith [~ralith@69.90.48.97] has quit [Ping timeout: 246 seconds] 01:13:16 hefner: less so than just about everything else? 01:13:28 What -isn't- a trainwreck in computing? 01:13:44 hefner: are you suggesting any alternative? :) 01:13:51 True. 01:13:51 nyef: everything that died before we could realise they too were. 01:13:57 Ralith [~ralith@69.90.48.97] has joined #lisp 01:14:02 pkhuong: Ah. VMS? 01:14:33 nyef: didn't really die 01:15:06 I'd rather suggest OS/2 and AmigaOS 01:15:12 I was thinking of the alpha/i960/29k/connection machine fetishes. 01:15:28 -!- SandGorgon [~OmNomNomO@office.sea.jambool.com] has quit [Ping timeout: 252 seconds] 01:15:31 OS/2 Warp was amusing to use for a while. 01:15:46 I never did get to try AmigaOS properly. 01:15:57 hefner: All software sucks. 01:16:05 And I must admit to a certain fondness for MacOS 6.0.7. 01:16:17 pkhuong: I like Alpha because I think it sucks less than x86 (and not only the processor, the rest of the machine as well). It did had its quirks, though, some of them might be quite infuriating 01:16:22 hugod [~hugod@bas1-montreal50-1279440906.dsl.bell.ca] has joined #lisp 01:16:42 I like x86. I'd add a couple more instructions, but that's it. 01:17:03 I'd like x86 if it weren't such a pain to write a disassembler for 01:17:06 x86 desparately needs a PC-relative data addressing mode. 01:17:06 Alpha was nice. 01:17:11 moocow [~new@69.67.174.130] has joined #lisp 01:17:15 nyef: heh. x86-64 (: 01:17:27 nyef: x86-64 has one. 01:17:30 pkhuong: yeah, x86-64 fixes a lot of my grumbles with x86 :D 01:17:38 I don't understand why they couldn't find space for indexed RIP-relative addressing. 01:17:40 -!- dfsgsdfgsdfgsdfg [~new@mail.fredcanhelp.com] has quit [Ping timeout: 252 seconds] 01:17:41 VMS isn't dead but I think it's fair to say it's on life support. 01:17:42 So, who wants to reprise System 6.0.7 on x86-64 PCs? 01:17:53 Adamant: Are you kidding me? 01:17:53 a 01:18:02 quotemstr_: no? 01:18:04 Adamant: Saying VMS isn't dead is like claiming that Elvis yet lives. 01:18:05 -!- Hun [~hun@pd956be5d.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 01:18:09 Adamant: unfortunately, the guys that are responsible for marketing of VMS etc. *SUCK* 01:18:10 lol 01:18:23 "How is Elvis, and have you seen him lately?" -- Ghostbusters. 01:18:31 *p_l* guesses that he should reserve time for a talk with Elvis, then. 01:18:34 quotemstr_: I think we agree it's dying, just not by how much 01:18:39 ;-) 01:18:42 p_l: VMS has the worst filesystem path syntax of any operating system ever conceived by man. 01:18:49 -!- sepult [~user@xdsl-87-78-25-217.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:19:04 quotemstr_: yeah, but the clustering and failover was pretty damned impressive. 01:19:08 quotemstr_: oh, I certainly won't defend that one. But I'd say that I'm not considering path syntax *that* important :D 01:19:15 so were the resulting uptimes. 01:19:42 Adamant: some place supposedly keeps uptime from the time VMS introduced rolling upgrades in clusters 01:19:58 -!- l_n [~foo@tuxhacker/lordnothing] has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!] 01:20:01 I think DragonflyBSD was more or less trying to get a similar result by different paths for Unix, and I don't think it's there yet. 01:20:04 nyef: what's so great about System 6, aside from fitting on a floppy disk? 01:20:06 quotemstr_: worst ? 01:20:07 *nyef* notes that he has copies of "Version 4.4 VAX//VMS Internals and Data Structures" and "VMS File System Internals" on his bookshelf. 01:20:12 fe[nl]ix: Absolute wost. 01:20:19 fe[nl]ix: I'd rather have no directories at all. 01:20:20 quotemstr_: I'd say MVS has worse one 01:20:29 hefner: It wasn't the monumental clusterfuck that System 7 was. 01:20:35 p_l: Oh? I'm not familiar with that one. 01:20:38 Adamant: less than five years? 01:20:45 sepult [~user@xdsl-87-78-25-217.netcologne.de] has joined #lisp 01:20:52 heyhey: ? 01:21:00 nyef: by that logic, Debian circa-2002 was a pretty good OS. 01:21:05 quotemstr_: otoh, MVS simply didn't have directories and you emulate them by convention of putting dots in filenames (AFAIK - haven't played too much) 01:21:10 Adamant: for dragonflybsd to get there 01:21:23 p_l: That's better than VMS. 01:21:28 A dead badger is better than VMS. 01:21:39 heyhey: how long do I think it will take, or are you arguing it's already there 01:21:47 hefner: But more seriously, it was lightweight and therefore was decently fast. 01:21:50 You can stuff things in its head, in its gullet, in its legs, etc. AND KNOW WHERE THEY ARE. 01:21:53 hmm... I really like VMS' exception system and I/O routines 01:21:54 quotemstr_: but why is it the worst ? 01:22:00 Adamant: how long you think, just out of curiosity 01:22:06 fe[nl]ix: Because it's confusing and irregular. 01:22:08 heyhey: hell if I know. 01:22:16 fe[nl]ix: And is the reason CL has insane filesystem name APIs. 01:22:23 p_l: I like VMS' exception system: It's the Win32 exception system, too. 01:22:36 p_l: I do like how everything is asynchronous at the core. 01:22:40 -!- guaqua [gua@lakka.kapsi.fi] has quit [Ping timeout: 272 seconds] 01:22:41 -!- sepult [~user@xdsl-87-78-25-217.netcologne.de] has quit [Client Quit] 01:23:09 I do seem to recall that only one core was allowed into ring 0 in VMS, though. 01:23:10 quotemstr_: please elaborate 01:23:41 (The startup CPU, at that. Asymmetric multiprocessing, wasn't it?) 01:23:49 fe[nl]ix: Don't you think CL could have gotten by with plain strings for filenames, if not for VMS? 01:23:54 nyef: I know, though for some reason the info I've got on win32 seems really iffy - VAX & Alpha implementations of VMS have it rather clear cut, and OS abstracts whatever it is on IA64 01:24:14 nyef: nope, any core can go into ring 0, the assymetric stuff got abandoned long ago 01:24:22 quotemstr_: If not for VMS? Umm... no. If not for the LispMs. 01:24:30 And those maniacs running TOPS-20. 01:24:43 And the people running ITS... 01:24:49 nyef: Hrm. I've never used a LispM. What was its filesystem path syntax like? 01:24:55 nyef: TOPS-20 and VMS fall under one umbrella, I guess 01:25:10 p_l: Oh, right. ODS-2 and its variants. 01:25:16 quotemstr_: system:disk:dir>dir>dir> I think 01:25:20 quotemstr_: as nyef said, Genera had dual FS namespaces too 01:25:49 -!- moocow [~new@69.67.174.130] has quit [Ping timeout: 260 seconds] 01:26:20 nyef: ODS-2 is VMS-only, ODS-1 is I think RSX's Files-11, TOPS-20 used different scheme but was slightly similar (and from the same manufacturer) 01:26:37 Why do I get the sudden impression that I'm younger than everyone else in the channel? :-) 01:27:00 quotemstr_: And how old are you? 01:27:04 25. 01:27:37 quotemstr_: then you're 4~5y my senior (not sure how it maps to birthdays) xD 01:27:43 Heh. 01:28:02 I suppose I just don't have the same predilection for antiques. 01:28:07 -!- Stattrav [~Stattrav@202.3.77.161] has quit [Remote host closed the connection] 01:28:08 the difference is that I actually ran ITS, TOPS-20 V7 and OpenGenera at some point ;-) 01:28:27 guaqua [gua@lakka.kapsi.fi] has joined #lisp 01:28:29 (and I've got at least 4 VMS licenses) 01:28:38 At some point, now that I have an x86-64 linux box, I should try that snap4 thing. 01:28:49 nyef: X.Org broke it 01:28:56 Oh? 01:28:58 *quotemstr_* wonders what Symbian does on memory allocation failure. 01:28:59 Which version? 01:29:26 not sure, I'll have to check 01:29:37 my N95 reboots 01:29:38 but even when it was working for me, X.Org would cause problems in Save World 01:29:45 cause being too many open tabs in Opera mini 01:30:12 I also have an N95, though it's idle these days because I mostly use my Pre. 01:30:19 nyef: I suspect that you'd have to grab XFree 4.3 to really test (just build its XNest implementation) 01:30:22 Which has the usual insane Linux memory semantics, AIUI. 01:30:41 -!- grouzen [~grouzen@91.214.124.2] has quit [Read error: Operation timed out] 01:31:02 -!- mattrepl [~mattrepl@pool-72-83-118-99.washdc.fios.verizon.net] has quit [Ping timeout: 256 seconds] 01:31:04 -!- heyhey [~501e437d@gateway/web/freenode/x-nzewajripygboqtq] has left #lisp 01:31:33 I seem to be running xorg-server-1.4.2, and xorg-x11-7.3, but updating to this was a mistake as it broke more device support than the hotplug gained me. 01:32:21 nyef: 1.4 might run, but won't let you Save World 01:35:24 -!- NNshag [~shag@lns-bzn-22-82-249-125-175.adsl.proxad.net] has quit [Read error: Connection reset by peer] 01:35:24 -!- fractalis [~fractalis@cpe-98-27-162-52.neo.res.rr.com] has quit [Read error: Connection reset by peer] 01:35:24 -!- rpg [~rpg@ip-216-36-87-229.chi.megapath.net] has quit [Read error: Connection reset by peer] 01:35:39 NNshag [~shag@lns-bzn-22-82-249-125-175.adsl.proxad.net] has joined #lisp 01:35:40 fractalis [~fractalis@cpe-98-27-162-52.neo.res.rr.com] has joined #lisp 01:36:00 -!- davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:42:59 mattrepl [~mattrepl@pool-72-83-118-99.washdc.fios.verizon.net] has joined #lisp 01:44:15 -!- marioxcc is now known as marioxcc-AFK 01:44:42 -!- slyrus [~slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has quit [Ping timeout: 240 seconds] 01:45:02 Adlai` [~adlai@unaffiliated/adlai] has joined #lisp 01:45:44 -!- Adlai [~Adlai@unaffiliated/adlai] has quit [Disconnected by services] 01:45:53 -!- Adlai` is now known as Adlai 01:47:04 sepult [~user@xdsl-87-78-25-217.netcologne.de] has joined #lisp 01:50:42 -!- sepult [~user@xdsl-87-78-25-217.netcologne.de] has quit [Read error: Connection reset by peer] 01:52:32 rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has joined #lisp 01:52:34 -!- LiamH [~nobody@pool-151-200-241-193.res.east.verizon.net] has quit [Ping timeout: 256 seconds] 01:53:24 c|mell [~cmell@cpc3-colc5-0-0-cust193.colc.cable.ntl.com] has joined #lisp 01:57:24 Guthur [~Michael@host81-132-10-255.range81-132.btcentralplus.com] has joined #lisp 01:58:45 -!- marioxcc-AFK is now known as marioxcc 02:00:21 -!- slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has quit [Quit: Lost terminal] 02:00:52 Is it be possible to eval a function/form from a .lisp file, i.e. highlight the function/form and have it eval'ed at the repl 02:00:58 -!- brennanc [~brennanc@65.203.131.114] has quit [Quit: brennanc] 02:01:18 Guthur: rather yes 02:01:18 minion: tell Guthur about slime 02:01:19 Guthur: please see slime: SLIME is the Superior Lisp Interaction Mode for Emacs. http://www.cliki.net/slime 02:01:30 *p_l* thought it was obvious thing in sliem 02:01:31 *slime 02:01:33 I know about slime 02:01:39 Guthur: You mean, C-M-x or C-x M-e ? 02:01:43 I figured it would/should be part of that 02:02:01 possibly let me check 02:02:08 Or C-x C-e for that matter? 02:02:09 Guthur: and you read the documentation? <--- rhetorical question, you didn't 02:02:14 Its just I seen it in Matlab and thought it would be nice 02:02:24 (Have a C-h a for "slime-eval".) 02:02:41 *nyef* certainly didn't read the slime documentation. 02:02:55 -!- jsfb [~jon@unaffiliated/jsfb] has quit [Quit: Leaving] 02:03:05 C-h m counts as documentation! 02:03:25 drewc: Sometimes it's even better than the source. 02:09:23 LiamH [~nobody@pool-72-75-123-60.washdc.east.verizon.net] has joined #lisp 02:10:55 konr` [~user@201.82.130.248] has joined #lisp 02:11:42 help please: I've been beating my head against asdf / asdf-install / require all afternoon trying to get hunchentoot usable in my dev environment. Is there a HOWTO or tutorial that shows all of the steps? There seems to be something missing between asdf-install and (defpackage :foo :use :cl :hunchentoot). Where does the (require :hunchentoot) go? 02:12:14 rickmode: before the defpackage. 02:12:30 *executed* before the defpackage. 02:12:32 pkhuong: in every source file? 02:12:38 I see there is C-x C-r for region, thanks guys, I actually thought it wouldn't exist for some reason 02:12:44 -!- konr [~user@201.82.130.248] has quit [Ping timeout: 265 seconds] 02:12:50 not sure why though 02:13:03 no. Executed once, at some point. The "best practice" is to define your own asdf package that states its dependency on hunchentoot. 02:13:43 -!- carlocci [~nes@93.37.215.24] has quit [Quit: eventually IE will rot and die] 02:15:36 -!- rotty [~rotty@nncmain.nicenamecrew.com] has quit [Remote host closed the connection] 02:17:19 I'm trying to follow this http://www.adampetersen.se/articles/lispweb.htm and this http://www.newartisans.com/2007/11/running-common-lisp-behind-apache.html. 02:19:15 I've done the (asdf-install:install :hunchentoot) running via "sudo sbcl" to install system-wide. This seems to work though I'm having trouble in the non-root REPL doing (require :asdf) then (require :hunchentoot). It complains MD5 is missing. Weird. Especially since it doesn't complain when I do the same via sudo (as root). 02:20:30 rickmode: you should probably stick to a local install, and do it with clbuild, at first. 02:21:19 pkhuong: that's less trouble eh? OK. Should I uninstall the gunk I put into sbcl then? 02:22:14 it might help minimise the confusion. 02:23:15 the md5 directory has weird permissions 02:24:05 pkhuong: so this there a HOWTO out there? This seems a very brutal way to get started... The learning curve is nearly 90 degrees. (As in, you need to master Lisp and it's ecosystem before learning Lisp.) 02:24:21 rickmode: a better way may be clbuild 02:25:14 Stattrav [~Stattrav@202.3.77.161] has joined #lisp 02:25:36 adeht: clbuild, use it to fetch hunchentoot and all its deps, and to start sbcl. 02:25:37 sepult [~user@xdsl-87-78-25-217.netcologne.de] has joined #lisp 02:26:06 You'll then be able to (require 'hunchentoot) directly to load it and its dependencies, and then go on working with your files. 02:26:18 -!- ichernetsky [~ichernets@195.222.66.210] has quit [Ping timeout: 240 seconds] 02:26:47 Once you have a couple files, it's probably a good idea to write your own asdf system definition to define the deps and files in your project 02:26:57 minion: tell rickmode about xach-asdf 02:26:57 rickmode: look at xach-asdf: Xach's article "Making a small Common Lisp project" can be found at http://xach.livejournal.com/130040.html 02:27:10 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 02:27:15 fisxoj [~fisxoj@softbank221066001155.bbtec.net] has joined #lisp 02:27:37 cool 02:30:06 adeht: I see what you mean... in my /usr/local/lib/sbcl/site directory, I see all sorts of IDs rather than my own user names as the file owners.... 02:30:34 adhet: oh and MD5 has not group or world permissions - nifty 02:32:49 -!- bigjust [~jcaratzas@adsl-074-232-230-165.sip.asm.bellsouth.net] has quit [Ping timeout: 264 seconds] 02:34:57 -!- fihi09` [~user@pool-96-224-165-27.nycmny.east.verizon.net] has quit [Quit: quit] 02:35:52 fixing the file permissions of the md5-1.8.5 directory and its contents made that bit work - now to figure out how to set up a vanilla project.... 02:36:09 ichernetsky [~ichernets@195.222.66.210] has joined #lisp 02:36:50 -!- lnostdal [~lnostdal@90.149.113.175] has quit [Ping timeout: 246 seconds] 02:36:51 -!- mejja [~user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 02:36:53 fihi09 [~user@pool-96-224-165-27.nycmny.east.verizon.net] has joined #lisp 02:38:36 -!- bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has quit [Quit: Leaving] 02:38:53 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 02:40:52 -!- hugod [~hugod@bas1-montreal50-1279440906.dsl.bell.ca] has quit [Read error: Connection reset by peer] 02:42:28 -!- alland [~thomas@ti0014a380-1092.bb.online.no] has quit [Quit: Leaving.] 02:44:25 dralston [~dralston@S010600212986cca8.va.shawcable.net] has joined #lisp 02:44:30 hugod [~hugod@bas1-montreal50-1279440906.dsl.bell.ca] has joined #lisp 02:49:16 pkhuong and adeht: thanks... that "making a small cl project" page was the missing juju... and even better it makes sense 02:54:57 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 02:55:58 -!- dralston [~dralston@S010600212986cca8.va.shawcable.net] has quit [Quit: Leaving] 02:57:18 -!- mbohun [~mbohun@202.124.72.138] has quit [Quit: Leaving] 02:57:24 -!- Guthur [~Michael@host81-132-10-255.range81-132.btcentralplus.com] has quit [Quit: Computer says no] 03:02:34 SandGorgon [~OmNomNomO@75-92-29-226.war.clearwire-wmx.net] has joined #lisp 03:03:29 amnesiac [~amnesiac@p3m/member/Amnesiac] has joined #lisp 03:03:54 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 240 seconds] 03:09:23 bigjust [~jcaratzas@adsl-074-232-230-165.sip.asm.bellsouth.net] has joined #lisp 03:11:35 question: when mucking in the REPL, is there a way to undefine a method (/function/variable)? I have made an incompatible change to a defmethod. 03:12:11 ... incompatible change to defmethod? Oh boy... 03:12:20 try if cl:defmethod works correctly 03:13:16 then try uninterning the symbol holding your modification. If you managed to modify cl:defmethod, I recommend reloading your image :-) 03:13:38 I think he just means a method 03:14:03 adeht: I missed the 'a' 03:14:09 and an easy way to remove a method is by inspecting the generic function it belongs to (`C-c I ') 03:14:25 rickmode: The slime inspector is a handy tool. It can be used to unbind functions. 03:14:25 #', even 03:14:38 I'm just playing with an example... I change the parameter list from (foo) to (myclass foo) 03:15:37 then you want to fmakunbound the generic function 03:15:49 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 03:17:54 so in the REPL you'd hit C-c l ? Because C-c l ("l" as in lamb) is undefined for me 03:18:23 rickmode: Capital i, not lowercase l. 03:18:30 you need to use a better font 03:18:40 ^ 03:18:48 -!- dreish [~dreish@minus.dreish.org] has quit [Quit: dreish] 03:19:08 ^ 03:20:27 *rickmode* is duly chastened 03:20:57 *p_l* recommends MS Consolas, eventually Monaco 03:21:11 Hmm. I had gotten it into my head that structures didn't print readably in a way that was portable across implementations. That doesn't seem to be true after all. 03:21:14 *adeht* uses Terminus with a nicer lambda symbol 03:21:21 hefner: #S notation? 03:21:33 yeah. 03:21:46 You're clearly too used to classes. :-P 03:21:55 *Ralith* likes Bitstream Vera Sans 03:21:58 carbocalm [~user@69-196-130-49.dsl.teksavvy.com] has joined #lisp 03:23:02 p_l: fixed font: now I feel 733t 03:28:15 OK - so doing C-c I vote-for says "The variable VOTE-FOR is unbound." Which is true because this is a generic function. 03:28:44 (I know I could restart lisp here -but I'm curious how to do this on-the-fly) 03:29:01 try #'vote-for 03:33:17 lithper2_ [~chatzilla@ool-182ff1c9.dyn.optonline.net] has joined #lisp 03:34:18 that returns # 03:36:03 jsfb [~jon@unaffiliated/jsfb] has joined #lisp 03:37:06 -!- bigjust [~jcaratzas@adsl-074-232-230-165.sip.asm.bellsouth.net] has quit [Ping timeout: 248 seconds] 03:38:17 rickmode: try inspecting that.. (you can right-click on the presented object and choose inspect) 03:38:22 -!- aja [~aja@unaffiliated/aja] has quit [Read error: Connection reset by peer] 03:39:54 ah... now I see what you mean 03:41:50 mathrick [~mathrick@users177.kollegienet.dk] has joined #lisp 03:42:22 mbohun [~mbohun@202.124.72.138] has joined #lisp 03:50:58 -!- fatblueduck [~chris@pool-71-104-235-97.lsanca.dsl-w.verizon.net] has left #lisp 03:54:10 -!- benny [~benny@i577A848D.versanet.de] has quit [Ping timeout: 248 seconds] 03:54:40 -!- parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has quit [Remote host closed the connection] 03:56:43 benny [~benny@i577A7428.versanet.de] has joined #lisp 03:57:11 or you can just C-c I #'vote-for 03:58:10 -!- LiamH [~nobody@pool-72-75-123-60.washdc.east.verizon.net] has quit [Quit: Leaving.] 03:58:42 I think you mean, C-c I 'vote-for 04:01:12 no, I mean C-c I #'vote-for 04:01:38 Oh sorry. I didn't understand why you were just repeating what adeht just said. 04:02:05 You could get there from 'vote-for, though. 04:02:49 After all, the function slot notionally exists, even if SBCL stores it elsewhere and only creates it if it's bound. 04:04:02 austinh: if you read the conversation, you'll see that rickmode appeared to have misunderstood. 04:04:12 wedgeV [~wedge@adsl-69-232-231-189.dsl.pltn13.pacbell.net] has joined #lisp 04:04:21 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 245 seconds] 04:04:37 *rickmode* is clearly lost in space 04:05:10 ... There's a quote available there, I just know it. 04:05:24 I see - C-c I #' is shorthand 04:05:46 or rather - avoids the pick list 04:05:51 Yes, #' is reader magic for (function ). 04:06:10 Ralith: I was following the conversation. adeht told him to do C-c I #'vote-for 30 minutes ago. 04:06:50 austinh: and it's quite obvious that he misunderstood, which is why I clarified. 04:06:58 which seems to have done the trick. 04:07:01 There are three standard things you can use for . One is a symbol. One is a lambda expression. And one is a list (setf ). 04:07:44 I've been spoiled by IDE menuing systems over the years from Visual C++/Studio onto IDEA then Egglips. Emacs is simply different. Though I can already tell I'll get less wrist trouble after I wire my brain to it. 04:08:19 rickmode: I also recommend getting a better keyboard or changing layout to fit 04:08:47 *hefner* finally figured out how to swap parens and brackets on windows the other day 04:08:53 (plus a proper way to actually hit modifier keys) 04:08:59 Heh. My wrists usually only trouble me after using one of those stupid "contoured" keyboards or trying to use my laptop at a funny angle. 04:09:34 hefner: Custom keyboard map, the registry hack for rewiring the keycodes coming in from the hardware, or something else? 04:09:42 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 256 seconds] 04:09:50 p_l: the control keys aren't too bad on mac. Plus using aquamacs I can always whimp out and use the mac-ish keys as well as the mouse 04:10:02 nyef: custom keyboard map. then registry hack to clone left-control onto capslock 04:10:11 Ahh. 04:10:35 emma [~em@unaffiliated/emma] has joined #lisp 04:10:51 I've only ever used the registry hack to remap backspace onto capslock, but it didn't really work for me and nobody else borrowed my computer after that to get tripped up on it. 04:11:34 with full keyboard I might go for controls/meta on the same line as space, but neither laptop keyboard has all necessary keys and Type 6c only got one control and weirdly-placed AltGr 04:11:51 nyef: someone made a nice installer that makes a suitable keyboard map available 04:12:56 I'm still tripped by going from windoze to mac with the control vs. command key change (i drank the koolaid 2 years ago) 04:13:04 Good morning! 04:13:49 -!- ikki [~ikki@201.155.75.146] has quit [Ping timeout: 260 seconds] 04:13:53 rickmode, you mean from windows, to osx? 04:14:51 -!- mattrepl [~mattrepl@pool-72-83-118-99.washdc.fios.verizon.net] has quit [Quit: mattrepl] 04:15:19 bjorkintosh: ya - at this point i'm mostly there - I'm 80% on the mac, while on a windows box I hit the wrong keys 04:16:09 Hello beach. 04:16:53 -!- marioxcc [~user@200.92.23.60] has quit [Remote host closed the connection] 04:16:53 -!- sepult [~user@xdsl-87-78-25-217.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 04:17:00 i bet if steve jobs started selling a windows clone, people'd still pay good money for his shite. 04:17:12 i'm a fan of neither platform. 04:18:11 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 04:18:21 ah, must be an iPad man. 04:19:26 hahaha 04:19:29 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 04:19:32 no! 04:19:45 *p_l* loves how iPad sounds like iBSOD to him 04:21:04 ipad sounds a lot like "i accidentally 4 ipods". 04:21:16 there's an untapped well of punning iPad and various Thai dishes together, if you can find any combinations that are funny 04:21:16 "lulz." 04:22:53 bjorkintosh: in polish, one meaning of "pad" is an informal name for computer failure (like BSOD etc.) 04:23:02 cool! 04:23:38 and enough people know english to make it into "I BSOD'" :) 04:25:54 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 240 seconds] 04:25:57 iBad? Landing iPad? iPaddle (maybe up the creek without one)? 04:26:19 sepult [~user@xdsl-87-78-25-217.netcologne.de] has joined #lisp 04:26:38 nyef: iPaddle reminds me of a certain (hopefully US-specific) anime convention phenomen I heard of... yaoi paddles 04:26:58 ... I'm frightened just by the name. 04:27:19 nyef: Good thing I'm not in US ¬_¬" 04:28:23 ikki [~ikki@200.95.162.219] has joined #lisp 04:28:23 the pro argument for the iPad is that it is something a non-computer savvy person can effectively use which will not degrade over time (because you simply can't install crap to slow down and destabilize it) 04:28:29 -!- proq [~user@unaffiliated/proqesi] has quit [Ping timeout: 246 seconds] 04:28:43 there's that 2006 iPad video on youtube.. http://www.youtube.com/watch?v=8eF0y0IfpPU 04:28:48 Sorry, did I just hear "you can't install crap to make it actually useful"? 04:28:59 the name does sound like a feminine product though, eh? 04:29:08 iPadlocked, the grim meathook DRMed future 04:29:11 Ah, the "Max iPad"? 04:29:26 rickmode: I'm not really into appliances - it's either that you give enough power to be a usable addition, or you make an appliance that will have less problems 04:29:33 ... Or is that "Mac's iPad"? 04:29:52 i mean you can't installed stuff that runs in the background (similar to iphone) and such... 04:30:23 rickmode: there's this little problem, that people like to think of computer equipment in terms of fridge, instead of a car (bad analogy, but I'm not in the mood to search for better) 04:30:36 p_l: i guess it's an appliance. even so, i wonder how well it'll sell. My dad (whose 80) loves his iphone. But i doubt he'd want an iPad. 04:30:50 Speaking of appliances, it doesn't seem that long ago that I was wondering why the CD player in the living room wasn't networked and available for a remote-mount of a cdrom or ripping of a music CD over the local wireless. 04:31:08 rickmode: why? iPad is just the large print edition of the iPhone. 04:31:44 obligatory: http://pics.nase-bohren.de/apple_evolution.jpg/1265776106 04:32:38 in EN's terms the iPad is the cancerous growth of an iPod Touch 04:32:53 I'm looking forward to android tablets. :) 04:32:58 hefner: not sure he'd be into a large form thingy flopping around the house, but too big to take places conveniently 04:33:19 Phoodus: that would be great if they built a DDR pad in below the keyboard 04:33:39 It occurs to me that there's a possible market for a small device (iPhone sized) with a projective display/keyboard arrangement. 04:34:10 or even better, an eee keyboard with mini projector 04:34:33 *Phoodus* doesn't think much of projective keyboards 04:34:35 Or that, especially if it folded in half. 04:35:05 malsyned_ [~malsyned@24.151.76.65] has joined #lisp 04:35:09 Yeah, I was just thinking maybe instead of the projective keyboard having a fold-out bluetooth keyboard as a separate unit. 04:35:19 rickmode: my understanding is that true believers will purchase the iShirt accessory, which lets you velcro your ipad to your chest to carry it out of the house 04:35:49 iDouchebag 04:35:59 I don't suppose there's a camera in the iPad, is there? 04:36:14 nyef: nein. 04:36:19 nyef, nyet. not yet. 04:36:36 I think I'll wait for the HP Slate 04:36:38 The thought of velcroing two of them either side of one's body and having the camera on one output to the display on the other... 04:36:50 some speculate it's to avoid the entire issue of videoconferencing over 3G, but that's probably just tinfoil hatting 04:37:03 Phoodus, tinfoil hats work! 04:37:17 nyef: hah. 04:37:33 hefner: It's a great visual image, isn't it? 04:39:39 spradnyesh [~pradyus@nat/yahoo/x-gdcapxkdtlbwsxpz] has joined #lisp 04:40:00 its funny, i have yet to find a good reason to use hashes in lisp, where they were my mainstay in perl. 04:41:16 Demosthenes: Hashes in lisp are for when your plist exceeds N entries (where N is some implementation-and-host-CPU-dependent cutoff). 04:41:29 -!- Odin- [~sbkhh@s121-302.gardur.hi.is] has quit [Quit: Odin-] 04:41:29 What I find interesting is how little some programs use lists. 04:41:30 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 240 seconds] 04:41:30 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 04:43:42 emma [~em@unaffiliated/emma] has joined #lisp 04:43:46 -!- c|mell [~cmell@cpc3-colc5-0-0-cust193.colc.cable.ntl.com] has quit [Ping timeout: 248 seconds] 04:44:26 nyef: so what is N? 100? 1000? 04:44:53 it also depends on what key and comparison type you're using 04:45:15 Phoodus: ya - if the hash calculation is expensive and not cached 04:45:16 rickmode: As low as 10, according to some people. 04:45:27 the rule of thumb I remember from C-family days is 10-20, yeah 04:47:25 -!- ace4016 [ace4016@cpe-76-170-134-79.socal.res.rr.com] has quit [Quit: When there's nothing left to burn, you have to set yourself on fire.] 04:47:44 10-ish seems right. Other languages (e.g. Java) don't have a plist facility, so using something other than a hashtable/hashmap is awkward 04:48:38 And Clojure has that immutability thing and generic protocols going for it, allowing it to pick the implementation it wants behind the scenes. 04:49:28 nyef: lists? why not use lists? ;] 04:49:35 those are common now.... 04:49:43 alists/plists provide some features that aren't easily translatable to hash-tables 04:52:33 lpolzer__ [~lpolzer@dslb-088-073-204-090.pools.arcor-ip.net] has joined #lisp 04:52:50 nyef: I almost only use sexps. 04:54:34 I don't see how surprising it is that some programs almost don't use lists at all, when there are so little reasons to. 04:56:14 slyrus [~slyrus@adsl-76-195-2-63.dsl.pltn13.sbcglobal.net] has joined #lisp 04:56:48 -!- lpolzer_ [~lpolzer@dslb-088-073-221-030.pools.arcor-ip.net] has quit [Ping timeout: 276 seconds] 04:59:00 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 265 seconds] 04:59:40 ace4016 [ace4016@cpe-76-170-134-79.socal.res.rr.com] has joined #lisp 04:59:57 emma_ [~em@unaffiliated/emma] has joined #lisp 05:04:54 Cowmoo [~Cowmoo@c-68-55-225-191.hsd1.va.comcast.net] has joined #lisp 05:05:22 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 252 seconds] 05:11:15 stassats [~stassats@wikipedia/stassats] has joined #lisp 05:15:12 -!- Stattrav [~Stattrav@202.3.77.161] has quit [Ping timeout: 252 seconds] 05:16:01 bigjust [~jcaratzas@adsl-074-232-230-165.sip.asm.bellsouth.net] has joined #lisp 05:17:02 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 05:17:04 l0stman [~l0stman@freedsl-2.blueline.mg] has joined #lisp 05:21:21 -!- Cowmoo [~Cowmoo@c-68-55-225-191.hsd1.va.comcast.net] has left #lisp 05:22:43 l4ndfo [~l4ndfo@S0106002129a187e9.ed.shawcable.net] has joined #lisp 05:23:39 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 265 seconds] 05:24:24 -!- hugod [~hugod@bas1-montreal50-1279440906.dsl.bell.ca] has quit [Quit: hugod] 05:30:01 -!- jsfb [~jon@unaffiliated/jsfb] has quit [Quit: Leaving] 05:30:29 18VAACU5T [bpt@cpe-075-182-095-009.nc.res.rr.com] has joined #lisp 05:30:43 -!- 18VAACU5T is now known as bipt 05:33:33 mishoo [~mishoo@79.112.118.235] has joined #lisp 05:36:54 -!- hoeq_ [~hoeq@h-66-64.A216.priv.bahnhof.se] has quit [Read error: Operation timed out] 05:37:05 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 05:41:35 hoeq_ [~hoeq@h-66-64.A216.priv.bahnhof.se] has joined #lisp 05:45:06 -!- nyef [~nyef@pool-64-222-146-224.man.east.myfairpoint.net] has quit [Quit: G'night all.] 05:46:40 nunb [~nundan@203.197.80.145] has joined #lisp 05:48:25 evening 05:48:25 I can't seem to get unintern to work - shouldn't (unintern 'foo) (find-symbol "FOO") -> the latter return nil? 05:48:36 das64 [~das@adsl-67-124-39-87.dsl.pltn13.pacbell.net] has joined #lisp 05:51:54 -!- fisxoj [~fisxoj@softbank221066001155.bbtec.net] has quit [Quit: Ex-Chat] 05:55:05 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 05:57:30 -!- xan [~xan@cs78225040.pp.htv.fi] has quit [Ping timeout: 256 seconds] 05:57:32 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 05:59:08 -!- ltriant [~ltriant@lithium.mailguard.com.au] has quit [Quit: leaving] 06:00:10 Modius: if the symbol-name of `foo' is "FOO", yes 06:00:45 adeht: What about inherited forms in cl-user? 06:00:56 inherited forms? 06:01:03 Inherited symbols sorry 06:01:19 it doesn't matter 06:01:25 Kolyan [~nartamono@95-26-154-158.broadband.corbina.ru] has joined #lisp 06:02:42 CL-USER> (unintern 'remote-port) 06:02:43 NIL 06:02:43 CL-USER> (find-symbol "REMOTE-PORT") 06:02:43 REMOTE-PORT 06:02:43 :INHERITED 06:02:43 CL-USER> 06:02:50 So basically, I didn't just see this. 06:03:15 pkhuong: care to elaborate (s-exps vs lists)? 06:03:26 xan [~xan@cs78225040.pp.htv.fi] has joined #lisp 06:03:45 Modius: can you nopaste a full test-case 06:03:57 adeht: That is the first thing I typed in on starting CCL 06:04:02 That IS the full test case. 06:04:12 with or without slime? 06:04:19 adeht: With slime 06:04:22 try w/o 06:04:33 adeht: Shouldn't unintern have removed that sym? 06:04:41 it should've 06:05:36 mathk [~mathk@lns-bzn-46-82-253-250-19.adsl.proxad.net] has joined #lisp 06:10:56 hmm.. perhaps not. try (unintern 'remote-port (symbol-package 'remote-port)) 06:11:38 brennanc [~brennanc@cpe-76-166-156-65.socal.res.rr.com] has joined #lisp 06:11:46 -!- mishoo [~mishoo@79.112.118.235] has quit [Ping timeout: 248 seconds] 06:12:30 "Symbol may continue to be accessible in package by inheritance." 06:12:38 unintern removes present symbols 06:13:34 perhaps what you need is SHADOW 06:13:42 Yeah, I'm shadowing now 06:13:43 thanks 06:13:57 -!- mbohun [~mbohun@202.124.72.138] has quit [Quit: Leaving] 06:19:32 -!- redline6561 [~redline@c-66-56-16-250.hsd1.ga.comcast.net] has quit [Quit: Leaving.] 06:23:15 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 276 seconds] 06:24:05 mishoo [~mishoo@79.112.118.235] has joined #lisp 06:25:06 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 06:26:10 -!- reb [~user@2620:0:1003:1000:216:e6ff:fed5:8b75] has quit [Ping timeout: 248 seconds] 06:29:49 -!- kleppari [~spa@bitbucket.is] has quit [Read error: Operation timed out] 06:31:06 -!- myrkraverk` [~johann@157-157-183-102.dsl.dynamic.simnet.is] has quit [Ping timeout: 252 seconds] 06:31:37 RaceCondition [~RaceCondi@85.253.73.94.cable.starman.ee] has joined #lisp 06:35:00 myrkraverk` [~johann@85-220-125-214.dsl.dynamic.simnet.is] has joined #lisp 06:35:43 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 06:37:36 -!- kenjin2201 [~kenjin@220.120.43.80] has quit [Ping timeout: 265 seconds] 06:37:54 kenjin2201 [~kenjin@220.120.43.80] has joined #lisp 06:39:30 -!- slyrus [~slyrus@adsl-76-195-2-63.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 276 seconds] 06:40:43 -!- mathk [~mathk@lns-bzn-46-82-253-250-19.adsl.proxad.net] has quit [Quit: ..zzZzzZ] 06:42:42 -!- amnesiac [~amnesiac@p3m/member/Amnesiac] has quit [Quit: Leaving] 06:43:36 legumbre_ [~leo@r190-135-24-33.dialup.adsl.anteldata.net.uy] has joined #lisp 06:43:42 slyrus [~slyrus@adsl-76-195-2-63.dsl.pltn13.sbcglobal.net] has joined #lisp 06:43:50 -!- slyrus [~slyrus@adsl-76-195-2-63.dsl.pltn13.sbcglobal.net] has quit [Remote host closed the connection] 06:44:34 -!- bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has quit [Read error: Operation timed out] 06:45:32 -!- legumbre [~leo@r190-135-23-84.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 256 seconds] 06:47:43 -!- sepult [~user@xdsl-87-78-25-217.netcologne.de] has quit [Read error: Connection reset by peer] 06:48:17 Tonijz [~tonijs@85.254.194.65] has joined #lisp 06:49:04 sepult [~user@xdsl-87-78-25-217.netcologne.de] has joined #lisp 06:53:06 -!- rickmode [~rickmode@cpe-76-167-41-163.socal.res.rr.com] has quit [Quit: rickmode] 06:55:25 Ralith_ [~ralith@69.90.48.97] has joined #lisp 06:55:35 -!- varjagg is now known as varjag 06:55:44 -!- Ralith [~ralith@69.90.48.97] has quit [Read error: No route to host] 06:58:51 Rothbardian [~user@121-73-180-118.dsl.telstraclear.net] has joined #lisp 07:00:48 -!- ichernetsky [~ichernets@195.222.66.210] has quit [Read error: Connection reset by peer] 07:04:05 -!- Ralith_ is now known as Ralith 07:05:16 -!- Rothbardian [~user@121-73-180-118.dsl.telstraclear.net] has left #lisp 07:07:31 slyrus [~slyrus@adsl-76-195-2-63.dsl.pltn13.sbcglobal.net] has joined #lisp 07:08:15 hi. my server app connects to a jabber-server and is waiting for messages. that messages are processed and responces are sent back. how to process the requests concurrently? 07:08:29 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 07:09:20 There's this really noxious thing many libs do where they connect to the DLL at load time rather than runtime (makes a difference if you're deploying) 07:10:18 gemelen [~shelta@shpd-78-36-164-154.static.vologda.ru] has joined #lisp 07:10:39 the connection to a jabber-server is ssl-protected 07:11:30 Modius: if you're talking about lisp and CFFI, that's probably because no one understands how use-foreign-library is supposed to work. 07:11:50 hefner: That's one - there are others. 07:20:34 majhool [~mrw@user-118bgr6.cable.mindspring.com] has joined #lisp 07:21:42 ichernetsky [~ichernets@195.222.64.138] has joined #lisp 07:22:42 -!- RaceCondition [~RaceCondi@85.253.73.94.cable.starman.ee] has quit [Ping timeout: 248 seconds] 07:24:53 -!- rrice [~rrice@adsl-99-51-95-162.dsl.akrnoh.sbcglobal.net] has quit [Quit: Leaving.] 07:28:00 -!- Adlai [~adlai@unaffiliated/adlai] has quit [Quit: (write-char #\Adlai *work-stream*)] 07:31:26 -!- l4ndfo [~l4ndfo@S0106002129a187e9.ed.shawcable.net] has quit [Quit: leaving] 07:31:36 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 07:32:07 gko [~gko@211.22.47.2] has joined #lisp 07:34:59 good morning 07:37:32 freiksenet [~freiksene@hoasnet-fe29dd00-202.dhcp.inet.fi] has joined #lisp 07:39:08 (print "good mornign to you too") 07:39:33 eww i forgot to eval 07:41:41 -!- hefner [~hefner@ppp-58-9-113-191.revip2.asianet.co.th] has quit [Quit: Leaving] 07:41:57 -!- xenosoz2 [~xenosoz@pe.snu.ac.kr] has quit [Ping timeout: 260 seconds] 07:43:38 attila_lendvai [~ati@catv-89-134-66-143.catv.broadband.hu] has joined #lisp 07:43:43 xenosoz2 [~xenosoz@pe.snu.ac.kr] has joined #lisp 07:49:18 jtza8 [~jtza8@41.208.192.161] has joined #lisp 07:52:28 (let ((my-var "testing")) (with-html-output-to-string (*standard-output* nil) (:p my-var))) 07:52:45 why does this not show anything when I use my-var? 07:52:54 it just outputs "

" 07:53:27 I'm using cl-who, just to clarify 07:54:06 use (str my-var) 07:54:55 yup, that did the trick 08:01:13 RaceCondition [~RaceCondi@85.253.73.94.cable.starman.ee] has joined #lisp 08:02:30 Hun [~hun@p50993726.dip0.t-ipconnect.de] has joined #lisp 08:03:21 schaueho [~schaueho@dslb-088-064-180-112.pools.arcor-ip.net] has joined #lisp 08:03:37 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 08:03:56 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 08:04:57 -!- ichernetsky [~ichernets@195.222.64.138] has quit [Read error: Connection reset by peer] 08:05:09 -!- slyrus [~slyrus@adsl-76-195-2-63.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 252 seconds] 08:05:10 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 08:06:02 slyrus [~slyrus@adsl-75-36-211-117.dsl.pltn13.sbcglobal.net] has joined #lisp 08:15:16 -!- sepult [~user@xdsl-87-78-25-217.netcologne.de] has quit [Read error: Connection reset by peer] 08:16:28 sepult [~user@xdsl-87-78-25-217.netcologne.de] has joined #lisp 08:18:54 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #lisp 08:19:52 jdz [~jdz@85.254.211.133] has joined #lisp 08:20:56 ichernetsky [~ichernets@195.222.66.216] has joined #lisp 08:24:45 -!- Modius [~Modius@cpe-70-123-130-159.austin.res.rr.com] has quit [Quit: I'm big in Japan] 08:27:07 -!- freiksenet [~freiksene@hoasnet-fe29dd00-202.dhcp.inet.fi] has quit [Remote host closed the connection] 08:29:31 bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has joined #lisp 08:30:08 Edico [~Edico@unaffiliated/edico] has joined #lisp 08:31:29 trebor_dki [~user@mail.dki.tu-darmstadt.de] has joined #lisp 08:34:15 konr`` [~user@201.82.130.248] has joined #lisp 08:35:14 poet [~poet@ppp-70-225-160-21.dsl.chmpil.ameritech.net] has joined #lisp 08:35:14 -!- poet [~poet@ppp-70-225-160-21.dsl.chmpil.ameritech.net] has quit [Changing host] 08:35:14 poet [~poet@unaffiliated/poet] has joined #lisp 08:35:22 -!- slyrus [~slyrus@adsl-75-36-211-117.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 258 seconds] 08:35:24 -!- wedgeV [~wedge@adsl-69-232-231-189.dsl.pltn13.pacbell.net] has quit [Quit: wedgeV] 08:35:49 -!- konr` [~user@201.82.130.248] has quit [Ping timeout: 264 seconds] 08:35:51 -!- SandGorgon [~OmNomNomO@75-92-29-226.war.clearwire-wmx.net] has quit [Ping timeout: 276 seconds] 08:36:34 -!- sepult [~user@xdsl-87-78-25-217.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 08:37:33 tcr [~tcr@host146.natpool.mwn.de] has joined #lisp 08:37:43 Athas [~athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 08:38:38 -!- majhool [~mrw@user-118bgr6.cable.mindspring.com] has quit [Quit: leaving] 08:39:05 konr``` [~user@201.82.130.248] has joined #lisp 08:39:29 aerique [euqirea@xs2.xs4all.nl] has joined #lisp 08:39:34 Adlai [~Adlai@unaffiliated/adlai] has joined #lisp 08:40:43 FufieToo [~poff@Gatekeeper.vizrt.com] has joined #lisp 08:41:49 konr```` [~user@201.82.130.248] has joined #lisp 08:42:18 -!- konr`` [~user@201.82.130.248] has quit [Ping timeout: 240 seconds] 08:42:22 sepult [~user@xdsl-87-78-25-217.netcologne.de] has joined #lisp 08:43:30 -!- konr``` [~user@201.82.130.248] has quit [Ping timeout: 240 seconds] 08:45:24 -!- brennanc [~brennanc@cpe-76-166-156-65.socal.res.rr.com] has quit [Quit: brennanc] 08:45:35 slyrus [~slyrus@adsl-75-36-211-117.dsl.pltn13.sbcglobal.net] has joined #lisp 08:45:45 Speedy1 [~Speedy@bzq-79-180-18-85.red.bezeqint.net] has joined #lisp 08:45:46 www.search2.net 08:46:33 kib2 [~chatzilla@2a01:e35:2e49:f1c0:103c:ed8:7b3b:31ac] has joined #lisp 08:47:21 -!- schaueho [~schaueho@dslb-088-064-180-112.pools.arcor-ip.net] has quit [Quit: Leaving] 08:48:47 -!- FufieToo [~poff@Gatekeeper.vizrt.com] has quit [Quit: Leaving] 08:49:14 -!- Speedy1 [~Speedy@bzq-79-180-18-85.red.bezeqint.net] has left #lisp 08:49:33 morphling [~stefan@gssn-5f757fbc.pool.mediaWays.net] has joined #lisp 08:50:05 -!- kiuma [~kiuma@85-18-55-37.ip.fastwebnet.it] has quit [Quit: Bye bye ppl] 08:51:01 grouzen [~grouzen@91.214.124.2] has joined #lisp 08:51:49 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 240 seconds] 08:51:51 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Quit: Leaving] 08:53:24 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 08:55:06 beaumonta [~abeaumont@85.48.202.13] has joined #lisp 08:55:18 mega1 [~quassel@pool-04345.externet.hu] has joined #lisp 08:58:43 FufieToo [~poff@Gatekeeper.vizrt.com] has joined #lisp 09:02:21 hi. my server app connects to a jabber-server and is waiting for messages. that messages are processed and responces are sent back. how to process the requests concurrently? 09:02:48 -!- gemelen [~shelta@shpd-78-36-164-154.static.vologda.ru] has quit [Ping timeout: 256 seconds] 09:03:25 -!- TR2N [email@89.180.194.94] has quit [Ping timeout: 264 seconds] 09:04:12 TR2N [email@89-180-194-94.net.novis.pt] has joined #lisp 09:04:14 Use a thread pool, and dispatch the incoming messages to the worker threads? 09:04:15 gzip4, there are many libraries providing various types of concurrency support. what kind of concurrency do you want to use? 09:04:19 gemelen [~shelta@shpd-92-101-129-113.vologda.ru] has joined #lisp 09:04:30 for straightforward threads, locks, and condition variables, try bordeaux-threads 09:06:20 , i use sb-thread package for threading, but i don't know how to organize i/o. 09:07:29 my first idea was to provide 1 thread for reading from cl+ssl stream and put messages into queue 09:07:52 yeah sounds about right 09:08:41 2nd thread reads from responses queue and sends messages back with the same cl+ssl stream 09:09:27 some worker threads process messages got from 1st queue and put the results into the 2nd one 09:11:35 but, cl+ssl stream is on top of the flexi-stream which is breaking on concurrent i/o. 09:12:03 You mean you cannot simultaneously write to and read from such a stream? 09:12:34 -!- Phoodus [foo@97-124-117-72.phnx.qwest.net] has quit [Read error: Connection reset by peer] 09:12:35 there's only one reader and one writer in your described scenario 09:12:49 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 09:13:00 -!- gemelen [~shelta@shpd-92-101-129-113.vologda.ru] has quit [Ping timeout: 256 seconds] 09:13:07 i myself provide mutex protection of libssl.so, but flexi-stream is still unprotected 09:13:12 gzip4: you don't strictly need concurrency for this, though 09:13:33 tcr: yes, i mean it 09:13:51 tcr: yes, 1 reader and 1 writer 09:14:22 Ralith: how's that? 09:14:48 gzip4: multiplexed I/O. 09:15:50 Ralith: i have one stream, what to multiplex here? 09:16:24 gzip4: er, misread your usecase, my bad. 09:16:34 mejja [~user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #lisp 09:16:47 though you could still just work sequentially, I assume from the triviality of this that you have actual need to be concurrent. 09:17:22 -!- ichernetsky [~ichernets@195.222.66.216] has quit [Ping timeout: 248 seconds] 09:18:59 yes, sequental version works just fine 09:20:48 but the matter is that some of request handlers may consume much more time than other, why clients must wait? 09:21:17 indeed. 09:22:02 gzip4: So it seems like you cannot have a writer and a reader thread, but you have to coalesce them into one 09:22:11 i've already broken my head on this... 09:23:40 I wouldn't have thought that flexi-streams had that problem, but courteously skimming through its source, you may actually be right 09:24:04 does cl+ssl provide a non blocking read operation? 09:24:11 if not, you may still be able to use LISTEN 09:24:54 i.e. use listen to look whether an incoming message arrived, if so get it and put into the incoming queue; if not check the outgoing queue, and if a response is in there, write that to the stream 09:25:53 i don't know how to turn to non blocking mode, but (read-char-no-hang tls-stream) hangs on sb-sys:WAIT-UNTIL-FD-USABLE 09:25:54 it's not a perfect solution as that i/o thread has essentially to busy loop, but well 09:26:26 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 248 seconds] 09:27:14 i'd prefer to avoid such a loops 09:28:06 -!- saikatc [~saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has quit [Quit: saikatc] 09:28:12 The last time I saw your code, it was full of it 09:29:31 yes, but that threads hang on queue's mutexes and conditional variables, or blocked on i/o 09:30:28 saikatc [~saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has joined #lisp 09:31:07 -!- Adamant [~Adamant@unaffiliated/adamant] has quit [Remote host closed the connection] 09:31:15 Adamant [~Adamant@unaffiliated/adamant] has joined #lisp 09:31:30 I remember seeing you used loop+sleep; but anyway you seem to be runnning against bugs, or inadequacies in your software stack 09:31:54 -!- saikatc [~saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has quit [Client Quit] 09:32:40 I'd suggest to write to the respective mailinglists, and hope for advice. 09:32:59 ok. thank you 09:33:07 -!- Adamant [~Adamant@unaffiliated/adamant] has quit [Client Quit] 09:33:40 Adamant [~Adamant@unaffiliated/adamant] has joined #lisp 09:34:20 gzip4: A solution may be to subclass from the cl+ssl stream and put in locks? 09:34:24 btw, loop+sleep was for sync purpose, to know a place which i/o threads are 09:34:58 -!- Krystof [~csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has quit [Ping timeout: 248 seconds] 09:35:09 ichernetsky [~ichernets@195.222.64.236] has joined #lisp 09:35:22 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Read error: Operation timed out] 09:35:53 tcr: what if i accuire a lock before read and it hangs, writer would cannot write 09:36:44 heh bah so try to find out why LISTEN/read-char-no-hang does not work on a ssl stream 09:36:46 -!- ichernetsky [~ichernets@195.222.64.236] has quit [Read error: Connection reset by peer] 09:37:24 nostoi [~nostoi@230.Red-79-153-125.dynamicIP.rima-tde.net] has joined #lisp 09:39:10 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 09:40:18 -!- raison [~raison@70.90.182.149] has quit [Ping timeout: 252 seconds] 09:40:39 gzip4: are you going through the lisp BIO or the fd BIO? 09:40:49 tcr: am i first who fases such a problem? )) 09:41:15 lichtblau: cl+ssl provides lisp BIO AFAIK 09:41:28 I know. But are you using it? 09:42:09 lichtblau: all i use is (cl+ssl:make-ssl-client-stream) 09:42:33 okay. with what arguments? 09:42:41 hefner [~hefner@ppp-58-9-113-191.revip2.asianet.co.th] has joined #lisp 09:42:48 (cl+ssl:make-ssl-client-stream s :external-format :utf-8) 09:42:58 raison [~raison@70.90.182.149] has joined #lisp 09:43:03 s is a socket 09:43:13 Zephyrus [~emanuele@unaffiliated/zephyrus] has joined #lisp 09:43:15 *s is a socket stream 09:43:36 -!- leo2007 [~leo@soup.linux.pwf.cam.ac.uk] has quit [Remote host closed the connection] 09:44:09 okay, two more questions. #1 Do you get a warning saying "unrecognized stream lisp, using the Lisp BIO". #2 Is that cl+ssl from CVS or is it an ancient release? 09:45:10 I'm asking because the fd BIO shouldn't be going through fd streams at all, so I don't see how they could possibly end up in sb-sys:wait-until-fd-usable. 09:45:13 1. i didn't see anything like this 09:45:29 p_l: I notice you mentioned CLOS precaching in ACL. I'm not sure what you were wondering, but CLOS warmup is (AFAIK) responsible for some considerable sluggishness under SBCL when a McCLIM application starts (unfortunately noticeable as the window lurches onto the screen in pieces) 09:45:35 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 246 seconds] 09:45:38 2. i've installed cl+ssl with asdf-install 09:46:18 They finally added Common Lisp support to that Google AI Challenge and I finally managed to submit a bot that acutally runs. My random move bot has already won three games! (and lost many, many others :) ) 09:46:38 http://csclub.uwaterloo.ca/contest/profile.php?user_id=1303 09:46:43 random ai? ;) 09:47:06 lichtblau: cl+ssl is of 2008-11-04 09:47:25 gzip4: hmm, recent enough. Can you paste a stack trace for the point where it is sitting in sb-sys:wait-until-fd-usable? 09:47:44 joga: yeah, it was just to try getting a package uploaded :) 09:47:55 lichtblau: yes, moment 09:48:18 aerique: I see 09:48:54 brill [~brill@193.3.8.7] has joined #lisp 09:49:31 levente_meszaros [~levente_m@apn-89-223-170-241.vodafone.hu] has joined #lisp 09:49:40 gzip4 pasted "untitled" at http://paste.lisp.org/display/94690 09:51:32 oh, I see. STREAM-LISTEN is buggy. ETOOMUCHMAGICWRAPPERFUNCTIONS 09:51:59 *TOOMANY 09:52:55 dia100daly [~sdiawara@salle001.emi.u-bordeaux1.fr] has joined #lisp 09:53:26 possible fix, completely untested annotated #94690 "lichtblau" at http://paste.lisp.org/display/94690#1 09:53:38 arthurk86 [~ambonyin@salle001.emi.u-bordeaux1.fr] has joined #lisp 09:53:58 CL+SSL needs way more test cases. 09:54:38 hello every body 09:55:16 hello 09:55:30 i have some question on lisp 09:55:35 hefner: ah. Good to know. Though I'll have to see how that precaching works (our ACL's CLIM fails though, at least in demo...) 09:55:51 lichtblau: if i patch cl+ssl, what's my next move? 09:56:49 -!- plutonas [~plutonas@port-92-195-68-163.dynamic.qsc.de] has quit [Ping timeout: 240 seconds] 09:56:59 lichtblau: loop read/write? 09:57:05 how write a list on application lisp 09:57:07 ? 09:57:17 gzip4: just C-c C-c 'ing the affected function _might_ be enough to work around the problem. The fix isn't particularly good though, so the best strategy would be to write to cl-plus-ssl-devel and report the issue, ideally with a test case. 09:58:22 The bug is that STREAM-LISTEN calls STREAM-READ-BYTE, which ends up in INPUT-WAIT, and the gross hack that *BLOCKP* is used to work a little for the old lisp bio, but has no effect on INPUT-WAIT. 09:59:13 doesn't libssl provide a suitable function? 09:59:15 The real fix would be for STREAM-LISTEN to call a new function "READ-BYTE-NO-HANG", which would be like STREAM-READ-BYTE, except that it would indicate to ENSURE-SSL-FUNCALL somehow it shouldn't block. 09:59:30 -!- gko [~gko@211.22.47.2] has quit [Quit: rcirc on GNU Emacs 23.1.1] 09:59:43 -!- amaron [~amaron@cable-89-216-181-46.dynamic.sbb.rs] has quit [Read error: Operation timed out] 09:59:45 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 09:59:54 -!- arthurk86 [~ambonyin@salle001.emi.u-bordeaux1.fr] has left #lisp 10:00:00 -!- morphling [~stefan@gssn-5f757fbc.pool.mediaWays.net] has quit [Remote host closed the connection] 10:00:10 -!- nostoi [~nostoi@230.Red-79-153-125.dynamicIP.rima-tde.net] has quit [Quit: Verlassend] 10:00:34 tcr: libssl gets it right. My recollection was wrong; cl+ssl explicitly calls sb-sys:wait-until-fd-usable to wait, so that deadlines work. Unfortunately it also does that in stream-listen, which is incorrect. 10:01:02 -!- lithper2_ [~chatzilla@ool-182ff1c9.dyn.optonline.net] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.5.7/20100106054534]] 10:02:04 lichtblau: i'm not sure i can report this issue right, my english is too poor (( 10:02:06 morphling [~stefan@gssn-5f757fbc.pool.mediaWays.net] has joined #lisp 10:02:32 gzip4: A small, self-contained test case would probably be enough. 10:02:46 yeah, a test case would be better than a mere problem report anyway. 10:03:30 lichtblau: So you wait-until-fd-usable, and then call into ffi land? Is that call possibly blocking? If so, isn't there a race in case of multiple readers? 10:03:49 -!- kenpp` [~kenpp@188-222-117-86.zone13.bethere.co.uk] has quit [Ping timeout: 260 seconds] 10:04:16 -!- lharc [~shrek@88.131.67.194] has quit [Quit: Leaving] 10:04:47 tcr: we set the socket to nonblocking, call into FFI. If there's nothing to read, we FFI returns asking for more input. We wait for such input to arrive, then go back to FFI land to process it. (Possibly looping back if the new input isn't long enough for SSL to decode it, I think.) 10:04:54 I'm asking from a "how to write code regarding sb deadlines" stand-point. Until now, I'd have assumed you'd always use loop+decode-timeout, and non-blocking ffi call 10:04:57 CyberBlue [~yong@111.167.17.98] has joined #lisp 10:05:19 tcr: I don't think it's thread-safe anyway, so multiple readers on the same SSL socket aren't supported. 10:07:03 lichtblau: thanks that actually makes sense and is definitively better then loop+decode-timeout. 10:07:37 hi everyone. 10:07:41 -!- raison [~raison@70.90.182.149] has quit [Ping timeout: 245 seconds] 10:08:29 -!- brill [~brill@193.3.8.7] has left #lisp 10:08:39 mstevens [~mstevens@eris.etla.org] has joined #lisp 10:08:41 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 246 seconds] 10:08:58 -!- poet [~poet@unaffiliated/poet] has quit [Ping timeout: 252 seconds] 10:09:15 hey, thought I would link here, my CL game being reviewed on http://playthisthing.com/xong 10:09:25 which post, also appeared on the front page of said site. 10:09:41 media excitement :) 10:11:12 -!- tcr [~tcr@host146.natpool.mwn.de] has left #lisp 10:11:44 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 10:11:51 dto: sweet :) 10:11:57 hi aerique :) 10:12:12 sorry, didn't know if you were in #lispgames when i mentioned it there earlier 10:12:26 aerique: also, a few squares down the page on http://gamesetwatch.com 10:12:51 dto: did you design your control scheme to clash with my window manager keys? :) 10:13:09 *hefner* wonders how you could make a game out of raising/lowering windows, and moving things between desktops 10:13:33 gzip4: it should be relatively easy to take the READ-DEADLINE test in cl+ssl/test.lisp as an example and turn that into a READ-CHAR-NO-HANG test. It already has a thread set up that doesn't respond, so it would be easy to try a non-blocking read on that. 10:14:08 raison [~raison@70.90.182.149] has joined #lisp 10:14:42 *hefner* sadly notes that while a dedicated key for window management is the most important thing you could do to streamline a UI, MS introduced a "Windows key" and totally failed to achieve that 10:14:44 (or do anything productive at all with it, really) 10:16:15 lichtblau: i'd try it 10:16:16 hefner: oops :( 10:16:43 hefner: i am in the process of adding gamepad support. 10:17:07 or lobby one of the ITA RES guys to check whether they're calling listen or read-char-no-hang on their ssl sockets. If so, they are affected by this. 10:17:22 ignas [~ignas@78-60-73-85.static.zebra.lt] has joined #lisp 10:18:19 the reviews of XONG are a little mixed but generally positive. that they decided to bother playing it at all, long enough to write a review, is nice :) 10:18:40 dto: no i didn't see it there, i wasn't in the channel then 10:18:46 ah ok 10:19:05 aerique: i'm working on a dance rhythm improvisation synth game. 10:19:50 for $10 US, you can get an adaptor cable for the various PS2 dance pads. also, some of the better dance pads are already USB capable for PC. 10:20:28 aerique: i want to be able to freestyle beats with my feet, and then use the other buttons to hold and repeat patterns so that you can set up a steady beat to freestyle and loop over 10:20:40 rdd [~rdd@c83-250-52-182.bredband.comhem.se] has joined #lisp 10:22:19 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 10:22:54 -!- dmiles_afk [~dmiles@c-24-16-245-211.hsd1.wa.comcast.net] has quit [Read error: Connection reset by peer] 10:23:17 dmiles_afk [~dmiles@c-24-16-245-211.hsd1.wa.comcast.net] has joined #lisp 10:24:34 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Ping timeout: 248 seconds] 10:25:23 freiksenet [~freiksene@pub-nat.haaga-helia.fi] has joined #lisp 10:25:25 aerique: i picked up a 2nd dance pad yesterday. works pretty well, except it seems to slip on the carpet a little. it creeps always a little clockwise 10:25:41 dto: oh nice, i'm going to give my kids a workout then :) 10:25:42 so that by the 2nd (usually harder) part of a song, i am a little off-angle 10:25:46 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #lisp 10:25:55 aerique: YES! i want kids to be able to play 10:26:01 aerique: fun idea :) 10:26:09 a fine dance pad costs about 30 euros here (for PC, usb) 10:26:21 it's a really affordable workout ;) 10:30:10 gzip4 pasted "read-char-no-hang test" at http://paste.lisp.org/display/94692 10:30:42 -!- pkhuong [~pkhuong@modemcable238.100-176-173.mc.videotron.ca] has quit [Ping timeout: 240 seconds] 10:30:47 lichtblau: something like this? 10:31:19 -!- dia100daly [~sdiawara@salle001.emi.u-bordeaux1.fr] has left #lisp 10:33:18 perhaps with s/progn/when/, and s/cerror/error/ since it's no "unexpected data" situation when read-char-no-hang correctly returns NIL? 10:33:31 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 245 seconds] 10:35:13 gzip4 annotated #94692 "untitled" at http://paste.lisp.org/display/94692#1 10:35:22 joga: what, it's actually significant exercise? 10:35:49 Ralith: yes, extremely, although mostly on the legs 10:36:18 joga: ooh, maybe I should get in on that. 10:36:22 I think the only other situation I've been sweating in such a profuse way was in the army 10:36:25 *Ralith* is far too physically idle 10:36:31 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 10:36:35 gzip4 annotated #94692 "untitled" at http://paste.lisp.org/display/94692#2 10:37:01 gets your blood flowing at least :) it just takes some practice so you can step smoothly and not hurt yourself 10:37:22 (and to memorize the songs a bit so it's more fun) 10:37:31 -!- freiksenet [~freiksene@pub-nat.haaga-helia.fi] has quit [Quit: Leaving.] 10:37:51 freiksenet [~freiksene@pub-nat.haaga-helia.fi] has joined #lisp 10:37:53 lichtblau: what if i just post an url to this test case to mailing list? 10:38:19 leadnose [leadnose@xob.kapsi.fi] has joined #lisp 10:39:46 gzip4: that would be nice 10:40:19 lichtblau: okay :) 10:40:27 -!- mstevens [~mstevens@eris.etla.org] has quit [Quit: leaving] 10:40:30 slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has joined #lisp 10:41:17 Is there anyway for code to check whether it's running from a saved image in SBCL? 10:42:05 aerique: I don't know of a proper way, but one way i came up with was to add a special that's initialized from an sb-ext:*init-hooks* function. 10:42:07 I'm playing with eval-when but can't figure it out. 10:42:25 Xach: thanks, i'll take a look at that 10:42:25 sb-ext:*init-hooks* is run from a saved core load 10:42:27 aerique: i have something for you in XE2 10:42:29 awetawet [~aewtawet@110-174-4-223.tpgi.com.au] has joined #lisp 10:42:38 Sumpen [~Sumpen@81-232-77-93-no46.tbcn.telia.com] has joined #lisp 10:42:39 -!- awetawet [~aewtawet@110-174-4-223.tpgi.com.au] has quit [Remote host closed the connection] 10:42:43 aerique: i checked for that somewhere... 10:42:54 aerique: why do you need that? 10:43:35 Ralith: i don't know why aerique needs it, but i needed it to add a special debugger when running from a core vs normal interactive development 10:44:11 for http://paste.lisp.org/display/94659 10:45:14 Ralith: what Xach said, I need to get around some SBCL 1.0.19 idiosyncrasies and need a variable set and function run when the code is not running from an image. 10:46:50 daniel_ [~daniel@p5082CC13.dip.t-dialin.net] has joined #lisp 10:47:10 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 10:47:24 -!- kenjin2201 [~kenjin@220.120.43.80] has quit [Ping timeout: 252 seconds] 10:47:39 aerique: I seem to remember something along the lines of #+slime 10:47:45 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 10:47:50 DrunkTomato [~DEDULO@ext-gw.wellcom.tomsk.ru] has joined #lisp 10:48:10 -!- daniel [~daniel@p5082DB41.dip.t-dialin.net] has quit [Read error: Operation timed out] 10:52:03 kenjin2201 [~kenjin@220.120.43.80] has joined #lisp 10:54:11 dia100daly [~sdiawara@212.99.78.121] has joined #lisp 10:54:58 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 10:56:26 pkhuong [~pkhuong@modemcable238.100-176-173.mc.videotron.ca] has joined #lisp 10:56:55 -!- pkhuong is now known as Guest23821 10:57:52 adeht pasted "picture using series" at http://paste.lisp.org/display/94694 11:00:36 -!- dcrawford [~dcrawford@ita4fw1.itasoftware.com] has quit [Ping timeout: 252 seconds] 11:00:36 I've two questions about this (i) is there a nicer way of using series to do this? (ii) if I supply STRING type to the second scan, SBCL will (rightly) complain because series declares a variable as of type character, when in fact it is nil at some point.. any advice? 11:01:56 puddingpimp [~dave@118-92-138-78.dsl.dyn.ihug.co.nz] has joined #lisp 11:03:08 ichernetsky [~ichernets@port-163-adslby-pool46.infonet.by] has joined #lisp 11:03:25 -!- ve [~a@vortis.xen.tardis.ed.ac.uk] has quit [Ping timeout: 264 seconds] 11:04:31 does anyone here do some keymap mod to type ( ) unshifted, and if so what do you swap? 11:04:52 puddingpimp: I swap [ and ]. 11:04:59 I'm looking at my Amiga A1200 and it has ( ) unshifted keys on the keypad, and I'm getting jealous std pc keyboard don't 11:05:35 actually the A1200 keyboard in general is better than most pc keyboards, except a bit short on Fkeys 11:06:15 puddingpimp, I use dvorak, with () and <> swapped 11:06:45 aerique, that's what I was thinking, are the [ ] brackets used often in cl, I can't remember using them in el 11:07:00 *square braces 11:07:07 puddingpimp: not in normal cl 11:07:09 -!- emma_ [~em@unaffiliated/emma] has quit [Ping timeout: 240 seconds] 11:07:28 leo2007 [~leo@smaug.linux.pwf.cam.ac.uk] has joined #lisp 11:07:36 does seem a reasonable swap then, as long as I remember when I switch to writing PLsql and C 11:08:33 just use shift+90 then 11:08:42 in normal CL, [ and ] are used only in format control strings 11:08:42 it's not like they're ever very frequent characters 11:08:45 mind in those, brackets are used more than braces too 11:09:13 dcrawford [~dcrawford@ita4fw1.itasoftware.com] has joined #lisp 11:09:27 why on earth did IBM make the US layout this way, it seems daft 11:10:10 I suppose in text documents you often use braces for references and paraphrases 11:10:36 *puddingpimp* re-reads xmodmap manpage 11:12:02 *hefner* has took a recent liking to abusing [] in symbol names; named a variable SIN[PHI/2] earlier today 11:12:48 -!- nunb [~nundan@203.197.80.145] has quit [Quit: Leaving] 11:12:48 strange, X11 calls [ a bracket, { a brace, and ( a paren(thesis) 11:13:08 as does everyone else. 11:13:12 I knew ( are parenthesis, but where I live they are commonly referred to brackets 11:13:28 and { are called curly braces, [ are called braces :( 11:13:53 at least, many years of high school maths taught me to call parenthesis brackets 11:14:38 alan`` [~alan@n11649161077.netvigator.com] has joined #lisp 11:16:04 minion: recommend cl packages 11:16:04 does torturing a poor bot with things beyond its comprehension please you? 11:18:04 leo2007: http://weitz.de/ has some very useful CL things 11:18:41 -!- kenjin2201 [~kenjin@220.120.43.80] has quit [Ping timeout: 258 seconds] 11:19:33 Xach: thanks. 11:19:53 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #lisp 11:20:38 rdd` [~rdd@c83-250-52-182.bredband.comhem.se] has joined #lisp 11:20:50 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 252 seconds] 11:22:31 Beetny` [~Beetny@ppp118-210-106-53.lns20.adl2.internode.on.net] has joined #lisp 11:22:41 -!- rdd [~rdd@c83-250-52-182.bredband.comhem.se] has quit [Ping timeout: 260 seconds] 11:23:27 done :] 11:23:58 adios 11:24:02 -!- puddingpimp [~dave@118-92-138-78.dsl.dyn.ihug.co.nz] has quit [Quit: Leaving] 11:24:03 -!- Beetny [~Beetny@ppp118-210-34-7.lns20.adl2.internode.on.net] has quit [Ping timeout: 258 seconds] 11:26:00 adeht annotated #94694 "second try" at http://paste.lisp.org/display/94694#1 11:27:00 I hav e c library I try to use in lisp wtih cffi. A function is said to return bool (it uses stdbool.h), but it returns something like #.(SB-SYS:INT-SAP #XB7F7B300) 11:27:33 On a mac, the OpenGL framework is only 19M 11:27:47 knobo: you need to show your bindings, sounds like you have defined the function to return a pointer 11:27:49 doesn't seem huge. 11:27:56 -!- rdd` is now known as rdd 11:28:16 aerique: you're right. 11:29:35 kenjin2201 [~kenjin@220.120.43.80] has joined #lisp 11:30:29 -!- kenjin2201 [~kenjin@220.120.43.80] has quit [Client Quit] 11:30:45 kenjin2201 [~kenjin@220.120.43.80] has joined #lisp 11:33:18 -!- mega1 [~quassel@pool-04345.externet.hu] has quit [Ping timeout: 252 seconds] 11:33:49 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 11:40:39 -!- dia100daly [~sdiawara@212.99.78.121] has quit [Quit: Leaving.] 11:45:05 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 11:45:19 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 11:46:09 -!- sepult [~user@xdsl-87-78-25-217.netcologne.de] has quit [Read error: Connection reset by peer] 11:47:19 sepult [~user@xdsl-87-78-25-217.netcologne.de] has joined #lisp 11:48:16 what's a nice way (where it is easy to see that the implementation is correct) to split up a string into upper case and lower case subsequences? 11:48:32 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 11:48:46 the loopish way going char-by-char is not so nice, but I can't come up with anything better 11:51:44 I'd use a regex. (cl-ppcre:all-matches-as-strings "[a-z]+|[A-Z]+" "fooBARbaz") 11:52:49 lichtblau, hmm that's a correct answer 11:53:31 levente_meszaros: you can extract just the upper or lower case subseqs with split-sequence:split-sequence-if 11:53:41 emma [~em@unaffiliated/emma] has joined #lisp 11:53:57 -!- rdd [~rdd@c83-250-52-182.bredband.comhem.se] has quit [Ping timeout: 260 seconds] 11:55:49 lichtblau, how would you handle non ascii characters? 11:56:00 blah, er... I mean non letters 11:56:36 Using one of the fancy p{...} character classes that cl-ppcre got when it started being based on cl-unicode, I think. 11:57:27 also useful: (iter (cl-ppcre:do-register-groups (lower upper) ("([a-z]+)|([A-Z]+)" "fooBARbaz") (cond (lower (collect lower :into a)) (upper (collect upper :into b)))) (return (values a b))) => ("foo" "baz"); ("BAR" ) 11:58:31 -!- beaumonta [~abeaumont@85.48.202.13] has quit [Ping timeout: 245 seconds] 11:58:52 levente_meszaros: what's wrong with going char-by-char? 11:59:39 lichtblau, that resulting lists must cover the whole input, there might be non letter characters, etc. 11:59:44 -!- alan`` [~alan@n11649161077.netvigator.com] has left #lisp 11:59:49 Ralith, that's just ugly and superfluous 12:00:16 levente_meszaros: "superfluous?" 12:00:29 in the sense of complexity 12:00:30 I would consider dragging in all of cl-ppcre for such a simple case to be pretty superfluous. 12:00:37 cl-ppcre isn't simple. 12:01:08 Ralith, I never consider reusing code superfluous, I rather consider maintaining redundant code superfluous 12:01:19 and boring, and error prone, etc. 12:01:23 gzip4 pasted "single-threaded variant" at http://paste.lisp.org/display/94697 12:01:51 levente_meszaros: what should happen for caseless characters? lumped in with the current run, or set off on their own? 12:01:58 levente_meszaros: calling this redundant to cl-ppcre is akin to calling format redundant to LaTeX. 12:02:04 it depends on what you think is easier to assure correctness 12:02:25 if you're willing to define your correctness criterion as "whatever cl-ppcre thinks is the case of a character is fine", then use cl-ppcre 12:02:31 lichtblau: sorry for annoying, but couldn't you look at the paste? 12:02:39 hi Xof! i really like michaelw's logical pathname translation loading patch. is that something you'd consider committing? 12:03:08 Xach, set off on their own would be desirable 12:03:25 so in fact there are three categories 12:03:28 levente_meszaros: a better solution would be to modify split-sequence, which much more closely fits your use-case, to behave as desired. 12:03:42 but the original sequence must be reproducible by concatenating the result 12:03:59 Xach: sure, but as I said on sbcl-devel, I have no time or energy to spend on sbcl development until May 12:04:36 if no-one else has dealt with that in the interim, ask me again in three months 12:04:39 -!- madnificent [~madnifice@83.101.62.132] has quit [Read error: Connection reset by peer] 12:04:39 Xof: ok, thanks. 12:05:12 Xof: pkhuong declined on the grounds he doesn't do pathnames. i'll see if i can find someone else to take an interest. 12:05:28 madnificent [~madnifice@83.101.62.132] has joined #lisp 12:10:01 (cl-ppcre::all-matches-as-strings "\\p{Ll}+|\\p{Lu}+|[^\\p{L}]+" text) 12:11:54 beaumonta [~abeaumont@85.48.202.13] has joined #lisp 12:12:46 gzip4: I see the paste. What's the question? I'm assuming it's about the same bug. 12:12:54 (are you working on cl-xmpp?) 12:16:56 lichtblau: no, i open xmpp-connection by hand 12:17:24 Xof: while reading your talk http://www.doc.gold.ac.uk/~mas01cr/talks/2009-05-28%20Milan/slides.pdf, I quite like your beamer style. I wonder if I may have a copy? 12:18:45 lichtblau: the question is would it work with sb-sys:with-deadline 12:20:41 leo2007: http://rvw.doc.gold.ac.uk/sullivan/git/texmf.git/ 12:20:44 no support 12:21:06 lichtblau: i'm working on client-server app whos transport is an xmpp protocol 12:21:27 Xof: thanks. I know a bit of tex. 12:23:29 -!- daniel_ is now known as daniel 12:23:34 -!- Beetny` [~Beetny@ppp118-210-106-53.lns20.adl2.internode.on.net] has quit [Read error: Connection reset by peer] 12:24:45 I'm using sbcl on linux, and I'd like to create a window and plot some graphs on it 12:25:05 are there any recommendations for the easiest and/or best route for this? 12:26:03 spacebat: i've done that in the past by writing out a data file and using sb-ext:run-program on gnuplot. 12:26:08 I just did a clbuild install clg however it doesn't seem to put any symlinks in the clbuild/systems dir 12:26:36 gnuplot isn't what I was hoping for, but it would do the job 12:27:44 There's cl-plplot 12:27:51 gzip4: not certain. What is your motivation for using deadlines? 12:28:01 I was thinking of one of the image generation libs and then viewing it in a browser 12:28:15 -!- mejja [~user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.0.14/2009090900]] 12:28:21 but figured it can't be that hard to throw up a window and draw some pixels on it live :) 12:28:31 I'll look at plplot 12:28:53 -!- spradnyesh [~pradyus@nat/yahoo/x-gdcapxkdtlbwsxpz] has left #lisp 12:29:22 oh that's pretty :) 12:30:02 I think Example 31 is the best -> http://plplot.sourceforge.net/examples.php?demo=31 12:31:14 I was going to try cl-plplot, but it requires a version of plplot that is greater than the one on RHEL and I don't feel like building it. 12:31:55 c|mell [~cmell@cpc3-colc5-0-0-cust193.colc.cable.ntl.com] has joined #lisp 12:32:52 lichtblau: maybe i don't need deadline on mutex-locked queue, but (if i get it right) i don't need unknown time blocking on read next xmpp stanza 12:33:28 tmh: the developer of cl-plplot is responsive you get a reply on the same day if you send him an email. 12:33:53 hugod [~hugod@bas1-montreal50-1279440411.dsl.bell.ca] has joined #lisp 12:34:40 spradnyesh [~pradyus@nat/yahoo/x-gdykmddgjhujnkch] has joined #lisp 12:34:51 lichtblau: so i allow some small time to be blocked on stream, but no more 12:35:17 lichtblau: maybe i misunderstand what that deadline is for... 12:36:27 cow-orker [~foobar@pogostick.net] has joined #lisp 12:37:41 I think deadlines are most attractive for ensuring that dead connections (including clients trying to tarpit you) can't hold up your resources forever. 12:38:45 What they are not is a substitute for a proper I/O multiplexing loop, like iolib provides. 12:39:10 hi all 12:39:13 lichtblau: i have just one connection, to an xmpp-server 12:39:17 I have a question about building SBCL 12:39:34 I checked out the latest git, run install.sh 12:39:50 and I have my built SBCL in /usr/local/bin/sbcl 12:40:04 when I run this, it cannot find package ASDF 12:40:05 lichtblau: i just don't know what to do if i have nothing to read and nothing to send 12:40:42 nowhereman: what error do you get? 12:41:14 then your event loop is idle, waiting for the next message to come in. 12:41:18 sepult` [~user@xdsl-87-78-25-71.netcologne.de] has joined #lisp 12:41:24 -!- sepult` [~user@xdsl-87-78-25-71.netcologne.de] has quit [Read error: Connection reset by peer] 12:41:27 SB-INT:SIMPLE-READER-PACKAGE-ERROR in my .sbclrc 12:41:33 package "ASDF" not found 12:41:34 lichtblau: i need to block, but i cannot do it on read i/o and send-queue simultaneously 12:41:38 nowhereman: did you (require 'asdf) first? 12:41:53 Xach: no 12:42:05 OK, I supposed it was included in the built core 12:42:09 nowhereman: if you do not (require 'asdf), symbols that have the asdf package prefix can't be read. 12:42:10 myu2_ [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 12:42:29 lichtblau: what do you mean loop is idle? eat my processor? 12:42:39 OK, I'm used to running Debian SBCL, which has ASDF already loaded 12:42:52 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Read error: No route to host] 12:42:59 okay, so you need an event loop that also supports receiving and sending stuff from a queue class. Is that a queue to another thread? Socket to another process? 12:43:31 nowhereman: welcome to Raw SBCL! 12:43:35 *Xach* likes raw sbcl 12:43:58 -!- sepult [~user@xdsl-87-78-25-217.netcologne.de] has quit [Ping timeout: 265 seconds] 12:44:00 mega1 [~quassel@53d82d4d.adsl.enternet.hu] has joined #lisp 12:44:03 OK, works fine with --no-userinit 12:44:05 thanks 12:44:32 -!- myu2_ [~myu2@161.90.128.210.bf.2iij.net] has quit [Read error: Connection reset by peer] 12:44:52 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 12:44:58 sepult [~user@xdsl-87-78-25-71.netcologne.de] has joined #lisp 12:48:55 -!- morphling [~stefan@gssn-5f757fbc.pool.mediaWays.net] has quit [Remote host closed the connection] 12:51:34 lichtblau: yes, queue is filled by other threads, socket to another process, maybe remote 12:52:40 I'd like to pass that question on to fe[nl]ix, because I'm also interested in it. 12:52:58 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Read error: Operation timed out] 12:54:06 Possible strategies that I see are: When adding to a queue, wake up waiting event loops using a unix signal. Or have a dummy pipe between the threads, with a single-byte write used to wake the event loop. 12:54:11 Which one is better? 12:54:26 i like the dummy pipe! 12:54:34 *Xach* has not used it in practice, though, nor signals 12:55:13 how about using waitqueue/semaphores? 12:55:45 jdz: do the major I/O multiplexing APIs like epoll and select support that? 12:55:55 hey lichtblau, you can use realtime signals with signalfd to combine signal receiving in a normal epoll event loop 12:56:13 lichtblau: well, i was referring to the "when adding to the queue" part 12:56:53 lichtblau: when you add something to a queue, you just signal/notify the waitqueue/semaphore 12:57:22 lichtblau: so the other thread(s) wake up and do their job 12:58:00 for now my queue uses jdz's variant 12:58:14 Weird. I've been interested in a CL binding to the Visualization Toolkit(VTK) for a while. It's written in C++, so I'm looking at CFFI, then at Verrazano, then at GCC-XML which brings me back to Kitware that develops the VTK, full circle. 12:58:29 but for the opposite direction )) 12:58:37 -!- Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has quit [Quit: Leaving] 13:00:38 Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has joined #lisp 13:01:32 when i read a request i put it into the recv-queue, waking up workers to handle it 13:02:59 worker produces response and put it into the send-queue, but i don't need the sender thread be woken 13:03:43 -!- hefner [~hefner@ppp-58-9-113-191.revip2.asianet.co.th] has quit [Ping timeout: 258 seconds] 13:04:07 udzinari [~user@nat/ibm/x-aipxznwmcvbzlnef] has joined #lisp 13:04:34 event loop checks send-queue and sends all it contains out 13:05:20 -!- kpreid [~kpreid@216-171-189-244.northland.net] has quit [Quit: kpreid] 13:06:09 hefner [~hefner@ppp-58-9-119-116.revip2.asianet.co.th] has joined #lisp 13:08:27 -!- DrunkTomato [~DEDULO@ext-gw.wellcom.tomsk.ru] has quit [] 13:09:14 I use swig to generate cffi. There are a functions that returns bool, but swig generates functions that returns :pointer. I'm trying to force it to use :boolean with %typemap(cout) bool ":boolean"; but it does not work. I only get :pointer 13:12:01 paste the prototype of one of these functions that return bool 13:12:18 amaron [~amaron@cable-89-216-169-165.dynamic.sbb.rs] has joined #lisp 13:12:24 -!- udzinari [~user@nat/ibm/x-aipxznwmcvbzlnef] has quit [Read error: Connection reset by peer] 13:12:27 DrunkTomato [~DEDULO@ext-gw.wellcom.tomsk.ru] has joined #lisp 13:12:38 -!- CrEddy [~CrazyEddy@wrongplanet/CrazyEddy] has quit [Ping timeout: 272 seconds] 13:13:56 -!- emma [~em@unaffiliated/emma] has quit [Read error: Connection reset by peer] 13:14:03 -!- cmeow [cmeow@happy.happy.vhost.shellium.org] has quit [Remote host closed the connection] 13:15:02 bool tcadbopen(TCADB *adb, const char *name); 13:15:44 meric [~Eric@124-171-36-3.dyn.iinet.net.au] has joined #lisp 13:16:41 emma [~em@unaffiliated/emma] has joined #lisp 13:17:23 Hi, I'm learning lisp, thought I might as well write a better version of lualisp (found on google), especially since it doesn't work quite right it'll be my chance to make it better. Its a lisp interpreter in lua with a 52kb source code. My question is... it parses S expressions character by character... Is this what you do too, when implementing a lisp interpreter IN lisp? 13:17:48 I'd like to avoid that if I could... and use lua patterns (like regex) and just split by spaces and parentheses or something... 13:18:04 clhs read 13:18:04 http://www.lispworks.com/reference/HyperSpec/Body/f_rd_rd.htm 13:18:12 we just use that :) 13:18:24 @@ ok lol 13:19:23 Athas` [~athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 13:19:25 meric: there is no other way, really. the code is stored in bytes, you know. 13:19:45 ok... I'll have to read each byte then 13:20:18 well, those bytes somehow represent characters, and you want characters, really :) 13:20:38 lol alright 13:20:39 bytes build character 13:21:06 -!- Athas [~athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Ping timeout: 248 seconds] 13:21:42 does this mean people will be writing WoW scripts in lisp 13:22:26 @@ I'm not a WoW scripter... 13:22:36 but that would be interesting to see 13:22:53 borism [~boris@213-35-234-36-dsl.end.estpak.ee] has joined #lisp 13:23:09 meric: the CL reader can be customized, so for CL, it's only reasonable to read a character at a time and call the reader function appropriate for that character. 13:23:12 i know one person who did not write WoW addons until he wrote Lisp-in-Lua; and he failed to write that because he had to play WoW 13:23:38 meric: for other lisps there may be other reasonable strategies 13:23:44 its a vicious (meta-)cycle 13:23:54 pardon the presumption meric 13:23:56 xach : I see... 13:23:58 sysop_fb [~bleh@80.255.39.35] has joined #lisp 13:24:01 what do you use lua for? 13:24:04 jdz: lol 13:24:18 a 2d game engine.... @ love2d.org 13:24:23 ok 13:24:42 there's an extension, metalua that is supposed to have nifty macros 13:24:54 not that I've toyed with either that or lua 13:25:33 Im bored of doing textbook exercises so i thought I'll try implement lisp/scheme instead... 13:25:58 -!- ace4016 [ace4016@cpe-76-170-134-79.socal.res.rr.com] has quit [Quit: night] 13:26:33 metalua doesn't look good to me so I haven't tried it. 13:26:38 CrEddy [~CrazyEddy@wrongplanet/CrazyEddy] has joined #lisp 13:26:59 I figure it out 13:27:17 I have to typemap... _Bool, not bool. Then it works :) 13:27:32 -debug-typemap is a good idea :) 13:27:41 -!- freiksenet [~freiksene@pub-nat.haaga-helia.fi] has quit [Read error: Operation timed out] 13:28:10 I'm learning swig :) that great. 13:28:19 *knobo* like learning 13:28:50 me big. me smash you with my club. 13:29:11 sorry, could not resist. 13:29:14 ok 13:29:22 :) 13:30:06 maybe I should learn english also :) 13:32:25 ARC137 [~chatzilla@60.186.175.122] has joined #lisp 13:34:39 gzip4 annotated #94697 "single-threaded variant (full)" at http://paste.lisp.org/display/94697#1 13:34:49 -!- spradnyesh [~pradyus@nat/yahoo/x-gdykmddgjhujnkch] has quit [Remote host closed the connection] 13:35:21 A lot of these function wants "const char*" and not just "char*", does that affect the way I allocate srings in my cffi library? 13:35:54 lichtblau: this is a full code and it seems it works fine 13:37:16 kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has joined #lisp 13:39:52 gzip4: mixing tabs with spaces annoys people, including me. 13:40:26 -!- drewc [~drewc@89.16.166.162] has quit [Remote host closed the connection] 13:40:26 -!- hefner [~hefner@ppp-58-9-119-116.revip2.asianet.co.th] has quit [Read error: Connection reset by peer] 13:40:57 gzip4: and there is only one sane value for tab-width: 8 13:41:00 http://www.emacswiki.org/pics/static/TabsSpacesBoth.png 13:41:00 jdz: sorry, i c-n-p from my emacs (( 13:42:00 gzip4: yes, and i'm telling that your emacs is configured wrong :) 13:43:08 gzip4, (setq indent-tabs-mode nil) in your .emacs, and put at the top of your lisp files ;;;; -*- indent-tabs-mode: nil -*- 13:43:11 that's the best thing about emacs, there are so many ways to configure it wrong 13:43:13 Anyone know why CFFI::FOREIGN-ARRAY-TO-LISP is not exported? 13:43:49 sorry.. I might know this myself.. 13:44:05 Adlai: thanx a lot :) 13:46:33 -!- RaceCondition [~RaceCondi@85.253.73.94.cable.starman.ee] has quit [Ping timeout: 276 seconds] 13:46:47 -!- meric [~Eric@124-171-36-3.dyn.iinet.net.au] has quit [Quit: meric] 13:47:03 Odin- [~sbkhh@s121-302.gardur.hi.is] has joined #lisp 13:49:12 20QAAEKS1 [~dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 13:50:27 -!- legumbre_ is now known as legumbre 13:50:41 bytecolor [~user@adsl-71-137-193-55.dsl.scrm01.pacbell.net] has joined #lisp 13:51:27 rotty [~rotty@nncmain.nicenamecrew.com] has joined #lisp 13:51:51 sierinjs [~root@unaffiliated/sierinjs] has joined #lisp 13:54:30 Ha!: http://csclub.uwaterloo.ca/contest/visualizer.php?game_id=3522740 13:54:40 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Remote host closed the connection] 13:56:02 LiamH [~nobody@pool-72-75-123-60.washdc.east.verizon.net] has joined #lisp 13:56:07 aerique: very exciting. strategy. :) 13:57:10 aerique: congratulations! what is the prize? 13:57:24 jleija [~jleija@adsl-243-224-153.chs.bellsouth.net] has joined #lisp 13:57:32 aerique: and that does not look anything like random 13:58:32 jdz: no, this time it's a bot that just heads straight for the enemy 13:59:01 -!- konr```` is now known as konr 13:59:11 Xach: I have no idea what the prize is. I think they're still debating that. This bot definitely won't be nr.1 though! 13:59:43 dia100daly [~sdiawara@212.99.78.121] has joined #lisp 13:59:52 hello 14:01:00 -!- dia100daly [~sdiawara@212.99.78.121] has left #lisp 14:01:19 gzip4 annotated #94697 "single-threaded variant (full) (revised)" at http://paste.lisp.org/display/94697#2 14:01:47 damn i wish i had access to more readtable informatino 14:01:48 dia100daly [~sdiawara@212.99.78.121] has joined #lisp 14:02:07 hello 14:02:29 dia100daly: you want everybody to say hello to you? 14:03:05 no 14:03:06 -!- Kolyan [~nartamono@95-26-154-158.broadband.corbina.ru] has quit [Ping timeout: 240 seconds] 14:03:19 -!- gzip4 [~xxx@78.108.73.250] has quit [Read error: Connection reset by peer] 14:03:27 I want to know how to make a clos protocol 14:03:34 gzip4 [~xxx@78.108.73.250] has joined #lisp 14:03:41 rrice [~rrice@99.51.95.162] has joined #lisp 14:03:50 hope this last paste does not annoy anyone... 14:03:57 dia100daly: you define classes and generic functions. 14:04:29 gzip4: a lot better :) 14:04:43 -!- hugod [~hugod@bas1-montreal50-1279440411.dsl.bell.ca] has quit [Quit: hugod] 14:04:50 -!- Guest23821 is now known as pkhuong 14:05:47 jdz: ok . I want to make one architecture for existing project. 14:05:48 jdz: i've never left my sandbox before, please forgive me ;) 14:05:53 Yuuhi [benni@p5483DC5A.dip.t-dialin.net] has joined #lisp 14:06:35 hefner [~hefner@ppp-58-9-119-116.revip2.asianet.co.th] has joined #lisp 14:09:48 -!- ineiros [~itniemin@84.249.39.103] has quit [Ping timeout: 260 seconds] 14:10:48 dia100daly: you are being amazingly articulate and informative 14:10:49 lichtblau: i have one more important question, what if reading from the stream would be interrupted in the middle of xmpp stanza, the connection becomes invalid 14:10:58 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 252 seconds] 14:12:29 billstclair [~billstcla@gw3.tacwap.org] has joined #lisp 14:12:29 -!- billstclair [~billstcla@gw3.tacwap.org] has quit [Changing host] 14:12:29 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 14:13:02 emma [~em@unaffiliated/emma] has joined #lisp 14:16:04 carlocci [~nes@93.37.193.231] has joined #lisp 14:16:29 Xof, fyi, i have a use-case your inheritable structures hack in a performance critical code... (in hu.dwim.computed-class, would allow a nice cleanup without losing performance) 14:16:32 Blkt [~user@160.80.132.50] has joined #lisp 14:18:17 charlie` [~user@c-68-53-57-241.hsd1.tn.comcast.net] has joined #lisp 14:18:24 -!- charlie` is now known as tsuru` 14:18:27 -!- ARC137 [~chatzilla@60.186.175.122] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.5.7/20091221152502]] 14:20:58 hrm, so defgeneric/defmethod parameters are tied to type, not arbitrary logic tests? 14:21:38 Demosthenes: they are tied to class 14:22:01 yeah, so i can't define one with a parameter that says (x (> x 1)) 14:22:05 Demosthenes: Xof has worked on making it not tied to class. 14:22:52 minion, tell Demosthenes about filtered functions 14:22:53 Demosthenes: please see filtered functions: Filtered functions provide an extension of generic function invocation that add a simple preprocessing step before the actual method dispatch is performed and thus enable the use of arbitrary predicates for selecting and applying methods. http://www.cliki.net/filtered%20functions 14:22:56 and there was also a library that could do that... 14:23:05 yes, that 14:23:11 ooo! 14:23:19 http://www.google.com/search?hl=en&q=christophe+rhodes+dispatch+clos has some info also 14:23:43 the basic idea was to not write a big cond statement to handle records of diff versions... just include the version ID and let lisp kick off the right function 14:25:07 otherwise, i could just use a dispatch table... 14:25:09 -!- bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has quit [Ping timeout: 260 seconds] 14:26:01 TDT [~dthole@dhcp80ff865b.dynamic.uiowa.edu] has joined #lisp 14:28:00 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 272 seconds] 14:29:42 cvandusen [~user@12.185.80.194] has joined #lisp 14:30:58 Demosthenes: AITR 2001-006 'Predicate Dispatching in the Common Lisp Object System'. Although, I think filtered functions matches your use case better. 14:31:18 nyef [~nyef@pool-64-222-146-224.man.east.myfairpoint.net] has joined #lisp 14:31:27 G'morning all. 14:31:42 Morning nyef 14:31:48 bew [~bew@cpc2-dals16-2-0-cust285.hari.cable.virginmedia.com] has joined #lisp 14:31:50 aerique: what sbcl version are they running on the tron server? 14:32:05 pavelludiq [~quassel@87.246.12.167] has joined #lisp 14:32:06 emma [~em@unaffiliated/emma] has joined #lisp 14:32:20 mega1: 1.0.18.debian 14:32:25 ew 14:32:33 "tron server"? First thing that comes to mind is that desk and the jumped-up chess program... 14:32:42 aerique: does that have threads? 14:33:06 schaueho [~user@89.204.137.97] has joined #lisp 14:33:12 mega1: i don't know, the debian release usually does but I'm not sure on such an old one 14:33:19 I'll check. 14:33:26 mega1: i assume it's in stable? 14:33:40 -!- dia100daly [~sdiawara@212.99.78.121] has left #lisp 14:33:54 -!- schaueho [~user@89.204.137.97] has left #lisp 14:34:08 yes, it has threads 14:34:24 attila_lendvai: glad to hear it, be my guest 14:34:25 on x86 at least 14:34:31 mega1: also they're ambiguous about threads being allowed: http://csclub.uwaterloo.ca/contest/contest_information.php 14:34:40 aerique: but is it on x86? 14:34:53 mega1: there it says it's not allowed but if you read their forums it becomes unclear 14:35:10 mega1: i don't know :-| 14:36:07 mega1: i've thought about making a bot that signals me things i want to know about the server ("go right if it's x86") 14:36:38 that's a good idea. 14:36:43 bobbysmith007 [~russ@216.155.97.1] has joined #lisp 14:37:40 mega1: maybe just asking on the forums would work as well :) but they're secretive about some things 14:37:49 (or just very busy, i don't know) 14:38:17 it should cat /proc/cpuinfo to the playing field :) 14:38:33 hugod [~hugod@207.96.182.162] has joined #lisp 14:38:56 -!- bew [~bew@cpc2-dals16-2-0-cust285.hari.cable.virginmedia.com] has quit [Quit: bew] 14:39:33 mega1: :) I've been trying to get to my submissions e-mail to clean some info from that but my ISP isn't cooperating. 14:39:42 *glean 14:39:58 bew [~bew@cpc2-dals16-2-0-cust285.hari.cable.virginmedia.com] has joined #lisp 14:40:03 -!- kuwabara [~kuwabara@cerbere.qosmos.com] has quit [Ping timeout: 252 seconds] 14:40:31 -!- bew [~bew@cpc2-dals16-2-0-cust285.hari.cable.virginmedia.com] has quit [Client Quit] 14:40:38 istm they should just mask away all but 1 processor for the bots, instead of introducing arbitrary and ill-enforceable restrictions on the use of threads. 14:40:50 mega1: no cpu info to be gathered from that 14:41:05 Xof, err, i've thought that's only work in progress... did i miss something? where is it available? or where can i find more info, like usage examples? 14:41:20 "ill-enforcable"? Just prevent the bot process from using fork(), clone(), pthread_create(), etc. 14:41:36 nyef: i think they do that already 14:41:48 -!- CyberBlue [~yong@111.167.17.98] has quit [Quit: Leaving] 14:42:04 nyef: direct syscalls :p 14:42:06 If you can't create a second thread or process, how are you going to multithread? 14:42:15 pkhuong: That's what I mean. Prevent that. 14:42:35 I know a method to do so, though it has some overhead to it. 14:42:39 and how about implementations that always want to spawn book keeping threads. 14:43:01 They lose? 14:43:36 having visited the forums it seems relatively safe to say that the organizers suck at organizining. 14:43:53 And why do they give an advantage to implementations that offer green threads, when all the user wants is concurrency? 14:44:05 mega1: have you ever organised such a thing? It's impossible not to lose at it. 14:44:26 -!- kwinz3 [kwinz@d86-33-115-99.cust.tele2.at] has quit [Remote host closed the connection] 14:44:35 sure, and also impossible not to complain. 14:45:27 -!- OmniMancer [~OmniMance@122-57-4-252.jetstream.xtra.co.nz] has quit [Quit: Leaving.] 14:45:31 Actually, I can think of one counter example: koth.org and now sal work fine for corewar. We've also had more than 2 decades to get them running. 14:45:34 but it certainly looks as if they hadn't really thought things over. 14:45:44 bew [~bew@cpc2-dals16-2-0-cust285.hari.cable.virginmedia.com] has joined #lisp 14:46:02 pkhuong: Sure, but aren't they running -one particular- VM? 14:46:37 -!- jtza8 [~jtza8@41.208.192.161] has quit [Ping timeout: 260 seconds] 14:46:46 nyef: we run a couple local branches too (I think we're with qmars now). 14:47:13 But yeah, it's *our* code, and after that there aren't any restriction. 14:49:02 -!- kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has quit [Quit: kpreid] 14:52:30 blandest [~blandest@softhouse.is.ew.ro] has joined #lisp 14:54:06 -!- Tonijz [~tonijs@85.254.194.65] has quit [Quit: Leaving] 14:54:19 -!- blandest [~blandest@softhouse.is.ew.ro] has left #lisp 14:56:07 kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has joined #lisp 14:59:25 -!- cow-orker [~foobar@pogostick.net] has quit [Remote host closed the connection] 15:01:45 H4ns [~Hans@pD4B9E1F5.dip.t-dialin.net] has joined #lisp 15:03:24 kuwabara [~kuwabara@cerbere.qosmos.eu] has joined #lisp 15:06:04 heh dvorak is seriously killing my brain...spent maybe...um...4-5 hours in the last day doing typing tutor in every moment of my free time 15:06:45 The learning curve on a new layout is insane. Probably not helping being at work typing qwerty in the meantime 15:06:50 If it's cutting into your Lisp time, avoid it. 15:06:50 i'd understand if you were complaining about your fingers... 15:07:20 Yeah, I'm still confident the change will be good - just it is pretty drastic of a change. 15:07:37 bokr [~eduska@95.154.102.124] has joined #lisp 15:07:48 and yeah Xach, I may have to if it gets too close to when my project is due and I haven't finished it because of the layout...and it's being done in lisp so yeah :) 15:08:00 yes it's very cool when somebody leans and starts typing on your keyboard to show off and then realizes he's typing crap. 15:08:07 TDT: I would much rather talk about your lisp project than your typing crisis 15:08:17 WOG [~OsamaBinW@66-168-47-22.dhcp.nwtn.ct.charter.com] has joined #lisp 15:08:20 Ugh. Can't FIND-SYMBOL because it is in another package. I kept compiling the form and then getting confused when I couldn't find it in the REPL. 15:08:50 tmh: i don't think i've ever used the one-argument form of find-symbol. 15:09:16 freiksenet [~freiksene@hoasnet-fe29dd00-202.dhcp.inet.fi] has joined #lisp 15:09:45 Xach: I'm mucking around with FIND-SYMBOL and FIND-CLASS on the REPL, I would probably specify the package if it were in actual code. 15:10:04 -!- varjag is now known as varjagg 15:12:08 -!- drwho [~d@c-98-225-208-183.hsd1.pa.comcast.net] has quit [Ping timeout: 256 seconds] 15:12:29 Xach: heh, well in short the project I'm working on is for AI - doing a game called oware - the specific parts for the homework are to implement the mini-max and alpha-beta mini-max algorithms to pass a board, and to return the best move possible using the two algorithms. 15:12:44 -!- slather [~slather@haybaler.sackheads.org] has quit [Read error: Connection reset by peer] 15:12:54 TDT: cool. does everyone get to use lisp? 15:13:17 slather [~slather@haybaler.sackheads.org] has joined #lisp 15:13:33 stassats` [~stassats@wikipedia/stassats] has joined #lisp 15:13:33 Xach: I expanded the requirements...by a whole lot and am making it so I can play against the computer using random, the HW requirements, and the computer to play itself. Nah, the professor isn't specifically requesting a language, just good documentation..but mentioned CL a number of times in his lecture as options, so I'm hoping some will try it 15:14:29 How do I remove a class? 15:14:41 tmh: (setf (find-class ) nil) is what I've heard. 15:15:15 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 265 seconds] 15:16:07 tmh: Note that what Xach suggested doesn't actually -remove- a class, but does break the association between the name of the class and the class itself. After that you need to worry about existing instances, direct references to the class object, etc. 15:16:54 TDT: cool, it's nice to have that flexibility 15:17:01 parolang [~user@8e4a01246100775874c4f448e9887093.oregonrd-wifi-1261.amplex.net] has joined #lisp 15:17:06 I don't have any instances and I just used REMOVE-METHOD on the class. 15:17:25 Then it'll possibly get GC'd. 15:17:51 (And possibly not, is it on a list of subclasses of standard-class?) 15:17:52 I don't think so -- isn't there a link from it's superclass's class-direct-subclasses ? 15:18:03 Yeah, there's that. 15:18:03 It's not critical, I'm just on a kick of keeping my lisp image up for as long as possible and trying to perform house cleaning. 15:18:40 It's been an amazing class so far - PAIP has been a huge help, although I had to jump nearish to the end of the book to learn how norvig represents his board, makes moves, etc. I feel the min-max algorithm is incredibly convoluted in PAIP though 15:18:56 -!- mgr [~mgr@psychonaut.psychlotron.de] has quit [Ping timeout: 245 seconds] 15:18:58 I'm trying to learn to be more interactive. 15:19:12 Read it at least 3-4 times and just didn't get it, had to read from AI: A Modern Approach to get it better...funny it's the same author, just explained better in AI 15:19:52 TDT: i had a hard time understanding some of the pattern matching stuff until i tried to write simplified versions myself, and then there were some "oh, so THAT'S why it's written like that" moments. 15:20:47 demmeln [~Adium@lapradig96.informatik.tu-muenchen.de] has joined #lisp 15:21:14 -!- slyrus [~slyrus@adsl-75-36-211-117.dsl.pltn13.sbcglobal.net] has quit [Read error: Operation timed out] 15:21:53 mattrepl [~mattrepl@pool-72-83-118-99.washdc.fios.verizon.net] has joined #lisp 15:27:45 YamNad [~YamNad@91.84.41.221] has joined #lisp 15:27:49 -!- 20QAAEKS1 [~dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit [Quit: Leaving.] 15:27:53 dlowe [~dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 15:28:47 http://twitter.com/mikkohypponen/status/8899083773 15:29:00 RaceCondition [~RaceCondi@42.176.250.195.sta.estpak.ee] has joined #lisp 15:29:57 Is it some variant of the mosquito lisp? 15:31:25 How do I make emacs complete my lisp code, when I'm writing regular .lisp files? (not in slime) 15:31:49 -!- metasyntax [~taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has quit [Quit: Nichts mehr.] 15:31:53 C-c TAB 15:31:58 milanj [~milan@77.46.251.129] has joined #lisp 15:32:14 But you still need to have the buffer in Slime mode. 15:32:29 M'okay, thanks. :] 15:33:42 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 15:39:08 tmh: have you played with mosquito? 15:39:33 tmh: it was on my todo list some time ago, but it was so long ago that i think i have lost that todo list :) 15:41:48 There's always M-/ :) 15:41:53 jdz: No, I grabbed the repository one time, but didn't mess with it. The guys that wrote it got jobs, but I think someone has forked the open source version. 15:42:09 *froydnj* watches dwim.hu choke 15:43:23 i'm going home, but if there are more details on the Lisp-malware i'd like to know 15:43:57 -!- jdz [~jdz@85.254.211.133] has quit [Quit: Boot me gently] 15:46:20 I'm sure in some quarters, all lisp is considered malware. 15:46:50 in some places, anything other than Java is 15:46:52 kwinz3 [kwinz@212067235069.public.telering.at] has joined #lisp 15:48:11 -!- FufieToo [~poff@Gatekeeper.vizrt.com] has quit [Quit: Leaving] 15:49:06 ruepel0r [~rue@g228015189.adsl.alicedsl.de] has joined #lisp 15:49:36 -!- RaceCondition [~RaceCondi@42.176.250.195.sta.estpak.ee] has quit [Ping timeout: 252 seconds] 15:50:25 bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has joined #lisp 15:52:22 -!- kwinz3 [kwinz@212067235069.public.telering.at] has quit [Ping timeout: 256 seconds] 15:52:54 nyef, I'm surprised wide fixnums are so complicated for SBCL. I mean, even Ruby has them: http://ruby-doc.org/docs/ProgrammingRuby/html/ext_ruby.html#UB 15:52:56 *Adlai* ducks 15:53:37 *Adlai* also marvels at Ruby's choice of _setting_ the tag bit in fixnums 15:54:14 ineiros [~itniemin@dsl-hkibrasgw1-fe27f900-103.dhcp.inet.fi] has joined #lisp 15:54:18 -!- ineiros [~itniemin@dsl-hkibrasgw1-fe27f900-103.dhcp.inet.fi] has quit [Client Quit] 15:54:31 -!- nowhereman [~pierre@lec67-4-82-235-57-28.fbx.proxad.net] has quit [Read error: Operation timed out] 15:54:33 reprore_ [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 15:54:33 ineiros [~itniemin@dsl-hkibrasgw1-fe27f900-103.dhcp.inet.fi] has joined #lisp 15:54:52 probably makes manipulating all non-fixnum values in C simpler 15:55:28 jsfb [~jon@unaffiliated/jsfb] has joined #lisp 15:55:59 nowhereman [~pierre@lec67-4-82-235-57-28.fbx.proxad.net] has joined #lisp 15:56:40 -!- mattrepl [~mattrepl@pool-72-83-118-99.washdc.fios.verizon.net] has quit [Ping timeout: 272 seconds] 15:58:32 froydnj, I guess that's true, since the non-fixnums are pointers 15:58:44 Stattrav [~Stattrav@202.3.77.161] has joined #lisp 15:59:24 so i'm frustrated by data types... i've got rows of data where i can name the columns but between record versions the columns can change... so sql is out, i don't have a fixed scheme. objects want static slots. i need to merge rows with common fields, but add N/A for rows without all columns... any suggestions? 15:59:49 alland [~thomas@ti0014a380-1092.bb.online.no] has joined #lisp 16:00:05 Describe your problem coherently? Organize your thoughts better? 16:00:44 well, lists don't work without me making every row an alist. hashes look like overkill (compared to what they were in perl). 16:00:53 databases and objects need static layouts... 16:01:39 -!- kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has quit [Quit: kpreid] 16:01:41 i'm reading records and outputting them in csv for a spreadsheet 16:01:46 Adlai: Actually, the main reasons why wider fixnums were so hard was a widespread conflation of two supposedly-independent parameters throughout the system. 16:02:02 the issue is that the records can vary over time. there are constant bits, but the rest vary 16:02:38 Demosthenes: that reminds me a bit of jrm's ChangeSafe thing. 16:03:01 in perl i would have made a hash of hashes, where one hash dimension would be the columns, the other would be the data by a unique id. 16:03:10 http://eval.apply.googlepages.com/changesafe.html is the link 16:03:20 can't use arrays because not every row has an entry in every column... 16:03:25 -!- grouzen [~grouzen@91.214.124.2] has quit [Ping timeout: 264 seconds] 16:03:33 Demosthenes: null values? 16:04:40 sykopomp: adding null values is why i'd have to build a library :P 16:04:56 clop [~jared@moat3.centtech.com] has joined #lisp 16:05:04 -!- H4ns [~Hans@pD4B9E1F5.dip.t-dialin.net] has quit [Quit: Leaving.] 16:05:11 this is somewhat of a data modelling issue, but i figure it *ought* to be common enough there is something already written. 16:05:21 i've been browsing cliki first, but hadn't found much that isn't sql. 16:05:25 so i asked here for input 16:05:53 i'd consider sql, but as i understand it using dynamic fields in sql is a huge sinkhole. 16:06:02 -!- aerique [euqirea@xs2.xs4all.nl] has quit [Quit: ...] 16:06:18 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: Lost terminal] 16:06:29 kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has joined #lisp 16:06:53 Demosthenes: what do you mean by "between record versions the columns can change"? 16:06:58 -!- nowhereman is now known as nowhere_man 16:07:11 Demosthenes: does it vary within a single set of rows? is the version embedded in the record? 16:07:15 -!- kuwabara [~kuwabara@cerbere.qosmos.eu] has quit [Read error: Operation timed out] 16:07:50 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 16:08:00 Xach: yes 16:08:08 or i can deduce the version 16:08:39 chturne [~charles@host86-164-148-150.range86-164.btcentralplus.com] has joined #lisp 16:09:13 records ((:a 1 :b 2 :c 3) (:a 2 :c 4 :d5)) -> ((:a :b :c :d) (1 2 3 nil) (2 nil 4 5)) 16:09:45 a is common, but other fields come and go 16:10:37 ideally the function that knows how to convert the first record doesn't ever get updated to know how many more fields there are to pad... 16:12:00 I would for sure model that with CLOS objects. 16:12:31 kwinz3 [~kwinz@213162066175.public.t-mobile.at] has joined #lisp 16:12:40 well, i'm considering writing a quick object that maintains a list of fields and rows by field, but again, thats hashes of hashes, i'm just hiding the implementation details behind an obj 16:12:58 I would like to submit a one-line patch for SBCL, where should I post it to? sbcl-bugs? 16:12:58 No shame in that. 16:13:03 nowhere_man: sbcl-devel. 16:13:07 i thought i'd ask before i reinvent the wheel 16:13:11 this ought to be a common problem 16:13:23 in perl i did this shamelessly with hashes of hashes and never gave it a second thought 16:13:35 Demosthenes: I'd go with a sequence of dictionaries, plus a set of all attributes you've encountered so far. 16:13:35 Demosthenes: I don't think it's common enough that someone has gone to the trouble of releasing a library for the task. 16:20:27 i guess i care about memory efficiency, because otherwise i'd just make an array of alists and not care about the field names until the final parsing 16:20:49 just seems ridiculous to have ("ima hunking huge field name" 5) *laugh* 16:21:54 Heh. That reminds me of doing index["some constant string"] in C. 16:22:08 when i ran into problems with loading a big config file into a lisp data structure, i spent $40 on 4GB of memory. 16:22:17 problem solved! 16:22:17 *laugh* yeah. 16:24:05 Xach: hey want to buy me some memory? 16:24:25 Hmm, can anyone suggest a bolt-on REPL library? 16:24:42 Quadrescence: Can you do anything that would be of value to me? 16:24:53 Quadrescence: I might give you money in exchange for that. 16:25:44 Xach: I have been paid to write LaTeX. 16:27:14 -!- ikki [~ikki@200.95.162.219] has quit [Ping timeout: 248 seconds] 16:27:54 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 240 seconds] 16:28:03 you know, i need a multirow hash 16:28:06 *ponder* 16:28:52 Demosthenes: sometimes it can be faster to just implement the first thing you think of, then iterate when its shortcomings become a big problem. 16:29:07 Faster even than finding something that might fit your problem, or thinking super hard about how best to do it. 16:29:16 Demosthenes, depending on what you index in each row, you might be able to make do with a quick-and-dirty #'equal hashtable 16:29:22 Xach: 'bolt-on REPL library'? What are you bolting it onto? 16:29:46 tmh: SBCL. i suppose i could rip out the repl parts of the default toplevel. 16:29:59 eno [~eno@nslu2-linux/eno] has joined #lisp 16:30:03 i'd like the sbcl repl but without the other toplevel-init things. 16:30:26 you know, a two dimensional hash is it. 16:30:32 thats what i need ;] 16:30:45 hash{column,row} = x 16:30:57 mattrepl [~mattrepl@pool-72-83-118-99.washdc.fios.verizon.net] has joined #lisp 16:31:19 kuwabara [~kuwabara@cerbere.qosmos.com] has joined #lisp 16:31:29 Xach: --no-sysinit --no-userinit? 16:31:34 Demosthenes, use #'equal hash of (cons col row) 16:31:50 (if your column and row are equal-hash-able) 16:31:57 --noprint? 16:32:05 *tmh* isn't really sure what the goal is. 16:32:11 Demosthenes: intern the field names. 16:32:37 Adlai: you can use a cons cell as a hash key1? 16:32:38 ?! 16:32:42 *ponder* 16:32:45 Demosthenes: why do you need to hash on the row? 16:32:58 rows can be incomplete without prior knowledge 16:33:06 Demosthenes, (make-hash-table :test #'equal) 16:33:16 Demosthenes: without prior knowledge of what? 16:33:22 pkhuong: how many fields there are 16:33:40 So? Don't you process data by row? 16:33:50 but what's wrong with nested hashtables? 16:33:53 (for IO, anyway) 16:34:09 tmh: I'd like to save cores that do some work at startup and then display a lisp repl. i don't want to pass sbcl runtime arguments. 16:34:17 rickardg [~user@c213-89-196-180.bredband.comhem.se] has joined #lisp 16:34:34 gigamonkey [~user@adsl-76-254-20-11.dsl.pltn13.sbcglobal.net] has joined #lisp 16:34:36 Xach: you could use SBCL's REPL (: 16:34:58 -!- pavelludiq [~quassel@87.246.12.167] has quit [Remote host closed the connection] 16:35:01 pkhuong: yes, i think i'll just use it. 16:35:06 Morning folks. 16:35:26 gigamonkey: hi there. are you going to update the caw charts again? 16:35:29 Morning gigabot^D^D^Dmonkey. 16:35:37 Xach hang on a sec. 16:35:54 -!- bokr [~eduska@95.154.102.124] has quit [Quit: Ex-Chat] 16:36:09 pkhuong: i have a final output stage where i have to normalize the fields across rows. 16:36:31 Adlai: nested hashes is what i did in perl 16:36:32 -!- kuwabara [~kuwabara@cerbere.qosmos.com] has quit [Ping timeout: 252 seconds] 16:36:43 Demosthenes: ok, I still don't see why you need to hash on the row. 16:37:33 records ((:a 1 :b 2 :c 3) (:a 2 :c 4 :d 5)) outputs to ((:a :b :c :d) (1 2 3 nil) (2 nil 4 5)), field names are typically long compared to the data 16:37:59 Demosthenes: You have working code in perl? 16:38:01 I got that. 16:38:09 -!- kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has quit [Ping timeout: 260 seconds] 16:38:21 tmh: not for this. its an operation i commonly perform 16:38:29 So each row is a dictionary, and you need a set of field names you've encountered before. 16:38:37 Xach: there you go (http://www.gigamonkeys.com/coders-at-work-charts/charts.html) 16:39:03 kuwabara [~kuwabara@cerbere.qosmos.eu] has joined #lisp 16:39:19 pkhuong: yeah, i was thinking of making an object to hide that away... 16:39:28 the idea of using a cons cell as a hash is interesting though 16:39:46 gigamonkey: thanks. i saw the bump on 2/3 and wondered how it looked on the chart. 16:40:24 Yeah. That was when a pretty favorable review made it on the front page of proggit. 16:41:04 kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has joined #lisp 16:41:36 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: Lost terminal] 16:41:58 do you ever need random access on the rows? If not, you could have a (sorted) property-vector. 16:42:29 Demosthenes: do you know going in, all the possible field names? 16:42:45 AFAICT, you have two issues: you want to compute the set of all the keys, and, for each row, you have a set of key-value pairs. 16:43:54 ikki [~ikki@201.155.75.146] has joined #lisp 16:43:54 pkhuong: no random 16:44:12 gigamonkey: no idea on fields untiol i normalize @ end 16:44:14 so, why the hash table? 16:44:22 -!- kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has quit [Client Quit] 16:44:51 gigamonkey pasted "Demosthenes, dunno if this is what you're looking for" at http://paste.lisp.org/display/94704 16:46:04 pkhuong: it may be a case of premature optimization 16:46:43 I can do a list of rows, where each row is an alist. then i'll have to inventory all the fields from each alist 16:46:51 which is basically what i do now 16:47:00 i was looking to see if there were a better way to model the data 16:47:07 a two dimensional hash sounded nice. 16:47:10 How? 16:47:26 gigamonkey annotated #94704 "use this to extract fields" at http://paste.lisp.org/display/94704#1 16:47:29 You can't iterate over a row's non-null fields. 16:48:02 kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has joined #lisp 16:48:33 -!- kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has quit [Client Quit] 16:48:51 pkhuong: the final normalization would always be a for each field in all fields, for each row do output field if field exists 16:48:59 a 2d hash made some sense 16:49:08 lithper2_ [~chatzilla@72.8.31.30] has joined #lisp 16:49:10 which was really what i got out of most of this ;] 16:49:12 -!- milanj [~milan@77.46.251.129] has quit [Ping timeout: 276 seconds] 16:49:32 otherwise yeah, i can just accumulate rows of alists until time to output them 16:49:33 Demosthenes: no, you can just print a null for fields that aren't there. 16:49:33 -!- das64 [~das@adsl-67-124-39-87.dsl.pltn13.pacbell.net] has quit [Quit: Leaving] 16:49:48 pkhuong: only if i have prior knowledge of what all the fields will be 16:50:04 sorry, i mean in storing them 16:50:12 thats why arrays don't work, i can't use position 16:50:29 on output, yes, you're right, if the field doesn't exist in the row, i'll output a nil and continue 16:50:47 what's the problem then? 16:50:57 Demosthenes: did you look at my paste? Why doesn't that solve your problem? 16:51:00 it was a data modelling question ;] 16:51:11 it was "is there a better way than"... 16:51:35 i'm already essentially doing what your paste does... 16:51:45 Ah. 16:51:47 -!- Adlai [~Adlai@unaffiliated/adlai] has quit [Quit: ---> 127.0.0.1] 16:52:03 Sorry I missed the beginning. Where is the data coming from. 16:52:51 the root cause of the problem is that i'm reading in records that change over time, typically new fields are added but old fields can be dropped. its not frequent, but i often make a csv out of them 16:53:25 currently, i'm making lists of alists, and merging the fields at output time. 16:53:35 i asked if there were a better way, i was considering hashes. 16:53:39 I wanted to change the argument list of a generic function, but there was already a method for it. So, I had to REMOVE-METHOD and then redefine the generic function. Is there a simpler way? 16:53:41 milanj [~milan@93.87.181.36] has joined #lisp 16:53:52 someone mentioned the idea of a hash indexed by a cons cell with (x . y) which is cool 16:54:11 Ah, and EQUAL hash table? 16:54:15 a 2d hash is really what is needed. 16:54:27 s/and/an/ 16:54:28 a hash of hashes is what i did in perl, so thats no surprise 16:54:34 Demosthenes: Then just do it, you don't have to convince anyone else. 16:54:37 yeah, an equal hash table 16:54:43 Demosthenes: a hash of hash is *not* a hash on (column . row). 16:54:53 ajazz2 [~ajazz@pool-95-83-74-197.ptcomm.ru] has joined #lisp 16:55:00 tmh: I don't understand the need for a hash on the row. 16:55:01 pkhuong: i know that. ;] 16:56:00 -!- bytecolor [~user@adsl-71-137-193-55.dsl.scrm01.pacbell.net] has quit [Remote host closed the connection] 16:56:04 what does the parens around 1 mean in (integer 0 (1))? 16:56:13 levente_meszaros: exclusive bound. 16:56:18 pkhuong: I don't think the problem has been fully or well specified. People seem to be talking past each other. 16:57:01 pkhuong, thanks, CL seems to be quite dwimish in type specifiers 16:57:45 isn't that equivalent with 1- upper bound? 16:58:11 levente_meszaros: for integers, sure, but not for real numbers. 16:58:18 -!- milanj [~milan@93.87.181.36] has quit [Ping timeout: 240 seconds] 16:58:21 redb71 [~nospam@ip4da84af4.direct-adsl.nl] has joined #lisp 17:01:04 -!- kwinz3 [~kwinz@213162066175.public.t-mobile.at] has quit [Ping timeout: 260 seconds] 17:02:27 kwinz3 [~kwinz@213162066175.public.t-mobile.at] has joined #lisp 17:02:45 milanj [~milan@109.93.193.107] has joined #lisp 17:04:54 redline6561 [~redline@gate-22.spsu.edu] has joined #lisp 17:11:31 -!- DeusExPikachu [~DeusExPik@pool-141-157-7-185.balt.east.verizon.net] has left #lisp 17:12:46 -!- bew [~bew@cpc2-dals16-2-0-cust285.hari.cable.virginmedia.com] has quit [Quit: bew] 17:13:22 -!- YamNad [~YamNad@91.84.41.221] has quit [] 17:13:33 bew [~bew@cpc2-dals16-2-0-cust285.hari.cable.virginmedia.com] has joined #lisp 17:14:50 -!- ASau [~user@83.69.227.32] has quit [Read error: Connection reset by peer] 17:14:55 If I run swank server inside screen, in my slime repl I won't be able to open a gui window, for example, those by plotting packages. Any cure? 17:14:58 -!- ajazz2 [~ajazz@pool-95-83-74-197.ptcomm.ru] has quit [Read error: Connection timed out] 17:15:15 ASau [~user@83.69.227.32] has joined #lisp 17:15:51 leo2007: monkey with the DISPLAY environment variable? 17:18:08 varjag [~eugene@226.119.202.84.customer.cdi.no] has joined #lisp 17:18:43 but the display env is set inside the screen already 17:19:02 So... override it? 17:19:06 -!- ASau [~user@83.69.227.32] has quit [Read error: Connection reset by peer] 17:19:09 sayyestolife [~jot_n@h-60-147.A163.priv.bahnhof.se] has joined #lisp 17:19:21 ??? 17:19:38 -!- Blkt [~user@160.80.132.50] has quit [Ping timeout: 272 seconds] 17:20:03 the display env inside screen is the same as the one outside. What value to change to inside screen? 17:20:05 -!- bew [~bew@cpc2-dals16-2-0-cust285.hari.cable.virginmedia.com] has quit [Quit: bew] 17:20:06 It's an environment variable. If you're running with a shell, export DISPLAY=whatever when you reconnect. If you're running your apps via run-program, add it to the environment in the run-program call. 17:20:08 -!- alland [~thomas@ti0014a380-1092.bb.online.no] has quit [Quit: Leaving.] 17:20:38 If said DISPLAY value is correct then there's nothing to be done, things Just Work. 17:21:07 If it's not correct, well, that's more an X thing than anything else. 17:21:56 pkhuong annotated #94704 "No random access..." at http://paste.lisp.org/display/94704#2 17:22:42 -!- leadnose [leadnose@xob.kapsi.fi] has left #lisp 17:23:05 leo2007 pasted "swank" at http://paste.lisp.org/display/94707 17:23:59 from time to time I am getting that error as in paste 94707, that hasn't happened before. seems like a bug in slime. 17:24:01 ASau [~user@83.69.227.32] has joined #lisp 17:24:12 -!- sysop_fb [~bleh@80.255.39.35] has quit [] 17:25:20 this might be of interest: http://docs.google.com/viewer?url=http://research.sun.com/projects/plrg/Publications/ICFPAugust2009Steele.pdf 17:25:46 kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has joined #lisp 17:26:36 nyef: thanks. It seems to work fine now that I am using plplot. It used to be a problem with gnuplot. 17:27:01 wedgeV [~wedge@adsl-69-232-231-189.dsl.pltn13.pacbell.net] has joined #lisp 17:27:40 -!- reprore_ [~reprore@ntkngw356150.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 17:27:59 leo2007: Is plplot a good replacement for gnuplot? 17:28:20 i think so. actually in my view much better. 17:28:45 leo2007: Does everything that gnuplot does? I've scanned the docs, but afraid I'm missing something. 17:28:57 gnuplot is for interactive use where plplot is for embedded in other languages such as cl. 17:30:01 leo2007: As interactive as CL is, you're not losing much then. 17:30:08 Not losing anything. 17:30:19 Foofie [~innocent@86.80-203-225.nextgentel.com] has joined #lisp 17:30:25 maybe gnuplot does more but plplot is very powerful too. 17:31:15 Most of the time, I'm writing throw-away CL functions to generate gnuplot input. 17:31:46 yeah, that seems to be the case for me too when I am using it through cnuplot 17:32:29 leo2007 pasted "example plplot" at http://paste.lisp.org/display/94708 17:32:51 tmh: that's an example that I use to plot data from my numerical model. 17:33:06 -!- Fufie [~innocent@86.80-203-225.nextgentel.com] has quit [Ping timeout: 245 seconds] 17:33:25 leo2007: looks good, I need to convert. 17:33:50 "If you can construct two sequential versions of a function that is a homomorphism on lists, one that operates left-to-right and one right-to-left, then there is a technique for constructing a parallel version automatically." 17:34:14 "Just derive a weak right inverse function and then apply the Third Homomorphism Theorem. Seeits easy!" 17:34:15 heh 17:34:45 "Note that this doesn't actually gain you anything if your execution time is already dominated by the list traversal." 17:35:12 tmh: yes. The flow is very clear unlike gnuplot. 17:35:45 leo2007: And it frees me of organizing my gnuplot plot hacks into yet another CL interface to gnuplot. 17:36:45 Indeed. 17:37:17 tmh: if you haven't used the cmake build system before, I can help a bit too. 17:37:43 and the last page says: "Get rid of cons!" 17:37:53 whatever that means 17:37:56 Krystof [~csr21@158.223.51.76] has joined #lisp 17:38:04 jtza8 [~jtza8@41.208.192.161] has joined #lisp 17:38:19 leo2007: Thanks. 17:39:49 brennanc [~brennanc@65.203.131.114] has joined #lisp 17:40:49 ajazz2 [~ajazz@pool-95-83-74-197.ptcomm.ru] has joined #lisp 17:41:18 tmh: do you use cl for numerical computing? 17:41:21 A while ago IIRC Taylor R. Campbell - the author of paredit - pasted a new beta version of paredit in this channel with some new functionality which he called "zonking" (I think). Does anyone know, where I can find that version and / or if he is around in #lisp and which nick he uses? 17:41:49 minion: paredit? 17:41:49 paredit: a set of Emacs commands, with a minor mode for convenient access to them, for editing balanced S-expressions and a number of higher-level operations on S-expressions, at ; see also the #paredit channel 17:41:51 demmeln: did you try his website? 17:41:53 leo2007: Yes and data processing. 17:42:45 data processing? you mean something like R? 17:42:48 -!- Krystof [~csr21@158.223.51.76] has quit [Read error: Operation timed out] 17:43:12 Phoodus [foo@97-124-117-72.phnx.qwest.net] has joined #lisp 17:43:42 yes I look there allready. Maybe he renamed it... 17:43:54 leo2007: No, data processing in the generic sense. I have output from program A, I write CL to read the output and perform some calculations on it to reduce it to something useful. 17:43:54 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 240 seconds] 17:44:00 -!- kwinz3 [~kwinz@213162066175.public.t-mobile.at] has quit [Ping timeout: 260 seconds] 17:44:04 -!- rotty [~rotty@nncmain.nicenamecrew.com] has quit [Quit: leaving] 17:44:06 i see. 17:44:09 rotty [~rotty@nncmain.nicenamecrew.com] has joined #lisp 17:44:28 leo2007: I also use CL for pre-processing, to parametrically generate input for Program A. 17:45:05 Are there any cl packages you would recommend? I want to explore what is available to avoid invent my own? 17:45:10 s/?/./ 17:46:34 You'll have to be more specific. 17:46:50 alley_cat [~AlleyCat@sourcemage/elder/alleycat] has joined #lisp 17:47:10 -!- ajazz2 [~ajazz@pool-95-83-74-197.ptcomm.ru] has quit [Quit: Nettalk6 - www.ntalk.de] 17:47:52 -!- rickardg [~user@c213-89-196-180.bredband.comhem.se] has quit [Remote host closed the connection] 17:48:29 for numerical/mathematical/engineering 17:48:51 leo2007: GSLL is good. Most of my other stuff is home-grown. 17:48:58 -!- DrunkTomato [~DEDULO@ext-gw.wellcom.tomsk.ru] has quit [] 17:49:05 I see. I am already using gsll ;) 17:49:22 leo2007: I thought so. 17:50:16 -!- kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has quit [Quit: kpreid] 17:50:34 found it: http://mumble.net/~campbell/tmp/paredit/paredit-zoink.el 17:51:56 -!- Yuuhi [benni@p5483DC5A.dip.t-dialin.net] has quit [Ping timeout: 272 seconds] 17:52:40 -!- chturne [~charles@host86-164-148-150.range86-164.btcentralplus.com] has left #lisp 17:53:14 amnesiac [~amnesiac@p3m/member/Amnesiac] has joined #lisp 17:53:19 zoinkage? 17:53:35 Someone watched too much Scooby Doo as a child. 17:54:38 kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has joined #lisp 17:55:14 -!- redline6561 [~redline@gate-22.spsu.edu] has quit [Ping timeout: 246 seconds] 17:55:34 emma [~em@unaffiliated/emma] has joined #lisp 17:55:35 p_l: Yeah. I found it quite usefull. See an explanation: http://mumble.net/~campbell/tmp/zoink.txt 17:58:20 *tmh* is striving hard for the "Kludge of the Day"(tm) award. 18:00:04 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 258 seconds] 18:02:57 slyrus [~slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has joined #lisp 18:05:44 emma [~em@unaffiliated/emma] has joined #lisp 18:07:49 saikatc [~saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has joined #lisp 18:10:52 -!- leo2007 [~leo@smaug.linux.pwf.cam.ac.uk] has quit [Quit: rcirc on GNU Emacs 23.0.60.1] 18:11:51 -!- emma [~em@unaffiliated/emma] has quit [Remote host closed the connection] 18:12:43 mathk [~mathk@lns-bzn-46-82-253-250-19.adsl.proxad.net] has joined #lisp 18:15:30 -!- potatishandlarn [~potatisha@c-4f66b760-74736162.cust.telenor.se] has quit [Ping timeout: 248 seconds] 18:15:36 moocow [~new@69.67.174.130] has joined #lisp 18:16:10 potatishandlarn [~potatisha@c-4f66c242-74736162.cust.telenor.se] has joined #lisp 18:21:30 z4v [~sav@200.255.103.130] has joined #lisp 18:21:41 leo2007 [~leo@cpc2-cmbg15-2-0-cust694.5-4.cable.virginmedia.com] has joined #lisp 18:25:07 JonSmith [~jon@ip24-250-13-137.ri.ri.cox.net] has joined #lisp 18:25:29 hi, is there a way to know all the package loaded? 18:25:39 with sbcl 18:25:39 specbot list-all-packages 18:25:48 clhs list-all-packages 18:25:48 http://www.lispworks.com/reference/HyperSpec/Body/f_list_a.htm 18:25:54 -!- moocow [~new@69.67.174.130] has quit [Ping timeout: 240 seconds] 18:26:11 moocow [~new@mail.fredcanhelp.com] has joined #lisp 18:26:31 tmh: did you get the fix for your iterate extension? 18:27:17 ok thanks tmh 18:27:37 emma [~em@unaffiliated/emma] has joined #lisp 18:28:20 pkhuong: I don't use iterate, did you mean someone else? 18:28:35 liamh I think 18:29:21 one of you gsll dudes ;) 18:29:51 what is the difference between :cl-user :common-lisp-user and "COMMON-LISP-USER" ..? 18:30:40 :cl-user is an alias for :common-lisp-user and "COMMON-LISP-USER" is the string representation. 18:31:13 so the in-package and related while treat it the same way 18:31:21 pkhuong: My support of gsll is just the floating point extensions in lisp-unit. 18:31:42 holycanoly [~new@69.67.174.130] has joined #lisp 18:31:45 mathk: in-package only uses its argument for the string it designates. 18:32:08 -!- moocow [~new@mail.fredcanhelp.com] has quit [Ping timeout: 240 seconds] 18:32:17 dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 18:32:24 (some implementations also accept a package designator there, which isn't standard) 18:32:34 the iterate extension should be fixed now, do a fresh pull on GSD 18:33:23 someone should probably bug one of iterate's maintainers. 18:33:40 timor [~timor@port-87-234-97-27.dynamic.qsc.de] has joined #lisp 18:34:08 SandGorgon [~OmNomNomO@office.sea.jambool.com] has joined #lisp 18:34:38 antoszka [~antoszka@unaffiliated/antoszka] has joined #lisp 18:38:12 rdd` [~rdd@c83-250-52-182.bredband.comhem.se] has joined #lisp 18:38:23 and how do you get the value of :cl-user I tried symbol-value but didn't work 18:39:43 -!- sbahra [~sbahra@2002:62da:45b3:1234:21d:e0ff:fe00:f7ab] has quit [Remote host closed the connection] 18:41:11 dstatyvka [ejabberd@pepelaz.jabber.od.ua] has joined #lisp 18:42:04 mathk: (find-package :cl-user) will return the package object. 18:42:37 phf [~user@c-76-124-103-85.hsd1.pa.comcast.net] has joined #lisp 18:43:14 yeap but you said the in-package while use the string the :cl-user is designating so I am wondering how to get this string. 18:43:34 I could read how in-package is implemented thought 18:44:09 (string :cl-user) 18:44:39 legumbre_ [~leo@r190-135-18-67.dialup.adsl.anteldata.net.uy] has joined #lisp 18:45:01 ok so the package can be designate by several string? 18:45:17 mathk: yes. packages may have nicknames. 18:45:22 ok 18:45:39 Fufie [~innocent@86.80-203-225.nextgentel.com] has joined #lisp 18:45:45 I should have a look at the mop I guess 18:46:05 Not unless you want to be more confused 18:46:28 -!- legumbre [~leo@r190-135-24-33.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 265 seconds] 18:46:28 how do you guys organize your projects into multiple files. I'm working with hunchentoot and I have just something simple and have gone through the packages chapter in PCL but I'm still not sure how I should organize it. Do you use a bunch of (load ...) in each file to load the others? 18:46:47 brennanc: ASDF 18:46:57 brennanc: Or XCVB 18:47:08 But ASDF is more widely used. 18:47:09 brennanc: i wrote a little bit about how i do it at http://xach.livejournal.com/130040.html 18:47:35 thanks, I'll look into those 18:47:36 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 258 seconds] 18:47:52 and what pro cons for using asdf or xcvb 18:48:06 -!- Foofie [~innocent@86.80-203-225.nextgentel.com] has quit [Ping timeout: 245 seconds] 18:48:35 -!- rdd` is now known as rdd 18:49:39 I got a :Execution of a form compiled with errors. 18:49:39 ... 18:49:39 [Condition of type SB-INT:COMPILED-PROGRAM-ERROR] 18:49:59 the con of xcvb is nobody uses or understands it 18:50:02 using asdf 18:50:04 the con of asdf is nobody understands it 18:50:35 lol :D 18:50:35 What's the con of just having a file to do compile-file on the source files in order and another file to load them or the fasls? 18:50:36 mathk: sounds like you got the syntax of something wrong. 18:50:46 http://fare.livejournal.com/149264.html <- Will thoroughly confuse you, but describes the difference, I think. 18:50:57 nyef: that's what swank does. 18:51:22 So... what's the con? 18:51:33 -!- kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has quit [Quit: kpreid] 18:51:41 nyef: deps? 18:51:49 nyef: i'm not sure. i think it would annoy people who like the idea of asdf-binary-locations, for one. 18:52:17 Xach: Bah. That's what LPNs are for. 18:52:27 Just put a different translation for FASL files. 18:52:34 yes, well. 18:53:15 magcius [~jstpierre@c-24-61-243-212.hsd1.ma.comcast.net] has joined #lisp 18:53:16 mathk pasted "asdf error" at http://paste.lisp.org/display/94714 18:53:31 OmniMancer [~OmniMance@122-57-4-252.jetstream.xtra.co.nz] has joined #lisp 18:53:34 here is the file ^ 18:53:35 What is the difference between cons and conc? 18:53:48 Are there any easy-to-follow diagrams out there? 18:53:50 pkhuong: Isn't deps what REQUIRE is for? 18:53:53 magcius: cons is a common lisp concept, and conc is not. 18:54:04 clhs conc 18:54:05 Xach, what is conc then? 18:54:05 Sorry, I couldn't find anything for conc. 18:54:10 fiveop [~fiveop@g229115151.adsl.alicedsl.de] has joined #lisp 18:54:15 clhs cons 18:54:16 http://www.lispworks.com/reference/HyperSpec/Body/a_cons.htm 18:54:18 magcius: i don't know. did you mean nconc? 18:54:34 I'm reading this presentation: http://docs.google.com/viewer?url=http%3A%2F%2Fresearch.sun.com%2Fprojects%2Fplrg%2FPublications%2FICFPAugust2009Steele.pdf 18:54:47 mathk: the easiest way to make it work would be to change the form to (asdf:defsystem ...) 18:54:49 He's talking about conc lists. 18:55:21 magcius: It looks like he defines the concept in the paper. I've never heard of it before. 18:55:36 Xach, also: http://nostoc.stanford.edu/jeff/llisp/3.html 18:55:42 ok I see I could also do (use-package :asdf) 18:55:54 but that not so nice 18:55:57 I guess 18:56:03 mathk: Not so nice is right. 18:56:26 Athas`` [~athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 18:56:40 magcius: That reference to CONC looks like an old name for what CL calls NCONC. 18:56:48 magcius: it looks quite distinct from steele's concept 18:56:52 Xach, okay. 18:56:59 so my (require 'asdf) is useless it must be for moduls I guess 18:57:10 Xach, he could be talking about Scheme. He invented Scheme. 18:57:13 mathk: (require 'asdf) makes the asdf library available in your environment. 18:57:23 magcius: No, he isn't. 18:57:38 Xach, how do you know? 18:57:54 -!- Athas` [~athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Ping timeout: 240 seconds] 18:57:57 mathk: it's up to you to access the symbols in the asdf library correctly. 18:58:22 ok thanks for helps 18:58:39 magcius: "conc lists" are not a scheme concept. 18:59:02 CONC is APPEND? 18:59:05 Xach, okay. 18:59:55 leo2007 annotated #94707 "untitled" at http://paste.lisp.org/display/94707#1 19:00:11 Xach, what's the rational for save-runtime-options? there's no way to set the dynamic-space-size from lisp code after the executable has started? 19:00:48 attila_lendvai: the ultimate goal is to inhibit all runtime argument processing. 19:00:58 so what is the comonly way to share structure among several package do you need to export all the function to access the strucur feild? 19:01:13 attila_lendvai: so if you dump an executable, for example, "./myapp --help" doesn't show the sbcl runtime's help. 19:01:15 Xach, I don't understand his concept at all. 19:01:16 magcius: did you miss the part about "So I strongly encourage you not to actually use this to learn Lisp!" 19:01:27 magcius: ok. 19:01:47 Edico_ [~Edico@unaffiliated/edico] has joined #lisp 19:02:08 Xach, and if i have a custom toplevel with its own args processing already, and i'd like to set the dynamic space size... what would you do? 19:02:16 -!- Edico [~Edico@unaffiliated/edico] has quit [Ping timeout: 245 seconds] 19:02:18 slyrus, what page is that on? 19:02:27 attila_lendvai: i would dump a new executable with the required dynamic space size. 19:02:29 slyrus, also, I know enough lisp to get by in emacs :) 19:02:39 magcius: http://nostoc.stanford.edu/jeff/llisp/index.html 19:03:16 slyrus, I wasn't using it to learn Lisp. 19:03:28 emma [~em@unaffiliated/emma] has joined #lisp 19:03:38 Xach, the purple format on (2) and (3) looks like cons lists. Is that correct? 19:04:00 magcius: I don't know, sorry. I haven't looked at it. 19:04:38 Xach, http://docs.google.com/viewer?url=http%3A%2F%2Fresearch.sun.com%2Fprojects%2Fplrg%2FPublications%2FICFPAugust2009Steele.pdf&docid=6cc6d941daa0103448843b6c874a72c7&a=bi&pagenumber=19&w=828 19:05:02 magcius: I don't really want to look at it, sorry. 19:05:12 Xach, alright 19:05:21 Xach, (that's a static image) 19:05:31 Anyone looked at Bard yet? 19:06:00 My 30 second perusal of http://bywicket.com/users/mikel/weblog/126a4/ says, "Not terrible." 19:06:16 mikel evins is pretty hot stuff, so not a complete surprise. 19:06:31 i wonder if there's an easy way to join in via ichat on the tc lisper meeting. 19:06:33 Oh, I didn't realize that was mikel. 19:06:48 gigamonkey: not like it's in the url or anything :) 19:07:14 Yeah, but it's way over to the right side of the URL. 19:07:21 ;-) 19:07:51 rickmode [~rickmode@64.134.227.78] has joined #lisp 19:07:57 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 260 seconds] 19:08:49 emma [~em@unaffiliated/emma] has joined #lisp 19:08:59 RaceCondition [~RaceCondi@85.253.73.94.cable.starman.ee] has joined #lisp 19:09:19 -!- Odin- [~sbkhh@s121-302.gardur.hi.is] has quit [Quit: Odin-] 19:09:40 Xach: I'm noticing in the link you sent me about making a small CL project you have # in front of everything. #:cl #:stumpgrinder. Why is this? Other docs I've read don't do that. 19:10:05 becaues Xach is over worried about filling the keyword namespace. 19:10:10 drewc [~drewc@89.16.166.162] has joined #lisp 19:10:30 brennanc: habit. those symbols are used just for the string they designate, and using an uninterned symbol (prefixed with #:) means they don't loiter around. 19:10:39 gotcha 19:11:00 brennanc: you could use strings or keyword symbols with equal effectiveness but some (possibly unimportant) side-effects 19:11:03 brennanc: it's a matter of style. 19:12:27 Most folks use either keyword symbols or uninterned symbols because it helps your code run in Allegro's "mlisp" which uses lowercase symbol names. 19:12:44 Only people who are significantly cranky about that violation of the CL standard use literal strings. 19:13:08 gigamonkey (: 19:14:01 -!- emma [~em@unaffiliated/emma] has quit [Read error: Connection reset by peer] 19:14:26 is "require" an ASDF thing? 19:14:40 -!- phf [~user@c-76-124-103-85.hsd1.pa.comcast.net] has quit [Ping timeout: 256 seconds] 19:14:40 -!- Quadrescence [~quad@unaffiliated/quadrescence] has quit [Ping timeout: 256 seconds] 19:14:44 brennanc: not necessarily. asdf on sbcl augments require's behavior. 19:15:00 http://l1sp.org/cl/require describes the standard behavior. 19:16:31 The tl;dr of require's behavior is "nothing you can depend on", right. 19:16:54 not quite. the two-arg form is well-specified. 19:18:30 Fair enough. Though at that point it's just (mapcar #'load ) 19:18:59 but dependably so :) 19:21:52 gigamonkey: do you use logical pathnames? 19:21:59 Xach: I'm getting a "Don't know how t REQUIRE MY-PROJ". "When the project is in progress, I leave the system file in the project directory and always load it from there. " (from your page - which really helped me): from emacs does this mean I need to CD to the project dir before running (require 'my-proj) ? 19:23:00 -!- legumbre_ is now known as legumbre 19:23:32 rickmode: yes. or you can add your project's directory to asdf's asdf:*central-registry*. or symlink the .asd file into one of the existing asdf:*central-registry* directories. 19:23:35 Xach: nope. 19:24:11 They strike me as something that solve a problem I don't really have, given ASDF, etc. 19:24:43 Hmm, I don't really see how logical pathnames relate to ASDF. 19:24:44 hello, I want to modify the asdf-install dir to be ~/.ccl 19:25:10 -!- attila_lendvai [~ati@catv-89-134-66-143.catv.broadband.hu] has quit [Ping timeout: 258 seconds] 19:25:13 leo2007 pasted "ccl asdf-install" at http://paste.lisp.org/display/94716 19:25:21 oh, right. duh. 19:25:27 Well, it seems to me the main point of logical pathnames is to provide a layer of indirection in naming files so you can find your source files for compiling and loading them. 19:25:33 nha [~prefect@250-194.105-92.cust.bluewin.ch] has joined #lisp 19:25:40 So I put something like 94716 in .ccl-init.lisp, but it doesn't work. 19:25:52 leo2007: isn't it ccl-init.lisp? 19:26:01 So you can build a big pile of Lisp code that can find the files it needs to build and then the user can set up the appropriate logical pathname definitions and away you go. 19:26:05 metasyntax [~taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has joined #lisp 19:26:06 gigamonkey: oh, right, source files. it hadn't occurred to me to involve source files at all. i'm using them to find database files, template files, fonts, and things like that. 19:26:08 tmh: they both work. 19:26:58 Ok, then I'm moving mine because I'm sick of seeing it in my home directory. 19:27:10 phf [~user@c-76-124-103-85.hsd1.pa.comcast.net] has joined #lisp 19:27:15 Xach: the problem with that is that if you want to let users name files you run into the impedence mismatch between what can be represented with a logical pathname and potential physical pathnames. 19:27:35 Thus it seems to me logical pathnames are only useful for filenames that you, the programmer, control. 19:27:40 tmh: ;) 19:27:56 I prefer to use pathname algebra on physical pathnames. 19:27:59 gigamonkey: right. that sort of problem seems similar to using the wrong tool for the job. 19:28:00 Beetny [~Beetny@ppp118-210-106-53.lns20.adl2.internode.on.net] has joined #lisp 19:28:08 it's a one-way mapping. 19:28:48 kpreid [~kpreid@216-171-189-244.northland.net] has joined #lisp 19:29:51 So what do you do when a font file has a name that can't be represented with a logical pathname? 19:29:57 that is, it's useful if you can reasonably enumerate every single the logical pathnames your application needs. 19:30:03 gigamonkey: duh. set up a translation. 19:30:16 Xach and gigamonkey: is this discussion about keeping a project self-contained? (meaning it's files live within a single directory structure)? 19:30:18 The pathname business in common lisp is just mad. 19:30:43 emma_ [~em@unaffiliated/emma] has joined #lisp 19:30:50 Xach: for one particular file? 19:31:03 That strikes me as more trouble than it's worth. 19:31:08 gigamonkey: sure. and for every single LPN in your application, if needed. (cltl2 is pretty explicit about that possibility) 19:31:21 gigamonkey: I'm trying to figure out if it really is. 19:31:25 -!- mathrick [~mathrick@users177.kollegienet.dk] has quit [Excess Flood] 19:31:33 My current impression, having not actually done it extensively, is no. 19:31:38 But I've never really dived deep into logical pathnames because I've never found any problems that I couldn't solve pretty easily with physical pathnames. 19:32:07 rickmode: more about defining a virtual filesystem within the application that is translated to physical pathnames which might be in different locations on different systems or in different circumstances. 19:32:15 mathrick [~mathrick@users177.kollegienet.dk] has joined #lisp 19:33:33 Xach: sounds useful - a layer of abstraction to keep you from hard coding full or weird relative paths 19:34:00 Xach: lp's also strike me as mostly useful for deploying a lisp app to someone who groks Lisp well enough to set up the appropriate lp-translations. 19:34:24 So, if you work at Symbolics, it might be useful. 19:34:25 rickmode: that's the general idea. the objections seem mostly to be of the form: "but you can't get automatic translations for funky physical names like ~/.foo/WibbetyBar.txt and it's too much work to set up individual translations!" 19:34:40 gigamonkey: It helps me because I'm the developer, vendor, and deployer. 19:35:01 Yeah, so that's fine. 19:35:49 tmh: do you accept the default ~/.asdf-install-dir? 19:36:06 Though for myself, I mostly use simple schemes of relative pathnames. I.e. my apps are written to require setting a small handful of parameters that tell me where different top-level directories are and then everything under there is relative. 19:36:39 The main problem with logical pathnames is that something about their presentation in the CLHS leads people to think they are for solving a different problem than the one that they are actually intended to solve. 19:36:50 Setting up individual translations is too much of a pain? Then do it in bulk! Write a function to define a reverse-mapping, then use it to set up the forward mapping for the files that already exist. 19:37:01 gigamonkey: That could be said about many things in the CLHS! 19:37:05 So people get all wrapped around the axle with LPs and then decide the whole pathname system is busted. 19:37:12 -!- phf [~user@c-76-124-103-85.hsd1.pa.comcast.net] has left #lisp 19:37:14 Which I don't think it is. 19:37:41 Xach: yeah. Someone should write a book to explain CL in a way that doesn't lead people down those wrong paths. ;-) 19:38:01 gigamonkey: i'd really like to write something useful enough to be "Logical Pathnames - The Missing PCL Chapter" 19:38:01 Hey, maybe they can do that for CLIM, too! 19:38:30 *Xach* is taking 2 years to do it, though 19:39:44 omg! if i drop the declaim section setting debugging high, my program compiles. :P if not, sbcl bombs 19:39:46 gigamonkey: the cltl2 information was an eye-opener 19:40:00 Xach: We should talk. I'm thinking about becoming a editor/publisher. 19:40:23 gigamonkey: wow, i have the perfect magazine subscription suggestion for you. 19:40:42 gigamonkey: nice ! 19:40:44 you mean what I should subscribe to? 19:40:59 gigamonkey: yes. but, oops, it just went out of business. http://en.wikipedia.org/wiki/Editor_&_Publisher 19:41:15 *Xach* wonders if that's better or worse than being a Hacker & Painter 19:41:27 -!- emma_ [~em@unaffiliated/emma] has quit [Ping timeout: 252 seconds] 19:41:57 Demosthenes pasted "sbcl dies" at http://paste.lisp.org/display/94719 19:42:05 I'm thinking, among other things, of a "More Practical Common Lisp" series that would be books long enough to be worth publishing as POD/Kindle/iPad/PDFs in addition to putting them on a web site. To be written by me and other people but edited by me. 19:42:17 gigamonkey: An editor/publisher? Would you take sources in LaTeX? 19:42:28 You bet. 19:42:55 org-mode? ;] 19:42:57 Or perhaps something even simpler than LaTeX that can be converted to LaTeX. 19:43:06 from a newbie perspective more books and documentation would definitely make things easier to learn 19:43:11 coming at this as an experienced developer new to Lisp - it would help having more HOWTOs explaining how to get past the development environment issues. 19:43:16 Fare [~Fare@ita4fw1.itasoftware.com] has joined #lisp 19:43:23 Demosthenes: org-mode exports to LaTeX easily 19:43:24 -!- beaumonta [~abeaumont@85.48.202.13] has quit [Ping timeout: 272 seconds] 19:43:28 p_l: i live in org 19:43:49 yes, it seems like learning the language is not the problem, it's learning the environment 19:44:00 you have to learn multiple things all at once just to learn it 19:44:01 Dammit, people! This is lisp, we don't do things because they are easy. 19:44:13 -!- ignas [~ignas@78-60-73-85.static.zebra.lt] has quit [Ping timeout: 264 seconds] 19:44:42 you have to learn emacs, slime, and the language all at once 19:44:43 can someone else try compiling that pasted code? if i remove the declaim, it compiles. with it there, sbcl bombs. 19:44:48 gigamonkey - your book provides a good introduction to the language. And I had SBCL + Aquamacs up fairly easily to noodle. But now I'm trying to get things done and I keep getting stuck. 19:44:51 *p_l* recalls the "Lisp as seen by Lisp fans" picture showing Neo 19:45:32 "In short, we must face problems which do not lend themselves to easy or quick or permanent solutions." 19:46:15 rickmode: Do you mean being stuck as hard to do projects, or just not understanding the book itself? 19:46:20 I actually don't mind the Emacs / SLIME thing. I mean it's a different beast than your usual C++ / Java IDE, but not too bad. What I'd like is the sort of bootstrapping most IDEs give you. 19:47:30 TDT: Hard to start up a project. The tedious bits of setting up your project, your dependencies, getting the dependencies onto your machine. Having the right directory stucture. 19:47:57 emma_ [~em@unaffiliated/emma] has joined #lisp 19:49:05 rickmode: Seamlessly handling dependencies would be nice, but I've never been fond of the way IDEs organize projects. 19:49:10 xlq [~xlq@88-106-17-87.dynamic.dsl.as9105.com] has joined #lisp 19:49:11 rickmode: Well, for packages most of PCL doesn't need anything extra, so I'd reread the first few chapters a bit until you really get it and how things are setup. 19:49:30 Seems like a Rail-ish thing would be nice as far as bootstrapping an environment to get you rapidly to the point where you can code. 19:49:34 IDEs tend to tie someone down as well, something I think is a bit of a disadvantage when it comes to CL 19:49:59 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error: Operation timed out] 19:50:20 rickmode: clbuild covers a lot of that ground 19:50:23 rickmode: heh, i have a function that sticks in some package stuff and away i go. of course, i've built up a collection of the libraries i use most, so i rarely have to start from scratch fetching those. 19:50:43 I'm using GNU CLISP. I have a package that contains a few .lisp files and an .asd file. What do I do with it? 19:50:50 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 19:51:05 clbuild was kind of confusing to me because it seemed like it was installing stuff in a different location that wasn't picked up when I ran slime or sbcl by itself 19:51:17 rickmode: Well the issue with the difference between rails and CL is that rails needs a lot of structure under it to actually do anything, plus a web server, access to sqlite/mysql/etc, and so on. It's a bit of a pain, yes...but it's not that bad with CL. Really, lisp development is pretty different than rails in a lot of ways. 19:51:19 TDT: I dont' have an issue with the Lisp notion of packages. It's more the the practical bits. Look at Django and Python, for instance. This setup has no IDE, but the Django system lays out your directory structure and what not. 19:51:21 xlq: load asdf and then (asdf:oos 'asdf:load-op ') 19:52:04 rickmode: when i'm working on a new project named wibbly, i make a directory called wibbly and start editing wibbly/wibbly.lisp. I have some elisp that writes an .asd file for me. 19:52:06 TDT: I agree. And I can see that in the Lisp world there's less need for this big-ass frameworks, so you wouldn't want a tool that tied you to particular frameworks and an IDE 19:52:10 rickmode: True but each of those requires core libraries. Python's django needs the django "structure" loaded, rails same deal, same with turbogears. If you were doing web development with CL, then yes, having some sorta bootstrap would make more sense. 19:52:15 I remember when I was first learning PHP many years ago I had much the same confusion I had then. It will probably pass with time. The environment stuff seems like it comes more with experience and can't be taught as much. 19:52:32 *I had now* I mean 19:52:54 *Xach* has a fun function on F2 that either inserts a self-contained defpackage/in-package into a file that's meant to be standalone, or checks for package.lisp and inserts the appropriate in-package form 19:53:23 Xach: Do you also have a "convert standalone file to multi-file project" function? 19:53:33 nyef: not yet. 19:53:33 -!- emma_ [~em@unaffiliated/emma] has quit [Ping timeout: 252 seconds] 19:53:34 and are those just tied into elisp functions? 19:53:39 TDT: yes. 19:53:55 rickmode: "clbuild make-project FOO" will give stubs for all the fiddly asdf bits 19:53:59 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Max SendQ exceeded] 19:54:13 Somehow a simple cl-launch change causes SBCL to bork while issuing a style-warning. the signal turns into a break that borks with The value # is not of type (OR (VECTOR CHARACTER) (VECTOR NIL) FUNCTION BASE-STRING). 19:54:15 what I'm thinking is a tool (like Xach just mentioned) that spit out a vanilla Lisp project tuned for ASDF and living in it's own package. That is, a vanilla Lisp project using the current best practices. 19:54:17 wtf? 19:54:32 rickmode: that's exactly what clbuild make-project does 19:54:52 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 19:54:59 -!- wedgeV [~wedge@adsl-69-232-231-189.dsl.pltn13.pacbell.net] has quit [Quit: wedgeV] 19:55:03 lispm [~joswig@e177153047.adsl.alicedsl.de] has joined #lisp 19:55:14 ryepup: cool. 19:55:18 rickmode: and puts in a git repo 19:55:34 I just learned about it last week, thought it was pretty sweet 19:55:39 rickmode: Seriously though once you "get it" when it comes to the structure of projects, you'll find your own way of designing the structure too. Personally the way I went about it was looking at projects on the net, larger ones, and looking how they were built then just mimicking them a bit 19:55:42 ryepop... really? dang. I see clbuild mentioned ... none of the "getting started" pages I've seen used it 19:55:46 Fare: Maybe someone's doing something sketchy with ignore-errors? 19:55:47 -!- fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 240 seconds] 19:56:26 Is clbuild a replacement for asdf-install? 19:56:27 alejo [~alejo@89.112.97.36.pppoe.eltel.net] has joined #lisp 19:57:34 TDT: I agree with you. It's just a bit painful today. And let's say I want to add a new team member to my project. I'd like to just point them to a best practice rather than say "go struggle with Lisp for 2 months then come back" 19:57:49 nyef: ok, so I must be doing something sketchy with ignore-errors 19:57:54 rickmode: you could do worse than to look at the way Xach structures his projects. 19:58:02 namely, I'm wrapping my thing in ignore-errors... 19:58:02 S3 is a model of clarity. 19:58:29 wait, I removed the ignore-errors already 19:58:36 but ryepup is right, clbuild already does exactly what you're talking about. 19:59:11 btw: I'm hear because I'm fairly convinced lisp is a better choice than phython/perl/php/ruby/scala/java. Fade: ya - I'm already using his simple template. 19:59:17 I don't use clbuild, but it sounds like a nice way to get started. 19:59:36 *gigamonkey* also doesn't use clbuild. 19:59:44 Say, who wants to look at the docs and/or try out buildapp today?! 19:59:45 rickmode: Well, struggle is a bit harsh of a word. Like any language you need to learn the way to program in it - and Lisp is no different than anything else. The "fast" nature of rails, for example, quickly dies down after a bit and plays well off getting started fast but not maintaining quickness through the lifetime of development - at least on larger projects. 19:59:48 so no, no ignore-errors that I can see 19:59:50 I use clbuild for all my projects. 19:59:59 a handler-bind, tho 20:00:08 each project gets its own clbuild instance. 20:00:09 although I have asdf-install, it seems I install things manually most time 20:00:12 emma_ [~em@unaffiliated/emma] has joined #lisp 20:00:24 -!- alejo [~alejo@89.112.97.36.pppoe.eltel.net] has left #lisp 20:00:29 I figure understanding ASDF is not *that* hard, especially after I came up with my own scheme for finding the .asd files. 20:00:33 have you heard of repo-install ? 20:00:37 rickmode: Like most other languages out there, it's helpful to look at code others wrote to get a feel for stuff. I spend a lot of time just churning through other's code to really understand stuff better myself...doesn't feel productive sometimes though ;) 20:00:45 Xach: what is buildapp? 20:00:50 And that saves me having to understand yet another piece of software (clbuild or asdf-install). 20:00:55 drewc: glad you asked, friend! 20:00:58 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 20:01:01 TDT: I totally agree. I felt the burn of frameworks many times. They get you started but then you have to master the entire frameworks code to really get a project done. (I'm thinking specifically MFC back in the late 90's. Ugh.) 20:01:02 gigamonkey: it's the fetching projects part i find pretty tedious. 20:01:16 drewc: http://xach.com/lisp/buildapp/ aims to answer 20:01:23 Krystof [~csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has joined #lisp 20:01:27 Xach: yeah. But like you, I've built up a pretty big set of libraries that I use. 20:01:33 *drewc* uses clbuild but is looking _hard_ at lispy 20:01:34 So these days I usually have most things I need. 20:01:39 rickmode: I do rails here for my job...we've run into issues where the framework at times actually slows us down more than speeds things up. 20:02:11 my 'use' of clbuild is more like i used it to download my usual set of libraries and haven't touched it since really. 20:02:15 lispy looks like it may be a winner. 20:02:28 TDT: that is true of all frameworks 20:02:33 I have (swank:create-server :dont-close t) in the init script of ccl. I want to make it conditional on whether there's a swank server on port 4005. 20:02:37 how to do that? 20:02:43 libCL looks like the right kind of idea though I haven't followed it closely enough to see if it's getting anywhere. 20:02:47 TDT: that's the problem with frameworks, you're stuck in them 20:02:55 minion: lispy 20:02:56 lispy: Lispy is an application for Common Lisp library management in Common Lisp. http://www.cliki.net/lispy 20:03:00 otherwise it causes some apps to go into debugger 20:03:06 drewc: buildapp is a little like cl-launch 20:03:13 gigamonkey: i think libCL is possibly the wrong path, simply because it's a little too centralized 20:03:20 *Xach* should put that in the docs, and hu.dwim.build too 20:03:35 Well, depends whether it's centralized well or not, I guess. 20:03:52 I've already got all the libraries I use in one hg repo. 20:03:53 Xach, btw did you find the source? 20:04:08 drewc: Yeah, which is why frameworks work realy well for small stuff, simple and encapsulated stuff, but not the larger stuff. 20:04:10 levente_meszaros: yes, thanks. 20:04:11 I've thought about just publishing that repo then someone can get a big pile of libraries all at once. 20:04:27 Xach: "The latest version is 42, released on February 31st, 2050." i assume that's a template :) 20:04:35 Sort of the Java model--you just get an enormous JDK that has everything you could possibly need for 90% of what you do. 20:04:37 -!- emma_ [~em@unaffiliated/emma] has quit [Ping timeout: 264 seconds] 20:04:44 gigamonkey: i've thought of that approach as well 20:05:01 I thought that's more or less what libCL was proposing to do. 20:05:16 drewc: yes, i haven't released it in this timeline yet. but you can grab it from http://xach.com/tmp/buildapp.tgz 20:05:21 redline6561 [~redline@c-66-56-16-250.hsd1.ga.comcast.net] has joined #lisp 20:05:57 drewc: no email reply from the hackerfoo.com guy so I sent him a snail-mail letter. 20:06:08 emma [~em@unaffiliated/emma] has joined #lisp 20:07:02 how to check if swank server is running on 4005? 20:07:05 gigamonkey: cool... noticed you pimping the idea in scroolback. 20:07:13 davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has joined #lisp 20:07:25 leo2007: connect to it 20:07:26 leo2007: connect to port 4005 20:07:27 leo2007: try binding to it and catch the failure? 20:08:11 gigamonkey: getting Xach involved was part of my master plan, glad it happened naturally :) 20:08:28 what did i do? 20:08:28 *Fare* updates cl-launch 3.00 to use ASDF 1.606, but no one is using 1.606 yet. 20:08:43 Correct me if I'm wrong, but in other (weaker) languages, when you can't solve a problem idiomatically... you build new library or framework. And thus an explosion of frameworks. In Lisp this seems to be less of a problem since just about everything can be solved via macros and whatnot. And so libraries are a timesaver rather than a place to put a bunch of ugly verbose code that you'd rather not write yourself. 20:09:26 rickmode: not sure I'd agree with that 20:09:32 Xach: "Logical Pathnames - More Practical Common Lisp" :) 20:09:33 Xach: you allowed yourself to get sucked my devious MPCL series idea. 20:09:34 one might think that this is weird: "/static/dojo/dojo/dojo/dojo.js" :) 20:09:39 oh dear! 20:09:41 macros ARE "a new library or framework" 20:09:42 wtf? 20:10:09 rickmode: i dunno. it happens in lisp, too. lichtblau wrote some very cool bindings for QT, f'rinstance. 20:10:25 brennanc: you might be interested in redshank extension to SLIME 20:10:36 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 252 seconds] 20:10:41 rickmode: i think part of the lack of explosion is the lack of people. maybe there is a lisp firecracker going off. 20:10:42 gigamonkey, I'm eager for feedback if you try the latest ASDF and its configuration mechanism. 20:11:13 rickmode: i think you're wrong... and just looking at macros like a panacea as all new lispers tend to do :) 20:11:18 Xach: maybe lisp has a very long fuse... 20:11:47 or maybe Haskell learnt from CL and that's why they're trying *not* to succeed, but they are failing at it ;-) 20:11:51 if logical pathnames are the answer, what is the question? 20:11:53 emma [~em@unaffiliated/emma] has joined #lisp 20:12:10 Fare: ASDF comes with SBCL, right? Do I have to do anything special to use the new one--just compile/load the new file? 20:12:19 Fare: 6*9 in base 13 20:12:26 rickmode: there are lots of frameworks for lisp as well, some of them are even included as part of the language (c.f. CLOS and it's framework, the MOP) 20:12:28 gigamonkey, the new asdf hasn't been pushed to SBCL *yet*. 20:12:33 its* 20:12:40 minion: thwap to me 20:12:41 drewc: look at thwap: THWAP! http://www.angryflower.com/bobsqu.gif and http://www.angryflower.com/itsits.gif (see also: http://www.unmutual.info/misc/sb_itsits.mp3 ) 20:12:42 Fare: But can I use it now? Or do I have to wait? 20:12:44 We need more beta-testers, and then documentation, hopefully a few bug fixes 20:13:04 plutonas [~plutonas@port-92-195-114-122.dynamic.qsc.de] has joined #lisp 20:13:11 yes, you can use it now. The code itself works and is mostly backwards compatible 20:13:25 'mostly' ;) 20:13:53 drewc: Apparently John Steinbeck commonly misused "its" and "it's". He won a Pulitzer and the Nobel for Literature. I wouldn't beat yourself up. 20:13:56 does it support logical pathnames? 20:14:05 Xach: i like buildapp, i'm going to integrate it into my toolchain to replace my 'sh make-image.sh' idiom. 20:14:05 Fare: okay, where do I get it? 20:14:07 it should be backwards compatible with what SBCL currently provides, modulo output redirection by default 20:14:30 drewc: cool. i'll try to wrap up a proper release tonight, with a signed tarball, cliki page, git repo, and all that. 20:14:31 it is NOT backwards compatible with some obscure features from intermediate versions that never made it to SBCL 20:14:48 e.g. *asdf-revision* or asdf-binary-locations 20:15:14 Does it not work with the external asdf-binary-locations? 20:15:22 bytecolor [~user@adsl-71-137-193-55.dsl.scrm01.pacbell.net] has joined #lisp 20:15:25 I'd be sad if my source dirs were once again littered with .fasl files. 20:15:25 gigamonkey, you can get a tarball from cl.net or clone the git repo 20:15:31 Xach: release? what the hell is that? :P 20:15:32 "modulo output redirection by default" 20:15:46 gigamonkey, it has its own fasl redirection mechanism, probably incompatible with ABL 20:15:56 does that mean it would actually cause sbcl to fail to install its contribs? 20:15:58 Krystof: ah, that's what that meant. 20:16:05 I thought it was talking about spew to the console 20:16:15 if so, in what respect is that "backwards compatible with what SBCL currently provides"? 20:16:55 drewc: *someone's* gotta do it 20:17:08 Krystof, oops. SBCL will probably want to disable the FASL caching while compiling the contribs, indeed 20:17:33 yeah, or I could just ignore the new stuff until that gets fixed 20:17:35 gigamonkey, if you disable ASDF's builtin output redirection, ABL should keep working 20:18:01 Xach: you are to be commended for that, imo :) 20:18:03 Krystof: you were going to do that until at least may, anyway 20:18:04 Krystof, export ASDF_OUTPUT_TRANSLATIONS=/:/ 20:18:10 Xach: that is very true 20:18:11 Well, I don't care about ABL per se. I just want a mechanism to send .fasls somewhere out of the way. 20:18:38 *Xach* tries to remember how to add projects to github 20:18:45 If some sbcl hacker updates ASDF, I don't think it's wrong to require that above line to be added to the compilation script. 20:19:02 gigamonkey, that mechanism is now built into ASDF. 20:19:06 Good. 20:19:09 use logical pathnames ("foo:**;*.fasl" "/baz/bin/**/*.fasl") 20:19:19 Odin- [~sbkhh@s121-302.gardur.hi.is] has joined #lisp 20:19:26 and disablable either through a configuration file or an environment variable 20:19:35 which takes priority? 20:19:48 leo2007 pasted "swank" at http://paste.lisp.org/display/94725 20:19:52 I use handler-case. Any idea why this doesn't work? 20:19:55 lispm: logical pathnames are accepted, too 20:20:12 (I think - may have to tweak the code to avoid over-eager resolution) 20:20:28 Krystof, environment variable takes priority over configuration file 20:20:30 leo2007: what did you expect (format nil ...) to do? 20:20:37 ok 20:20:39 whatever the program inserts in a --eval takes priority over anything 20:21:08 drewc: I'm very anxious to hear about problems my test cases didn't trigger. 20:21:10 -!- lithper2_ [~chatzilla@72.8.31.30] has quit [Read error: Connection reset by peer] 20:21:39 Xach: I want it to print a string and then carry on with the business. 20:21:48 configuration may lazily inherit from previous configuration, e.g. after --eval stuff, environment variable, user conf file, user conf dir, system conf file, system conf dir. 20:22:15 leo2007: print it where? 20:22:25 leo2007: (format nil ...) returns a string (it doesn't print anything to a normal output stream), but to "carry on" from your handler-case, you must initiate a non-local exit from the handler. 20:22:43 leo2007: like with go, return-from, throw, etc 20:23:04 otherwise you'll end up in the normal debugging flow 20:23:06 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 245 seconds] 20:23:07 using error install of socket-error works. 20:24:18 Xach: the specific error should be socket-creation-error ;) 20:24:55 Xach: what do you think of postabon's simple webapp approach? http://blog.postabon.com/a-simple-lisp-webapp-for-beginners 20:25:16 Xach: isn't stack in handler-case already unwound? 20:25:23 leo2007: oh, ok. i mixed that up with handler-bind, sorry. 20:25:35 rickmode: sounds like a great idea to me. 20:25:36 stassats`: you idea of connect to it, which function in swank.lisp does that? 20:25:40 lispm: because ASDF uses truename on the .asd, I think you don't get to use logical pathnames, anyway. But you can configure arbitrary translate-pathname patterns into ASDF. 20:26:20 lispm: so if you want to match /foo/**/*.fasl into /bar/foo/**/*.BLAH you can 20:26:20 no need to tweak it for me, probably no one else would use logical pathnames and ASDF 20:26:24 abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has joined #lisp 20:27:04 leo2007: swank is only a server, not a client 20:27:20 I thought of janderson, and tried to not make it harder for logical pathnames than it already is. 20:27:23 but I want to test the connection in ccl's init script. 20:27:51 your handler-case doesn't work? 20:28:06 the handler-case seems like a good idea. 20:28:09 I suppose if you asd file has :pathname #p"LOGICAL-HOST:foo>bar.lisp", it will work. 20:28:09 it works;) 20:28:32 Fare: #\> is not allowed! 20:28:40 right 20:28:49 With that other programs (maxima, tex2page) will run fine. 20:28:49 it is ; 20:28:54 unless of course you add it to allegro's list of allowed characters... 20:29:06 -!- sepult [~user@xdsl-87-78-25-71.netcologne.de] has quit [Read error: Connection reset by peer] 20:29:23 maybe I meant ; instead of > I haven't used logical pathnames in too long. 20:29:45 one thing that means 'works' with logical pathname, is that you use LPs in the system description 20:29:51 and when you compile a system 20:30:00 COMPILE-FILE sees a logical pathname 20:30:15 lispm: you better setup your LPs very early. Earlier than asdf can help you with. 20:30:16 for load, LOAD sees the logical pathname 20:30:43 that means you can load the code and the recorded source locations also contain logical pathnames 20:30:50 I would really like to append a filesystem blob to a SBCL executable image and be able to refer to that with directory, open, probe-file, etc. 20:31:00 gruseom [~daniel@S0106001217057777.cg.shawcable.net] has joined #lisp 20:31:01 How about it, #lisp? 20:31:20 I have to travel, so email me hot-loadable patches when they're ready. 20:31:22 Xach: sounds cool. Good luck. 20:31:24 then you can load the code on a different machine and adjust the logical pathname translations and for example (ed 'foo) would work 20:31:47 lispm: CCL seems to do something magic about that for its own source code, already. 20:32:02 lispm: but yes, I want xcvb to do precisely that. 20:32:37 Xach: also an SQLite DB 20:32:41 lispm: especially since a distributed xcvb has to work in a way that source files move from machine to machine 20:32:52 also a pony 20:33:08 can handler-bind and handler-case be written by the other? 20:33:33 leo2007: read the clhs 20:33:38 clhs handler-case 20:33:38 http://www.lispworks.com/reference/HyperSpec/Body/m_hand_1.htm 20:33:41 -!- konr [~user@201.82.130.248] has quit [Read error: Connection reset by peer] 20:33:59 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 20:34:33 konr [~user@201.82.130.248] has joined #lisp 20:35:12 emma [~em@unaffiliated/emma] has joined #lisp 20:35:38 leo2007, handler-case can probably not implement handler-bind 20:35:49 since it drops too much of the continuation 20:35:54 -!- kpreid [~kpreid@216-171-189-244.northland.net] has quit [Quit: kpreid] 20:35:58 Fare: if I have your magic environment variable when I compile sbcl's contribs, do I also need that environment variable when the user, at some later date, requires those contribs? 20:36:14 and will that interfere with the user's desired customization? 20:36:20 kpreid [~kpreid@216-171-189-244.northland.net] has joined #lisp 20:36:22 -!- kpreid [~kpreid@216-171-189-244.northland.net] has quit [Excess Flood] 20:36:40 kpreid [~kpreid@216-171-189-244.northland.net] has joined #lisp 20:37:45 Blkt [~user@dynamic-adsl-94-37-235-148.clienti.tiscali.it] has joined #lisp 20:39:00 ABL has some special rules for sbcl contribs 20:39:22 thanks all. 20:39:38 -!- emma [~em@unaffiliated/emma] has quit [Ping timeout: 252 seconds] 20:40:16 stassats`: have you seen this before? http://paste.lisp.org/display/94707 20:40:36 -!- trebor_dki [~user@mail.dki.tu-darmstadt.de] has quit [Ping timeout: 276 seconds] 20:40:45 no 20:41:22 It seems to happen to me randomly. 20:41:33 -!- kib2 [~chatzilla@2a01:e35:2e49:f1c0:103c:ed8:7b3b:31ac] has quit [Read error: Connection reset by peer] 20:42:09 kib2 [~chatzilla@2a01:e35:2e49:f1c0:103c:ed8:7b3b:31ac] has joined #lisp 20:43:10 lithper2_ [~chatzilla@72.8.31.30] has joined #lisp 20:43:29 francogrex [~user@56.143-64-87.adsl-dyn.isp.belgacom.be] has joined #lisp 20:43:59 I have some difficulties understanding this simple macro: http://paste.lisp.org/display/94727 20:45:15 francogrex: macroexpand it, you'll see the problem immediately 20:45:32 I did macroexpand it 20:45:42 -!- demmeln [~Adium@lapradig96.informatik.tu-muenchen.de] has quit [Read error: Operation timed out] 20:45:50 francogrex: well, what exactly do you expect (setf "string" nil) to do? 20:45:55 but how do I macroexpand the second one within the let? 20:46:14 remove the let 20:46:22 using macroexpand? 20:46:28 just expand the (add-word ...) form 20:47:05 francogrex: if you think the LET affects the expansion of the macro, you need to go back to the chapter on macros ;) 20:47:45 http://www.gigamonkeys.com/book/macros-standard-control-constructs.html 20:47:59 does minion know about PCL chapters? ;-) 20:48:11 -!- xlq [~xlq@88-106-17-87.dynamic.dsl.as9105.com] has left #lisp 20:49:33 -!- leo2007 [~leo@cpc2-cmbg15-2-0-cust694.5-4.cable.virginmedia.com] has quit [Quit: restart emacs] 20:49:39 lispm: i'm willing to bet gigabot will :) 20:49:56 gigabot? ;-) 20:50:23 lispm: It's sortof like a "megabot", only a thousand times better! 20:50:29 haha! 20:50:40 lispm: you haven't met gigabot yet? 20:51:00 not yet, I'd really like to! 20:51:04 lispm: wait till gigamonkey gets back from lunch, he'll be happy to load him up :) 20:51:08 gigamonkey was putting together something based on AIML to do online help for lispers in some context. 20:51:11 gigamonkey: right? :P 20:51:22 that's fun! 20:51:49 lispm: /join #gigabot if you want to play around when/if the bot joins 20:52:05 sepult [~user@xdsl-87-78-25-71.netcologne.de] has joined #lisp 20:55:04 AIML, of course, is utter trash, but looks to be easy enough to implement and computationally inexpensive. Hell on setting up the knowledge database, though. 20:55:04 automated newbie support 20:55:04 -!- sierinjs [~root@unaffiliated/sierinjs] has quit [Ping timeout: 265 seconds] 20:55:04 And no real sophistication, so no reasoning about what might be going wrong or maintaining any notion of the state of a newbie's knowledge/experience. 20:55:04 -!- PissedNumlock [~resteven@igwe32.vub.ac.be] has quit [Read error: Connection reset by peer] 20:55:04 nyef: still, 90% of newbie questions are faq's that gigabot can trivially answer 20:55:04 wasn't there some Lisp style checker that could be used in this context 20:55:04 That's true, I suppose. 20:55:04 PissedNumlock [~resteven@igwe32.vub.ac.be] has joined #lisp 20:55:04 nyef: and filling the thing with lisp lore and having newbies chat with it for a while can't be a bad thing 20:55:04 http://www.cs.northwestern.edu/academics/courses/325/exercises/critic.html 20:55:04 The Lisp Critic 20:55:05 paste some code to the paste board and the Lisp Critic will have a look 20:55:33 lispm: i hate that thing... tells my i'm wrong to use eq on symbols 20:55:42 tells me* 20:55:45 change the database 20:55:57 drewc: what?? 20:55:58 sierinjs [~root@unaffiliated/sierinjs] has joined #lisp 20:56:08 -!- ichernetsky [~ichernets@port-163-adslby-pool46.infonet.by] has quit [Quit: Leaving.] 20:56:12 why does that make sense? :| 20:56:38 grouzen [~grouzen@91.214.124.2] has joined #lisp 20:57:12 I guess in hundred years all Lisp experts will have died, but Gigabot will suport a few hundred Lisp newbies 20:57:14 marioxcc [~user@200.92.23.60] has joined #lisp 20:57:17 kwinz3 [~kwinz@77-22-179-242-dynip.superkabel.de] has joined #lisp 20:57:17 support 20:57:22 -!- anekos [~anekos@pl932.nas923.p-osaka.nttpc.ne.jp] has quit [Ping timeout: 256 seconds] 20:57:33 with the Lisp newbies being other bots 20:57:34 Meh. Does the critic handle things like indent, paren balance, use or non-use of read-syntax, etc.? 20:57:44 sykopomp: well, i think the idea is that newbies should never use EQ as they probably mean EQL and there is no good reason to use EQ over EQL from any point of view beyond personal expression... but i value my personal expression! :) 20:58:21 anekos [~anekos@pl932.nas923.p-osaka.nttpc.ne.jp] has joined #lisp 20:59:05 lispm: hundred years? won't it be supporting ARC? :P 20:59:11 daniel_ [~daniel@p5082BB6F.dip.t-dialin.net] has joined #lisp 20:59:25 -!- jtza8 [~jtza8@41.208.192.161] has quit [Quit: leaving] 20:59:29 -!- abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has quit [Quit: Leaving.] 20:59:33 drewc: what is ARC? a LISP? 20:59:45 In a hundred years we'll -still- be using common lisp... and it -still- won't have been revised since '94. 20:59:53 sykopomp: heh 21:00:01 since 2094? 21:00:05 lol 21:00:05 -!- lithper2_ [~chatzilla@72.8.31.30] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.5.7/20091221164558]] 21:00:07 stassats`: Since 1994. 21:00:11 in 2105 the remaining ARC archive will be deleted by a bot 21:00:21 lnostdal [~lnostdal@90.149.113.175] has joined #lisp 21:00:45 Bard looks like a fun lisp 21:01:01 -!- daniel [~daniel@p5082CC13.dip.t-dialin.net] has quit [Ping timeout: 264 seconds] 21:01:19 -!- freiksenet [~freiksene@hoasnet-fe29dd00-202.dhcp.inet.fi] has quit [Remote host closed the connection] 21:01:23 abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has joined #lisp 21:01:33 but in 2214 Graham will be made alive again from genetic material and he reinvents ARC 21:01:58 In 2514 Graham will be revived again to be laughed at 21:02:03 ;-) 21:02:04 hehe 21:02:22 schaueho [~schaueho@dslb-088-066-035-013.pools.arcor-ip.net] has joined #lisp 21:02:23 and left as only pre-singularity human ;-) 21:02:34 *Fade* writes some incorporation articles in common lisp 21:03:05 Blkt` [~user@dynamic-adsl-94-37-252-163.clienti.tiscali.it] has joined #lisp 21:03:51 lispm: macroexpansion give partly this (PUSH (COERCE (NREVERSE WORD) 'STRING) SENTENCE) 21:03:53 in 2214, the english language has evolved , due to textual communication overuse, in a way that all vowels are omitted. PG, in hindsight, was years ahead of his time, so they bring him back to predict the next step! 21:04:22 drewc: I would prefer if Mikel would implement his application ideas in CL 21:04:26 "all vowels are omitted", you mean like Eastern Europe? 21:04:38 Adlai [~Adlai@unaffiliated/adlai] has joined #lisp 21:04:48 lispm: so I understand that (push "string" "string") should not work 21:04:49 drewc: though Bard looks interesting 21:04:59 francogrex: right 21:05:11 -!- dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [Read error: Connection reset by peer] 21:05:11 -!- Blkt [~user@dynamic-adsl-94-37-235-148.clienti.tiscali.it] has quit [Ping timeout: 265 seconds] 21:05:21 the variable names of the macro seem to indicate that you need variables 21:06:02 dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 21:06:02 lispm: right right 21:06:30 binding a string to a var will work 21:06:49 in 2216 aliens explain to PG how to really design a Lisp language 21:07:06 -!- milanj [~milan@109.93.193.107] has quit [Ping timeout: 240 seconds] 21:07:19 Modius [~Modius@cpe-70-123-130-159.austin.res.rr.com] has joined #lisp 21:07:21 andyzweb [~andyzweb@wikipedia/andyzweb] has joined #lisp 21:07:22 lispm: in 2218, Aliens give up and go to /prog/ 21:07:31 help I broke my parentheses keys 21:07:50 lispm: and spend days on stuff like "HAVE YOU READ YOUR SICP TODAY" 21:07:54 felideon [~user@12.228.15.162] has joined #lisp 21:07:58 andyzweb: it's the end of lisp for you then 21:07:59 remap '[' and ']' 21:08:19 fade you have saved my day 21:08:32 feck. i fed the troll. 21:08:58 or switch to Arc, it has less parentheses 21:09:23 install a new readtable 21:09:35 -!- ChanServ has set mode +o drewc 21:09:38 *francogrex* go do some general linear models 21:09:57 -!- drewc [~drewc@89.16.166.162] has been kicked from #lisp 21:10:24 -!- Edico_ [~Edico@unaffiliated/edico] has quit [Quit: Ex-Chat] 21:10:58 -!- kwinz3 [~kwinz@77-22-179-242-dynip.superkabel.de] has quit [Ping timeout: 248 seconds] 21:11:12 -!- ChanServ has set mode -o drewc 21:11:13 Anyone use hunchentoot around here? How about with output-streaming? I have a web load tester hooked up, and a web page serving up 100x the letter A. Returning a string, it's fine, write-byte 65 x 100 to that stream with the loadtester, it's leaking and throwing all sorts of errors and occasionally grenading. 21:12:08 anyone else having trouble downloading the latest AMD64 binary off the sbcl.org site? 21:12:10 write-byte to a binary stream? 21:12:19 stassats`: Yeah 21:12:43 and what errors? 21:13:20 -!- sayyestolife [~jot_n@h-60-147.A163.priv.bahnhof.se] has quit [] 21:14:06 stassats`: That's the thing - LW32 on Win32, I get Exception data/registers - but occasional <**> Return address not inside a CFO : 20809a13 at 2efe78c and problems inside of MARK-GENERATION. This includes calling with the loadtester set to a single client. 21:14:24 I don't think it's failing to allocate a stack as I've seen that error and this ain't it. 21:14:30 I'm not locking, I Have a bare bones handler. 21:14:58 Hunchentoot special-cases LW through its own streaming as I understand it. 21:15:42 I've got this one wrapped up in a LW Win32 standalone 1-directory project (complete with dependencies) - I hope I can con Edi into running it. 21:16:12 milanj [~milan@91.150.120.187] has joined #lisp 21:16:23 " I'm not locking" <--- ? 21:17:05 I'm not doing anything in the handler that is locking the global data in hunchentoot, just spitting 100 binary 65s to the stream. 21:17:34 I mentioned it as if code takes this lock and holds it too long it's possible to have an overflow of handler processes. 21:17:49 nyef: btw, could you enlighten me regarding the problems with threading on win32? 21:18:26 Modius: well, a lack of concurrency controls and a memory exception points to a race condition in my eyes 21:19:51 Krystof, no, the SBCL hook for ASDF also includes provision to automatically configure the output translation so that users have to go out of their way to screw up and not be able to (require :sb-introspect) successfully. 21:19:58 drewc: Hunchentoot is dealing with the thread issues - I meant I'm not causing any stoppage at the handler level 21:20:42 drewc: Honestly, I was isolating this on suspicion of there being a lispworks bug - but first I have to remove hunchentoot/its socket/thread use, and of course my own use, from the equation. 21:21:06 Modius: how is hunchentoot dealing with the thread issues? are you sure it's working? What does your backtrace say it was trying to do? 21:22:11 drewc: what's so neat about Bard? 21:22:17 sykopomp: Categories 21:22:35 drewc: drewc: I just meant that I'd eliminated the "too many processes" cause of failure. Truly, I have no guarantee of anything. 21:22:42 drewc: you mean Sheeple? 21:22:43 :3 21:22:46 sykopomp: no 21:22:48 not at all 21:22:51 :3 21:23:28 *drewc* things sykopomp thinks everything is sheeple like a Java programmers sees classes everywhere 21:23:38 p_l: It boils down to maintaining a pointer to the TLS data block, some mechanism for stopping a thread for GC and for interrupting a thread in order to deliver certain kinds of messages (SIGINT), and thread synchronization (which is currently largely in terms of linux futexes or pthread things). 21:23:57 p_l: There may be other concerns around thread-affine alien things, but that's more of a "for later" thing. 21:23:58 ace4016 [ace4016@cpe-76-170-134-79.socal.res.rr.com] has joined #lisp 21:24:10 -!- grouzen [~grouzen@91.214.124.2] has quit [Read error: Operation timed out] 21:24:37 nyef: so it's more of a "no time to finish it" rather than "differs so much and requires special handling" kind of thing? 21:25:51 -!- Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has quit [Quit: Leaving] 21:27:26 -!- Zephyrus [~emanuele@unaffiliated/zephyrus] has quit [Quit: ""] 21:28:26 leo2007 [~leo@cpc2-cmbg15-2-0-cust694.5-4.cable.virginmedia.com] has joined #lisp 21:28:46 Krystof, you're right though that I should triple check that... 21:30:33 Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has joined #lisp 21:30:51 b4|hraban [~b4@a83-163-41-120.adsl.xs4all.nl] has joined #lisp 21:31:15 bew [~bew@cpc2-dals16-2-0-cust285.hari.cable.virginmedia.com] has joined #lisp 21:33:43 -!- abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has quit [Quit: Leaving.] 21:34:23 -!- leo2007 [~leo@cpc2-cmbg15-2-0-cust694.5-4.cable.virginmedia.com] has quit [Quit: restart emacs] 21:34:26 demmeln [~Adium@dslb-094-216-209-050.pools.arcor-ip.net] has joined #lisp 21:35:02 -!- francogrex [~user@56.143-64-87.adsl-dyn.isp.belgacom.be] has quit [Quit: prepare tomorrow's strategy tour] 21:35:31 p_l: Indeed. I have two separate proofs of concept for the TLS block, one proof-of-concept for the runtime damage for using the win32 thread creation primitives, the beginnings of a scheme for stop-for-gc, the beginnings of a scheme for sigint/interrupt-thread (as brain-damaged as the idea is), and so on. 21:37:13 -!- demmeln [~Adium@dslb-094-216-209-050.pools.arcor-ip.net] has left #lisp 21:37:17 -!- UnwashedMeme [~nathan@216.155.97.1] has quit [Read error: Connection reset by peer] 21:38:11 nyef: win32 doesn't have async signaling? 21:38:39 UnwashedMeme [~nathan@216.155.97.1] has joined #lisp 21:39:09 davazp` [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has joined #lisp 21:39:10 rdd` [~rdd@c83-250-52-182.bredband.comhem.se] has joined #lisp 21:39:31 OmniMancer1 [~OmniMance@122-57-4-252.jetstream.xtra.co.nz] has joined #lisp 21:40:02 -!- davazp` [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has quit [Remote host closed the connection] 21:40:10 -!- davazp [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has quit [Remote host closed the connection] 21:40:10 *p_l* recalls something about lack of good async primitives requiring weird tricks with main message loop 21:40:12 davazp` [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has joined #lisp 21:40:15 -!- nha [~prefect@250-194.105-92.cust.bluewin.ch] has quit [Ping timeout: 252 seconds] 21:40:29 -!- lispm [~joswig@e177153047.adsl.alicedsl.de] has quit [Remote host closed the connection] 21:40:43 drwho [~d@c-98-225-208-183.hsd1.pa.comcast.net] has joined #lisp 21:41:03 -!- rdd [~rdd@c83-250-52-182.bredband.comhem.se] has quit [Remote host closed the connection] 21:42:34 -!- OmniMancer [~OmniMance@122-57-4-252.jetstream.xtra.co.nz] has quit [Ping timeout: 256 seconds] 21:43:28 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 21:44:33 p_l: Any asynchronous interrupt is trouble, as far as process semantics go. 21:44:53 drewc: got a url for bard lisp? 21:45:01 p_l: Ask Fare about PCLSRing some time if you're curious. 21:45:35 dic3m4n [~matt@host86-128-230-9.range86-128.btcentralplus.com] has joined #lisp 21:45:42 kglovern [~kglovern@129-97-159-12.uwaterloo.ca] has joined #lisp 21:45:58 Oops, my output-translations configuration looks fine, but the search seems to prioritize the wrong sb-introspect... hum. 21:46:03 p_l: About the only method available for delivering an event asynchronously without additional headaches on the part of the thread being delivered to is to use SuspendThread() then GetThreadContext(), modify the context structure, SetThreadContext(), then ResumeThread(). 21:46:18 I thought the builtin sb-introspect would be preferred to one in source-registry 21:46:24 nyef: well, I just wanted to know how it was implemented on windows... but it seems it's quite bad 21:46:24 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 21:46:40 It can all be done, it's just the doing, you know? 21:46:55 And I find interrupt-thread to be a horrible concept. 21:47:29 nyef: I know that VMS' implementation oozes simplicity (it's basically an exception type, with all semantics of a per-thread unix signal handler) 21:47:31 As it stands now, however, we don't even have working C-c, which is a prerequisite. 21:47:34 *Fare* smells defvar vs defparameter issue... yup 21:48:08 Dawgmatix [~Dawgmatix@c-76-124-9-27.hsd1.nj.comcast.net] has joined #lisp 21:48:22 gah... should I make it a defvar or a defparameter... in either case, I can see potential failing upgrades. 21:49:06 -!- schaueho [~schaueho@dslb-088-066-035-013.pools.arcor-ip.net] has quit [Quit: Leaving] 21:49:11 but the defparameter failures would be when a user tries something funky, whereas the defvar failures happen in the normal case 21:49:27 therefore I'm making *system-definition-search-functions* a defparameter 21:49:53 Krystof, thanks for prompting me to test the feature... 21:50:41 nyef, PCLSRing-p 21:51:16 So, it seems to me that there are two parts to the lisp application-build story, post-compilation. There's load-time, when everything gets loaded into the core, and then there's application-startup-time, when a saved core gets reloaded. 21:52:08 yup 21:52:15 nyef: sounds about right 21:52:27 you want to deinitialize stuff when dumping and reinitialize when starting up 21:52:36 I was thinking of building a nice library to do that 21:52:50 grouzen [~grouzen@91.214.124.2] has joined #lisp 21:52:54 -!- redb71 [~nospam@ip4da84af4.direct-adsl.nl] has quit [] 21:53:37 This is going back to the minimal-runtime thing. 21:54:05 nyef: how does CCL do it, btw? 21:54:14 I don't know? 21:54:24 Or are you talking about the win32 threading again? 21:54:29 oh, and the ptrace into a target process thingie? 21:54:34 Yeah! 21:54:34 yes, win32 threading, sorry 21:54:44 brill [~brill@0x5da22faa.cpe.ge-1-1-0-1104.hrnqu2.customer.tele.dk] has joined #lisp 21:55:21 PatrickMcLaren [~Patrick@ppp118-209-197-239.lns20.mel6.internode.on.net] has joined #lisp 21:55:37 For CCL, they use a segment selector for the TLS block (the second of two proof-of-concept cases I mentioned), they have separate lisp and FFI threads, and so on. 21:55:56 -!- TDT [~dthole@dhcp80ff865b.dynamic.uiowa.edu] has quit [Quit: Leaving.] 21:56:15 -!- brill [~brill@0x5da22faa.cpe.ge-1-1-0-1104.hrnqu2.customer.tele.dk] has quit [Client Quit] 21:56:47 ltriant [~ltriant@lithium.mailguard.com.au] has joined #lisp 21:58:42 *p_l* wonders if it would be possible to use SEH for interrupts on win32 22:00:19 p_l: The issue is that you have to essentially "fake up" a function call to generate the exception when the thread is resumed. 22:00:44 We have the architecture for parts of this in SBCL already, thanks to the OSX signal-handling disaster. 22:01:20 nyef: so there's no function to cause exception trap in win32? 22:02:03 -!- mishoo [~mishoo@79.112.118.235] has quit [Read error: Operation timed out] 22:02:19 In a random other thread? Not that I'm aware of. 22:02:35 brill [~brill@0x5da22faa.cpe.ge-1-1-0-1104.hrnqu2.customer.tele.dk] has joined #lisp 22:02:50 Doesn't help that it's effectively an unregulated namespace for exceptions, either. 22:03:03 phf [~user@c-76-124-103-85.hsd1.pa.comcast.net] has joined #lisp 22:03:04 ... the more I read into it, I wonder why people couldn't implement it in some simple manner. The documentation on VMS' EHF(sp?) is quite simple 22:03:09 "32-bit integer, some range of which is reserved to the system, the rest is available for applications." 22:03:59 well, VMS uses similar scheme, with all system and hardware-assigned numbers listed 22:04:17 -!- rdd` is now known as rdd 22:05:10 Again, doesn't help on windows, where there's a wide-open range for identifier collision. 22:05:33 heh. 22:05:57 hrm .. 'global lexical' is a bit of a non sequitur .. what's a better name? 22:05:58 Still, I'll have to look into porting to VMS sometime later. Somehow sounds saner than win32. 22:06:21 'toplevel variable' works 22:06:48 -!- varjag [~eugene@226.119.202.84.customer.cdi.no] has quit [Quit: Leaving] 22:07:01 Oh, god. Not this whole "global lexical" thing again. 22:07:31 brill_ [~brill@0x5da22faa.cpe.ge-1-1-0-1104.hrnqu2.customer.tele.dk] has joined #lisp 22:07:39 -!- brill [~brill@0x5da22faa.cpe.ge-1-1-0-1104.hrnqu2.customer.tele.dk] has quit [Quit: Leaving] 22:07:48 It's quite simple: free reference to a symbol not proclaimed to be special or defined as a symbol-macro is a program-error. 22:08:17 brown [~user@2620:0:1003:1000:216:e6ff:fed5:8b75] has joined #lisp 22:08:26 nyef: yeah, i agree with you there... i'm just looking for a name 22:08:44 'conspicuous lexical' 22:08:46 -!- brown is now known as Guest81998 22:08:50 How about... "scheme-like variable"? 22:09:11 Thus allowing us to say "if you want scheme, you know where to find it." 22:09:15 nyef: other languages besides scheme have a toplevel namespace 22:09:29 So? 22:09:46 so, algol-like variable didn't appeal to you as a name? 22:10:02 so we can say 'if you want algol....' 22:10:03 -!- bew [~bew@cpc2-dals16-2-0-cust285.hari.cable.virginmedia.com] has quit [Quit: bew] 22:10:20 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 22:10:50 simula had classes before lisp.. should we call them 'simula-like structs' and tell people to use simula when they want classes? 22:13:31 It's more a matter of "this behavior which you seem so enamored of is known to be undefined in common lisp, and is of dubious utility anyway." 22:14:12 Its utility is less dubious in scheme, where it's actually the default. 22:14:18 nyef: CL gave us forms that allow us to ... gasp ... define things that are not in common lisp! 22:14:47 "common lisp doesn't define threads... threads are of dubious utility anyway" 22:15:50 We're talking about what amounts to lexically shadowing a special (or constant) variable with a lexical variable of the same name. 22:15:56 Just -use a different name already-. 22:16:02 -!- dstatyvka [ejabberd@pepelaz.jabber.od.ua] has left #lisp 22:16:14 -!- konr [~user@201.82.130.248] has quit [Ping timeout: 265 seconds] 22:16:31 no, you are.. i'm talking about a name for my toplevel variable functionality... you seem to be hung up on language lawyering 22:17:07 -!- brill_ [~brill@0x5da22faa.cpe.ge-1-1-0-1104.hrnqu2.customer.tele.dk] has quit [Quit: Leaving...] 22:18:09 does SBCL have per-thread lexical variable binding limit? 22:18:15 ichernetsky [~ichernets@195.222.69.188] has joined #lisp 22:18:39 (no, of course not, that makes no sense....) 22:21:39 -!- rickmode [~rickmode@64.134.227.78] has quit [Quit: rickmode] 22:21:52 Axius [~hi@92.84.26.47] has joined #lisp 22:23:04 -!- Axius [~hi@92.84.26.47] has quit [Read error: Connection reset by peer] 22:23:45 holy crap... google buzz... facebook must be a little scared by that. 22:23:50 -!- Blkt` [~user@dynamic-adsl-94-37-252-163.clienti.tiscali.it] has quit [Read error: Operation timed out] 22:23:55 Blkt` [~user@host-78-13-255-100.cust-adsl.tiscali.it] has joined #lisp 22:24:52 drewc - this is eerily similar to microsoft vs corel and other office application makers in the early 90s 22:25:05 so, what about the 5 people left on the internet who don't use gmail for their email? 22:25:31 the only difference is there is ZERO content/use in the produced apps 22:25:31 nyef: how does CCL deal with the OS X signal handling disaster? 22:25:44 drewc: depends on who's doing it at Google. Orkut was only great if your target was the Brazilian market. 22:25:50 foom: well, now, all of Iran will have to use something else. 22:25:58 adamant - orkuts big in india too 22:26:02 Fare: Essentially the same way that SBCL does: a mach message-handling thread. The difference is that CCL uses the initial thread and SBCL spawns one. 22:26:03 Dawgmatix: ah, interesting 22:26:25 though farmville of all things is changing that :) 22:26:31 (do we even need the internet anymore? Maybe everyone can just connect directly google through their proposed superfast fiber optic network. 22:26:38 http://www.foxnews.com/scitech/2010/02/10/google-build-broadband-fiber-optic-network/ 22:26:44 Dawgmatix: that thing is crack for a lot of folks, isn't it? 22:26:52 yes sir 22:26:56 Adamant: the fact that it lives in my gmail makes it 10x more useful to me than facebook or twitter, which don't. 22:27:00 foom: the French government will NEVER accept that. 22:27:07 time to remove "inter" from internet 22:27:39 in the futar websites will be accessed in this manner - google.com/yoursitename 22:27:42 Adamant: i don't think facebook is going away anytime soon, but i bet their stock went down when buzz was announced :) 22:27:45 just call it the googlenet ;) 22:28:00 drewc: private or metaphorical stock, probably :P 22:28:09 -!- mathk [~mathk@lns-bzn-46-82-253-250-19.adsl.proxad.net] has quit [Quit: ..zzZzzZ] 22:28:12 I don't think they're public yet 22:28:19 -!- b4|hraban [~b4@a83-163-41-120.adsl.xs4all.nl] has quit [Quit: Leaving] 22:28:20 well, point stands :P 22:28:25 indeed! 22:28:36 -!- Fare [~Fare@ita4fw1.itasoftware.com] has quit [Quit: Leaving] 22:29:02 the geo context driven applications seem to be the next frontier 22:29:12 the cost of a dead tree version of "on lisp" is truely a shame 22:29:33 1Gbps is pretty impressive. I'm not sure even the Scands or Japanese are getting faster connections than that. 22:29:34 bytecolor: the same could be said of some of the content :P 22:29:36 -!- felideon [~user@12.228.15.162] has quit [Ping timeout: 256 seconds] 22:30:17 at 1gbps local disk storage becomes redundant 22:30:37 Adamant: Japan has 1Gbit fiber to homes at sensible prices 22:30:46 *weeps* 22:30:53 p_l: I figured, but not 10Gbps, right? 22:30:59 At the storage levels we're getting to having to remote-request copies of (any movie or song or TV ever made) is becoming redundant. 22:31:01 100MBit FTTH was at readily-accessible prices for several years now 22:31:47 also, Far East been experimenting with 40MBit mobile network 22:31:49 p_l: the point is the US might finally get parity again, at least for population-dense areas where there's no excuse not to do it 22:31:55 i guess ftth is much more straightforward in places with high population density 22:32:21 Moe111 [~Moe111@bas1-montreal02-1096726543.dsl.bell.ca] has joined #lisp 22:32:40 Dawgmatix: yeah, the point is more than even the population-dense areas of the US where it should be a no-brainer aren't getting it 22:32:51 hello all. I have a question regarding accessor methods for classes: 22:33:23 Dawgmatix: some of the big ftth players in USA aren't actually interested in bringing Internet with it, but rather cable TV and VOD 22:33:36 at least that was what I found last time I looked into it 22:33:37 yeah, that's another problem. 22:33:46 p_l - i wonder if thats a demographics thing 22:33:57 Dawgmatix: it's mostly a profit thing 22:34:06 Moe111 pasted "Programmatic accessor methods" at http://paste.lisp.org/display/94737 22:34:19 they can't charge by use for residential use very well 22:34:37 for social and political reasons 22:34:44 Dawgmatix: I think it's "stick up the ass" problem with regards to business model 22:34:45 I'm using that to get some data out of objects, but I'm not sure it's quite lispy. on top of that, it's not setf'able. 22:34:58 i dont get that actually - i pay per use for gas and electricity 22:34:58 but they can tack on more charges for cable TV and VOD 22:35:04 hows the internet any different 22:35:08 (am in the states) 22:35:10 Dawgmatix: free dialup 22:35:34 is there any standard way of getting a slot's accessor? 22:35:41 leo2007 [~leo@cpc2-cmbg15-2-0-cust694.5-4.cable.virginmedia.com] has joined #lisp 22:35:51 Dawgmatix: simple - with internet, they don't have control over what you get (except with investing in expensive and not-liked filtering) 22:36:09 well, local dialup was free, you had "unlimited" use of the ISP once you had the local dialup, so nobody wants to pay usage charges, just a flat fee. 22:36:12 *leo2007* is back to lisp 22:36:20 alright. 22:36:24 Moe111: what exactly are you trying to do? there are very few situations where that idea makes sense. 22:36:50 the idea is that: I have an object with properties x1, x2, ... xn 22:37:08 I get lists from, say a db, with items x4, x7, x19 22:37:23 I want to be able to mapcar through that second list, and access the properties of the object. 22:37:38 the funcall version works for actually getting the values, but it doesn't work for setting htem 22:37:50 -!- cvandusen [~user@12.185.80.194] has quit [Read error: Operation timed out] 22:38:01 i'm very confused now... by properties you mean slots? 22:38:05 yes. 22:38:06 I do 22:38:14 sorry 22:38:18 and you get the name of the slot from the database? 22:38:26 -!- dmiles_afk [~dmiles@c-24-16-245-211.hsd1.wa.comcast.net] has quit [Ping timeout: 248 seconds] 22:38:28 correct. 22:38:37 so why not use slot-value? 22:38:43 dmiles_afk [~dmiles@c-24-16-245-211.hsd1.wa.comcast.net] has joined #lisp 22:38:44 and, in fact, the slot name is dynamically generated by the db mapping. 22:39:02 you mean as in a slot accessor directly as opposed to using the defined accessor method? 22:39:36 i mean (mapcar (lambda (name) (slot-value object name)) (get-names-from-db)) 22:40:14 well, I was trying to avoid having to do that for the cases that I've added an accessor method that might have some intentional side effects 22:40:35 might have, or this is a use case already? 22:41:23 I won't lie, I think I could get away with slot-value directly. I'm just asking if it's possible to do it the other way 22:41:36 mainly because these are all dynamically generated objects and class definitions. 22:41:41 it is, there are a few ways to do it. 22:42:01 hit me 22:42:06 (per favor) 22:42:51 first (And simplest). Don't use accessors. define a single accessor (Call it slot-value-using-db), and define any methods on that. 22:43:17 jockc [~jockc@dsl-206-251-71-75.dynamic.linkline.com] has joined #lisp 22:43:22 ok, let's say pass on that, and I'll explain to you in detail why afterwards if you want. 22:44:00 -!- kglovern [~kglovern@129-97-159-12.uwaterloo.ca] has quit [Quit: Lost terminal] 22:44:09 pkhuong: What should iterate maintainers do differently? 22:45:11 drewc: (the reason is that I've used some mop to make the classes have accessors that trigger a database fetch when a slot is unbound - e.g. an object A has an unbound slot x, you touch x, it raises a condition which is caught and the value of the slot is queried from the db, and then the new slot value is returned transparently to the initial caller) 22:45:48 abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has joined #lisp 22:45:48 ok, the second is to use a macro, say DEFINE-DB-CLASS, which saves a mapping between slot accessors and classes. This is probably best as a method called SLOT-ACCESSOR-NAME-USING-CLASS 22:45:58 wait... you are already using MOP? 22:46:03 aye 22:46:11 Moe111: no need for mop...you can use the SLOT-UNBOUND gf for that particular case. 22:46:28 *Xach* uses that all the time 22:46:41 Moe111: you're doing it wrong 22:46:55 Alright. explain to me why I'm doing it all wrong. 22:47:54 there are already generic functions that handle the part of the protocol you want to handle in the MOP. Adding accessors to do that where there are generic accessors designed to do just that is, well, misguided. 22:48:42 SLOT-UNBOUND, SLOT-VALUE-USING-CLASS, SLOT-BOUNDP-USING-CLASS, etc etc. 22:49:06 -!- bipt [bpt@cpe-075-182-095-009.nc.res.rr.com] has quit [Ping timeout: 240 seconds] 22:49:15 Moe111: for setfability, the writer gf name (if :accessor is used) is simply (setf ) 22:49:34 -!- dic3m4n [~matt@host86-128-230-9.range86-128.btcentralplus.com] has quit [Quit: dic3m4n] 22:50:04 -!- cmm [~cmm@bzq-109-64-10-30.red.bezeqint.net] has quit [Ping timeout: 265 seconds] 22:50:52 lithper2_ [~chatzilla@72.8.31.30] has joined #lisp 22:51:05 -!- alley_cat [~AlleyCat@sourcemage/elder/alleycat] has quit [Quit: Ex-Chat] 22:51:11 also, slots can have multiple accessors defined... so if you want to do this transparently, you're going to have to futz with method bodies yourself if you want them all called.... that's scary and a semantic nightmare. 22:52:07 Moe111 pasted "mop - unbound" at http://paste.lisp.org/display/94739 22:52:10 drewc: I think you've created a scenario that I'm not using. the code involved in accomplishing what I said here is 22:52:41 dralston [~dralston@S010600212986cca8.va.shawcable.net] has joined #lisp 22:52:45 and as I paste that, I remembered that it wasn't the accessors that were doing that job. 22:52:56 but the slots directly, indeed. 22:53:05 Moe111: no, it's not, and that's still the wrong thing, but significantly different! :) 22:54:40 drewc: alright, I'm kind of an open minded person, tell me why *this* version is wrong too 22:54:45 clhs slot-unbound 22:54:46 http://www.lispworks.com/reference/HyperSpec/Body/f_slt_un.htm 22:54:46 -!- Athas`` [~athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Read error: Connection reset by peer] 22:55:12 Moe111: slot-unbound is why 22:56:01 ok. given that in my project of 10's of K of source code, I have a 10 line file that handles this, we can accept that maybe I could have shaved off my code base by 0.4%. Aside from that, are you saying there's dire security and/or speed implications? 22:56:22 s/10 line file/10 line function/ 22:56:48 -!- ace4016 [ace4016@cpe-76-170-134-79.socal.res.rr.com] has quit [Ping timeout: 256 seconds] 22:57:23 ace4016 [ace4016@cpe-76-170-134-79.socal.res.rr.com] has joined #lisp 22:58:31 sigh.... no, feel free to write crappy code all you want. you can even publish it if you like. Just don't pretend it's good code because it works.. you use the MOP to duplicate functionality that is handled by bare CLOS.... you are poorly re-inventing the wheel. 22:59:06 you can use lists as arrays too, if you like. it's not my code ;) 22:59:55 -!- abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has quit [Quit: Leaving.] 23:00:26 -!- NNshag [~shag@lns-bzn-22-82-249-125-175.adsl.proxad.net] has quit [Read error: Operation timed out] 23:00:33 -!- ruepel0r [~rue@g228015189.adsl.alicedsl.de] has quit [Ping timeout: 252 seconds] 23:00:58 drewc: listen. I mean no disrespect here, but you've been going on about how my code is wrong with what amounts to a flashlight shining in a cavern for visibility. I didn't write that code up out of megalomania. In fact, I spent quite a few hours on this channel about 6 months ago trying to figure out an elegant way to handle my requirements. And I would say the odds are high that you yourself participated in the solution I finally came 23:01:43 Moe111: you'll also note that, since you got all mixed up with accessors this and foo that, you created a problem that caused you to come here asking for help... but if you had done it correctly from the start, you'd know you don't need to call the accessors, or use the mop, and you can just setf the slot value. 23:01:57 mbohun [~mbohun@202.124.74.196] has joined #lisp 23:02:11 -!- marioxcc is now known as marioxcc-AFK 23:02:21 in fact, you still can just setf the slot value with your solution... but you didn't know that for some reason. 23:02:39 drewc: alrighty then. 23:03:59 -!- hugod [~hugod@207.96.182.162] has quit [Read error: Operation timed out] 23:04:17 drewc: if you think that I was unable to run the sample I pasted into a lisp bucket into my repl and seeing that it just worked out of the box, then you may be right. I'm actually a VB developer... from India. 23:04:40 anyways, thanks everyone. 23:04:41 -!- Moe111 [~Moe111@bas1-montreal02-1096726543.dsl.bell.ca] has quit [Quit: Moe111] 23:04:50 HET2 [~diman@91.114.108.230] has joined #lisp 23:05:43 *drewc* is truly confused now 23:06:16 *austinh* doesn't understand people 23:07:12 did he make his own database framework for his app? 23:07:20 that's what it sounds like 23:08:36 -!- kenjin2201 [~kenjin@220.120.43.80] has quit [Ping timeout: 272 seconds] 23:09:06 sounded to me as if he was re-inventing the object/relational wheel 23:09:13 Making your own database is great, because you can leave off those useless features like atomic transactions, support for querying from multiple threads or processes, fault-tolerance, etc. 23:10:01 -!- phadthai [mmondor@ginseng.pulsar-zone.net] has quit [Ping timeout: 264 seconds] 23:11:14 it may sound stupid, but i don't see a problem in it as long as nobody gets hurt...really bad... 23:11:35 and the fact that he probably had fun implementing it makes it all worth the while 23:11:39 -!- Sumpen [~Sumpen@81-232-77-93-no46.tbcn.telia.com] has quit [Quit: Planned down time ^^] 23:11:46 (And let's not forget being able to store more information in the database than you have address space or RAM in your computer, query optimizers, standard backup utilities, etc.) 23:11:49 -!- ichernetsky [~ichernets@195.222.69.188] has quit [Ping timeout: 265 seconds] 23:12:38 -!- carlocci [~nes@93.37.193.231] has quit [Quit: eventually IE will rot and die] 23:12:40 I just don't get it when people get upset that the free help is telling them exactly what they want to hear. 23:13:17 s/is/isn't/ 23:13:34 -!- mbohun [~mbohun@202.124.74.196] has quit [Quit: Leaving] 23:13:44 guaqua: i don't see a problem with it either, i've done it myself, and learned a lot. 23:15:13 NNshag [~shag@lns-bzn-57-82-249-10-215.adsl.proxad.net] has joined #lisp 23:15:35 mbohun [~mbohun@202.124.74.196] has joined #lisp 23:15:53 it's the main reason i actually like programming 23:16:08 *Xach* discovers he's going to have to support buildapp as a library 23:17:04 what's a buildapp? 23:17:15 -!- lpolzer__ [~lpolzer@dslb-088-073-204-090.pools.arcor-ip.net] has quit [Ping timeout: 276 seconds] 23:17:26 -!- kib2 [~chatzilla@2a01:e35:2e49:f1c0:103c:ed8:7b3b:31ac] has quit [Quit: ChatZilla 0.9.86 [SeaMonkey 2.0.2/20100104163003]] 23:17:31 Xach: ohh... so an application can build itself. 23:18:08 drewc: right 23:18:09 Or so an application can build other applications? 23:18:25 (buildapp:main (list "--foo" "bar")) => result 23:18:44 (defsystem skynet :depend-on (buildapp .. 23:19:16 nyef: ohh.. that too! i know a company that could use that functionality in their product actually. 23:19:20 hefner: http://xach.com/lisp/buildapp/ has some incomplete docs 23:21:46 dreish [~dreish@minus.dreish.org] has joined #lisp 23:22:23 Xach: 64MB? 23:22:58 Demosthenes: 64MB what? 23:23:06 output file? 23:23:06 buildapp looks nice 23:23:11 i'm gawking at it 23:23:19 cmm [~cmm@bzq-79-181-6-5.red.bezeqint.net] has joined #lisp 23:23:34 Demosthenes: oh, you can mitigate that by not giving a shit 23:23:41 *Xach* uses that mitigation strategy 23:23:56 Heh. I originally parsed that as "i'm gwking at it", and wondered... 23:24:14 Demosthenes, that's not buildapp's "fault", that's SBCL (literally!) 23:24:22 hey, i gotta try that sometime! 23:24:23 i just saw the awk there 23:24:32 man gawk 23:24:33 Sorry, I couldn't find anything for gawk. 23:24:40 Xach: the download shortcut doesn't work for me. gives a 404 page. 23:25:02 Adlai: man awk; gawk is just the GNU version. :-P 23:25:02 rootzlevel: yeah, it's not officially released yet. http://xach.com/tmp/buildapp.tgz has a snapshot 23:25:03 its released in the future, you'll have to wait 23:25:12 -!- sierinjs [~root@unaffiliated/sierinjs] has quit [Quit: what ben said] 23:25:30 Adlai: i've heard it makes huge dumps. 23:25:38 that Xach doesn't give a shit about. 23:25:45 ah, thanks. 23:26:16 Now, can we refrain from scatological humour for a while? 23:26:18 compiling sbcl again, yay! 23:26:52 lisppaste: iterate should be clearer on the fact that the argument to define-whatever-it-was are evaluated, and that you usually want quoting... exactly as they *don't* do in their example. 23:26:55 I need to write docs about how buildapp works to help people avoid problems when binding sb-ext:*invoke-debugger-hook* get clobbered 23:27:05 and how to use it as a library 23:27:09 then it'll be released 23:28:18 Guthur [~Michael@host81-132-10-255.range81-132.btcentralplus.com] has joined #lisp 23:28:21 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Ping timeout: 260 seconds] 23:28:39 pkhuong: makes sense to me. I'm not on their mailing list and I don't know who they are, but I'll pass it on to Mirko who first noticed the problem in GSLL. 23:29:10 -!- fiveop [~fiveop@g229115151.adsl.alicedsl.de] has quit [Quit: humhum] 23:29:25 i just tried this on sbcl 1.0.29 & 1.0.35, both broke http://pastebin.com/m725ad48d 23:29:34 anyone care to review before i post it to ml? 23:29:35 Guest28821 [~Patrick@ool-435665cf.dyn.optonline.net] has joined #lisp 23:30:01 ichernetsky [~ichernets@195.222.66.208] has joined #lisp 23:30:08 Demosthenes: "broke"? Can you be less specific? 23:30:09 Demosthenes: broke is a pretty broad term 23:30:33 -!- bobbysmith007 [~russ@216.155.97.1] has quit [Quit: Leaving.] 23:30:34 unhandled SB-INT:BUG in thread # {AA068F1}>: 23:30:34 failed AVER: (NOT (EQL (FUNCTIONAL-KIND FUNCTIONAL) DELETED)) 23:30:54 says its internal 23:31:19 Can you produce a smaller test-case? 23:31:25 that was the test case 23:31:32 i pulled it out of the rest of the program 23:31:38 remove the declaim line, it'll work 23:34:53 -!- levente_meszaros [~levente_m@apn-89-223-170-241.vodafone.hu] has quit [Ping timeout: 260 seconds] 23:36:07 -!- marioxcc-AFK is now known as marioxcc 23:36:33 funny, it works without the space setting. 23:37:55 indentation? 23:38:27 -!- davazp` [~user@165.Red-83-46-5.dynamicIP.rima-tde.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:38:33 kenjin2201 [~kenjin@220.120.43.80] has joined #lisp 23:38:40 Demosthenes: I have no ideas it breaks, but i have some comments :P . why are you using for .. = rather than with .. = , and why are you not destructuring your rows using LOOP itself? 23:38:49 ideas why* 23:39:20 with eh? i'll try that ;] 23:39:28 i had an example showed for to make loop vars. 23:39:41 i'm not convinced that use of for is 100% kosher, but loop is a hairy beast 23:40:10 hm 23:40:16 -!- ChanServ has set mode +o drewc 23:40:22 -!- drewc has set mode -t 23:40:28 fe[nl]ix: there you go 23:40:30 -!- fe[nl]ix changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language . New: CLSQL 5.0.2, SBCL 1.0.35, ELS2010 deadline extension, ABCL 0.18.1 23:40:31 is there any simple interface to unix select() ? 23:40:47 Dodek: don't you mean epoll? :P 23:40:52 minion: tell Dodek about iolib 23:40:53 Dodek: look at iolib: I/O(mainly networking) library containing: a BSD sockets library, a DNS resolver and an I/O multiplexer that supports select(2), epoll(4) and kqueue(2). http://www.cliki.net/iolib 23:41:01 drewc: i just tried with 23:41:03 still dies 23:41:06 drewc: i know about iolib 23:41:16 unfortunately i have absolutely no idea how to use it 23:41:37 i used cond because it was already written... should be equivalent 23:41:46 since it has no documentation 23:41:48 kwinz3 [~kwinz@77-22-179-242-dynip.superkabel.de] has joined #lisp 23:42:31 Demosthenes: that's an awfully big test case... try narrowing it down... delete large parts of it and see if it compiles etc 23:42:35 Dodek: you can ask the author 23:42:46 Dodek: it has a mailing list, doesn't it? 23:43:15 Dodek: the other option is, of course, to re-write only the parts of iolib that you need to use select() well... 23:43:16 drewc: funny, if i remove either of the big cond statements, it compiles. 23:43:22 and if you remove the declaim, it compiles 23:43:38 well, i want to do something *now* :) 23:43:47 Demosthenes: are you sure you want 'on split-list' instead of 'in split-list' ? 23:43:53 YES 23:44:00 -!- RaceCondition [~RaceCondi@85.253.73.94.cable.starman.ee] has quit [Ping timeout: 252 seconds] 23:44:01 tsuru`: yeah, he uses the cdr later 23:44:03 -!- sykopomp [~user@unaffiliated/sykopomp] has quit [Quit: so long, and thanks for all the fish] 23:44:04 because the later loops are pushing the for pointer forward 23:44:16 there are times when i'm rolling together lines 23:44:27 Demosthenes: you really want to be destructing in the loop itself though 23:44:31 i just wanted to write one small toy 23:44:54 i guess i need to dig through iolib source code first 23:44:55 eh. 23:45:06 -!- mega1 [~quassel@53d82d4d.adsl.enternet.hu] has quit [Ping timeout: 240 seconds] 23:45:23 drewc: i could do that... 23:45:26 (loop for ((key hdr) . next-row) on split-list 23:45:44 yeah. 23:45:51 but the code is valid? 23:46:00 like i said, it compiles without declaim 23:46:10 i suspect the debuggers confused by my ugly code 23:46:15 looks like it, but you have not given a simple test case to demonstrate it. 23:46:29 you mentioned it works when you remove either of the conds... 23:46:31 if i take anything else out, it stops dying 23:46:55 so remove parts of what's left! 23:47:02 -!- jockc [~jockc@dsl-206-251-71-75.dynamic.linkline.com] has quit [Quit: Leaving] 23:47:12 this is one of the reasons why iterate appeals to me, i can never remember if do takes multiple statements in loop 23:47:26 Demosthenes: it does 23:47:31 -!- wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 23:48:19 yeah, but when do do, does the second do still apply to when? ;] 23:48:34 we revert to whitescape scope, which is what sexps avoid in teh first place 23:48:40 i kinda agree with the loop naysayers 23:49:42 Demosthenes: see http://groups.google.com/group/comp.lang.lisp/msg/329b289439393d16?hl=en 23:50:18 I find that post quite insightful 23:50:37 wlr [~walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 23:51:16 whitespace scope? 23:53:39 -!- Hun [~hun@p50993726.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 23:54:29 for whiter, healthier teeth. 23:54:57 -!- rdd [~rdd@c83-250-52-182.bredband.comhem.se] has quit [Ping timeout: 276 seconds] 23:55:27 Demosthenes: remove (every #'digit-char-p (subseq next-row-key row-key-len)) and tell me what happens? 23:56:18 the first one... 23:56:24 -!- mbohun [~mbohun@202.124.74.196] has quit [Quit: Leaving] 23:56:54 Demosthenes: the first problem is that this is pretty horrid as far as code organisation goes! 23:57:53 Demosthenes: you repeat yourself all over the place. This is no excuse for SBCL's behavior, but i bet a well factored function simply would never have the error in the first place. 23:58:45 drewc: i concur! 23:59:15 in 3 hours i tried several methods of the same code to try and fix the overall oraganization... so code's horrible because it plugged in... 23:59:30 anyhow, removing the every makes it compile 23:59:44 odd non? 23:59:47 yep 23:59:57 hrm 23:59:59 i'll go cleanup more, and hope it resolves it