00:00:14 Madsy [n=Madsy@fu/coder/madsy] has joined #lisp 00:00:14 Xof [n=crhodes@158.223.51.79] has joined #lisp 00:00:14 _deepfire [n=deepfire@80.92.100.69] has joined #lisp 00:00:40 scigraph in CLIM 2 on the Lisp Machine 00:00:41 skimming the contents of the manual, I guess that something like what I mean could be build on vecto 00:00:45 serichsen, you can draw in CLIM and save to PS 00:01:11 -!- ruediger [n=quassel@213-33-31-42.adsl.highway.telekom.at] has quit [Remote closed the connection] 00:01:21 drdo [n=drdo@a89-152-179-186.cpe.netcabo.pt] has joined #lisp 00:01:24 rajesh [n=rajesh@nylug/member/rajesh] has joined #lisp 00:01:35 -!- mattrepl [n=mattrepl@pool-71-163-162-204.washdc.fios.verizon.net] has quit [] 00:01:56 yes, I've seen that. 00:03:00 has anyone installed the slime plugin for aquamacs (the one that's on aquamacs' page) 00:03:02 ? 00:03:19 nunb_ [n=nundan@94.161.177.119] has joined #lisp 00:03:21 rendering text and arbitrary scientific formulae is also a requirement I would have 00:04:46 proper sub-, superscripts, greek characters, sums, integrals... 00:05:03 you could be famous... 00:05:31 I think I should go to bed 00:05:54 -!- jleija [n=jleija@user-24-214-122-46.knology.net] has quit ["leaving"] 00:07:45 -!- nipra [n=nipra@117.195.100.50] has quit [Read error: 60 (Operation timed out)] 00:08:12 good night 00:08:36 -!- serichsen [n=user@hmbg-4d06df1a.pool.mediaWays.net] has quit ["while I pondered, weak and weary"] 00:09:37 kmc [n=keegan@98.140.110.255] has joined #lisp 00:15:05 here is a different screenshot, showing the same graph in a larger window 00:15:07 http://lispm.dyndns.org/lisp/pics/lispm-clim-scigraph-2.png 00:15:44 -!- envi^office [i=envi@203.109.25.110] has quit ["Leaving"] 00:18:28 genera :-o 00:20:01 -!- rajesh [n=rajesh@nylug/member/rajesh] has quit ["leaving"] 00:21:59 -!- nunb [n=nundan@94.161.163.216] has quit [Read error: 110 (Connection timed out)] 00:22:51 saikatc [n=saikatc@adsl-76-228-82-245.dsl.pltn13.sbcglobal.net] has joined #lisp 00:24:15 dto1 [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 00:24:18 -!- dto [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Read error: 113 (No route to host)] 00:24:22 arbscht [n=arbscht@unaffiliated/arbscht] has joined #lisp 00:24:25 nipra [n=nipra@117.195.100.50] has joined #lisp 00:25:32 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 00:29:55 -!- ayrnieu [n=_ayrnieu@69.171.164.17] has quit [Read error: 60 (Operation timed out)] 00:31:34 -!- flatline [n=flatline@z166195.dynamic.ppp.asahi-net.or.jp] has quit [Read error: 110 (Connection timed out)] 00:32:10 -!- LiamH [n=none@pdp8.nrl.navy.mil] has quit ["Leaving."] 00:34:06 -!- levente_meszaros [n=levente_@apn-94-44-2-238.vodafone.hu] has quit [Read error: 110 (Connection timed out)] 00:35:39 -!- attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has quit [Read error: 60 (Operation timed out)] 00:36:24 -!- arbscht_ [n=arbscht@unaffiliated/arbscht] has quit [Read error: 110 (Connection timed out)] 00:38:16 rajesh [n=rajesh@nylug/member/rajesh] has joined #lisp 00:43:50 nunb__ [n=nundan@94.161.188.158] has joined #lisp 00:44:20 -!- Nshag [i=user@lns-bzn-43-82-249-132-213.adsl.proxad.net] has quit ["Quitte"] 00:50:19 emacspha` [n=user@134.215.217.86] has joined #lisp 00:52:45 Hun [n=hun@pd956be5d.dip0.t-ipconnect.de] has joined #lisp 00:59:57 envi^office [n=envi@203.109.25.110] has joined #lisp 01:02:12 sellout [n=greg@c-24-128-48-180.hsd1.ma.comcast.net] has joined #lisp 01:02:58 -!- Edward__ [n=Ed@AAubervilliers-154-1-79-22.w81-249.abo.wanadoo.fr] has quit ["L'oignon fait la farce."] 01:03:33 -!- nunb_ [n=nundan@94.161.177.119] has quit [Read error: 110 (Connection timed out)] 01:07:03 ThomasI [n=thomas@unaffiliated/thomasi] has joined #lisp 01:07:34 Liu [n=Yuanhan@124.90.49.186] has joined #lisp 01:07:58 Adamant [n=Adamant@unaffiliated/adamant] has joined #lisp 01:08:38 -!- emacsphan [n=user@plmomi-l10-340.dsl.tds.net] has quit [Read error: 110 (Connection timed out)] 01:09:55 lisppaste: url? 01:09:55 To use the lisppaste bot, visit http://paste.lisp.org/new/lisp and enter your paste. 01:11:05 -!- kami [n=user@unaffiliated/kami-] has quit [Read error: 110 (Connection timed out)] 01:11:24 drewc pasted "MOP-based Sheeple implementaiton" at http://paste.lisp.org/display/90760 01:11:36 hmm 01:11:38 *sykopomp* clicks 01:11:53 sykopomp: question though.. 01:12:03 yeah? 01:12:25 in sheeple, do messages dispatch through the parent objects to find the applicable reply, or is it just EQL specializers? 01:12:41 they dispatch through the parent objects, left-weighted. 01:12:59 and they don't prevent GC 01:13:02 ok cool... i did that too but wasn't sure as the demo mentions eql specializers a lot. 01:13:30 sweet 01:13:36 rrice [n=rrice@69.221.160.24] has joined #lisp 01:14:04 GC i punt on... it would require a weak pointer in the metaclass and a custom generic-function-class to avoid keeping the objects around. 01:14:20 ericjames [n=ericjeld@205.149.71.84] has joined #lisp 01:14:27 is that all? 01:14:52 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 01:15:22 -!- Liu [n=Yuanhan@124.90.49.186] has quit [Remote closed the connection] 01:16:20 quidnunc [n=user@bas16-montreal02-1279589180.dsl.bell.ca] has joined #lisp 01:16:25 sykopomp: AFAICT. I don't hold on the the actual objects anywhere else, and all the classes are anonymous so will get gc'd as long as the generic function isn't holding on to it. 01:16:48 is there a way to get the genfun to release it? 01:17:05 joga [i=joga@rikki.fi] has joined #lisp 01:17:33 -!- pavelludiq [n=quassel@83.222.175.184] has quit [Read error: 104 (Connection reset by peer)] 01:17:34 -!- rvirding [n=chatzill@h92n3c1o1034.bredband.skanova.com] has left #lisp 01:17:38 yeah, i think it can be done with a custom generic-function-class and weak pointers to the specializers/ 01:18:16 what we really need is other specializers Xof mentioned. 01:18:26 but lacking those, it could be hacked. 01:19:16 jmbr__ [n=jmbr@211.33.220.87.dynamic.jazztel.es] has joined #lisp 01:20:09 sykopomp: obviously that implementation leaves some things out, it's just a quick hack... but that's how i'd do it :) 01:20:39 makes me feel a -little- bad :P 01:21:00 what are the advantages of slapping it onto the MOP, anyway? 01:21:07 How do you use clojar as a user? 01:21:10 wouldn't this have some extra dispatch overhead? 01:21:17 quidnunc: ask #clojure 01:21:25 you don't have to re-implement inheritence and method dispatch, for one. 01:21:25 quidnunc: this channel is for common lisp. 01:21:26 sykopomp: Sorry 01:21:49 drewc: well, but you have to mess with method dispatch heavily 01:21:58 howso? 01:22:07 to prevent GCing, that is? 01:22:37 I'm still reading your code, btw :) 01:22:52 ah, right. it's a minor issue compared to greespunning the rest of the MOP 01:22:57 (imo) 01:24:01 sykopomp: essentially, i store properties as :class allocated slots in an anonymous class. 01:24:16 this way you get the dispatch for free. 01:24:57 sykopomp: also... do you implement (setf property-value)? i didn't see it in the demo, so i left it out, but i had an implementation at one point in my hacking 01:25:20 oh. Yes, I do. 01:25:27 I got rid of add-property in the latest sheeple, actually. 01:25:53 (setf property-value) magically adds properties. I'd avoided doing that for a while, but it ended up seeming pretty inconsequential after I tried doing it this way. 01:26:22 -!- emacspha` [n=user@134.215.217.86] has quit [Remote closed the connection] 01:26:37 so do do (setf (property-value obj 'prop :accessor t) t) ? 01:26:43 yup. 01:26:45 -!- Jabberwockey [n=jens@port-10151.pppoe.wtnet.de] has quit [Read error: 110 (Connection timed out)] 01:26:53 makes sense to me 01:27:10 -!- pjb [n=t@32.Red-79-149-132.staticIP.rima-tde.net] has quit [Read error: 60 (Operation timed out)] 01:27:25 dto [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 01:27:43 Liu [n=Yuanhan@124.90.49.186] has joined #lisp 01:28:20 emacspha` [n=user@plmomi-l10-340.dsl.tds.net] has joined #lisp 01:28:55 -!- dto1 [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Read error: 113 (No route to host)] 01:29:08 drewc: The code is pretty heavily documented. http://github.com/sykopomp/sheeple/blob/devel/src/properties.lisp 01:29:19 -!- emacspha` [n=user@plmomi-l10-340.dsl.tds.net] has left #lisp 01:29:23 -!- slyrus_ [n=slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has quit [Read error: 110 (Connection timed out)] 01:29:32 oh .. nickname is required? 01:29:35 -!- ASau [n=user@83.69.227.32] has quit [Read error: 104 (Connection reset by peer)] 01:30:08 there's always a nickname, since =T= has one. 01:30:33 ahh, makes sense. 01:33:41 well, that was a fun 4 hours, now i have some real work to do, and my creative juices are sapped. 01:33:45 coffee time! 01:33:54 heh :P 01:34:23 -!- saikatc [n=saikatc@adsl-76-228-82-245.dsl.pltn13.sbcglobal.net] has quit [] 01:35:20 -!- jmbr_ [n=jmbr@214.33.220.87.dynamic.jazztel.es] has quit [Read error: 110 (Connection timed out)] 01:36:28 drewc: this has a lot of overhead (creating a full instance of a class, actually triggering method-dispatch from the MOP), but a lot of that can probably be worked around. 01:37:29 ASau [n=user@83.69.227.32] has joined #lisp 01:39:06 sykopomp: overhead compared to what? It would be interesting to profile the two implementations and see where they differ. 01:39:28 I suspect property access is as fast as it can get, as CLOS is optimized for that sort of thing 01:39:48 adding a property is probably a bit on the heavy side. 01:40:09 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Remote closed the connection] 01:40:25 drewc: if I understand your code correctly, it creates two instances every time you create a new object: a new class, and a new instance. 01:41:03 yeah, that is does. 01:41:32 also, property-value for sheeple right now is as fast as CCL's slot-value (and it's faster on CLISP than its native CLOS implementation) 01:41:48 getting it to work as fast as SBCL's slot-value is a matter of copying over the optimizations, I guess. 01:41:55 even for extremely deep hierarchies? 01:41:57 as far as dispatch, sheeple's far behind on that one :\ 01:42:07 perhaps i misunderstood the code. 01:42:10 oh, I'm talking about direct access. 01:43:00 for delegated access, it's actually only about 2x slower, which isn't too bad, and I honestly don't expect hierarchies to ever get too deep. 01:43:34 I would imagine the case where hierarchies would be deeper than, say, 10 ancestors, to be fairly rare 01:43:56 see, by re-using what the MOP offers, i get to be equal to the speed of CLOS in both cases... a win if you ask me considering the size of the codebases :) 01:44:42 that said, you could add the same opimisations to sheeple.. 01:45:02 but why bother when smarter people have written it for you! :D. 01:45:14 -!- retupmoca` is now known as retupmoca 01:45:18 *drewc* also re-wrote 2/3 of the MOP before converting his code to use it 01:45:28 -!- rajesh [n=rajesh@nylug/member/rajesh] has quit ["leaving"] 01:45:36 -!- mrsolo [n=mrsolo@nat/yahoo/x-jpatwrtpklatpiaj] has quit ["Leaving"] 01:45:46 -!- grouzen [n=grouzen@91.214.124.2] has quit [Read error: 110 (Connection timed out)] 01:47:51 drewc: well, I honestly had no idea whether the MOP would be enough, when I started working on it. 01:48:38 sykopomp: i'm running out for a bit, but i'm of the opinion that if the MOP can't do sheeple well, then the MOP should be fixed so it can, rather than re-written a thousand times. The extra bits in PCL that Xof mentioned are there specifically because this is a road that has been travelled before :) 01:48:54 and I'm not entirely convinced yet using the MOP is such a great idea, and adding -any- features involves figuring out how to do it in the MOP first (whereas coding in the rest of lisp can be more obvious at times) 01:49:11 -!- dto [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Read error: 60 (Operation timed out)] 01:49:38 yeah, it would be good to get something like this to take full advantage of the MOP. No use in greenspunning if you can actually pull something off. 01:50:09 saikatc [n=saikatc@67.180.9.222] has joined #lisp 01:50:27 sykopomp: does subtypep work for sheeple objects? 01:50:49 *drewc* is still leaving, but the screen is near the door 01:50:50 -!- retupmoca [n=retupmoc@adsl-76-235-169-202.dsl.klmzmi.sbcglobal.net] has quit ["Leaving"] 01:50:51 I don't think so :\ 01:50:54 -!- superjoe [n=superjoe@149-169-112-63.nat.asu.edu] has quit [Remote closed the connection] 01:50:56 -!- Hun [n=hun@pd956be5d.dip0.t-ipconnect.de] has quit [Remote closed the connection] 01:51:11 advantage: MOP! :P 01:51:11 retupmoca [n=retupmoc@adsl-76-235-169-202.dsl.klmzmi.sbcglobal.net] has joined #lisp 01:51:45 clubmastodo [i=d891b384@gateway/web/freenode/x-uthxjyzrfcmacytj] has joined #lisp 01:51:50 pff :P 01:52:11 sykopomp: a lot of the overhead could be avoided by not subclassing standard-class and only definining the features it needs... 01:52:15 drewc: honestly, I never would've been able to mess around with the API (and implementation) nearly as much if I'd used the MOP. 01:52:27 the way i did it was a shortcut 01:52:40 sykopomp: nah, you 01:52:52 :( 01:52:55 you'd of been too busy using a working implementation for other projects :) 01:53:04 s/of/have 01:53:06 how can i create a small program that would construct a list of size n Xs like (makefuckinglist 5) == (X X X X X) 01:53:30 clubmastodo: you can't be serious... did you try the hyperspec? 01:53:36 clhs make-list 01:53:36 http://www.lispworks.com/reference/HyperSpec/Body/f_mk_lis.htm 01:54:11 (make-list 5 :initial-element X) ... 01:54:30 i never knew about the hyperspec 01:54:32 thanks! 01:54:36 *drewc* leaves before the rage sets in 01:56:17 -!- Tordek_ is now known as Tordek 01:59:21 -!- yibter [n=yibter@c-76-105-116-44.hsd1.ga.comcast.net] has quit ["Leaving"] 02:00:43 dto [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 02:05:08 -!- redblue [i=star@ppp103.108-253-207.mtl.mt.videotron.ca] has quit [""You cannot do a kindness too soon because you never know how soon it will be too late." -RWE"] 02:08:01 prip [n=_prip@host163-122-dynamic.32-79-r.retail.telecomitalia.it] has joined #lisp 02:09:35 -!- ziga`` [n=user@BSN-143-132-73.dial-up.dsl.siol.net] has quit [Remote closed the connection] 02:09:53 -!- Guthur [n=Michael@host81-131-243-232.range81-131.btcentralplus.com] has quit ["Computer says no"] 02:16:25 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit [Read error: 110 (Connection timed out)] 02:23:03 rme [n=rme@pool-70-104-115-69.chi.dsl-w.verizon.net] has joined #lisp 02:23:04 -!- saikatc [n=saikatc@67.180.9.222] has quit [Read error: 104 (Connection reset by peer)] 02:25:05 numberGrey [n=michael@173-15-9-117-Illinois.hfc.comcastbusiness.net] has joined #lisp 02:25:36 saikatc [n=saikatc@67.180.9.222] has joined #lisp 02:31:24 -!- kpreid [n=kpreid@209-217-212-34.northland.net] has quit [] 02:35:10 caoliver-too [i=44bc9e01@gateway/web/freenode/x-mqewfuplfjjknzst] has joined #lisp 02:35:13 mattrepl [n=mattrepl@pool-71-163-162-204.washdc.fios.verizon.net] has joined #lisp 02:38:56 LiamH [n=nobody@pool-72-75-73-155.washdc.east.verizon.net] has joined #lisp 02:53:51 -!- caoliver-too [i=44bc9e01@gateway/web/freenode/x-mqewfuplfjjknzst] has left #lisp 02:54:17 -!- pavitra is now known as Pavitra 02:55:24 On debian based distros, when I use clbuild to update sbcl, where is that binary located? When I run sbcl from the terminal the version is 1.0.18 but when I run ./clbuild lisp the version 1.0.32? This feels like a dumb question but what do i need to do replace the old version? 02:56:59 numberGrey: if you run sbcl through clbuild, it will run it's own copy if it has it (which is what happens when you upgrade SBCL through clbuild) 02:57:01 -!- beauty [n=beauty@83.231.12.205] has quit [Read error: 54 (Connection reset by peer)] 02:57:22 numberGrey: it's located in /target 02:58:40 kpreid [n=kpreid@216-171-189-244.northland.net] has joined #lisp 03:02:44 adeht [n=death@84.110.48.219] has joined #lisp 03:03:51 -!- Modius [n=Modius@cpe-70-123-130-159.austin.res.rr.com] has quit [Read error: 110 (Connection timed out)] 03:05:20 -!- quidnunc [n=user@bas16-montreal02-1279589180.dsl.bell.ca] has quit [Remote closed the connection] 03:05:48 -!- blackened` [n=blackene@ip-89-102-22-70.karneval.cz] has quit [] 03:05:51 -!- nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has quit [] 03:13:48 -!- dnolen [n=dnolen@pool-70-107-155-144.ny325.east.verizon.net] has quit [] 03:15:01 dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has joined #lisp 03:15:22 -!- manuel_ [n=manuel@pD9E6B629.dip.t-dialin.net] has quit [] 03:16:40 mosie [n=chatzill@pool-173-76-84-151.bstnma.fios.verizon.net] has joined #lisp 03:18:12 -!- mosie [n=chatzill@pool-173-76-84-151.bstnma.fios.verizon.net] has left #lisp 03:19:05 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit ["Leaving"] 03:19:09 MakoryuOnIce [n=vt920@pool-71-174-191-10.bstnma.fios.verizon.net] has joined #lisp 03:19:20 -!- Orest^bnc [n=Orest@81.169.174.192] has quit [Read error: 60 (Operation timed out)] 03:19:38 Orest^bnc [n=Orest@81.169.174.192] has joined #lisp 03:21:27 <_deepfire> Hmm, it'd be nice if there was a standartised variable to control the packages which APROPOS queries. 03:21:53 there's an optional package parameter 03:22:18 <_deepfire> adeht, yes, but do you realise how APROPOS is meant to be used? 03:22:35 yes, but do you realize you can write my-apropos? 03:23:25 <_deepfire> Oh, you appear to defend a 90% solution here. And zealously so. 03:23:47 *_deepfire* has no idea why 03:24:00 -!- clubmastodo [i=d891b384@gateway/web/freenode/x-uthxjyzrfcmacytj] has quit [Client Quit] 03:24:48 interesting that you take a pithy line as a zealous defense of a 90% solution 03:29:18 -!- MakoryuOnIce is now known as Makoryu 03:29:26 <_deepfire> There's a problem with the "write your my-foo" kind of shotgun respones. You could have stopped and pondered why I suggested what I did, and whether it would constitute an improvement (albeit a trivial one). 03:31:32 -!- ThomasI [n=thomas@unaffiliated/thomasi] has quit [Remote closed the connection] 03:31:58 <_deepfire> Instead you rushed to provide an obviosity after an obviosity, even after I hinted at a deeper usage issue with APROPOS. 03:32:30 longkid [n=lisp@113.22.177.216] has joined #lisp 03:33:35 hello all 03:34:47 bakkdoor_ [n=bakkdoor@83adca9b.funky.Uni-Osnabrueck.DE] has joined #lisp 03:34:56 what is the difference between aref and elt when using to access an element of vector? 03:35:24 -!- bakkdoor_ [n=bakkdoor@83adca9b.funky.Uni-Osnabrueck.DE] has left #lisp 03:37:24 longkid: one difference is with regards to fill-pointer, and there may also be a performance difference 03:38:22 adeht: can you explain more about fill-pointer? I've already read it in PCL, but i still don't understand 03:38:47 longkid: what don't you understand? 03:41:06 adeht: is fill-pointer used to store the number of elements in a resizable vector? 03:41:11 -!- dreish_ [n=dreish@minus.dreish.org] has quit [] 03:44:16 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 03:45:07 longkid: the fill-pointer is used to segregate elements into "active" and non-"active", whatever this may mean in a programmer-chosen context.. functions like `elt', `length', etc. are blind to the latter elements 03:45:25 <_deepfire> longkid, first, fill-pointers are separate from resizability 03:46:43 <_deepfire> longkid, array resizability is called "adjustability", you create such arrays by supplying :adjustable t to MAKE-ARRAY. 03:48:36 ok, i see 03:48:41 longkid: e.g., one common use case is when you have a known fixed maximum amount of elements (which isn't too big), but not necessarily that many elements at all times.. so instead of managing it yourself, you use the fill-pointer 03:50:33 <_deepfire> adeht, I still can't understand, btw, whether services provided by the fill-pointer are worth its de-simple-array-ification.. 03:50:46 saikatc_ [n=saikatc@67.180.9.222] has joined #lisp 03:50:54 -!- saikatc [n=saikatc@67.180.9.222] has quit [Read error: 104 (Connection reset by peer)] 03:51:03 -!- saikatc_ is now known as saikatc 03:51:06 -!- dlowe [n=dlowe@c-24-91-154-83.hsd1.ma.comcast.net] has quit ["Leaving."] 03:51:07 so, elt is just used with a resizable array. For a fixed-size array, i use aref. Right? 03:51:23 deepfire: I don't know.. it's hard to answer such questions w/o reference to a particular case 03:51:28 <_deepfire> longkid, no, no resizable is something else, again.. 03:52:11 fusss [n=chatzill@60-241-1-206.static.tpgi.com.au] has joined #lisp 03:52:22 the problem is that i don't know when using aref and when using elt 03:52:46 <_deepfire> longkid, for the most part you can just ignore fill pointers, IMO. 03:53:08 longkid: ELT works on sequences, aref works on arrays; arrays are a type of sequences. 03:53:17 longkid: I use aref when I know I have an array, and elt when I don't and don't mind the inefficiency with lists 03:53:17 <_deepfire> longkid, and aref might be faster for arrays, as it's specific to them. 03:54:22 okay, so elt has more general function than aref. Right? 03:54:48 in some sense.. 03:55:26 you can't implement aref with elt.. elt doesn't support multidimensional arrays.. 03:55:45 (and the aformentioned issue with the fill-pointer) 03:58:36 adeht: okay, i see. One more question: when I have an array, I can use elt. But, it's slower than aref. Right? 03:58:49 not necessarily 03:59:36 SandGorgon [n=OmNomNom@122.173.249.152] has joined #lisp 04:01:03 adeht, fusss, deepfire: thanks a lot 04:02:55 spradnyesh [n=pradyus@nat/yahoo/x-ysysezymojprftrz] has joined #lisp 04:04:16 -!- billitch [n=billitch@rob92-1-82-67-155-88.fbx.proxad.net] has quit [Remote closed the connection] 04:04:30 billitch [n=billitch@rob92-1-82-67-155-88.fbx.proxad.net] has joined #lisp 04:05:50 ace4016 [i=ace4016@cpe-76-170-134-79.socal.res.rr.com] has joined #lisp 04:06:30 -!- ace4016 [i=ace4016@cpe-76-170-134-79.socal.res.rr.com] has quit [Client Quit] 04:07:58 -!- saikatc [n=saikatc@67.180.9.222] has quit [] 04:12:41 skypher [n=lpolzer@dslb-088-073-244-171.pools.arcor-ip.net] has joined #lisp 04:13:02 schoppenhauer [n=css@unaffiliated/schoppenhauer] has joined #lisp 04:13:49 ace4016 [i=ace4016@cpe-76-170-134-79.socal.res.rr.com] has joined #lisp 04:13:50 mjm [n=matt@res-128-61-91-17.res.gatech.edu] has joined #lisp 04:15:11 -!- roygbiv [n=none@pdpc/supporter/active/roygbiv] has left #lisp 04:18:31 -!- marioxcc [n=user@201.132.137.19] has quit [Remote closed the connection] 04:18:35 dnolen [n=dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 04:18:46 rlb3_ [n=rlb@70-138-117-197.lightspeed.hstntx.sbcglobal.net] has joined #lisp 04:20:44 -!- lpolzer [n=lpolzer@dslb-088-073-206-098.pools.arcor-ip.net] has quit [Read error: 145 (Connection timed out)] 04:22:06 -!- mjm [n=matt@res-128-61-91-17.res.gatech.edu] has quit ["Changing server"] 04:23:51 mjm [n=mjm@res-128-61-91-17.res.gatech.edu] has joined #lisp 04:24:58 -!- mjm [n=mjm@res-128-61-91-17.res.gatech.edu] has quit [Client Quit] 04:28:22 -!- hugod [n=hugod@bas1-montreal50-1279441070.dsl.bell.ca] has quit [] 04:28:38 baddog [n=liam@unaffiliated/baddog144] has joined #lisp 04:29:43 saikatc [n=saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has joined #lisp 04:29:47 np0w3r1 [n=NOLFXcep@203.110.243.21] has joined #lisp 04:30:06 -!- LiamH [n=nobody@pool-72-75-73-155.washdc.east.verizon.net] has quit ["Leaving."] 04:36:52 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit [Read error: 110 (Connection timed out)] 04:38:39 emacsphan [n=user@134.215.217.86] has joined #lisp 04:41:59 schoppenhauer [n=css@unaffiliated/schoppenhauer] has joined #lisp 04:46:01 -!- np0w3r [n=NOLFXcep@203.110.243.21] has quit [Read error: 110 (Connection timed out)] 04:49:44 -!- mattrepl [n=mattrepl@pool-71-163-162-204.washdc.fios.verizon.net] has quit [] 04:50:23 emacspha` [n=user@plmomi-l10-340.dsl.tds.net] has joined #lisp 04:50:34 -!- emacspha` [n=user@plmomi-l10-340.dsl.tds.net] has left #lisp 04:54:23 mrSpec [n=Spec@unaffiliated/mrspec] has joined #lisp 04:56:26 -!- emacsphan [n=user@134.215.217.86] has quit [Read error: 145 (Connection timed out)] 05:04:42 hello 05:04:46 -!- ikki [n=ikki@201.155.75.146] has quit ["Leaving"] 05:08:06 nowl [n=nowl@c-66-30-79-27.hsd1.ma.comcast.net] has joined #lisp 05:08:13 redblue [i=star@ppp035.108-253-207.mtl.mt.videotron.ca] has joined #lisp 05:08:23 -!- dysinger [n=dysinger@cpe-75-85-132-170.hawaii.res.rr.com] has quit [] 05:12:20 -!- nowl [n=nowl@c-66-30-79-27.hsd1.ma.comcast.net] has left #lisp 05:19:21 dralston [n=dralston@S010600212986cca8.va.shawcable.net] has joined #lisp 05:23:07 -!- myst [n=myst@dynamic-vpdn-93-125-66-152.telecom.by] has quit [Read error: 110 (Connection timed out)] 05:24:21 Good morning! 05:26:12 -!- longkid [n=lisp@113.22.177.216] has quit [Read error: 110 (Connection timed out)] 05:29:37 -!- saikatc [n=saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has quit [Read error: 60 (Operation timed out)] 05:32:15 -!- np0w3r1 [n=NOLFXcep@203.110.243.21] has quit [Remote closed the connection] 05:34:34 -!- yahooooo [n=yahooooo@c-67-170-39-104.hsd1.wa.comcast.net] has quit [Connection timed out] 05:38:03 benny` [n=benny@i577A7470.versanet.de] has joined #lisp 05:39:37 -!- ltriant [n=ltriant@lithium.mailguard.com.au] has quit ["leaving"] 05:40:18 -!- ace4016 [i=ace4016@cpe-76-170-134-79.socal.res.rr.com] has quit ["When there's nothing left to burn, you have to set yourself on fire."] 05:43:23 ace4016 [i=ace4016@cpe-76-170-134-79.socal.res.rr.com] has joined #lisp 05:44:54 saikatc [n=saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has joined #lisp 05:45:06 -!- benny [n=benny@i577A79B1.versanet.de] has quit [Connection timed out] 05:47:17 -!- numberGrey [n=michael@173-15-9-117-Illinois.hfc.comcastbusiness.net] has quit [Read error: 110 (Connection timed out)] 05:48:15 numberGrey [n=michael@173-15-9-117-Illinois.hfc.comcastbusiness.net] has joined #lisp 05:53:53 stassats [n=stassats@wikipedia/stassats] has joined #lisp 05:54:56 OmniMancer1 [n=OmniManc@122-57-13-207.jetstream.xtra.co.nz] has joined #lisp 05:56:33 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 05:59:02 stassats` [n=stassats@wikipedia/stassats] has joined #lisp 05:59:21 -!- OmniMancer [n=OmniManc@122-57-16-129.jetstream.xtra.co.nz] has quit [Read error: 60 (Operation timed out)] 06:00:40 -!- stassats` [n=stassats@wikipedia/stassats] has quit [Client Quit] 06:01:03 -!- stassats [n=stassats@wikipedia/stassats] has left #lisp 06:01:05 stassats [n=stassats@wikipedia/stassats] has joined #lisp 06:03:41 -!- ericjames [n=ericjeld@205.149.71.84] has quit [] 06:06:05 spacebat_ [n=akhasha@ppp118-210-41-16.lns20.adl2.internode.on.net] has joined #lisp 06:06:05 Kolyan [n=nartamon@95-24-184-185.broadband.corbina.ru] has joined #lisp 06:07:31 TR2N [i=email@89-180-152-217.net.novis.pt] has joined #lisp 06:07:41 longkid [n=lisp@113.22.177.216] has joined #lisp 06:09:42 -!- numberGrey [n=michael@173-15-9-117-Illinois.hfc.comcastbusiness.net] has quit [Read error: 110 (Connection timed out)] 06:10:20 numberGrey [n=michael@173.15.9.117] has joined #lisp 06:13:42 -!- dralston [n=dralston@S010600212986cca8.va.shawcable.net] has quit ["Leaving"] 06:15:20 beach: you were up early 06:15:31 madnificent: Later than usual. 06:16:45 really, I thought you normally came online later 06:16:57 that's a question 06:17:06 -!- ace4016 [i=ace4016@cpe-76-170-134-79.socal.res.rr.com] has quit ["When there's nothing left to burn, you have to set yourself on fire."] 06:19:04 -!- spacebat [n=akhasha@ppp118-210-65-236.lns20.adl2.internode.on.net] has quit [Read error: 110 (Connection timed out)] 06:20:47 madnificent: The logs show that I come here sometime between 5 and 6:30 or so. But I am usually up around 5, which suggests I often do something else before greeting y'all. 06:21:00 manuel_ [n=manuel@pD9E6B629.dip.t-dialin.net] has joined #lisp 06:21:09 yahooooo [n=yahooooo@c-67-170-39-104.hsd1.wa.comcast.net] has joined #lisp 06:23:22 -!- benny` is now known as benny 06:25:42 beach: didn't think you'd actually search for it though... 06:26:02 *madnificent* found his 6 'o clock waking time extremely early already 06:26:31 can I count on (TYPE-OF clos-obj) being equal to (CLASS-NAME (CLASS-OF clos-obj))? it seems so in Clozure and sbcl at least 06:27:32 perhaps even faster 06:28:41 type-of should be checking two tags in one function call, while the two functions have the overhead of two function calls, one object creation/fetching and one slot dereferencing. 06:29:16 -!- redblue [i=star@ppp035.108-253-207.mtl.mt.videotron.ca] has quit [Read error: 110 (Connection timed out)] 06:29:16 *fusss* based on intuitive understanding of dynamic dispatch, not actual benchmarking and snooping 06:31:15 crink [n=crink@unaffiliated/crink] has joined #lisp 06:31:55 -!- rlb3_ [n=rlb@70-138-117-197.lightspeed.hstntx.sbcglobal.net] has quit ["Get Colloquy for iPhone! http://mobile.colloquy.info"] 06:33:30 fusss: no, you can't. (type-of 0) (class-of 0) (type-of "foo") (class-of "foo") etc 06:33:44 -!- numberGrey [n=michael@173.15.9.117] has quit [Read error: 145 (Connection timed out)] 06:33:57 drewc: i just need type-of clos-obj 06:34:11 clos objects; class instances. nothing more. 06:37:25 ace4016 [i=ace4016@cpe-76-170-134-79.socal.res.rr.com] has joined #lisp 06:37:54 fusss: technically, no, you can't rely on that. For all intents and purposes, if your class has a name, it will be returned. 06:38:09 fusss: this is all explained in the clhs entry for type-of, of course. 06:39:40 yeah 06:39:50 something like (type-of (make-instance (make-instance 'standard-class))) 06:40:14 that's the exeption... in that case type-of will return the class itself, as it has no name. 06:42:52 numberGrey [n=michael@173.15.9.117] has joined #lisp 06:45:54 drewc: can't you eql on the class itself then? 06:46:01 -!- gruseom [n=daniel@S0106001217057777.cg.shawcable.net] has quit [Remote closed the connection] 06:46:22 madnificent: the who and the what now? 06:46:32 (eql (class-of object)) 06:46:45 (eql (class-of object-a) (class-of object-b)) 06:47:09 ah no, nvm 06:47:15 Paraselene__ [n=None@79-67-204-162.dynamic.dsl.as9105.com] has joined #lisp 06:49:21 -!- Makoryu [n=vt920@pool-71-174-191-10.bstnma.fios.verizon.net] has quit [Remote closed the connection] 06:49:29 Younder [n=jthing@84.202.157.98] has joined #lisp 06:50:42 -!- ASau [n=user@83.69.227.32] has quit ["off"] 06:53:27 -!- billitch [n=billitch@rob92-1-82-67-155-88.fbx.proxad.net] has quit [Remote closed the connection] 06:53:27 simplechat [n=simple@unaffiliated/simplechat] has joined #lisp 06:53:41 billitch [n=billitch@rob92-1-82-67-155-88.fbx.proxad.net] has joined #lisp 06:56:39 ska` [n=user@203.146.146.169] has joined #lisp 06:59:55 mije [n=mije@tal33-5-88-181-16-209.fbx.proxad.net] has joined #lisp 07:02:45 -!- stassats [n=stassats@wikipedia/stassats] has quit [Read error: 110 (Connection timed out)] 07:05:45 -!- rrice [n=rrice@69.221.160.24] has quit ["Leaving."] 07:07:04 PEG hack for those interested -- http://paste.lisp.org/display/90771 07:07:08 Guthur [n=Michael@host81-131-243-232.range81-131.btcentralplus.com] has joined #lisp 07:07:41 hi 07:07:45 -!- longkid [n=lisp@113.22.177.216] has quit [Read error: 110 (Connection timed out)] 07:08:24 hello mije 07:08:30 when i start slime i've got it saying "polling /tmp/blabla" and it can't connect 07:08:34 adeht: Looks like you need to factor some code there. 07:08:42 is that swank not running ? 07:08:59 adeht: neat-o :-) 07:09:24 beach: indeed 07:10:18 and should have better syntax for define-parser, ability to work on things other than strings, etc. 07:10:43 -!- numberGrey [n=michael@173.15.9.117] has quit [Read error: 145 (Connection timed out)] 07:11:11 then go packrat.. 07:11:22 but now it's time for sleep :) 07:13:14 ccl princ-to-string doesn't test to see if argument is already a string! 07:14:28 *fusss* hates it when type predicates fire up an error because an argument is not of an specified type: hey, why do you think I am calling you to begin with? 07:14:44 (stringp x) != (typep x 'string) and that sucks 07:15:13 fusss: it is according to clhs example 07:15:20 s/example/note/ 07:15:31 HET2 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 07:15:48 and i would consider that brokenness by spec, unless someone has a good reason 07:16:06 a type predicate should accept any object 07:16:07 fusss: ?.. I just said they are equivalent according to spec 07:16:31 not in ccl they're not 07:16:31 so it's clozure that's broken? 07:16:46 clhs stringp 07:16:47 http://www.lispworks.com/reference/HyperSpec/Body/f_stgp.htm 07:17:52 fusss: eh? wfm. 07:19:22 must be some weirdness, it works as advertised after slime-reconnect 07:19:35 numberGrey [n=michael@173-15-9-117-Illinois.hfc.comcastbusiness.net] has joined #lisp 07:22:05 -!- manuel_ [n=manuel@pD9E6B629.dip.t-dialin.net] has quit [] 07:22:26 Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 07:22:41 -!- simplechat [n=simple@unaffiliated/simplechat] has quit [Remote closed the connection] 07:25:00 btw I stumbled upon an sbcl aver today, and also several new slime bugs.. when I wake up I'll see if I can reproduce stuff 07:25:56 Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has joined #lisp 07:29:00 when i try and run slime with sbcl release i get an error because sbcl tries to load a swank-loader.lisp file located in a place that doesn't exist 07:29:30 do you have an idea where i can fix it ? 07:30:38 Pete_R [n=quassel@78.97.98.73] has joined #lisp 07:40:12 attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has joined #lisp 07:43:48 -!- jmbr__ is now known as jmbr 07:44:44 -!- jmbr [n=jmbr@211.33.220.87.dynamic.jazztel.es] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 07:45:31 kejsaren_ [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 07:45:56 thom_logn [n=thom@pool-173-67-109-95.lsanca.fios.verizon.net] has joined #lisp 07:46:04 -!- thom_logn [n=thom@pool-173-67-109-95.lsanca.fios.verizon.net] has quit [Remote closed the connection] 07:46:29 serichsen [n=user@hmbg-4d06ff0f.pool.mediaWays.net] has joined #lisp 07:46:33 good morning 07:47:37 hi 07:49:55 -!- nipra [n=nipra@117.195.100.50] has quit [Read error: 110 (Connection timed out)] 07:50:31 numberGrey1 [n=michael@173-15-9-117-Illinois.hfc.comcastbusiness.net] has joined #lisp 07:51:09 -!- numberGrey [n=michael@173-15-9-117-Illinois.hfc.comcastbusiness.net] has quit [Read error: 110 (Connection timed out)] 07:51:49 -!- mije [n=mije@tal33-5-88-181-16-209.fbx.proxad.net] has quit ["Lost terminal"] 07:52:25 nipra [n=nipra@117.195.100.50] has joined #lisp 07:59:54 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 08:00:57 majhool [n=mrw@user-118bgr6.cable.mindspring.com] has joined #lisp 08:06:18 -!- attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 08:08:43 can a values type specifier contain &allow-other-keys? 08:10:33 -!- numberGrey1 [n=michael@173-15-9-117-Illinois.hfc.comcastbusiness.net] has left #lisp 08:10:51 mvilleneuve [n=mvillene@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 08:11:24 good morning 08:13:03 thom_logn [n=thom@pool-173-67-109-95.lsanca.fios.verizon.net] has joined #lisp 08:13:51 longkid [n=lisp@113.22.177.216] has joined #lisp 08:14:34 -!- dek5 [n=eugene@mail.quickpay.ru] has left #lisp 08:14:55 -!- dnolen [n=dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [] 08:19:53 -!- fe[nl]ix [n=algidus@88-149-211-217.dynamic.ngi.it] has quit [Read error: 110 (Connection timed out)] 08:21:17 -!- drdo [n=drdo@a89-152-179-186.cpe.netcabo.pt] has quit [] 08:25:04 BrianRice [n=water@76.115.44.87] has joined #lisp 08:25:28 ejs [n=eugen@77.222.151.102] has joined #lisp 08:29:39 splittist [n=dmurray@85.0.221.88] has joined #lisp 08:29:41 morning 08:30:09 -!- CrazyEddy [n=CrazyEdd@wrongplanet/CrazyEddy] has quit [Read error: 110 (Connection timed out)] 08:30:38 -!- crink [n=crink@unaffiliated/crink] has quit ["Leaving."] 08:33:45 is there an alternative name for prototype based OO systems that would be used in research papers? 08:35:28 -!- thom_logn [n=thom@pool-173-67-109-95.lsanca.fios.verizon.net] has quit ["Leaving"] 08:35:55 -!- borism_ [n=boris@213-35-232-204-dsl.end.estpak.ee] has quit [Read error: 145 (Connection timed out)] 08:36:13 demmeln [n=Adium@188.104.85.104] has joined #lisp 08:36:21 KatrinaTheLamia [n=rot13@S0106001cdfcd44c1.ed.shawcable.net] has joined #lisp 08:36:35 madnificent: nope, other than frame-based systems which are not quite the same. you could also focus on delegation 08:36:44 CrazyEddy [n=CrazyEdd@wrongplanet/CrazyEddy] has joined #lisp 08:38:04 morning 08:38:43 -!- ejs [n=eugen@77.222.151.102] has quit [Read error: 145 (Connection timed out)] 08:38:52 borism [n=boris@213.35.232.204] has joined #lisp 08:39:19 frode` [n=frode@shevek.netfonds.no] has joined #lisp 08:39:34 -!- frode` is now known as frodef 08:39:34 ejs [n=eugen@nat.ironport.com] has joined #lisp 08:39:39 good morning Haplo_ 08:40:03 BrianRice: I'm mainly searching for ways to store prototype based object systems (and papers around that issue) 08:41:16 madnificent: it's no different from class-based persistence. but you might look at FramerD, perhaps. 08:41:46 or any Smalltalk OODB 08:41:47 grouzen [n=grouzen@91.214.124.2] has joined #lisp 08:42:00 BrianRice: it is, actually... at least, if you want to be able to query the object store (as you 'll have delegation of values to other objects, and can't (realistically) specify all the tables that are needed) 08:42:27 nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has joined #lisp 08:43:08 I'm not sure how much marginal value you'll get out of that, but then if you've already framed that question then you've probably magnified its value out of proportion to the pragmatic benefit 08:44:12 BrianRice: it's like... making it queryable... which is the ultimate goal of most databases 08:44:26 which kind of made the web grow way faster 08:44:45 and -in some economics classes- is seen as the major thing that made the internet profitable 08:44:49 Reaver1 [n=Data_Ent@h15a2.n2.ips.mtn.co.ug] has joined #lisp 08:44:52 but besides that... no it's nothing big 08:45:00 making the data you have useable is certainly not needed 08:45:24 don't be a dick. you're talking about transitive closure. OODB's get you that pretty easily and treating delegation as special is of marginal value on top of that. 08:45:45 so either you don't really use OODB's regularly or you're a nut. 08:45:48 you don't know how much classes you'll have 08:46:05 and you don't know the inheritance tree up front 08:46:33 so a traditional OODB doesn't really cut it, as you need a fixed set of classes for that 08:46:39 -!- baddog [n=liam@unaffiliated/baddog144] has quit ["Asta-la byebye"] 08:46:57 no, you don't. transitive closure works on any slot type 08:47:13 the way you make it fast is to index it. 08:47:17 duh. 08:47:26 and the index should be built automatically, no? 08:47:53 maybe. or maybe not. Gemstone doesn't automate it, and it's a high-end OODB 08:48:08 but you can write code to do it. 08:48:11 Hi people! A quick question: why do I get an error on this (defvar *sorts-hash-table* (make-hash-table))? 08:48:28 but you *need* to automate it for prototype based OO systems, as you -as a programmer- don't know how the system will evolve 08:48:34 Pete_R: is it an error or a warning? 08:48:46 the users themselves can create totally different inheritance structures, as you may inherit from objects, instead of classes 08:48:51 madnificent: no, you don't. stop being obtuse. 08:48:52 BrianRice: an error 08:49:02 Pete_R: what error 08:49:14 which -for a class-based object system- makes you have as many classes as objects 08:49:24 The value # 08:49:24 is not of type 08:49:24 (OR (VECTOR CHARACTER) (VECTOR NIL) BASE-STRING NULL). 08:49:24 [Condition of type TYPE-ERROR] 08:49:28 yet again, what was the format directive for forcing lowercase printing? ~{~a ~}? 08:49:31 BrianRice: "no you don't" doesn't cut it 08:49:40 Pete_R: so you *re*defined it? 08:50:23 BrianRice: no. I got this error from the first compilation 08:50:26 madnificent: if you replace "inheritance structure" with "slot reference structure", you see that class-based OODB's already address this issue 08:50:32 BrianRice: I don't see how I am being obtuse... it is a (or an offensive) label you give me... and it doesn't entail any argument either :( 08:50:59 madnificent: you're missing the obvious point which is that delegation is the exact same thing as a relation through a fixed type of slot 08:51:00 BrianRice: but you won't have the querrying speed, as you'll need to recursively search through it (which I assume is not sped up) 08:51:12 madnificent: yes you will if you fucking index it 08:51:39 which the system will need to find out by itself, as you will not want to just index anything for no reason 08:51:58 wtf, have you never administered a database? 08:52:19 -!- borism [n=boris@213.35.232.204] has quit [Read error: 145 (Connection timed out)] 08:52:21 BrianRice: wtf? you never used prototype based OO systems? (and yes I have administered databases, but SQl ones) 08:52:27 indexing is always an economic calculation, not some automatically-deducible requirement. humans must be involved 08:52:31 s/SQl/SQL/ 08:52:37 BrianRice: no 08:52:55 BrianRice: as you said, it is an economic _calculation_ , computers must do it, if humans don't know the internal model :) 08:53:28 Pete_R: can you paste your code? 08:53:31 lisppaste: url 08:53:31 To use the lisppaste bot, visit http://paste.lisp.org/new/lisp and enter your paste. 08:53:42 beach: are you there? 08:53:47 madnificent: I can't have a respectful conversation if you continue like this. leave me alone and wait for someone else to try to address your query 08:54:45 arbscht: I've solved this error. The problem was that I inserted a comment string before asigning the value 08:54:48 *madnificent* doesn't understand BrianRice's frustration 08:55:11 thank you for your kindness :) 08:55:16 Pete_R: ok :) 08:55:21 jdz_ [n=jdz@85.254.211.133] has joined #lisp 08:55:30 -!- longkid [n=lisp@113.22.177.216] has left #lisp 08:55:30 ruediger [n=quassel@188-23-177-14.adsl.highway.telekom.at] has joined #lisp 08:55:33 -!- proq [n=user@unaffiliated/proqesi] has quit [Read error: 110 (Connection timed out)] 08:56:13 madnificent: "economics" == "the dismal science". you can't have computers do it, the concept I was trying to convey was "judgement". now I need to sleep. please give that some thought. this is not a hard problem; you're just being silly in expecting some thesis paper to explain a magical algorithm which will make something fast without you having to think. 08:56:28 -!- ia [n=ia@89.169.161.244] has quit [Read error: 110 (Connection timed out)] 08:56:34 mishoo [n=mishoo@79.112.52.124] has joined #lisp 08:56:39 BrianRice: you can... but you can only value the speed of queries... not how the backend should be stored 08:56:51 sigh 08:56:56 bye 08:56:59 -!- BrianRice [n=water@76.115.44.87] has left #lisp 08:57:01 BrianRice: you can't say what it will need to index, as you *don't know the model* 08:57:05 sigh 08:57:28 ia [n=ia@89.169.161.244] has joined #lisp 08:59:58 <_deepfire> Hmm, generating API documentation by generating Orgmode nodes is breeze. 09:01:01 _deepfire: elaborate? (or link) 09:01:31 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 09:02:16 nikodemus [n=nikodemu@cs181150041.pp.htv.fi] has joined #lisp 09:03:10 -!- liron` [n=user@ita4fw1.itasoftware.com] has quit [Remote closed the connection] 09:03:31 <_deepfire> madnificent, do you know orgmode? 09:03:44 -!- jrockway [n=jrockway@stonepath.jrock.us] has quit [Read error: 60 (Operation timed out)] 09:04:05 liron` [n=user@ita4fw1.itasoftware.com] has joined #lisp 09:04:27 _deepfire: yes 09:04:29 <_deepfire> Unfortunately I don't have any generated english output, only russian. 09:04:43 thom_logn [n=thom@pool-173-67-109-95.lsanca.fios.verizon.net] has joined #lisp 09:04:46 _deepfire: but you can make your lisp-code generate org-mode documentation? 09:05:27 <_deepfire> madnificent, well, the org format is trivial 09:06:08 -!- stoop [n=stoop@unaffiliated/stoop] has quit [Read error: 60 (Operation timed out)] 09:06:17 tcr [n=tcr@host146.natpool.mwn.de] has joined #lisp 09:06:43 <_deepfire> madnificent, the key is a dynamic block calling out to a dumped image which prints an org-formatted subtree 09:07:17 stoop [n=stoop@unaffiliated/stoop] has joined #lisp 09:07:28 <_deepfire> http://orgmode.org/manual/Dynamic-blocks.html#Dynamic-blocks 09:07:47 jrockway [n=jrockway@stonepath.jrock.us] has joined #lisp 09:08:32 <_deepfire> Then let the executable core have a procedure calling DOCUMENTATION on external symbols of given packages, and you're almost set. 09:08:58 <_deepfire> also, sb-introspection:function-lambda-list 09:10:12 <_deepfire> s/Then// 09:10:37 -!- liron` [n=user@ita4fw1.itasoftware.com] has quit [Remote closed the connection] 09:10:47 liron` [n=user@ita4fw1.itasoftware.com] has joined #lisp 09:11:35 _deepfire: interesting :) 09:13:52 -!- rme [rme@clozure-9D931A0E.chi.dsl-w.verizon.net] has quit [Quit: rme] 09:13:53 -!- rme [n=rme@pool-70-104-115-69.chi.dsl-w.verizon.net] has quit [] 09:15:42 How do I return 2 values from a defun? 09:16:03 I'd like to read result using (multiple-value-bind) 09:16:08 -!- kejsaren_ [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 09:16:25 Pete_R: you have the answer already! 09:17:35 _deepfire pasted "docstrings -> orgmode prettiness" at http://paste.lisp.org/display/90779 09:18:19 splittist: Please be more explicit. I'd like to use something like (multiple-value-bind (child parent) (read-sorts-from-line line)) 09:18:49 how do I return 2 values from function read-sorts-from-line? 09:19:00 namely child and parent 09:19:03 Pete_R: (values child parent) 09:19:27 -!- coyo [n=alex@99-6-151-42.lightspeed.rcsntx.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 09:19:28 splittist: Thanks 09:20:16 lisp - SPIRITS! (Sometimes Programming It Really Is That Simple) 09:22:53 ASau [n=user@host195-231-msk.microtest.ru] has joined #lisp 09:23:21 -!- wlr [n=walt@c-65-96-92-150.hsd1.ma.comcast.net] has quit [Read error: 110 (Connection timed out)] 09:24:16 borism [n=boris@213.35.232.204] has joined #lisp 09:25:14 -!- nunb__ [n=nundan@94.161.188.158] has quit [Read error: 110 (Connection timed out)] 09:25:26 Jafet [n=Jafet@unaffiliated/jafet] has joined #lisp 09:25:30 ericjames [n=ericjeld@24.144.136.246] has joined #lisp 09:25:33 mvillene1ve [n=mvillene@80.14.131.214] has joined #lisp 09:27:39 -!- Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has quit ["This computer has gone to sleep"] 09:27:45 _deepfire: could you paste an example sometime? It doesn't need to have much of an interface to make it quickly useable :) 09:27:53 -!- lnostdal [n=lnostdal@90.149.113.175] has quit [] 09:28:09 -!- Younder [n=jthing@84.202.157.98] has quit [Read error: 145 (Connection timed out)] 09:31:46 -!- mvilleneuve [n=mvillene@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Nick collision from services.] 09:31:51 -!- mvillene1ve is now known as mvilleneuve 09:32:37 -!- Tordek [n=tordek@186.124.241.72] has quit [Remote closed the connection] 09:34:42 -!- Paraselene__ [n=None@79-67-204-162.dynamic.dsl.as9105.com] has quit [Connection timed out] 09:35:04 Paraselene__ [n=None@79-67-188-149.dynamic.dsl.as9105.com] has joined #lisp 09:35:25 I can't seem to find a reference to in-out / out parameters in cffi's manual. Am I missing something? 09:35:58 legumbre_ [n=leo@r190-135-45-101.dialup.adsl.anteldata.net.uy] has joined #lisp 09:36:55 fiveop [n=fiveop@g229112121.adsl.alicedsl.de] has joined #lisp 09:36:57 -!- kmc [n=keegan@98.140.110.255] has quit [Read error: 148 (No route to host)] 09:37:54 prxq: what, there's nothing about pointers in the manual? 09:38:53 so you do it the old-fashioned way? 09:38:59 :-) 09:39:13 huh? what's the new-fashioned way? 09:39:18 *fusss* is enduring occassional ccl slime-connection closage 09:39:25 <_deepfire> madnificent, example of what? Did you see my paste above? 09:39:52 I mean, you have to actually pull out the values of the pointers, not like sb-alien:define-alien-routine's :out and :in-out parameters 09:40:00 -!- HET2 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Read error: 110 (Connection timed out)] 09:40:10 -!- ericjames [n=ericjeld@24.144.136.246] has quit [] 09:40:28 fusss: Consider posting a message that contains contents of *inferior-lisp-buffer*, and the last few expressions of *slime-events* 09:41:14 which I always found quite handy 09:41:33 tcr: will do next time it happen. I restarted emacs a sec ago. 09:41:51 mstevens [n=mstevens@zazen.etla.org] has joined #lisp 09:41:57 -!- nowhere_man [n=pierre@lec67-4-82-235-57-28.fbx.proxad.net] has quit [Read error: 110 (Connection timed out)] 09:43:14 typical usage would be a function that puts some value in an int. like void set_value(int *v); How would I do that in cffi? 09:44:23 -!- Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has quit [Read error: 113 (No route to host)] 09:44:45 -!- a-s [n=user@nat-240.ro.66.com] has quit [Remote closed the connection] 09:48:20 -!- mishoo [n=mishoo@79.112.52.124] has quit [Read error: 110 (Connection timed out)] 09:50:19 -!- nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has quit [] 09:50:29 prxq i think the in out parameters are C++, and CFFI is C 09:50:45 so thats why they aren't referenced 09:51:07 _deepfire: woops, I copied the wrong link :) (to the page about dynamic blocks) 09:51:23 kejsaren_ [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 09:51:50 Guthur, no, that's standard c. sbcl's define-alien-routine has it and does the right thing with it. matlisp has a version for fortran77, even. 09:52:25 kk my mistake 09:52:41 _deepfire: I'll try it out sometime soon :) 09:53:41 nowhere_man [n=pierre@lec67-4-82-235-57-28.fbx.proxad.net] has joined #lisp 09:53:59 -!- legumbre [n=leo@r190-135-57-106.dialup.adsl.anteldata.net.uy] has quit [Read error: 110 (Connection timed out)] 09:54:25 *_deepfire* wishes he could produce a cheeful response, but the semi-permanent almost-headache prevents him.. 09:54:46 *madnificent* cheers for _deepfire 09:54:52 <_deepfire> :-) 09:55:14 blandest [n=blandest@softhouse.is.ew.ro] has joined #lisp 09:56:19 lnostdal [n=lnostdal@90.149.113.175] has joined #lisp 09:56:51 -!- saikatc [n=saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has quit [] 09:57:48 saikatc [n=saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has joined #lisp 09:58:09 (every (lambda (x) (slot-boundp instance (c2mop:slot-defintion-name x)) (c2mop:compute-slots class)) is nice 09:58:32 insanely cool, rather 10:00:30 clog_ [n=nef@bespin.org] has joined #lisp 10:02:37 defintion 10:02:39 ? 10:04:47 kejsaren1 [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 10:05:45 yeah, typed it by hand to remove the app-dependent names 10:05:54 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 10:07:18 ltriant [n=ltriant@202.136.38.162] has joined #lisp 10:09:55 -!- saikatc [n=saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has quit [] 10:10:26 -!- ltriant [n=ltriant@202.136.38.162] has quit [Client Quit] 10:10:42 saikatc [n=saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has joined #lisp 10:11:28 pizzledizzle [n=pizdets@pool-98-116-202-61.nycmny.fios.verizon.net] has joined #lisp 10:13:46 mishoo [n=mishoo@79.112.52.124] has joined #lisp 10:14:03 -!- clog [n=nef@bespin.org] has quit [Read error: 110 (Connection timed out)] 10:14:03 -!- clog_ is now known as clog 10:15:18 -!- envi^office [n=envi@203.109.25.110] has quit ["Leaving"] 10:16:46 -!- billitch [n=billitch@rob92-1-82-67-155-88.fbx.proxad.net] has quit [Read error: 104 (Connection reset by peer)] 10:16:55 billitch [n=billitch@rob92-1-82-67-155-88.fbx.proxad.net] has joined #lisp 10:18:19 carlocci [n=nes@93.37.208.232] has joined #lisp 10:19:01 -!- kejsaren_ [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 10:20:18 ltriant [n=ltriant@202.136.38.162] has joined #lisp 10:24:01 fe[nl]ix [n=algidus@89.202.147.18] has joined #lisp 10:24:42 levente_meszaros [n=levente_@apn-94-44-1-131.vodafone.hu] has joined #lisp 10:31:29 -!- mstevens [n=mstevens@zazen.etla.org] has quit ["leaving"] 10:34:10 Kenjin_ [n=Kenjin@242-14.dial.nortenet.pt] has joined #lisp 10:35:26 *nikodemus* has indentation woes 10:40:20 Hun [n=hun@p50993726.dip0.t-ipconnect.de] has joined #lisp 10:42:34 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 10:43:17 -!- tcr [n=tcr@host146.natpool.mwn.de] has quit ["Leaving."] 10:53:52 -!- demmeln [n=Adium@188.104.85.104] has quit ["Leaving."] 10:55:08 -!- Liu [n=Yuanhan@124.90.49.186] has quit [Remote closed the connection] 10:55:41 -!- antifuchs [n=foobar@baker.boinkor.net] has quit [Read error: 104 (Connection reset by peer)] 10:55:57 kejsaren_ [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 10:57:10 -!- kejsaren1 [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 10:58:13 nikodemus: wrong, or too deep? 10:59:57 -!- skeptomai|away [n=nnnnnnnn@c-71-227-156-96.hsd1.wa.comcast.net] has quit [Read error: 110 (Connection timed out)] 11:00:33 udzinari [n=user@nat/ibm/x-ltnpznezshgjbjqp] has joined #lisp 11:00:53 skeptomai|away [n=nnnnnnnn@71.227.156.96] has joined #lisp 11:01:53 -!- Reaver1 [n=Data_Ent@h15a2.n2.ips.mtn.co.ug] has quit ["Leaving."] 11:03:26 pizdets [n=pizdets@98.116.202.61] has joined #lisp 11:05:01 -!- Guthur [n=Michael@host81-131-243-232.range81-131.btcentralplus.com] has quit ["Computer says no"] 11:06:28 stassats [n=stassats@wikipedia/stassats] has joined #lisp 11:09:03 Reav_1 [n=Reav_1@h15a2.n2.ips.mtn.co.ug] has joined #lisp 11:10:30 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 11:13:59 -!- pizzledizzle [n=pizdets@pool-98-116-202-61.nycmny.fios.verizon.net] has quit [Read error: 110 (Connection timed out)] 11:16:42 *fusss* is putting a clsql-compatible layer over cl-redis 11:17:41 -!- spradnyesh [n=pradyus@nat/yahoo/x-ysysezymojprftrz] has left #lisp 11:19:26 mstevens [n=mstevens@zazen.etla.org] has joined #lisp 11:20:03 serichsen: actually, it was an editing snafu on my part 11:20:43 magle code -> handler-bind where i wanted a handler-case, so no wonder the indentation was "wrong" 11:21:24 pavelludiq [n=quassel@83.222.175.184] has joined #lisp 11:21:35 nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has joined #lisp 11:22:48 rares1 [n=rares@174-22-225-229.phnx.qwest.net] has joined #lisp 11:25:02 -!- fusss [n=chatzill@60-241-1-206.static.tpgi.com.au] has quit [Read error: 54 (Connection reset by peer)] 11:26:50 dv_ [n=dv@83-64-248-68.inzersdorf.xdsl-line.inode.at] has joined #lisp 11:27:30 -!- nvoorhies [n=nvoorhie@adsl-76-216-21-95.dsl.pltn13.sbcglobal.net] has quit ["Get Colloquy for iPhone! http://mobile.colloquy.info"] 11:28:30 fusss [n=chatzill@60-241-1-206.static.tpgi.com.au] has joined #lisp 11:31:28 uwjweq [n=jeyisu@p549FAF3E.dip0.t-ipconnect.de] has joined #lisp 11:32:56 demmeln [n=Adium@001cb3c457d3.dfn.mwn.de] has joined #lisp 11:33:12 nikodemus: do you use launchpad by e-mail? 11:34:42 nunb [n=nundan@217.133.104.225] has joined #lisp 11:35:22 Sumpen [n=Sumpen@78-72-33-106-no46.tbcn.telia.com] has joined #lisp 11:37:08 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote closed the connection] 11:37:26 not at the moment 11:37:59 my gpgpg setup went fubared some time ago 11:38:12 *splittist* is guessing Xof isn't going to be an early adopter of ChromeOS 11:38:43 splittist: you might be right 11:39:52 -!- rares1 [n=rares@174-22-225-229.phnx.qwest.net] has left #lisp 11:39:56 to run lisp there you'd need to put lisp in the cloud or browser? 11:40:28 to do anything, you have to give Google access to your second-born child 11:40:31 You log on to facebook and use an online REPL widget 11:40:34 (canonical already has my first-born) 11:40:50 we could adopt juho 11:40:55 google already has him... 11:43:10 <_deepfire> Xof, you mean, you use Ubuntu One? 11:43:15 -!- billitch [n=billitch@rob92-1-82-67-155-88.fbx.proxad.net] has quit [] 11:43:24 <_deepfire> Unfathomable! 11:45:52 Xof: were you looking at my TRACE :PRINT changes? i went back and forth a bit there... 11:46:16 no, actually, I was just going to ask if you had an elisp snippet for autosigning launchpad mail 11:46:30 but I'm going to override your trace :print changes anyway 11:46:47 go right ahead :) 11:47:18 i still don't use emacs for email. the two times i've tried gnus i gave up after a week or so 11:47:46 -!- uwjweq [n=jeyisu@p549FAF3E.dip0.t-ipconnect.de] has left #lisp 11:48:36 Xach: hi 11:50:25 hey, look: more sbcl enterprise: http://labs.core.gen.tr/#index 11:54:30 so enterprise it's free! 11:54:33 waiit 12:01:15 I have a deserialization method, RESTORE-OBJECT, that reconstructs a CLOS object from a redis stream, and it dispatches based on its first argument which can be: class or class-name (keyword symbol, regular symbol, or string) 12:02:21 -!- ejs [n=eugen@nat.ironport.com] has quit [Read error: 60 (Operation timed out)] 12:02:40 in the first instance I am doing restore-object ((type standard-class) ..) but I am not sure if the rest of the class names returned from (class-of [:foo|'foo|"foo"]) are portable 12:03:11 for starters, (class-of "foo") is 'simple-base-string; does this break with locale changes? 12:03:59 hey, hooray. i'm set up for gpg mail once more 12:04:58 I am not clear on the whole issue of mapping primitive types to CLOS 12:05:05 ejs [n=eugen@nat.ironport.com] has joined #lisp 12:06:13 p0a [n=user@athedsl-393554.home.otenet.gr] has joined #lisp 12:06:19 where can I learn about the ~/ directive? 12:06:24 sb-pcl::*built-in-class-symbols*doesn't seem like a very standard interface 12:06:58 p0a: the FORMAT directives or the non-portable pathname ones? 12:07:14 the format directive 12:07:46 chapters 627 - 680 of CltL2 is where I spent most of my evening tonight :-) 12:07:46 kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 12:07:57 http://gigamonkeys.com/book/a-few-format-recipes.html 12:08:05 trebor_dki [n=user@mail.dki.tu-darmstadt.de] has joined #lisp 12:09:08 fusss: that's were I learned about ~/, there's no explanation of it 12:09:35 clhs ~/ 12:09:36 http://www.lispworks.com/reference/HyperSpec/Body/22_ced.htm 12:10:05 -!- demmeln [n=Adium@001cb3c457d3.dfn.mwn.de] has quit ["Leaving."] 12:10:10 p0a: http://www.franz.com/support/documentation/current/ansicl/section/formatte.htm 12:10:19 nvoorhies [n=nvoorhie@76.216.21.95] has joined #lisp 12:10:35 wlr [n=walt@c-65-96-92-150.hsd1.ma.comcast.net] has joined #lisp 12:10:55 -!- Douglish [i=dal@horinek.net] has quit ["terminated"] 12:15:23 envi^home [n=envi@220.121.234.156] has joined #lisp 12:20:13 tcr [n=tcr@host146.natpool.mwn.de] has joined #lisp 12:21:17 -!- pizdets [n=pizdets@98.116.202.61] has quit [Client Quit] 12:23:07 Kenjin [n=Kenjin@246-127.dial.nortenet.pt] has joined #lisp 12:23:36 -!- Kenjin is now known as Guest14434 12:23:36 OmniMancer [n=OmniManc@219.89.106.144] has joined #lisp 12:23:41 -!- fe[nl]ix [n=algidus@89.202.147.18] has quit [Read error: 104 (Connection reset by peer)] 12:23:56 -!- stassats [n=stassats@wikipedia/stassats] has quit [Read error: 104 (Connection reset by peer)] 12:25:49 demmeln [n=Adium@lapradig96.informatik.tu-muenchen.de] has joined #lisp 12:27:19 fe[nl]ix [n=algidus@89.202.147.18] has joined #lisp 12:31:42 -!- TR2N [i=email@89-180-152-217.net.novis.pt] has quit [Read error: 110 (Connection timed out)] 12:32:12 -!- pavelludiq [n=quassel@83.222.175.184] has quit [Remote closed the connection] 12:32:17 how do i extract the directory component of a pathname? 12:32:22 HET2 [n=diman@w283.engin.cf.ac.uk] has joined #lisp 12:33:09 ,clhs pathname-directory 12:33:16 hmm. 12:34:44 ok how do i turn (:ABSOLUTE "home" "dto" "rlx") 12:34:45 into a pathname? 12:35:54 -!- mstevens [n=mstevens@zazen.etla.org] has quit ["leaving"] 12:36:02 -!- Kenjin_ [n=Kenjin@242-14.dial.nortenet.pt] has quit [Read error: 110 (Connection timed out)] 12:37:02 (make-pathname ...) 12:38:38 clhs 19.2.2.5 12:38:39 http://www.lispworks.com/reference/HyperSpec/Body/19_bbe.htm 12:39:12 -!- OmniMancer1 [n=OmniManc@122-57-13-207.jetstream.xtra.co.nz] has quit [Read error: 110 (Connection timed out)] 12:39:12 impressive 12:41:30 -!- ska` [n=user@203.146.146.169] has quit [Read error: 113 (No route to host)] 12:46:55 -!- Jasko [n=tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has quit ["Leaving"] 12:47:43 huh, i could have sworn sb-sys was public 12:48:08 thanks folks, i got it working i think. 12:48:47 http://cloud.github.com/downloads/dto/rlx/xong-day7early2-linux.tar.gz 12:48:49 Jasko [n=tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has joined #lisp 12:48:56 i'm sorry, disregard, wrong channel 12:49:45 I plan to freeze sbcl this afternoon; last chance to commit 12:50:58 Jasko2 [n=tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has joined #lisp 12:51:13 daniel_ [i=daniel@unaffiliated/daniel] has joined #lisp 12:51:41 -!- Jasko [n=tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has quit [Read error: 54 (Connection reset by peer)] 12:52:33 -!- mgr [n=mgr@psychonaut.psychlotron.de] has quit [Read error: 104 (Connection reset by peer)] 12:52:47 silenius [n=jl@yian-ho03.nir.cronon.net] has joined #lisp 12:54:59 -!- daniel [i=daniel@unaffiliated/daniel] has quit [Read error: 60 (Operation timed out)] 12:55:24 -!- drewc [n=drewc@89.16.166.162] has quit [Remote closed the connection] 12:55:58 Xof: why? 12:56:47 paper on multi-methods in Java 12:57:21 'the usefulness of M-M has been demonstrated in research languages like Cecil, CLOS and Dylan' 12:57:32 drdo [n=drdo@a89-152-179-186.cpe.netcabo.pt] has joined #lisp 13:00:35 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 13:01:36 davazp [n=user@156.Red-79-153-148.dynamicIP.rima-tde.net] has joined #lisp 13:02:14 Heh, "research languages" 13:02:40 you are all doing research! 13:02:54 p0a: it's that time of the month. sbcl does freeze every month a week before the release 13:04:08 ska` [n=user@124.157.196.18] has joined #lisp 13:04:50 demmeln1 [n=Adium@138.246.18.169] has joined #lisp 13:05:17 nipra_ [n=nipra@117.195.104.191] has joined #lisp 13:05:45 -!- demmeln1 [n=Adium@138.246.18.169] has quit [Client Quit] 13:06:09 -!- demmeln [n=Adium@lapradig96.informatik.tu-muenchen.de] has quit [Read error: 60 (Operation timed out)] 13:11:24 -!- nipra [n=nipra@117.195.100.50] has quit [Read error: 60 (Operation timed out)] 13:12:20 -!- ltriant [n=ltriant@202.136.38.162] has quit ["."] 13:13:12 mgr [n=mgr@213.239.218.99] has joined #lisp 13:16:13 -!- ignas [n=ignas@ctv-79-132-160-221.vinita.lt] has quit [Read error: 110 (Connection timed out)] 13:18:15 -!- ruediger [n=quassel@188-23-177-14.adsl.highway.telekom.at] has quit [Remote closed the connection] 13:21:45 -!- thoolihan [n=thooliha@99-157-225-37.lightspeed.bcvloh.sbcglobal.net] has quit [] 13:21:57 Jabberwockey [n=jens@84.46.46.46] has joined #lisp 13:22:50 -!- schoppenhauer [n=css@unaffiliated/schoppenhauer] has quit ["Verlassend"] 13:25:55 -!- ASau [n=user@host195-231-msk.microtest.ru] has quit [Remote closed the connection] 13:26:02 ASau [n=user@host195-231-msk.microtest.ru] has joined #lisp 13:27:09 boinkmarks / boinkor.net down ): 13:27:34 :( 13:29:32 Modius [n=Modius@cpe-70-123-130-159.austin.res.rr.com] has joined #lisp 13:30:25 morphling [n=stefan@95.117.99.66] has joined #lisp 13:31:44 ziga` [n=user@BSN-143-132-73.dial-up.dsl.siol.net] has joined #lisp 13:32:56 -!- morphling [n=stefan@95.117.99.66] has quit [Remote closed the connection] 13:33:17 morphling [n=stefan@95.117.99.66] has joined #lisp 13:41:15 dlowe [n=dlowe@ita4fw1.itasoftware.com] has joined #lisp 13:41:17 Axius [n=ade@92.85.221.217] has joined #lisp 13:44:27 hefner [n=hefner@ppp-61-90-102-94.revip.asianet.co.th] has joined #lisp 13:45:05 ignas [n=ignas@78.60.73.85] has joined #lisp 13:45:21 LiamH [n=none@pdp8.nrl.navy.mil] has joined #lisp 13:45:29 Athas [n=athas@192.38.109.188] has joined #lisp 13:46:29 blackened` [n=blackene@ip-89-102-22-70.karneval.cz] has joined #lisp 13:51:44 -!- OmniMancer [n=OmniManc@219.89.106.144] has quit ["Leaving."] 13:52:52 thehcdreamer [n=thehcdre@94.198.78.26] has joined #lisp 13:53:14 Edico [n=Edico@unaffiliated/edico] has joined #lisp 13:56:22 marioxcc [n=user@200.77.62.241] has joined #lisp 13:59:03 demmeln [n=Adium@001cb3c457d3.dfn.mwn.de] has joined #lisp 13:59:24 -!- demmeln [n=Adium@001cb3c457d3.dfn.mwn.de] has quit [Client Quit] 14:00:53 -!- kpreid [n=kpreid@216-171-189-244.northland.net] has quit [] 14:03:12 mattrepl [n=mattrepl@pool-71-163-162-204.washdc.fios.verizon.net] has joined #lisp 14:04:51 -!- Axius [n=ade@92.85.221.217] has quit [Read error: 110 (Connection timed out)] 14:04:52 -!- mattrepl [n=mattrepl@pool-71-163-162-204.washdc.fios.verizon.net] has quit [Client Quit] 14:04:59 Yuuhi [i=benni@84.131.223.203] has joined #lisp 14:05:12 mattrepl [n=mattrepl@pool-71-163-162-204.washdc.fios.verizon.net] has joined #lisp 14:07:38 pavelludiq [n=quassel@83.222.175.184] has joined #lisp 14:08:41 -!- fe[nl]ix [n=algidus@89.202.147.18] has quit ["Valete!"] 14:08:58 fe[nl]ix [n=algidus@89.202.147.18] has joined #lisp 14:09:57 kami [n=user@188.100.206.78] has joined #lisp 14:10:16 hello 14:11:35 -!- fe[nl]ix [n=algidus@89.202.147.18] has quit [Client Quit] 14:13:45 ikki [n=ikki@200.95.162.111] has joined #lisp 14:15:32 hugod [n=hugod@bas1-montreal50-1279441070.dsl.bell.ca] has joined #lisp 14:15:58 Axius [n=ade@92.82.94.129] has joined #lisp 14:16:01 -!- mishoo [n=mishoo@79.112.52.124] has quit [Read error: 110 (Connection timed out)] 14:17:14 mishoo [n=mishoo@79.112.52.124] has joined #lisp 14:17:55 Deep [n=dawgmati@c-76-124-3-89.hsd1.nj.comcast.net] has joined #lisp 14:18:20 jsnell: For the slime-coverage contrib, is xref information available mapping from annotated block to the blocks that tested that source-form? 14:18:29 fe[nl]ix [n=algidus@89.202.147.18] has joined #lisp 14:18:35 I think that would be a nice feature to have 14:21:07 Guthur [i=c13dbf2f@gateway/web/freenode/x-dbuotyrkaitmljav] has joined #lisp 14:23:49 DrunkTomato [n=DEDULO@217.18.135.36] has joined #lisp 14:24:02 Nshag [i=user@lns-bzn-36-82-251-43-64.adsl.proxad.net] has joined #lisp 14:24:10 -!- Paraselene__ [n=None@79-67-188-149.dynamic.dsl.as9105.com] has quit [Connection timed out] 14:24:38 ineiros_ [n=itniemin@james.ics.hut.fi] has joined #lisp 14:26:45 I don't think I understand 14:27:41 -!- jdz_ [n=jdz@85.254.211.133] has quit ["Boot me gently"] 14:28:10 tcr: You're looking for coverage breakdown by covering form? 14:29:44 Perhaps. :) I'd like to see the code that "covered" an annotated source-form 14:29:59 E.g. which test case made this branch go this way 14:30:05 Spug [i=tobias@knuth.ping.uio.no] has joined #lisp 14:30:27 what does tref do exactly? 14:30:43 xref, not tref. xref mean cross-reference 14:31:01 ah, sorry 14:32:07 -!- Guthur [i=c13dbf2f@gateway/web/freenode/x-dbuotyrkaitmljav] has quit ["Page closed"] 14:32:29 Paraselene__ [n=None@79.67.188.149] has joined #lisp 14:32:33 -!- ineiros [n=itniemin@james.ics.hut.fi] has quit [Read error: 113 (No route to host)] 14:32:43 <_3b> Spug: were you asking about their conversation, or something else? 14:32:51 tcr: so given (defun foo-t () (bar t)) (defun foo-nil () (bar nil)) (defun bar (x) (if x (case-1) (case-2)), you'd want coverate to record the FOO-T and FOO-NIL for the IF-test in BAR? 14:32:54 tcr: and how is the xref instrumentation supposed to distinguish between test a and test b? 14:33:03 coverage/xref, even? 14:33:35 <_3b> jsnell: couldn't it just grab stack traces like sprof? 14:33:42 do XCVB have functionality to back out of loaded stuff? ie, to get back to the state prior to loading some system? 14:34:01 -!- sellout [n=greg@c-24-128-48-180.hsd1.ma.comcast.net] has quit [] 14:34:11 yes, if you wanted a 1000x slowdown instead of a 20% one 14:34:34 to me that seems like a bad tradeoff :-) 14:35:11 <_3b> true, that could be inconvenient :) 14:36:18 while if the way the distinction would be accomplished were through making some modification to the test macros, then the functionality can basically be had already 14:36:20 -!- Pete_R [n=quassel@78.97.98.73] has quit [Read error: 110 (Connection timed out)] 14:37:11 hypno: you want to unload code ? 14:37:39 (have each test reset the coverage data before it's run and save it afterwards. after running all the tests, make a union of those results, with whatever extra processing you want) 14:38:20 -!- Spug [i=tobias@knuth.ping.uio.no] has left #lisp 14:38:33 -!- ejs [n=eugen@nat.ironport.com] has quit [Read error: 110 (Connection timed out)] 14:38:50 fe[nl]ix: in the presence of errors or bugs in said code, yes. 14:38:59 -!- Deep [n=dawgmati@c-76-124-3-89.hsd1.nj.comcast.net] has quit [] 14:40:49 jsnell: ok 14:41:02 dnolen [n=dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 14:41:41 hypno: unless fare has developed a new superpower, there is no way xcvb can determine how to under arbitrady side-effects (it _could_ dump cores, and may even do so -- but reloading them loses your dynamic state) 14:41:52 hypno: you can't do that 14:41:53 how to undo, even 14:42:35 redblue [i=star@ppp089.108-253-207.mtl.mt.videotron.ca] has joined #lisp 14:42:43 hmm, ok. 14:43:17 minion, chant 14:43:17 MORE SUPERPOWERS 14:43:37 antifuchs [n=foobar@baker.boinkor.net] has joined #lisp 14:46:13 eldragon [n=eldragon@84.79.67.254] has joined #lisp 14:48:09 -!- SandGorgon [n=OmNomNom@122.173.249.152] has quit [Success] 14:49:58 coyo [n=alex@99-6-151-42.lightspeed.rcsntx.sbcglobal.net] has joined #lisp 14:50:12 -!- Axius [n=ade@92.82.94.129] has quit ["Leaving"] 14:50:59 -!- kami [n=user@188.100.206.78] has left #lisp 14:51:04 -!- drdo [n=drdo@a89-152-179-186.cpe.netcabo.pt] has quit [] 14:51:22 -!- blandest [n=blandest@softhouse.is.ew.ro] has quit ["Leaving."] 14:52:40 kami [n=user@188.100.206.78] has joined #lisp 14:55:25 cvandusen [n=user@12.185.80.194] has joined #lisp 14:55:33 pjb [n=t@26.Red-79-149-148.staticIP.rima-tde.net] has joined #lisp 14:57:45 spradnyesh [n=pradyus@122.167.98.51] has joined #lisp 14:58:33 lacedaemon [n=algidus@89.202.147.23] has joined #lisp 14:59:03 -!- fe[nl]ix [n=algidus@89.202.147.18] has quit [Nick collision from services.] 14:59:18 -!- lacedaemon is now known as fe[nl]ix 15:00:03 sulime_ [n=emile@cust.12.191.adsl.cistron.nl] has joined #lisp 15:00:57 -!- dto [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has left #lisp 15:05:14 okflo [n=okflo@194.48.133.8] has joined #lisp 15:06:15 lispm: at least it is now a research language. It used to be simply dead. 15:06:50 -!- phadthai [i=mmondor@ginseng.pulsar-zone.net] has quit [Read error: 145 (Connection timed out)] 15:08:29 -!- sulime_ [n=emile@cust.12.191.adsl.cistron.nl] has quit ["Ex-Chat"] 15:08:33 -!- bakkdoor [n=bakkdoor@s15229144.onlinehome-server.info] has quit ["Serverwechsel"] 15:08:40 sellout [n=greg@64.243.27.4] has joined #lisp 15:08:58 bakkdoor [n=bakkdoor@s15229144.onlinehome-server.info] has joined #lisp 15:08:59 ejs [n=eugen@131-53-178-94.pool.ukrtel.net] has joined #lisp 15:10:56 kpreid [n=kpreid@209-217-212-34.northland.net] has joined #lisp 15:13:36 -!- ikki [n=ikki@200.95.162.111] has quit [Read error: 110 (Connection timed out)] 15:16:11 M-M? 15:17:14 prxq: btw, lisp isn't so dead... I'm partially betting my business idea on CL, CLOS and MOP :P 15:19:41 SandGorgon [n=OmNomNom@122.173.249.152] has joined #lisp 15:19:53 ska`` [n=user@124.157.196.18] has joined #lisp 15:22:17 -!- okflo [n=okflo@194.48.133.8] has quit [] 15:22:51 p_l: if your business succeeds, it was because of lisp! 15:22:56 (any failures are your own fault) 15:23:48 Xach: It also appears that I will get another revenue source by doing IT services for other companies in our Incubator 15:25:02 with main product having near-zero production costs (basically, wages + legal costs + promotion), I think it might succeed :D 15:28:44 aren't wages basically always the largest costs? 15:29:47 Xof: unless you have some idea that requires absurd production costs (I'd be wary of entering IC market, for example...) 15:29:47 Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has joined #lisp 15:30:00 does anyone here know of any systems where you basically transform repl interactions into test cases? ("repl" here can be broadly interpreted -- e.g. Squeak workspaces, Visual Studio edit-and-continue would count) 15:30:02 not necessairly, but for most small companies they are yes, ime. 15:30:20 though fabless companies selling IC cores have less problems with manufacturing costs 15:30:48 p_l: now, what is your business idea? :) 15:30:51 hypno: I'm going to employ students, we can go on low salaries for beginning :) 15:31:31 Guthur [i=c13dbf2f@gateway/web/freenode/x-upcxclhlqtwjtziq] has joined #lisp 15:31:42 p_l: ah. and i guess that makes it "employ" too. :) 15:31:43 I won't say everything, but it's an information workflow system targeted at educational organizations (with a mix of ERP etc.) 15:31:55 Xach: is this like a dribble that then becomes a test? 15:31:57 dto [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 15:32:55 *_3b* would like a setup where you write a form, then hit a key to add it as a test with current results as expected results 15:33:09 leo2007 [n=leo@193.60.95.74] has joined #lisp 15:33:15 hypno: I started thinking about it since last year due to how bad the information flow at my university is 15:33:41 <_3b> though getting it to match gensyms properly would probably be a hassle 15:34:03 the business incubator that starts now is a good occasion to grab some extra money by doing some services to other companies 15:35:06 p_l: i see. well, good luck. we can't get to few CL success stories. 15:35:11 Xof: There's something for Python docstring where some tool which grovel docstrings and check for > (code) \n result. Where "> (code) \n result" may just have been coped straightly from the listener 15:35:28 phadthai [i=mmondor@ginseng.pulsar-zone.net] has joined #lisp 15:35:28 jleija [n=jleija@user-24-214-122-46.knology.net] has joined #lisp 15:35:51 gz_ [n=gz@c-66-31-201-117.hsd1.ma.comcast.net] has joined #lisp 15:36:20 Such a system sounds nice at glance, but my experience is that you actually have to give thoughts to your tests. 15:36:35 tsuru: Accursed Xof is riding my nicktails. 15:36:37 -!- HET2 [n=diman@w283.engin.cf.ac.uk] has quit ["This computer has gone to sleep"] 15:36:55 (if you want to test thoroughly) 15:36:59 ikki [n=ikki@201.155.75.146] has joined #lisp 15:37:14 <_3b> tcr: yeah, but it would make the first 80% easier :) 15:37:24 Xof: there are systems that pull test-cases out of repl-examples embedded in docstrings 15:37:45 anyone else find current slime feels considerably more sluggish than, say, slime from six months or a year ago? 15:37:52 (and similar stuff for non-repl examples, of course) 15:38:01 <_3b> tcr: (if you mean the directly from repl part, putting tests into docstrings with some odd format seems inconvenient) 15:38:03 -!- ska`` [n=user@124.157.196.18] has quit [Read error: 104 (Connection reset by peer)] 15:38:07 ska`` [n=user@124.157.196.18] has joined #lisp 15:38:14 ah, tcr said that already 15:38:23 hefner: You mean output? 15:38:47 tsuru: that's the kind of thing I mean, yes 15:38:58 tcr: no, perceivable delays while cursoring around (maybe related to arglists or highlighting) 15:39:01 _3b: In my experience, writing tests ceases to be a chore if you spend some time to create the right testing infrastructure for your problem at hand 15:39:06 slash_ [n=Unknown@whgeh0250.cip.uni-regensburg.de] has joined #lisp 15:39:28 <_3b> tcr: yeah, i'd consider this sort of thing part of that 'right infrastructure' :) 15:39:32 hefner: Yes, it's either autodoc, or suppression-of-reader conditionals for fontification 15:39:51 aha, http://common-lisp.net/pipermail/slime-devel/2006-September/013035.html 15:40:12 _3b: the gain comes from specialized infrastructure for your problem, in my experience 15:40:40 <_3b> tcr: yeah, some of what i want probably counts as that 15:40:44 hefner: That said, it's not sluggish for me. Do you work on a remote swank server? 15:40:45 this is good, if slime gets a little slower, and climacs a little faster, they'll meet in the middle. 15:41:16 *cmm* is looking at Go to see what all the fuss is about 15:41:16 -!- cmm [n=cmm@bzq-79-178-135-94.red.bezeqint.net] has quit [Read error: 104 (Connection reset by peer)] 15:41:29 cmm [n=cmm@bzq-79-178-135-94.red.bezeqint.net] has joined #lisp 15:41:29 -!- dnolen [n=dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [Read error: 104 (Connection reset by peer)] 15:41:29 tcr: no, local SBCL and ECLs, but this laptop is maybe half the speed of a modern machine 15:41:50 prototype object systems really never impressed me much 15:41:51 hefner: M-: (require 'elp) 15:41:57 Pip [n=pip@unaffiliated/pip] has joined #lisp 15:41:59 hefner: M-x elp-instrument-package RET slime- RET 15:42:02 hefner: then work a bit 15:42:03 -!- ska` [n=user@124.157.196.18] has quit [Read error: 110 (Connection timed out)] 15:42:06 they're useful if you want orthogonal applications to be able to markup your objecets 15:42:10 hrm. how hard would it be to make sbcl or ccl use the "segmented stacks" technique? 15:42:17 (as in the frames systems used in AI) 15:42:18 hefner: Then paste the result of M-x elp-results 15:42:29 and then to implement an equivalent of "goroutines" on top of that 15:42:41 cmm: nyef was working on that for sbcl 15:42:41 and then profit or something 15:42:42 dnolen [n=dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 15:43:07 tcr: I'll give that a try, thanks. 15:43:24 rahul: OK, I hope he has a plan how to profit from it then :) 15:43:24 hefner: ELP is Emacs Lisp Profiler, it's quite nice 15:43:29 heh 15:44:22 beautiful [n=beauty@83.231.113.187] has joined #lisp 15:44:42 *cmm* notes with some amusement that Go 15:45:00 Isn't Go Considered Harmful? 15:45:00 's regex package uses the classic slow interpretive architecture 15:45:22 -!- Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has quit ["This computer has gone to sleep"] 15:45:28 tcr: if it isn't, version 2 certainly will be. 15:45:31 cmm: you mean the linear time caching NFA algorithm? 15:45:34 which is funny because Go has actual closures 15:46:04 or the exponential time backtracking algorithm? 15:46:23 (that perl and cl-ppcre use) 15:46:58 no real idea. I only see that they build a list of actions and then interpret them, instead of doing what cl-ppcre does, say 15:47:09 hefner: I'm also using a laptop which is half a decade old, and it's definitively not sluggish. 15:48:29 my definition of sluggish is that I feel it freeze for maybe 300 milliseconds sometimes when moving the cursor 15:48:29 cmm: well, the fast algorithm can't easily be expressed as closures, afaik 15:48:48 -!- ska`` [n=user@124.157.196.18] has quit [Remote closed the connection] 15:48:53 ska`` [n=user@124.157.196.18] has joined #lisp 15:49:11 evening 15:49:13 rahul: ah, ok 15:50:15 hefner: Yeah that's probably autodoc. I'd be interested in the profiling data 15:50:45 Xof: see DOCTESTS here: http://superadditive.com/projects/incf-cl/ 15:51:33 -!- ska`` [n=user@124.157.196.18] has quit [Remote closed the connection] 15:51:37 -!- borism [n=boris@213.35.232.204] has quit [Read error: 145 (Connection timed out)] 15:51:38 ska`` [n=user@124.157.196.18] has joined #lisp 15:52:01 *rahul* realizes that his prototype-objects can inherit from standard-objects 15:52:13 milanj [n=milan@79.101.170.72] has joined #lisp 15:53:00 nikodemus: thanks 15:53:20 *froydnj* wishes there was just one "common lisp utility library" 15:53:45 Just pretend there is only one 15:53:47 froydnj: it's called ANSI CL 15:53:57 and then there are many others :P 15:53:58 borism [n=boris@213.35.232.204] has joined #lisp 15:54:12 That technique works in numerous occasions 15:54:18 alexandria is the only one that counts 15:54:24 others are in poor taste. 15:55:11 -!- kpreid [n=kpreid@209-217-212-34.northland.net] has quit [] 15:56:06 there's a vacancy for providing a one-click batteries-included lisp environment 15:56:15 maybe someone could make a business out of it 15:56:20 BAHAHAHAHA 15:56:25 lol 15:56:52 add excellent documentation to that, and you have franz 15:58:51 if you guys were serious about harming the software industry, you'd figure out core relocation so SBCL apps can run on windows without the fickle blessings of death kittens 15:58:53 some of their stuff is not in good taste, though, so FAIL 15:58:56 kpreid [n=kpreid@209-217-212-34.northland.net] has joined #lisp 16:00:01 *hefner* is reminded to try building lichteblau's relocate patch again 16:00:10 -!- ejs [n=eugen@131-53-178-94.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 16:01:27 *p_l* would love core that doesn't need linear address space 16:01:28 -!- nunb [n=nundan@217.133.104.225] has quit ["This computer has gone to sleep"] 16:01:30 hmm, i don't get xcvb - at least not yet .. is it useful for smaller projects? .. must one dump cores to use it? .. what happens if one dump 2 cores for 2 different projects and make changes to some source that is part of the deps. of both cores? .. not sure i follow the "core-centric idea" (i'm not even sure that's what this is :P) 16:01:37 is anyone looking into implementing a lisp for .net 16:01:56 i just noticed there is a DLR, dynamic language runtime 16:02:04 Guthur: there was a project but the author switched from CL to Scheme 16:02:40 juggling cores around isn't something i've thought much about wrt. slime 16:03:09 -!- spradnyesh [n=pradyus@122.167.98.51] has quit [Read error: 60 (Operation timed out)] 16:03:17 p_l good way to limit scope i suppose, scheme in .net would something though 16:03:30 would/would be 16:03:33 ....loading .fasls is slow, but is it really that slow for small/medium sized projects? 16:03:47 common larceny? iron scheme? 16:03:55 spradnyesh [n=pradyus@nat/yahoo/x-wajqsjmnoxroquhg] has joined #lisp 16:05:11 pkhuong: Iron Scheme, iirc 16:05:29 Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has joined #lisp 16:05:30 cheers, i think it was mentioned before for me, i had forgot 16:05:45 http://www.codeplex.com/IronScheme 16:05:46 it targets the DLR 16:05:48 p_l: these were suggestions of a scheme on .net. Common Larceny, at least, didn't need the DLR to work. 16:05:48 sebyte [n=sebyte@vps203.linuxvps.org] has joined #lisp 16:06:21 -!- adeht [n=death@84.110.48.219] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 16:07:27 hi all, what's the trick for generating keywords dynamically from symbols, so that 'foo becomes :foo? 16:07:36 -!- splittist [n=dmurray@85.0.221.88] has quit ["rcirc on GNU Emacs 23.1.1"] 16:07:41 sebyte: intern into the KEYWORD package 16:07:57 sebyte: (intern (symbol-name nonkeyword) :keyword) 16:08:34 are you sure you want keywords? Would a self evaluating symbol do just as well? 16:08:51 -!- ASau [n=user@host195-231-msk.microtest.ru] has quit ["off"] 16:09:27 umm not sure if ironscheme does need dlr 16:10:10 dlowe: Xach: thanks. pkhuong: I'm writing a defclass wrapper (as has no doubt been done a zillion times before) 16:10:30 minion: tell sebyte about defclass-star 16:10:31 sebyte: direct your attention towards defclass-star: The end of the page was reached before a definition was found in http://www.cliki.net/defclass-star 16:11:04 hmph 16:11:07 sebyte: http://common-lisp.net/project/defclass-star/ 16:12:00 -!- grouzen [n=grouzen@91.214.124.2] has quit [Read error: 145 (Connection timed out)] 16:12:02 dlowe: got it 16:12:17 rpg [n=rpg@216.243.156.16.real-time.com] has joined #lisp 16:12:46 defclass** 16:12:56 *rahul* can't remember the list equivalent of cotruncating-when 16:12:57 the question remains: are you sure you want a keyword rather than a symbol? (Hint: (defclass foo () ((a :initarg :a :accessor a))) is quite often "wrong", even if it's very common) 16:13:16 sebyte: that is a BAD idea 16:13:24 sebyte: in fact, using keywords for initargs is a bad idea 16:13:32 oh, let him write his defclass* 16:13:33 sebyte: and forcing all slots of have initargs is a bad idea 16:13:45 a good name would be DEFCLASS?! 16:13:51 hefner: oh, I will, but only while attempting to educate :-) 16:14:05 DEFCLASS?!WTFBB. 16:14:09 +q 16:14:10 Xach: that should be the standard suffix for deprecated functions 16:14:35 dlowe: you mean functions that were created to be deprecated 16:15:12 varjag [n=eugene@122.62-97-226.bkkb.no] has joined #lisp 16:15:45 rahul why is keywords for initargs bad? i thought it was standard, seems to be the way in all literature i've seen 16:16:13 DEF-OMGWTFBBQ!?-CLASS 16:16:49 Guthur: because keywords are global 16:16:58 Guthur: then you'll end up with the same initarg for different slots 16:17:02 My personal lapse in taste is a 'deftuple' macro wrapping defstruct that creates a BOA constructor by default and a copier (-FROM) that lets you supply initargs to override slot values. I think it's a great idea, and I've never used it. 16:17:22 (one of my many lapses in taste) 16:17:54 Guthur: (in-package :foo) (defclass foo () ((x :initarg x :accessor bar-x))) (in-package :bar) (defclass foo () ((x :initarg x :accessor foo-x)) 16:18:03 Xof: what's the right way to get the difference of two numeric types in sbcl? 16:18:04 I've had a binding macro like that, probably still do 16:18:15 type-difference as it stands is useless 16:18:20 Guthur: (in-package :fubar) (defclass fubar (foo bar) ()) 16:18:22 (and a (not b))? 16:18:44 rahul cheers, i was just blindly following, shame on me 16:19:25 Guthur: if you used :initarg x in both cases, you'd be able to do (make-instance 'fubar 'foo:x 1 'bar:x 2) 16:19:56 ska``` [n=user@124.157.196.18] has joined #lisp 16:20:11 (sb-kernel:type-intersection (sb-kernel:specifier-type 'integer) (sb-kernel::make-negation-type :type (sb-kernel:specifier-type 'fixnum))) => # 16:20:24 Guthur: this colliding-initargs case isn't that common; it's not like all existing defclass*** things make instantly buggy software 16:20:31 -!- redblue [i=star@ppp089.108-253-207.mtl.mt.videotron.ca] has quit [Connection timed out] 16:20:35 rahul thanks again, it has been noted 16:20:56 nikodemus: you're doing something wrong 16:21:04 Xof ya but its just a that every example does it 16:21:11 if you're trying to make extensible CLOS libraries, it will be a problem 16:21:13 specifically, that "make-negation-type" 16:21:14 ah, i need type-negation 16:21:22 i will admit that i kind of thought it was compulsory 16:21:34 if you're just trying to create an application that will never be extended by a 3rd party, it doesn't matter 16:22:05 you're doing pretty good if it gets *used* by a 3rd party, let alone extended 16:22:19 very true :) 16:22:37 -!- ska``` [n=user@124.157.196.18] has quit [Remote closed the connection] 16:22:38 \o/ it works 16:22:42 ska``` [n=user@124.157.196.18] has joined #lisp 16:22:54 -!- thehcdreamer [n=thehcdre@94.198.78.26] has quit [] 16:23:06 -!- SandGorgon [n=OmNomNom@122.173.249.152] has quit [Connection timed out] 16:23:34 mstevens [n=mstevens@zazen.etla.org] has joined #lisp 16:23:52 -!- morphling [n=stefan@95.117.99.66] has quit [Remote closed the connection] 16:24:07 morphling [n=stefan@gssn-5f756342.pool.mediaWays.net] has joined #lisp 16:24:42 acrid [n=mckay@204.126.146.202] has joined #lisp 16:25:20 -!- davazp [n=user@156.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 16:25:23 -!- ska``` [n=user@124.157.196.18] has quit [Remote closed the connection] 16:25:27 ska``` [n=user@124.157.196.18] has joined #lisp 16:26:11 -!- ska`` [n=user@124.157.196.18] has quit [Read error: 60 (Operation timed out)] 16:26:37 hmm. very interesting. thanks all. 16:28:18 yay 16:28:25 my prototypes library passes the tests 16:28:44 -!- gz_ [Clozure@clozure-2E21CFB1.hsd1.ma.comcast.net] has quit [Quit: gz_] 16:28:44 -!- gz_ [n=gz@c-66-31-201-117.hsd1.ma.comcast.net] has quit [] 16:29:05 ejs [n=eugen@181-47-178-94.pool.ukrtel.net] has joined #lisp 16:29:24 well if nothing else i'm a little wiser, i assume make-instance parameters had to be keywords 16:30:23 -!- Guthur [i=c13dbf2f@gateway/web/freenode/x-upcxclhlqtwjtziq] has quit ["Page closed"] 16:32:31 rrice [n=rrice@adsl-69-221-160-24.dsl.akrnoh.ameritech.net] has joined #lisp 16:35:41 ska```` [n=user@124.157.196.18] has joined #lisp 16:35:59 -!- lichtblau [n=user@port-92-195-56-124.dynamic.qsc.de] has quit [Read error: 110 (Connection timed out)] 16:36:34 -!- mishoo [n=mishoo@79.112.52.124] has quit [Read error: 110 (Connection timed out)] 16:38:05 -!- ska``` [n=user@124.157.196.18] has quit [Remote closed the connection] 16:38:16 -!- ska```` [n=user@124.157.196.18] has quit [Remote closed the connection] 16:38:25 ska```` [n=user@124.157.196.18] has joined #lisp 16:38:46 -!- eldragon [n=eldragon@84.79.67.254] has quit [Remote closed the connection] 16:38:46 mishoo [n=mishoo@79.112.52.124] has joined #lisp 16:39:37 -!- ejs [n=eugen@181-47-178-94.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 16:44:44 minion: note to Guthur in general, &key args don't need to be named by keywords 16:44:45 please stop playing with me... i am not a toy 16:44:56 bah 16:45:30 minion: memo to rahul: this is the syntax :) 16:45:30 Remembered. I'll tell rahul when he/she/it next speaks. 16:46:06 yeah, frigging colon 16:46:06 rahul, memo from nikodemus: this is the syntax :) 16:46:35 minion: note to Guthur: in general, &key args don't need to be named by keywords 16:46:35 Remembered. I'll tell Guthur when he/she/it next speaks. 16:46:35 my kingdom for a colon 16:48:02 -!- Pip [n=pip@unaffiliated/pip] has quit [Read error: 145 (Connection timed out)] 16:48:06 rahul: I think minion will also accept a colostomy bag.... 16:48:36 wow, Ron Garrett really is an idiot 16:48:48 (however many ts he has in his name) 16:48:54 -!- rstandy [n=rastandy@net-93-144-146-194.t2.dsl.vodafone.it] has quit [Remote closed the connection] 16:49:30 Does anybody have at hand a URL about this "bug" in the classic (C-like) language implementation of the dichotomy search algorithm? 16:49:30 Xof: of course, that's a parameter that varies with time 16:49:31 don't forget to share a link with us 16:49:45 lispm: no, I'll spare those who don't read cll 16:49:55 ;-) 16:51:05 I somehow skip all those 'lexical' posts 16:51:38 -!- mvilleneuve [n=mvillene@80.14.131.214] has quit ["Lost terminal"] 16:52:53 Xof: The sad part is that he displays himself as expert 16:53:48 -!- beautiful [n=beauty@83.231.113.187] has quit [Read error: 131 (Connection reset by peer)] 16:54:08 grouzen [n=grouzen@91.214.124.2] has joined #lisp 16:55:03 pjb: google "josh bloch binary search" 16:55:52 -!- Reav_1 [n=Reav_1@h15a2.n2.ips.mtn.co.ug] has quit [Success] 16:56:11 pjb: A common one is to compute the pivot by mid = (start+end)/2, where the sum may overflow 16:56:18 640K -- good enough for everyone, and no pesky overflow bugs 16:56:57 HET2 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 16:57:37 probably there are few c.l.l threads that can't be more confused with a few j.t. posts 16:57:52 Yes, that's it. Thank you. I was searching "dichotomy" instead of "binary search"... 16:57:57 'Most symbols created by defvar, defparameter et al.' 16:58:26 -!- Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has quit ["This computer has gone to sleep"] 16:58:39 Pip [n=pip@unaffiliated/pip] has joined #lisp 16:59:59 "we must program... defensively." ... with a good condition and restart system! 17:01:10 wow, that flamewar is not even worth wasting time on 17:02:22 lispm: yes, well, Younder is in a class of his own when it comes to perpetually confused 17:03:21 Xof: heh, you missed the time when Erik was really picking Erann/Ron apart? I've been reluctant to listen to just about anything he says from that time on. :) 17:03:23 TR2N [i=email@89-180-140-82.net.novis.pt] has joined #lisp 17:03:26 I'm newbie and I can't understand what madhu and ron garrett talk about, but are you saying that madhu is right? 17:03:30 -!- sellout [n=greg@64.243.27.4] has quit [] 17:04:02 -!- fe[nl]ix [n=algidus@89.202.147.23] has quit [Read error: 110 (Connection timed out)] 17:04:05 p0a: it's not that simple 17:04:25 that's an understatement 17:04:30 p0a: I suggest to work on the first part of that sentence, so you can credibly decide for yourself 17:06:15 minion: memo for fare: tl;dr really! 17:06:15 Remembered. I'll tell fare when he/she/it next speaks. 17:07:03 |coyoes| [i=alex@144.162.132.141] has joined #lisp 17:07:09 What a wonderful pamphlet to sell your software. 17:07:17 Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has joined #lisp 17:07:19 at least Younder doesn't actively try to propagate his misconceptions. he gets lost inside them himself 17:07:46 tcr: it went alright with my morning coffee :) 17:08:21 unfortunately it's weekend so I won't have to take the subway tomorrow 17:08:21 Is there anything I can do to enhance/expand the printing of a frame in a backtrace which now shows as "((LAMBDA ()))"? 17:08:35 LiamH: hope for `v' to work 17:08:52 tcr: I should add this is non-interactive 17:10:02 LiamH: http://jsnell.iki.fi/blog/archive/2007-12-19-pretty-sbcl-backtraces.html 17:10:04 <_3b> if you know which lambdas will be aproblem, you can replace them with flet to name them 17:10:47 LiamH: I think that kind of backtrace printing amends itself more for logging output 17:12:48 tcr: Nice; not sure it will fill in the details I'm looking for, but it seems like it will give me more than I have. 17:13:34 LiamH: Well, the point is it will show you the file and line-number if a source-location is associated with that frame. (It's the information that `v' would use, too) 17:14:15 LiamH: recompiling your project with a restricted compiler policy of (debug 2) may also make sense, unless you rely on TCO somewhere without local declarations 17:14:35 see sb-ext:restrict-compiler-policy 17:14:48 tcr: I know, it's just not clear to me that the ((LAMBDA ())) thing will come out any different, and it is some work to use because I'm not running this interactively. I think the (debug 2) is a good idea though. 17:14:59 p0a: if you are newbie, and can't figure out who knows stuff and who is full of gas, don't read c.l.l 17:15:24 here it's simple: luis is the king, and all others are full of gas 17:15:42 p0a: afaict, they're talking about their relationship with each other and themselves, and not with anything to do with lisp 17:16:24 rahul: Isn't that the way it always goes with Ron? 17:16:37 Dawgmatix [n=dman@76.124.3.89] has joined #lisp 17:17:04 -!- kpreid [n=kpreid@209-217-212-34.northland.net] has quit [] 17:17:14 -!- mstevens [n=mstevens@zazen.etla.org] has quit ["leaving"] 17:19:41 cvandusen: pretty much 17:19:48 and enometh is rarely much better 17:19:52 er madhu 17:19:54 -!- legumbre_ is now known as legumbre 17:19:58 (his irc nick is enometh 17:20:26 -!- Pip [n=pip@unaffiliated/pip] has quit ["It's not my problem."] 17:22:58 akamaus [n=maus@78.31.79.185] has joined #lisp 17:23:40 nikodemus: I thought we were going to use sbcl-devel for discussion (rather than individual bugs) 17:24:10 to answer your question: as of my last commit, "yes" 17:24:33 Q: what sort of properties do my predicate need to make the output of sort deterministic and independent of the input order? transitivity and/or? 17:26:25 -!- dnolen [n=dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [] 17:26:48 http://en.wikipedia.org/wiki/Total_order 17:26:57 Good evening! 17:27:03 <_3b> clhs stable-sort 17:27:03 http://www.lispworks.com/reference/HyperSpec/Body/f_sort_.htm 17:27:11 -!- Haplo_ [n=ihatchon@LPuteaux-156-14-10-37.w80-14.abo.wanadoo.fr] has quit ["Quitte"] 17:27:47 levente_meszaros: I though the spec addressed that issue already 17:28:04 clhs sort 17:28:04 http://www.lispworks.com/reference/HyperSpec/Body/f_sort_.htm 17:28:19 hello anyone. It's not clear to me, how systems relate to packages and, more importantly, how to use them together to organize the code. 17:28:33 akamaus: they don't 17:28:37 attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has joined #lisp 17:28:45 akamaus: systems organize compilation. pacakges organize symbols. 17:28:50 levente_meszaros: I don't see how you can make that happen for any predicate < that may return false for both a < b and b < a. 17:29:00 rahul, got it 17:29:02 akamaus: approximately, packages are collections of symbols, systems are collections of source files 17:29:19 how one should structure the application written in lisp? 17:29:19 akamaus: it's a good idea usually to have each system define a package for the code that's in it 17:29:37 akamaus: look at some examples... edi weitz writes well-structured code 17:29:38 Xof: you're right -- it should have gone on sbcl-devel. ...but what is "yes" and answer to? 17:30:02 rahul: Er, typically a system contains several packages. 17:30:05 beach, well a predicate that either returns t or nil is obviously total, but not necessarily transitive 17:30:16 akamaus: ususally for a system foo, you have foo/foo.asd defining the system foo, foo/package.lisp defining the package foo, and files with code 17:30:26 beach: yes, it can 17:30:36 akamaus: Joe Marshall also pasted a great guide for larger systems. i think it's on cll. 17:30:37 actually I need to sort types wrt subtype and the upper bound of instances of that type 17:30:52 beach: but usually they would be multiple levels of interface to the same library or application 17:30:53 but my predicate seems to be not a total order 17:31:20 what's an upper bound of instances? 17:31:25 kejsaren1 [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 17:31:26 rahul, till now, I've written several parts of my app as separate packages and had package.lisp with defpackage forms, Now I need to specify additional dependencies on third party libraries, so I need to reorganize the structure somehow 17:31:32 -!- manituuuu [n=as@orwell.fiit.stuba.sk] has quit [Read error: 104 (Connection reset by peer)] 17:31:35 levente_meszaros: I wasn't referring to total orders. Just to what happens when the input contains several different, but equal, objects. 17:31:41 manituuuu [n=as@orwell.fiit.stuba.sk] has joined #lisp 17:31:48 kejsaren2 [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 17:31:53 akamaus: your whole app depends on those other libraries, not specific files 17:32:04 yes 17:32:17 so should I have one system for my app? 17:32:21 akamaus: so all those files go in your system 17:32:21 levy pasted "is this a total ordering?" at http://paste.lisp.org/display/90805 17:32:33 akamaus: sure, if it's meant to be compiled and loaded as a single group 17:32:43 yes, it is 17:32:44 beach, ok, but my code fails with a different case 17:32:46 akamaus: if you want to allow people to pick and choose what they compile and load, then have separate systems 17:33:22 what should I do with my packages now? leave them as is? 17:33:24 OmniMancer [n=OmniManc@122-57-3-202.jetstream.xtra.co.nz] has joined #lisp 17:33:25 mappers are practically types 17:33:40 levente_meszaros: if you have input (a1 a2) where a1 = a2, i.e (< a1 a2) => nil and (< a2 a1) => nil, then I can't see how sort can always produce the same output independently of the order of the input. 17:33:45 -!- dto [n=dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Read error: 110 (Connection timed out)] 17:34:01 nikodemus: "yes", we have non-trivial interesting type differences 17:34:05 (and array (not simple-array)) 17:34:20 levente_meszaros: You said "what sort of properties do my predicate need to make the output of sort deterministic and independent of the input order?" 17:34:41 beach, oh, I see, I'm not sure if this is the case, but in general I don't care about the order of equal types 17:34:52 I was too specific then 17:34:53 levente_meszaros: That is not what you said. 17:35:12 let me rephrase, the order of equal elements does not matter 17:35:49 -!- Kolyan [n=nartamon@95-24-184-185.broadband.corbina.ru] has quit [] 17:35:58 the function I pasted returns an integer to specify the result of the comparison 17:36:19 that is then converted to t or nil 17:37:17 maybe I need to write a transitivity test 17:37:36 akamaus: packages are orthogonal. it's nice to have the package name be somehow related to the system name, but that's not compulsory 17:37:59 -!- ska```` [n=user@124.157.196.18] has quit [Read error: 54 (Connection reset by peer)] 17:38:10 ska```` [n=user@124.157.196.18] has joined #lisp 17:38:21 akamaus: basically, packages deal with stuff inside your lisp image. systems deal with stuff outside your lisp image. 17:38:22 sellout [n=greg@c-24-128-48-180.hsd1.ma.comcast.net] has joined #lisp 17:38:23 rahul, is it common to have several packages in one system? Or is this some kind of overload? 17:38:37 spilman [n=spilman@ARennes-552-1-126-110.w92-139.abo.wanadoo.fr] has joined #lisp 17:38:55 akamaus: it happens often enough. as I said, what matters is if the files are meant to be compiled and loaded as a single group 17:39:30 package structure has to do with how someone uses the symbols you ascribe meaning to 17:39:46 levy annotated #90805 "simplified version" at http://paste.lisp.org/display/90805#1 17:40:05 any problem you see with the simplified version, that directly works on types? 17:40:06 rahul, like in my case ) thanks for your help. I've found Edi's home page, looks like I should read materials there 17:40:24 chris2_ [n=zhora@91.22.166.206] has joined #lisp 17:40:50 -!- ska```` [n=user@124.157.196.18] has quit [Remote closed the connection] 17:40:53 ska```` [n=user@124.157.196.18] has joined #lisp 17:41:35 if you want to be evil, you can give your package and system similar but slightly different names (like clim-examples versus clim-demo) 17:42:06 heh 17:42:25 loading mcclim makes my head spin 17:42:29 *Xach* celebrates CLXLIB 17:42:44 ASau [n=user@83.69.227.32] has joined #lisp 17:42:45 heh 17:42:52 *rahul* considers checking in prototypes.lisp 17:43:03 -!- chris2_ is now known as chris2 17:43:15 I guess I should see if it's any better than the alternative prototype object systems tho 17:43:16 rahul, don't forget to call your package "prototypes" 17:43:21 drewc [n=drewc@89.16.166.162] has joined #lisp 17:43:38 (defpackage :prototypes (:use :cl #+sbcl :sb-mop #-sbcl :mop)) 17:43:52 rahul, what does your latest prototoy look like? 17:43:53 I should call the package prototpyes 17:44:26 rjain annotated #90743 "full version, with tests" at http://paste.lisp.org/display/90743#3 17:44:34 Adlai, rahul: did you guys see my prototype hack on lisppaste? 17:44:39 I actually had to delete my most MOPpy bit of code 17:44:55 prototypos 17:45:00 because that code was doing copying in the delegate 17:45:01 drewc, I did, sykopomp gave me the link and then I read the scrollback. 17:45:15 'most MOPpy' sounds like trouble :) 17:45:23 drewc, I haven't had a chance to study your code yet. I'll do that soon. 17:45:24 Adlai: it was fun! :) 17:45:41 it looked like you had fun (from the conversation) 17:46:12 -!- Paraselene__ [n=None@79.67.188.149] has quit [Read error: 145 (Connection timed out)] 17:46:12 -!- kejsaren_ [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 17:46:14 I think it's safe to say that rahul's code will not win any speed comparisons 17:46:55 -!- kejsaren [n=kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Read error: 110 (Connection timed out)] 17:47:03 Xof: well, I'm relying on SBCL's slot access optimization :P 17:47:06 no you're not 17:47:12 oh right 17:47:17 it only works on accessORs 17:47:19 rahul, you only allow single delegation? 17:47:31 Adlai: I thought that's how it was supposed to work... 17:47:39 Adlai: I guess I could traverse a list of delegates 17:47:40 *rsynnott* quite enjoys MOP stuff but rarely finds a plausible excuse to use it 17:47:50 well, you are, but you're basically defeating every possible optimization 17:48:09 rsynnott: the only MOPpery in my implementation is make-instance on a subclass of standard-class 17:48:28 Paraselene__ [n=None@79.67.188.149] has joined #lisp 17:48:30 Xof: yeah, class not known 17:48:42 rahul, your annotation #3 isn't a complete implementation, how much of the above code is included? 17:49:04 for example you don't include the defclass for prototype-object 17:49:21 rjain annotated #90743 "take 2" at http://paste.lisp.org/display/90743#4 17:49:37 right, emacs moved my mark 17:49:48 s/2/5/ :P 17:49:54 Adlai: :P 17:50:20 Adlai: he had fun SHATTERING MY HOPES AND DREAMS! >:( 17:50:44 Xof: I sort of want the access to be via slot-value instead of accessor functions 17:50:49 heh 17:50:59 bah, I know, totally unrelated types are using the sxhash to get a deterministic order, but that is not transitive 17:51:07 ska````` [n=user@124.157.196.18] has joined #lisp 17:51:07 Xof: since you'd be dynamically creating those accessor functions each time you created a new backend class 17:51:09 -!- ska```` [n=user@124.157.196.18] has quit [Remote closed the connection] 17:51:27 levente_meszaros: hashing is not ordering 17:51:29 if I put 0 there, that's also wrong, because a = b and a = c will not imply b = c 17:51:30 bah 17:51:43 -!- Odin- [n=sbkhh@s121-302.gardur.hi.is] has quit [] 17:51:47 rahul, you don't say so? 17:51:48 rahul, your methods on slot-boundp are screaming for a macrolet 17:51:53 levente_meszaros: they are basically opposing strategies on making searches faster 17:52:01 Adlai: yes :) 17:52:13 rahul, do I really sound that stupid? ;-) 17:52:24 Adlai: but my code is embarassingly short to begin with 17:52:24 -!- spradnyesh [n=pradyus@nat/yahoo/x-wajqsjmnoxroquhg] has quit [Read error: 104 (Connection reset by peer)] 17:52:38 levente_meszaros: well, you brought up hashing when talking about sorting... 17:53:04 yes, because I have to do something with unrelated types, but that turned out to be a bad idea 17:53:13 right 17:53:23 levente_meszaros: maybe you need to rethink your goal 17:53:41 -!- Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has quit ["This computer has gone to sleep"] 17:53:47 -!- ska````` [n=user@124.157.196.18] has quit [Remote closed the connection] 17:53:51 ska````` [n=user@124.157.196.18] has joined #lisp 17:54:26 Xof: right 17:54:26 the predicate must be such that: boolean, symbol and standard-object can be sorted 17:54:44 in a way that boolean comes before symbol, standard-object doesn't matter 17:55:09 but what do I say when I get symbol and standard-object, or boolean and standard-object as arguments? 17:55:20 and things like that 17:55:24 rahul, I think your prototype-subclass and prototype-find-subclass should be merged into something like ensure-prototype-subclass 17:55:29 levente_meszaros: you write a partial order sort. 17:56:44 Adlai: well, I'm more interested in whether my code is correct :) 17:57:07 kpreid [n=kpreid@209-217-212-34.northland.net] has joined #lisp 17:57:12 levente_meszaros: you tell us 17:57:26 levente_meszaros: you're the one who needs things ordered for whatever reason 17:58:17 dnolen [n=dnolen@pool-70-107-155-144.ny325.east.verizon.net] has joined #lisp 17:58:19 is there a easy way in sbcl to obtain, given a (vector double-float), its corresponding double* to pass to c? 17:58:38 or do i need some other type of array? 17:58:48 Xof: the problem is that the code accessing the slot should not ever have any knowledge of what class the object is... the class is just an implementation detail 17:59:15 -!- |coyoes| [i=alex@144.162.132.141] has quit [Read error: 110 (Connection timed out)] 17:59:37 Xof: if I have 112312414 different methods on a g-f that accesses that slot, I'm not sure I'll get much of a speedup in the end 17:59:46 right now it seems i have to allocate an alien vector, copy my data there, and then pass that. 18:00:48 rahul, your code looks as though it'd behave correctly 18:01:49 spradnyesh [n=pradyus@122.167.98.51] has joined #lisp 18:01:51 now I'm really curious to study what drewc has done 18:01:54 prxq: look for FFA (foreign friendly array). Basically, you have to pin the simple-array (or underlying if it's a multidimensional array or a displaced vector) and pass the pointer to C. 18:02:26 -!- marioxcc is now known as marioxcc-AFK 18:03:11 *drewc* looks at PCL's specializer code ... 18:03:24 prxq: (define-alien-routine my-c-routine void (doubles sb-sys:system-area-pointer)) (sb-sys:with-pinned-objects (doubles) (my-c-routine (sb-sys:vector-sap doubles))) 18:03:38 pkhuong: I programmed in a way that the callee immediately copies the data to a different internal buffer. 18:03:50 prxq: no need for any copy. 18:04:03 nikodemus, ah. 18:04:34 pkhuong, well, in this case yes, but for other additional reasons. 18:05:25 ok thanks. 18:06:24 Adlai, sykopomp: after a nights rest, i realize my implementation probably break GC in many different ways. 18:06:38 drewc: that looks amazingly complex 18:06:44 the pinning thing is to avoid gc interference, right? 18:06:56 -!- Paraselene__ [n=None@79.67.188.149] has quit [Read error: 145 (Connection timed out)] 18:07:03 rahul: really? i found it extremely simple.... maybe i MOP too much. 18:07:09 drewc, the first of many questions: Why the ignore-errors in your :around method on initialize-instance ? 18:07:26 drewc: look at my solution :) 18:07:30 drewc: it barely uses MOP 18:07:44 Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has joined #lisp 18:07:55 rahul: i see your solution, and i don't like it. 18:08:05 rahul, I think drewc would argue that "barely uses MOP" is a bad thing 18:08:08 Geralt [n=Geralt@p5B32EFE9.dip.t-dialin.net] has joined #lisp 18:08:19 is there a good reason why we don't export SiZE-T from SB-ALIEN? 18:09:51 I don't think so 18:10:02 historical unuse of size_t, perhaps 18:10:14 drewc, can you explain why you have those methods on init- and reinit-instance ? 18:11:23 drewc: you're not reusing any classes, afaict 18:11:43 Adlai: to ensure that the superclasses include standard-prototype-object 18:11:50 is (subtypep 'symbol 'keyword) -> nil right? 18:12:03 it's nil nil I know but why not nil t? 18:12:12 Intertricity [n=Raz@dhcp186n45.fau.edu] has joined #lisp 18:12:20 Adlai: effectively, he's doing (reverse (pushnew 's-p-o (reverse superclasses)) 18:12:23 Adlai: what rahul said... that's just standard boilerplate for including a superclass 18:12:36 prxq: yes -- it's almost free. just ensures there's a pointer to the object on stack 18:12:40 Paraselene__ [n=None@79-67-188-149.dynamic.dsl.as9105.com] has joined #lisp 18:13:05 Adlai: i've been copy/pasting that code for years, can't remember where i source it originally. 18:13:08 nikodemus, ok! 18:13:13 in my system, you're not supposed to ever defclass 18:13:19 rahul, drewc, I understood the effect, I'm wondering why it's really necessary 18:13:22 levente_meszaros: lispworks says nil t 18:13:38 sbcl says nil nil 18:13:41 might be a bug then 18:14:02 although I guess defproto should translate as defclass, so maybe I should say it's allowed and make it work correctly 18:14:09 clisp also says nil nil 18:14:12 I guess it's necessary because your objects are implemented in CLOS. 18:14:12 Tordek [n=tordek@186.124.242.163] has joined #lisp 18:14:20 but drewc, why do you need the ignore-errors? 18:14:24 Adlai: it ensures that all the right methods get called 18:14:38 Adlai: for print-object mainly... also it's good practice... it allows you to specialize methods on all objects that are instances of a class this is an instance of your metaclass 18:14:50 -!- ignas [n=ignas@78.60.73.85] has quit ["Thanks for all the fish!"] 18:14:52 levente_meszaros: keyword is likely be implemented as a compound type specifier on those implementations 18:14:55 Davidbrcz [i=david@212-198-78-230.rev.numericable.fr] has joined #lisp 18:15:27 right 18:15:49 tcr, that's implementation detail, still subtypep seems to be wrong to me 18:15:51 yeah, there's not always a -using-class that's a good point for an override 18:15:56 levente_meszaros: Fig.4-2 (4.3.3) contains keyword as a standardized atomic type specifier, though 18:16:08 levente_meszaros: So I think it's a bug 18:16:32 I shall file a bug report on launchpad I guess 18:16:39 Adlai: good question..... I'm not 100% sure why it's there but i remember needing it at one point and cargo-culting it since then. 18:16:55 drewc, I just checked the spec, there are no exceptional situations for subtypep 18:17:14 ska`````` [n=user@124.157.196.18] has joined #lisp 18:17:19 Adlai: that is not the same as saying "subtypep never signals errors" 18:17:19 Adlai: Because of Argument and Values 18:17:36 stassats [n=stassats@wikipedia/stassats] has joined #lisp 18:17:38 Adlai: what they said ^ 18:17:51 Adlai: Strictly speaking, if you're not passing a valid type-specifier you're invoking undefined (unspecified?) behaviour 18:18:01 and, e.g. clisp, will signal an error in that case 18:18:02 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit [Read error: 110 (Connection timed out)] 18:18:28 oh, ok, so there could be an error if one of the requested superclasses wasn't a real class 18:18:48 to be precise -- if it wasn't a valid type specifier 18:19:42 -!- ska````` [n=user@124.157.196.18] has quit [Read error: 60 (Operation timed out)] 18:20:44 I can't figure out how to make make-instance have a decent interface for creating an instance with multiple delegates 18:21:10 -!- Ralith [n=ralith@69.90.49.189] has quit [Read error: 113 (No route to host)] 18:21:17 dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has joined #lisp 18:21:34 damnit ... class-subclasses is going to hold on to my classes forever isn't it. 18:22:53 levy annotated #90805 "self contained subtypep based sort test" at http://paste.lisp.org/display/90805#2 18:23:25 pkhuong, rahul here is a more complete but still simple test 18:23:29 drewc, don't worry, Sheeple has memory leaks too :) 18:24:15 levente_meszaros: are you trying to implement presentation-methods or something? 18:24:42 Adlai: to be honest, for the application i have in mind it doesn't matter, but it bugs me that i can't do these sorts of things easily with the MOP 18:24:43 levy annotated #90805 "bah, I was too eager when narrowing down" at http://paste.lisp.org/display/90805#3 18:24:51 if only there were a handy implementor around who could help to massage the implementation into behaving 18:24:52 rahul, it's part of the web based meta gui 18:24:52 *rahul* 's prototype system's leaks are much smaller 18:24:56 ruediger [n=quassel@188-23-69-22.adsl.highway.telekom.at] has joined #lisp 18:25:02 levente_meszaros: sounds like CL-HTTP 18:25:20 rahul, in what sense? 18:25:34 levente_meszaros: in the sense that you're trying to implement CLIM over HTTP/HTML 18:25:39 drewc, ah I was wondering, what is your intended application for "POOP"? 18:26:03 Adlai: LoL, of course 18:26:07 rahul, yes in some sense we are doing that 18:26:13 minion, what does POOP stand for? 18:26:13 Pretergression Obscurement Odontognathic Photopic 18:26:19 interesting, (type-of :foo) is symbol 18:26:23 mstevens [n=michaels@jobs.etla.org] has joined #lisp 18:26:34 billitch [n=billitch@rob92-1-82-67-155-88.fbx.proxad.net] has joined #lisp 18:26:38 lispm: that's a bug in whatever implementation you're using 18:26:47 minion, POOP stands for prototype-based object oriented programming 18:26:47 you speak nonsense 18:26:55 Xof: could be 18:27:30 tobetchi [n=tobetchi@218.41.107.167] has joined #lisp 18:27:33 Adlai: LoL... it's already a prototype based system, but slot access could be optimized better using something like this, if i can figure out how to integrate it with layers 18:27:41 no, "is". if the thing is typep a built-in-type, type-of must return a subtype of that type 18:27:47 and :foo is typep keyword 18:28:22 w00t! brilliant.. i can specialize the class-direct-subclasses, add-direct-subclass and friends, and use weak pointers. 18:28:36 levente_meszaros: what is the ordering between two types whose subtype relation cannot be decided? 18:28:38 that fixes GC on the instance side... now it's just the specializers 18:28:44 -!- clog [n=nef@bespin.org] has quit [Read error: 60 (Operation timed out)] 18:28:48 Xof: makes sense 18:28:50 drewc, I'd be interested to look how you use this in a web framework 18:28:57 (subtypep 'symbol 'keyword) => nil, nil is also a bug, by the way 18:29:07 yes 18:29:11 nikodemus, that's a good question I can't answer 18:29:32 the result I was hoping for that types which are in subtypep relation should be correctly ordered 18:29:34 what is the ordering between two types neither of which is a subtype of the other, but are not disjoint? 18:29:37 In Genera (subtypep 'keyword 'symbol) is also nil nil :-( 18:29:37 I don't care about the others 18:29:51 drewc should blog (or write an article..) explaining what this elaborate machinery buys him 18:29:52 and this does not have to fast at all, so any solution is acceptable 18:30:56 -!- ska`````` [n=user@124.157.196.18] has quit [Remote closed the connection] 18:30:58 *Xof* will try to fix the keyword bug on his way home 18:30:59 does it have to work on arbitrary types? 18:30:59 ska`````` [n=user@124.157.196.18] has joined #lisp 18:31:01 hefner: the 'elaborate machinery' is really just a declarative DSL for describing how objects should be displayed in different contexts. 18:31:18 nikodemus, (un)fortunately yes :-) 18:31:27 does it have to be stable across lisp sessions? 18:31:31 drewc, it sounds like you're looking for context-oriented programming 18:31:44 Adlai: looking for? i was pascal's first user. 18:31:56 does the ordering need to be subtypep based, or just stable? 18:32:11 hehe, so how does object-based OO tie into that? 18:32:40 it has to be subtypep based, the factory uses it to make the most specific component for the given type of values 18:32:59 gruseom [n=daniel@198.134.88.191] has joined #lisp 18:33:20 Adlai: LoL's descriptions are essentially prototype-like singleton objects.. they inherit slot values from parents, and those slot values can differ based on context. 18:33:26 *hefner* suspects CLOS is insufficiently dynamic for many situations, but distrusts solutions consisting of bolting rubber voodoo chickens onto it via the MOP 18:33:27 so signaling an error if there are two equally good answers is probably TRT? 18:33:30 maybe I need to write my own sort and not use cl:sort 18:33:35 (or equally bad) 18:33:39 -!- ska`````` [n=user@124.157.196.18] has quit [Read error: 104 (Connection reset by peer)] 18:33:42 ska`````` [n=user@124.157.196.18] has joined #lisp 18:34:01 hefner: i suspect you're wrong personally, and have set out to prove it ;) 18:34:05 I don't know what is TRT 18:34:12 The Right Thing 18:34:25 yes, I don't mind which one is the result 18:34:34 hefner, do you have an alternate solution? 18:34:42 hefner: well... actually you're right.. CLOS is too static 18:34:50 Adlai: sorry, I'd have to have a concrete problem first. 18:35:16 hefner, I assumed you did (or at least knew of such problems) from your suspicion. 18:35:16 the list should not have a type T before type U for which (subtypep U t) holds true 18:35:19 hefner: the MOP is not just for CLOS though, it's a meta-protocol on which CLOS is implemented, that itself happens to be written in CLOS. 18:35:28 that's the only condition I think 18:36:10 Adlai: sure, but I don't take notes, and my memory is not great. 18:36:12 levente_meszaros: why would you need this list? 18:36:12 I'm no computer scientist, but are you describing a "topological sort" here? 18:36:22 right 18:36:35 there is no such list. you're talking about a linearization of a DAG 18:36:46 of which there are many such possibilities 18:37:16 -!- marioxcc-AFK is now known as marioxcc 18:37:20 rahul, to make a component that is either capable of making, displaying, editing, or searching for, etc. a given type T 18:37:22 hefner: the designers of the MOP had obviously considered prototype-based object systems... most of the machinery is there, and things like the protocol for keeping track of subclasses says to me that someone has thought things out :) 18:37:38 rahul, I already said that any good solution will do 18:37:41 levente_meszaros: I do not see how such a list will help you with anything 18:37:48 -!- leo2007 [n=leo@193.60.95.74] has quit [Remote closed the connection] 18:37:50 rahul, no problem, I see it 18:37:57 milanj- [n=milan@109.93.8.196] has joined #lisp 18:38:13 levente_meszaros: all you need to know is what objects on the screen are acceptable as such-and-such type 18:38:38 drewc, I think it's valid to want a metaprotocol which uses a more dynamic system than CLOS 18:38:48 -!- ahaas [n=ahaas@c-71-59-145-125.hsd1.or.comcast.net] has quit ["leaving"] 18:39:19 Adlai: you mean a MOP implemented using prototypes? 18:39:31 rahul, do you suggest to change the design without actually knowing what is it? 18:39:44 Adlai: you can implement the MOP using prototype objects, you know 18:39:52 -!- udzinari [n=user@nat/ibm/x-ltnpznezshgjbjqp] has quit [Connection timed out] 18:40:07 levente_meszaros: so in the factory you use the list to decide which is the most specific type available? 18:40:16 levente_meszaros: some linearlization of all classes is irrelevant to your problem 18:40:19 Adlai: what does it mean 'a more dynamic system'? the MOP is customizable in almost every way, it's whatever you make it. 18:40:30 nobody says you have to subclass STANDARD-CLASS 18:40:33 nikodemus, linear search with subtypep for the given type and then make-instance 18:40:55 levente_meszaros: make-instance does not work on most of the things you'll be using 18:41:08 drewc, you still need to use CLOS to customize the MOP 18:41:19 rahul, I think you don't understand what I'm talking about 18:41:22 Adlai: you need to use defmethod, that's all 18:41:29 there's a map of those types to class names 18:41:30 Adlai: true, but you need CLOS to use lisp, so what's your point? 18:41:46 levente_meszaros: which is irrelevant (and incorrect) 18:41:54 the mapping is implemented as a type precedence list topologically sorted based on subtypep 18:41:55 levente_meszaros: not all types fit into a class 18:41:56 I think I don't really understand much of anything, and fall back on a philosophy of figuring out what I need and its semantics, then implementing it, rather than trying to fit things inside a framework.. but it's very tempting not wanting to reimplement half of CLOS (badly) 18:42:20 rahul, you seem to be arrogant to me, sorry 18:42:45 levente_meszaros: how do you use make-instance on some class that corresponds to (member 1 2 nil)? 18:43:13 hefner: i re-wrote 70% of CLOS before i decided that the mop was a good thing. 18:43:29 levente_meszaros: this is why CLIM's presentation types are distinct from lisp types in their behavior 18:43:36 drewc, my point is that if you want an object system not based on CLOS, you can't base it on the CLOS MOP, because that's still CLOS. In other words, I don't have that huge a point. 18:44:11 Adlai: you can implement the methods in the MOP without using CLOS classes 18:44:20 Adlai: that makes little sense. "If i want a language that's not C, i can't write it in C, because it's still C" 18:44:20 rahul, you have assumptions of my design, don't read what I write, and make the wrong questions 18:44:28 er I mean on classes that are not CLOS instances 18:44:46 LispWorks and Allegro CL 8.0 say (type-of :foo) is SYMBOL 18:44:51 argh 18:45:02 in fact (member 1 2) is mapped to a class named 'member/inspector that is instantiated using (make-instance 'member/inspector :type '(member 1 2)) 18:45:16 -!- milanj [n=milan@79.101.170.72] has quit [Read error: 110 (Connection timed out)] 18:45:17 everything in CL is an instance of a CLOS class, so i don't quite see why we'd try to avoid it! 18:45:26 -!- varjag [n=eugene@122.62-97-226.bkkb.no] has quit ["Ex-Chat"] 18:45:47 lispm: I don't think that's a bug, actually 18:45:56 it just has to be _a_ recognizable subtype 18:46:28 drewc: no, it's an instance of a class, but not of a CLOS class (standard-object) 18:46:31 nikodemus annotated #90805 "one thought" at http://paste.lisp.org/display/90805#4 18:46:55 rahul: what does recognizable mean? 18:47:38 nikodemus: that's what I've been telling him 18:47:47 and he just thinks I'm arrogant... 18:48:06 rahul: bullshit... BUILT-IN-CLASS is a CLOS class just as standard-class. In PCL their both subclasses of pcl-class.. is PCL not CLOS anymore? 18:48:07 rahul: i could not tell you were telling him that 18:48:11 lispm: subtypep can recognize that it's a subtype 18:48:15 they're 18:48:17 damnit 18:48:17 -!- gruseom [n=daniel@198.134.88.191] has quit [Remote closed the connection] 18:48:24 rahul: LispWorks gives T as the second value of (subtypep 'keyword 'symbol) 18:48:25 nikodemus: I told him that the precedence list is going to be useless for him 18:48:28 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #lisp 18:48:38 rahul: so it recognizes it 18:48:40 lispm: it doesn't have to be the _most specific_, just _a_ 18:48:44 rahul: it's not useless. just hard to build and slow to use 18:48:56 it does the same thing as the tree 18:49:14 drewc: instances of built-in-class are not CLOS instances, is what I mean 18:49:37 drewc: and a class does not have to be a CLOS instance. it can implement the MOP however it likes 18:50:07 however, I'm not sure you'll be able to hook your own specializers in to the pre-existing generics 18:50:14 nikodemus, the lookup is cached in a hashtable anyway 18:50:22 mije [n=mije@tal33-5-88-181-16-209.fbx.proxad.net] has joined #lisp 18:50:24 -!- DrunkTomato [n=DEDULO@217.18.135.36] has quit [] 18:50:31 so I just didn't want to bother with a tree, though that sort will do what I want 18:50:33 good evening 18:50:47 I can't do zilions of subtypep checks just to make the components 18:50:58 -!- Jasko2 [n=tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has quit [Read error: 60 (Operation timed out)] 18:51:06 nikodemus: well, yeah, but you're given the tree basically by default, so the list provides no extra utility 18:51:22 levente_meszaros: that's why you do it on demand 18:51:28 -!- silenius [n=jl@yian-ho03.nir.cronon.net] has quit [Remote closed the connection] 18:51:55 levente_meszaros: you check if the objects available on the display are acceptable as that type 18:52:00 rahul: i disagree 100%. just because something is not an instance of a standard-class does not mean it's not a 'CLOS' object. It's a lisp object, CLOS is the lisp object system. "CLOS object" is not in the glossary, and there is nothing in the standard that says integers can't be 'CLOS objects', whatever that means. 18:52:03 rahul: No it's wrong (re: the type-of bit) 18:52:03 even if you have a tree you need to linearize at the end 18:52:05 levente_meszaros: (and you're going to want translators) 18:52:17 there might be several leaves which are supertypes of the given type 18:52:22 and you want the most specific of those 18:52:34 levente_meszaros: you never need to traverse branches of the tree that are not involved in the type you are trying to accept 18:52:42 rahul: it must be a recognizable subtype of the builtin-type, and the builtin-type is KEYWORD, and (SUBTYPEP 'SYMBOL 'KEYWORD) is NIL 18:52:49 when i install cl-ppcre it aborts saying cl-ppcre-unicode is not found, i just set up asdf so i may have missed something, does anybody can give me a hint ? 18:52:53 drewc: well, then CLOS is a meaningless term 18:52:55 -!- kpreid [n=kpreid@209-217-212-34.northland.net] has quit [] 18:53:01 drewc: since it means the same thing as CL 18:53:12 *Fare* dreads including fare-utils and ironclad and iolib into xcvb, but might just go at it. 18:53:21 rahul: ok, agreed. 18:53:22 tcr: (class-of :keyword) 18:53:41 rahul, and what do you do when you have multiple leaf nodes being the supertypes of the input type? 18:53:51 *drewc* runs for coffee 18:53:59 What's the "right" thing to do to follow a git repo, add your changes, and auto-detect when that breaks? 18:53:59 Fare, memo from tcr: tl;dr really! 18:54:04 levente_meszaros: you accept both of those objects 18:54:09 tl;dr ??? 18:54:13 rahul: So? That's the built-in class, not the builtin-type 18:54:16 what does that mean? 18:54:23 tcr: read the spec for type-of again 18:54:42 rahul: Thank you very much but it's you who should read it 18:54:44 rahul, and by accepting what do I put on the screen? 18:54:46 oops 18:54:46 is that some weird smiley? 18:54:53 tcr: yes, I see 18:54:57 Good 18:55:04 levente_meszaros: what do you mean? 18:55:23 levente_meszaros: you allow the user to choose values that are of those types... 18:55:24 -!- Athas [n=athas@192.38.109.188] has quit [Read error: 131 (Connection reset by peer)] 18:55:24 rahul, that was *my* question 18:55:32 Jasko [n=tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has joined #lisp 18:55:42 -!- envi^home [n=envi@220.121.234.156] has quit ["Leaving"] 18:55:46 levente_meszaros: are you asking about allowing the user to choose or presenting a default? 18:55:48 Fare, what git workflow are you aiming for? 18:55:50 I definitely think you still don't understand what I'm talking about 18:56:06 you are thinking in terms of CLIM or something else, but I'm not talking about that 18:56:07 Fare: "too long; didn't read"; I mean it's nice that you're spending so much time to write blog posting as long as that, but I don't think you'll sell any point you have by that 18:56:09 -!- Guest14434 is now known as Kenjin 18:56:14 levente_meszaros: you're talking about 3 different things that you listed as if they're the same 18:56:54 tcr: sorry about that. 18:57:11 I guess I started replying to you, then got off a tangent. 18:57:13 Fare: (I am going to read it, in fact, I printed it out.) 18:57:31 and it ended up being a rant, so I put it on my blog. 18:58:02 tcr: from what I can tell, he is ranting about how ASDF cannot be upgraded if it is distributed with the lisp implementation 18:58:07 in the end, I tried to put things in a constructive way, and ended up with a proposal to fix the ASDF "meta-bug". 18:58:13 rather, distributed _in_ the implementation 18:58:36 i.e. fix ASDF *once* so it can easily bootstrap future fixes to ASDF. 18:58:42 (i am merely a newbie, but as i struggle with asdf, i thing Fare's post is makes a lot of sense :) 18:58:56 kpreid [n=kpreid@209-217-212-34.northland.net] has joined #lisp 18:59:05 mije: you had to upgrade ASDF while ASDF was loaded? 18:59:10 whereas currently, each and every fix to ASDF has to be separately yet simultaneously pushed to every implementation / distribution to be relied upon. 18:59:34 levente_meszaros: in my idea T is the root, and branches of any given node are disjoint 18:59:55 Fare: and I don't see how common-lisp-controller requires every lisp package to be part of debian 18:59:59 rahul, I do it all the time in XCVB, and it ain't pretty. 19:00:25 Fare: I have lots of lisp packages that are not in debian and I'm using c-l-c 19:00:29 rahul, every package that will use C-L-C... or else C-L-C doesn't save you from the configuration hell. 19:00:43 although it seems like this IRC channel has a preconcieved notion that that is impossible 19:00:54 Fare: what do you mean? what configuration hell? 19:00:54 -!- borism [n=boris@213.35.232.204] has quit [Read error: 145 (Connection timed out)] 19:01:08 Fare: "using c-l-c" means "providing a .asd" 19:01:24 levente_meszaros: so you look at a node: if it is subtype of the type you are interested in, you look at its children. if none of them is a subtype, that node holds the most specific subtype available 19:01:29 as long as the .asd is named according to the system in it, there is no problem 19:01:33 rahul: maybe you've been in the pond too long, you can't see the water. 19:01:45 rahul: not at all, i'm more fluent with other languages, but asdf is pretty difficult to set up in comparison with what exists elsewhere 19:01:58 mije: what setup? just load it. 19:02:09 rahul: I guess he means to write an .asd file 19:02:22 mije: have you written a makefile for a C program? 19:02:23 not just write it, but make sure that ASDF finds it. 19:02:31 mije: even ANT is pretty complicated 19:02:42 Fare: how is that hard? that's one command 19:03:14 the directory-with-symlinks is quite nice for completion 19:03:18 rahul: that's one different command on every machine / implementation / package that you install / foo 19:03:18 -!- cmm [n=cmm@bzq-79-178-135-94.red.bezeqint.net] has quit [Read error: 104 (Connection reset by peer)] 19:03:26 cmm [n=cmm@bzq-79-178-135-94.red.bezeqint.net] has joined #lisp 19:03:33 happily there are things like clbuild to automate installation 19:03:36 Fare: huh? 19:03:50 Fare: it's a single command regardless 19:03:53 clc-register-user-package *.asd 19:04:05 take a fresh newbie, ask him to install stuff -- pretty hard 19:04:05 if you have a diamond pattern, it doesn't matter which branch you search down on, since they must merge eventually, neh? 19:04:31 rahul: tools such as asdf are never simple and straightforward to set up, it's things you just want to set up and use 19:04:47 mije: eh? 19:04:52 -!- dv_ [n=dv@83-64-248-68.inzersdorf.xdsl-line.inode.at] has quit ["Verlassend"] 19:04:57 mije: so what is simpler in other languages that you were saying 19:05:05 look at cabal for example 19:05:11 "asdf is pretty difficult to set up in comparison with what exists elsewhere" 19:05:14 asdf isn't *fully* intuitive, but a few examples and you are ready to go. Better than make. 19:05:19 just caball install stuff and you can code 19:05:23 mije: (require :asdf) setup done 19:05:24 why does CLC require people to use debian? 19:05:29 Adlai: it doesn't 19:05:37 let me restate that 19:05:44 Fare, why do you say that CLC requires people to use debian? 19:05:45 clc is independent of debian 19:05:49 rahul: nope, after (require :asdf) you must setup the registry. 19:05:59 borism [n=boris@213-35-232-204-dsl.end.estpak.ee] has joined #lisp 19:06:01 Adlai, debian or gentoo? 19:06:11 Fare: and how is that different from C's LD_LIBRARY_PATH? 19:06:16 nikodemus, thanks, that's a useful and clear suggestion 19:06:19 Fare: CLC works on any system 19:06:21 you say in the blog post that CLC assumes debian 19:06:35 Fare: debian and gentoo _include_ clc 19:06:43 rahul, it's not fire-and-forget. You have to do it again and again. 19:06:49 Fare: same with C 19:06:52 rahul: that var is rarely needed these days. 19:07:12 prxq: uh... 19:07:18 prxq: it's as needed as it's ever been 19:07:21 actually, with C's linking model, things are pretty different. 19:07:28 -!- dnolen [n=dnolen@pool-70-107-155-144.ny325.east.verizon.net] has quit [Remote closed the connection] 19:07:35 -rpath 19:07:41 Fare: the problem is the same. you need libraries to all be in the same place 19:07:48 Fare: so that the loader can find them 19:07:53 you install your stuff in /usr/local or wherever, and use it there -- you don't depend on locating the source. 19:07:57 -!- cmeow [i=cmeow@happy.happy.vhost.shellium.org] has quit ["Meow, meOUT!"] 19:08:02 dnolen [n=dnolen@pool-70-107-155-144.ny325.east.verizon.net] has joined #lisp 19:08:07 -!- jkantz [n=jkantz@ita4fw1.itasoftware.com] has quit ["Leaving"] 19:08:08 and where to look for stuff is standardized. 19:08:19 Fare: clc IS that standard for CL 19:08:33 cmeow [i=cmeow@happy.happy.vhost.shellium.org] has joined #lisp 19:08:37 Fare: and tell me, what is the standardized location for C libraries on windows? 19:09:00 Fare: and is that different from the location on unix? 19:09:07 your windows IDE manages that for you 19:09:14 not at all 19:09:31 you end up copying DLLs around 19:09:54 C is maybe not a very good example 19:09:57 (unless you're lucky enough to have applications that all need the same versions of the same DLLs) 19:10:03 mije: java is any better? 19:10:05 pick ruby or stuff like that 19:10:07 rahul, CLC is the standard for CL? 19:10:10 "classpath hell" anyone? 19:10:15 Adlai: no, it's a standard 19:10:29 Adlai: what language has a standardized filesystem layout? 19:10:33 rvirding [n=chatzill@h92n3c1o1034.bredband.skanova.com] has joined #lisp 19:10:34 nikodemus, in general my types are obviously non disjunct 19:10:53 rahul, Perl, Ruby, Python 19:10:53 there are types such as: (or null integer) and (or null string) 19:11:04 the example I pasted previously is highly simplified 19:11:05 Fare: not at all 19:11:06 haskell as well 19:11:20 mije: name the one location on any OS that all haskell libraries end up 19:11:33 mije: and make it independent of user compilation 19:11:35 rahul: on windows, the standard versioning system is Common Programs(?) and SxS, development libraries' location depends on your tools 19:11:48 p_l: huh? 19:11:49 rahul: that's the point : i don't really care where it is 19:11:57 mije: it doesn't EXIST 19:12:05 rahul: for location of libraries etc. 19:12:07 mije: if you install a haskell library as a user, how do you load it? 19:12:19 p_l: there is no such thing 19:12:33 hm 19:12:33 p_l: c:\windows\system32, kind of 19:12:34 -!- rread [n=rread@c-98-234-219-222.hsd1.ca.comcast.net] has quit [Remote closed the connection] 19:12:38 cabal install lib ? 19:12:41 rread [n=rread@nat/sun/x-wubiefwhlmxghbsy] has joined #lisp 19:12:43 levente_meszaros: it's a good problem :) 19:12:48 rahul: well, SxS was introduced by NT6, but NT5 is obsolete 19:12:49 maybe that's the lesson - anarchy works. 19:13:06 mije: what does cabal have to do with haskell? 19:13:17 p_l: what is SxS? 19:13:18 as for haskell, since there's only one implementation left that truly works, you have ghc-pkg 19:13:23 rahul: Side-by-Side 19:13:24 nikodemus, even more problematic: (or null (integer 0 10) (member :a :b :c)) and (or null integer) 19:13:29 p_l: what does that mean? 19:13:38 rahul: please, don't be an ass 19:13:40 now you get to look up a type (integer 0 3) 19:13:41 in any case, I tend to not use c-l-c because it doesn't save me from re-configuring my registry when I use a non-c-l-c registered application (e.g. my custom-compiled SBCL, CCL, CLISP). 19:13:46 it stops being productive at some point 19:13:48 guaqua: what the hell did I say to you? 19:13:57 do i look like a give a crap? 19:14:00 rahul: it manages versions of shared libraries on NT6.x to ensure that applications get the version they need and that they don't store duplicated copies 19:14:12 assuming you used SxS 19:14:15 guaqua: well, you said something to me, so you clearly give a crap about something, I just don't know what 19:14:26 p_l: and how do I use that on unix? 19:14:35 :-) 19:14:53 i guess you don't 19:14:56 Fare: you can register your implementation with CLC 19:15:07 prxq: actually, NixOS uses nearly the same design 19:15:13 -!- mije [n=mije@tal33-5-88-181-16-209.fbx.proxad.net] has quit [Read error: 60 (Operation timed out)] 19:15:33 p_l: it doesn't solve the problem. there is no one OS-indepentent configuration scheme 19:15:33 except Nix takes the same approach to the whole system 19:15:48 p_l: what does this have to do with a debian system or a redhat system? 19:15:57 NixOS is straight gangsta' (aside from being a Linux kludge, anyway) 19:15:59 Fare needs a single location for every single OS... 19:16:03 FullMetalHarlot [n=rot13@S0106001cdfcd44c1.ed.shawcable.net] has joined #lisp 19:16:22 hefner, I like NixOS 19:16:27 installing perl on windows is a massive clusterfsck, too 19:17:01 -!- grouzen [n=grouzen@91.214.124.2] has quit [Read error: 104 (Connection reset by peer)] 19:17:08 how many of you have distributed perl applications to windows users? 19:17:17 Fare: ITYM "It does /not/ make the cost go down to zero, however." 19:17:47 Fare: I can't see how xcvb will make this problem go away. how well does it work on, say, Lispworks on windows? 19:18:20 nikodemus, but if I follow your idea correctly, then if there are multiple matches in the *graph*, then I have no chance to find out which one is the most specific, because the matches are obviously not in ancestor/descendant relationship 19:18:23 Fare: and how well does it work when your computer has mixed system-wide and user-local packages? 19:18:31 i have tried to install a few times perl stuff under linux and invariably failed. Using the howtos straight from the net on setting up cpan. Never worked. 19:18:47 levente_meszaros: right 19:18:51 prxq: you don't _want_ to use CPAN if you have a linux distribution 19:18:58 CPAN is horrible. 19:19:00 grouzen [n=grouzen@91.214.124.2] has joined #lisp 19:19:00 i was sort of assuming your tree would not have union types in it 19:19:23 using CPAN on debian is liable to screw up dpkg 19:19:23 rahul: straw man 19:19:34 rahul, the programs i sort of thought i maybe wanted weren't in the distro, so. 19:19:47 (or member-types...) 19:19:52 -!- Geralt [n=Geralt@unaffiliated/thegeralt] has quit [Success] 19:20:05 prxq: so you can't install them simply using CPAN, making CLC better than CPAN 19:20:26 i agree :-) 19:20:28 with CLC, svn co and clc-register 19:21:16 setting up asdf registry in an impls startup file isn't rocket science, takes a few secs, and then it's as easy as it gets 19:21:41 prxq: it's basically as easy as setting up Java classpaths :) 19:21:42 Geralt [n=Geralt@p5B32EFE9.dip.t-dialin.net] has joined #lisp 19:21:54 i.e., painful when things get complicated... 19:22:30 asdf has hooks for implementing this 19:22:34 levente_meszaros: i assume you at least canonicalize the types? 19:22:37 the version comparator for example 19:23:05 nikodemus, no, AFAICT there's no portable way, I rely on subtypep 19:23:27 to make this problem somewhat more complicated 19:23:52 -!- Geralt [n=Geralt@unaffiliated/thegeralt] has quit [Client Quit] 19:23:54 there's a special case that I should put in somewhere in the list (or graph in your case) 19:24:10 for that I had to turn the types into lambdas checking for subtypep 19:24:32 oh, you need to be portable too? 19:24:33 HET3 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 19:24:41 because this other thing checks for the type being a finite type with an upper bound less than a certain number 19:24:43 rahul: I have mostly renounced on system-wide packages these days. 19:24:49 i suspect you will end up re-implementing a fair bit of the type-system... 19:24:51 nikodemus, ok, you got me :-) 19:25:09 dwim is not so portable in general, so this would be not such a big problem 19:25:11 -!- KatrinaTheLamia [n=rot13@S0106001cdfcd44c1.ed.shawcable.net] has quit [Read error: 110 (Connection timed out)] 19:25:11 Fare: are you sure about this? "When Dan Barlow wrote ASDF in 2001, he only wanted a build system that he could use on top of SBCL for his own projects..." 19:25:12 Fare: then you've renounced system administrators as professionals and relegated them to being technicians 19:25:33 rahul: uh? 19:25:38 i have a fairly strong impression that ASDF was geared for portability from the get go 19:25:46 obviously I want to avoid that at all cost, the upper bound is just an approximation 19:25:52 and should only work for the common cases 19:26:04 witness the lack of custom method combinations because clisp did not support them, etc 19:26:05 Fare: you've made sysadmins people who walk around from desk to desk installing software instead of managing global installations of software 19:26:12 nikodemus, I haven't phrased it properly. He wanted it portable, but primarily for use under SBCL. 19:26:18 Fare: you've turned unix into windows 19:26:42 e.g. it's not going to tell the upper bound of (string 2) 19:26:49 Fare: and you've forbidden lisp applications from being distributed efficiently as packages for unix distributions 19:26:51 rahul, I know no global installation of lisp 19:27:01 so the gui will not give you a drop down list of all possible strings of length 2 ;-) 19:27:21 Fare: Rice University had one 19:27:28 I'm not forbidding anything -- I'm just saying that it doesn't work that well in practice. 19:27:38 Fare: cmucl installed on an NFS shared /usr partition 19:27:50 Fare: it works well in practice if you have CLC :) 19:28:18 levente_meszaros: what do you mean by "upper bound"? 19:28:19 No it doesn't. :( 19:28:31 CLC means every user still has to have their own install of the libraries 19:28:33 foom: it works for people who actually try to use it 19:28:37 I tried to use it 19:28:39 not at all 19:28:51 CLC means that system-wide packages work. 19:29:00 It didn't actually solve my problem. The system-wide package only included source code. 19:29:07 rahul, a either an integer or infinite 19:29:12 -!- Kenjin [n=Kenjin@246-127.dial.nortenet.pt] has quit ["Computer has gone to sleep"] 19:29:17 foom: well, that's a convention that's flawed 19:29:23 levente_meszaros: huh? 19:29:25 the number of instances of the given type is less than or equal to that number 19:29:28 levente_meszaros: what does this bound represent? 19:29:38 Which convention is flawed? 19:29:50 levente_meszaros: most types will be infinite, no? 19:30:06 rahul, e.g. (or null (integer 0 99) (member :a :b :c)) -> 104 19:30:11 levente_meszaros: sure 19:30:20 levente_meszaros: why does it matter how many values you could have? 19:30:40 levente_meszaros: (double-float 0 100) 19:30:43 to decide if a drop down list is a valid option 19:31:02 levente_meszaros: is it valid for (integer 0 99)? 19:31:17 rahul, that obviously has a very high upper bound that's not even easy to compute 19:31:18 levente_meszaros: you want to declare certain types as enumerable 19:31:41 levente_meszaros: exactly, that's why I gave it as an example 19:31:47 if you don't like the factory configuration that is easy to customize 19:32:11 rahul, obviously the gui will have a limit 19:32:15 pjb: herep 19:32:15 levente_meszaros: I don't think guessing a method for inputting the values is a sensible thing 19:32:16 well, not will, does have 19:32:27 -!- HET2 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Read error: 110 (Connection timed out)] 19:32:32 pjb: how do you feel about having invoice.lisp standalonized? 19:32:38 foom: requiring compilation after installation 19:32:43 rahul, oh god, where did I say that I'm guessing anything?? 19:33:02 levente_meszaros: you just said you're guessing a default 19:33:15 Anyway, things would be much easier if, instead of each user calling a script on each asd, and only system-supported implementations working, they could put one line in a configuration file once to register their source hierarchy, and then be done. 19:33:19 -!- ska`````` [n=user@124.157.196.18] has quit [Read error: 131 (Connection reset by peer)] 19:33:24 levente_meszaros: I would only guess for things like member 19:33:26 ska`````` [n=user@124.157.196.18] has joined #lisp 19:33:30 rahul: so uh, you're agreeing with me that CLC doesn't work, then? 19:33:34 rahul, bah, in that sense you are guessing the default for an integer by putting an input field there 19:33:36 for all implementations, for all future packages in said hierarchy 19:33:37 come on 19:33:52 foom: no, it works, but it's dumb to make it work around that limitation of what people think they want 19:34:03 Fare: actually, my thought was that if asdf were hot-upgradable, you could include your asdf in your build directory 19:34:19 dlowe: exactly 19:34:29 Fare: how will this work for implementations that don't have xcvb? and where does xcvb look for this file? 19:34:39 rahul, not even speaking about that it is impossible to recognize member types in general without expanding the type specifier 19:34:45 dlowe: you'd include your ASDF update there and it would work. 19:34:53 and also that (member 1 2 3) is the same as (integer 1 3) 19:34:59 dlowe: but there's a bootstrap problem, there 19:35:11 levente_meszaros: on the latter: it's a difference in what the user is expressing, so it should be different 19:35:21 rahul: no implementation "has" xcvb. It's xcvb that supports your implementation or doesn't. 19:35:30 levente_meszaros: I would express the former as a dropdown and the latter as a slider 19:35:40 Fare: so how does one install xcvb? 19:35:47 xcvb isn't part of the target Lisp. It's a build system outside it, that happens to be written in Lisp, too. 19:35:54 rahul, no it's a type that is in general unrelated to the presentation 19:35:54 rahul: make install 19:36:02 Fare: how does that work on windows? 19:36:03 (or (member :a :b :c) (integer 1 3)) 19:36:20 loxs [n=loxs@85-130-35-10.2073285806.ddns.cablebg.net] has joined #lisp 19:36:21 rahul: make install, too, with the proper tools. 19:36:30 Fare: how does one install those tools? 19:36:34 the presentation should be customizable no matter what default factory configuration you chose 19:36:40 Fare: you've just made the problem even more difficult 19:36:40 rahul: your systems admin has installed them for you. :) 19:36:42 rahul: the same as any windows developer does. or you grab some prebuilt binary. 19:36:42 that's just a default 19:36:42 I'm sure you can make a windows shell script that does the equivalent of make install if you really want 19:36:51 or VC9 project 19:36:52 or whatever 19:36:54 Fare: most people are not going to install cygwin just to install some cool lisp game 19:36:55 same as all other software 19:37:28 Most people don't want to compile software in order to run it, period. 19:37:29 rahul: same as any windows software. xcvb makes it no simpler no harder. But it fits in the same development model that everyone else uses, unlike ASDF. 19:37:32 *drewc* has been using make on windows for over 15 years.... is he missing something or has it never been a problem? 19:37:37 -!- ASau [n=user@83.69.227.32] has quit [Read error: 104 (Connection reset by peer)] 19:37:43 rahul: most people are not going to bother downloading lisp, groveling for dependencies, then compiling and dumping a lisp image. On any OS. 19:37:51 levente_meszaros: so why are you trying to do something different from what CLIM does? what is lacking in the CLIM presentation type model? just copy it 19:37:52 rahul: which is why you give them prebuilt packages. 19:38:15 even on linux, most people don't bother doing this unless they're masochists (see: slack and gentoo users) 19:38:25 drewc: it's a problem for the average user 19:38:27 slack and gentoo users have tools that do it all for them. :) 19:38:30 rahul: are you wearing your CL-bigot glasses only today or everyday? 19:38:36 -!- ska`````` [n=user@124.157.196.18] has quit [Remote closed the connection] 19:38:40 ska`````` [n=user@124.157.196.18] has joined #lisp 19:38:47 sykopomp: so why is this model superior for lisp? 19:39:04 -!- spilman [n=spilman@ARennes-552-1-126-110.w92-139.abo.wanadoo.fr] has quit ["Quitte"] 19:39:07 why should the average user even use xcvb? He'll use whatever the developer built (with or without xcvb) 19:39:07 rahul: average users develop lisp software? 19:39:14 sykopomp: er, slack uses prebuilt packages :p 19:39:20 rahul: we're not talking about the average user here. The goal is to make it easy for developers to build systems reliably. This is, in fact, a great boon. 19:39:30 drewc: that's what the average lisp developer seems to assume... 19:39:31 dlowe: but it doesn't grovel dependencies, last I checked. 19:39:31 xcvb (or asdf) is a dev tool, its users are developers, not end-users. 19:39:37 rahul, does CLIM provides a factory which gives you a presentation that is capable of searching existing instances of any given type by being able to specify search criteria based on the type and other types referred by it (in case of a compound type specifier) 19:39:39 ? 19:39:52 sykopomp: no, but there are tools like slapt-get that do 19:39:52 Fare: so shared libraries are out the window again 19:39:54 rahul: are you being vague cause you have no real argument, or is there a more sinister reason? 19:40:04 -!- rvirding [n=chatzill@h92n3c1o1034.bredband.skanova.com] has quit [Read error: 110 (Connection timed out)] 19:40:26 rahul: the idea of having a system that can correctly build a system reliably on various platforms means, for example, that it's very easy for packagers to write up packages for their distro. 19:40:32 thus making distribution overall easier. 19:40:35 -!- majhool [n=mrw@user-118bgr6.cable.mindspring.com] has quit [Read error: 104 (Connection reset by peer)] 19:40:36 we've built a 1970s linker in order to distribute software like it's the 1940s 19:40:41 seamless integration with shared libraries has a long way to go in CL in general. Currently everyone rolls his own system. 19:41:10 rahul: if you have a solution, I'll be glad to hear it. But "CLC" ain't it. 19:41:19 majhool [n=mrw@user-118bgr6.cable.mindspring.com] has joined #lisp 19:41:23 sykopomp: having every lisp application take up a dozen extra megs is not a good way to achieve that 19:41:37 sykopomp: ditributions frown on statically linked binaries 19:41:51 So, who's going to make a common stable ABI for lisp programs? 19:42:04 Fare: all you need is a load-binary-op for asdf 19:42:09 XCVB is far from proposing a solution for shared libraries... but at least there's a potential and it fits the model. 19:42:10 foom: you don't need that 19:42:23 rahul: this is true, but it's out of scope of the benefits of xcvb 19:42:26 a dozen megs when a terabyte costs <$100? who cares? 19:42:27 foom: there's not a common stable ABI for C libraries either 19:42:29 ASau [n=user@83.69.227.32] has joined #lisp 19:42:54 Fare, asdf has a much nicer name. 19:42:59 drewc: it starts adding up 19:43:06 rahul: the core C libraries and the compiler itself have stable ABIs. 19:43:17 prxq, granted. When I'm nearing V1.0, I'll start a contest for renaming XCVB. 19:43:23 drewc: a dozen megs for each application on my computer is ridiculous 19:43:38 drewc: a couple dozen megs is nothing, until you have a ton of statically linked systems. Suddenly, what used to take you 5mb is taking you 5gb. 19:43:38 foom: that doesn't help applications that use gtk for example 19:43:44 rahul: they are all lisp applications? 19:43:47 rahul, thank you for your comment. What steps are you taking in the correct direction? 19:43:58 drewc: are we saying that we don't want a lot of lisp applicaitons 19:44:05 *Adlai* laughs to see "prxq" complain about "xcvb" 19:44:13 if you add support for SB-HEAPDUMP to XCVB, for instance, I'll be glad! 19:44:13 (incf Fare) 19:44:22 Fare: I'm sick of preaching and writing code to do this stuff 19:44:27 and getting ignored 19:44:35 show me the code. 19:44:37 sigh 19:44:38 again? 19:44:42 rahul: sounds like you're not very sick of preaching. 19:44:44 rahul: if by 'we' you mean 'me', then yes, i'd prefer a single lisp image running multiple applications, which is how i do it here. 19:45:24 I want to be able to build and deploy Lisp software just like I can C or C++ software. 19:45:26 drewc: and how does that help us make lisp applications more easily distributable? 19:45:41 rahul: who is "us" ? 19:45:46 -!- rpg [n=rpg@216.243.156.16.real-time.com] has quit [] 19:45:49 Fare, rahul 19:45:50 rahul: is that what we're talking about? here i thought we were talking about build systems. 19:45:54 Fare: anyone who wants to distribute lisp applications 19:45:57 -!- mstevens [n=michaels@jobs.etla.org] has quit [] 19:46:05 or are we on that "we don't want more users" thing again 19:46:13 -!- ska`````` [n=user@124.157.196.18] has quit [Remote closed the connection] 19:46:20 I don't want to. I do. 3 times a week, it's being deployed. 19:46:24 ska`````` [n=user@124.157.196.18] has joined #lisp 19:46:29 and the current infrastructure is butt-ugly. 19:46:34 Fare: to how many end users? 19:46:35 rahul: where's the code? 19:46:41 sykopomp: on the internet 19:46:47 rahul: where's the link? :) 19:46:52 sykopomp: I don't care to find it 19:47:03 rahul: then don't claim you have code if you can't be arsed to show it. 19:47:08 0 to a hundred, depending on the notion of end-user. But the end-user never sees the Lisp underneath. 19:47:11 rahul: i bet you have lots of opinions on the isreal-palestine confict as well...talk is cheap 19:47:24 israel even 19:47:26 SandGorgon [n=OmNomNom@122.173.249.152] has joined #lisp 19:47:28 drewc, it's not real but integer 19:47:31 sykopomp: don't claim that I didn't do anything when you can't be arsed to know 19:47:32 drewc: "Is Israel a Democracy?" 19:47:45 why isn't enough just to prepackage the application in a bundle, ship with some executable and declare victory? 19:47:53 drewc: and code is ignorable, apparently 19:48:01 hypno, I do it, but don't declare victory. 19:48:04 drewc: no one talks about the code, just about opinions 19:48:13 hypno: i just made another sale today :) 19:48:16 and then I show them the code and everyone stopps talking 19:48:24 Xach, roflbot? 19:48:27 yeah 19:48:36 and then a year later, everyone starts the same stupid argument over again 19:48:40 Xach: :)) 19:48:48 rahul: sorry... you have code that delivers lisp applications cross platform, with a shared-library model? 19:48:57 drewc: I've started it 19:49:04 -!- ska`````` [n=user@124.157.196.18] has quit [Remote closed the connection] 19:49:06 but no one showed any interest 19:49:08 ska`````` [n=user@124.157.196.18] has joined #lisp 19:49:15 Xach: congrats! 19:49:20 rahul: well maybe now is the moment 19:49:21 rahul: I still can't ship a small-number-of-bytes hello-world program, that links against a shared libsbcl.so (which can be recompiled without breaking my hello-world program). 19:49:24 rahul: i started code to solve the israel-palestine confilct... no takers though ;) 19:49:28 Xach: ! What are you selling? :D 19:49:30 prxq: just like every time before yeah 19:49:32 rahul, sykopomp and I also started a pure-CL 3D physics engine that outperforms bullet, but it currently only does 2D physics slower than chipmunk. 19:49:47 Xach: good job! :) 19:49:53 foom: you can't do that with gtk either 19:49:58 rahul: yes I can 19:50:02 sykopomp: a web-based Lisp lolcat server 19:50:08 drewc, I wrote provably-correct code that solves the problem, but it hasn't terminated yet. 19:50:21 foom: debian recompiles everything when upstream source changes 19:50:22 foom: you just spelled 'ECL' as 'SBCL'... that's the issue ;) 19:50:29 everything that depends on it 19:50:41 rahul: that's demonstrably untrue. 19:50:41 Xach, great to hear. congratulations! 19:50:46 libsbcl.so.1.0.42 19:50:50 rahul: that's an exaggeration 19:51:16 Xach: >____> 19:51:19 well, whatever. when the ABI changes they change the package name 19:51:22 Fare: do you think it will? i have some code that can check if it terminates :) 19:51:24 else I wouldn't be able to pointwise-upgrade libgtk+2.0 or however it's spelled 19:51:30 but we're not talking about fixing implementations here 19:51:37 we aren't? 19:51:50 froydnj, should I use your tth code as an addition in a copy of the ironclad repo, as a hot-patch, or is there a plan to commit it? Or do you want independent testing/confirmation first? 19:51:50 foom: no, we're talking about code that doesn't exist. It's wankery. 19:51:55 we're talking about dealing with their limitations. so we depend on sbcl = 1.0.36-5 19:52:01 (or is it already committed since I checked?) 19:52:10 Fare: i'm just having a little trouble running it on itself... i'm sure it's an easy solutio... 19:52:15 sykopomp: stfu if you're gonna claim that I never did anything 19:52:27 rahul: I'm going ot claim you never did anything. 19:52:29 until you prove otherwise. 19:52:35 sykopomp: I don't need some newbie talking shit about what I did and didn't do 19:52:44 rahul: Prove me wrong. 19:52:47 or stfu 19:52:51 Fare: I'm not going to put that code as it stands into ironclad 19:52:53 sykopomp: I'm going to claim that you're a communist unitl you prove me wrong blah blah 19:53:01 heh 19:53:02 rahul: I -am- a communist. 19:53:03 froydnj, ok. What's missing? 19:53:06 :) 19:53:20 rahul: and you still haven't coded anything, yet you're being a wanker about your claims. 19:53:21 Fare: at the very least, it needs a make/update/produce interface similar to the existing digest interface 19:53:21 Edward__ [i=Ed@AAubervilliers-154-1-7-131.w86-212.abo.wanadoo.fr] has joined #lisp 19:53:27 *Adlai* (pop *corn*) 19:53:29 sykopomp: you're an idiot 19:53:35 -!- nikodemus [n=nikodemu@cs181150041.pp.htv.fi] has quit ["Leaving"] 19:53:36 froydnj, ok. 19:53:42 rahul: no, I'm just tired of you spewing b.s. with nothing to back up your claims. 19:53:45 sykopomp: seriously, don't get involved in things that you don't care to know about 19:53:57 -!- ska`````` [n=user@124.157.196.18] has quit [Remote closed the connection] 19:54:01 rahul: if I didn't care to know, I wouldn't be asking you for code, would I? 19:54:02 sykopomp: I'm tired of YOU spewing BS about things you haven't understood 19:54:07 Fare: I'm sure you don't want to have to have multi-megabyte files resident just to tthsum them :) 19:54:13 sykopomp: if you care, find it 19:54:36 froydnj, I was considering starting to compute lots of hashes from things that include hashes from previous steps, etc, and was thinking that tthsum wouldn't remain ideal anymore at this point. 19:54:40 rahul: it's not -my- credibility that's on the line here :) 19:54:42 sykopomp: I'm definitely not going to find it for you, with your attitude 19:55:07 Fare: computing hashes from byte streams that share common prefixes, or something else? 19:55:16 froydnj, or I could use tthsum for the big files and your thing for the short hashes of hashes... 19:55:21 Krystof [n=csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has joined #lisp 19:56:41 froydnj, more like compute a hash H1 of foo.fasl then compute a hash of `(:compile "bar.lisp" (:load ,H1)) 19:56:50 -!- prxq [n=mommer@nick.iwr.uni-heidelberg.de] has quit ["Leaving"] 19:56:50 newbie question - given flet & labels, presumably it's bad form to use let in macros and if so, why? 19:57:04 nothing wrong with let 19:57:09 sebyte, your question is too vague 19:57:14 sebyte: wut 19:57:21 -!- Intertricity [n=Raz@dhcp186n45.fau.edu] has quit [Connection timed out] 19:57:21 Fare: oh, so more like a DVCS dependency-chain-of-hases? 19:57:24 macros have their use, but higher-order functions are better taste when you can use them. 19:57:25 sebyte: are you saying that functions make variables unnecessary? 19:57:36 A good macro is a thin wrapper around a higher-order function. 19:57:40 oh ok, lets in macros are ok - i just had a hunch they weren't a good idea 19:58:04 sebyte: you may have to be careful about the variable names in your LETs. 19:58:05 sebyte, it's an easy way to introduce macro bugs, but that just means you need to learn how to avoid common macro bugs 19:58:22 froydnj, yes, more like that. So spawning a tthsum at every turn might (or not) prove painful. 19:58:34 sebyte, check out http://l1sp.org/pcl/defmacro for a guide on avoiding the most common macro problems 19:58:48 Fare: wait.. what's wrong with timestamps? 19:58:50 (and a good general guide to writing macros) 19:58:57 Adlai: thanks, I'll check it. 19:59:04 rahul: don't get me started. 19:59:19 Fare: if your machines are out of sync, that's a fixable problem 19:59:38 rahul: will timestamps differentiate between N versions of SBCL, CLISP, etc. ? 20:00:02 can you implement ccache based on timestamps? 20:00:15 Fare: you put the compiled code for each implementation in a separate directory 20:00:39 Fare: each version, too 20:00:47 (if they want multiple versions) 20:01:39 you don't look at the implementation as "SBCL" 20:01:54 you look at it as "SBCL-prod" 20:02:19 the whole point of ccache (or clcache as it'd be called) would be to automatically share work between many users of many systems on many machines. 20:02:26 and then you just have a "root" dependency on the specific version of the implementation 20:02:52 * (subtypep 'symbol 'keyword) 20:02:52 NIL 20:02:52 T 20:02:56 -!- nipra_ [n=nipra@117.195.104.191] has quit [No route to host] 20:03:06 honestly, you wait 5 years for an excuse to do type system surgery and then two come along at once 20:03:11 Krystof: YOU WIN? 20:03:19 I DON'T LOSE QUITE AS MUCH 20:03:29 Krystof, congrats 20:04:02 it makes me feel a bit better about having spent all afternoon on reviewing papers 20:04:23 *froydnj* sees a slogan in there: "it's not about getting the right answers, it's about getting them less wrong" 20:04:24 Fare: you're implementing this instead of building a good shared library system for CL? 20:04:34 froydnj: worse is better 20:04:49 -!- p0a [n=user@athedsl-393554.home.otenet.gr] has quit ["bye"] 20:04:58 do you have a plan for a good shared library system for CL? 20:05:02 rahul: hence the lack of shared library support 20:05:17 Fare: it's probably called "defdoc" 20:05:23 nipra_ [n=nipra@117.195.104.191] has joined #lisp 20:05:28 rahul is very good at plans; actually producing stuff... not so much 20:05:36 froydnj: sure, but "non-existent" isn't the same as "worse" 20:05:46 Krystof: I guess you have me killfiled 20:05:49 *rahul* shrugs 20:05:58 Krystof, what's extraordinary about the symbol and keyword relationship, though? 20:06:08 Fare: asdf:load-binary-op 20:06:13 Fare: keyword is (and symbol (satisfies keywordp)) 20:06:21 rahul, is there a specification for what that does? 20:06:37 I believe it's the only atomic type specifier which internally involves a satisfies type 20:06:58 How did you do it? 20:07:00 special-case? 20:07:04 Fare: loads just the output-files instead of trying to compile them, too 20:07:05 Krystof, so you have a more general framework for satisfies types 20:07:26 yet we are required to be certain in all type relationships involving keyword, because it is a standard atomic type specifier 20:07:36 CCL has the same answer, but probably by special case. 20:07:37 tcr: no, I solved the halting problem 20:07:55 Really? 20:08:05 (yes, special case. The good news is that for my next trick I plan to special-case array-displacement for fun and profit) 20:08:14 -!- acrid [n=mckay@204.126.146.202] has quit ["leaving"] 20:08:18 rahul: not identical, perhaps, but in this case, very closely related 20:08:41 the special case of if you hit something with a big enough sledgehammer it halts? 20:08:45 froydnj: no, "worse" would be load-binary-op 20:08:56 the sledgehalting problem is solved. 20:09:10 francogrex [n=user@91.177.48.154] has joined #lisp 20:09:17 froydnj: it's not perfect, but it satisfies what people will do in stable deployment environments 20:09:24 -!- ace4016 [i=ace4016@cpe-76-170-134-79.socal.res.rr.com] has quit ["When there's nothing left to burn, you have to set yourself on fire."] 20:09:26 rahul: load-binary-op? 20:09:39 rpg [n=rpg@c-75-73-48-133.hsd1.mn.comcast.net] has joined #lisp 20:09:41 lichtblau [n=user@port-92-195-41-30.dynamic.qsc.de] has joined #lisp 20:10:02 jeez, I don't want to have to find the code for that, too 20:10:19 minion:logs 20:10:22 I just don't even know what that is 20:10:27 it's probably on my scsi disk 20:10:39 froydnj: I explained it just now... 20:10:44 15:07 < rahul> Fare: loads just the output-files instead of trying to compile them, too 20:11:05 -!- Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has quit ["This computer has gone to sleep"] 20:11:26 I don't see what that has to do with shared libraries. 20:11:41 froydnj: then you can deploy sourceless lisp libraries 20:11:58 -!- dnolen [n=dnolen@pool-70-107-155-144.ny325.east.verizon.net] has quit [Remote closed the connection] 20:12:12 ok... 20:12:29 Adlai: i remember why the ignore-errors is in my i-i and rei-i methods... it's cruft really. 20:12:39 rpg: I'd definitely be interested in learning more about how Garnet worked. Is there any good documentation about it with examples, user guide, etc? 20:12:45 I don't recall ever finding something like that. 20:12:53 drewc, tcr explained it earlier, I think 20:13:03 so, how can I make a tiny hello-world CL program (in whatever implementation!) that uses libIMPLEMENTATION.so, and (for illustration, let's say...) libITERATE.so. If that's actually possible, someone should write a blog post about that. 20:13:24 Adlai: oh, well nvm then. 20:13:44 dnolen [n=dnolen@pool-70-107-155-144.ny325.east.verizon.net] has joined #lisp 20:13:47 foom: I don't see why using ld.so is a goal for lisp 20:13:48 whu would you want to use libIMPLEMENTATION.so, waht purpose and objective? 20:13:48 OmniMancer1 [n=OmniManc@122-57-3-202.jetstream.xtra.co.nz] has joined #lisp 20:13:52 foom, I believe you can do something -similar- using ECL 20:14:25 rahul: strange we had the same idea at the same time! 20:14:25 I think you can do exactly that using ecl 20:14:37 sykopomp: there is http://www.cs.cmu.edu/~garnet/ 20:14:40 rahul: I think there's good reasons to do so, but, having the lisp implementation mmap its own custom shared library format is fine too I think. 20:14:42 tcr, can you generate a libiterate.so using ECL? 20:14:54 sykpomp: http://www.cs.cmu.edu/afs/cs/project/garnet/www/papers.html 20:14:56 foom: it already does that 20:14:57 -!- spradnyesh [n=pradyus@122.167.98.51] has left #lisp 20:15:03 lispm: my google-fu is clearly weak :( 20:15:05 rahul: only one. 20:15:06 -!- OmniMancer1 [n=OmniManc@122-57-3-202.jetstream.xtra.co.nz] has quit [Read error: 104 (Connection reset by peer)] 20:15:11 foom: why does the launching method matter? 20:15:15 I was probably searching more about KR than garnet, I guess <_< 20:15:24 Adlai: That was my impression, but I never tried and I wouldn't put my hand into fire for it 20:15:27 launching method? I didn't say anything about launching method. 20:15:30 foom: oh, you want shared libs to share memory 20:15:38 to be in shared memory 20:15:39 Adlai: yes, in my case would be xxx.dll 20:15:40 lispm: thanks :) 20:15:41 -!- OmniMancer [n=OmniManc@122-57-3-202.jetstream.xtra.co.nz] has quit [Read error: 104 (Connection reset by peer)] 20:15:42 yes 20:15:58 shared libs should share memory. 20:15:58 good to know that the option exists 20:16:02 francogrex: porn site? 20:16:08 thank you tcr and francogrex for clarifying that 20:16:11 my goal was first to solve the disk usage problem 20:16:17 *froydnj* proposes "selfish libraries" 20:16:17 OmniMancer [n=OmniManc@122-57-3-202.jetstream.xtra.co.nz] has joined #lisp 20:16:30 fe[nl]ix [n=algidus@88-149-211-42.dynamic.ngi.it] has joined #lisp 20:16:31 foom: I don't see how that works too well in the lisp linking model... 20:16:32 sykopomp: don't go to those pornsites anymore 20:16:39 froydnj, is that like selfish genes? 20:16:40 sykopomp: the garnet group was quite active, i've read their stuff years ago 20:16:44 rahul: TBH, neither do I. But someone should figure it out. :) 20:16:52 foom: you know what, actually, it's probably not toooo hard 20:16:58 sykopomp: than they switch to C++, as everybody did 20:17:09 Adlai: but i find it useless to generate a shared library using ecl 20:17:12 you can mmap a fasl that has all the code blocks at the beginning or something 20:17:27 the other problem is that loading fasls is slloooooow (at least in SBCL) 20:17:28 maybe even package objects, too 20:17:51 Adlai: maybe? haven't read Dawkins. was just making a play on words 20:17:52 lispm: hah. And then they dropped support for amulet, too :P 20:18:02 froydnj, no worries, so was I :) 20:18:07 class metaobjects, etc, while we're at it 20:18:21 right. 20:18:23 *froydnj* wonders what exactly makes sbcl's fasls slow 20:18:29 *Adlai* recommends the book, though. 20:18:37 the "code" that's executed upon loading can just make sure that the symbols point to the right locations 20:18:49 froydnj: lots of computation at load time 20:19:05 rahul: That'd be pretty similar to what the C dynamic linker does, at that point. 20:19:10 -!- akamaus [n=maus@78.31.79.185] has quit [Read error: 145 (Connection timed out)] 20:19:14 sykopomp: then 'command post of the future'. more military research 20:19:26 -!- tcr [n=tcr@host146.natpool.mwn.de] has left #lisp 20:19:28 froydnj: the memory needs to be requested from the heap, and the stuff needs to be put into the memory and some objects need to be dynamically initialized 20:19:32 rahul: I appreciate your exhaustive benchmarking 20:19:32 foom: right 20:19:46 Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has joined #lisp 20:20:00 froydnj: defmethod is a monster 20:20:14 although I don't see how my solution will make it any less of a monster, relatively 20:20:29 right, so that's not necessarily a problem with the fasl format 20:20:31 per se 20:20:35 froydnj: sure 20:21:04 froydnj: although if the format could be statically mmapped, then it wouldn't need to do so much 20:22:32 rahul: maybe. 20:23:16 Adlai, tcr: do you think there is any advantage in making a libITERATE.so or ITERATE.dll (or whatever library)? 20:24:04 francogrex: it could be useful for distributing lisp libraries through regular package managers, I think. 20:24:30 as well as making stuff take less space... 20:24:45 -!- SandGorgon [n=OmNomNom@122.173.249.152] has quit [Read error: 145 (Connection timed out)] 20:25:31 sykopomp: not really making less space or distributing, because the other person needs to have CL and the same implementation and the same version so... not much advantage 20:25:35 francogrex: if multiple lisp applications use the same library, the memory will be shared across both applications 20:25:43 francogrex: this is a big deal for something like CLIM 20:25:57 clog [n=nef@bespin.org] has joined #lisp 20:25:58 francogrex: they don't need the source, tho 20:26:18 francogrex, I third that oppinion, but I'm clueless about this stuff. I was just asking earlier out of curiosity. 20:26:30 francogrex: you know that redhat 10.2 or debian 4.1 have a specific version 20:26:46 rahul: yes I would suppose creating a C dll that you can use cffi from it, so sbcl, ecl of any version will work, then it's ok 20:27:00 in fact, if it's debian, you just include it in debian and it gets compiled with the version of sbcl that gets released 20:27:15 francogrex: I don't think it needs to be a C DLL 20:27:25 sykopomp: Sorry --- had looked away. Yes, there is an impressive amount of documentation about Garnet on the web. Pretty much everything's in the sourceforge site. 20:27:35 francogrex: the idea is that most of the data loaded should be mmap()ed 20:27:36 one can add fasls into one file 20:27:50 sykopomp: http://garnetlisp.sourceforge.net/ 20:27:56 some implementations also can generate shared libraries 20:27:59 lispm: that doesn't reduce the heap usage 20:28:04 rahul, but if it's ecl-version0.964l (or whetever) then someone with sbcl won't use it, or even someone with ecl-version-0.74x ... whatever 20:28:26 lispm: if the fasl is mmap()ed, then the objects defined by the library are outside the lisp heap 20:28:28 for example MCL had the library and the compiler delivered as shared libraries 20:28:43 rpg: what's the big deal with its event system?? 20:28:51 francogrex: that's fine. my debian package creator already deals with that 20:29:03 several MCL applications could share the single shared library compiler/library 20:29:24 lispm: what about shared 3rd party libraries? 20:29:45 lispm: ok, so but then it'll need to be apllications made from a specific version of MCL 20:29:51 the same, if you create those 20:29:53 lispm: SBCL already does something effectively the same. the lisp image is shared across all sbcl invocations of that image 20:30:11 sysop_fb [i=fb@cpe-075-184-018-184.nc.res.rr.com] has joined #lisp 20:30:11 lispm: separate ones for each library so you can pick and choose? 20:30:51 Apple was thinking about delivering Lisp applications, so they investigated this topic 20:30:55 lispm: you may have multiple CLIM implementations 20:31:02 why? 20:31:13 lispm: same reason you might have multiple lisp implementations 20:31:35 I never had multiple CLIM implementations under MCL 20:31:39 application A might work better with McCLIM 20:31:49 application B might work better with MCL's CLIM 20:32:04 yeah, use the one you want 20:32:06 knobo [n=user@90.149.4.182] has joined #lisp 20:32:08 application A might use a backend that MCL's CLIM doesn't provide 20:32:17 right 20:32:21 lispm: but then I need a separate image for each CLIM? 20:32:28 why? 20:32:28 sykopomp: Not sure what you mean. It has an interesting prototype system that is wedded to a constraint system. 20:32:44 rpg: it mentioned something about having some fancy high-level event interface. 20:32:48 you need MCL and load the CLIM you want 20:32:50 lispm: it ships systems as dlls? 20:32:59 lispm: load as a shared library? 20:33:04 sykopomp: It has a bunch of event objects that can carry lots of information.... 20:33:11 lispm: can McCLIM be a shared library for MCL? 20:33:18 and _only_ McCLIM 20:33:33 I don't think anybody has ever tried, but possibly yes 20:33:56 the MCL compiler is just a bunch of Lisp saved as a shared library 20:34:06 and what's the difference between having a shared library versus a shared fasl file? 20:34:17 francogrex: the concept would be the same 20:34:25 francogrex: it's basically just what you call it :) 20:34:28 Guthur [n=Michael@host81-131-243-232.range81-131.btcentralplus.com] has joined #lisp 20:34:36 the shared library uses the usual OS format of shared libraries 20:34:44 with an object, can the initform for a slot rely on prior slots? 20:34:46 ECL has a nice feature it compiles several asdf into one main loadable fasl lfile 20:34:46 froydnj: one thing I think is the requirement that add-method and remove-method recompute the generic's discriminating function 20:35:02 francogrex: and those end up as DLLs :D 20:35:04 I have a not-working attempt somewhere at solving that 20:35:14 no, with fasl 20:35:19 or rather fas 20:35:26 francogrex: many Lisp can do that 20:35:49 Demosthenes: no 20:36:05 not sbcl though, i don't think you can take cffi for example and all its deoendecies and lake just one fasl file from all of them 20:36:14 Demosthenes: didn't we already tell you how to solve this? 20:36:23 francogrex: sure. cat 20:36:25 francogrex: if you cat them 20:36:41 that was "de-pen-den-cies" (I'm a retard in typing, many spelling errors) 20:36:44 francogrex: that doesn't mean that they are in shared memory, tho 20:38:00 rahul, lisp: do you mean you cat them and make one fasl and even you can deleted the original files (inclusing the asd, lisp and individual fasl files within each asdf), 20:38:13 yes 20:38:22 wow! i didn't know 20:38:25 the file format works like that 20:38:31 Krystof: neat. though I'm sure the fasl format could be made more efficient/mmap'able 20:38:31 rahul: i haven't asked a question for a week! ;] 20:38:47 Demosthenes: well, then it was probably the last question you asked... 20:38:48 rahul, lispm; do you have examples? 20:39:06 francogrex: you do. try it. 20:39:31 francogrex: take any code, cat the fasls in the order they should be loaded, and load that fasl 20:40:01 rahul: i had some great answers regarding restarts, which i'm using quite happily ;] 20:40:25 Demosthenes: defmethod initialize-instance :after 20:40:31 clhs initialize-instance 20:40:31 http://www.lispworks.com/reference/HyperSpec/Body/f_init_i.htm 20:40:36 clhs shared-initialize 20:40:37 http://www.lispworks.com/reference/HyperSpec/Body/f_shared.htm 20:40:44 froydnj: there are a lot of load-time side effects 20:40:56 usually, actually, shared-initialize is where you want to hook your customizations 20:41:15 Krystof: adding methods is the main one, no? 20:41:34 Krystof: I mean, other than pointing symbols at the correct objects 20:42:01 Krystof: the objects _could_ be simply dumped in their in-memory format to the fasl 20:42:53 the code would have to be position-independent, tho 20:43:24 *froydnj* notes that rahul keeps suggesting things that ld.so &co already handle, as foom noted 20:43:28 mmm kind of... it would have to lookup the offsets elsewhere in memory than where the code bodies are 20:43:40 froydnj: ld.so doesn't handle garbage collection 20:43:52 -!- stassats [n=stassats@wikipedia/stassats] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 20:43:56 -!- mrSpec [n=Spec@unaffiliated/mrspec] has quit [Remote closed the connection] 20:44:09 -!- fusss [n=chatzill@60-241-1-206.static.tpgi.com.au] has quit [Read error: 113 (No route to host)] 20:44:11 froydnj: it doesn't handle making lisp symbols point at function objects either 20:44:32 mrSpec [n=Spec@unaffiliated/mrspec] has joined #lisp 20:44:36 It does if you set things up right 20:44:45 whatever, I'm not going into this deeper unless I get paid for it 20:44:58 rahul: ok if you have 3 or 4 fasl files to do cat ing manually but in cffi there are many dependent asdf with many individual fasls in each of them 20:45:03 rahul: no, but it does handle things like "mmap these things in shareable memory" and "relocate these pointers now that they're loaded into memory" 20:45:12 -!- billitch [n=billitch@rob92-1-82-67-155-88.fbx.proxad.net] has quit [] 20:45:23 I've done enough free work already 20:45:24 -!- coyo [n=alex@99-6-151-42.lightspeed.rcsntx.sbcglobal.net] has quit [Remote closed the connection] 20:45:35 francogrex: so? 20:45:56 Unfortunately these problems are most important for free software distribution, rather than proprietary software, so finding someone to pay for it might be difficult. 20:45:58 does relocating the pointers cause the memory to be un-shared? 20:46:03 rahul: charity work for your less fortunate lispers is rewarded in lisp heaven 20:46:08 foom: true 20:46:10 rahul: I'm not! I've been listening attentively, keeping time logs, and will be issuing invoices for therapy. 20:47:25 *rahul* sends the invoices to the public option 20:47:25 rahul: it's not about technicality, i know it can work, but then you'll need to go in each folder and gather 100s of fasl files to cat them 20:47:35 it's about practicality 20:47:45 francogrex: what in asdf stops that from being easy? 20:47:59 francogrex: some defsystems have a make single fasl option 20:48:15 is asdf easy? wish someone told me 20:48:16 Guthur, memo from rahul: in general, &key args don't need to be named by keywords 20:48:32 rahul: i'm probably talking outta my ass because i've not seen an example of catting fasl files togeher yet 20:48:39 Guthur: how long is a piece of string? 20:48:43 hehe thanks rahul, don't think anyone has left me a memo before 20:48:46 francogrex: just cat them 20:48:58 i'm on windows 20:49:04 minion, tell Guthur about xach-asdf 20:49:04 Guthur: please look at xach-asdf: Xach's article "Making a small Common Lisp project" can be found at http://xach.livejournal.com/130040.html 20:49:08 francogrex: well, it works. what more do you need to know? 20:49:22 francogrex: so, install cat. 20:49:35 francogrex: or write it yourself in lisp, it won't be hard. 20:49:45 cheers adlai i do need that, asdf usage is dreadful 20:49:51 my usage 20:50:15 foom: i'd rather use somthing already done than reinventing the wheel 20:50:23 so install cat 20:50:25 LispWorks: concatenate-system, Produces a single, concatenated fasl from a defsystem system or systems. 20:51:14 lispm: so does ecl's asdf make-library (or something sililar) 20:52:05 it's exactly: (asdf:make-build :cffi :type :fasl) 20:52:49 you can also use: (asdf:make-build :cffi :type :dll) i think or even (asdf:make-build :cffi :type :program) 20:53:33 mfk [n=user@kpbisb.static.corbina.ru] has joined #lisp 20:53:35 coyo [n=alex@99-6-151-42.lightspeed.rcsntx.sbcglobal.net] has joined #lisp 20:54:02 beautiful [n=beauty@83.231.8.88] has joined #lisp 20:54:22 night 20:56:35 slyrus_ [n=slyrus@dsl092-019-253.sfo1.dsl.speakeasy.net] has joined #lisp 20:57:10 -!- Eko [n=eko@lawn-128-61-120-38.lawn.gatech.edu] has quit ["This computer has gone to sleep"] 20:57:13 foom that's for you: yes i verified: (asdf:make-build :cffi :type :dll) works , so hell knows how you can use that dll! 20:57:46 replace "so" with "but" above 20:58:18 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 20:58:30 francogrex: I think the ecl manual says something about it 20:58:40 baddog [n=liam@unaffiliated/baddog144] has joined #lisp 20:58:49 but I didn't really read it, so it might be something dll something profit 20:58:58 madnificent: i couldn't figure it out, many sleppless nights 20:59:32 I know how to use the output fasl it's easy u just load it with load and use it's functions 20:59:50 even program is easy: it's a standalone 21:00:30 but the dll? you can dynamically refer to the dll'ed function from any other application, not even ecl-lisp itself 21:00:44 francogrex: how do you make ecl throw out a standalone executable? 21:01:31 rahul does this place the symbol in the keyword package (defun myfunc (&key (param nil)) ... ) 21:01:37 didn't ecl compile to c? 21:01:57 madnificient; in 2 steps: 1) (compile-file "c:/file.lisp" :system-p t) 21:02:26 2) (c:build-program "c:/file.exe" :lisp-files '("c:/file.o")) 21:02:27 21:02:33 very easy 21:02:57 or using asdf then it's as above: (asdf:make-build :cffi :type :program) 21:03:05 clhs 3.4.1.4 21:03:05 http://www.lispworks.com/reference/HyperSpec/Body/03_dad.htm 21:03:12 Guthur, your keyword question is answered there 21:03:42 Edico [n=Edico@unaffiliated/edico] has joined #lisp 21:04:17 beautiful: yes it does, but it's not a readable C 21:05:02 well i meant it could be use to produce a standalone executable 21:05:12 |used 21:05:30 francogrex: that is very sexy :) 21:05:32 beautiful: sure, but it's not *really* standalone 21:05:33 -!- morphling [n=stefan@gssn-5f756342.pool.mediaWays.net] has quit [Remote closed the connection] 21:05:47 cheers adlai, i didn't realise any of that 21:05:53 morphling [n=stefan@gssn-5f756342.pool.mediaWays.net] has joined #lisp 21:06:25 madnificent: that's why ecl is still my favourite; the only thing that I don't like about ecl is the disassemble; it's quite poor 21:06:39 I much prefer sbcl's disassemble to asm code 21:06:50 francogrex: and the fact that it doesn't run a lot of things :) 21:07:12 madnificent; what fdo you eman? 21:07:15 mean? 21:07:26 francogrex: what do you mean by not really standalone? 21:07:34 francogrex: many things (like postmodern) don't run on ecl 21:08:09 madnificent: what like give me an example. I think a lot of things are ok on ecl 21:08:57 francogrex: it simply isn't supported yet. stumpwm doesn't run on it either (but work is being done on it (in fact, it might be finished in the past month or so) 21:08:58 beautiful: you'll need to have the 5M ecl.dll always around; so you can distribute your standalone 21:08:59 -!- loxs [n=loxs@85-130-35-10.2073285806.ddns.cablebg.net] has quit ["Leaving"] 21:09:15 francogrex: mostly (if not only) non CL-things :) 21:09:28 francogrex ah, does not seem like a big problem 21:10:17 beautiful: noy not really; but it's still far from the standalone exe done by lisworks; those are a beauty 21:10:43 madnificent: ok, but who cares about non CL things :) 21:11:05 i think gambit-c also could produce them 21:11:21 the treeshaker they have there!!! Ouuuhh mamma! 21:11:27 not sure there is a (free) lisp that does 21:11:38 but it doesn't bother me that much 21:11:48 -!- kpreid [n=kpreid@209-217-212-34.northland.net] has quit [] 21:11:53 no, just lispworks and it's very "unfree" 21:12:28 francogrex: C applications are not standalone either, then 21:12:38 there should be a way to statically link the ecl.dll thing 21:12:41 rahul; yes i knwo etc etc 21:12:49 kmc [n=keegan@98.140.110.255] has joined #lisp 21:12:53 glibc is really big... 21:13:15 but most win users already have them so you don't have to shipo to them a titanic everytimle you want to send them a "hello world " exe 21:14:03 francogrex: actually no 21:14:06 they do ship it 21:14:07 the operative words are: since they have win system, they already have those bug big libs that a C stanbdalone needs 21:14:20 francogrex: they need to upgrade them 21:14:34 they all come with the latest versions of the runtimes they need 21:14:48 until you need the visual 200x c++ latest runtime 21:15:00 beautiful: exactly 21:15:03 (i presume it's bigger than 5 mb) 21:15:06 rahul, they don't even know what's going on: my gradma uses my exe in C and doesn't know squat about PCs 21:15:16 francogrex: so? 21:15:33 but i don't think we should be paranoid about those things 21:15:34 francogrex: the installer still does that 21:15:51 i mean, everyone has flash, a lot of people has java and so on, runtimes are big 21:16:05 so, but if I have to send gradma an exe written using ecl, she wouldn't know that she'll need to download also ecl.sll and that she has to place it in the path etc etc 21:16:19 francogrex: that's what an installer is for! 21:16:29 rahul: the installer still does that <<< true, good point 21:16:38 francogrex: she doesn't know she needs msvcrt.dll to install a C program 21:17:15 rahul; actually true, i remember now I shipped some apps to some people by having them into an setup.exe 21:17:40 even better, I have a great trick better than an installer: that for you as well beautiful 21:18:15 use molebox-pro to bundle your exe with you dll into just one exe 21:18:35 i woudn't do that 21:18:38 and then you get all the problems that foom is complaining about 21:19:02 afaik some antivirus tools detect those utilities as binders 21:21:23 beautiful; not at all; at least not molebox 21:21:32 some others might yes 21:22:01 rahul; what problems foom complained about? 21:22:07 mmm, a good tradeoff would be an online installer 21:22:21 that just downloads the dlls needed only if the user does not have them or are outdated 21:23:17 beautiful: inno-setup is a good free installer 21:23:37 -!- fiveop [n=fiveop@g229112121.adsl.alicedsl.de] has quit ["humhum"] 21:24:14 but really the bundled exe and dll is a good solution, i've been using it, noone ever complained about it being detected as a virus or anything 21:24:38 all my real standalone exe are less than 1M 21:24:41 billitch [n=billitch@rob92-1-82-67-155-88.fbx.proxad.net] has joined #lisp 21:26:43 rahul: would that work? cat FileA.fasl FileB.fasl > FileC.fasl (too lazy to switch to linux to try it myself now) 21:28:11 kpreid [n=kpreid@216-171-189-244.northland.net] has joined #lisp 21:28:54 bgs100 [n=ian@unaffiliated/bgs100] has joined #lisp 21:29:02 francogrex: memory usage 21:29:13 -!- dlowe [n=dlowe@ita4fw1.itasoftware.com] has quit ["Leaving."] 21:29:17 francogrex: if they come with their own DLLs, then they're not shared 21:29:38 francogrex: yes, that's how fasl catting works... 21:29:39 hmm 21:32:07 *ponder* my initialize-instance :after methods conflict, i may just make an explicit init method and call it separately 21:32:14 -!- kami [n=user@188.100.206.78] has quit [Read error: 145 (Connection timed out)] 21:33:36 conflict?? 21:33:57 Demosthenes: if you need to do two things for the same class, just put them in the same method 21:34:09 -!- Fare [n=Fare@ita4fw1.itasoftware.com] has quit ["Leaving"] 21:35:54 rahul: the parent class initialize-instance :After method fails on the input data of the child... 21:35:55 -!- metasyntax [n=taylor@75.149.208.121] has quit ["Nichts mehr."] 21:36:23 Demosthenes: then the child is not an instance of the parent, really 21:36:48 rahul: has same slots 21:36:58 Demosthenes: so? 21:37:03 it doesn't have the same behavior 21:37:06 i'm debating just creating new objs and quitting inheritance there. 21:37:09 split it up into two classes 21:37:10 exactly 21:37:14 legumbre_ [n=leo@r190-135-34-180.dialup.adsl.anteldata.net.uy] has joined #lisp 21:37:23 the common superclass should have the common stuff 21:38:16 if the two classes share the same slots, but initialize differently, have one parent class with the slots, and two child classes with different initialization 21:38:28 yep. 21:41:00 ok but if i have (defun add (x y) (+ x y)) in file1.fas and (defun useadd (x y) (* x y (add 23.4 18))) in file2.fas 21:41:46 then using cat file1.fas file2.fas > file3.fas would produce a loadable file where useadd is not usable 21:42:22 why not? 21:42:40 lispm: go figure! beats me 21:42:42 huh? 21:43:17 -!- fe[nl]ix [n=algidus@88-149-211-42.dynamic.ngi.it] has quit ["Valete!"] 21:43:18 slava uses emacs, this is madness 21:43:54 picture? 21:45:39 I think its has to do with the sequantiality of loading, it loads the files simultabouesly so that add is not visible to useadd function 21:45:54 no 21:46:19 fe[nl]ix [n=algidus@88-149-211-42.dynamic.ngi.it] has joined #lisp 21:46:29 whaaaa 21:46:44 Pretty sure I've seen slava use factor's built-in IDE. 21:47:16 pkhuong: last I asked him, he uses a mixture of the factor IDE, and FUEL to get work done. 21:48:03 lispm: I am telling you, this is what happens 21:48:09 does lichtblau use hemlock? (: 21:48:41 *lispm* downloads Xong for the Mac 21:49:13 -!- nipra_ [n=nipra@117.195.104.191] has quit [Read error: 110 (Connection timed out)] 21:49:55 pkhuong: only when he's made himself utterly unpopular with the rest of Berlin 21:51:10 what is he using? Climacs? 21:51:28 Krystof: interesting way to make time pass faster. 21:53:00 or maybe because i'm usinga wrong cat syntax or msys in windows where cat doesn't work well etc... i don't know 21:53:11 francogrex: maybe you're not using sbcl 21:53:12 -!- legumbre [n=leo@r190-135-45-101.dialup.adsl.anteldata.net.uy] has quit [Read error: 110 (Connection timed out)] 21:53:44 -!- marioxcc is now known as marioxcc-AFK 21:53:58 rahul: using ecl, shoukd work too 21:55:07 although maybe there was a trick of inlining or something in ecl... i don't recall 21:56:05 spilman [n=spilman@ARennes-552-1-126-110.w92-139.abo.wanadoo.fr] has joined #lisp 21:56:43 francogrex: no 21:56:50 francogrex: it should not work in ecl. 21:57:32 Geralt [n=Geralt@p5B32EFE9.dip.t-dialin.net] has joined #lisp 21:57:36 -!- billitch [n=billitch@rob92-1-82-67-155-88.fbx.proxad.net] has left #lisp 21:57:55 jmbr [n=jmbr@238.245.218.87.dynamic.jazztel.es] has joined #lisp 21:58:35 rahul, why not? 21:59:43 good night 22:00:06 francogrex: why should it? 22:00:29 francogrex: did anything in the documentation say it should work? 22:00:50 -!- LiamH [n=none@pdp8.nrl.navy.mil] has quit ["Leaving."] 22:01:36 so than it's says in the sbcl docs that catting two file works? 22:01:54 -!- serichsen [n=user@hmbg-4d06ff0f.pool.mediaWays.net] has quit ["over many a quaint and curious volume of forgotten lore"] 22:02:24 -!- marioxcc-AFK is now known as marioxcc 22:03:35 francogrex: well, it works for sbcl 22:03:39 probably says so in the docs 22:03:46 what is your point? 22:06:07 I thought it would work for all impmelnatations that catting to fasl files is implemnation independent ebcause u produce as it file3.fasl is a fresh fas file 22:06:11 anyway 22:07:16 what? 22:07:31 who said that fasl file format was implementation _in_dependent? 22:08:25 -!- dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has left #lisp 22:08:28 dstatyvka [i=ejabberd@pepelaz.jabber.od.ua] has joined #lisp 22:09:12 timor [n=martin@port-87-234-97-138.dynamic.qsc.de] has joined #lisp 22:09:45 rahul; it's ok; I thought because cat is just a separate thing, then catting tow ecl fasl files into a 3rd one (which is then ecl format because it's a child of 2 ecl fasl files) would be a good one to load and work in ecl; but it's not the case 22:10:28 i'm not catting two sbcl fasl files and then loading the child into ecl. I always remain in ecl 22:10:33 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 60 (Operation timed out)] 22:10:39 -!- rpg [n=rpg@c-75-73-48-133.hsd1.mn.comcast.net] has quit [] 22:11:02 abeaumont [n=abeaumon@84.76.48.250] has joined #lisp 22:12:25 anyone know where to find (split-string "foo/bar" "/") => ("foo" "bar") or something like that? 22:13:29 -!- Sumpen [n=Sumpen@78-72-33-106-no46.tbcn.telia.com] has quit [Client Quit] 22:14:03 -!- abeaumont [n=abeaumon@84.76.48.250] has quit [Remote closed the connection] 22:14:07 eno [n=eno@nslu2-linux/eno] has joined #lisp 22:14:46 -!- mishoo [n=mishoo@79.112.52.124] has quit [Read error: 110 (Connection timed out)] 22:15:58 -!- levente_meszaros [n=levente_@apn-94-44-1-131.vodafone.hu] has quit ["..."] 22:17:08 prxq [n=prxq@f051067224.adsl.alicedsl.de] has joined #lisp 22:19:17 minion, tell sebyte about split-sequence 22:19:18 sebyte: please see split-sequence: SPLIT-SEQUENCE (formerly known as PARTITION) is a member of the Common Lisp Utilities family of programs, designed by community consensus. http://www.cliki.net/split-sequence 22:20:04 'formerly' means previous milenium, right? 22:20:48 francogrex: so why would you think that cat knows how to construct a fasl file in the proper format? 22:21:07 sbcl just happens to have a format where catting the files works 22:22:19 -!- attila_lendvai [n=ati@catv-89-134-66-143.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 22:23:15 -!- cvandusen [n=user@12.185.80.194] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 22:23:45 -!- jleija [n=jleija@user-24-214-122-46.knology.net] has quit ["leaving"] 22:24:25 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 22:29:14 -!- fe[nl]ix [n=algidus@88-149-211-42.dynamic.ngi.it] has quit ["Valete!"] 22:31:53 fe[nl]ix [n=algidus@88-149-210-207.dynamic.ngi.it] has joined #lisp 22:32:21 rahul: yes ok i see 22:32:22 dacoda [n=user@clientssh2.rbg.informatik.tu-darmstadt.de] has joined #lisp 22:32:39 Adlai: thanks 22:32:54 ok guys time to go read some sicp; or should i read paip? 22:34:13 rvirding [n=chatzill@h92n3c1o1034.bredband.skanova.com] has joined #lisp 22:34:32 francogrex: paip is good if you want to learn common lisp 22:36:05 xach: I want to read something before sleeping 22:36:53 -!- nullman [n=nullman@c-75-73-150-26.hsd1.mn.comcast.net] has quit [Read error: 60 (Operation timed out)] 22:36:57 in that case you should read "Starcraft: Strategy & Tactics" 22:37:05 hah 22:37:22 ok guys goodnite; see u later 22:37:25 *Adlai* hits francogrex with a copy of C@W 22:37:35 -!- francogrex [n=user@91.177.48.154] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 22:37:52 heh 22:38:29 Xach: is there really such a book ? 22:39:18 Ralith [n=ralith@69.90.49.189] has joined #lisp 22:39:34 fe[nl]ix: i don't think so. 22:40:07 *Adlai* just used slime-edit-uses again 22:40:16 highly recommended! 22:40:28 Odin- [n=sbkhh@s121-302.gardur.hi.is] has joined #lisp 22:40:28 Xach: you had me on that one :D 22:40:42 *Xach* is a pro starcraft addict 22:41:18 I did not know this 22:41:44 Xach: writing any starcraft bots? 22:41:49 rpg [n=rpg@216.243.156.16.real-time.com] has joined #lisp 22:41:58 foom: purely a spectator 22:42:07 Xach: the original or also Starcraft 2 ? I stopped with Brood war 22:42:27 fe[nl]ix: the proleagues are brood war only afaik 22:43:02 I used to play Starcraft all the time. Pretty good at it (that is: could beat all my friends) but I'm sure nowhere *near* pro level. :) 22:43:11 And of course I've forgotten all that by now. 22:43:23 there was this contest for Starcraft Brood War bot... 22:43:39 yeah, that seems interesting 22:43:45 it's still going strong, and they just had 15,000-ish people watch a starcraft final in china live 22:43:54 that is, in person. many more on tv and online... 22:44:04 -!- Davidbrcz [i=david@212-198-78-230.rev.numericable.fr] has quit [Read error: 110 (Connection timed out)] 22:44:10 yeah...it's pretty dead over here, though, I think 22:44:24 grr 22:44:27 Korea kept it alive. :) 22:44:41 -!- saikatc [n=saikatc@c-98-210-192-23.hsd1.ca.comcast.net] has quit [] 22:44:42 so I need to completely avoid calling slot-value if I'm to have any hope of fast access 22:45:01 because of the linear search through slots to get the slotd for passing to s-v-u-c 22:45:05 In Korea Starcraft is a national sport ;-) 22:45:13 p_l is the bot contest still on 22:45:22 Guthur: afaik yes 22:45:31 any linky? 22:45:49 this will probably be a problem for formulate, too. sigh. 22:45:50 Guthur: you might have luck searching channel logs, I don't have it at the moment 22:46:11 http://lmgtfy.com/?q=starcraft+bot+competition 22:46:39 foom google wasn't being my friend 22:47:25 http://www.flickr.com/photos/xach/4120161253/in/set-72157622844105996/ is something i got at the grocery store today. 22:48:23 it is almost accurate 22:48:59 what's the easiest/quickest way to find the nicknames for a package (please don't RTFS)? 22:49:06 This dictionary does not have entries for "Unix" or "C" 22:49:16 Hello all. 22:49:21 that's a plus, I'd say 22:49:22 what dictionary is this? 22:49:22 please don't _say_ RTFS even 22:49:27 sebyte: package-nicknames 22:49:28 -!- mfk [n=user@kpbisb.static.corbina.ru] has quit [Read error: 60 (Operation timed out)] 22:49:33 foom: see immediately preceding photo 22:49:39 Xach: ta 22:49:55 leo2007 [n=leo@cpc2-cmbg15-2-0-cust694.5-4.cable.virginmedia.com] has joined #lisp 22:49:57 Xach: 1983 and doesn't have "Unix" or "C"? 22:50:31 nope. 22:51:16 *Xach* considers it a dollar well spent 22:51:46 attila_lendvai [n=ati@apn-89-223-205-75.vodafone.hu] has joined #lisp 22:52:08 *p_l* considers finally submitting and buying "Structured COBOL Programming" 22:52:37 Xach collects dictionaries for one dollar with Lisp entries? 22:53:08 -!- ia [n=ia@89.169.161.244] has quit [Read error: 60 (Operation timed out)] 22:53:51 -!- Geralt [n=Geralt@unaffiliated/thegeralt] has quit ["Leaving."] 22:54:03 lispm: yes. 22:54:46 heh 22:54:48 cool 22:55:03 considered difficult to learn 22:55:07 -!- pjb [n=t@26.Red-79-149-148.staticIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 22:55:30 -!- attila_lendvai [n=ati@apn-89-223-205-75.vodafone.hu] has quit [Read error: 131 (Connection reset by peer)] 22:55:45 ia [n=ia@89.169.161.244] has joined #lisp 22:56:41 attila_lendvai [n=ati@apn-89-223-205-75.vodafone.hu] has joined #lisp 22:56:51 -!- HET3 [n=diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit ["This computer has gone to sleep"] 22:57:27 -!- rrice [n=rrice@adsl-69-221-160-24.dsl.akrnoh.ameritech.net] has quit [Read error: 110 (Connection timed out)] 22:57:44 nekobaka [n=baka@c-67-181-80-137.hsd1.ca.comcast.net] has joined #lisp 22:58:05 rrice [n=rrice@adsl-69-221-172-163.dsl.akrnoh.ameritech.net] has joined #lisp 22:58:27 osaunders [n=osaunder@78.149.138.42] has joined #lisp 22:58:45 Is there no false value in CL? 22:59:14 nil is false, everything else is true 22:59:50 Because most languages have a false and a null (or nil) value. 23:00:05 Only having one of those seems odd. Does it cause any problems? 23:01:05 it causes some annoying inconsistencies: empty lists are false, but empty any other containers aren't. 23:01:07 what about c osaunders? 23:01:31 Could we argue that C is more a pidgin than a language? 23:01:38 osaunders, it does, but most people will deny that here 23:01:53 osaunders: it does, but not often 23:02:21 it's not even that uncommon. e.g. perl has an infinite amount of different false values, but no single canonical one actually called something like false 23:03:01 And, C++ and Python and probably others let you define false for your types however you like. 23:03:02 is it best to use split-sequence in package split-sequence or package cl-utilities or are they pretty much identical? 23:03:09 Dawgmatix: I think that caused problems. 23:03:54 attila_lendvai: Can you give an example? 23:04:42 (nil nil) 23:04:49 osaunders: i suggest you take a good look at Scheme vs CL code and decide for yourself. i was surprised when i first saw it, but then found it very elegant. it's not gonna change anyway, it is no problem for CL programmers, and if you do not like it, then maybe Scheme or something else is for you. 23:05:01 is it a list of empty lists or a list for truth values? 23:05:01 Dawgmatix: In fact it's actually worse because not only is there no false but there's also no value that represents true alone. 23:05:37 apart from conceptual debates how does this cause problems in the real world ? 23:05:40 lispm: Does it make any difference? 23:05:53 depends on your program 23:06:22 osaunders: maybe you want #java 23:06:22 I'm not sure there's any other language for you 23:06:28 Dawgmatix: You can't tell the difference between an operation that fails and an operation that produces an arithmetic zero? 23:06:40 rahul: lol 23:06:42 also T pretty much can't be used as a variable 23:06:43 I hate Java. 23:06:54 hehe osaunders failure can be signaled in other ways :) 23:06:59 lispm: Really why is that? 23:07:17 osaunders: 0 but true! 23:07:21 Dawgmatix: With extra params? Because I think that's horrible and C has no exceptions. 23:07:33 i mean using conditions 23:07:34 osaunders, do you use Lisp? 23:07:42 osaunders: Java is the only language that is acceptable according to your criteria 23:08:02 fwiw - clojure has this issue fixed. 23:08:16 "fixed" as in perl 23:08:19 so if this is getting in your way of liking lisp - there is a lispish language out there that handles this 23:08:34 I think NewLisp fixed it first 23:08:39 rahul: I actually think that not having a false value might be really elegant, I said it seemed unusual because I wanted to appear to be nooby (people are more honest then). 23:08:48 yeah, if an infinity of false values is a good thing then clojure fixed it 23:08:56 lispm: I've tried Clojure for a few weeks. 23:09:12 osaunders: haha, so not having conditionals is the way to go? 23:09:22 there's actually a distinction between languages which define a boolean type, but implicitly allow coercion to it for "if" 23:09:33 and languages that don't even have a proper boolean type 23:09:34 everything is true! 23:09:51 osaunders: this is the #lisp channel where some Lisp old timers hang out, those who haven't yet defected to Newlisp or Clojure 23:10:14 lispm: Yes, these are the people I want the opinions of. 23:10:24 osaunders: our opinions are that CL works 23:10:28 duh 23:10:48 well, except fare 23:10:48 minion, tell sebyte about alexandria 23:10:48 sebyte: look at alexandria: Alexandria is a collection of portable public domain utilities. http://www.cliki.net/alexandria 23:10:48 osaunders: are you going to ask a christian what his opinion on creation is? 23:10:51 rahul: Sure. I was hoping for you to tell me why it works. 23:10:55 osaunders: because it does 23:11:00 fare is like the musician in the asterix comics 23:11:07 -!- morphling [n=stefan@gssn-5f756342.pool.mediaWays.net] has quit [Remote closed the connection] 23:11:31 osaunders: because the operators have semantics that are defined well enough in the standard for us to write code 23:11:54 rahul: OK, yeah. 23:12:08 osaunders: why does it work for english to be written in 26 letters? 23:12:10 I think the message I'm basically getting here is that an explicit false value isn't necessary. 23:12:15 huh? 23:12:35 osaunders: I think your inference engine has problems with its boolean type 23:12:49 write some code osaunders ;) 23:12:59 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [Read error: 60 (Operation timed out)] 23:13:05 osaunders: lisp has ONE and only ONE explicit false value 23:13:09 osaunders: the message is that it has been defined for a language somewhen in the last millenium, and we are stuck with it 23:13:16 Dawgmatix, osaunders: when communicating with an rdbms you have no ways to store the two different (subjective, but for me they are) concept. also, it makes the code less readable because false and an empty list is pretty different and nil hides that... ..., ..., ... 23:13:17 osaunders: languages like perl and clojure have an infinity of false values 23:13:19 Wait, what I'm saying is you don't need a false and a nil. 23:13:39 osaunders: need is really not the question 23:13:45 osaunders: lisp doesn't have a distinction, and it works. 23:13:47 rahul: Why do they think that is a good idea? 23:13:52 osaunders: because they do 23:14:05 osaunders: is that the best possibility? It's questionable, but that's what lisp is. 23:14:11 osaunders: why do french people think that adding accents to their letters is a good idea? 23:14:13 Adamant [n=Adamant@unaffiliated/adamant] has joined #lisp 23:14:22 attila - since people marshall and unmarshall all kinds of different data anyway - whats the big deal in writing some logic on what to store in the db ? 23:14:55 osaunders: why do germans think that splitting the main verb to the end of the sentence for certain tenses is a good idea? 23:15:18 Dawgmatix, when it comes back we need to use :null (which is a generalized boolean, so it's true for cl:if, which can lead to hidden bugs) 23:15:20 More features means more complexity. I wouldn't like a language to have anything more than it needs. 23:15:59 (find nil ()) -> nil 23:16:00 osaunders: great, so use S and K combinators for all your programming 23:16:16 (find nil '(nil)) -> nil 23:16:24 lispm: but () has a NIL in the car :) 23:16:35 osaunders, go for ulambda! 23:16:37 lispm: so it really does have a NIL in it! 23:16:46 Use the OneInstruction processor then. All you need is one instruction... 23:16:49 rahul: Your making analogies between different things. Spoken languages are different. Also they evolved and aren't designed. If I was to re-design french I would most certainly leave out the accents for instance. 23:17:08 Programming languages also evolve 23:17:10 osaunders: you're still stuck on the whole world is java thing 23:17:15 (but French is designed...) 23:17:24 exactly 23:17:29 tcr [n=tcr@host146.natpool.mwn.de] has joined #lisp 23:17:35 rahul: I don't even know Java! 23:17:35 osaunders: your entire conception of this issue is backwards 23:17:39 ... Mmm... Java^H^H^H^HCoffee... 23:17:45 osaunders: well, you're describing java as the ideal language 23:17:54 it has a false value that is nothing else 23:18:00 rahul: You're actually being really critical and not being of any use here . 23:18:02 it was designed before anyone used it 23:18:05 (find nil #()) 23:18:08 nil 23:18:14 (find nil #(nil)) 23:18:16 nil 23:18:21 osaunders: and are you being anything but critical? 23:18:27 lispm: POSITION? 23:18:28 lispm: ok, now you win :) 23:18:42 speaking of silly languages, I encountered fractran today 23:18:43 nyef: yes 23:18:46 nyef: sure, but it's a gotcha 23:18:47 thanks to reddit 23:19:05 osaunders, people start mocking you because they feel offended by your questions about a basic design decision of their favorite language... 23:19:20 burn the withc 23:19:22 witch 23:19:24 attila_lendvai: um.... wrong 23:19:30 attila_lendvai: it's a dumb discussion 23:19:44 what is going to happen as a result? 23:19:44 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 23:19:53 enlightment 23:19:55 is he going to change the language definition and all code that exists? 23:20:19 if you don't like the basic foundations of lisp, go to another language 23:20:29 rahul, in that case the answer should have been 'go, read up on the net googling for foo bar baz' 23:20:49 attila_lendvai: I told him to use Java in the first place 23:21:16 rahul, i don't like this in cl, and it doesn't stop me working full time in it. there are loads of other factors... 23:21:19 I'm not aware of any other language that suits him 23:21:20 -!- milanj- [n=milan@109.93.8.196] has quit ["Leaving"] 23:21:27 rahul, that's what i meant by mocking... 23:21:35 attila_lendvai: Thank you. 23:21:45 attila_lendvai: and do you come in here just to bicker about that feature? 23:22:02 attila_lendvai: it's stopping osaunders from doing anything useful with his life 23:22:04 rahul: What's really bothering you? 23:22:07 he should just let go 23:22:08 osaunders: plase note that rahul is helpful from time to time :) 23:22:17 once a day 23:22:18 true :) 23:22:22 madnificent: lol 23:22:33 osaunders: the pain that you inflict on yourself by using lisp 23:22:35 (i sent that before the 'once a day' though!) 23:22:35 madnificent: I'm sure here is, maybe he had a bad day. 23:22:53 nipra [n=nipra@117.195.104.191] has joined #lisp 23:23:04 rahul: So, do you like CL or what? 23:23:09 osaunders: no, I hate it 23:23:29 I think you're being sarcastic. 23:23:33 He's just here to mock people who actually try to use Lisp. And rather effectively. 23:23:34 rahul, he didn't even say anything that implies that it's a bad decision... he just asked a sensitive question... :) 23:23:37 that's why I'm here. like you, I want to hang out in a channel devoted to something I hate. 23:23:42 You don't *say*.... 23:23:50 attila_lendvai: um, he actually did say it's a bad decision 23:23:54 rahul: Why do you think I hate lisp? 23:24:05 attila_lendvai: he said that the way that java and scheme work is the "right" way for him 23:24:09 rajesh [n=rajesh@nylug/member/rajesh] has joined #lisp 23:24:12 Hrm... -small- segmented stacks for lightish-weight threading? There's possibility there. 23:24:19 rahul: No I didn't. 23:24:23 osaunders: do you hate/not care/like lisp? 23:24:35 rahul: I said "it seems odd". 23:24:43 ziga`` [n=user@BSN-142-50-250.dial-up.dsl.siol.net] has joined #lisp 23:24:51 Which is really just given the fact that you have false in a lot of the mainstream languages. 23:24:56 18:03 < osaunders> Dawgmatix: I think that caused problems. 23:24:58 osaunders: you come across as a newbie who hasn't yet bothered learning, yet starts to question design chooices. drop the "why this and why that". this is CL, we live by The Book. start to hack away and ask for help when you run into issues instead. that way, you come across as constructive. 23:25:05 And then you started going on about how I should go back to Java, which I've never programmed in. 23:25:10 At the same time, it's a bad fit with CL semantics for dynamic binding, particularly when implemented in a shallow-binding scheme. 23:25:17 osaunders: name one language with a false that is only a false 23:25:30 rahul: Scheme? 23:25:30 Scheme! 23:25:37 I asked HIM 23:25:41 Smalltalk? 23:25:46 scheme scheme scheme scheme scheme 23:26:03 *madnificent* wispers to osaunders: pick scheme 23:26:06 PHP, Erlang, Java, probably VB. 23:26:16 Pascal! 23:26:17 C00 23:26:19 *C99 23:26:19 how about haskell? I don't know it, but I bet false is just false there. 23:26:24 osaunders: Common Lisp is based on languages from the 60s and 70s 23:26:35 prxq: I just tried. "Not in scope: `false`" 23:26:45 rahul, a false boolean value could live peacefully with generalized booleans... where cl:if would go on the second branch on nil and false... 23:26:52 *nyef* finds it hard to believe that -any- brand of C has a false data value that isn't type-punned to an integer 0. 23:27:01 http://op-webtools.web.cern.ch/op-webtools/vistar/vistars.php?usr=LHC1 <-- To quote No matter how off-topic this is, it's too SHINY to miss 23:27:05 attila_lendvai: and then you wouldn't have one single false value 23:27:07 osaunders: in case you're not using common lisp: use it, then see what you really want to change after using it for some time. You'll get better insights after using it... 23:27:20 attila_lendvai: which osaunders would whinge about at that point 23:27:21 i think we need an anti paul graham, someone who lowers expectations about lisp as a cool new language 23:27:22 rahul, not that i would have done that, though 23:27:37 Python does it 23:27:38 so that noobs dont expect a perfect language where everything works 23:27:42 I like it! 23:27:47 Dawgmatix: like rahul? 23:27:55 rahul: The real reason I asked about no false-value is because it seems like a good way to go but flies in the face of other languages. I ask about it because I want to know whether the other languages have it wrong or CL does. 23:28:04 osaunders: are you saying that if (foo = malloc(16)) doesn't work in C99? 23:28:10 Dawgmatix: Common Lisp pretty much works, in its limits 23:28:12 hes only distributing his wisdom here 23:28:17 Dawgmatix: um, with Arc in kind, paul graham himself is anti paul graham? :) 23:28:20 same with kenny. 23:28:23 osaunders: Almost anything is a tradeoff - seldomly it's a clear cut between right and wrong 23:28:28 osaunders: CL has it wrong 23:28:37 clearly 23:28:39 if he or kenny had a high visibility blog like pg then yeah ... 23:29:10 in fact, that's the single reason CL is a dead language 23:29:21 does minion know about koans? 23:29:25 who said it was dead? :P 23:29:26 rahul: Bah. You're a troll. 23:29:32 osaunders: yes, OI 23:29:41 I suggest people to do something productive. How about getting sbcl from cvs and trying to build it? 23:29:50 I'm the troll because I come into a channel whining about the existence of their topic 23:29:51 *attila_lendvai* just did 23:30:16 osaunders: Schemer: "Buddha is small, clean, and serious." Lispnik: "Buddha is big, has hairy armpits, and laughs." 23:30:23 Dawgmatix: I'd say that kenny's blog was quite visible... 23:30:26 -!- slash_ [n=Unknown@whgeh0250.cip.uni-regensburg.de] has quit [Client Quit] 23:30:37 rahul: I couldn't find a real target... I'm blaming kenny in the future :) 23:30:44 attila_lendvai: Make sure to enable :sb-xref-for-internals in customize-target-features :) 23:30:59 whats the address ? 23:31:03 p_l 23:31:04 -!- kmc [n=keegan@98.140.110.255] has quit ["Leaving"] 23:31:13 i think we need a google fight to decide this :) 23:31:17 search for "Smug Lisp Weenie" 23:31:35 rahul, i'm sorry to make you face it, but your attitude was hostile after a sensitive question and now osaunders is also turning hostile... so, i suggest dropping nils and falses because truth is subjective anyway... :) 23:31:36 iirc 23:31:49 hefner: What about the profile data? 23:31:53 attila_lendvai: it's not a sensitive question. it's a stupid question 23:32:15 attila_lendvai: why does Hungarian use a different word for "car" that doesn't even sound like "car"? 23:32:35 I can't imagine how anyone would ever have a conversation in hungarian if they can't talk about their car. 23:32:51 rahul, no, it's inappropriate on #lisp, because it was answered a million times online... but the question itself is not stupid. 23:32:58 attila_lendvai: it's not answered 23:33:02 Dawgmatix: http://smuglispweeny.blogspot.com 23:33:11 attila_lendvai: there is no answer. it just is the way it is because people want it that way. 23:33:29 nyef: You are correct. All false values in C are equal to 0. 23:33:51 there is no objective reason to choose any specific division of various concepts into different objects 23:33:56 Zhivago: Are all 0 values in C equal to false? 23:34:01 Yes. 23:34:16 just like there's no reason for "is" in english to mean both subset and equivalent 23:34:18 Actually if someone could point me to any FAQ like thing that discusses this topic that would be great. 23:34:27 osaunders: google.com 23:34:31 Not necessary FAQ-like, actually. 23:34:35 p_l : according to alexa paulgraham.com is in the top 100,000 websites and kens blog is not 23:34:38 If I want to load a file which in turn loads another file and so on, and I wawant to use only relative paths, is soomething like this the way to do it? (defun load-relative (namestring) (load (merge-pathnames namestring *load-pathname*) 23:35:03 sebyte: why aren't you using asdf? 23:35:11 sebyte: or at least xcvb :P 23:35:22 C and CL both agree on the matter of 'one false, everything else true'. 23:35:30 osaunders: Erik Naggum has debugged this topic over and over again with Schemers invading cll back in ~2001/2002. check the archives. 23:35:49 I'm not too impressed with CL using a symbol and a list for this false value, but ... 23:36:12 Having a single origin is often nice -- in javascript you end up needing x === false in order to do the same thing. 23:36:13 Zhivago: it puts multiple inheritance at the core of the language 23:36:15 rahul: I haven't grokked defining my own systems with asdf yet 23:36:27 and therefore everyone has to cope with MI 23:36:34 minion: xach-asdf 23:36:35 xach-asdf: Xach's article "Making a small Common Lisp project" can be found at http://xach.livejournal.com/130040.html 23:36:40 sebyte: well, you can either reimplement it or learn it... 23:36:51 sebyte: You really just have top copy&paste 23:36:52 rahul: Um, in the same way that putting a hamster in a toaster puts wildlife at the center of my kitchen. 23:37:26 Zhivago: to each his own. if you like toasted hamsters, who am I to judge? 23:37:34 -!- dacoda [n=user@clientssh2.rbg.informatik.tu-darmstadt.de] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 23:37:41 amaron [n=amaron@cable-89-216-181-46.dynamic.sbb.rs] has joined #lisp 23:37:51 *rahul* notes down on Zhivago's cliki profile: favorite food: toasted hamster 23:37:55 I don't -- but the point is that overloading symbols and lists with false only does that by accident. 23:38:07 Scheme got that right. 23:38:10 Zhivago: nylon was an accident, too 23:38:29 You can make an argument for suitable behaviour of car and cdr when applied to false, but that's another story. 23:38:31 rahul: tcr: thanks. just out of interest, is there anything really wrong with my load-relative? it seems to work ok. 23:38:45 having NIL be a symbol as well allows the empty type to be punned to an empty list 23:39:06 And it prevents having lists of symbols and lists, unabiguously 23:39:12 Lisp has so many usefuls :) 23:39:14 Which is pretty sad in a 'list processing' language. 23:39:14 Zhivago: if i understand you correctly, you dislike () = nil, or that in CL we have both or what specificly is the problem? 23:39:19 That I've found so far 23:39:22 Zhivago: eh? 23:39:27 Zhivago: oh, I see 23:39:29 hypno: I'm not finding anything :-( 23:39:34 hypno: (nil () nil) <- how many symbols do we have in this list? 23:39:43 Zhivago: s/list/tree 23:39:50 No, it's a list, here. 23:40:00 Zhivago: then unambiguously 3 23:40:05 Zhivago: 3, eh? 23:40:11 How many lists do we have in that list? 23:40:17 Zhivago: 3 23:40:31 So, cross off your earlier 'unambiguous' as a crazed delusion. 23:40:32 it's only when you say that it's a tree is there confusion 23:40:33 ...and how many pointers? 23:40:51 -!- ziga` [n=user@BSN-143-132-73.dial-up.dsl.siol.net] has quit [Read error: 110 (Connection timed out)] 23:40:56 No, there's a confusion -- you say it contains 3 lists and it contains 3 symbols, and it has a length of 3. 23:41:02 prxq: anywhere between 0 and 5 23:41:12 Zhivago: so? 23:41:18 And that's why this overloading is fundamentally stupid. 23:41:22 Zhivago: how many integers are in (1 2 3)? 23:41:44 Zhivago: how many unsigned-bytes are there in (1 2 3)? 23:42:03 All time's favorite: (string '()) 23:42:08 saikatc [n=saikatc@c-24-5-85-71.hsd1.ca.comcast.net] has joined #lisp 23:42:18 Zhivago: hmm. but in the case of lists, we would have 3 /empty/ lists, also representably 3 nils (symbols), right? 23:42:28 Zhivago, by a similar argument you could say it is communistic, I guess. 23:42:32 sebyte: it doesn't scale 23:42:44 sebyte: you need to do it in every file, and it doesn't handle compilation 23:42:54 Sikander [n=soemraws@oemrawsingh.xs4all.nl] has joined #lisp 23:42:57 hi 23:43:03 hi Sikander 23:44:21 does simply defining an s-v-u-c method really kill performance in SBCL? 23:44:39 ugh, so I had a long look at gtkairo. It's _very_ non-trivial to figure out where the problems lie... :( 23:44:43 I guess it would have to because it always needs to do a linear search :( 23:45:03 (which probably means I'll have to take an even longer look) 23:45:51 rahul: thanks - good night all 23:45:55 -!- sebyte [n=sebyte@vps203.linuxvps.org] has left #lisp 23:46:03 Kenjin [n=Kenjin@246-127.dial.nortenet.pt] has joined #lisp 23:46:19 what's a s-v-u-c method? 23:47:09 slot-value-using-class 23:47:16 ah, right. 23:48:04 milanj [n=milan@79.101.138.147] has joined #lisp 23:48:36 rahul, (for me) integers and unsigned bytes are much more to do with each other than nil and false and the empty list 23:48:44 the command processor takes yes for T and no for nil 23:48:45 Zhivago: ok. so i can see the confusion, but i mean really, isn't this a very small issue? compared to checking for say #f and #t and nilness i would say it doesn't even enter the radar. 23:49:22 given the discussion I was answering Yes or No with T 23:49:54 hypno: It's a small issue until you want to start transforming symbols and lists differently. 23:50:44 Is there some obvious way to obtain a list of slots defined in a structure, given the structure name? 23:50:55 -!- OmniMancer [n=OmniManc@122-57-3-202.jetstream.xtra.co.nz] has quit [Read error: 54 (Connection reset by peer)] 23:51:01 dreish [n=dreish@minus.dreish.org] has joined #lisp 23:51:09 OmniMancer [n=OmniManc@122-57-3-202.jetstream.xtra.co.nz] has joined #lisp 23:51:10 like iterating on the symbols of a package and importing them... and then staring at the screen what's wrong: you need to (import (list symbol)) to make it work when cl:nil is encountered... :) 23:51:27 DESCRIBE merely gives the superclasses, subclasses, CPL, and number of specialized methods. 23:51:33 Zhivago: Ah, yes, true. 23:51:44 nyef, iirc class-slots works on them... 23:51:54 on sbcl, that is 23:52:26 attila_lendvai: Yeah, just found it. Icky output, and is in sb-mop, which is kindof unexpected. 23:52:37 -!- osaunders [n=osaunder@78.149.138.42] has quit ["Bye"] 23:53:32 nyef, use fuzzy completion... :) sb:-slots 23:55:00 nyef: another way is to go over the classoid->layout->defstruct-description 23:55:02 *attila_lendvai* goes to sleep, gn 23:55:40 Okay, next stupid question: Is there an easy way to get a list of all of the layouts in the system? 23:56:04 (Or, more generally, a list of all of the instances of a particular class in the system, if there's no easy method for layouts?) 23:56:07 nyef: you could iterate over all the subclasses? 23:56:58 *nyef* spots sb-vm::map-allocated-objects. 23:57:55 nyef: (sb-kernel:classoid-subclasses (sb-kernel:find-classoid t)) seems cleaner to me (: map-allocated-objects and heap allocation can easily lead to trouble. 23:58:20 nyef: sb-pcl::map-all-classes perhaps? 23:58:28 Okay, thanks.