00:00:05 (some compiler to interpreted code bechmarks were i got the 77% from) 00:00:30 doesn't windows use utf-16 by default systemwide? 00:00:41 or does that vary between windows releases.. 00:00:54 well personally i think JVM lisps have an edge when it comes to threading.. not fully an edge but equality quicker 00:01:21 -!- OmniMancer [~OmniMance@202.36.179.65] has quit [Ping timeout: 252 seconds] 00:01:43 dmiles_afk: why is that? 00:01:56 a Q i have are lexical symbols supposed to be vissible between threads 00:02:03 btw, we are relying a lot on dynamic closures holding thread-local stuff 00:02:28 erm specials i meant 00:02:53 everything I've seen seems to apply best to keeping them thread-local 00:02:59 in that tyhe JVM has optimized their thread switching as mch as they can 00:03:17 ie, bound within the execution scope of the 'let' clause etc 00:03:28 and exposed oit the best they code.. so a reliable infrastructure is there (they are not green) 00:03:29 now, if you spawn threads from inside a let... idunno 00:03:56 i am thinking of extenbding the enviromnet at each child thread 00:04:13 -!- bizarrefish [~lee@host86-160-44-109.range86-160.btcentralplus.com] has quit [Ping timeout: 276 seconds] 00:04:16 and a childs child etc 00:04:36 udzinari [~user@209.158.broadband13.iol.cz] has joined #lisp 00:04:45 saikat [~saikat@99.13.242.166] has joined #lisp 00:04:47 that is how it basically is done at moment but they extends Main 00:04:58 that is how it basically is done at moment but they extend only the intial 00:05:33 so if someone in main defspecials and then someone else spawns a new hread.. that special is local to tht thread 00:05:36 bizarrefish [~lee@host86-160-44-109.range86-160.btcentralplus.com] has joined #lisp 00:06:04 is how it is now 00:06:11 right, that seems sane 00:06:59 but techically there is no reason it always uses the toplevelmain thread for that home 00:07:26 right, special A, spawn thread which does special B & spawn thread 00:08:06 then later, special C is declared in main 00:09:06 so in A,B,C is all special on the childs spawn 00:09:22 or would the child not see C? 00:09:32 because it wasn't in the context when it was spawned? 00:09:39 right now it would see C.. wich makes sense 00:09:40 OmniMancer [~OmniMance@202.36.179.65] has joined #lisp 00:10:01 since it was defined in A.. and the walk is always up to main 00:10:12 since it was defined in main.. and the walk is always up to main 00:10:29 -!- OmniMancer1 [~OmniMance@202.36.179.65] has quit [Ping timeout: 258 seconds] 00:10:32 but yeah thats the Q i have 00:11:43 was making C special a repair/imporvemnt for prevoius code? 00:12:11 or did making C special start to break prevois code? 00:12:15 seeing as Erlang has warped my brain irrevokably, I'd say that C would be hidden from the older children :) 00:12:22 OmniMancer1 [~OmniMance@202.36.179.65] has joined #lisp 00:12:34 -!- milanj [~milan@109.93.202.150] has quit [Quit: Leaving] 00:12:36 special C from main would be a different variable than special C declared later in a child 00:13:01 but I have no idea how other lisps generally handle that 00:13:29 if I were doing this to make a "proper" CL, I'd make all sorts of weird test cases and try it in the other CLs to see how they behave 00:13:35 the REPL wich is currely Main.. its funny the user doesnt think he is messing with thread childs envs 00:14:10 -!- OmniMancer [~OmniMance@202.36.179.65] has quit [Ping timeout: 264 seconds] 00:14:16 erm doesnt/shouldnt? have to think they are messing with the threads he has spawn in scarey ways 00:14:31 right, my idea would definitely bring in ordering issues 00:15:17 *Phoodus* keeps misspelling "ignoreable" for some reason 00:15:53 yerah that is what has to be done is some test cases 00:16:41 benny [~benny@i577A8381.versanet.de] has joined #lisp 00:17:36 -!- pavelludiq [~quassel@91.139.197.173] has quit [Read error: Connection reset by peer] 00:18:30 http://libomv.pastebin.ca/1850957 <- here is one 00:18:40 oh lisppasteis back 00:20:06 dmiles pasted "On unit test" at http://paste.lisp.org/display/96807 00:21:41 actulalty it devides processes and threads.. process use enviromnets.. threads can as well 00:21:49 -!- joast [~rick@76.178.178.72] has quit [Read error: Operation timed out] 00:22:21 sleep(2000) i just to make sure the process got created and done its business 00:24:37 -!- mega1 [~quassel@3e44a43b.adsl.enternet.hu] has quit [Ping timeout: 264 seconds] 00:24:44 _mathrick [~mathrick@users177.kollegienet.dk] has joined #lisp 00:25:31 -!- mathrick [~mathrick@users177.kollegienet.dk] has quit [Read error: Connection reset by peer] 00:25:52 ekpneo_ [~ekpneo@r33t.real-ity.com] has joined #lisp 00:25:55 TR2N [email@89-180-237-84.net.novis.pt] has joined #lisp 00:26:35 ianmcorvidae|alt [~ianmcorvi@fsf/member/ianmcorvidae] has joined #lisp 00:27:05 dnolen [~dnolen@pool-71-247-120-94.nycmny.east.verizon.net] has joined #lisp 00:27:10 -!- _mathrick is now known as mathrick 00:27:14 sepult` [~user@xdsl-87-78-103-4.netcologne.de] has joined #lisp 00:27:35 p_l: well, basically i think cliki serves a valuable purpose for the free software lisp community, and the ALU is for the greater lisp community. mixing the two takes away from the purpose of cliki, imo. 00:28:43 drewc: I think a single wiki might be better, otoh, I'm not someone who tries to be "open source uber alles" 00:28:52 joast [~rick@76.178.178.72] has joined #lisp 00:29:12 nullman [~nullman@c-75-73-150-26.hsd1.mn.comcast.net] has joined #lisp 00:29:19 johs_ [~johs@hawk.netfonds.no] has joined #lisp 00:29:27 (processes use a same lisp thread as its creator but a differnt OS thread) 00:29:31 i'm not either, but cliki is not mine... it belongs to the free software lisp community :) 00:29:51 dmiles_afk: so you've got 2 separate thread APIs? 00:30:07 so two processes can work conncuently on one lisp thread 00:30:15 Phoodus: yes 00:30:16 cmm- [~cmm@bzq-79-179-200-186.red.bezeqint.net] has joined #lisp 00:30:25 drewc: still, a single, unified point might be a good chance for "community building" which IMHO won't really work with polarisation between proprietary and commercial. 00:31:00 -!- TeMPOraL [~temporal@188.146.185.234.nat.umts.dynamic.eranet.pl] has quit [Quit: good night .•«UPP»•.] 00:31:05 pr [~pr@109.74.204.63] has joined #lisp 00:31:05 -!- pr [~pr@109.74.204.63] has quit [Changing host] 00:31:05 pr [~pr@unaffiliated/pr] has joined #lisp 00:31:11 billstclai [~billstcla@gw3.tacwap.org] has joined #lisp 00:31:24 -!- plutonas [~plutonas@port-92-195-125-91.dynamic.qsc.de] has quit [Ping timeout: 260 seconds] 00:31:24 -!- nullman` [~nullman@c-75-73-150-26.hsd1.mn.comcast.net] has quit [Ping timeout: 260 seconds] 00:31:24 -!- johs [~johs@hawk.netfonds.no] has quit [Ping timeout: 260 seconds] 00:31:24 -!- ekpneo [~ekpneo@r33t.real-ity.com] has quit [Ping timeout: 260 seconds] 00:31:24 -!- sepult [~user@xdsl-87-78-103-4.netcologne.de] has quit [Ping timeout: 260 seconds] 00:31:24 -!- ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has quit [Ping timeout: 260 seconds] 00:31:24 -!- Stattrav [~Stattrav@202.3.77.161] has quit [Ping timeout: 260 seconds] 00:31:25 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Ping timeout: 260 seconds] 00:31:25 -!- ve [~a@smith.xen.tardis.ed.ac.uk] has quit [Ping timeout: 260 seconds] 00:31:25 -!- cmm [~cmm@bzq-79-179-200-186.red.bezeqint.net] has quit [Ping timeout: 260 seconds] 00:31:25 -!- synthasee [~synthase@adsl-220-187-4.mob.bellsouth.net] has quit [Ping timeout: 260 seconds] 00:31:25 -!- pr_ [~pr@109.74.204.63] has quit [Ping timeout: 260 seconds] 00:31:27 processes are pretty much like OS threads .. they secrelty have tehir own lisp thread.. but all the side effects take place on their parents 00:32:00 on the lisp thread that is their parent on their secret thread 00:32:32 the secret lisp thread is really isnt a thread but a env-holder 00:32:35 ve [~a@smith.xen.tardis.ed.ac.uk] has joined #lisp 00:32:50 but all env-holders are called threads effectely 00:32:53 p_l: part of me agrees, and if Franz and LW were to pay me, i'd consider advertising their products. Free software users, OTOH, have donated to keep this things running, and changing the purpose of cliki is simply not something i feel it's within my rights to do. 00:32:58 -!- billstclai is now known as billstclair 00:33:03 -!- billstclair [~billstcla@gw3.tacwap.org] has quit [Changing host] 00:33:03 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 00:33:22 synthasee [~synthase@adsl-220-187-4.mob.bellsouth.net] has joined #lisp 00:33:24 -!- _bakkdoor [~bakkdoor@s15229144.onlinehome-server.info] has left #lisp 00:33:26 Stattrav [~Stattrav@202.3.77.161] has joined #lisp 00:34:09 -!- kpreid [~kpreid@rrcs-208-125-208-82.nys.biz.rr.com] has quit [Quit: kpreid] 00:34:23 so thinking letting the API understand a all 3 (process thread threads-holder-env) in a separate way compatibly backwards to the make-process and make-thread 00:34:24 drewc: I'm not thinking of advertising - my main point was to integrate the data that wasn't related to them, then leave information (like comparison between available implementations) 00:35:12 actually Phoodus, any special extra features larkc gives you want to make sure SBCL can do it to 00:35:31 wormwood_ [~wormwood@pool-141-155-34-124.ny325.east.verizon.net] has joined #lisp 00:35:49 i know larkc is faster than some commercial lisps.. but not sure about SBCL 00:35:56 so what is make-thread in this context, a "clean" lisp environment that doesn't share with the launched lisp? 00:36:16 p_l: well, the other issue is one of history. The ALU is to have nothing to do with cliki. period. Also, there has been debate on the subject, and at the time the cliki users decided that material such as the Road to Lisp didn't belong on cliki. 00:36:18 legumbre_ [~leo@r190-135-34-177.dialup.adsl.anteldata.net.uy] has joined #lisp 00:36:26 OmniMancer [~OmniMance@202.36.179.65] has joined #lisp 00:36:32 the ALU wiki was created to provide a home. 00:36:36 when lisp starts.. lets say main is clean.. and can be kept clean.. then all childs techically are clean 00:36:55 make-thread vs make-process 00:36:58 now, there is nothing that stops cliki pages from linking to alu pages 00:37:21 -!- wormwood [~wormwood@pool-70-19-33-180.ny325.east.verizon.net] has quit [Ping timeout: 268 seconds] 00:37:27 and a decent wiki engine might even do it automagically. 00:37:39 -!- OmniMancer1 [~OmniMance@202.36.179.65] has quit [Ping timeout: 240 seconds] 00:38:01 make-proccess says .. with this lisp thread.. run a sidetask on this thread.. but if he lets over *standard-ooutput* dont let him hange ours 00:38:12 -!- legumbre [~leo@r190-135-47-129.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 252 seconds] 00:38:40 p_l: if you want to open up the debate again, and see if there is a different consensus, i'm not against the idea. 00:38:44 so defspecial and deflexical disticntion became important 00:38:46 I'm just telling you why it is like it is 00:40:34 wormwood [~wormwood@pool-141-155-168-183.ny325.east.verizon.net] has joined #lisp 00:40:39 Phoodus: but let him change our lexical enviroment 00:40:40 otoh, from where I sit, I don't see ALU doing much... 00:40:59 Phoodus: him = the make-process 00:41:14 p_l: running ILC 00:41:15 i am not sure many lisps give this much control.. or do they? 00:41:45 Xach: that was the only think I could recall, and one that, so far, I'm rather "far" from attending :) 00:41:47 the extent of my knowledge is that dynamic bindings are generally implemented as thread-local 00:41:55 -!- wormwood_ [~wormwood@pool-141-155-34-124.ny325.east.verizon.net] has quit [Ping timeout: 276 seconds] 00:41:59 -!- HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has quit [Quit: This computer has gone to sleep] 00:42:01 i ussualy am talking becasue i expect to be corrected 10% of the time ..usually via common sense :) 00:42:22 yeah i not sure myself 00:42:37 nyef, not sure about the implications, tbh 00:42:37 Fade, lambda-the-ultimate has a very recent post about it. 00:42:38 http://www.cs.brown.edu/people/acb/codebubbles_site.htm 00:43:27 when i talk in here i ussualy go from 10%-50% :) 00:43:50 Uhhuh, it appears leaving a NX session pointing at a screen with ircII terminal isn't such a great idea. 00:43:56 -!- abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has quit [Quit: Leaving.] 00:44:15 -!- sepult` is now known as sepult 00:44:17 schoppenhauer [~css@unaffiliated/schoppenhauer] has joined #lisp 00:46:48 -!- nunb [~nundan@122.162.146.176] has quit [Quit: This computer has gone to sleep] 00:48:53 kpreid [~kpreid@rrcs-208-125-208-82.nys.biz.rr.com] has joined #lisp 00:49:43 -!- grouzen [~grouzen@91.214.124.2] has quit [Ping timeout: 276 seconds] 00:50:10 (setf afk :food) 00:50:18 T 00:50:23 :food 00:50:44 -!- kpreid [~kpreid@rrcs-208-125-208-82.nys.biz.rr.com] has quit [Client Quit] 00:50:44 maden_ [~maden@dsl-153-45.aei.ca] has joined #lisp 00:51:47 -!- maden [~maden@dsl-153-45.aei.ca] has quit [Ping timeout: 246 seconds] 00:53:11 (call/cc #'eat ...) ? 00:53:11 rme [~rme@pool-70-105-117-176.chi.dsl-w.verizon.net] has joined #lisp 00:54:12 a big (most important?) usecase is that you can have lisp threads that complete deviginization is scoped to only code that you loaded to being available to them... that work independantly w/o interfering if they fmakeunbound each others symbols 00:54:28 QinGW [~daf70592@gateway/web/freenode/x-hhsldnbukcjzcskg] has joined #lisp 00:55:21 mejja [~user@c-68b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #lisp 00:58:28 OmniMancer1 [~OmniMance@202.36.179.65] has joined #lisp 00:58:42 -!- legumbre_ is now known as legumbre 01:00:07 -!- OmniMancer [~OmniMance@202.36.179.65] has quit [Ping timeout: 276 seconds] 01:00:39 -!- dralston [~dralston@S010600212986cca8.va.shawcable.net] has quit [Quit: Leaving] 01:01:52 -!- enthymeme [~kraken@130.166.209.7] has quit [Quit: rcirc on GNU Emacs 23.1.1] 01:05:07 rpg_ [~rpg@216.243.156.16.real-time.com] has joined #lisp 01:08:01 -!- Yuuhi [benni@p5483C02E.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:08:41 -!- rpg [~rpg@216.243.156.16.real-time.com] has quit [Ping timeout: 265 seconds] 01:10:13 -!- yauz [~als@175-146.104-92.cust.bluewin.ch] has quit [Ping timeout: 264 seconds] 01:23:02 timlarson [~timlarson@cpe-24-93-193-199.neo.res.rr.com] has joined #lisp 01:24:05 -!- saikat [~saikat@99.13.242.166] has quit [Quit: saikat] 01:25:52 how can I do something like echo "(print 5)" | clisp and get only 5 as the output? 01:26:01 I know -q and --quiet that turn off the banner, 01:26:20 but a prompt still is printed and 5 is printed on two lines 01:27:55 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 01:29:23 -!- entropi [~entropi@nat/intel/x-uvxoagidndmztlla] has quit [Quit: Leaving] 01:31:16 clisp -q -x "(progn (princ 5) (values))" 01:31:26 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 01:32:47 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Ping timeout: 260 seconds] 01:33:51 thanks...very close, just one extra newline (an extra blank line) 01:34:54 cut 01:39:58 -!- cmatei [~cmatei@95.76.18.242] has quit [Ping timeout: 258 seconds] 01:43:34 what do you mean by cut? 01:43:45 lacerate 01:44:44 man: cut 01:44:45 http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/cut.1.html 01:45:25 thanks, I thought it was a lisp reference 01:45:28 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 01:46:30 cut is wrong.. head -1 01:47:24 (or rather, head -n -1 .. isn't UNIX great) 01:47:58 clisp -q -x "(progn (princ 5) (values))" | head -n -1 01:48:02 works great, thanks :) 01:48:03 -!- OmniMancer1 [~OmniMance@202.36.179.65] has quit [Ping timeout: 252 seconds] 01:50:25 fihi09``` [~user@pool-96-224-39-41.nycmny.east.verizon.net] has joined #lisp 01:53:03 hmm, I suspect head would interfere with interactive programs...is there a way to get clisp to not issue the extra newline on its own? 01:54:07 -!- fihi09`` [~user@pool-96-224-45-167.nycmny.east.verizon.net] has quit [Ping timeout: 265 seconds] 01:54:46 Ugh, C++ code is way too repetitive to look at. 01:56:44 -!- Jabberwockey [~jens@port-5140.pppoe.wtnet.de] has quit [Remote host closed the connection] 01:59:35 troussan [~user@c-71-195-63-115.hsd1.mn.comcast.net] has joined #lisp 01:59:55 stassats` [~stassats@wikipedia/stassats] has joined #lisp 02:01:39 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 258 seconds] 02:02:13 -!- dreish [~dreish@minus.dreish.org] has quit [Quit: dreish] 02:03:27 redline6561 [~redline@c-66-56-16-250.hsd1.ga.comcast.net] has joined #lisp 02:04:22 OmniMancer [~OmniMance@202.36.179.65] has joined #lisp 02:05:31 -!- carlocci [~nes@93.37.201.221] has quit [Quit: eventually IE will rot and die] 02:07:29 -!- Odin- [~sbkhh@s121-302.gardur.hi.is] has quit [Quit: Odin-] 02:07:30 using a here file produces the extra newline also 02:08:04 but using a file does not: clisp -q sample.lisp 02:08:32 I wonder why clisp treats an expression different than a file in this way 02:08:52 hugod_ [~hugod@bas1-montreal50-1279442226.dsl.bell.ca] has joined #lisp 02:08:52 -!- hugod [~hugod@bas1-montreal50-1279442226.dsl.bell.ca] has quit [Read error: Connection reset by peer] 02:10:08 saikat [~saikat@c-71-202-153-244.hsd1.ca.comcast.net] has joined #lisp 02:10:45 -!- schoppenhauer [~css@unaffiliated/schoppenhauer] has quit [Remote host closed the connection] 02:10:46 dralston [~dralston@S010600212986cca8.va.shawcable.net] has joined #lisp 02:12:36 drewc: regarding stuff other than political (as that's what I see the ALU wiki/Cliki split), I was thinking of mainly working on augmenting the way Cliki displays its pages (it really has horrible look&feel) and adding features like explicit tagging and templates. 02:14:45 -!- Algid [~coderaven@c-71-237-204-74.hsd1.or.comcast.net] has quit [Quit: Leaving] 02:15:03 p_l: if you're going to do things to Cliki, you might want to integrate improvements I once did for the TUNES Cliki. 02:15:32 or then again, not. 02:15:36 Fare: I know that drewc wanted the new one to be based on ucliki 02:17:56 neoesque [~neoesque@210.59.147.232] has joined #lisp 02:19:11 -!- mindCrime [~chatzilla@rrcs-70-62-112-146.midsouth.biz.rr.com] has quit [Ping timeout: 260 seconds] 02:23:01 -!- smanek [~smanek@static-71-249-221-129.nycmny.east.verizon.net] has quit [Quit: This computer has gone to sleep] 02:24:00 anyone have a recommendation for a quick intro to compiler design? 02:24:24 Ralith, the icarus scheme papers are not bad 02:24:55 Appel's Compiling with Continuations is good, too. 02:25:19 then there are plenty of papers about Haskell. 02:25:29 Kavinorum [~kavinorum@pool-74-103-119-154.bltmmd.fios.verizon.net] has joined #lisp 02:25:48 If your thing is optimization, you might want to read about Abstract Interpretation, too. 02:26:57 SandGorgon [~OmNomNomO@122.162.124.26] has joined #lisp 02:27:07 how do I make a dotted pair using (list) 02:27:14 you don't. 02:27:46 Fare: thanks 02:27:49 Kavinorum: (cons 1 2) 02:28:06 aha, ok, hmm 02:28:18 i have to use list 02:29:42 good luck! 02:29:55 lol 02:30:11 Fare: where can I find the ikarus papers? 02:30:41 Ralith, google for it. Otherwise, LtU has plenty of stuff to ponder. 02:30:41 i mean its probably possible otherwise my teacher wouldnt assign it right? 02:30:53 maybe its a scheme only thing though 02:31:11 Kavinorum, 1- we don't do homework, 2- we don't have enough context to answer. 02:31:55 i'm not asking you to do my homework, I just have to create given s-expressions using cons only and list only 02:32:19 Fare: ah, found it 02:32:19 can you use let? call/cc? set!? set-cdr!? 02:32:32 nope 02:32:38 its extremely simple 02:32:46 cons will do it, not list. 02:33:43 specifically, An Incremental Approach to Compiler Construction 02:33:54 which, from the abstract, sounds like exactly what I want. 02:34:01 thanks again ^^ 02:39:27 are you going to write yet another Lisp compiler? 02:39:54 -!- mathrick [~mathrick@users177.kollegienet.dk] has quit [Read error: Connection reset by peer] 02:40:14 mathrick [~mathrick@users177.kollegienet.dk] has joined #lisp 02:41:08 -!- vsync [~vsync@24.173.173.82] has quit [Ping timeout: 258 seconds] 02:41:10 vsync [~vsync@24.173.173.82] has joined #lisp 02:41:51 Fare: I'm going to play with implementing my own dialect. 02:42:05 so, yes I suppose? 02:42:16 enthymeme [~kraken@cpe-98-148-35-51.socal.res.rr.com] has joined #lisp 02:43:18 ok. 02:43:25 What makes your dialect interesting? 02:43:35 does it have continuations? linear types? 02:43:56 a programmable type system? 02:44:02 at first, at least, I plan on using it to better understand what's already commonplace 02:44:18 -!- c|mell [~cmell@cpc5-acto1-0-0-cust620.4-2.cable.virginmedia.com] has quit [Ping timeout: 248 seconds] 02:44:58 if I can get something functional but 'boring' working, then I hope to start playing with type systems 02:45:57 with an initial goal of emulating something like Haskell's, i.e. HM static type inference, within an incremental compiler. 02:45:59 -!- lordakinator [~igaray@190.97.33.72] has quit [Quit: (bye)] 02:46:31 I'm not sure what linear types are or a programmable type system is. 02:46:56 What about helping an existing project, then, and give it a compiler? 02:47:03 have you got a suggestion? 02:47:16 Ralith, linear types, see hbaker about CONS SHOULD NOT CONS. 02:47:27 -!- SandGorgon [~OmNomNomO@122.162.124.26] has quit [Ping timeout: 252 seconds] 02:47:31 programmable type system, see Qi. 02:47:46 -!- vsync [~vsync@24.173.173.82] has quit [Ping timeout: 264 seconds] 02:47:49 linear types, see also Clean. 02:48:03 I'm not aware of any existing projects with similar long term goals, and in the short term I'd like to learn the basics that are already done in most existing projects. 02:48:14 LtU has something about linear non-commutative types, too. 02:48:32 you are really loading me up with reading material here :x 02:48:39 I'm sure the Slate guys would love a compiler. 02:48:51 *Ralith* googles 02:50:13 brad` [~user@72.89.124.7] has joined #lisp 02:50:18 -!- brad` [~user@72.89.124.7] has quit [Client Quit] 02:50:45 looks interesting. Not sure how closely it coincides with my goals, or how well it would work as an introduction to the field of compiler design and implementation. 02:50:58 -!- QinGW [~daf70592@gateway/web/freenode/x-hhsldnbukcjzcskg] has quit [Ping timeout: 252 seconds] 02:51:07 if you're reading about linear types, of course don't miss abawden's thesis. 02:51:11 reprore [~reprore@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 02:51:14 gko [~gko@211.22.47.2] has joined #lisp 02:51:30 for one, I was planning on something rather lighter on syntax and heavier on lispiness. 02:52:11 I'm just saying, a Lisp with good linear type support is what we need to snub the performance race out of the C lovers. 02:52:24 ooh. 02:52:28 in that case I *am* interested in linear typing. 02:52:38 vsync [~vsync@24.173.173.82] has joined #lisp 02:52:44 as that's something I'd love to pull off. 02:52:50 brb for food. 02:53:31 -!- mejja [~user@c-68b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 02:53:44 -!- Fare [~Fare@ita4fw1.itasoftware.com] has quit [Quit: Leaving] 02:55:55 -!- sepult [~user@xdsl-87-78-103-4.netcologne.de] has quit [Read error: Connection reset by peer] 02:58:35 sepult [~user@xdsl-87-78-103-4.netcologne.de] has joined #lisp 03:03:46 -!- troussan [~user@c-71-195-63-115.hsd1.mn.comcast.net] has quit [Remote host closed the connection] 03:03:54 -!- tali713 [~user@c-71-195-45-159.hsd1.mn.comcast.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 03:12:20 kejsaren [~kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 03:12:21 *Ralith* returns 03:13:35 abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has joined #lisp 03:15:00 -!- kejsaren_ [~kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Ping timeout: 276 seconds] 03:18:11 -!- abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has quit [Client Quit] 03:36:44 bipt [~bpt@cl-851.chi-02.us.sixxs.net] has joined #lisp 03:37:26 -!- neoesque [~neoesque@210.59.147.232] has quit [Remote host closed the connection] 03:43:14 OmniMancer1 [~OmniMance@202.36.179.65] has joined #lisp 03:43:53 -!- OmniMancer [~OmniMance@202.36.179.65] has quit [Ping timeout: 240 seconds] 03:46:30 OmniMancer [~OmniMance@202.36.179.65] has joined #lisp 03:47:57 -!- OmniMancer1 [~OmniMance@202.36.179.65] has quit [Ping timeout: 252 seconds] 03:57:03 -!- Ralith [~ralith@69.90.48.97] has quit [Read error: No route to host] 03:58:06 -!- dnolen [~dnolen@pool-71-247-120-94.nycmny.east.verizon.net] has quit [Quit: dnolen] 03:58:34 -!- TR2N [email@89-180-237-84.net.novis.pt] has quit [Ping timeout: 264 seconds] 04:00:50 Ralith [~ralith@69.90.48.97] has joined #lisp 04:01:23 -!- potatishandlarn [~potatisha@c-4f6643cb-74736162.cust.telenor.se] has quit [] 04:01:48 -!- kejsaren [~kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Ping timeout: 276 seconds] 04:03:45 -!- ikki [~ikki@201.155.75.146] has quit [Ping timeout: 276 seconds] 04:04:19 X-Scale [email@89-180-145-101.net.novis.pt] has joined #lisp 04:08:13 -!- X-Scale is now known as TR2N 04:08:50 -!- thijso [~thijs@83.98.233.115] has quit [Ping timeout: 246 seconds] 04:11:16 skv [~alx@076-076-146-016.pdx.net] has joined #lisp 04:12:28 SandGorgon [~OmNomNomO@122.160.41.129] has joined #lisp 04:13:46 dturk [~derrick@99-66-137-184.lightspeed.hstntx.sbcglobal.net] has joined #lisp 04:14:50 smanek [~smanek@cpe-98-14-140-77.nyc.res.rr.com] has joined #lisp 04:18:07 ikki [~ikki@200.95.162.219] has joined #lisp 04:19:05 -!- dturk [~derrick@99-66-137-184.lightspeed.hstntx.sbcglobal.net] has left #lisp 04:21:50 -!- DrForr_ [~drforr@pool-173-58-135-135.lsanca.fios.verizon.net] has quit [Ping timeout: 268 seconds] 04:22:28 -!- OmniMancer [~OmniMance@202.36.179.65] has quit [Quit: Leaving.] 04:23:25 DrForr [~drforr@pool-173-58-135-135.lsanca.fios.verizon.net] has joined #lisp 04:31:30 dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 04:31:57 -!- Tril [~tril@bespin.org] has left #lisp 04:35:22 -!- reprore [~reprore@ntkngw227224.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 04:40:03 bradb [~bradb@S0106002369f13168.vc.shawcable.net] has joined #lisp 04:45:25 OmniMancer [~OmniMance@122-57-7-172.jetstream.xtra.co.nz] has joined #lisp 04:53:43 -!- SandGorgon [~OmNomNomO@122.160.41.129] has quit [Read error: Connection reset by peer] 04:54:31 sid_ [~sid@192.163.20.231] has joined #lisp 04:55:10 leifw [~user@ool-18bfe51c.dyn.optonline.net] has joined #lisp 04:55:55 spradnyesh [~pradyus@nat/yahoo/x-iynmlxeczguzrokk] has joined #lisp 04:59:08 nikodemus [~nikodemus@cs181201111.pp.htv.fi] has joined #lisp 05:02:15 sid__ [~sid@192.163.20.231] has joined #lisp 05:02:16 -!- sid_ [~sid@192.163.20.231] has quit [Remote host closed the connection] 05:06:02 -!- clop [~jared@moat3.centtech.com] has quit [Ping timeout: 258 seconds] 05:07:36 -!- bradb [~bradb@S0106002369f13168.vc.shawcable.net] has left #lisp 05:09:06 clop [~jared@moat3.centtech.com] has joined #lisp 05:11:19 -!- goosemo [~goosemo@d60-65-112-181.col.wideopenwest.com] has quit [Ping timeout: 245 seconds] 05:12:47 SandGorgon [~OmNomNomO@122.160.41.129] has joined #lisp 05:13:21 thijso [~thijs@83.98.233.115] has joined #lisp 05:14:05 jewel [~jewel@vc-41-30-252-86.umts.vodacom.co.za] has joined #lisp 05:15:38 leifw` [~user@ool-45721672.dyn.optonline.net] has joined #lisp 05:16:23 -!- mooglenorph [~marco@173-9-7-10-New-England.hfc.comcastbusiness.net] has quit [Ping timeout: 246 seconds] 05:17:09 -!- leifw [~user@ool-18bfe51c.dyn.optonline.net] has quit [Ping timeout: 245 seconds] 05:17:25 -!- marioxcc [~user@200.92.23.113] has quit [Ping timeout: 264 seconds] 05:18:22 mooglenorph [~marco@173-9-7-10-New-England.hfc.comcastbusiness.net] has joined #lisp 05:19:08 -!- maden_ [~maden@dsl-153-45.aei.ca] has quit [Read error: Connection reset by peer] 05:20:43 -!- skv [~alx@076-076-146-016.pdx.net] has quit [Quit: Ex-Chat] 05:21:23 goosemo [~goosemo@d60-65-112-181.col.wideopenwest.com] has joined #lisp 05:25:09 -!- dralston [~dralston@S010600212986cca8.va.shawcable.net] has quit [Quit: Leaving] 05:25:34 -!- rrice [~rrice@adsl-99-164-42-2.dsl.akrnoh.sbcglobal.net] has quit [Quit: Leaving.] 05:26:11 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 05:30:48 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Remote host closed the connection] 05:31:20 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 05:36:29 -!- saikat [~saikat@c-71-202-153-244.hsd1.ca.comcast.net] has quit [Quit: saikat] 05:36:44 -!- thijso [~thijs@83.98.233.115] has quit [Ping timeout: 245 seconds] 05:37:01 -!- jordyd [~jordyd@99-177-65-75.lightspeed.wepbfl.sbcglobal.net] has quit [Ping timeout: 276 seconds] 05:37:11 mishoo [~mishoo@95.233.108.37] has joined #lisp 05:38:37 thijso [~thijs@83.98.233.115] has joined #lisp 05:39:42 saikat [~saikat@c-71-202-153-244.hsd1.ca.comcast.net] has joined #lisp 05:44:06 Kolyan [~nartamono@95-26-61-229.broadband.corbina.ru] has joined #lisp 05:45:47 -!- bandu [~unf@99-6-151-42.lightspeed.rcsntx.sbcglobal.net] has quit [Quit: KVIrc Insomnia 4.0.0, revision: , sources date: 20090520, built on: 2009/06/08 19:18:46 UTC http://www.kvirc.net/] 05:47:13 -!- jewel [~jewel@vc-41-30-252-86.umts.vodacom.co.za] has quit [Ping timeout: 258 seconds] 05:52:28 -!- jrockway [~jrockway@stonepath.jrock.us] has quit [Ping timeout: 246 seconds] 05:54:10 -!- tmitt [seg@wizardly.us] has quit [Ping timeout: 248 seconds] 05:54:25 pookleblinky [~pookle@cpe-67-252-140-159.buffalo.res.rr.com] has joined #lisp 05:55:36 tmitt [seg@wizardly.us] has joined #lisp 05:57:46 toekutr [~toekutr@adsl-69-107-143-127.dsl.pltn13.pacbell.net] has joined #lisp 06:01:31 -!- thijso [~thijs@83.98.233.115] has quit [Remote host closed the connection] 06:01:47 Axius [~hi@92.82.74.113] has joined #lisp 06:01:47 thijso [~thijs@83.98.233.115] has joined #lisp 06:02:46 -!- Axius [~hi@92.82.74.113] has quit [Read error: Connection reset by peer] 06:06:23 cmatei [~cmatei@95.76.18.242] has joined #lisp 06:06:49 -!- Anarch [~olaf@c-67-171-37-107.hsd1.wa.comcast.net] has quit [Quit: WILL TROLL FOR FOOD] 06:07:11 sid_ [~sid@192.163.20.231] has joined #lisp 06:07:19 -!- sid__ [~sid@192.163.20.231] has quit [Remote host closed the connection] 06:08:54 reprore [~reprore@2002:7230:85ca:12:21e:c2ff:feb4:2a5d] has joined #lisp 06:09:08 -!- reprore [~reprore@2002:7230:85ca:12:21e:c2ff:feb4:2a5d] has quit [Remote host closed the connection] 06:11:00 -!- pragma_ is now known as fooprag 06:11:28 _nixman [~aurorakay@114.92.98.204] has joined #lisp 06:12:32 -!- fooprag is now known as pragma_ 06:13:17 -!- mishoo [~mishoo@95.233.108.37] has quit [Ping timeout: 258 seconds] 06:13:48 <_nixman> hi,all. how to set a function return a value like "return value;" in C programe. 06:14:16 _nixman: the value of the last form is returned. 06:15:09 <_nixman> Ralith: roger.thx. 06:17:01 mishoo [~mishoo@95.233.108.37] has joined #lisp 06:18:06 -!- SandGorgon [~OmNomNomO@122.160.41.129] has quit [Read error: Connection reset by peer] 06:20:03 Deesl [~bsdboy@unaffiliated/deesl] has joined #lisp 06:24:34 -!- ikki [~ikki@200.95.162.219] has quit [Ping timeout: 248 seconds] 06:25:04 -!- TR2N [email@89-180-145-101.net.novis.pt] has quit [Ping timeout: 245 seconds] 06:25:32 X-Scale [email@89.180.203.138] has joined #lisp 06:28:18 -!- sbahra [~sbahra@2002:62da:45b3:1234:21d:e0ff:fe00:f7ab] has quit [Quit: Leaving] 06:31:15 -!- ltriant [~ltriant@lithium.mailguard.com.au] has quit [Quit: Computer has gone to sleep] 06:32:10 -!- mishoo [~mishoo@95.233.108.37] has quit [Ping timeout: 264 seconds] 06:33:39 -!- ace4016 [~jmarcelin@adsl-10-135-156.mia.bellsouth.net] has quit [Quit: When there's nothing left to burn, you have to set yourself on fire.] 06:36:39 SandGorgon [~OmNomNomO@122.160.41.129] has joined #lisp 06:37:15 ace4016 [~jmarcelin@adsl-10-135-156.mia.bellsouth.net] has joined #lisp 06:43:35 ikki [~ikki@200.95.162.219] has joined #lisp 06:47:23 sbahra [~sbahra@2002:62da:45b3:1234:21d:e0ff:fe00:f7ab] has joined #lisp 06:52:27 -!- lnostdal [~lnostdal@90.149.113.175] has quit [Ping timeout: 260 seconds] 06:58:45 -!- mbohun [~mbohun@202.124.73.168] has quit [Quit: Leaving] 07:03:01 -!- ichernetsky [~ichernets@195.222.80.123] has quit [Ping timeout: 264 seconds] 07:11:02 -!- seangrove [~user@c-67-188-2-246.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 07:16:38 -!- enthymeme [~kraken@cpe-98-148-35-51.socal.res.rr.com] has quit [Quit: g'night freenode] 07:18:04 _rata_ [~c8594549@gateway/web/freenode/x-ugjzsbpxyfghnykp] has joined #lisp 07:18:13 <_rata_> hi 07:21:13 ichernetsky [~ichernets@195.222.67.69] has joined #lisp 07:21:51 -!- bipt [~bpt@cl-851.chi-02.us.sixxs.net] has quit [Ping timeout: 260 seconds] 07:23:45 -!- deepfire [~deepfire@80.92.100.69] has quit [Ping timeout: 268 seconds] 07:25:32 deepfire [~deepfire@80.92.100.69] has joined #lisp 07:27:10 -!- dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [Quit: dnolen] 07:28:34 mishoo [~mishoo@193.206.22.97] has joined #lisp 07:32:20 ASau` [~user@77.246.231.201] has joined #lisp 07:33:05 Tonijz [~Tonijz@85.254.194.65] has joined #lisp 07:33:30 idurand [~idurand@faucon.labri.fr] has joined #lisp 07:34:17 -!- adu [~ajr@pool-74-96-89-29.washdc.fios.verizon.net] has quit [Quit: adu] 07:38:38 attila_lendvai [~ati@4d6f5d3b.adsl.enternet.hu] has joined #lisp 07:42:34 <_nixman> hi,all. I write a function at http://dpaste.com/175443/ , I want echo the msg and set result of function equal result. but I found, the fomat form can't work well. 07:44:23 <_nixman> fomat === format. at line 9 07:44:27 <_3b> _nixman: #emacs knows more about elisp, this channel is mostly about common lisp 07:44:53 <_nixman> _3b: o,sorry. 07:47:06 -!- SandGorgon [~OmNomNomO@122.160.41.129] has quit [Read error: Connection reset by peer] 07:50:30 is there some cl-org-mode examples? 07:50:55 pjb [~t@81.202.18.80.dyn.user.ono.com] has joined #lisp 07:53:01 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 07:54:51 Athas [~athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined #lisp 07:55:55 -!- lat [~lat@125.167.140.159] has quit [Ping timeout: 260 seconds] 07:56:05 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Read error: Operation timed out] 07:56:09 antoszka [~antoszka@unaffiliated/antoszka] has joined #lisp 07:58:19 minion: memo for _deepfire: Did you see the pure .asd thread on asdf-devel? 07:58:19 Remembered. I'll tell _deepfire when he/she/it next speaks. 07:58:27 -!- Deesl [~bsdboy@unaffiliated/deesl] has quit [Remote host closed the connection] 07:58:45 -!- sid_ [~sid@192.163.20.231] has quit [Remote host closed the connection] 07:59:01 sid_ [~sid@192.163.20.231] has joined #lisp 07:59:34 good morning 08:00:20 kpreid [~kpreid@216-171-189-244.northland.net] has joined #lisp 08:00:59 pavelludiq [~quassel@87.246.29.154] has joined #lisp 08:01:08 etate [~meta@mon69-4-82-228-201-242.fbx.proxad.net] has joined #lisp 08:01:19 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 08:01:23 -!- mathrick [~mathrick@users177.kollegienet.dk] has quit [Ping timeout: 258 seconds] 08:01:31 hey anyone know much about contextl ? 08:01:58 experiencing weird behaviour based on presumably flawed assumptions 08:04:08 xan_ [~xan@155.99.117.91.static.mundo-r.com] has joined #lisp 08:04:21 http://paste.lisp.org/display/96816 08:05:41 myu2 [~myu2@161.90.128.210.bf.2iij.net] has joined #lisp 08:06:22 SandGorgon [~OmNomNomO@122.160.41.129] has joined #lisp 08:12:42 etate: i know quite a bit abou contextl, what's the problem? 08:13:15 lat [~lat@125.167.140.159] has joined #lisp 08:13:55 hello mvilleneuve 08:14:06 -!- sid_ [~sid@192.163.20.231] has quit [Remote host closed the connection] 08:14:13 I read all your suggestions. I'll try to answer soon. 08:14:19 sid_ [~sid@192.163.20.231] has joined #lisp 08:14:27 levente_meszaros [~levente_m@4d6f5d3b.adsl.enternet.hu] has joined #lisp 08:15:03 drewc: i'm creating a layered class which derives from a normal class, yet with-active-layers set to the right layer doesn't let me dletf its slots 08:16:05 mvilleneuve: Essentially: all good ideas, but might be a wast of time if I am to remain the only contributor, though that is of course a chicken-and-egg problem. Ideally, someone other than me should implement (a subset of) your suggestions. 08:16:22 etate: can you explain that again? i know the words you are using, but i don't understand quite what you mean by them. 08:16:26 -!- sid_ [~sid@192.163.20.231] has quit [Remote host closed the connection] 08:16:36 drewc: sure one sec i'm creating a paste 08:16:40 sid_ [~sid@192.163.20.231] has joined #lisp 08:17:14 drewc: see the bottom example in this paste - the top example is errorneous 08:17:14 http://paste.lisp.org/display/96816 08:18:09 -!- nikodemus [~nikodemus@cs181201111.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 08:18:16 etate: is acceptor a layered class 08:18:18 ? 08:18:24 drewc: no 08:18:50 drewc: i derive from it thereby creating a layered class out of it, but acceptor is not itself layered 08:19:17 drewc: btw thanks for pointing me to this library its awesome :) 08:19:36 so you are trying to dynamically bind non-special slots 08:19:37 have you read the contextl papers? 08:19:38 it's pretty cool :) 08:19:50 drewc: yes but they are difficult to parse :) 08:20:03 -!- sid_ [~sid@192.163.20.231] has quit [Remote host closed the connection] 08:20:10 sid_ [~sid@192.163.20.231] has joined #lisp 08:20:23 so, basically, unless a slot is :special t, you can't dletf it... i assume you're getting an error like "blah is not a special place' 08:20:45 drewc: no the error is that the start method of the acceptor class gets called, rather than the layered method 08:21:08 spiaggia: I'd be happy to implement some ideas we would both find useful 08:21:32 mvilleneuve: Great! 08:22:03 (if you're getting an error, it's a good idea to paste that too) 08:22:05 etate: there is already a generic function called START? 08:23:07 drewc: yeah 08:23:49 etate: You can't define a layered method on a standard-generic function. Have you read AMOP? 08:23:51 you're looking for something like : 08:24:04 nikodemus [~nikodemus@cs181201111.pp.htv.fi] has joined #lisp 08:24:05 (defmethod start :around (...) (layered-start ... (lambda (call-next-method)))) 08:24:33 drewc: haven't read AMOP yet, next on my todo list :) 08:25:06 drewc: oh i see so you have to bind normal methods that have a non layered generic function? 08:25:42 etate: you can't define a layered method on a standard generic function 08:26:16 layered methods can only be defined on layered functions 08:26:38 layered functions are defined using DEFINED-LAYERED-FUNCTION 08:27:00 drewc: can layered functions have the same name as generic functions? 08:28:24 no 08:28:25 slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has joined #lisp 08:28:30 how would you call them as functions if they did? 08:28:35 clhs function 08:28:35 http://www.lispworks.com/reference/HyperSpec/Body/a_fn.htm 08:28:40 clhs symbol-function 08:28:41 http://www.lispworks.com/reference/HyperSpec/Body/f_symb_1.htm 08:28:52 tcr, thanks, I chimed in with whatever I came up with declarative .asd interpretation 08:28:53 deepfire, memo from tcr: Did you see the pure .asd thread on asdf-devel? 08:29:05 freiksenet [~freiksene@hoasnet-fe29dd00-202.dhcp.inet.fi] has joined #lisp 08:29:07 functions don't have names, but standard-generic-functions do 08:29:28 and layered-function is a subclass of s-g-f 08:29:55 plutonas [~plutonas@port-92-195-125-91.dynamic.qsc.de] has joined #lisp 08:30:13 tcr, honestly, I think I've ran out of steam with desire, the collective NIH syndrome compounded with total lack of imagination and interest for cooperation killed it for me 08:30:55 -!- smanek [~smanek@cpe-98-14-140-77.nyc.res.rr.com] has quit [Quit: This computer has gone to sleep] 08:31:00 tcr, I found out that I'm pretty bad with communicating people and making the PR efforts required for attaining sustainability 08:31:06 drewc: interesting, thanks :D 08:32:18 Maybe I'll get back to it this year, maybe not. 08:32:28 (functions don't have names.. names have functions) 08:32:29 :P 08:32:37 I can use it and it saves my personal time, so whatever. 08:32:45 etate: (foo bar) <--- how is lisp to know if you mean the generic function foo or the layered-function foo or the function foo? 08:33:17 *deepfire* 08:33:22 drewc: based on the metaclass of foo? 08:33:43 which foo? 08:34:20 drewc: the symbol foo in the current scope 08:34:35 etate: if you could have a layered function and a regular function of the same name.... which is in scope? 08:35:22 etate: if with-active-layers is on, the layered scope, otherwise some other scope? :D 08:35:29 well, 'globally named' .. forget flet and labels :) 08:35:30 -!- smithzv [~smithzv@c-24-9-11-34.hsd1.co.comcast.net] has quit [Remote host closed the connection] 08:35:34 smithzv [~smithzv@c-24-9-11-34.hsd1.co.comcast.net] has joined #lisp 08:35:47 the layered scope? 08:36:11 drewc: the layer created in the with-active-layers macro 08:37:01 i assumed it would be a scope of its own hmm 08:37:21 etate: you're confused... layers are not scopes. 08:37:23 layers are dynamically scoped 08:37:47 functions are statically scoped 08:38:36 drewc: but when you enable a layer with the with-active-layer macro, it uses the scope created in the layer right? 08:38:58 -!- kwinz3 [~kwinz@d86-33-115-57.cust.tele2.at] has quit [Ping timeout: 248 seconds] 08:39:20 etate: you keep using the word 'scope', but i'm not entirely sure it's what you mean to say. 08:39:55 enabling a layer activates it in the dynamic environment. 08:40:06 -!- eldragon [~eldragon@84.79.67.254] has quit [Read error: Connection reset by peer] 08:40:30 simplified (and wrong) (let ((*active-layers* (cons layer *active-layers*))) ...) 08:41:39 eldragon [~eldragon@84.79.67.254] has joined #lisp 08:41:51 drewc: by scope i meant the current accessible environment 08:42:26 drewc: as in (lambda (x) x) where x is in the lexical scope of the lambda 08:44:08 etate: ok, functions are lexically scoped in common lisp. 08:45:07 drewc: okay, so a layered-function has as its meta class a generic-function? 08:45:22 -!- hugod_ [~hugod@bas1-montreal50-1279442226.dsl.bell.ca] has quit [Ping timeout: 248 seconds] 08:45:29 or am i completely confused :D 08:46:00 etate: so (defun foo () 1) (funcall (flet ((foo () 2)) (lambda () (foo)))) => 1 08:46:00 errr 08:46:00 2 08:46:01 damniut 08:46:01 *drewc* gets himeself confused :) 08:47:31 you are completely confused. 08:48:14 a layered function is a subclass of standard-generic-function 08:49:33 the metaclass of a layered-function is FUNCALLABLE-STANDARD-CLASS 08:49:45 hugod [~hugod@bas1-montreal50-1279441684.dsl.bell.ca] has joined #lisp 08:50:02 ah, so they share the same meta class 08:50:37 hhuu [~hhuu@opensuse/member/xwhu] has joined #lisp 08:50:39 but the object it sticks in the symbol-function of the symbol with the same name as the layered-function is just a function, as if defined with DEFUN or LAMBDA 08:50:39 -!- rme [~rme@pool-70-105-117-176.chi.dsl-w.verizon.net] has quit [Quit: rme] 08:51:10 grouzen [~grouzen@91.214.124.2] has joined #lisp 08:51:18 none of this matters really 08:51:24 drewc: so the difference between a function and a generic-function is that they are of a different class? 08:52:00 among other things. that's also the difference between a number and a list..... ;) 08:52:07 kwinz3 [~kwinz@e195-161.eduroam.tuwien.ac.at] has joined #lisp 08:52:13 drewc: wow took me a while to realise this 08:52:51 drewc: its easier to see with a number and a list than a function and generic-function :D 08:53:29 etate: (defun bar ()) #'bar => # 08:54:09 -!- toekutr [~toekutr@adsl-69-107-143-127.dsl.pltn13.pacbell.net] has quit [Quit: Leaving] 08:54:10 etate: (defgeneric baz ()) #'baz # 08:54:48 drewc: so you could quite easily create your own class which had as its metaclass 'funcallable-standard-class, and write your own types of functions 08:55:29 -!- retupmoca [~retupmoca@adsl-99-54-128-83.dsl.klmzmi.sbcglobal.net] has quit [Ping timeout: 246 seconds] 08:55:31 yes 08:55:39 drewc: thats pretty insane 08:56:31 i guess that depends on your definition of sanity 08:57:20 a generic APPLY might be more insance 08:57:30 drewc: hmm im thinking this could be a good way of making a function that dispatches on regular expressions 08:57:32 insane* 08:57:55 minion: tell etate about filtered functions 08:57:56 etate: have a look at filtered functions: Filtered functions provide an extension of generic function invocation that add a simple preprocessing step before the actual method dispatch is performed and thus enable the use of arbitrary predicates for selecting and applying methods. http://www.cliki.net/filtered%20functions 08:58:22 now you've got three problems 08:59:49 drewc: if you define a class whose metaclass is funcallable-function-metaclass, then you miss out on the generic function dispatch given for free from CLOS right? 09:00:35 drewc: as in, if Lisp didn't have generic-functions, there would be no way to resolve method calls and thus no methods? 09:00:56 -!- hhuu [~hhuu@opensuse/member/xwhu] has quit [Quit: hhuu] 09:00:58 -!- Krystof [~csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has quit [Ping timeout: 264 seconds] 09:01:33 drewc: or is standard-funcallable-class etc part of CLOS too 09:02:21 hhuu [~hhuu@opensuse/member/xwhu] has joined #lisp 09:03:32 -!- spacebat [~akhasha@ppp118-210-93-145.lns20.adl2.internode.on.net] has quit [Ping timeout: 246 seconds] 09:04:21 drewc: i think i worded that badly 09:05:05 drewc: what i'm trying to get to is that what advantage does it bring to do the preprocessing step within a generic function rather than a self defined type of function 09:05:27 spacebat [~akhasha@ppp118-210-198-10.lns20.adl6.internode.on.net] has joined #lisp 09:08:19 retupmoca [~retupmoca@adsl-76-235-173-121.dsl.klmzmi.sbcglobal.net] has joined #lisp 09:19:45 etate: generic functions get you multiple dispatch and method combination 09:19:45 otherwise, you'd just use a function 09:19:45 and, say, typecase 09:19:47 -!- drewc [~user@S01060013101b6ddb.vc.shawcable.net] has quit [Remote host closed the connection] 09:20:08 drewc [~user@S01060013101b6ddb.vc.shawcable.net] has joined #lisp 09:22:17 drewc: but all system classes are built on CLOS right, so actually even normal functions are part of CLOS? 09:22:31 (class-of #'+) 09:22:34 as in built on top of 09:22:56 I suggest not thinking about "on top". 09:23:11 CLOS knows about them, which is sufficient. 09:23:26 Those functions don't necessarily know about CLOS, which is fine. 09:24:02 Zhivago: and CLOS knows about them because they are defined in terms of CLOS right? as in system-class is still CLOS? 09:24:21 so its turtles all the way down ? 09:24:25 CLOS knows about them because class-of gives an appropriate answer for them. 09:24:50 Which is a class object that describes them to the extent that CLOS cares. 09:25:36 (Which is not very much, really). 09:26:25 Zhivago: so could you for example remove CLOS and all the system classes would be fine? 09:26:33 and usable? 09:27:00 Well, only clos cares about clos classes ... 09:27:12 jdz [~jdz@85.254.211.133] has joined #lisp 09:27:42 Zhivago: so in other words System classes are the labels CLOS gives to the underlying types? 09:28:01 so if you peel off clos you get the types without the labels + CLOS functionality? 09:28:06 In CLOS a class is an object that describes how various things (its instances) are implemented. 09:28:19 Pretty much. 09:28:42 Understanding this you can then see how you could add CLOS classes to a system without CLOS ... 09:29:00 The key is to think of it in descriptive terms. 09:29:29 Rather than in prescriptive terms. 09:30:27 right because you can figure out the differences between classes and types and then construct CLOS classes on top of the types given the differences noticed 09:30:39 Not on -- beside. 09:31:03 hlavaty [~user@77-22-100-58-dynip.superkabel.de] has joined #lisp 09:31:14 sorry, beside :) 09:31:15 Think of class-of as tapping into some low-level tagging information that tell you how something is implemented. 09:31:53 Think of type-of as telling you about a set of potential objects that it fits into. 09:33:22 but class-of is part of CLOS whereas type-of is part of ? 09:33:47 Well, these are all imaginary lines drawn in the sand -- type-of is used by things other than CLOS. 09:34:02 But they're all part of CL as standardized. 09:34:13 e.g., typecase. 09:35:20 mathrick [~mathrick@users177.kollegienet.dk] has joined #lisp 09:35:22 -!- saikat [~saikat@c-71-202-153-244.hsd1.ca.comcast.net] has quit [Quit: saikat] 09:36:52 Zhivago: hmm thats interesting, typecase views types differently, yet works with clos classes, this is what you mean by being next to each other? (they both see the world differently) 09:37:09 but both work with the same underlying values 09:37:14 Well, each clos class has a type in parallel. 09:37:28 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #lisp 09:39:38 -!- sid_ [~sid@192.163.20.231] has quit [Remote host closed the connection] 09:39:39 deepfire: welcome to the Lisp community :-) 09:39:47 sid_ [~sid@192.163.20.231] has joined #lisp 09:40:30 Zhivago: interesting, when creating a class it creates a type in parallel then? 09:40:37 deepfire: can't see any posting from you yet 09:40:39 Yes. 09:41:02 (defclass foo () ()) (type-of (make-instance 'foo)) 09:41:22 Then (class-of (make-instance 'foo)) 09:41:32 HET2 [~diman@cpc1-cdif12-2-0-cust125.5-1.cable.virginmedia.com] has joined #lisp 09:42:07 so it must use deftype internally to create the class 09:42:32 Well, it can use whatever magical fairy dust it wants to, since defclass is part of the implementation. 09:43:12 ah i see 09:43:38 it can't use deftype; what should it expand to? 09:44:00 Well, it could use satisfies ... 09:44:38 nope I think it can't do even that :-) at least with the standard satisfies 09:44:48 details, details ... 09:44:51 right :-) 09:45:41 so if you wanted to create your own standard-class, it would be difficult because you can't do it with deftype? :D 09:46:24 Well, you could use a structure, I guess. 09:46:50 but they are classes so thats cheating 09:47:04 Not if you don't have clos. 09:47:48 oh, if you dont have CLOS they are types then but not classes 09:47:50 ? 09:48:15 Buggered if I know, but probably they would still have type, but not class. 09:49:38 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 09:49:50 in other words its better to work within CLOS to extend than outside of it because you lose the ability to view values as classes without it? 09:50:12 Depends on what you want to do. 09:50:22 If CLOS can do it well, then use CLOS. :) 09:50:51 Zhivago: if for example you wanted all the types under you to be immutable 09:50:57 sorry, next to you 09:51:15 Nshag [~none@AClermont-Ferrand-551-1-28-130.w86-202.abo.wanadoo.fr] has joined #lisp 09:51:15 I think you mean objects of a given subtype. 09:52:03 .. how solid is slime's WHO-CALLS (both list-callers and list-callees?) 09:52:06 Zhivago: right 09:54:09 -!- plutonas [~plutonas@port-92-195-125-91.dynamic.qsc.de] has quit [Ping timeout: 240 seconds] 09:56:51 etate: what CL do you use? 09:57:46 -!- ASau [~user@83.69.227.32] has quit [Remote host closed the connection] 09:58:07 ASau [~user@83.69.227.32] has joined #lisp 09:58:30 -!- numberGrey [~michael@c-24-12-171-101.hsd1.il.comcast.net] has quit [Quit: Leaving.] 10:00:16 p_l: who-calls is different from list-callers / list-callees 10:00:24 in how it works fundamentally 10:00:49 and, obviously, it all depends on the implementation 10:02:23 tcr: let's say, if I wanted to obtain list of called functions in SBCL and list of who calls what 10:02:25 -!- spacebat [~akhasha@ppp118-210-198-10.lns20.adl6.internode.on.net] has quit [Ping timeout: 264 seconds] 10:03:42 ZabaQ [~john.conn@playboxgames.com] has joined #lisp 10:03:47 -!- lat [~lat@125.167.140.159] has quit [Ping timeout: 260 seconds] 10:03:55 spacebat [~akhasha@ppp121-45-80-240.lns20.adl6.internode.on.net] has joined #lisp 10:03:57 SBCL does not store xref information for the former; you'd have to use list-callees. who-foo in SBCL operates on stored xref information (and that information is obtained from the IR1), whereas list-callers/list-callees work by groveling a function's code-component 10:04:39 the latter is obviously pretty slow, and only contains references to functions after all optimizations etc. 10:05:06 -!- hlavaty [~user@77-22-100-58-dynip.superkabel.de] has quit [Remote host closed the connection] 10:08:11 -!- johs_ is now known as johs 10:08:35 that's enough for me 10:13:45 hlavaty [~user@77-22-100-58-dynip.superkabel.de] has joined #lisp 10:17:51 -!- nikodemus [~nikodemus@cs181201111.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 10:20:14 lat [~lat@125.167.140.159] has joined #lisp 10:21:19 -!- ichernetsky [~ichernets@195.222.67.69] has quit [Quit: Leaving.] 10:24:52 mstevens [~mstevens@eris.etla.org] has joined #lisp 10:29:49 -!- Athas [~athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit [Remote host closed the connection] 10:32:49 sid__ [~sid@192.163.20.231] has joined #lisp 10:33:08 -!- sid_ [~sid@192.163.20.231] has quit [Remote host closed the connection] 10:35:46 -!- ikki [~ikki@200.95.162.219] has quit [Ping timeout: 264 seconds] 10:37:55 udzinari` [~user@nat/ibm/x-dozwkmlxahrzrfqz] has joined #lisp 10:38:47 nikodemus [~nikodemus@cs181150041.pp.htv.fi] has joined #lisp 10:39:21 -!- nikodemus [~nikodemus@cs181150041.pp.htv.fi] has quit [Client Quit] 10:41:31 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Remote host closed the connection] 10:42:25 billstclair [~billstcla@p-216-227-82-53.dsl1.rtr.chat.fpma.frpt.net] has joined #lisp 10:42:25 -!- billstclair [~billstcla@p-216-227-82-53.dsl1.rtr.chat.fpma.frpt.net] has quit [Changing host] 10:42:25 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 10:45:16 -!- pavelludiq [~quassel@87.246.29.154] has quit [Read error: Connection reset by peer] 10:48:28 -!- sid__ [~sid@192.163.20.231] has quit [Remote host closed the connection] 10:48:56 sid_ [~sid@192.163.20.231] has joined #lisp 10:52:30 ikki [~ikki@200.95.162.199] has joined #lisp 10:54:39 -!- jao [~jao@83.50.65.250] has quit [Ping timeout: 245 seconds] 10:55:26 -!- _rata_ [~c8594549@gateway/web/freenode/x-ugjzsbpxyfghnykp] has quit [Quit: Page closed] 10:55:34 kvsari [~kvsari@203.171.93.21.static.rev.aanet.com.au] has joined #lisp 10:56:31 sepult` [~user@xdsl-78-35-204-39.netcologne.de] has joined #lisp 10:57:55 spearalot [~spearalot@192.165.126.74] has joined #lisp 10:58:27 -!- sepult [~user@xdsl-87-78-103-4.netcologne.de] has quit [Disconnected by services] 10:58:45 -!- sepult` is now known as sepult 10:58:52 -!- Harag [~Harag@wbs-41-208-197-119.wbs.co.za] has quit [Ping timeout: 240 seconds] 10:59:15 kejsaren [~kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 11:02:22 nikodemus [~nikodemus@cs181150041.pp.htv.fi] has joined #lisp 11:02:25 Shaftoe [~Moe111@bas1-montreal02-1096724744.dsl.bell.ca] has joined #lisp 11:03:10 does anyone know what flag I'd need to set to get errors in multiple threads to break in the debugger on the repl? (I'm using hunchentoot) 11:04:25 nevar minds. I don't know how to reads it seems 11:04:28 -!- Shaftoe [~Moe111@bas1-montreal02-1096724744.dsl.bell.ca] has quit [Client Quit] 11:07:57 -!- spradnyesh [~pradyus@nat/yahoo/x-iynmlxeczguzrokk] has quit [Ping timeout: 252 seconds] 11:13:13 kiuma [~kiuma@85-18-55-37.ip.fastwebnet.it] has joined #lisp 11:13:43 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 11:15:14 -!- gko [~gko@211.22.47.2] has quit [Ping timeout: 248 seconds] 11:18:59 -!- kpreid [~kpreid@216-171-189-244.northland.net] has quit [Quit: kpreid] 11:19:34 -!- Kolyan [~nartamono@95-26-61-229.broadband.corbina.ru] has quit [Ping timeout: 276 seconds] 11:20:10 ichernetsky [~ichernets@port-163-adslby-pool46.infonet.by] has joined #lisp 11:22:38 jollygood [~jollygood@129.71.215.161] has joined #lisp 11:24:11 -!- sepult [~user@xdsl-78-35-204-39.netcologne.de] has quit [Read error: Connection reset by peer] 11:24:26 fda314925 [~fda314925@121.124.124.117] has joined #lisp 11:26:45 Kolyan [~nartamono@95-27-154-211.broadband.corbina.ru] has joined #lisp 11:27:45 -!- eldragon [~eldragon@84.79.67.254] has quit [Read error: Connection reset by peer] 11:28:21 -!- spearalot [~spearalot@192.165.126.74] has quit [Quit: Computer has gone to sleep] 11:29:04 eldragon [~eldragon@84.79.67.254] has joined #lisp 11:31:36 -!- myu2 [~myu2@161.90.128.210.bf.2iij.net] has quit [Remote host closed the connection] 11:32:34 bakkdoor [~bakkdoor@s15229144.onlinehome-server.info] has joined #lisp 11:33:32 spearalot [~spearalot@192.165.126.74] has joined #lisp 11:34:35 Athas [~athas@shop3.diku.dk] has joined #lisp 11:34:42 spradnyesh [~pradyus@nat/yahoo/x-czglrtwfkdrzizvt] has joined #lisp 11:36:37 jao [~jao@74.Red-80-24-4.staticIP.rima-tde.net] has joined #lisp 11:37:07 -!- spradnyesh [~pradyus@nat/yahoo/x-czglrtwfkdrzizvt] has quit [Remote host closed the connection] 11:40:23 Athas` [~athas@shop3.diku.dk] has joined #lisp 11:42:15 -!- Athas [~athas@shop3.diku.dk] has quit [Ping timeout: 260 seconds] 11:42:35 -!- Athas` [~athas@shop3.diku.dk] has quit [Client Quit] 11:46:19 Sumpen [Sumpen@138.199.66.94] has joined #lisp 11:49:37 sepult [~user@xdsl-78-35-204-39.netcologne.de] has joined #lisp 11:49:57 -!- eldragon [~eldragon@84.79.67.254] has quit [Read error: Connection reset by peer] 11:50:34 bozhidar [~user@212.50.14.187] has joined #lisp 11:51:33 eldragon [~eldragon@84.79.67.254] has joined #lisp 11:56:11 Krystof [~csr21@howells.doc.gold.ac.uk] has joined #lisp 12:00:28 -!- OmniMancer [~OmniMance@122-57-7-172.jetstream.xtra.co.nz] has quit [Quit: Leaving.] 12:01:07 -!- jollygood [~jollygood@129.71.215.161] has quit [Read error: Connection reset by peer] 12:02:47 i win! 12:03:02 how much? 12:03:13 nikodemus pasted "unwind-protect winnage" at http://paste.lisp.org/display/96821 12:03:15 <-------------------------------------------------------- this much ---------------------------------------------------------------> 12:03:23 about 12:03:54 it builds, now i'll see if it passes tests... 12:05:06 that looks pretty impressive much 12:05:10 nikodemus annotated #96821 "for comparison, here's what unmodified sbcl does..." at http://paste.lisp.org/display/96821#1 12:06:12 -!- SandGorgon [~OmNomNomO@122.160.41.129] has quit [Ping timeout: 240 seconds] 12:06:19 um, the unmodified one is faster 12:06:34 and does not use CPU time :) 12:06:39 bad benchmark 12:06:49 DYWYPI? 12:07:08 I mean, yes, it conses. But 12:07:28 Odin- [~sbkhh@s121-302.gardur.hi.is] has joined #lisp 12:08:42 i'll give you better numbers in a second, once the load goes down 12:09:40 Xof: the unmodified one looks slower to me? 12:09:54 I'm looking at the total run time 12:10:01 I don't care very much about real time 12:10:13 certainly not real time that's at the edge of the granularity of the timer 12:10:56 Xof: is that a bug in the real time? 12:10:57 taking numbers that are big enough to trigger a gc should prove the point 12:11:50 nikodemus annotated #96821 "better numbers" at http://paste.lisp.org/display/96821#2 12:13:11 much better :) 12:13:24 and it passes our tests too! 12:20:36 -!- Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has quit [Quit: Leaving] 12:22:53 Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has joined #lisp 12:33:21 -!- ace4016 [~jmarcelin@adsl-10-135-156.mia.bellsouth.net] has quit [Quit: When there's nothing left to burn, you have to set yourself on fire.] 12:36:51 legumbre_ [~leo@r190-135-64-77.dialup.adsl.anteldata.net.uy] has joined #lisp 12:39:01 -!- legumbre [~leo@r190-135-34-177.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 264 seconds] 12:40:38 dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #lisp 12:49:47 G'morning all. 12:50:11 morning 12:50:19 nikodemus: Congratulations on the UWP thing. I take it this is at the IR1-level, not changing UNWIND? 12:50:23 or afternoon, really 12:50:29 wyl [~wyl@114.243.96.106] has joined #lisp 12:50:44 I guess it would be afternoon over there. 12:50:51 nyef: yep -- just telling physical environment avalysis not to close over them 12:50:53 It's not yet 9 AM here, though. 12:51:04 or rather, close over but not to allocate a value cell 12:51:04 Ah. Is there any way that that could break? 12:51:15 not sure yet 12:51:25 HET3 [~diman@w283.engin.cf.ac.uk] has joined #lisp 12:51:41 it build, passes tests, and builds itself -- so at least it isn't terribly broken 12:52:12 but i'm not 100% convinced yet 12:52:14 (That's the reason I haven't polished up and checked in my double-uwp-on-win32 fix: I don't know if it could break in weird circumstances or if it breaks anything else.) 12:54:47 Harag [~Harag@41.56.14.67] has joined #lisp 12:55:23 nyef: did you have your understanding of the current uwp mechanism written up somewhere? 12:56:38 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Ping timeout: 246 seconds] 13:00:00 tks [~tks@p3225-ipbf5304marunouchi.tokyo.ocn.ne.jp] has joined #lisp 13:03:35 LiamH [~none@pdp8.nrl.navy.mil] has joined #lisp 13:04:20 Umm... Let me check the obvious places, though I think I more wrote up my understanding of implementation, and have learned more since. 13:06:16 Okay, three references. http://www.lisphacker.com/codex/005-sbcl-nlx.rev2.txt http://www.lisphacker.com/temp/article-drafts/sbcl-unwinding.txt and http://www.lisphacker.com/temp/article-drafts/table-based-unwind-and-sbcl.txt 13:07:19 hmm if all classes have readers but no writers, then they are 'immutable' by default right? 13:07:37 etate: Mind (setf s( 13:07:59 etate: Mind (setf slot-value), or whatever it was. 13:08:15 etate: no. 13:08:18 nyef: so they can still be modified hmm 13:08:33 nyef: so whats the best way of making an immutable class? 13:08:38 And then there's with-slots, which produces symbol-macrolets for slot-value forms... 13:08:41 you can make your metaclass and add new method on (setf slot-value-using-class) 13:08:53 How immutable is immutable? 13:09:28 Is it that you don't want people to modify the instances, or that you want the compiler to be able to be clever about optimization? 13:10:11 nyef: thanks 13:10:36 -!- specbot [~specbot@common-lisp.net] has quit [Ping timeout: 252 seconds] 13:10:38 -!- lisppaste [~lisppaste@common-lisp.net] has quit [Ping timeout: 246 seconds] 13:11:09 -!- minion [~minion@common-lisp.net] has quit [Ping timeout: 252 seconds] 13:11:19 nyef: i was thinking more for concurrency 13:11:31 nyef: so the former 13:11:39 potatishandlarn [~potatisha@79.102.11.235] has joined #lisp 13:12:19 if you're paranoid don't define a writer and use uninterned slot names 13:12:26 i wanted to try making an immutable, persistent data structure 13:13:02 nikodemus: that seems hacky 13:13:08 etate: you could use read-only structs, but the GC won't be able to exploit that knowledge. 13:13:15 Nor will the compiler. 13:13:43 but in practical terms, just don't define a writer -- messing with slots directly is bad taste unless you're the 'owner' of the class 13:14:34 Yeah, don't define a writer, and slap a big comment on the front of the class definition to the effect that changing the slot values post initialization would be bad, and that you're still fuzzy on the whole "good/bad" concept. 13:14:45 you could also use a custom metaclass and signal an error from slot-value-using-class, but that's a shooting flies with a cannon 13:15:16 nikodemus: i prefer the idea of having a custom metaclass 13:15:20 mattrepl [~mattrepl@208.78.149.14] has joined #lisp 13:15:34 but seriously: using an uninterned slot name is perfectly cosher, and prevents people from accidentally using (setf slot-value) 13:15:37 at least then it would provide some guarantee 13:15:38 ... shooting flies with a cannon doesn't seem like it'd help much; surely the air pressure from the moving cannonball would push the flies out of the way without appreciably damaging them? 13:15:41 nothing terribly hacky about it 13:16:13 etate: if a user is really intent on writing those slots he can just remove the method that is troubling him 13:16:14 Hell, use an interned slot-name and then don't export the symbol. 13:16:35 using uninterned slot names is an equally strong guarantee, but doesn't come with a performance cost 13:16:41 -!- wyl [~wyl@114.243.96.106] has quit [Quit: ] 13:17:03 <_3b> nyef: cannons can use other ammo too 13:17:05 If a user is really intent on modifying the slots, he'll use the FFI or similar functionality. 13:17:09 Heh. "Equally strong". Meaning, "you can still ask for a -list- of the slot-name symbols"... 13:17:28 standard-instance-access for the win! 13:17:44 And pkhuong is right. If even that didn't work, I'd use SBCL's SAP functions to just smash up the memory space of the instance. 13:18:16 (Done it to convert a string into an octet vector without changing the encoding, I can do it for this.) 13:18:21 but yeah, given (setf standard-instance-access) even (setf slot-value-using-class) doesn't really protect anyone intent on modifying the slot 13:18:33 *_3b* would just modify and recompile the lib with the annoying restrictions :p 13:18:45 _3b: Where's the fun in that? 13:18:51 the thing is i'm talking more from having multiple threads only able to possibly read a class rather than write it 13:19:00 <_3b> ok, how about if i change-class it instead? 13:19:03 if a user can get to the slot or not doesn't really matter? 13:19:19 (thats a genuine question btw :)) 13:19:32 etate: Really, just put up big sign that says "don't write to these slots", and stop worrying about it. 13:19:53 <_3b> etate: CL style tends more towards treating users like adults, so don't try to enforce it 13:19:59 If someone wants to screw things up, they will, and when they come crying for help you can point and laugh. 13:20:42 nyef: thats a pretty substantial advante, indeed 13:20:46 advantage* 13:21:28 so what you guys are saying is, don't try and make it immutable, theres no point? 13:22:14 <_3b> design and use it as if it were immutable, but don't try to enforce it (unless you can somehow get compiler benefits or whatever from doing so) 13:22:21 etate: only expose a reader. 13:22:28 yes. don't provide a reader and put up a sign saying not to use the slot directly -- naming it %like-this or #:like-this is a simple way to do the latter 13:22:35 No, what we're saying is that making it immutable can happen at multiple levels, and that the "sweet spot" for it in common lisp is to just put up a comment saying "don't do that" and only exposing reader methods. 13:23:17 s/don't provide a reader/don't provide a writer/ ... duh 13:25:07 what about if i wanted to define an immutable cons for example? 13:25:20 -!- CrEddy [~CrazyEddy@wrongplanet/CrazyEddy] has quit [Ping timeout: 246 seconds] 13:25:28 etate: Oh, that's easy. '(1 . 2) is immutable. 13:25:28 etate: There might have a point if clever optimizations would result, but they don't 13:25:46 etate: (load-time-value (cons 1 2) t) 13:25:51 (Not usually enforced, but it would be good for a laugh if it was...) 13:26:26 i think ccl has (had?) a branch where you could have read-only conses 13:26:57 abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has joined #lisp 13:27:28 but seriously: a cons is not a read-only object. if cannot enforce it being read-only to any degree in most implementations 13:28:09 why not? 13:28:13 -!- slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has quit [Quit: Lost terminal] 13:28:20 nunb [~nundan@122.162.146.176] has joined #lisp 13:28:42 as in what is the main thing preventing that from being possible / worthwhile? 13:29:07 Because the two mechanisms available are burning more type tags on conses or to allocate the immutable ones in a special heap space. 13:30:31 the first means conses become a lot more expensive -- not good. the second means allocating those read-only conses becomes really slow 13:30:58 Actually, that second isn't -so- bad if it's only at load-time, you know? 13:31:19 point 13:31:24 Though you'd need to gc-stop-the-world before unlocking the write barrier on the immutable space. 13:31:50 nikodemus: multiple nurseries per thread wouldn't be that expensive. 13:32:40 so all the immutable conses would have to be placed in a special heap? 13:32:42 Is there really a point in having mutable conses? I'd just give them up, introduce immutable lists, and try to provide a very lightweight vector/structure thing 13:32:43 pavelludiq [~quassel@87.246.29.154] has joined #lisp 13:32:43 Or... Maybe not. You could have a per-thread flag to enable the page-fault handler to... Well, wouldn't work on windows. 13:33:15 etate: Not exactly. We already have separate page types for code-objects. 13:34:05 tcr: How do you do circular lists without mutable conses? 13:34:27 you could implement mutable conses on top of that vector/structure thing 13:34:42 or mutable lists rather 13:35:18 It's the usefulness of *conses* period that I'm questionning. 13:35:31 agreed :-) 13:35:32 tcr: You've just made them either not subject to the same accessors or access really expensive. 13:36:05 pkhuong: thats a good point 13:36:20 ... down this path lies clojure. 13:36:30 or anything non-80? 13:37:01 clojure has its own share of problems 13:37:20 but safely shared, since they're immutable 13:37:52 Xach: or at the very least protected by a transaction. 13:38:26 but would sure be nice to have a clojure that was implemented in SBCL rather than JVM 13:39:48 -!- Nshag [~none@AClermont-Ferrand-551-1-28-130.w86-202.abo.wanadoo.fr] has quit [Read error: Connection reset by peer] 13:39:48 you can kinda do that now with cloak. 13:40:03 *Xach* looks for a tool large enough to extract tongue from cheek 13:40:12 -!- abugosh [~Adium@216-164-114-53.c3-0.tlg-ubr3.atw-tlg.pa.cable.rcn.com] has quit [Quit: Leaving.] 13:40:51 -!- lat [~lat@125.167.140.159] has quit [Ping timeout: 252 seconds] 13:41:43 -!- Dodek [dodek@wikipedia/Dodek] has quit [Ping timeout: 260 seconds] 13:41:54 *nyef* starts thinking about stack-based unwind again 13:42:18 *p_l* just proposed adding a sideband channel to pipes... 13:42:26 (at OS level) 13:42:45 p_l: You mean... anonymous af_unix sockets? 13:43:47 is there something akin to a meta-function protocol? 13:44:02 etate: and what does that mean? 13:44:06 etate: There's a meta-compiler protocol or two... 13:44:15 nyef: no, something like generic sideband channel for typeinfo of data passed through fd 13:44:21 (Of course, any compiler extension protocol is a meta-compiler protocol...) 13:44:28 as in a protocol for defining function based systems rather than OO ones 13:44:48 so you could drop it *anywhere*, except of course certain fds won't have anything other than immediate EOF in it (like sockets)( 13:44:49 p_l: But... it's (unsigned-byte 8) typed data, surely! 13:44:51 ) 13:45:37 nyef: no, the data would be in format parsable by runtime library that could reconstruct definition of structure of data passed through fd 13:45:53 the *base* transport format would be still (unsigned-byte 8) 13:46:03 I've pointed this out before: it's metaobject protocol, not meta object-protocol. 13:46:20 schoppenhauer [~senjak@unaffiliated/schoppenhauer] has joined #lisp 13:47:02 meta-object meta-protocol? 13:47:30 -!- Phoodus [foo@174-17-99-27.phnx.qwest.net] has quit [Read error: Connection reset by peer] 13:47:34 -!- kiuma [~kiuma@85-18-55-37.ip.fastwebnet.it] has quit [Quit: Bye bye ppl] 13:47:45 spradnyesh [~pradyus@122.166.150.130] has joined #lisp 13:47:52 -!- spradnyesh [~pradyus@122.166.150.130] has quit [Client Quit] 13:48:07 spradnyesh [~pradyus@122.166.150.130] has joined #lisp 13:48:25 -!- potatishandlarn [~potatisha@79.102.11.235] has quit [] 13:48:41 tom1 [~pierre@212.99.78.123] has joined #lisp 13:48:53 -!- tom1 [~pierre@212.99.78.123] has left #lisp 13:49:00 -!- smithzv [~smithzv@c-24-9-11-34.hsd1.co.comcast.net] has quit [Read error: Operation timed out] 13:49:04 -!- Taggnostr [~x@dyn57-487.yok.fi] has quit [Ping timeout: 276 seconds] 13:49:08 spradnyesh1 [~pradyus@nat/yahoo/x-veobrdoajiqzuklw] has joined #lisp 13:49:33 potatishandlarn [~potatisha@79.102.11.235] has joined #lisp 13:49:52 -!- hhuu [~hhuu@opensuse/member/xwhu] has quit [Quit: hhuu] 13:49:54 -!- redline6561 [~redline@c-66-56-16-250.hsd1.ga.comcast.net] has quit [Ping timeout: 248 seconds] 13:50:20 smithzv [~smithzv@c-24-9-11-34.hsd1.co.comcast.net] has joined #lisp 13:50:36 -!- tks [~tks@p3225-ipbf5304marunouchi.tokyo.ocn.ne.jp] has quit [Quit: Leaving...] 13:52:11 -!- spradnyesh [~pradyus@122.166.150.130] has quit [Ping timeout: 240 seconds] 13:52:24 mindCrime [~chatzilla@rrcs-70-62-112-146.midsouth.biz.rr.com] has joined #lisp 13:52:41 -!- mstevens [~mstevens@eris.etla.org] has quit [Quit: leaving] 13:52:49 -!- wormwood [~wormwood@pool-141-155-168-183.ny325.east.verizon.net] has quit [Quit: leaving] 13:54:27 -!- _nixman [~aurorakay@114.92.98.204] has left #lisp 13:56:05 Taggnostr [~x@dyn57-487.yok.fi] has joined #lisp 13:58:28 lat [~lat@125.167.140.159] has joined #lisp 13:59:35 dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 14:00:37 TeMPOraL [~temporal@wifi-wpa.agh.edu.pl] has joined #lisp 14:04:19 rrice [~rrice@adsl-99-164-42-2.dsl.akrnoh.sbcglobal.net] has joined #lisp 14:10:32 postamar [~postamar@x-132-204-241-5.xtpr.umontreal.ca] has joined #lisp 14:11:55 CrEddy [~CrazyEddy@wrongplanet/CrazyEddy] has joined #lisp 14:13:44 Dodek [dodek@wikipedia/Dodek] has joined #lisp 14:16:20 minion: memo for attila_lendvai: your weird asdf and strange hate of documentation are killing me 14:18:06 prxq [~mommer@f051037094.adsl.alicedsl.de] has joined #lisp 14:19:09 -!- kwinz3 [~kwinz@e195-161.eduroam.tuwien.ac.at] has quit [Ping timeout: 240 seconds] 14:19:18 -!- _2x2l [~andrew@c-71-233-209-245.hsd1.ma.comcast.net] has quit [Ping timeout: 276 seconds] 14:22:20 hi 14:23:40 dlowe, which weird asdf do you mean? 14:24:10 attila_lendvai: I can't get hu.dwim.asdf to work 14:24:11 *attila_lendvai* doesn't hate documentation... 14:24:32 dlowe, that is a very unfortunate name, but try to convince levente_meszaros about that 14:24:39 what's wrong with it? 14:24:55 undefined function: HU.DWIM.ASDF:LOAD-SYSTEM 14:25:04 dlowe, upgrade your sbcl 14:25:13 doh 14:25:28 -!- HET3 [~diman@w283.engin.cf.ac.uk] has quit [Read error: Connection reset by peer] 14:25:45 tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has joined #lisp 14:30:09 -!- sid_ [~sid@192.163.20.231] has quit [Remote host closed the connection] 14:31:07 sid_ [~sid@192.163.20.232] has joined #lisp 14:31:14 dlowe, i've pushed an assert to help people struggling with this 14:31:14 is that the bleeding edge in things asdf? 14:31:40 attila_lendvai: thanks :) 14:31:53 no, it's just an early dependency that extends asdf with this-and-that and sets up a few things... 14:32:28 i proposed the name hu.dwim.environment to suggest the role described above 14:32:37 kwinz3 [~kwinz@d86-33-115-57.cust.tele2.at] has joined #lisp 14:33:25 but i've failed to convince him that it's very unfortunate name... 14:37:17 dcibiel [~dcibiel@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 14:38:48 -!- spearalot [~spearalot@192.165.126.74] has quit [Quit: -arividerchi] 14:41:25 kejsaren_ [~kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 14:44:02 -!- dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [Read error: Connection reset by peer] 14:44:39 -!- kejsaren [~kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Ping timeout: 276 seconds] 14:44:40 dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 14:45:49 -!- pavelludiq [~quassel@87.246.29.154] has quit [Read error: Connection reset by peer] 14:50:30 -!- bytecolor [~user@adsl-71-137-200-22.dsl.scrm01.pacbell.net] has quit [Ping timeout: 276 seconds] 14:53:16 -!- grouzen [~grouzen@91.214.124.2] has quit [Read error: Operation timed out] 14:54:05 grouzen [~grouzen@91.214.124.2] has joined #lisp 14:55:08 -!- Tonijz [~Tonijz@85.254.194.65] has quit [Quit: Lost terminal] 14:57:59 -!- smithzv [~smithzv@c-24-9-11-34.hsd1.co.comcast.net] has quit [Ping timeout: 260 seconds] 14:58:52 -!- schoppenhauer [~senjak@unaffiliated/schoppenhauer] has quit [Quit: Leaving.] 15:00:53 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Remote host closed the connection] 15:02:16 billstclair [~billstcla@209.177.151.180] has joined #lisp 15:02:16 -!- billstclair [~billstcla@209.177.151.180] has quit [Changing host] 15:02:16 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 15:02:40 -!- udzinari` [~user@nat/ibm/x-dozwkmlxahrzrfqz] has quit [Ping timeout: 258 seconds] 15:02:46 mstevens [~mstevens@eris.etla.org] has joined #lisp 15:05:07 -!- legumbre_ is now known as legumbre 15:05:46 gko [~gko@122-116-15-138.HINET-IP.hinet.net] has joined #lisp 15:07:06 SandGorgon [~OmNomNomO@122.162.124.26] has joined #lisp 15:07:23 pavelludiq [~quassel@87.246.29.154] has joined #lisp 15:08:56 -!- dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [Quit: dnolen] 15:09:01 -!- attila_lendvai [~ati@4d6f5d3b.adsl.enternet.hu] has quit [Ping timeout: 264 seconds] 15:11:19 -!- jdz [~jdz@85.254.211.133] has quit [Quit: Ex-Chat] 15:14:33 -!- Taggnostr [~x@dyn57-487.yok.fi] has quit [Ping timeout: 276 seconds] 15:16:13 *levente_meszaros* thinks hu.dwim.asdf is just an asdf* 15:18:14 mindCrime_ [~chatzilla@rrcs-70-62-112-146.midsouth.biz.rr.com] has joined #lisp 15:20:51 -!- mindCrime [~chatzilla@rrcs-70-62-112-146.midsouth.biz.rr.com] has quit [Ping timeout: 240 seconds] 15:23:09 -!- sid_ [~sid@192.163.20.232] has quit [Quit: Leaving] 15:25:53 mcdonji [~user@173-203-206-96.static.cloud-ips.com] has joined #lisp 15:26:55 Sumpen3026 [~Sumpen@81-232-77-93-no46.tbcn.telia.com] has joined #lisp 15:27:31 -!- Sumpen [Sumpen@138.199.66.94] has quit [Ping timeout: 246 seconds] 15:29:20 -!- ikki [~ikki@200.95.162.199] has quit [Ping timeout: 258 seconds] 15:33:59 Any idea about how to see/change the limit value of the size of the stack with SBCL? 15:34:01 _nixman [~aurorakay@114.92.98.204] has joined #lisp 15:34:52 -!- mindCrime_ is now known as mindCrime 15:35:14 -!- [mark] [~mark@unaffiliated/mark/x-957811] has quit [Quit: Leaving] 15:35:21 --control-stack-size option 15:36:01 Yes but it seems to make no difference. How can I see the value? 15:36:29 what difference do you need? 15:37:13 I am working with recursive functions on very deep trees. I want to increase the stack in order to process bigger trees 15:37:30 jdz [~jdz@85.254.211.133] has joined #lisp 15:37:32 How can I know the default value 15:37:59 -!- SandGorgon [~OmNomNomO@122.162.124.26] has quit [Ping timeout: 246 seconds] 15:38:30 idurand: documentation, alternatively the source. 15:38:44 default is 2*1024*1024 15:39:12 I already checked the doc. So I shall look at the sources. Thanks 15:39:18 nikodemus: i see you do some concurrent stuff on multicore computers... 15:39:53 rajeshsr [~rajeshsr@59.92.17.106] has joined #lisp 15:40:17 stassats: but in which units should I pass it to --control-stack-size? 15:41:06 documentation does answer that: --control-stack-size Size of reserved control stack in megabytes. 15:41:38 ok thanks 15:42:10 redline6561 [~redline@gate-20.spsu.edu] has joined #lisp 15:42:45 -!- kwinz3 [~kwinz@d86-33-115-57.cust.tele2.at] has quit [Ping timeout: 258 seconds] 15:43:58 -!- redline6561 [~redline@gate-20.spsu.edu] has quit [Remote host closed the connection] 15:44:28 prxq: ? 15:45:05 redline6561 [~redline@gate-20.spsu.edu] has joined #lisp 15:46:51 fmeyer [~fmeyer@200.234.208.50] has joined #lisp 15:47:00 -!- fmeyer [~fmeyer@200.234.208.50] has quit [Excess Flood] 15:47:09 hefner [~hefner@ppp-58-9-114-125.revip2.asianet.co.th] has joined #lisp 15:47:13 ikki [~ikki@201.155.75.146] has joined #lisp 15:47:25 fmeyer [~fmeyer@200.234.208.50] has joined #lisp 15:47:36 -!- fmeyer [~fmeyer@200.234.208.50] has quit [Excess Flood] 15:48:12 -!- _nixman [~aurorakay@114.92.98.204] has left #lisp 15:48:13 silenius [~silenius@i59F75B1D.versanet.de] has joined #lisp 15:50:16 I wonder if we could save the PC and code-component/whatever when a thread is interrupted, so we can later map back those values to the source 15:52:34 -!- xan_ [~xan@155.99.117.91.static.mundo-r.com] has quit [Ping timeout: 248 seconds] 15:54:07 morphling [~stefan@gssn-5f75537d.pool.mediaWays.net] has joined #lisp 15:54:09 -!- redline6561 [~redline@gate-20.spsu.edu] has quit [Ping timeout: 240 seconds] 15:55:42 -!- mstevens [~mstevens@eris.etla.org] has quit [Quit: leaving] 15:55:49 wvdschel [~wim@d54C18D89.access.telenet.be] has joined #lisp 15:56:10 -!- rajeshsr [~rajeshsr@59.92.17.106] has left #lisp 15:57:07 -!- ASau` [~user@77.246.231.201] has quit [Quit: off] 16:01:31 tcr: interrupt and save the backtrace? 16:03:58 -!- lharc [~shrek@88.131.67.194] has quit [Quit: Leaving] 16:05:44 nikodemus: because of the contribs you posted to sbcl-general. I wanted to ask you wether the gc interferes with the parallel nature of what you do, i.e. wether it degrades performance 16:06:48 smanek [~smanek@user-0cdfol2.cable.mindspring.com] has joined #lisp 16:09:34 good call, I worked on making sb-mailbox a contrib; I named it sb-lockfree, though, and moved sb-queue in there, too 16:09:53 Is that according to Your Plan, nikodemus? 16:10:29 xan_ [~xan@87.216.161.111] has joined #lisp 16:10:48 -!- jdz [~jdz@85.254.211.133] has quit [Quit: Leaving] 16:11:07 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 16:13:56 tcr: how about something more general like sb-concurrency? 16:14:47 Fpr sbcl, whatever value I give to the command line option --control-stack-size 1, the silly recursive function (defun foo (n) (if (zerop n) 0 (1+ (foo (1- n)))) always fails for lack of stack from n=32672. Does any body know how to change effectively the size of the stack?672 16:14:51 -!- smanek [~smanek@user-0cdfol2.cable.mindspring.com] has quit [Ping timeout: 252 seconds] 16:17:39 idurand: --control-stack-size 10 does have an effect here. 16:18:22 kwinz3 [~kwinz@213162066156.public.t-mobile.at] has joined #lisp 16:18:43 bipt [~bpt@cl-851.chi-02.us.sixxs.net] has joined #lisp 16:19:39 -!- ikki [~ikki@201.155.75.146] has quit [Ping timeout: 240 seconds] 16:19:54 smanek [~smanek@static-71-249-221-129.nycmny.east.verizon.net] has joined #lisp 16:19:59 tcr: i don't think lockfree is an idea name -- the same contrib could well hold locking but still good-for-concurrent-work datastructures 16:20:09 -!- Stattrav [~Stattrav@202.3.77.161] has quit [Ping timeout: 240 seconds] 16:20:36 sb-concurrency-ext or sb-concurrency, maybe? 16:20:39 -!- xan_ [~xan@87.216.161.111] has quit [Ping timeout: 240 seconds] 16:20:43 xan_ [~xan@155.99.117.91.static.mundo-r.com] has joined #lisp 16:20:54 besides, lock-free isn't nearly as useful a quality as wait-free :) 16:21:40 well I thought to also add an sb-sync contrib with some synchronization tools, like pkhuong's r/w locks, and mcas 16:21:58 and to differentiate between these too; they'd all fall under sb-concurrency though 16:22:23 not that I mind 16:22:51 nikodemus: what i meant is, i keep seeing that all processes stay with one processor, and suspect that the gc is the cause. Do you see similar behavior? 16:24:11 ikki [~ikki@201.155.75.146] has joined #lisp 16:25:02 methinks prxq doth cons too much 16:25:47 pkhuong: whatever value between 1 and 8 I use for --control-stack-size, the behaviour is exactly the same. I conclude that the option has no effect. 16:25:47 -!- qebab [finnrobi@heidi.itea.ntnu.no] has quit [Remote host closed the connection] 16:26:01 bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has joined #lisp 16:26:35 pkhuong: sorry I had missread your answer. I shall test with greater values of n 16:26:49 prxq: my experience has been that I have to take effort to reduce consing or I won't get much speedup due to the GC bottleneck 16:27:59 hefner: does it have to be nonconsing, or is consing a little still ok? 16:28:52 pkhuong: --control-stack-size 10 does not have any effect with my sbcl. May be it depends on which options sbcl has been compiled with? 16:28:54 prxq: a little consing is okay. 16:29:37 does (without-interrupts (allow-with-interrupts (with-mutex (m) ...))) differ from (with-mutex (m) (without-interrupts (allow-with-interrupts ...))) ? 16:29:48 alley_cat [~AlleyCat@sourcemage/elder/alleycat] has joined #lisp 16:30:48 prxq: i don't really work much threaded work on multicores -- but to the degree i do i tend to manage to keep all cpus spinning 16:30:50 the latter has one more point where an interrupt could occur, I guess 16:31:32 nikodemus: what type of code, if I may ask? 16:31:33 but without catastrophic consequences 16:32:13 prxq: either exploratory programming on sbcl threading stuff in general, or my own raytracing stuff 16:32:29 while GC certainly can kill parallelism -- since it stops all threads -- it should not make the threads stick 16:32:40 *prxq* definately has to try again 16:33:04 use sb-cpu-affinity to check that you don't have a mask set 16:33:25 nikodemus: i will 16:33:29 incidentally, is there a general consensus (or folk wisdom) on adjusting bytes-consed-between-gcs based on the amount of garbage retained versus collected? last I checked, SBCL keeps it constant, but this is a terrible policy if you're allocating a number of objects totaling much larger than the GC interval size. 16:33:30 thanks 16:33:45 i also tend to stack allocate a lot, though, and work with unboxed representations as much as i can -- so gc doesn't tend to take much time 16:34:14 (setf (bytes-consed-between-gcs) (* 1024 1024 256)) ; is also always a good start... 16:34:14 idurand: does (- sb-vm:*control-stack-end* sb-vm:*control-stack-start*) change with different values? 16:35:14 idurand: either you're passing the option in wrong part of the command-line, or something very strange is going on 16:35:23 the first is a common occurrance :) 16:35:27 nikodemus: sure, that's what I did last time this came up, but it seems like the system could (should?) tune this dynamically based on the amount retained (if retaining most of the garbage, wait longer until the next GC) 16:35:42 oh, perhaps that wasn't directed at me. whatever. :) 16:36:11 hefner: yeah, but it's a bit tricky since it increases chances of running out of heap during gc 16:37:48 nikodemus: how does that risk incresae with the (setf (bytes-consed-between-gcs) (* 1024 1024 256))? 16:38:09 -!- postamar [~postamar@x-132-204-241-5.xtpr.umontreal.ca] has quit [Quit: postamar] 16:38:58 prxq: assuming you have a 64-bit sbcl and a Real Heap -- not at all 16:39:13 nikodemus: great 16:39:32 *prxq* .oO(really great indeed) 16:40:20 dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has joined #lisp 16:40:36 hefner: which is also another tricky bit -- if you have reserved a 10Gb heap, but have only 4Gb physical memory, it would probably be a bad move not to run first GC till you've consed 5Gb or so... 16:40:39 -!- kwinz3 [~kwinz@213162066156.public.t-mobile.at] has quit [Ping timeout: 240 seconds] 16:41:28 kwinz3 [~kwinz@213162066156.public.t-mobile.at] has joined #lisp 16:41:54 is there any circumstance under which reserving a heap larger than physical memory is reasonable? (assuming you aren't a lisp machine, programmed by the elder gods) 16:41:58 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: Lost terminal] 16:42:56 if you want to exploit swapping on say 64 bits machines? :) 16:43:21 s/exploit/get screwed by/ 16:43:44 hefner: i don't honestly know 16:44:05 ThomasI [~thomas@unaffiliated/thomasi] has joined #lisp 16:44:29 hefner, I got down my linux a few times because I forgot to change the default heap limit 16:44:33 why would you get screwed by that? hard to say exactly when such a thing would be great, but it is of course nice to be able to ignore manual memory management if you do some really heavy memory bound things. 16:45:09 nikodemus: the problem with not adapting b-c-b/w-gc is that this affects the algorithmic complexity of (consy) algorithms. 16:45:40 hypno: okay, if you understand your app and/or want to play with fire, enable heap larger than physical memory, but I still don't think it's a reasonable default. 16:46:25 pkhuong: true 16:47:58 hypno: GC and swapping don't quite get along do they? 16:48:20 carlocci [~nes@93.37.205.79] has joined #lisp 16:52:04 -!- Adamant [~Adamant@unaffiliated/adamant] has quit [Quit: Adamant] 16:52:08 Any comment on the w/o-interrupts bit? I'm wondering if I'm supposed to do (w/o-i (a-w-i (with-mutex (m) (w/o-i ...))) for any reason that escapes me, or whether (with-mutex (m) (w/o-i ...)) will suffice 16:52:55 nikodemus: (- sb-vm:*control-stack-end* sb-vm:*control-stack-start*) does not change with different values for --control-stack-size 16:53:03 luis: heh, i dont know about how various gc's would work under such a scheme (granted that you do GCing at all). but either way, it's not exactly unheard of either. even cll have some discussion about it. 16:53:39 levente_meszaros: I find it oddly thrilling, that moment of dread between when the machine grinds to a standstill and the realization that my lisp code has run away consing. 16:54:07 idurand: are you using a saved core? 16:54:35 hefner, I agree 16:55:55 lisppaste seems to be slow... 16:55:57 idurand: http://paste.lisp.org/display/96828 16:56:46 maybe it's an executable saved with :save-runtime-options t 16:57:23 abugosh [~Adium@206.225.102.84] has joined #lisp 16:57:46 hence my suggestion to try the basic core on the command line first 16:57:55 -!- hlavaty [~user@77-22-100-58-dynip.superkabel.de] has quit [Ping timeout: 260 seconds] 16:58:22 if that works you know it's something in the way you've set things up -- and if it doesn't you get to point and laugh at sbcl 16:58:43 milanj [~milan@109.92.196.185] has joined #lisp 17:00:30 why (- sb-vm:*control-stack-end* sb-vm:*control-stack-start*) is four times smaller than --control-stack-size? 17:01:05 stassats`: it counts in 32bit fields? 17:01:28 -!- abugosh [~Adium@206.225.102.84] has quit [Client Quit] 17:01:29 *hefner* guesses some fun pointer-as-fixnum games 17:04:03 -!- kwinz3 [~kwinz@213162066156.public.t-mobile.at] has quit [Ping timeout: 268 seconds] 17:04:34 i see now 17:04:52 the first is in words, the second is in bytes 17:05:09 stassats: I am not using a saved core. It seems that I have trouble with the paste but the same experiment as in Nickodemus paste always gives the same stack size 17:05:29 -!- grouzen [~grouzen@91.214.124.2] has quit [Ping timeout: 245 seconds] 17:05:42 -!- mishoo [~mishoo@193.206.22.97] has quit [Ping timeout: 276 seconds] 17:06:06 idurand: what does "file `which sbcl`" say? 17:06:22 maybe it's a shell script which doesn't pass options to sbcl 17:07:23 jordoq [~joseph@nsc66.147.71-162.newsouth.net] has joined #lisp 17:07:45 orm [~a126ddab@gateway/web/freenode/x-iyfkulutcvpnkqfc] has joined #lisp 17:07:56 stassats: http://paste.lisp.org/display/96830 17:08:13 stassat: /usr/bin/sbcl 17:08:55 debian! 17:09:04 1.0.11, was --control-stack-size then? 17:09:34 introduced in 1.0.17 17:09:40 xach: no, ARCH! 17:09:54 orm: What does that mean? 17:09:54 idurand: here's your problem, your sbcl is too old 17:10:01 Ok, I see I shall ask for a newer version and I shall let you know 17:10:03 -!- Krystof [~csr21@howells.doc.gold.ac.uk] has quit [Ping timeout: 260 seconds] 17:10:16 well, you named a distro, so I named my favorite one 17:10:18 =p 17:10:39 orm: Try to play along with the context. 17:10:50 stassats: And I shall try on my laptop which has a recent version. Thanks you all 17:12:22 SandGorgon [~OmNomNomO@122.162.124.26] has joined #lisp 17:14:17 too bad you can't distinguish user options and sbcl options 17:14:30 -!- TeMPOraL [~temporal@wifi-wpa.agh.edu.pl] has quit [Quit: bbl .•«UPP»•.] 17:18:49 stassats`: sbcl options get eaten up and don't appear in sb-ext:*posix-argv* 17:19:00 stassats`: so inspecting that would also have found the trouble 17:19:15 hands off my options, SBCL. 17:19:25 they're rightfully sbcl's 17:20:07 Xach: if there was a way to signal an error, it would take much less time to figure out 17:21:08 it can't change now...there are already 10+ users :( 17:23:24 akm [~Alan@c-67-180-16-162.hsd1.ca.comcast.net] has joined #lisp 17:28:02 -!- orm [~a126ddab@gateway/web/freenode/x-iyfkulutcvpnkqfc] has quit [Ping timeout: 252 seconds] 17:28:24 lhz [~shrekz@c-b9aa72d5.021-158-73746f34.cust.bredbandsbolaget.se] has joined #lisp 17:29:17 Krystof [~csr21@158.223.161.73] has joined #lisp 17:29:18 grouzen [~grouzen@91.214.124.2] has joined #lisp 17:30:09 -!- Kolyan [~nartamono@95-27-154-211.broadband.corbina.ru] has quit [Ping timeout: 240 seconds] 17:31:27 -!- synthasee [~synthase@adsl-220-187-4.mob.bellsouth.net] has quit [Read error: Connection reset by peer] 17:31:49 synthasee [~synthase@adsl-220-187-4.mob.bellsouth.net] has joined #lisp 17:31:57 -!- synthasee [~synthase@adsl-220-187-4.mob.bellsouth.net] has quit [Read error: Connection reset by peer] 17:32:05 -!- rpg_ [~rpg@216.243.156.16.real-time.com] has quit [Ping timeout: 246 seconds] 17:32:15 synthasee [~synthase@adsl-220-187-4.mob.bellsouth.net] has joined #lisp 17:33:15 Stattrav [~Stattrav@202.3.77.161] has joined #lisp 17:34:15 does SBCL support letf ? 17:34:36 what is it? 17:34:45 you can implement it as a macro. 17:34:53 like let but binds places as in setf 17:35:30 hefner: i ask because when i call it it throws an error, so it looks like it exists 17:35:50 it throws an error that it doesn't exist? 17:35:57 etate: that is an interesting line of reasoning. 17:36:12 look at contextl, it contains an implementation of bindable slots 17:36:18 no the actual reason is that i'm not sure whether it was defined by contextl or by sbcl 17:36:31 Use M-. to find out 17:36:40 (symbol-package 'letf) 17:36:51 or (apropos "LETF") 17:37:08 What fun is a LETF confined to magic ContextL objects? 17:38:02 nikodemus: I guess there is no way to get at the list of vops a function compiles down to because it's actually a graph? Not having ever looked into ir2 stuff, are the instructions spit out walking the graph, or is there some form of linearization before? 17:38:09 hefner: precisel 17:38:12 precisely* 17:38:30 hefner: DLETF is what the operator is called, and it's not confined to magic contextl objects... only to things that are dynamically scoped in common lisp 17:38:31 hefner: Reasonable multithreading semantics? 17:38:40 namely, symbol-values 17:38:56 namely : it's just progv 17:39:07 saikat_ [~saikat@c-71-202-153-244.hsd1.ca.comcast.net] has joined #lisp 17:39:33 store a symbol in a slot, use the symbol-value as the slot-value, PROGV that symbol and bang, dynamic places 17:39:35 drewc: never seen progv before today :D 17:40:20 add DYNAMIC-WIND and you get first class dynamic environments... which are extremely useful. 17:40:39 tcr: That is fun! I never understood why folks argue about multithreading caveats of LETF as if there were a meaningful answer, though. 17:40:44 -!- ThomasI [~thomas@unaffiliated/thomasi] has quit [Quit: Bye Bye!] 17:41:34 dynamic slots cover mosts needs, I guess 17:41:57 I bet the guys around here with their pet prototype-based object systems could achieve this with less scary magic. 17:41:59 drewc: the one problem i've been having with dletf is when binding to a normal class 17:42:09 JFTR, I wouldn't expect the stack-size controls to work on SBCL/Win32, due to SBCL using the windows default stack there. 17:42:14 etate: because it doesn't work that way? 17:42:36 drewc: i'm sure theres something i'm missing 17:43:21 McCLIM uses LETF an impressive number of times. 17:43:31 tcr: There's a linearization of the CFG at some point, certainly, as we end up with a -single- code-object at the end. 17:43:34 drewc: your example earlier was to call a layered method in start 17:44:05 of you want start to be layered. If you want to dynamically bind slot values, you have to declare the slots as special 17:44:07 drewc: the problem with this is if you dletf the slots of the class, and then call-next-method in the non layered start method, the slots are unbound 17:44:08 -!- milanj [~milan@109.92.196.185] has quit [Read error: Operation timed out] 17:44:24 even if declared as special 17:44:37 paste the code please 17:45:35 nyef: When you hack on that stuff, how do you debug/gather information? 17:45:43 tcr: we try to get an emit order with mostly sensible fallthroughs, if that's what you mean 17:46:04 there's this :trace-file stuff to compile-file but last time I took a look at that it was just gibberish :-) perhaps it will make more sense now 17:46:09 drewc: http://paste.lisp.org/display/96833 17:47:13 nikodemus: I just want to look at the vops because I'm a) not good at reading assembly, and b) hence utterly fail at mapping back pattern of instructions to idioms/vops 17:47:18 -!- pragma_ [~pragma@unaffiliated/pragma/x-109842] has quit [Ping timeout: 276 seconds] 17:47:32 just for educational purposes / understanding what sbcl does / how it works 17:48:42 etate: what is it that you are actually trying to achieve here? 17:48:52 milanj [~milan@93.87.152.112] has joined #lisp 17:49:14 drewc: to bind the slots of an acceptor in a layered method, without having to use setf :) 17:49:14 abugosh [~Adium@206.225.102.84] has joined #lisp 17:49:23 etate: why? 17:49:31 drewc: education 17:49:44 tcr: When you get as far as assembly code, it's all in emit order. I still find the earlier phases in a trace-file to be mostly gibberish, though I've been getting more of a sense of what it's saying recently. 17:49:47 ok, so you don't actually expect this to do anything useful 17:50:13 drewc: well, i also have two servers, one with a local config and one a remote, plus lots of other configs like this, putting them in layers would be nice 17:50:35 tcr: Well, mostly in emit order. It emits into two different segments which are then concatenated. 17:50:37 doubly nice if the solution was clean 17:51:02 etate: you are aware that layered (special) slots have dynamic scope, right? 17:51:27 tcr: Each assembly segment is marked at the start with the corresponding VOP, and you can trace back a bit to find lists of VOPs for a basic block. 17:51:28 nyef, two segments -- main and error handling? 17:51:33 drewc: is that bad? 17:51:44 etate: no, it just means they have dynamic scope 17:51:46 deepfire: main and *elsewhere*. 17:51:58 etate: that is, actually, the entire point :) 17:52:05 its _good_ 17:52:06 Basically, error handling or anything else that is best handled out-of-line. 17:52:21 nyef, i.e. an icache optimisation? 17:52:22 but i think all you need is a subclass, not a language extension 17:52:26 drewc: yeah i thought that was the point in having layers, as a way of organizing dynamic scope without having to resort to globals 17:52:47 etate: yes... but correct me if i'm wrong... 17:52:48 drewc: sure but this language extension is great 17:52:49 skv [~alx@67.136.131.11] has joined #lisp 17:53:06 START is a function that returns, or does it block and sit in a loop? 17:53:20 *drewc* is installing hunchentoot 17:53:21 A measure to separate hot and cold, AIUI 17:53:22 drewc: it returns the acceptor 17:53:29 deepfire: It's a conceptual optimization as well. We can say "here's a fragment of code to be assembled *elsewhere*, and we'll use this label to refer to it." 17:53:30 someone gives the bots a kick? 17:53:39 tcr: http://paste.lisp.org/display/96836 17:53:39 nikodemus: Will do. 17:53:50 drewc: the paste i showed you is contrived at best, there are many more configurations possible not just address and port 17:53:58 etate: do you understand the difference between static (lexical) and dynamic scope? 17:54:13 rdd [~user@c83-250-52-182.bredband.comhem.se] has joined #lisp 17:54:24 drewc: i'm not sure, when i think lexical scope i think function body, let etc, and dynamic well, as in a global parameter 17:54:47 pragma_ [~pragma@blackshell.com] has joined #lisp 17:55:04 drewc: so when you activate a layer its specials are activated globally 17:55:15 -!- pragma_ is now known as Guest15876 17:55:40 rpg [~rpg@mpls.sift.info] has joined #lisp 17:56:02 *nyef* tries to figure out how to fix lisppaste without simply killing the process and having to reload the paste database. 17:56:03 Heh, this can be taken further, doing a finer grain separation and going cross-procedural, I guess. 17:56:21 etate: and what would expect (defvar *foo* 1) (funcall (let ((*foo* 2)) (lambda () *foo*))) to return? 17:56:48 drewc: 2, because the foo closed over in the let was rebound 17:56:55 thus shadowing the defvar 17:57:06 exu0 [~u@dslb-188-099-206-030.pools.arcor-ip.net] has joined #lisp 17:57:07 etate: ok, so the answers is _no_, you don't understand dynamic scoping 17:57:12 teachable moment alert 17:57:19 I.e sort basic blocks by rarity and split the ratest off, and compound those from several procedures. 17:57:22 drewc: okay :) 17:57:25 *rarest 17:57:41 So that hotter code is packed more densely 17:57:43 lisppaste [~lisppaste@common-lisp.net] has joined #lisp 17:57:45 etate: www.flownet.com/ron/specials.pdf is a good start IIRC 17:57:53 Xach: are we still allowed to link to that one? 17:58:02 -!- dcibiel [~dcibiel@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: This computer has gone to sleep] 17:58:02 Not just intra-, but also across procedures. 17:58:23 drewc: I haven't read it. 17:58:34 And now for the other two... 17:58:35 predictably, i like http://www.xach.com/naggum/articles/3246569973032676@naggum.no.html as a possible exposition... 17:58:40 I wonder how much pain would non-contiguous procedures be. 17:59:15 Xach: ah, i knew you'd have a naggum! :) 17:59:29 This would strain relative branch offsets, of course. 17:59:52 specbot [~specbot@common-lisp.net] has joined #lisp 18:00:10 etate: first thing would be to try the code i just showed in a repl, see the result and go 'hrm... what have i been missing?' :) 18:00:14 i learned perl first, so my sense of lexical vs. dynamic stems from my vs. local. i remember liking the description in cltl2, but by then i had a pretty good grasp on it already. 18:00:18 minion [~minion@common-lisp.net] has joined #lisp 18:00:37 minion: All good now? 18:00:38 please stop playing with me... i am not a toy 18:00:42 drewc: i never truly understood why var was different from parameter, i think i know why now :) 18:00:47 rayservers [~sp@gw3.tacwap.org] has joined #lisp 18:00:49 etate: no, you don't 18:00:52 I'll take that as a yes. 18:00:56 try that with defparameter as well 18:01:26 etate: the 'glocal lexical' variable you are looking for does not exist in standard ANSI common lisp. 18:01:41 etate: the point of defvar versus defparameter is controlling what happens when you reload code, so that you don't corrupt the state of a running program. 18:01:47 Interesting, denser packing of hotter code also supposedly implies less aliasing drain. 18:01:54 It's a common enough extension.. see 'deflex' in a c.l.l search 18:02:01 Er, cache alias drain. 18:03:06 etate: the way i think about it : static bindings are resolved at compile time, dynamic bindings are run time. 18:04:29 You should be able to choose size of hot/cold chunks, so that they end up in different aliasing domains. This implies they are of statistically comparable sizes though. 18:04:57 etate: also, http://home.pipeline.com/~hbaker1/MetaCircular.html ... he emulates static scope using macrolet, and dynamic scope using unwind-protect 18:05:07 I wonder if this makes any sense in reality, though. 18:05:18 that might be enough to illuminate the differences 18:09:14 hmm so dynamic bindings always override static bindings 18:09:21 ? 18:11:26 i think my confusion actually stemmed from the let, not the dynamic scoping issues 18:11:32 -!- dnolen [~dnolen@ool-18bc2fa9.dyn.optonline.net] has quit [Quit: dnolen] 18:11:44 There actually are two different namespaces, one for lexical and one for specials; LET can be used to bind in both namespaces 18:11:54 kwinz3 [~kwinz@85.124.207.234] has joined #lisp 18:11:58 You choose what binding you want, using (declare (special foo)) 18:12:01 because let creates a new binding rather than modifying the value of some symbol 18:12:03 daniel__ [~daniel@p5082E96A.dip.t-dialin.net] has joined #lisp 18:12:17 gigamonkey: My boss just got C@W :) 18:12:20 there's an additional, tricky, caveat in that global special proclamations are sticky 18:12:58 -!- Krystof [~csr21@158.223.161.73] has quit [Ping timeout: 264 seconds] 18:13:07 sticky as in: (defvar foo 42) will make any variable reference to FOO be a reference to the special variable FOO 18:13:39 I haven't read Garret's special guide but it hopefully explains the issue thoroughly 18:14:30 in that case isn't that the whole point of layers? 18:14:43 i mean if they didn't work with dynamically scoped vars it wouldn't work right? 18:15:03 being dynamically scoped is their whole point, yes 18:15:11 -!- grouzen [~grouzen@91.214.124.2] has quit [Ping timeout: 240 seconds] 18:15:17 so you can change meaning at runtime 18:15:22 -!- daniel_ [~daniel@p5082DBEA.dip.t-dialin.net] has quit [Ping timeout: 264 seconds] 18:16:09 so that you can call next method to a different layer which has differently bound dynamically scoped vars? 18:16:34 Hmm, so no way to declare a globally special a lexical.. 18:16:47 nope you cannot even use symbol-macrolet to fake 18:17:10 iirc :-) 18:17:13 I was under an impression there is a not-special declaration, for some reason. 18:17:19 Apparently not. 18:17:48 no, and that is indeed a wart, imo 18:17:59 not that it ends up mattering much though 18:18:22 Yeah, local vars can be renamed freely, unlike globals. 18:19:13 And it's not like you'd be realistically able to defend against some rogue global special declaration by qualifying every binding.. 18:19:41 You just have to know all global specials. 18:20:04 or just trust that they all have their earmuffs on 18:20:16 Which is why Doug Hoyte's anti-earmuffness doesn't fly. 18:20:45 alec [~aberryman@ita4fw1.itasoftware.com] has joined #lisp 18:21:43 -!- bipt [~bpt@cl-851.chi-02.us.sixxs.net] has quit [Ping timeout: 260 seconds] 18:23:22 -!- nickjd [nickjd@118x236x109x33.ap118.gyao.ne.jp] has quit [Ping timeout: 258 seconds] 18:25:16 Specials are just plain hairy. You could demote them to a library feature, but then you'd end up with something like metabang-bind built into CL. 18:25:22 i also think it is very helpful if your implementation does not respond to (setf x 1) by making x special 18:26:19 Indeed, the correct thing to do there is to signal a program-error. 18:26:20 prxq: it would be helpful if it made a global lexical. having to type out defparameter at the REPL constantly grates on my nerves. 18:26:27 -!- kami` [~user@unaffiliated/kami-] has quit [Read error: Operation timed out] 18:27:14 mishoo [~mishoo@95.233.108.37] has joined #lisp 18:27:15 It's hard to argue against making it an error, though. 18:27:18 well, i use setf at toplevel, and somehow sbcl does something sensible with that 18:27:24 kami` [~user@unaffiliated/kami-] has joined #lisp 18:27:31 i'll now point out that contextl contains a wonderful implementation of an ISLISP-like dynamic variable mechanism that is much nicer than special variables 18:27:37 -!- jordoq [~joseph@nsc66.147.71-162.newsouth.net] has quit [Quit: Leaving.] 18:27:38 and i find that a useful and nice feature 18:28:06 -!- spradnyesh1 [~pradyus@nat/yahoo/x-veobrdoajiqzuklw] has left #lisp 18:28:08 drewc: does it work outside of a layer though? 18:29:13 drewc: e.g: (defvar x 0) (dletf ((x 1)) ...) => (error ...) 18:29:51 etate: that's not at all how it works, and layers are orthagonal ... 18:30:58 -!- xan_ [~xan@155.99.117.91.static.mundo-r.com] has quit [Ping timeout: 248 seconds] 18:31:30 layers (and context-oriented programming) are build on top of dynamic scoping primitives, they are not themselves scopes or primitives. 18:33:30 orm [~a126ddab@gateway/web/freenode/x-cbsdkosbhbaldxxz] has joined #lisp 18:33:52 -!- prxq [~mommer@f051037094.adsl.alicedsl.de] has quit [Quit: Leaving] 18:34:08 prxq [~mommer@f051037094.adsl.alicedsl.de] has joined #lisp 18:34:12 try (defdynamic foo 1) (dlet ((foo 2)) (princ (dynamic foo))) 18:34:44 mejja [~user@c-68b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #lisp 18:35:26 Krystof [~csr21@158.223.161.73] has joined #lisp 18:35:29 plutonas [~plutonas@port-92-195-58-218.dynamic.qsc.de] has joined #lisp 18:35:42 drewc: eh i've never seen defdynamic before :D 18:36:16 (let ((env (dlet ((foo 3)) (capture-dynamic-environment)))) (with-dynamic-environment (env) (princ (dynamic foo)))) => 3 18:36:24 !! 18:36:47 ugh. 18:39:23 drewc: sounds like fun. Wormhole-oriented programming? :-) what was that? 18:40:14 contextl? 18:42:58 -!- xenosoz1 [~xenosoz@pe.snu.ac.kr] has quit [Ping timeout: 264 seconds] 18:43:07 contextl. 18:43:54 xenosoz1 [~xenosoz@pe.snu.ac.kr] has joined #lisp 18:44:32 I think you could implement that on top of CL's special variables in half a page of code. 18:45:16 -!- gko [~gko@122-116-15-138.HINET-IP.hinet.net] has quit [Ping timeout: 246 seconds] 18:45:20 grouzen [~grouzen@91.214.124.65] has joined #lisp 18:45:34 hefner: all you need is dynamic-wind... how do you think it's done in contextl... with magic? 18:45:42 oh, man. I just noticed local-time is five years old... Where does the time go? 18:45:55 your last invocation of local-time? 18:46:11 :p 18:46:16 in that case, you have a really old Lisp running! 18:46:31 (agreed, time flies) 18:46:50 drewc: I was thinking more like progv and a list of relevant specials assembled by defdynamic. 18:47:37 drewc: I don't imagine the magic starts until you get into abusing CLOS in unnatural ways. 18:47:51 hefner: you're going to capture the binding of every dynamic variable that has been defined? 18:48:10 "this one time at CLOS camp, ..." 18:48:58 that would work and all, but i wouldn't use it. 18:49:21 drewc: Sorry, that's what I imagine "capture-dynamic-environment" as doing, just going by the name. You wouldn't want to do that to every CL special, of course. 18:49:25 before first class envs came around, i'd just lexically bind the values i needed. 18:49:40 enthymeme [~kraken@130.166.209.11] has joined #lisp 18:50:53 hefner: that's not at all what it's doing... it's capturing the bindings that exist in the current environment only. It does this using a chain of closures which contain the binding forms themselves (usually special-symbol-progv). 18:54:09 hi all, new lisper here...is there some common idiom for separating the &rest and &key parameters in functions/macros that want both? eg i want to define a macro that would be called like (mymacro arg1 arg2 :special-arg t body-forms), and i understand that the &rest/&key parameters sorta get mushed together 18:54:59 akm: (mymacro (arg1 arg2 :special-arg t) body-forms) 18:55:14 hefner: (let ((env (dynamic-wind (let ((*foo* (print 1))) (proceed (capture-dynamic-environment)))))) (with-dynamic-environment (env) (princ *foo*))) 18:55:17 like: (defmacro mymacro ((arg1 arg2 &key special-arg) &body body) ...) 18:55:20 akm: Macro lambda lists destructure, so do something like ((arg1 arg2 &key ...) &body body). 18:55:48 that will print 1 twice then princ 1 18:56:13 abeaumont [~abeaumont@84.76.48.250] has joined #lisp 18:56:51 -!- kejsaren_ [~kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Ping timeout: 276 seconds] 18:57:05 drewc: I was going to ask for clarification about whether you were complaining before that a hypothetical PROGV-based solution would capture the unwanted global bindings of the variables, but that last bit completely confuse dme. 18:57:07 Folks, does anybody feel like chiming in on the BitC list apropos OO models? 18:57:31 They currently discuss type classes vs. C++-style classes vs... 18:58:03 hefner: rather than capture the values of bindings, you capture the functions that create the bindings in question. 18:58:39 drewc: There's something frightening in there, but I'm not sure what it is. 18:58:56 drewc: that sounds like great fun, but I still can't figure out what you use it for. 18:59:18 http://www.coyotos.org/pipermail/bitc-dev/2010-March/002024.html 18:59:30 hefner: dynamic scope is a wonderful fit for web programming. 19:00:23 hefner: and when i want to capture the state of a request, say because i need input from the user to continue, it's nice to have a well thought out mechanism for doing so. 19:00:26 is this some perverse extension of the idea of storing continuations on the server? closures with hairy dynamic environments? 19:00:54 i don't see the hairyness about it... is this just phear of the unknown? 19:01:29 fear, no. 19:01:39 -!- Sumpen3026 [~Sumpen@81-232-77-93-no46.tbcn.telia.com] has quit [Quit: Planned down time ^^] 19:01:46 Also, the thread started with http://www.coyotos.org/pipermail/bitc-dev/2010-March/001969.html 19:03:26 Generally, the whole march archive was quite interesting. 19:03:55 hefner: the implementation is 69 lines of vanilla common lisp, it's worth looking at. 19:03:57 More like a conservative degree of disapproval lacking sufficient information. I'm not a big fan of rampant dynamic scoping anyway. 19:04:13 Taggnostr [~x@dyn57-487.yok.fi] has joined #lisp 19:04:38 http://common-lisp.net/project/closer/repos/contextl/cx-dynamic-environments.lisp 19:05:01 that it's 69 lines of vanilla common lisp tells me that you could write it yourself and not wave ContextL around, if it's really that useful :) 19:05:31 you could just load that file. 19:06:08 (and maybe the defpackage ;) 19:06:29 or ... 19:06:35 the dynamic-wind.asd ;) 19:07:50 redline6561 [~redline@c-66-56-16-250.hsd1.ga.comcast.net] has joined #lisp 19:08:40 drewc: I only make such a fuss whenever you bring this stuff up because I'll be genuinely annoyed if 18 months from now I figure out on my own some application of ContextL that would've made my life vastly easier/better. :) 19:09:17 hefner: fair enough :). In this instance, contextl is a red herring. 19:09:31 DYANMIC-WIND has proven itself a pretty useful tool 19:09:57 even if i can't spell it 19:10:44 -!- ZabaQ [~john.conn@playboxgames.com] has left #lisp 19:10:50 you could think of it as REWIND-PROTECT if your brain works enough like mine for that to make any sense at all. 19:11:24 Heh. 19:11:35 I'm familiar with it, I learned Scheme before CL. I haven't had any temptation to use it since then. 19:11:36 instead of ensuring some forms are run when an dynamic extent is exited, ala UW-P, it ensures then run when it is _entered_ 19:11:59 That's that thing that you have to do to a VHS tape in order to open the pawl that keeps the reels from turning backwards, isn't it? 19:13:12 Xach: thanks. one more question: using destructuring works, but requires the macro caller to use a list there. is there a way i can let them call (mymacro arg1 arg2 :special-arg body-forms)? my macro expands into a defun, and it's awkward to call, eg, (mymacro (factorial (n) :special-arg t) body-forms) when i want mymacro to "feel" like a defun 19:13:37 -!- daniel__ is now known as daniel 19:14:12 akm: You could play sillybuggers with declarations, but that might not give you the feel you want either. 19:14:14 akm: it's not weird to do destructuring for defining forms. i don't think you have the feel for it yet, so don't worry about how it feels just yet. 19:14:55 okay. then i guess it's done and working! thanks 19:14:58 -!- orm [~a126ddab@gateway/web/freenode/x-cbsdkosbhbaldxxz] has quit [Quit: Page closed] 19:15:52 Bah this dx-flet stuff grows old really quick. Can't we have a (declare (downward-fun ...)) or whatever that lispm thing was called? 19:16:02 to be placed into lambdas 19:16:15 downward-funargs? 19:16:34 -!- Ralith [~ralith@69.90.48.97] has quit [Quit: Lost terminal] 19:16:38 well it's supposed to apply to the lambda itself 19:17:19 Not sure. 19:17:29 The old LispMs had a -lot- of weird and wonderful stuff. 19:17:35 -!- ichernetsky [~ichernets@port-163-adslby-pool46.infonet.by] has quit [Ping timeout: 258 seconds] 19:17:42 ("e, for example.) 19:17:51 are you objecting to having to name the function? 19:18:12 and the inversion of code 19:18:18 *hefner* wonders how they implemented "e 19:18:33 ..and why they bothered. 19:18:59 It probably made a certain amount of sense at the time... 19:19:56 you could implement a codewalker that hoists out the lambdas :-) 19:20:45 -!- mejja [~user@c-68b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.0.14/2009090900]] 19:21:07 It guess namedness plays some essential part in dx closures, what is it exactly? 19:21:12 I figure that any function with an "e parameter must be defined before code using it is compiled, but beyond that the implementation is straightforward. 19:21:21 well, you must have a name to apply the declaration to 19:21:34 -!- prxq [~mommer@f051037094.adsl.alicedsl.de] has quit [Quit: Leaving] 19:21:59 sounds like an arbitrary limitation 19:22:08 does not a (let ((foo (lambda () ...)) (declare (dx foo))) work as well as a flet? 19:22:13 (named-lambda foo () (declare (dynamic-extent foo)) ...) :-) 19:22:14 nickjd [nickjd@118x236x109x33.ap118.gyao.ne.jp] has joined #lisp 19:22:44 (the downward-lambda (lambda () ...)) 19:23:02 dnolen [~dnolen@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has joined #lisp 19:23:02 the problem is that that lambda is escaping the THE form :-) 19:23:08 -!- nikodemus [~nikodemus@cs181150041.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 19:23:08 *hefner* has spent the last 24 hours implementing a single line editable text field and requisite modifications to his text rendering code. Can't tell if that's an argument for or against the ease of rolling your own UIs without a toolkit. 19:23:37 but but... is it beautiful? 19:23:43 hefner: What happened to your usual toolkit? 19:24:09 and that's why you can't have (dxlambda () ...) that expands to a (let ((foo ...)) (declare dx foo) foo) 19:24:12 nyef: Wrong tool for the job. 19:24:18 jsnell: yup :-( 19:24:19 Fair enough. 19:25:36 Is this escaping something mandated by CL? 19:26:26 -!- Krystof [~csr21@158.223.161.73] has quit [Ping timeout: 248 seconds] 19:26:28 deepfire: ?? not escaping is what DX is all about 19:26:36 -!- slather__ is now known as slather 19:27:52 tcr, I was reacting to jsnell's "the problem is that that lambda is escaping the THE form" 19:28:31 deepfire: it is escaping the extent of the THE form... 19:28:44 -!- silenius [~silenius@i59F75B1D.versanet.de] has quit [Quit: Leaving] 19:29:06 Is `killpg' pronounced killpig? :-) 19:30:05 ichernetsky [~ichernets@port-163-adslby-pool46.infonet.by] has joined #lisp 19:30:43 tcr: Are you still upset about arc? ^_- 19:31:53 Hm, I can imagine THE being compiled down to a cast, implying some target code, but does it make sense to talk about escaping a THE form which is only used as a meta-marker? 19:32:05 -!- abugosh [~Adium@206.225.102.84] has quit [Quit: Leaving.] 19:32:13 nyef: Haha took a moment until I got that bravo! :-) 19:32:28 I mean, what extent are we talking about here? 19:34:36 abugosh [~Adium@206.225.102.84] has joined #lisp 19:34:39 Zephyrus [~emanuele@unaffiliated/zephyrus] has joined #lisp 19:34:42 -!- SandGorgon [~OmNomNomO@122.162.124.26] has quit [Read error: Operation timed out] 19:35:28 that's a very good question: if you think that the extent being implied by a (the dxfun ...) isn't the THE form, what is it? 19:37:06 the enclosing form of the THE? the innermost enclosing binding form? something else? 19:37:07 -!- sbahra [~sbahra@2002:62da:45b3:1234:21d:e0ff:fe00:f7ab] has quit [Read error: Operation timed out] 19:37:10 jsnell: It could be argued that the scope of the effect of a THE form extends until the value is "used", somehow. 19:37:23 -!- mishoo [~mishoo@95.233.108.37] has quit [Ping timeout: 246 seconds] 19:37:35 The extent, excluding the SSA temporary used as a result store of the meta-THE? 19:37:43 (tagbody start (the dxfun ...) (go start)) 19:38:07 -!- Taggnostr [~x@dyn57-487.yok.fi] has quit [Ping timeout: 276 seconds] 19:38:27 sbahra [~sbahra@2002:62da:45b3:1234:21d:e0ff:fe00:f7ab] has joined #lisp 19:38:56 deepfire: Does that not impose a restriction on the design of the compiler used? 19:40:22 I don't think I follow that answer. what's the "extent of the meta-THE"? 19:41:14 -!- nickjd [nickjd@118x236x109x33.ap118.gyao.ne.jp] has left #lisp 19:41:16 Edward [~Ed@AAubervilliers-154-1-26-151.w90-3.abo.wanadoo.fr] has joined #lisp 19:42:06 Good evening! 19:42:21 Hello beach. 19:43:09 I have a mental picture for a series of LET* bindings, where a variable is bound to the (the dxfn ..) 19:43:22 timor [~timor@port-87-234-97-27.dynamic.qsc.de] has joined #lisp 19:43:44 But, I'm afraid it doesn't extend to more generality 19:44:15 -!- tic [~tic@c83-249-194-61.bredband.comhem.se] has quit [Remote host closed the connection] 19:47:27 In this picture the extent of the (the dxfn ) would be the extent of the bound variable. 19:49:17 seangrove [~user@c-67-188-2-246.hsd1.ca.comcast.net] has joined #lisp 19:49:18 I just hope this makes some sense.. 19:50:30 varjag [~eugene@226.119.202.84.customer.cdi.no] has joined #lisp 19:52:59 The more general point was, form escapes are harmful only if extending scope to cover the outer form causes enough difference to affect compilation of that outer form. 19:53:40 er, to affect compilation of the added delta 19:54:30 -!- tompa [~thomas@h59ec27fb.sehjjak.dyn.perspektivbredband.net] has quit [Quit: Leaving.] 19:57:23 ace4016 [~jmarcelin@adsl-10-135-156.mia.bellsouth.net] has joined #lisp 19:58:06 Now, the question is whether we can always reason about the delta falling under the extended scope -- in case of code-less THE the answer looks simple. 19:58:59 kpreid [~kpreid@216-171-188-124.northland.net] has joined #lisp 19:59:15 Should someone call me a deluded idiot already? 19:59:51 -!- timor [~timor@port-87-234-97-27.dynamic.qsc.de] has quit [Remote host closed the connection] 20:00:29 -!- Edward [~Ed@AAubervilliers-154-1-26-151.w90-3.abo.wanadoo.fr] has quit [] 20:01:03 bytecolor [~user@adsl-71-137-200-22.dsl.scrm01.pacbell.net] has joined #lisp 20:01:07 -!- abugosh [~Adium@206.225.102.84] has quit [Quit: Leaving.] 20:01:36 -!- Odin- [~sbkhh@s121-302.gardur.hi.is] has quit [Quit: Odin-] 20:02:34 -!- Jasko [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has quit [Ping timeout: 245 seconds] 20:02:36 Jasko2 [~tjasko@c-174-59-195-12.hsd1.pa.comcast.net] has joined #lisp 20:03:05 when do syscalls return eintr? When the process received a signal, and the signal's handler has run? 20:03:46 abugosh [~Adium@206.225.102.84] has joined #lisp 20:03:50 and if the signal handler wasn't installed with SA_RESTART. 20:04:17 I'd have thought that the syscall would return eintr -before- the handler runs. 20:04:24 in the bad old days, the OS couldn't restart system calls, and so it had to abort them to cause a signal to be handled with reasonable efficiency. 20:05:20 dstatyvka [ejabberd@pepelaz.jabber.od.ua] has joined #lisp 20:05:30 what is needed to be able to restart a system call? 20:05:58 syamajala [~syamajala@140.232.182.89] has joined #lisp 20:06:09 jcowan [~jcowan@nat/google/x-pglqzccewyszlhib] has joined #lisp 20:06:25 Classically, PCLSRing, although there are probably some other approaches. 20:07:34 hmm... how hard would it be to just return to saved context at the point of syscall? 20:07:45 Depends on how much context there is. 20:08:09 Which in turn depends on the amount of out-of-order execution your processor is doing. 20:08:17 hmm... 20:08:19 Lots of out-of-order makes resumption semantics quite hard. 20:08:19 jcowan: huh? 20:08:21 anyway, afk for now 20:08:31 jcowan: no, that's for hardware to handle and hide from the OS. 20:08:59 Mostly. But the one place it doesn't hide it is when barfing context on an exception. 20:09:05 jcowan: how? 20:11:03 I assume jcowan refers to PPC-style imprecise exceptions, but can't add anything. 20:11:03 -!- hefner [~hefner@ppp-58-9-114-125.revip2.asianet.co.th] has quit [Read error: Connection reset by peer] 20:11:06 Well, I just asked gcc how big a jmp_buf is on my system (64-bit dual core Linux desktop). Answer: 200 bytes. 20:11:12 That's storing a *lot* of processor state. 20:11:52 jcowan: you have 16x64 bit GPRs, 8x80 x87, 16x128 XMM, EFLAGS, and x87 state. 20:12:01 That's completely orthogonal to out of orderness. 20:12:14 You don't see that size varying between atom and westmere processors, for instance. 20:12:31 Edward [~Ed@AAubervilliers-154-1-26-151.w90-3.abo.wanadoo.fr] has joined #lisp 20:12:43 Okay, fair enough. Still, not all processors are so forgiving. 20:12:58 deepfire: sure, OOO may lead to imprecise exceptions, but wherever you do get an exception, the amount of state isn't affected by the OOO/superscalar-ness of the processor. 20:13:33 Coupling the ABI up with the microarchitecture so tightly would be incredibly stupid. 20:14:51 OOO can only affect *when* the exception appears to happen (and only on weird architecutres like PPC), not whether your saved state is consistent. 20:15:24 foom: IA64? 20:15:36 nyef: I'm trying to explain the bogus stack frame on top of the backtrace when C-c C-cing raw sbcl. I assume we we're waiting in select when we received the signal. I wonder why it's not a foreign call frame, though 20:15:42 that arch is so weird I don't even have the start of a clue. :) 20:16:11 -!- Guest15876 [~pragma@blackshell.com] has quit [Changing host] 20:16:11 Guest15876 [~pragma@unaffiliated/pragma/x-109842] has joined #lisp 20:16:17 -!- Guest15876 is now known as pragma_ 20:19:48 jordyd [~jordyd@99-177-65-75.lightspeed.wepbfl.sbcglobal.net] has joined #lisp 20:20:21 tjw_ [~tijwel@c-71-56-219-137.hsd1.co.comcast.net] has joined #lisp 20:22:44 -!- tjw_ [~tijwel@c-71-56-219-137.hsd1.co.comcast.net] has quit [Client Quit] 20:23:02 tjw_ [~tijwel@c-71-56-219-137.hsd1.co.comcast.net] has joined #lisp 20:23:54 -!- tjw_ [~tijwel@c-71-56-219-137.hsd1.co.comcast.net] has left #lisp 20:26:51 -!- clog [~nef@bespin.org] has quit [Remote host closed the connection] 20:28:04 clog [~nef@bespin.org] has joined #lisp 20:28:25 TDT [~user@173-17-83-225.client.mchsi.com] has joined #lisp 20:28:34 hefner [~hefner@ppp-58-9-114-125.revip2.asianet.co.th] has joined #lisp 20:28:54 sugarshark [~ole@p4FDA8776.dip0.t-ipconnect.de] has joined #lisp 20:29:02 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 20:30:28 -!- leifw` is now known as leifw 20:31:13 -!- mattrepl [~mattrepl@208.78.149.14] has quit [Quit: mattrepl] 20:31:41 mstevens [~mstevens@eris.etla.org] has joined #lisp 20:32:15 -!- Xantoz [~hejhej@c-1cb2e253.01-157-73746f30.cust.bredbandsbolaget.se] has quit [Ping timeout: 252 seconds] 20:33:09 -!- mstevens [~mstevens@eris.etla.org] has quit [Client Quit] 20:33:48 erjag [~eugene@226.119.202.84.customer.cdi.no] has joined #lisp 20:34:32 slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has joined #lisp 20:37:13 -!- varjag [~eugene@226.119.202.84.customer.cdi.no] has quit [Ping timeout: 264 seconds] 20:38:38 -!- rpg [~rpg@mpls.sift.info] has quit [Quit: Leaving...] 20:40:04 -!- saikat_ is now known as saikat 20:41:24 -!- erjag is now known as varjag 20:41:32 -!- varjag [~eugene@226.119.202.84.customer.cdi.no] has left #lisp 20:43:10 -!- tcr [~tcr@host146.natpool.mwn.de] has quit [Quit: Leaving.] 20:45:22 maden [~maden@dsl-158-168.aei.ca] has joined #lisp 20:47:40 -!- kwinz3 [~kwinz@85.124.207.234] has quit [Ping timeout: 276 seconds] 20:49:22 tjw_ [~tijwel@c-71-56-219-137.hsd1.co.comcast.net] has joined #lisp 20:50:10 -!- tjw_ [~tijwel@c-71-56-219-137.hsd1.co.comcast.net] has left #lisp 20:52:15 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: *poof*] 20:54:30 puchacz [~puchacz@87-194-5-99.bethere.co.uk] has joined #lisp 20:54:43 kwinz3 [~kwinz@85.124.207.234] has joined #lisp 20:58:17 -!- kpreid [~kpreid@216-171-188-124.northland.net] has quit [Quit: kpreid] 20:59:58 KucukMubasir [~4eb62769@gateway/web/freenode/x-pryvyfsltybjjldc] has joined #lisp 21:00:21 hi guys, what were the print variants; I can't remember them. 21:01:20 ok, I found them, prettyprinting 21:04:41 Ralith [~ralith@69.90.48.97] has joined #lisp 21:04:51 toekutr [~toekutr@adsl-69-107-143-127.dsl.pltn13.pacbell.net] has joined #lisp 21:07:39 -!- hefner [~hefner@ppp-58-9-114-125.revip2.asianet.co.th] has quit [Read error: Connection reset by peer] 21:08:54 KucukMubasir: "print variants"? 21:08:58 Axius [~hi@109.97.45.109] has joined #lisp 21:11:03 -!- Axius [~hi@109.97.45.109] has quit [Client Quit] 21:11:10 beach, print, pretty-print and so on? 21:11:43 -!- kwinz3 [~kwinz@85.124.207.234] has quit [Ping timeout: 276 seconds] 21:11:56 Demosthenes [~demo@12.187.12.230] has joined #lisp 21:12:15 guille_ [~user@224.Red-79-158-220.staticIP.rima-tde.net] has joined #lisp 21:12:48 hi 21:13:12 KucukMubasir: (apropos "prin" 'cl) 21:13:24 -!- kleppari [~spa@bitbucket.is] has quit [Quit: MOAR RAM] 21:13:27 hello guille_ 21:14:13 kwinz3 [~kwinz@85.124.207.234] has joined #lisp 21:15:59 Yuuhi [benni@p5483B604.dip.t-dialin.net] has joined #lisp 21:16:10 any existing package that factors sexps? (+ x (- 1 1)) => x 21:16:30 Google for "partial evaluation". 21:16:54 OmniMancer [~OmniMance@202.36.179.65] has joined #lisp 21:17:44 ltriant [~ltriant@lithium.mailguard.com.au] has joined #lisp 21:18:12 thanks jcowan 21:19:25 HG` [~HG@xdslea093.osnanet.de] has joined #lisp 21:19:32 bytecolor, there's hu.dwim.partial-eval at http://dwim.hu 21:19:59 not sure you need that though 21:20:05 -!- skv [~alx@67.136.131.11] has quit [Quit: Ex-Chat] 21:22:43 bytecolor pasted "gp output" at http://paste.lisp.org/display/96844 21:23:00 -!- syamajala [~syamajala@140.232.182.89] has quit [Remote host closed the connection] 21:24:18 I get ouput like that from the genetic programming system I'm playing with. The book actually gives a simplifier in the appendix, but if there exists one I can just install... 21:24:51 maxima? 21:25:22 -!- Ralith [~ralith@69.90.48.97] has quit [Ping timeout: 248 seconds] 21:25:24 stassats`: maxima rawks ;) 21:25:58 Ralith [~ralith@69.90.48.97] has joined #lisp 21:27:05 It would take some digging to figure out how to wield it for this purpose 21:27:27 -!- freiksenet [~freiksene@hoasnet-fe29dd00-202.dhcp.inet.fi] has quit [Remote host closed the connection] 21:27:39 -!- etate [~meta@mon69-4-82-228-201-242.fbx.proxad.net] has quit [Ping timeout: 260 seconds] 21:27:59 -!- leifw [~user@ool-45721672.dyn.optonline.net] has quit [Ping timeout: 245 seconds] 21:30:07 -!- ichernetsky [~ichernets@port-163-adslby-pool46.infonet.by] has quit [Quit: Leaving.] 21:30:46 6 people in #maxima 0_o 21:31:20 faux [~user@1-1-4-21a.gkp.gbg.bostream.se] has joined #lisp 21:31:31 -!- dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has quit [Quit: Leaving.] 21:32:18 mishoo [~mishoo@95.233.108.37] has joined #lisp 21:32:51 guys, what's that paper explaining the backquote calculus and its effects in nested quotations? 21:33:00 I thought it was by Baker, but I can't find it now 21:33:20 -!- toekutr [~toekutr@adsl-69-107-143-127.dsl.pltn13.pacbell.net] has quit [Quit: Leaving] 21:33:21 only Bawden's "Quasiquotation in Lisp" comes up, but that's not the one I wanted 21:33:23 hm. does anyone have a nice handy function for taking a PC in SBCL heap and returning the file/line number of the source? 21:33:30 kejsaren [~kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 21:33:35 guille_` [~user@224.Red-79-158-220.staticIP.rima-tde.net] has joined #lisp 21:33:59 I can figure it out, but I figured there might already be one written. :) 21:34:25 dto [~dto@pool-96-252-62-25.bstnma.fios.verizon.net] has joined #lisp 21:34:31 -!- nixeagle [~user@Wikimedia/Nixeagle] has quit [Remote host closed the connection] 21:35:04 -!- guille_ [~user@224.Red-79-158-220.staticIP.rima-tde.net] has quit [Ping timeout: 245 seconds] 21:37:49 kleppari [~spa@bitbucket.is] has joined #lisp 21:38:28 there should be a few of those around 21:41:00 kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has joined #lisp 21:41:53 hmm... no, apparently I don't have exactly that written anywhere 21:41:53 nixeagle [~user@Wikimedia/Nixeagle] has joined #lisp 21:42:52 Krystof [~csr21@84-51-132-95.christ977.adsl.metronet.co.uk] has joined #lisp 21:44:14 but sb-sprof will let you get a debug-fun from a pc, and slime should have the code to go from a debug-fun to line number 21:46:19 gemelen [~shelta@shpd-92-101-137-194.vologda.ru] has joined #lisp 21:46:35 -!- LiamH [~none@pdp8.nrl.navy.mil] has quit [Quit: Leaving.] 21:49:46 -!- puchacz [~puchacz@87-194-5-99.bethere.co.uk] has quit [Remote host closed the connection] 21:50:16 tfb [~tfb@restormel.cley.com] has joined #lisp 21:50:45 -!- kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has quit [Quit: kpreid] 21:51:30 Yeah, that should be enough to go on. :) 21:51:57 So, google-perftools is officially the only profiler that actually freaking works. :P 21:55:31 kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has joined #lisp 21:55:34 jan247 [~jan247@unaffiliated/jan247] has joined #lisp 21:56:18 -!- jao [~jao@74.Red-80-24-4.staticIP.rima-tde.net] has quit [Ping timeout: 248 seconds] 22:00:04 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Quit: +++ killed by SIGSEGV +++] 22:00:18 -!- morphling [~stefan@gssn-5f75537d.pool.mediaWays.net] has quit [Remote host closed the connection] 22:00:32 -!- alec [~aberryman@ita4fw1.itasoftware.com] has quit [Quit: Leaving] 22:00:48 -!- PuffTheMagic [~quassel@unaffiliated/puffthemagic] has quit [Ping timeout: 252 seconds] 22:02:01 wgl` [~wgl@64.sub-75-206-175.myvzw.com] has joined #lisp 22:02:25 rpg [~rpg@mail.shirtikvah.net] has joined #lisp 22:03:12 tltstc` [~tltstc@cpe-76-90-95-39.socal.res.rr.com] has joined #lisp 22:04:04 -!- seangrove [~user@c-67-188-2-246.hsd1.ca.comcast.net] has quit [Ping timeout: 246 seconds] 22:05:19 -!- tltstc [~tltstc@cpe-76-90-95-39.socal.res.rr.com] has quit [Ping timeout: 265 seconds] 22:06:17 -!- dstatyvka [ejabberd@pepelaz.jabber.od.ua] has left #lisp 22:06:23 dralston [~dralston@S010600212986cca8.va.shawcable.net] has joined #lisp 22:06:36 -!- slash_ [~Unknown@whgeh0250.cip.uni-regensburg.de] has quit [Quit: Lost terminal] 22:06:58 -!- kwinz3 [~kwinz@85.124.207.234] has quit [Ping timeout: 276 seconds] 22:07:16 marcelinollano [~marcelino@83.39.20.74] has joined #lisp 22:08:00 when you have a package which contains clos classes, do you export explicitly the accessors' symbols? 22:08:36 if you to export them, yes 22:09:35 nikodemus [~nikodemus@cs181201111.pp.htv.fi] has joined #lisp 22:10:50 guille_`, no :) 22:12:04 your CL must be different from guille_`'s 22:12:05 levente_meszaros: æh, one of your deep magic hacks again? 22:12:27 stassats`: it is 22:12:36 they use (def class foo ...) 22:12:38 i know, but guille_` doesn't 22:13:07 guille_`: but if you want them to be accesible, yes, you need to export them one way or another 22:13:31 save for automatically-exporting class-generating macros, it's gonna need to be explicit 22:13:39 guille_`: to lessen confusion, if you are using defclass, yes, they're not exported implicitly 22:13:44 mathrick, not at all deep magic, but yes, some people would categorize it as a hack 22:13:45 sz0 [~user@94.54.200.109] has joined #lisp 22:14:17 levente_meszaros: in theory none of your packages are all *that* complex. But if you gather them together... 22:14:25 well, okay, perec is *that* complex 22:14:25 -!- lhz [~shrekz@c-b9aa72d5.021-158-73746f34.cust.bredbandsbolaget.se] has quit [Quit: Leaving] 22:14:35 it's deep magic mode built on top of computed classes 22:14:42 mathrick, because you haven't seen wui yet 22:14:43 :) 22:14:46 but i want real packages! 22:14:59 levente_meszaros: and I don't plan to, really :) 22:15:07 I don't mind 22:15:08 well, okay, I touched it a bit by browsing your demo 22:15:10 but that's it 22:15:27 I know what's good for me and perec is about as far as I can go with using your soft 22:15:28 oh, i can access dwim.hu finally 22:16:07 dwim.hu still breaks on webkit, as near as I can tell 22:16:09 stassats`, no you can't, you are the only one who is forbidden :) 22:16:10 sorry 22:16:28 levente_meszaros: i was for some time, actually 22:17:03 thank you 22:17:07 stassats`, inspect the package 22:17:23 -!- kami` [~user@unaffiliated/kami-] has quit [Ping timeout: 260 seconds] 22:17:48 -!- HG` [~HG@xdslea093.osnanet.de] has quit [Quit: Leaving.] 22:17:53 what package? 22:18:36 stassats`, maybe I misunderstood 22:18:51 I thought you are worried about not having the exported symbols listed in your package.lisp file 22:19:20 levente_meszaros: no, i had network problems connecting to dwim.hu 22:19:51 I was referring to your words "but i want real packages!" 22:19:53 kwinz3 [~kwinz@85.124.207.234] has joined #lisp 22:19:55 -!- nikodemus [~nikodemus@cs181201111.pp.htv.fi] has quit [Ping timeout: 260 seconds] 22:20:17 levente_meszaros: that was a joke on complex and real numbers 22:20:19 ichernetsky [~ichernets@195.222.67.108] has joined #lisp 22:20:25 Xantoz [~hejhej@c-1bb4e253.01-157-73746f30.cust.bredbandsbolaget.se] has joined #lisp 22:21:10 *stassats`* goes back to his number theory study 22:21:36 -!- alley_cat [~AlleyCat@sourcemage/elder/alleycat] has quit [Remote host closed the connection] 22:23:54 TeMPOraL [~temporal@188.147.209.75.nat.umts.dynamic.eranet.pl] has joined #lisp 22:27:34 -!- sz0 [~user@94.54.200.109] has quit [Ping timeout: 245 seconds] 22:30:01 -!- mishoo [~mishoo@95.233.108.37] has quit [Ping timeout: 264 seconds] 22:30:21 xristos [~x@2001:470:8859:cafe:20c:29ff:fec5:e30a] has joined #lisp 22:30:28 -!- levente_meszaros [~levente_m@4d6f5d3b.adsl.enternet.hu] has quit [Quit: ...] 22:31:49 tic [~tic@c83-249-199-86.bredband.comhem.se] has joined #lisp 22:32:32 hello. who do i talk to about applying for lisppaste bot to join our channel #lispgames? 22:32:35 kejsaren_ [~kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has joined #lisp 22:33:49 dto: nyef, i guess 22:34:19 stassats`: i was just asking him on #lispgames and i he doesn't seem to know 22:34:37 dto: send mail to lisppaste-requests 22:34:46 kpreid: thank you 22:35:07 do i have to be a member? 22:35:28 Hey, have we seen hide or hair of chandler recently? 22:35:54 -!- kejsaren [~kejsaren@111.25.95.91.static.ras.siw.siwnet.net] has quit [Ping timeout: 276 seconds] 22:37:17 sent 22:37:50 -!- wgl` [~wgl@64.sub-75-206-175.myvzw.com] has quit [Ping timeout: 240 seconds] 22:39:37 -!- kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has quit [Quit: kpreid] 22:39:51 -!- pavelludiq [~quassel@87.246.29.154] has quit [Read error: Connection reset by peer] 22:43:25 Taggnostr [~x@dyn57-487.yok.fi] has joined #lisp 22:47:17 ... You know what might be neat? Automatic FOO->git conversion for all projects on clnet using FOO instead of git. 22:47:42 *nyef* goes off to install subversion, grumbling all the way. 22:48:45 I'll subvert ya! 22:49:04 Gah! Depends on TheirSQL? :-/ 22:49:14 I thought svn was fsfs? 22:49:46 It's the apache portable runtime that brings in the sql client. 22:50:03 Excellent. 22:50:58 -!- benny [~benny@i577A8381.versanet.de] has quit [Ping timeout: 246 seconds] 22:51:19 And two different HTTP client libraries. I think I want to cry. 22:51:51 are you installing recommendations? 22:51:55 No. 22:51:56 quodlibetor [~user@146.95.21.222] has joined #lisp 22:52:09 -!- tvaalen [~r@terminal.se] has quit [Changing host] 22:52:09 tvaalen [~r@unaffiliated/tvaal] has joined #lisp 22:53:14 is that debian? 22:53:15 fe[nl]ix [~lacedaemo@pdpc/supporter/professional/fenlix] has joined #lisp 22:54:03 Gah! And now I have a directory called "svn" with subdirectories in it, instead of the directory full of source code that I wanted. 22:54:06 Yeah, debian. 22:55:35 Adamant [~Adamant@unaffiliated/adamant] has joined #lisp 22:58:05 ... The bits I actually wanted are in svn/trunk/, right? 22:58:12 -!- quodlibetor [~user@146.95.21.222] has quit [Remote host closed the connection] 22:58:26 usually 22:58:35 -!- TeMPOraL [~temporal@188.147.209.75.nat.umts.dynamic.eranet.pl] has quit [Disconnected by services] 22:58:57 TeMPOraL [~temporal@188.147.203.252.nat.umts.dynamic.eranet.pl] has joined #lisp 23:00:10 -!- abugosh [~Adium@206.225.102.84] has quit [Quit: Leaving.] 23:00:51 -!- jcowan [~jcowan@nat/google/x-pglqzccewyszlhib] has left #lisp 23:01:24 -!- Adamant [~Adamant@unaffiliated/adamant] has quit [Read error: Connection reset by peer] 23:01:33 Adamant [~Adamant@unaffiliated/adamant] has joined #lisp 23:02:34 -!- rpg [~rpg@mail.shirtikvah.net] has quit [Ping timeout: 245 seconds] 23:02:44 hello 23:02:51 -!- saikat [~saikat@c-71-202-153-244.hsd1.ca.comcast.net] has quit [Ping timeout: 260 seconds] 23:08:34 lordakinator [~igaray@190.97.33.72] has joined #lisp 23:08:52 'lo everyone 23:09:54 saikat [~saikat@c-71-202-153-244.hsd1.ca.comcast.net] has joined #lisp 23:11:05 Sumpen [~Sumpen@81-232-77-93-no46.tbcn.telia.com] has joined #lisp 23:16:02 inforichland [~inforichl@adsl-99-154-13-230.dsl.mdsnwi.sbcglobal.net] has joined #lisp 23:16:26 -!- enthymeme [~kraken@130.166.209.11] has quit [Quit: rcirc on GNU Emacs 23.1.1] 23:17:03 Phoodus [foo@174-17-99-27.phnx.qwest.net] has joined #lisp 23:17:30 xan_ [~xan@83.44.221.75] has joined #lisp 23:17:34 -!- mcdonji [~user@173-203-206-96.static.cloud-ips.com] has quit [Remote host closed the connection] 23:18:07 -!- faux [~user@1-1-4-21a.gkp.gbg.bostream.se] has left #lisp 23:18:13 rpg [~rpg@216.243.156.16.real-time.com] has joined #lisp 23:20:27 kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has joined #lisp 23:21:31 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Remote host closed the connection] 23:22:24 -!- kpreid [~kpreid@rrcs-208-125-58-214.nys.biz.rr.com] has quit [Client Quit] 23:22:48 billstclair [~billstcla@p-216-227-82-53.dsl1.rtr.chat.fpma.frpt.net] has joined #lisp 23:22:48 -!- billstclair [~billstcla@p-216-227-82-53.dsl1.rtr.chat.fpma.frpt.net] has quit [Changing host] 23:22:48 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 23:23:19 -!- fda314925 [~fda314925@121.124.124.117] has quit [Read error: Connection reset by peer] 23:24:12 -!- jordyd [~jordyd@99-177-65-75.lightspeed.wepbfl.sbcglobal.net] has quit [Remote host closed the connection] 23:26:29 -!- delYsid [~user@chello084115136207.3.graz.surfer.at] has quit [Read error: Operation timed out] 23:26:35 -!- grouzen [~grouzen@91.214.124.65] has quit [Ping timeout: 258 seconds] 23:27:59 -!- dnolen [~dnolen@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has quit [Quit: dnolen] 23:28:09 tritchey_ [~tritchey@2002:62e2:51c2:0:226:bbff:fe00:80c6] has joined #lisp 23:28:15 -!- Zephyrus [~emanuele@unaffiliated/zephyrus] has quit [Quit: ""] 23:28:37 -!- tfb [~tfb@restormel.cley.com] has quit [Remote host closed the connection] 23:31:22 OmniMancer1 [~OmniMance@202.36.179.65] has joined #lisp 23:31:44 -!- tritchey [~tritchey@c-98-226-81-194.hsd1.in.comcast.net] has quit [Ping timeout: 245 seconds] 23:32:18 -!- tritchey_ [~tritchey@2002:62e2:51c2:0:226:bbff:fe00:80c6] has quit [Ping timeout: 248 seconds] 23:32:49 -!- marcelinollano [~marcelino@83.39.20.74] has quit [Remote host closed the connection] 23:33:32 -!- sugarshark [~ole@p4FDA8776.dip0.t-ipconnect.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:33:45 -!- OmniMancer [~OmniMance@202.36.179.65] has quit [Ping timeout: 252 seconds] 23:34:59 -!- OmniMancer1 is now known as OmniMancer 23:37:06 ziggurat [~quassel@pool-173-71-25-61.dllstx.fios.verizon.net] has joined #lisp 23:41:01 sepult` [~user@xdsl-87-78-30-61.netcologne.de] has joined #lisp 23:42:33 tritchey [~tritchey@2002:62e2:51c2:0:226:bbff:fe00:80c6] has joined #lisp 23:43:39 -!- sepult [~user@xdsl-78-35-204-39.netcologne.de] has quit [Ping timeout: 252 seconds] 23:46:36 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 23:47:24 -!- jan247 [~jan247@unaffiliated/jan247] has quit [Quit: jan247] 23:47:49 -!- ziggurat [~quassel@pool-173-71-25-61.dllstx.fios.verizon.net] has quit [Remote host closed the connection] 23:48:49 mbohun [~mbohun@202.124.73.123] has joined #lisp 23:49:17 alexsuraci_ [~alexsurac@32.168.103.156] has joined #lisp 23:49:21 kpreid [~kpreid@216-171-188-124.northland.net] has joined #lisp 23:52:59 -!- wvdschel [~wim@d54C18D89.access.telenet.be] has quit [Ping timeout: 245 seconds] 23:53:43 -!- sepult` is now known as sepult 23:54:09 Odin- [~sbkhh@s121-302.gardur.hi.is] has joined #lisp 23:55:32 grouzen [~grouzen@91.214.124.2] has joined #lisp 23:55:51 -!- gemelen [~shelta@shpd-92-101-137-194.vologda.ru] has quit [Ping timeout: 260 seconds] 23:56:20 -!- KucukMubasir [~4eb62769@gateway/web/freenode/x-pryvyfsltybjjldc] has quit [Ping timeout: 252 seconds] 23:57:46 dreish [~dreish@minus.dreish.org] has joined #lisp 23:58:35 -!- guille_` [~user@224.Red-79-158-220.staticIP.rima-tde.net] has quit [Remote host closed the connection]