00:03:41 sladegen: Sorry, don't get your question. But if you're asking whether chicken-install can install chicken3 eggs - the answer seems to be "yes and no". The egg layout is (at least mostly) the same for 3 and 4, but egg's scheme source might be incompatible with chicken4. 00:07:24 Mr-Cat: that i know... but chicken website lists only eggs compatible with version 4 i presume since i know there was cairo egg before. 00:07:25 -!- rodge [n=user@pinball.ccs.neu.edu] has quit [Remote closed the connection] 00:08:14 no idea guys? :| 00:08:28 -!- tjafk1 [n=timj@e176209246.adsl.alicedsl.de] has quit ["Client exiting"] 00:08:50 tjafk [n=timj@e176209246.adsl.alicedsl.de] has joined #scheme 00:10:09 cel: that's a classic exam question. 00:10:16 rodge [n=user@pinball.ccs.neu.edu] has joined #scheme 00:10:31 cel: ...and the reason why you really want a `define/memoized' macro. 00:11:55 yep, define/memo is in planet 00:11:57 sladegen: Yes, there was a cairo egg. It is incompatible with chicken4, lacks some features, that are important for me and is imho ugly. So I started its refactoring. 00:12:06 but i prefer doing it myself (for the sake of learning) 00:13:01 cel: Yes -- defining a memoization macro is a good start. 00:14:05 -!- mejja [n=user@c-87bae555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 00:16:47 -!- djork [n=djork@c-76-100-204-238.hsd1.md.comcast.net] has quit [] 00:19:33 xomas [n=kooky@unaffiliated/xomas] has joined #scheme 00:26:45 raikov [i=cbb5f30b@gateway/web/ajax/mibbit.com/x-7fd124595d7b8150] has joined #scheme 00:26:49 djork [n=djork@c-76-100-204-238.hsd1.md.comcast.net] has joined #scheme 00:28:11 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 110 (Connection timed out)] 00:28:44 -!- djork [n=djork@c-76-100-204-238.hsd1.md.comcast.net] has left #scheme 00:35:22 neofreak: Which implementation are you using? 00:41:55 X-Scale [i=email@89-180-227-11.net.novis.pt] has joined #scheme 00:57:43 pltscheme 00:59:28 my problem is basically how to share data between threads 01:00:06 I know about mailboxes, but I'm looking for something more akin to global variables in imperative programming. 01:10:09 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Read error: 60 (Operation timed out)] 01:12:06 -!- sepult [n=sepult@xdsl-87-78-26-86.netcologne.de] has quit [Read error: 104 (Connection reset by peer)] 01:12:12 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 01:14:57 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 01:15:39 -!- Mr-Cat [n=Mr-Cat@93-81-158-14.broadband.corbina.ru] has quit [Remote closed the connection] 01:21:27 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 01:21:54 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 01:21:58 neofreak: If PLT Scheme has thread parameters, you can use those. 01:25:40 -!- Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- qebab [n=finnrobi@unicorn.nnordmark.com] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- gnomon [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- Leonidas [n=Leonidas@unaffiliated/leonidas] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- ecraven [n=nex@140.78.42.103] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- dmoerner [n=dmr@ppp-71-139-48-246.dsl.snfc21.pacbell.net] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- sphex [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- specbot [n=specbot@common-lisp.net] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- underspecified [n=eric-n@leopard175.naist.jp] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- subversus [i=elliot@loveturtle.net] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- saccade [n=saccade_@COMBINATOR.MIT.EDU] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- sjamaan [n=sjamaan@netbsd/developer/sjamaan] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- danking [n=danking@pinball.ccs.neu.edu] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- incubot [i=incubot@klutometis.wikitex.org] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- zbigniew [n=zb@3e8.org] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- dlouhy [n=jdlouhy@pinball.ccs.neu.edu] has quit [brown.freenode.net irc.freenode.net] 01:25:40 -!- tarbo [n=me@unaffiliated/tarbo] has quit [brown.freenode.net irc.freenode.net] 01:25:47 hum.. I don't know what that is. I've read some stuff that I think makes reference to that, I'll look it up. thanks! 01:26:03 -!- maskd [n=maskd@unaffiliated/maskd] has quit [brown.freenode.net irc.freenode.net] 01:26:03 -!- dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has quit [brown.freenode.net irc.freenode.net] 01:26:03 -!- arcfide [n=arcfide@adsl-99-14-210-123.dsl.bltnin.sbcglobal.net] has quit [brown.freenode.net irc.freenode.net] 01:26:03 -!- duper`` [n=duper@innu.org] has quit [brown.freenode.net irc.freenode.net] 01:26:13 incubot [i=incubot@klutometis.wikitex.org] has joined #scheme 01:26:13 zbigniew [n=zb@3e8.org] has joined #scheme 01:26:13 tarbo [n=me@unaffiliated/tarbo] has joined #scheme 01:26:13 dlouhy [n=jdlouhy@pinball.ccs.neu.edu] has joined #scheme 01:26:25 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [brown.freenode.net irc.freenode.net] 01:26:25 -!- nasloc__ [i=tim@kalug.ks.edu.tw] has quit [brown.freenode.net irc.freenode.net] 01:26:26 Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has joined #scheme 01:26:26 qebab [n=finnrobi@unicorn.nnordmark.com] has joined #scheme 01:26:26 gnomon [n=gnomon@CPE001d60dffa5c-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 01:26:26 ecraven [n=nex@140.78.42.103] has joined #scheme 01:26:26 Leonidas [n=Leonidas@unaffiliated/leonidas] has joined #scheme 01:26:27 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 01:26:27 dmoerner [n=dmr@ppp-71-139-48-246.dsl.snfc21.pacbell.net] has joined #scheme 01:26:27 sphex [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has joined #scheme 01:26:27 specbot [n=specbot@common-lisp.net] has joined #scheme 01:26:27 underspecified [n=eric-n@leopard175.naist.jp] has joined #scheme 01:26:27 subversus [i=elliot@loveturtle.net] has joined #scheme 01:26:27 saccade [n=saccade_@COMBINATOR.MIT.EDU] has joined #scheme 01:26:27 sjamaan [n=sjamaan@netbsd/developer/sjamaan] has joined #scheme 01:26:27 danking [n=danking@pinball.ccs.neu.edu] has joined #scheme 01:26:32 arcfide [n=arcfide@adsl-99-14-210-123.dsl.bltnin.sbcglobal.net] has joined #scheme 01:26:42 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 01:26:42 nasloc__ [i=tim@kalug.ks.edu.tw] has joined #scheme 01:26:44 dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has joined #scheme 01:26:44 duper`` [n=duper@innu.org] has joined #scheme 01:26:44 maskd [n=maskd@unaffiliated/maskd] has joined #scheme 01:26:47 -!- tarbo [n=me@unaffiliated/tarbo] has quit [SendQ exceeded] 01:26:55 -!- felipe [n=felipe@my.nada.kth.se] has quit [SendQ exceeded] 01:27:32 -!- dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has quit [] 01:28:38 neofreak: Actually, thread parameters are usually for defining thread local data. If you have things that need to be shared among threads, I usually use regular parameters or -- if the threads are all spawned in a single location or I only want to share data among a specific set of threads -- I wrap the thread spawner in a LET with the bindings I want. 01:29:22 I do not know how PLT Scheme's threading system works though, and I am just going by my experience with Chez Scheme. 01:29:53 tarbo [n=me@unaffiliated/tarbo] has joined #scheme 01:32:46 yeah, I'm trying something like what you said. I am spawing threads inside a let that binds an empty list. 01:33:08 If I change it within a thread, does it change within the other threads? 01:33:28 That's the result I first expected, and I'm not getting it.. 01:33:35 neofreak: Why not test it and find out? Are you familiar with how concurrency works? 01:34:02 neofreak: you might have to do some control over variable access with mutexes or some similar construct. 01:34:04 Yes, but only in imperative programming. I'm not worried with preventing race conditions and simultaneous access yet 01:34:53 Then just make one thread a printer that prints the results of the variable every few seconds, and make another that populates it every so often. 01:35:22 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #scheme 01:35:48 Yeah, I was going to try something similar to see what I get as soon as I finish reading about parameters. I don't really know what they are. 01:36:27 johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has joined #scheme 01:39:05 thanks for the tips :) 01:39:47 neofreak: if you don't need to use parameters, or if they aren't beneficial, then there's not need for the extra overhead, but they are a LOT nicer than not having them at all. 01:44:19 copumpkin [n=pumpkin@dhcp-210-180.cs.dartmouth.edu] has joined #scheme 01:45:54 AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has joined #scheme 01:48:18 -!- Balita [n=ase3w4e3@p7025-ipbfp1601fukuokachu.fukuoka.ocn.ne.jp] has quit ["Leaving..."] 01:50:29 nothingHappens_ [n=nothingh@173-25-176-111.client.mchsi.com] has joined #scheme 01:51:33 -!- mngbd [n=user@vie-nas-ge-0-2.onenet.at] has quit [Remote closed the connection] 01:51:35 -!- Axioplase_ is now known as Axioplase 01:53:28 djork__ [n=djork@c-76-100-204-238.hsd1.md.comcast.net] has joined #scheme 01:54:54 -!- copumpkin [n=pumpkin@dhcp-210-180.cs.dartmouth.edu] has quit [Client Quit] 02:00:15 -!- djork__ [n=djork@c-76-100-204-238.hsd1.md.comcast.net] has quit [] 02:09:06 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 02:13:24 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 02:13:56 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #scheme 02:15:46 jcowan [n=jcowan@cpe-74-68-154-18.nyc.res.rr.com] has joined #scheme 02:31:14 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [Read error: 113 (No route to host)] 02:32:09 sohum [n=sohum@unaffiliated/sohum] has joined #scheme 02:32:56 incoming controversial opinion: 02:32:59 The Supreme Court of the United States has decided to review the Bilski case. 02:33:48 there's more to elegance than simplicity of the base, there's the concept of "orthogonal elegance". scheme does not have orthogonal elegance. 02:35:14 The language does. The library does not. 02:35:53 this is an opinion I've been mulling over for some time - I didn't have a name for it until I read raganwalds article recently http://github.com/raganwald/homoiconic/blob/master/2009-03-07/surreal.md#readme 02:35:55 -rudybot:#scheme- http://tinyurl.com/chzhzx 02:36:14 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit ["Leaving."] 02:37:03 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 02:38:47 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 02:39:09 uhm that thing about surreal numbers seems quite interesting 02:40:26 it's not the surreal numbers bit that's particularly relevant, except where he argues that representing numbers in the surreal form scales in complexity better 02:41:07 jcowan: arguable. "orthogonal elegance" is the question of scaling complexity, of, in a pinch, how many layers of concepts you need to create vs complexity of the input/output behaviour. scheme the language requires quite a large number of these layers, maybe precisely because of how simple the base is 02:42:06 *jcowan* reads the article too 02:42:58 one paragraph summary: "This leads me to my personal definition of elegance. Elegance consists of building something out of a small core of representations that scale well. It is not enough that they be simple, the complexity of what you build must not grow uncontrollably as you try to solve bigger and more complex problems." 02:43:16 sphex_ [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has joined #scheme 02:45:18 mmmm i like the fact of a simple core from where you can build up, even if it does not scale well 02:45:48 it's not often that you can build a system from a small set of principles and understand it all from start to finish 02:45:56 and that's fine, I suppose. 02:46:04 -!- johnnowak [n=johnnowa@207-38-171-48.c3-0.wsd-ubr1.qens-wsd.ny.cable.rcn.com] has quit [] 02:46:16 it's like: hey! it does work and it's beautiful, i can get the whole idea 02:46:22 It just gives a name to a concept, a set of impedances, and a factor about the lisp family that answers a lot of questions 02:46:56 maybe that's what i like about forth too besides scheme/lisp 02:49:11 I guess the question is 02:49:22 can you build a system from a small set of principles 02:49:30 (slightly larger if necessary) 02:49:39 and also have it scale to larger projects? 02:49:55 i think you can 02:50:11 but maybe there is a contradiction there 02:50:45 as the system scales it's hard for it to be a small set of principles anymore 02:51:00 well 02:51:07 it's always the same principles 02:51:17 sohum: one of the key factors I would say is that although many layers may be required, this fact is transparent to those operating at ever-higher layers. 02:51:36 (going back to a previous comment on how many layers are required to reach lofty abstractions) 02:51:54 there was a quote by Larry Wall that i really liked 02:52:14 "every problem can be solved by adding another layer of abstraction, except having too many layers of abstraction" 02:52:41 metasyntax: good point. though I suppose theoretically that's fine, but in practice leaky abstractions, differing abstractions, and general confusion abides when these abstractions are not in the spec 02:52:42 It's not evident that you're boring down through a thousand function calls and macros, it looks like just another piece of the language. Cue Paul Graham quote here about building the language up as you build your solution down. 02:54:58 sohum: I agree. Perhaps one could look to the keepers of the standards as the first and prime examples of how to build good abstraction layers. 02:55:22 actually, that's a good argument for why scheme is a good language for building up this orthogonally elegant set of primitives from 02:56:01 hi guys, you can test the java-based scheme performance (as jscheme, scsch, ..) using the performance version of jvm as it https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u14-p2-oth-JPR@CDS-CDS_Developer , not the official version jdk-6u14-oth-JPR, some numbers can be nice :) 02:56:02 -rudybot:#scheme- http://tinyurl.com/nj3ztg 03:00:41 -!- sphex [n=nobody@modemcable185.138-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 03:15:06 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 03:18:44 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 03:37:16 copumpkin [n=pumpkin@Aeropuerto.Kiewit.Dartmouth.EDU] has joined #scheme 03:41:59 -!- luz [n=davids@189.122.121.232] has quit ["Client exiting"] 03:46:47 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 03:54:13 Well, folks, it's time I take a nap -- hopefully I'll awake running PLT scheme 4.2 03:54:54 -!- rudybot [n=luser@q-static-138-125.avvanta.com] has quit [Remote closed the connection] 04:02:06 man, this rebuilding of scribble docs is _killing_ me 04:02:14 athos [n=philipp@92.250.250.68] has joined #scheme 04:02:17 In the mainstreamish schemes (well, say PLT/DrScheme) - how does the implementation actually do call/cc? Is a C-app-style stack actually copied? Or is all the code in CPS form? 04:02:30 beats me! 04:02:32 Next question. 04:04:18 Every implementation of a sequential, recursive programming language employs a continuation-passing style at some level. 04:07:46 There is a nice paper by Clinger, Hartheimer, and Ost concerning several strategies for implementing continuations and their reification as objects with indefinite extent; the paper has some obvious name like `Implementation Strategies for Continuations'. 04:09:19 -!- AtnNn [n=welcome@modemcable087.62-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 04:09:26 Modius: In plt no part of the stack is copied, only references to various places within the stack. 04:09:48 synx: Is the stack a linked list that gets tail-shared? 04:10:56 Uh...yes... 04:12:02 By that you mean two "stacks" that both extend from one will both be the same objects beyond the point they diverge? 04:12:24 rudybot [n=luser@q-static-138-125.avvanta.com] has joined #scheme 04:12:38 rudybot: geez, took you long enough 04:12:39 offby1: eh? Try "rudybot: help". 04:12:40 synx: Sure. 04:12:43 rudybot: eval (banner) 04:12:44 offby1: your sandbox is ready 04:12:44 offby1: ; Value: "Welcome to MzScheme v4.2 [3m], Copyright (c) 2004-2009 PLT Scheme Inc.\n" 04:12:45 I'm pretty sure plt does that... that's the whole reason for making lists immutable in the first place. 04:13:21 *Riastradh* blinks. 04:14:00 I sincerely doubt whether the default immutability of pairs in PLT Scheme is in any way related to the representation of continuations and the process by which they are reified. 04:14:29 No it's related to the way the argument stack is tail-shared between continuations. 04:15:02 The stack itself being a thus immutable list. 04:15:39 felipe [n=felipe@my.nada.kth.se] has joined #scheme 04:16:46 -!- Modius [n=Modius@ppp-70-243-83-52.dsl.austtx.swbell.net] has quit ["I'm big in Japan"] 04:18:46 -!- Def [n=joe@c-71-238-45-45.hsd1.mi.comcast.net] has quit [Remote closed the connection] 04:19:06 Def [n=joe@c-71-238-45-45.hsd1.mi.comcast.net] has joined #scheme 04:22:53 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 04:31:31 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- XTL [i=t6haha00@rhea.oamk.fi] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- Def [n=joe@c-71-238-45-45.hsd1.mi.comcast.net] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- araujo [n=araujo@gentoo/developer/araujo] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- arcfide [n=arcfide@adsl-99-14-210-123.dsl.bltnin.sbcglobal.net] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- dfeuer [n=dfeuer@wikimedia/Dfeuer] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- tjafk [n=timj@e176209246.adsl.alicedsl.de] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- Quadrescence [n=quad@unaffiliated/quadrescence] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- ASau [n=user@193.138.70.52] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- fishey [n=fisheyss@ool-4573344b.dyn.optonline.net] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- tizoc [n=user@unaffiliated/tizoc] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- CaptainMorgan [n=CaptainM@75.68.42.94] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- wrldpc [n=worldpea@pool-173-48-214-204.bstnma.fios.verizon.net] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- wy_ [n=wy@66.194.68.209] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- Adrinael [i=adrinael@rid7.kyla.fi] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- Mr_Awesome [n=eric@pool-72-69-246-23.chi01.dsl-w.verizon.net] has quit [brown.freenode.net irc.freenode.net] 04:31:31 -!- elf [i=elf@antenora.aculei.net] has quit [brown.freenode.net irc.freenode.net] 04:32:21 ASau [n=user@193.138.70.52] has joined #scheme 04:33:59 anyone have a good example of macros for destructuring bind of define-type or define-structures ? 04:35:03 Lilarcor [n=Lilarcor@208-59-127-143.c3-0.161-ubr1.lnh-161.md.cable.rcn.com] has joined #scheme 04:35:33 elf [i=elf@antenora.aculei.net] has joined #scheme 04:35:51 Adrinael [n=adrinael@barrel.rolli.org] has joined #scheme 04:36:03 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 04:36:35 npe_ [n=npe@d54C450C4.access.telenet.be] has joined #scheme 04:36:37 Def [n=joe@c-71-238-45-45.hsd1.mi.comcast.net] has joined #scheme 04:36:42 -!- npe [i=npe@d54C450C4.access.telenet.be] has quit [Read error: 54 (Connection reset by peer)] 04:37:33 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 04:37:33 arcfide [n=arcfide@adsl-99-14-210-123.dsl.bltnin.sbcglobal.net] has joined #scheme 04:37:33 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 04:37:33 tjafk [n=timj@e176209246.adsl.alicedsl.de] has joined #scheme 04:37:33 Quadrescence [n=quad@unaffiliated/quadrescence] has joined #scheme 04:37:33 fishey [n=fisheyss@ool-4573344b.dyn.optonline.net] has joined #scheme 04:37:33 tizoc [n=user@unaffiliated/tizoc] has joined #scheme 04:37:33 CaptainMorgan [n=CaptainM@75.68.42.94] has joined #scheme 04:37:33 wrldpc [n=worldpea@pool-173-48-214-204.bstnma.fios.verizon.net] has joined #scheme 04:37:33 wy_ [n=wy@66.194.68.209] has joined #scheme 04:37:33 Mr_Awesome [n=eric@pool-72-69-246-23.chi01.dsl-w.verizon.net] has joined #scheme 04:37:33 XTL [i=t6haha00@rhea.oamk.fi] has joined #scheme 04:37:38 -!- XTL [i=t6haha00@rhea.oamk.fi] has quit [Remote closed the connection] 04:37:51 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 04:38:26 -!- araujo [n=araujo@gentoo/developer/araujo] has quit [SendQ exceeded] 04:39:45 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 04:42:51 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 04:44:31 XTL [i=t6haha00@rhea.oamk.fi] has joined #scheme 04:45:36 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 04:48:46 wy [n=wy@66.194.68.209] has joined #scheme 04:49:46 -!- jcowan [n=jcowan@cpe-74-68-154-18.nyc.res.rr.com] has quit ["Bailing out"] 04:50:43 -!- wy_ [n=wy@66.194.68.209] has quit [Connection timed out] 05:05:14 holy shit; look at the size of his lambda: http://www.ccs.neu.edu/home/will/Personal/western2.jpg 05:05:50 sepult [n=sepult@xdsl-87-78-74-250.netcologne.de] has joined #scheme 05:06:21 bless his heart for offering a link to the fulltext of ``Implementation strategies for first-class continuations'' 05:06:50 http://www.springerlink.com/content/h5808n962434j275/fulltext.pdf 05:07:30 incubot: and fuck the ACM for trying to lock it down 05:07:33 excuse me, but what the fuck? 05:07:38 heh 05:09:50 incubot: who taught you such harsh language? 05:09:53 when do you think it should be taught? 05:10:09 incubot: when you're an old, sophisticated bot 05:10:12 In any case, if you want more sophisticated buffer switching mechanisms, look into iswitchb and (as insheerdread mentioned) ido-mode. 05:18:24 -!- arcfide [n=arcfide@adsl-99-14-210-123.dsl.bltnin.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 05:19:04 is that a lambda on his belt buckle, or is he just eager to evaluate? 05:19:33 incubot: iswitchb makes my thumb joints ache. 05:19:36 offby1: nice 05:19:36 I ache everywhere right now, though. 05:22:40 -!- athos [n=philipp@92.250.250.68] has quit [Remote closed the connection] 05:27:32 offby1: tried ido or icicles? 05:35:06 i use ido, yes i do 05:45:38 mmc [n=mima@cs141012.pp.htv.fi] has joined #scheme 05:46:58 la kato sidas sur la bela tablo 05:47:56 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["Lost terminal"] 05:48:05 -!- ASau [n=user@193.138.70.52] has quit ["off"] 05:50:57 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit [Read error: 54 (Connection reset by peer)] 05:51:43 offby1 [n=user@q-static-138-125.avvanta.com] has joined #scheme 05:58:39 -!- meanburrito920_ [n=John@76-217-6-100.lightspeed.irvnca.sbcglobal.net] has quit ["has been attacked by a grue"] 06:01:05 -!- mmc [n=mima@cs141012.pp.htv.fi] has quit ["Leaving."] 06:01:05 are there any non-scheme lisps that have syntax-case? 06:17:45 -!- Lilarcor [n=Lilarcor@208-59-127-143.c3-0.161-ubr1.lnh-161.md.cable.rcn.com] has quit ["The Lord of Murder Shall Perish."] 06:25:36 ice_man` [n=user@CPE000d6074b550-CM001a66704e52.cpe.net.cable.rogers.com] has joined #scheme 06:26:18 I LOVE SCHEME!!!!! I just wanted to share that with everybody. 06:27:37 I just had the most wonderfully productive coding session and I am always amazed at how incredibly powerful this language is. 06:28:18 Thank you, thank you, thank you PLT scheme people for the wonderful implementation. 06:28:32 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 06:32:59 -!- ice_man` [n=user@CPE000d6074b550-CM001a66704e52.cpe.net.cable.rogers.com] has left #scheme 06:41:19 eno__ [n=eno@adsl-70-137-144-136.dsl.snfc21.sbcglobal.net] has joined #scheme 06:41:27 -!- a-s [n=user@92.85.204.10] has quit [Connection timed out] 06:44:25 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [] 06:47:35 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 06:47:46 HG` [n=wells@xdslff202.osnanet.de] has joined #scheme 06:48:39 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 06:51:38 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 110 (Connection timed out)] 06:52:36 ikaros [n=ikaros@e176226204.adsl.alicedsl.de] has joined #scheme 07:01:29 amoe [n=amoe@cpc1-brig3-0-0-cust512.brig.cable.ntl.com] has joined #scheme 07:01:34 mmc [n=mima@esprx01x.nokia.com] has joined #scheme 07:03:31 ASau [n=user@host223-230-msk.microtest.ru] has joined #scheme 07:07:37 -!- synthase [n=synthase@adsl-230-35-217.mob.bellsouth.net] has quit [Read error: 110 (Connection timed out)] 07:09:31 mike [n=m@p54A1D6C3.dip.t-dialin.net] has joined #scheme 07:09:59 -!- mike is now known as Guest26484 07:15:58 -!- sepult [n=sepult@xdsl-87-78-74-250.netcologne.de] has quit ["leaving"] 07:31:35 sepult [n=sepult@xdsl-87-78-74-250.netcologne.de] has joined #scheme 07:36:51 barney [n=bernhard@p549A1F2C.dip0.t-ipconnect.de] has joined #scheme 07:56:23 -!- Guest26484 [n=m@p54A1D6C3.dip.t-dialin.net] has quit ["This computer has gone to sleep"] 07:58:28 ice_man` [n=user@CPE000d6074b550-CM001a66704e52.cpe.net.cable.rogers.com] has joined #scheme 08:02:51 -!- ice_man` [n=user@CPE000d6074b550-CM001a66704e52.cpe.net.cable.rogers.com] has quit [Client Quit] 08:03:38 -!- ikaros [n=ikaros@e176226204.adsl.alicedsl.de] has quit [Remote closed the connection] 08:21:41 -!- npe_ [n=npe@d54C450C4.access.telenet.be] has quit [] 08:28:04 -!- tttsssttt [n=pussycat@topol.nat.praha12.net] has quit [Read error: 60 (Operation timed out)] 08:30:58 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 08:31:17 synx: No. PLT Does copy bits of stack, and continuations have absolutely nothing to do with immutable pairs. 08:36:30 klutometis: I see no lambda on the picture 08:36:31 tttsssttt [n=pussycat@topol.nat.praha12.net] has joined #scheme 08:37:05 His belt buckle looks like a deer more than anything else 08:39:15 wingo [n=wingo@ATuileries-152-1-16-81.w82-123.abo.wanadoo.fr] has joined #scheme 08:53:25 -!- barney [n=bernhard@p549A1F2C.dip0.t-ipconnect.de] has quit [brown.freenode.net irc.freenode.net] 08:53:25 -!- amoe [n=amoe@cpc1-brig3-0-0-cust512.brig.cable.ntl.com] has quit [brown.freenode.net irc.freenode.net] 08:53:25 -!- dfeuer [n=dfeuer@wikimedia/Dfeuer] has quit [brown.freenode.net irc.freenode.net] 08:53:25 -!- tjafk [n=timj@e176209246.adsl.alicedsl.de] has quit [brown.freenode.net irc.freenode.net] 08:53:25 -!- CaptainMorgan [n=CaptainM@75.68.42.94] has quit [brown.freenode.net irc.freenode.net] 08:53:25 -!- Quadrescence [n=quad@unaffiliated/quadrescence] has quit [brown.freenode.net irc.freenode.net] 08:53:25 -!- tizoc [n=user@unaffiliated/tizoc] has quit [brown.freenode.net irc.freenode.net] 08:53:25 -!- wrldpc [n=worldpea@pool-173-48-214-204.bstnma.fios.verizon.net] has quit [brown.freenode.net irc.freenode.net] 08:53:25 -!- Mr_Awesome [n=eric@pool-72-69-246-23.chi01.dsl-w.verizon.net] has quit [brown.freenode.net irc.freenode.net] 08:53:25 -!- fishey [n=fisheyss@ool-4573344b.dyn.optonline.net] has quit [brown.freenode.net irc.freenode.net] 08:54:22 barney [n=bernhard@p549A1F2C.dip0.t-ipconnect.de] has joined #scheme 08:54:22 amoe [n=amoe@cpc1-brig3-0-0-cust512.brig.cable.ntl.com] has joined #scheme 08:54:22 dfeuer [n=dfeuer@wikimedia/Dfeuer] has joined #scheme 08:54:22 tjafk [n=timj@e176209246.adsl.alicedsl.de] has joined #scheme 08:54:22 Quadrescence [n=quad@unaffiliated/quadrescence] has joined #scheme 08:54:22 fishey [n=fisheyss@ool-4573344b.dyn.optonline.net] has joined #scheme 08:54:22 tizoc [n=user@unaffiliated/tizoc] has joined #scheme 08:54:22 CaptainMorgan [n=CaptainM@75.68.42.94] has joined #scheme 08:54:22 wrldpc [n=worldpea@pool-173-48-214-204.bstnma.fios.verizon.net] has joined #scheme 08:54:22 Mr_Awesome [n=eric@pool-72-69-246-23.chi01.dsl-w.verizon.net] has joined #scheme 09:00:55 Judofyr [n=Judofyr@084202205021.customer.alfanett.no] has joined #scheme 09:06:45 npe [n=npe@195.207.5.2] has joined #scheme 09:08:04 Judofyr_ [n=Judofyr@c2391BF51.dhcp.bluecom.no] has joined #scheme 09:13:27 -!- Axioplase is now known as Axioplase_ 09:23:26 exexex [n=chatzill@85.101.219.34] has joined #scheme 09:23:39 alaricsp [n=alaricsp@88-202-206-145.rdns.as8401.net] has joined #scheme 09:24:10 jewel_ [n=jewel@dsl-242-188-164.telkomadsl.co.za] has joined #scheme 09:37:48 -!- Judofyr [n=Judofyr@084202205021.customer.alfanett.no] has quit [Read error: 113 (No route to host)] 09:38:11 wingo_ [n=wingo@ATuileries-153-1-15-193.w82-123.abo.wanadoo.fr] has joined #scheme 09:42:46 -!- wingo [n=wingo@ATuileries-152-1-16-81.w82-123.abo.wanadoo.fr] has quit [Read error: 110 (Connection timed out)] 10:13:03 -!- jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 10:27:47 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["The funniest things in my life are truth and absurdity."] 10:39:55 -!- barney [n=bernhard@p549A1F2C.dip0.t-ipconnect.de] has quit [Remote closed the connection] 10:42:31 -!- sepult [n=sepult@xdsl-87-78-74-250.netcologne.de] has quit ["leaving"] 10:49:24 LunohoD_ [n=alex@e180073010.adsl.alicedsl.de] has joined #scheme 10:50:38 Mastoco [n=user@a88-115-8-123.elisa-laajakaista.fi] has joined #scheme 10:51:11 -!- LunohoD [n=alex@e180073246.adsl.alicedsl.de] has quit [Read error: 60 (Operation timed out)] 10:51:12 -!- LunohoD_ is now known as LunohoD 10:56:45 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 10:58:19 `Antonio` [n=kvirc@92.5.82.157] has joined #scheme 10:58:34 *`Antonio`* good morning ! 11:01:34 -!- CaptainMorgan [n=CaptainM@75.68.42.94] has quit [SendQ exceeded] 11:04:06 Edico [n=Edico@unaffiliated/edico] has joined #scheme 11:06:43 Guest26484 [n=m@p54A1D6C3.dip.t-dialin.net] has joined #scheme 11:07:37 dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has joined #scheme 11:08:29 -!- Guest26484 [n=m@p54A1D6C3.dip.t-dialin.net] has quit [Client Quit] 11:09:18 -!- raikov [i=cbb5f30b@gateway/web/ajax/mibbit.com/x-7fd124595d7b8150] has quit ["http://www.mibbit.com ajax IRC Client"] 11:32:35 synthase [n=synthase@74.230.35.217] has joined #scheme 11:37:03 cracki [n=cracki@46-203.eduroam.RWTH-Aachen.DE] has joined #scheme 11:52:57 -!- dsmith [n=dsmith@cpe-173-88-196-177.neo.res.rr.com] has quit ["Leaving"] 11:53:57 Mr-Cat [n=Mr-Cat@h73.net38.bmstu.ru] has joined #scheme 11:54:25 raikov [n=igr@61.127.191.238] has joined #scheme 11:57:16 -!- cel [n=cel@45.Red-83-40-224.dynamicIP.rima-tde.net] has quit [] 11:59:09 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has left #scheme 11:59:30 MichaelRaskin [n=MichaelR@213.171.48.239] has joined #scheme 12:02:04 -!- jewel_ [n=jewel@dsl-242-188-164.telkomadsl.co.za] has quit [Connection timed out] 12:02:06 Axioplase [n=Pied@p1058-ipbf905aobadori.miyagi.ocn.ne.jp] has joined #scheme 12:04:29 -!- Mr-Cat [n=Mr-Cat@h73.net38.bmstu.ru] has quit ["    (xchat 2.4.5  )"] 12:07:02 jewel_ [n=jewel@dsl-242-188-164.telkomadsl.co.za] has joined #scheme 12:08:32 Nshag [i=user@Mix-Orleans-106-3-160.w193-248.abo.wanadoo.fr] has joined #scheme 12:09:36 -!- metasyntax [n=taylor@pool-71-127-125-129.aubnin.fios.verizon.net] has quit [""Nichts mehr.""] 12:21:44 -!- rstandy [n=rastandy@net-93-144-190-50.t2.dsl.vodafone.it] has quit [Read error: 54 (Connection reset by peer)] 12:22:24 rstandy` [n=rastandy@net-93-144-190-50.t2.dsl.vodafone.it] has joined #scheme 12:28:29 nan8 [n=user@88.64.152.136] has joined #scheme 12:29:13 -!- raikov [n=igr@61.127.191.238] has quit [Remote closed the connection] 12:32:34 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit ["+++ killed by SIGSEGV +++"] 12:33:13 -!- jewel_ [n=jewel@dsl-242-188-164.telkomadsl.co.za] has quit [No route to host] 12:36:27 -!- rstandy` [n=rastandy@net-93-144-190-50.t2.dsl.vodafone.it] has quit [Remote closed the connection] 12:41:10 -!- MichaelRaskin [n=MichaelR@213.171.48.239] has quit [Remote closed the connection] 13:09:08 annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 13:13:44 -!- copumpkin [n=pumpkin@Aeropuerto.Kiewit.Dartmouth.EDU] has quit [Client Quit] 13:18:54 -!- nothingHappens_ [n=nothingh@173-25-176-111.client.mchsi.com] has quit ["Ex-Chat"] 13:21:17 ikaros [n=ikaros@f051082018.adsl.alicedsl.de] has joined #scheme 13:23:55 cel [n=cel@45.Red-83-40-224.dynamicIP.rima-tde.net] has joined #scheme 13:24:00 evening 13:30:13 -!- Judofyr_ is now known as Judofyr 13:34:47 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 13:45:20 mmmm, there has to be a better way to convert a char to a digit than this... 13:45:27 (define (char->number char) 13:45:27 (case char 13:45:27 ((#\1) 1) ((#\2) 2) ((#\3) 3) ((#\4) 4) ((#\5) 5) 13:45:27 ((#\6) 6) ((#\7) 7) ((#\8) 8) ((#\9) 9) ((#\0) 0))) 13:46:40 maybe char->integer with an offset 13:48:44 The old C method: (- (char->integer c) (char->integer # 13:49:02 yep, i came out with (- (char->integer char) 48)) 13:50:41 Oops, IRSSI at my output or something, should be (char->integer #\\0) at the end. 13:51:12 > (char->integer #\0) 13:51:12 1048 13:51:16 cel: better use metasyntax|work's version. 13:51:55 luz [n=davids@189.122.121.232] has joined #scheme 13:52:09 #\0 is not guaanteed to be 48. 13:52:10 Otherwise you could hit problems with non-ASCII, non-UTF-8 13:52:36 even in ascii 13:53:22 for example scheme48 provides "special" char->ascii 13:53:22 uhm 13:53:42 or was that scsh... anyway. 13:54:44 in both petite and mzscheme (char->integer #\0) yields 48 13:54:58 why could it be different? i mean, what's the reason for it? 13:55:09 r5rs 13:56:02 for safety i'll use (char->integer #\0) then 13:56:03 eli: oh... sorry then. I thought it was more efficient to use call/cc 13:56:18 cel, the reason is that the R5RS doesn't say anything about the nature of the integers you get beyond that CHAR->INTEGER and INTEGER->CHAR preserve order in the sense of CHAR<=?. 13:56:40 jewel_ [n=jewel@dsl-242-188-164.telkomadsl.co.za] has joined #scheme 13:57:15 Scheme48's definition of CHAR->INTEGER and INTEGER->CHAR catch some mistakes caused by assuming more than the R5RS provides. 13:57:43 *sladegen* feels victimised. 13:57:49 maybe best would be to use a lookup table ;-) 13:59:33 it's good to know those things 13:59:41 they seem strange pitfalls to me 14:00:36 ablaert [n=opera@pc-97-164-214-201.cm.vtr.net] has joined #scheme 14:02:19 -!- ablaert [n=opera@pc-97-164-214-201.cm.vtr.net] has left #scheme 14:03:02 maybe (define (char->number char) (cdr (assoc char (list-tabulate 10 (lambda(x) (cons (string-ref (format "~s" x) 0) x)))))) ? 14:03:21 (didn't inspect how much non-r5rs is in there) 14:03:47 i just settled with the char->number procedure i've put above 14:04:26 at least until i understand how r5rs char<= char->integer and such things really work and why it can fail 14:04:36 -!- kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 14:05:06 bhrgunatha [n=chatzill@118-170-94-42.dynamic.hinet.net] has joined #scheme 14:07:07 cel: It *is* strange. 14:07:29 cel: You might be looking for #\nul 14:07:36 cel: Using 48 in PLT is fine, but I'd still go with the (char->integer #\0) approach. 14:07:47 #\0 is the ASCII numeral / Unicode code point for '0' 14:08:16 (define (char->number char) (cdr (assoc char (list-tabulate 10 (lambda(x) (cons (string-ref (number->string x) 0) x)))))) 14:08:25 (using srfi-1) 14:08:27 eli: yes, 48 works in all my interpreters, my problem is not that it works 14:08:49 the program works either way, using 48, (char->integer #\0) a lookup with (case...) etc 14:09:08 but i would like to learn why it can fail even if it doesn't 14:09:28 synx what's interesting about #\nul ? 14:09:29 why...what can fail? 14:09:33 synx: Using call/cc is slow in PLT for that reason. It is fast in implementations that have a different implementation strategy (like Chicken, I think), where `call/cc' is (or should be, at least) as expensive as `cons'. 14:09:57 cel: A null character's integer equivalent is 0. 14:10:06 binary bits are all zeroed. 14:10:53 It's easy to mistake #\0 for the first character of "\0", but they're entirely different things. Just wanted to make sure that wasn't the case... 14:11:54 it probably was, too 14:12:13 I believe cel wanted a map between the characters of numerals and the numerical values of those numerals. 14:12:16 eli: Interesting. I'll be sure to leave it out of deeply nested loops then. 14:12:28 Riastradh yes, exactly 14:13:12 OK just making sure. 14:14:49 it's interesting how the standard is exact about many things yet it leaves others like this one to each implementation 14:16:28 synx: See http://list.cs.brown.edu/pipermail/plt-scheme/2009-March/031667.html for example. 14:19:16 The numeric value of a character depends on what character encoding is used. #\0 in 32 bit little-endian UTF-32 for instance is 805306368 14:20:17 No, synx. 14:21:33 -!- ikaros [n=ikaros@f051082018.adsl.alicedsl.de] has quit ["Leave the magic to Houdini"] 14:21:47 First of all, the Unicode code point U+0000 is, in fact, the number 0. (The set of Unicode code points is a subset of the integers in the interval [0, 2^21).) 14:22:39 (Actually it's even more limited than that: it's the integers in the interval [0, #x110000).) 14:24:05 -!- HG` [n=wells@xdslff202.osnanet.de] has quit [Client Quit] 14:24:40 The Unicode code point U+0030 is, in fact, the number #x30. This code point denotes the encoded character named DIGIT ZERO. 14:25:31 If you encode this number in little-endian UTF-32, what you obtain is not a number but a sequence of four octets, #x30 0 0 0. 14:26:08 To obtain the number 805306368, you must subsequently reinterpret these octets as an integer in a big-endian representation. 14:26:51 But the encoded character DIGIT ZERO has only one numeric value associated with it as its code point, and that value is the number 48. 14:27:15 So it will never change, not even between different scheme implementations? 14:27:30 Now, all my terms here have been Unicode terms, so to be precise I ought to have prefixed the terms by `Unicode': `the Unicode encoded character DIGIT ZERO has only one numeric value associated with it as its Unicode code point, and that value is the number 48.' 14:27:31 That is, (char->integer #\0) can be substituted safely with 48? 14:27:34 No. 14:27:55 -!- metasyntax|work [n=taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has quit ["Changing server"] 14:28:04 In the R5RS, you are guaranteed nothing about CHAR->INTEGER and INTEGER->CHAR beyond that they implement an order-preserving isomorphism between integers under <= and characters under CHAR<=?. 14:28:33 So char->integer does not necessarily produce the unicode code point. 14:29:39 In the R6RS, CHAR->INTEGER and INTEGER->CHAR map between Unicode scalar values (which consist of the Unicode code points except for the Unicode surrogate code points) and Scheme characters. 14:29:48 -!- bhrgunatha [n=chatzill@118-170-94-42.dynamic.hinet.net] has quit ["ChatZilla 0.9.84 [Firefox 3.5pre/20090601031352]"] 14:29:56 rjack [n=rjack@adsl-ull-119-129.51-151.net24.it] has joined #scheme 14:30:30 Nice of them to specify that. 14:30:34 -!- ASau [n=user@host223-230-msk.microtest.ru] has quit ["off"] 14:30:53 In the R6RS a character is basically a tagged Unicode scalar value. 14:34:52 -!- eno__ is now known as eno 14:34:55 Guest83317 [n=daedra@unaffiliated/daedra] has joined #scheme 14:36:18 jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 14:36:25 What is a more modern equivalent of SICP? MIT now uses python to teach a similar course - I was wondering if you guys knew what text they taught from 14:38:09 -!- Guest83317 [n=daedra@unaffiliated/daedra] has quit [Remote closed the connection] 14:38:19 mejja [n=user@c-87bae555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 14:41:24 barney [n=bernhard@p549A1F2C.dip0.t-ipconnect.de] has joined #scheme 14:51:55 I'm not even sure they use a textbook for that. 14:52:11 gladiator [n=gladiato@203.81.197.196] has joined #scheme 14:52:24 hi .. how do i check if a list is empty? 14:52:46 ive come accross empty? and null? methods .. but none of them seem to be working .. 14:52:46 as far as I know (very little), they rather do it the IT way. Herés a robot, herés python, make a buggy program. Welcome to real-life oriented programming. 14:52:59 gladiator: null? 14:53:07 null? should be working 14:53:17 or (not (pair? your-list)) 14:53:35 r5rs null? 14:53:35 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_410 14:53:38 -rudybot:#scheme- http://tinyurl.com/6o68us 14:53:53 Axioplase: yea .. null? is working .. i had another error :) 14:56:31 is there a method that will flatten a list of lists? 14:57:56 i wrote this: (define (flatten list_of_lists) 14:57:56 (if (null? list_of_lists) '() (append (car list_of_lists) (flatten (cdr list_of_lists))))) but i think i am missing a lot of cases... 15:00:24 mostly all of them... 15:00:38 annodomini [n=lambda@130.189.179.215] has joined #scheme 15:03:45 do you want to flatten a list of lists of objects ? or a list possibly containing both non-lists and nested lists such as the whole one ? 15:04:12 (probably allowing the input in the latter case to be a non-list as well) 15:04:18 gladiator: apply append 15:04:33 Daemmerung [n=goetter@1133sae.mazama.net] has joined #scheme 15:05:29 bombshelter13_ [n=bombshel@toronto-gw.adsl.erx01.mtlcnds.ext.distributel.net] has joined #scheme 15:06:02 rudybot: eval (flatten '(((1 2 . 3) (4)) 5 (6))) 15:06:03 eli: your sandbox is ready 15:06:03 eli: ; Value: (1 2 3 4 5 6) 15:06:04 Axioplase: i figured it out .. here it is ... (define (flatten list) 15:06:04 (cond ((null? list) '()) 15:06:04 ((list? (car list)) (append (flatten (car list)) (flatten (cdr list)))) 15:06:04 (else 15:06:04 (cons (car list) (flatten (cdr list)))))) 15:06:05 Or you can consider your LoL as a general tree, in which case you just parse it and cons each leaf in an accumulator. 15:06:24 eli: flatten is already built in? 15:06:44 gladiator: It's part of the libraries in PLT Scheme. 15:07:11 eli: ahan .. i have no clue about that .. first day with scheme today ... 15:08:04 gladiator: If all you need is to use it (that is, it's not a homework or a fun exercise you're trying), and if you're using PLT Scheme, then you don't have to implement it. 15:09:31 eli: i think i am supposed to implement it myself .. my assignment wants me to find an element in a LoL at a given index.. just like list-ref 15:10:35 gladiator: In that case, I won't spoil your fun. 15:11:13 This is annoying. Google is returning hits for "lighting" (eg GL_LIGHTING) to my gnu+lightning+somethingelse query. So I tried the fresh new taste of Bing! and damn it but if it doesn't do the exact same damned thing. 15:12:36 Daemerung: But Its Not Google! 15:13:42 jao [n=jao@202.Red-83-42-111.dynamicIP.rima-tde.net] has joined #scheme 15:13:51 -!- jao [n=jao@202.Red-83-42-111.dynamicIP.rima-tde.net] has quit [Client Quit] 15:14:20 jao [n=jao@202.Red-83-42-111.dynamicIP.rima-tde.net] has joined #scheme 15:14:54 Daemmerung: bing.com? 15:15:17 eli: Yeah, apparently it's a "new and improved" Live Search. :-P 15:15:22 ..perhaps it /is/ Google, left-recursive acronym expansions notwithstanding. 15:15:49 cky/Daemmerung: What's improved about it? 15:16:14 The presence of the double negative after two expansions is suggestive. ((Bing Is Not Google) Is Not Google) -> Bing is Google. 15:16:15 (Besides suggesting I install MS's bad attempt at competing with flash.) 15:16:44 -!- jao [n=jao@202.Red-83-42-111.dynamicIP.rima-tde.net] has quit [Client Quit] 15:16:50 eli: No sliverlicht on this box, and yet I can use bing, if I so want to. Not yet sure that I do. 15:17:27 Well, I'm just annoyed by the fact that it suggests it. 15:17:35 *cky* has no idea, but if you're interested in reading MS marketing blurb: http://www.discoverbing.com/welcome/ 15:17:53 (My guess is that I'm annoyed at the suggestion in a similar way that Google became such a huge success.) 15:17:58 I really was hoping that Bing! would give me a paperclip upon using it to search for GNU+whatever. 15:18:17 dzhus [n=sphinx@95-24-99-201.broadband.corbina.ru] has joined #scheme 15:18:33 Oooh, even better -- "discover bing cashback" -- using a windows live id... 15:18:59 -!- nan8 [n=user@88.64.152.136] has left #scheme 15:19:27 Ah, so it *is* a microsoft thing. 15:19:55 ... "So far in 2009, there are four and a half websites created EVERY SECOND as the web continues to expand." ... 15:20:11 EVERY SECOND!?!? 15:20:27 Amuzing given that the live results thing that appears on the right for the PLT Scheme web page is severely out of date. 15:20:30 *Daemmerung* types breathlessly 15:20:41 s/z/s/ 15:21:08 eli: actually this bingholery is PLT Scheme relevant. I'm seeing what the obstacles for a Win64 Lightning might be. 15:21:57 *eli* considers openning a gambling site 15:22:51 -!- npe [n=npe@195.207.5.2] has quit [Read error: 113 (No route to host)] 15:22:56 Who do you gamble will crash faster and harder: bing "we're not mentioning MS on our front page" dot com; or wolfram "I'm the most important guy in the world" alpha? 15:23:18 Daemmerung: Why would win64 be a problem? 15:23:39 Different memory model than amd64 Linux. 15:24:33 jao [n=jao@202.Red-83-42-111.dynamicIP.rima-tde.net] has joined #scheme 15:25:26 And there was a Republican contender for WA state governor in the last election who wanted "GOP" on the ballot instead of Republican, for Bingish reasons. A nice tiny fracas ensued in which the Demos tried to force him to adverstise as a Repub. 15:25:42 Also to advertise as same. 15:25:58 Win64 is LLP64... 15:26:03 -!- Axioplase [n=Pied@p1058-ipbf905aobadori.miyagi.ocn.ne.jp] has quit ["/quat"] 15:27:08 Is it really possible that MS is investing in this without anyone telling them that *** advertising is annoying ***? 15:29:01 Daemmerung: is the llp64 the only ussye? 15:29:10 s/u/i/ 15:29:50 eli: ies. 15:30:07 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit ["Leaving."] 15:30:31 And upon further examination I should probably leave GNU Lightnin' alone and stick with the PLT Scheme fork, for forked it has. 15:30:47 Yes, it did. 15:31:05 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 15:31:46 paxcoder [n=paxcoder@unaffiliated/paxcoder] has joined #scheme 15:32:09 Daemmerung: In any case, that doesn't seem too bad for lightning reasons, 15:32:38 what's the difference betweein scheme and lisp apart from few different letters in predefined functions? could a translator between the two be easily built? 15:32:48 *between 15:32:58 Daemmerung: but it will be problematic in general -- look in src/foreign/foreign.ssc, after "Matthew says" 15:33:23 Daemmerung: the violation is the "sizeof(long) == sizeof(void*)" assumption. 15:33:28 paxcoder: No. 15:34:04 eli: synching my SVN to 4.2 even as I type. 15:34:36 Daemmerung: That comment didn't change in a long while... 15:35:20 -!- barney [n=bernhard@p549A1F2C.dip0.t-ipconnect.de] has quit [Remote closed the connection] 15:36:55 eli: Have to see how pervasive the issue is. I did this for Gambit a couple of months ago and it wasn't hard. Mind you, Gambit's formidable C preprocessor abuse gave me a leg up. 15:37:25 Daemmerung: +regarding +your +original +query, +the +thing +you +need +to +do +when +searching +google +now +is +to +put +"+" +in +front +of +every +word +you +want +to +search +on 15:37:45 +Thank +you +Chandler. 15:38:02 Daemmerung: +it's +driving +me +frackin' +nuts +lately +as +without +this +Google +will +even +ignore +words +in +your +query +if +it +thinks +it's +smarter +than +you. 15:38:49 A +paperclip by any other name.... 15:38:53 I'm really, really getting sick of it. 15:39:35 That prefix plus reminds me of the (old) Altavista engine. 15:40:49 Oh, much better! No more GL_LIGHTING hits. THanks again. 15:41:36 eli: any reason why? 15:41:46 answer to the first question? 15:41:57 hm... you know, if you just reuse the same prolog, you could take a stream of elements, and make each one a document. So you could stream and validate XML at the same time. 15:42:02 chandler: If that's to avoid the "this term appears in pages pointing to this page", then it's very far from new. 15:42:33 The stream itself would not be an XML document, but each message within it would. 15:43:38 paxcoder: continuations, nil and #f, lexical scope, single namespace, hygienic macros, no packages, keywords, case. Is that enough? 15:44:22 reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 15:44:22 eli: which one has more features? 15:44:57 i understand lisp is older. but i, being a noob, see little difference. that's why i ask. 15:45:13 paxcoder: They're just very different. Counting features will get you nowhere besides flamewars. 15:45:16 eli: It's gotten much, much worse in the past few months. It'll show pages that never, ever had that term in a link pointing to the page. Or it'll rewrite one of your words into something it thinks is better (lightning -> lighting, for instance). 15:45:50 paxcoder: you're asking on #scheme whether lisp is better than scheme. Take a wild guess as to the answer. 15:46:25 paxcoder: look for Dorai Sitaram's "scm2cl." When you grok that you'll better understand the issues involved. 15:46:28 chandler: ah, yes, these things turned from suggestion to actually doing it. 15:47:11 Daemmerung: thx 15:47:22 My answer is that scheme is a kind of lisp. 15:47:22 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 15:47:25 eli: that implies they're close. 15:47:37 And I will be less coy than eli - Common Lisp has more features. 15:47:51 paxcoder: what's "that" that you're referring to. 15:48:10 define features... I think SBCL has some good libraries? Not sure though. 15:48:12 eli: the fact that the answer to my question depends on the room i'm in. 15:48:35 I don't particularly like clisp's use of secret namespaces to allow a procedure and a non-procedure value to share the same name. 15:48:47 And re what Daemmerung just said -- the "standard" CL is richer than the "standard" scheme -- but it's subjective (and therefore flammable) whether "standard" has any relevance. 15:48:50 projections [n=projecti@88.235.101.2] has joined #scheme 15:48:59 *Daemmerung* agrees 15:49:33 also subjective whether more complex standards are always desirable. 15:49:39 paxcoder: huh? You can also ask here and in #python which is better -- scheme or python -- and the answer will depend on the channel too. 15:50:02 eli: i don't think python is that similar to scheme, unlike lisp 15:50:03 Which has more features, C or Pascal? 15:50:10 ikaros [n=ikaros@f051082018.adsl.alicedsl.de] has joined #scheme 15:50:16 hah try asking in #python I bet they tug uncomfortably at their collars before answering 15:50:30 *Daemmerung* loosens his collar with an index finger 15:50:36 Daemmerung: C for sure. Still off. If you'd ask me C or C++ that would perhaps be comparable to lisp and scm 15:51:17 synx: really? why do you figure? 15:51:23 you did not just compare scheme to C++ 15:51:25 paxcoder: No. 15:51:30 synx: For my benefit, please use "CL" to refer to Common Lisp. Otherwise I'll think you're specifically referring to GNU CLISP. 15:51:35 them's fightin' words *pulls back sleeves* 15:51:51 paxcoder: "standard" Python definitely has "more features" than "standard" C. 15:51:52 Daemmerung: please don't state your arguments all at once. 15:51:59 *Daemmerung* laughs 15:52:03 paxcoder: I'm just joking around. I'm a disgruntled python programmer. 15:52:47 chandler: sorry I forgot about that. CL it is! 15:53:21 paxcoder: The bottom line is that Scheme and Common Lisp are *very* different languages. The superficial similarity that many people see (look -- lots of parentheses) is just that: superficial. The syntactic similarity doesn't make them any closer than Java and C, for example. 15:53:45 :-D 15:53:45 This discussion reminds me of an article I saw here earlier... 15:53:47 I can't speak for C99, but for preceding versions of C I'd rather write a C compiler than a Pascal compiler. And not just because Pascal Is Not My Favorite Programming Language. 15:54:05 They are both descendants of the "original Lisp" aka Lisp1.5, but they diverged considerabely since then. 15:54:06 Daemmerung: I'm not sure under what definition of "feature" CL has more features than Scheme. CL has more library routines, of course, but many of those are trivial to write by hand. There are some language features like CLOS that are not present in R6RS, but R6RS has major features (macro hygiene, call/cc) which can't be written in CL. 15:54:55 eli: so scm did come out of lisp. ha! 15:55:02 *come from? 15:55:22 ASau [n=user@193.138.70.52] has joined #scheme 15:55:40 chandler: honestly, I haven't re-evaluated my native biases since R6 emerged. I'd have to rewalk the Hyperspec. It's been a long time. 15:55:53 scheme came out of MIT I think... I wasn't there though. 15:56:00 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit ["Leaving"] 15:56:14 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 15:57:09 paxcoder: Scheme came out of Lisp 1.5 -- they are very different languages, just like *Common* Lisp is very different from Lisp 1.5. 15:57:10 lisp's also MIT's brainchild 15:57:46 Perhaps you should do some research before making generalizations like that - or was that a question? 15:57:57 http://neopythonic.blogspot.com/2009/04/final-words-on-tail-calls.html 15:58:02 -!- wingo_ [n=wingo@ATuileries-153-1-15-193.w82-123.abo.wanadoo.fr] has quit [Read error: 113 (No route to host)] 15:58:02 chandler: who are you refering to? 15:58:07 paxcoder: You. 15:58:20 Lisp 1.5 came from MIT 15:58:28 athos [n=philipp@92.250.250.68] has joined #scheme 15:58:29 "refreshing that you stuck by your intuitions rather than submit to these TCO-requesting functional fiends." 15:58:31 npe [n=npe@d54C450C4.access.telenet.be] has joined #scheme 15:59:06 paxcoder: Quite a lot of work was done at Stanford as well. 15:59:18 1.6 15:59:27 I'm a functional fiend 15:59:38 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 15:59:45 paxcoder: This: "so scm did come out of lisp. ha!" is a guaranteed way to get you into flamewars. 15:59:56 -!- etoxam [n=eldragon@84.79.67.254] has quit [Read error: 110 (Connection timed out)] 16:00:01 *paxcoder* wears his fireman suit 16:00:31 -!- reprore [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 16:00:31 reprore__ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 16:00:35 paxcoder: It also shows how much you don't know on the subject, in probably something like four different ways. 16:00:39 etoxam [n=||||||||@84.79.67.254] has joined #scheme 16:00:58 i'm just asking. i know nothing about the two, really. i've only written two progs for scm (one of them yesterday) 16:00:59 synx: Wow. Once again, Guido's ignorance of the field he works in is astonishing. Does he not recognize trampoline style when he sees it? 16:01:18 -!- halfcore [i=support@ip136-63-210-87.adsl2.static.versatel.nl] has left #scheme 16:01:59 haha I don't think he does honestly. 16:02:10 paxcoder: For my benefit, if you're referring to the Scheme language, please write Scheme. If you're specifically referring to Aubrey Jaffer's implementation of the language (called SCM), write scm. 16:02:18 When I use a word, it means just what I choose it to mean -- neither more nor less. 16:02:23 one commenter recognizes it though. But not how slow it is. 16:02:29 *Daemmerung* types in a rather scornful tone 16:02:45 so we don't need definitions anymore 16:02:51 because you define as you please 16:02:54 8-) 16:02:55 mmm, it's hard to port a scheme program into lisp? (it uses only R4RS, no strange macros, or libraries) 16:03:02 chandler: ok. i meant scm anyway. 16:03:16 *offby1* pushes Daemmerung over 16:03:23 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 104 (Connection reset by peer)] 16:03:26 but i think the distinction between t the empty list, and #t y #f can bite me 16:03:34 i'm just gonna join #lisp and count ppl there XD 16:03:38 *Daemmerung* calls OnStar for all the King's horses and men 16:04:04 maybe i should ask them too LOL 16:04:08 cel: Hm? You're arguing that the distinction is a bad idea? 16:04:11 paxcoder: Good idea. 16:04:26 *paxcoder* chuckles 16:04:29 chandler, no, i like the distinction :) 16:04:39 Ah. 16:04:51 i'm trying to see if it could be difficult to port it 16:05:19 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 16:05:22 cel: that sounds like a perfect application of the Sitaram scm2cl. 16:05:27 and probably that distinction and the only one lexical environment for both procedures and variables will be the major problem 16:05:29 cel: Does it use syntax-rules macros? 16:05:34 -!- hiyuh [n=hiyuh@KD124214245222.ppp-bb.dion.ne.jp] has quit ["|_ e /\ \/ i |/| G"] 16:05:35 cel: Just remember that in CL you cannot invoke any lambdas. 16:05:36 no macros at all 16:05:43 it's just plain R4RS 16:05:46 synx: ... what? 16:05:48 about 1000 lines 16:05:56 what's R4RS? 16:06:07 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 16:06:07 chandler: I'm pretty sure you have to pass lambdas to the 'funcall' procedure to get them invoked ala apply. 16:06:09 synx: uhm you can't? there is funcall 16:06:35 by the way, Daemmerung, i'll dig into the scm2cl thing, it seems is just what i need :) 16:06:41 I'm not sure what you call it, where you put the procedure as the first member of the list, and its arguments after. 16:06:56 paxcoder: R4RS is the Revised Revised Revised Revised Report on the Algorithmic Language Scheme. It's an older version of the language. 16:08:55 -!- gladiator [n=gladiato@203.81.197.196] has quit [Read error: 110 (Connection timed out)] 16:09:25 gladiator [n=gladiato@203.81.197.196] has joined #scheme 16:10:07 cel: In my opinion, Dorai's translator is only useful if you've written your program to target the translator in the first place. If your program is written in a way that requires '() and #f to be distinguishable, or which requires proper TCO (and you don't want to depend on your particular CL implementation optimizing that), you'll need to clean that up by hand. 16:10:48 it's seems quite complex to us 16:10:50 *use 16:10:54 eli: isn't there a nill and #f/#t in lisp? 16:10:58 *nil 16:11:39 chandler i know the CL implementation i'll use supports tail recursion 16:12:12 chandler: which popular and well-liked CL impls don't support TCO? 16:12:16 i'll try to use the translator to check results, but probably in the end i'll have to do it by hand 16:12:24 (by the way i use SBCL) 16:12:25 I always feel uncomfortable depending on that, since I'm not aware of any implementation which always applies tail-call optimization regardless of the value of the DEBUG optimization level. 16:12:58 For debugging stack frames, I see. 16:13:51 X-Scale2 [i=email@89.180.227.11] has joined #scheme 16:15:56 -!- alaricsp [n=alaricsp@88-202-206-145.rdns.as8401.net] has quit [] 16:16:44 -!- sad0ur [n=sad0ur@84.42.251.245] has quit [Remote closed the connection] 16:16:56 sad0ur [n=sad0ur@psi.cz] has joined #scheme 16:17:10 There was discussion a few months ago on sbcl-devel about an explicit TAIL-CALL special form or OPTIMIZE setting, but I don't know what became of that. 16:17:23 mrscheme [n=user@209.120.179.205] has joined #scheme 16:19:08 if there are schemes on java/clr/javascript/python... it's strange there is no schemes on CL runtimes... 16:20:28 tjafk1 [n=timj@e176201137.adsl.alicedsl.de] has joined #scheme 16:20:39 mmmm 16:20:53 sladegen in fact that's what i'm trying to do 16:20:57 how about scheme on mlton... 16:21:13 Doesn't Norvig have one in PAIP? 16:21:15 or other *ml... 16:21:36 Daemmerung yes 16:22:31 this is the thing that i want to translate into cl 16:22:42 http://www.ccs.neu.edu/home/will/Twobit/src/scheme.scm 16:22:57 it mostly works with the scm2cl thing, but needs quite some changes and refactoring probably 16:23:18 i thought it would be nice to have a scheme interpreter embedded in common lisp if only for the toy factor 16:23:25 mike [n=m@p54A1D6C3.dip.t-dialin.net] has joined #scheme 16:23:41 scheme48 used to be bootstrapped from Lisp. 16:23:42 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 110 (Connection timed out)] 16:23:53 -!- mike is now known as Guest87794 16:24:18 hiyuh [n=hiyuh@KD124214245222.ppp-bb.dion.ne.jp] has joined #scheme 16:24:55 -!- mmc [n=mima@esprx01x.nokia.com] has quit ["Leaving."] 16:25:57 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 16:28:13 what about "mit/gnu scheme"? 16:28:52 -!- X-Scale [i=email@89-180-227-11.net.novis.pt] has quit [Connection timed out] 16:30:24 -!- cracki [n=cracki@46-203.eduroam.RWTH-Aachen.DE] has quit ["The funniest things in my life are truth and absurdity."] 16:30:50 -!- REPLeffect [n=REPLeffe@69.54.115.254] has quit [Read error: 113 (No route to host)] 16:31:03 incubot: what about mit/gnu scheme? 16:31:06 some reason i'm reminded of another children's book, which involves a dog who had his head pooped on, and he goes around asking all kinds of animals about whether they were the ones who pooped on his head 16:31:14 HG` [n=wells@xdslgg101.osnanet.de] has joined #scheme 16:31:56 McCarthy cuts material, Grand Imperial / It's a must that I bust any Scheme you hand to me 16:32:39 incubot: it was twitter that did it: http://hacklab.to/archives/the-hacklab-toilet-now-on-twitter/ 16:32:42 hey, do you twitter? 16:33:31 kniu [n=kniu@pool-71-107-56-85.lsanca.dsl-w.verizon.net] has joined #scheme 16:33:32 incubot: 2^8 irc channels is enough for anybody. 16:33:35 I suck at emacs... does anybody know a good way to switch [ with Shift-[ (i.e. swap square brackets and parens) 16:36:28 -!- tjafk [n=timj@e176209246.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 16:37:56 gladiator_ [n=gladiato@203.81.197.196] has joined #scheme 16:38:17 -!- gladiator [n=gladiato@203.81.197.196] has quit [Read error: 110 (Connection timed out)] 16:39:59 -!- paxcoder [n=paxcoder@unaffiliated/paxcoder] has left #scheme 16:40:21 -!- jewel_ [n=jewel@dsl-242-188-164.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 16:42:39 -!- fishey [n=fisheyss@ool-4573344b.dyn.optonline.net] has quit [Read error: 110 (Connection timed out)] 16:43:05 fishey [n=fisheyss@ool-4573344b.dyn.optonline.net] has joined #scheme 16:45:07 -!- Guest87794 [n=m@p54A1D6C3.dip.t-dialin.net] has quit ["This computer has gone to sleep"] 16:45:36 -!- cel [n=cel@45.Red-83-40-224.dynamicIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 16:45:41 cel [n=cel@45.Red-83-40-224.dynamicIP.rima-tde.net] has joined #scheme 16:47:12 incubot: two to the fighting eighth power 16:47:15 A typical high school math curriculum from what I've seen goes algebra I, geometry, algebra II (which often includes trig), pre-cal, and then calculus (if you took algebra in the eighth grade). 16:50:39 -!- gladiator_ [n=gladiato@203.81.197.196] has quit [Read error: 104 (Connection reset by peer)] 16:51:08 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 16:52:10 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [Read error: 60 (Operation timed out)] 16:53:16 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 16:53:22 foof [n=user@dn157-046.naist.jp] has joined #scheme 16:54:16 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 16:54:51 -!- HG` [n=wells@xdslgg101.osnanet.de] has quit [Read error: 110 (Connection timed out)] 16:55:09 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 16:57:32 -!- ikaros [n=ikaros@f051082018.adsl.alicedsl.de] has quit ["Leave the magic to Houdini"] 17:01:19 synx, quiz: what's the difference in meaning between `CL' and `clisp'? 17:01:27 metasyntax|work [n=taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has joined #scheme 17:02:22 Riastradh: CL is an acronym for Common Lisp, but clisp often if not always refers specifically to the implementation GNU clisp. 17:02:41 so like SBCL is not clisp 17:02:54 So what's this secret namespace stuff that CLISP in particular indulges in? 17:03:32 -!- metasyntax|work [n=taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has quit [Client Quit] 17:04:14 I said I was sorry! 17:04:45 ...oops, I missed that, sorry. 17:07:47 *synx* whimpers something about not the bad stick mommy 17:09:12 peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has joined #scheme 17:09:20 Great airport reading, #Schemie Dearest 17:11:40 -!- ASau [n=user@193.138.70.52] has quit [Remote closed the connection] 17:12:36 ASau [n=user@193.138.70.52] has joined #scheme 17:14:09 Daemmerung: I just asked Matthew, and he said that the llp64 thing is not going to be easy... 17:17:27 metasyntax|work [n=taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has joined #scheme 17:19:17 -!- jao [n=jao@202.Red-83-42-111.dynamicIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 17:20:27 eli: Because of a pervasive sizeof long == sizeof void * assumption, I presume. Oh, well. 17:20:51 REPLeffect [n=REPLeffe@69.54.115.254] has joined #scheme 17:21:56 jao [n=jao@100.Red-81-32-187.dynamicIP.rima-tde.net] has joined #scheme 17:22:09 Daemmerung: Yes. 17:22:51 -!- peter_12 [n=peter_12@S010600119506b129.gv.shawcable.net] has quit [] 17:23:39 eli: Would a patch to introduce the use of intptr_t be welcome? 17:25:04 Daemmerung: What do you mean? A type for pointers? (Just doesn't sound like it'll make things easier.) 17:26:53 intptr_t is the integer type having the same size as a pointer. One uses it in the place of `long' to allow pointer values to be stored in an integer type without truncation. 17:27:17 mzscheme already has a mzlonglong. 17:28:07 I believe that it dates back from Motorola 16/32 (16-bit int, 24/32-bit ptr) days. 17:28:12 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 17:28:44 (`it' being intptr_t, not mlonglong, duh) 17:30:21 -!- Mastoco [n=user@a88-115-8-123.elisa-laajakaista.fi] has quit [Read error: 110 (Connection timed out)] 17:30:39 Daemmerung: Ah. I thought that you had some clever way to make the compiler barf at the right places. 17:31:33 Daemmerung: In any case, the only problem with `intptr_t' is that I see that it's used in a few places (in the directory generated by the 3m GC), so some more mz-ish name is probably better. 17:31:35 eli: I do, actually. That'll be my first pass: turn on some compiler switches, compile as much as I can naively, and see where the compiler barfs. It's pretty good. 17:32:10 Oh, god, 3m GC mangling. I had managed to forget that part. 17:32:16 FWIW, I think that Matthew would happily accept patches in that direction. 17:32:27 GCC with `-Wall' will warn about casts between pointers and integers of different sizes. 17:33:03 3m mangling should not be a problem -- if you get a patch that works for just the CGC, then my guess is that making it work with 3m (if needed) will be very easy. 17:34:37 Naturally this won't help if long and void * share a common size, but if GCC knows how to build programs for whatever Windowsoid platform on which this is not the case, that would probably suffice to find the relevant bits to change. 17:36:37 Riastradh: I think that making GCC do that might be more difficult than the fix... 17:36:55 Can GCC run in Cygwin or anything? 17:37:00 In any case, I suspect that the MS compiler can do something equivalent, and that Daemmerung knows all about it... 17:37:03 The equivalent switch for the MS compilers is -Wp64. 17:37:24 Never mind; it's probably not worth my thinking about, since Windows is involved. 17:38:01 Heh... Right. (GCC does run on Windows -- but I wouldn't trust how stable that is...) 17:48:03 It appears that this work also entails porting GMP to LLP64. Lucky me. 17:57:02 -!- jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Read error: 60 (Operation timed out)] 17:59:41 jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 18:00:03 -!- hiyuh [n=hiyuh@KD124214245222.ppp-bb.dion.ne.jp] has quit ["|_ e /\ \/ i |/| G"] 18:00:27 -!- ASau [n=user@193.138.70.52] has quit [Read error: 110 (Connection timed out)] 18:01:13 ASau [n=user@193.138.70.52] has joined #scheme 18:03:33 hiyuh [n=hiyuh@KD124214245222.ppp-bb.dion.ne.jp] has joined #scheme 18:08:59 -!- reprore__ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 104 (Connection reset by peer)] 18:09:39 reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 18:10:01 aack [n=user@a83-161-214-179.adsl.xs4all.nl] has joined #scheme 18:20:25 meanburrito920_ [n=John@76-217-6-100.lightspeed.irvnca.sbcglobal.net] has joined #scheme 18:25:11 gladiator [n=gladiato@203.81.197.196] has joined #scheme 18:26:06 hi .. i am trying to find the value at a particular index in a list of lists ... heres my code and the error .. can someone point out whats wrong? 18:26:07 http://pastie.org/498084 18:29:12 -!- underspecified [n=eric-n@leopard175.naist.jp] has quit [] 18:29:33 gladiator: one thing, you should not make a variable called "list" as it shadows the function "list" which is not a good idea. 18:30:21 I wouldn't worry about that. gladiator, what do you think that line 2 does? 18:31:20 There's nothing wrong with calling a list `list'. 18:32:33 Daemmerung: so what i want to do is to basically traverse a list of lists without having to flatten it first .. in else case of line 2, i am calling findinlist on the cdr part of list with index -1 since weve removed the first index value 18:34:09 Riastradh: isn't this wrong? (let ((list '(1 2 3))) (list 4 5 6)) 18:34:10 huh? list with index -1? 18:34:21 ah... well 18:35:21 gladiator: but what 'case'? you have nothing like `if' or `cond' in there 18:35:22 ejs0 [n=eugen@99-92-135-95.pool.ukrtel.net] has joined #scheme 18:35:50 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 18:36:21 stepnem: if (= index 0) ? 18:36:25 gladiator: what you have written is "Apply the result of (list? (car list)) to the result of (findinlist (car list) index)." So your Scheme system, whichever one it may be, is computing that second value, and complaining on the recursive inv. 18:37:08 gladiator: speaking about line 2 18:37:19 ok heres my latest version .. removed the ambiguity of 'list':(define (findinlist mylist index) 18:37:19 ( (if (list? (car mylist)) (findinlist (car mylist) index) ) 18:37:19 (if (= index 0) (car mylist) (findinlist (cdr mylist) (- index 1)) ) )) 18:37:20 metasyntax|work, that program has an error, sure. 18:37:33 lisppaste: help 18:37:33 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 18:37:33 metasyntax|work, so does the program ('(1 2 3) 4 5 6). 18:38:01 gladiator: please use lisppaste and successive revisions instead of pasting into the channel. 18:38:20 Daemmerung: ok. sorry about that. 18:38:49 Riastradh: point taken, I guess I was trying to say "better safe than sorry". 18:39:15 Daemmerung: i didnt quite get your comment about my line 2 18:39:15 -!- wy [n=wy@66.194.68.209] has quit ["Leaving"] 18:39:30 wy [n=wy@66.194.68.210] has joined #scheme 18:39:35 gladiator: np. Also, parentheses in Scheme are not used for grouping, except in certain syntactic situations. (a b) means "Call value-of a with value-of b," which we also say "apply a to b." 18:41:17 gladiator pasted "untitled" at http://paste.lisp.org/display/81234 18:41:22 So ((list? foo bar) (zig zag)) first evals one of (list? foo bar) or (zig zag), then the other, then applies the first val to the second val. Eventually you're going to be trying to call #t or #f as a procedure, which ain't going to work very well. 18:42:19 aah .. but am i doing that? 18:42:27 Yes, you are. 18:42:36 Look at your second line. 18:43:27 gladiator: you still haven't fixed it in the new version -- and the parens are terrible, :) 18:43:45 on line 2, i am trying to say if inxex = 0 then return (car mylist) otherwise call findinlist on the remaining of the list .. 18:43:59 *Daemmerung* has to run, sorry 18:44:38 stepnem: yes. coming from C++, and php and more recently ruby.. the amount of parenthesis feels like a real pain 18:45:04 gladiator: heh, you have more parens there than really necessary 18:45:47 gladiator: and by 'terrible' I meant the formatting, not their amount 18:45:58 stepnem: it wouldnt stop thinking that i am still writing a function with any lesser ones 18:46:13 oh 18:46:39 gladiator: what editor are you using? 18:48:04 blah annotated #81234 "untitled" at http://paste.lisp.org/display/81234#1 18:48:13 stepnem: i am using the interactive shell .. or the simple text editor in ubuntu 18:49:03 gladiator annotated #81234 "untitled" at http://paste.lisp.org/display/81234#2 18:49:10 Adamant [n=Adamant@c-76-29-188-22.hsd1.ga.comcast.net] has joined #scheme 18:49:31 gladiator: you probably want it formatted like this one http://paste.lisp.org/display/81234#1 18:50:13 mrscheme .. yea i just looked at it... looks much cleaner than mine .. :P 18:51:01 gladiator: you had an extra paren around that if, that's why it wasn't working 18:51:21 the first if that is 18:51:28 mrscheme: yea .. fixed that .. 18:52:14 but this is not behaving like it should .. (findinlist '(1 (2 3) 4) 1) gves '(2 3) ... and i expect it to give 2 18:52:53 but 2 is not the 1th element in the list... 18:52:53 you tell it to return the car of the index, which is (2 3) 18:53:27 ah i se 18:53:28 see* 18:54:07 cel: but thats what i want to do .. 18:54:13 hmm 18:54:17 gladiator: i get 2 in my version 18:54:23 mrscheme: isnt car of (2 3) 2? 18:54:35 right, and it works 18:54:47 i forgot that if list? part 18:55:17 (findinlist '(1 (2 3) 4) 1) => 2 for me 18:55:38 oh 18:55:47 nopes .. (2 3) for me .. 18:55:51 gladiator: in your latest version, you close off the first if prematurely 18:56:01 really? 18:56:04 ya, i was testing the version i pasted by accident 18:56:13 yes, you want the second if to be the else clause for the first 18:56:15 revision 1? 18:56:27 my annotation to revision 1 18:56:46 so annotation 1, ya 18:57:07 http://paste.lisp.org/+1QOI#1 18:58:14 mrscheme: yea .. but that version crashes for index 3 ... when it should give 4 18:58:20 rstandy [n=rastandy@net-93-144-211-128.t2.dsl.vodafone.it] has joined #scheme 18:58:25 gladiator: what interactive shell do you use? 18:58:33 scheme48 18:58:48 ah, I see 18:59:17 mrscheme : please try not to paste tabs for indentation unless your editor displays them with the same width as the paste site 18:59:37 Balita [n=ase3w4e3@p7025-ipbfp1601fukuokachu.fukuoka.ocn.ne.jp] has joined #scheme 18:59:39 gladiator : i believe the indentation in 18:59:41 ski: my appoligies, i'm at work and i have to use tabs, heh 18:59:42 ski annotated #81234 "formatting" at http://paste.lisp.org/display/81234#3 18:59:46 gladiator: you can save yourself much pain if you use an editor with formatting support for Lisp-like languages, like Emacs or the one in DrScheme environment 18:59:50 is standard 18:59:54 gladiator: it 4 is at index 2, not 3 18:59:59 its 0 based 19:00:45 gladiator: it also provides you with immediate visual feedback as to the structure of your code 19:01:15 have to spend a while to learn it though, especially if you don't know personally someone who uses it 19:01:31 mrscheme: but with what i was trying to do .. it should be at index 3 .. basically i want to access the elements if they were a flat list 19:01:47 mrscheme: you mean the editors? 19:02:51 ah, that's right, the algo you have won't handle that though gladiator 19:03:01 -!- jao [n=jao@100.Red-81-32-187.dynamicIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 19:03:03 stepnem: i mean emacs 19:03:34 Mr-Cat [n=Mr-Cat@95-25-166-205.broadband.corbina.ru] has joined #scheme 19:03:35 stepnem, ski: as you can see.. i am a total noob at this... i usually use vim .. but im being lazy since i am not really writing huge amounts of code .. 19:03:40 right, but I believe you can use DrScheme right away without any effort 19:03:45 mrscheme: any suggestions to make it work? 19:04:25 gladiator: vim has lisp mode 19:04:41 maybe even scheme mode, not sure 19:05:30 stepnem: yea.. maybe its time for me to start using an editor 19:05:43 gladiator: definitely 19:05:47 :) 19:06:07 yeah, it also has some implementations-specific highlighting 19:06:35 gladiator: it will really help you with understanding the code structure itself, too 19:06:40 gladiator: thinking up a solution, heh 19:08:01 gladiator : for some hints of scheme style, see as well as 19:08:33 stepnem: yea .. the simple text editor i am using right now also has code coloring and indentation for scheme by the way .. mrscheme .. yea ... no luck so far :( 19:11:10 cant the errors be a little bit more specific.. 19:11:53 gladiator: basicly, you need a way to continue with the appropriate index after traversing a sublist 19:12:00 or can i show some debug messages? 19:12:08 also 19:12:30 you don't cover the case where mylist is the empty list, so it complains when you try to take the car of it 19:12:32 mrshceme .. yea .. i need a way to tell the current running index when it returns after traversing a list 19:12:35 that's what the errors are 19:13:13 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 104 (Connection reset by peer)] 19:13:37 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 19:13:55 mrscheme: with standard recursion, it wouldnt yet be an empty list because after traversing the inner list, it would have to come back to the parent list .. which still has an element .. 19:15:15 if the index is bigger than the list, it will call car on the empty list 19:15:21 and that happens inside the sublist 19:15:40 it doesn't come back up 19:16:26 gladiator annotated #81234 "untitled" at http://paste.lisp.org/display/81234#4 19:17:25 mrscheme: still gives the same error 19:18:38 which error? 19:19:52 vm-exception car '() 19:19:56 exactly 19:20:05 car of the empty list, because you're not checking for null 19:20:11 -!- ejs0 [n=eugen@99-92-135-95.pool.ukrtel.net] has quit [Read error: 60 (Operation timed out)] 19:20:13 null = the empty list 19:20:46 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 19:21:06 mrscheme .. yea .. when it reaches 4... index for that recursion is 4 and the size is 3 .. 19:21:18 if only i was allowed to flatten the list first ... 19:22:36 (findinlist '(1 (2 3) 4 5 6 7) 3) will fail as well, because it get's to the end of that first sublist 19:22:45 even though the top list is long enough 19:24:08 mrscheme: but that should be covered with the list? check.. no? and how do i give multiple conditions in if.. / 19:24:09 ? 19:24:30 (list? '()) is true 19:25:01 because the empty list is a list itselve, you'll have to use null? 19:25:41 and you can do (if (or x y z) ..) or (cond ((x ..) (y ..) ..)) 19:25:43 yes .. thats why i am thinkgin of adding (length (car mylist)) too... but how do i and' 19:25:53 this condition within the existing if? 19:26:32 if you do length or flatten the list, it'll be easier, but you'll do more traverssing of the list than you have to 19:26:37 how does cond know if it has to AND or OR? 19:26:57 no 19:27:04 mrscheme: the assignment says i cant flatten this thing 19:27:31 ah, x and y are booleans, any kind, you can have arbitrary code there 19:27:34 using `(length (car mylist))' won't be enough 19:28:08 consider 19:28:09 (findinlist '((() () ()) 0) 0) 19:28:24 right right 19:29:19 ski.. yea .. flattening looks like the only solution to me .. 19:29:27 no 19:29:33 lol, so do you want to count the empty list as an element? 19:29:42 no 19:29:53 ski: so that should just be an error 19:30:05 you *could* write a `flattened-length' (without using `flatten') 19:30:55 mrscheme : (assuming zero-based indexing), i think that should return zero, no ? 19:30:59 ski: thats not the point .. i wrote the flatten function myself ... i didnt even know flatten existed by default .. 19:31:16 ski: right, missed the first 0 there 19:31:17 there is also (at least) another approach 19:31:36 jao [n=jao@240.Red-83-38-59.dynamicIP.rima-tde.net] has joined #scheme 19:31:47 ski: would run into the same issues with flattened-length.. 19:31:59 ski: whats the other approach? 19:33:32 and we've not yet considered the case where an element inside a list is a variable .. which is also a list of lists 19:33:34 :D 19:33:39 hint : when looking into any sublist of the whole list, either the index is less than the number of elements in the sublist, so you get an answer; otherwise the index was not less, so you need to keep on looking in sibling sublists 19:33:47 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has left #scheme 19:35:20 ikaros [n=ikaros@f051082018.adsl.alicedsl.de] has joined #scheme 19:35:22 ski: the problem occurs when you reach the end of a sublist 19:35:36 (and another hint : this probably requires writing another helping "worker" procedure that does the main work) 19:36:12 yea .. 19:36:18 yes, then you need to tell the caller that the element wasn't found in this sublist 19:36:39 the caller needs to be able to distinguish between the two possible outcomes 19:37:02 and how can i return multiple values? 19:37:42 r5rs values 19:37:42 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_572 19:37:44 -rudybot:#scheme- http://tinyurl.com/yoye9g 19:37:47 r5rs call-with-values 19:37:47 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_574 19:37:49 -rudybot:#scheme- http://tinyurl.com/5pbxgd 19:38:35 rudybot: eval (values 0 1 2) 19:38:35 ski: ; Value: 0 19:38:36 ski: ; Value#2: 1 19:38:37 ski: ; Value#3: 2 19:39:09 one idea could be to return #f and the index if the search needs to continue or #t and the value if the value was reached 19:41:08 rudybot: eval (quotient/remainder 19 7) 19:41:08 ski: ; Value: 2 19:41:09 ski: ; Value#2: 5 19:42:22 rudybot: eval (call-with-values (lambda () (quotient/remainder 19 7)) (lambda (the-quotient the-remainder) `(when dividing 19 by 7 the quotient is ,the-quotient and the remainder is ,the-remainder))) 19:42:22 ski: ; Value: (when dividing 19 by 7 the quotient is 2 and the remainder is 5) 19:42:34 -!- amoe [n=amoe@cpc1-brig3-0-0-cust512.brig.cable.ntl.com] has quit [Remote closed the connection] 19:43:33 hmmm ... i'll give it another shot in the morning ... thanks guys for all the help 19:43:38 -!- wy [n=wy@66.194.68.210] has quit [Read error: 110 (Connection timed out)] 19:45:25 gladiator: things are slow here, so i'll be thinking of a solution, heh 19:47:02 (one might use CPS to model the multiple alternative return paths, instead of tagging with `#f',`#t' .. or use something like `multi', were it implemented) 19:49:07 not familiar with multi, how does that work? 19:49:21 wy [n=wy@66.194.68.210] has joined #scheme 19:53:29 -!- metasyntax|work [n=taylor@75-149-208-121-Illinois.hfc.comcastbusiness.net] has quit ["Nichts mehr."] 19:53:32 -!- Mr_Awesome [n=eric@pool-72-69-246-23.chi01.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)] 19:54:48 "Multi-return function call" by Olin Shivers and David Fisher at 19:54:51 also 19:54:56 minion: paste 15267 19:54:56 Paste number 15267: "multi-continuation procedure call examples" by Riastradh in #scheme. http://paste.lisp.org/display/15267 19:55:39 -!- rjack [n=rjack@adsl-ull-119-129.51-151.net24.it] has quit ["leaving"] 19:57:16 It's pretty impossible I'd say to make a procedure that returns different things each time it's called without using mutation. 19:57:18 mrscheme : the idea is that, in a somewhat similar way to `values' returning several separate values, `multi' allows a procedure call (or indeed any expression) to be given several alternative "return points" 19:57:32 -!- Balita [n=ase3w4e3@p7025-ipbfp1601fukuokachu.fukuoka.ocn.ne.jp] has quit ["Leaving..."] 19:59:40 mm, ok 19:59:41 mrscheme : for the former case, expressions would always return exactly one value, unless `values' (or similar means) are used 20:00:38 mrscheme : similarly in the latter case, expressions would always be given exactly one "return point" (aka "continuation"), unless `multi' (or similar means) were used 20:01:03 do you understand basic CPS ? 20:01:12 I don't get what you're saying at all... 20:01:14 yes, and i understand what you've said. very cool idea 20:01:43 procedures already have multiple return points, whenever you invoke the continuation they were passed. 20:02:26 a CPS-variant of `findinlist' might be `(findinlist )' 20:02:40 -!- subversus [i=elliot@loveturtle.net] has quit [Remote closed the connection] 20:04:25 where `' is a procedure of one argument that will only be called in tail-position, with the sought element given as sole argument 20:04:43 OK 20:05:48 in case the index was too large for the nested list, `' will instead be called (in tail position) .. (presumably with some information as argument(s) that enables one to continue search in a sinbling list) 20:06:35 Yes I understand that. But what does multi do...? 20:06:55 now, when using `multi', *both* these two procedure arguments, representing alternative continuations, would be *implicit* continuations 20:07:57 jewel_ [n=jewel@dsl-242-188-164.telkomadsl.co.za] has joined #scheme 20:07:58 What does it mean for a continuation to be implicit? 20:08:02 so, you can then think of `(findinlist )' as returning either a list `(#t )' or a list `(#f ...)', so that the caller can determine what to do 20:09:02 but instead of actually putting those tags in a list (or using `values'), `findinlist' would actually select from thw two offered alternative continuations, jump to one of them directly, while discarding the other 20:09:28 So multi calls findinlist such that success returns (#t ) and failure returns (#f ...) from the multi expression. 20:09:56 synx : in `(* 2 (+ 3 4))' the continuation to `(+ 3 4)', i.e. `(* 2 <>)' is *implicit* in the sense that we aren't passing it as an explicit argument 20:10:18 Okay I can see that. 20:10:30 slashcom [n=slashcom@75.126.245.50] has joined #scheme 20:11:21 (however, in `(plus-cps 3 4 (lambda (the-sum) (times-cps 2 the-sum top-continuation)))', the last argument to `plus-cps', which we think of as the continuation argument, is an explicit argument) 20:12:51 synx : whoever calls `findinlist' calls it with two continuations (say `success' and `failure') such that if the former is called, it is called with `' as argument, and if the latter is called, it is called with `...' as argument(s) 20:14:21 OK so findinlist gets the return continuations as normal CPS, but the multi statement converts it into a true/false list return value. 20:14:39 the `multi' which was used in the lisppaste above (and maybe in the paper too, i don't recall) can both be used to set up alternative continuations for a call, and for selecting a particular alternative continuation to invoke 20:14:49 https://synx.us.to/code/scheme/multi.ss 20:14:57 no, no CPS at all, when using `multi' 20:15:04 Is that anything like how your 'multi' is defined? 20:15:28 So how does findinlist return, without any continuations being passed to it? 20:16:34 how does `cons' know where to return the list constructed by `(cons 42 the-list)' ? 20:17:00 Lilarcor [n=Lilarcor@208-59-127-143.c3-0.161-ubr1.lnh-161.md.cable.rcn.com] has joined #scheme 20:17:01 (and btw, it's not *my* `multi' :) 20:17:42 So findinlist doesn't pass onto any continuations, but just evaluates to an expression. What expression does it evaluate to? 20:17:58 Without invoking multi or anything yet, just findinlist. 20:18:28 that would be an error, similar to 20:18:32 rudybot: eval (+ 1 (values 2 3)) 20:18:33 ski: error: context expected 1 value, received 2 values: 2 3 20:19:18 evaluating an expression in the interactor would typically only provide one continuation 20:19:27 So findinlist returns multiple values? 20:19:33 no 20:20:01 maybe i should try explaining with a simple example instead :) 20:20:19 findlist can only be invoked with two ways to return instead, ya? 20:20:21 consider a procedure `uncons' 20:20:24 findinlist* 20:20:35 Okay, so what you're saying is multi sets it up to have several continuations. It defines a procedure that takes continuations as arguments implicitly, but can call those continuations in the body. 20:21:18 when `uncons' is invoked on an empty list, it invokes its first continuation (with no values) 20:21:48 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 104 (Connection reset by peer)] 20:21:53 when `uncons' is invoked on a pair, it invokes its second continuation with two values, the `car' and the `cdr' of the pair 20:22:07 So to invoke that procedure you do need to explicitly pass continuations. But not to create it? 20:22:41 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 20:22:43 OK, so... 20:22:48 for the most part you don't have to do anything at all with the multiple continuations 20:22:57 you need to use `multi' to set them up 20:23:05 and for selecting a certain one to use 20:23:31 You have to at least know their names to invoke them. I'm thinking something like... 20:23:40 so to use uncons it would be (multi uncons n p) where n and p are continuations? 20:23:57 and n expects 0 and p expects 2 values 20:24:09 actually, `uncons' was called `list-case' in the paste by Riastradh, so i'll use that name instead 20:24:16 (define uncons (multi (first second) (pair) (if (pair? pair) (second (car pair) (cdr pair)) (first)))))) 20:24:29 Oh so multi is used to invoke it. 20:24:38 I thought it was to define the procedure. 20:24:43 both :) 20:24:44 So how do you define uncons? 20:25:06 there's no such thing as unicons! 20:25:51 *mejja* reads http://lists.gnu.org/archive/html/savannah-users/2009-05/msg00023.html 20:26:10 uncons will always live on inside the hearts and minds of us all 20:28:58 So um... how do you define uncons? 20:28:59 foof: fmt-c still has issues with types: (fmt #f (c-type '(unsigned long))) 20:29:03 i was pondering whether to use my variant of `multi' or not .. i guess it matters not very much, except i think my variant is (slightly) more readable 20:29:04 -!- hosh [n=hosh@c-71-199-176-82.hsd1.ga.comcast.net] has quit [Connection timed out] 20:29:35 synx uncons is list-case here http://paste.lisp.org/display/15267 20:29:47 foof: fmt-c still has issues with types: (fmt #f (c-type '(unsigned long))) ==> "unsigned;\nlong" 20:30:03 -!- jewel_ [n=jewel@dsl-242-188-164.telkomadsl.co.za] has quit [Read error: 113 (No route to host)] 20:30:35 synx : so, since i'm anyways not following that paste directly, i might as well use my variant :) 20:35:59 (define (list-case list) 20:36:11 (cond ((null? list) 20:36:19 (multi (fail succeed) (values) fail)) 20:36:26 -!- wy [n=wy@66.194.68.210] has quit ["Leaving"] 20:36:29 ((pair? list) 20:36:37 (multi (fail succeed) (values (car list) (cdr list)) succeed)) 20:36:46 (else 20:36:48 (error:bad-list list)))) 20:36:52 argh. 20:37:10 ski: that's a bit long for direct pasting 20:37:22 hm, sorry, just realized that :/ 20:37:28 CaptainMorgan [n=CaptainM@75.68.42.94] has joined #scheme 20:37:31 -!- Daemmerung [n=goetter@1133sae.mazama.net] has quit ["Smoove out."] 20:37:47 *ski* 'll paste further snippets 20:38:16 I just don't get what it is that multi does when you invoke it. 20:38:24 I don't know the syntax, nor do I know its definition. 20:38:43 (multi .... (multi ...)) is all I can see, and that could do anything. 20:38:55 Are there any chicken and/or gambit users around? 20:39:16 It's probably a lost cause. I can't even understand how shift and reset work. Don't worry about it. 20:39:31 the first clause of my `multi' names the current alternative continuations (here `fail' and `succeed') 20:40:16 the second one is an expression to evaluate with (possibly) several alternative continuations 20:40:18 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 104 (Connection reset by peer)] 20:40:42 the rest is the continuation(s) with which to evaluate the preceding expression 20:40:42 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 20:41:29 so in `(multi (fail succeed) (values) fail)', we first name the two alternative continuations, then we evaluate `(values)' using the `fail' continuation 20:41:39 which amounts to passing zero values to it 20:42:28 in the other `multi' expression, we first name as before, then we evaluate `(values (car list) (cdr list))' only only the `succeed' continuation 20:42:50 synx : is that much clear ? 20:43:27 sorry I have to go. 20:43:36 ok. no problem 20:46:10 (and btw, the basic concept in `multi' should be simpler than `shift'/`reset' and even `call-with-current-continuation' to understand .. it should be at about the same level as `values' and `call-with-values') 20:46:15 eli: there? 20:46:34 Are there any chicken and/or gambit users around *here*? 20:46:42 Me? 20:47:07 eli: is there any progress with mred crash? 20:47:44 No, but Matthew did see it. This week is a little stressed though. 20:47:53 Alright. 20:48:03 ASau: Anyway, which one do you know -- gambit or chicken or both? 20:48:08 Another question is about release process. 20:48:12 Yes? 20:48:13 nan8 [n=user@dslb-088-064-152-136.pools.arcor-ip.net] has joined #scheme 20:48:35 Do you backport fixes from pre-release branch or work directly on branch? 20:48:43 I.e. should I test head or some branch? 20:48:49 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 104 (Connection reset by peer)] 20:48:54 eli: I use Chicken in production. 20:49:39 But this is rather painful, you can read impressions in mail archive. 20:49:42 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 20:49:57 We do all the active development on the trunk, with private branches that some people use for more extensive changes. Testing the trunk should be fine. 20:50:13 What's painful? 20:50:41 There's long mail message on that... 20:50:56 I'll try to search it in mail archive. 20:50:58 On branches? 20:51:04 I don't remember anything. 20:51:42 As for PLT, I'll test it twice per week then. 20:52:06 ...but what's the problem with the branches? 20:52:15 No problems. 20:52:31 mmc [n=mima@cs141012.pp.htv.fi] has joined #scheme 20:52:33 So what's the long message on? 20:52:39 ski: how would you invoke your list-case btw? 20:53:02 Wait a bit. 20:53:09 OK. 20:54:14 saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has joined #scheme 20:54:25 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 104 (Connection reset by peer)] 20:55:09 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 20:56:17 http://www.mail-archive.com/chicken-users@nongnu.org/msg10544.html 20:57:14 mrscheme : i'll make a paste, using the "parsimonious `filter'" procedure paper as an example, ok ? 20:57:26 ok, thanks 20:57:26 20:57:26 20:57:26 20:57:30 20:57:33 20:57:36 20:57:40 20:57:44 20:57:47 20:57:50 20:57:53 20:57:56 wow 20:57:56 i appologize for that, erc wierdness 20:57:58 mrscheme : remove cat from keyboard, please ! 20:58:03 lol 20:59:49 gladiator: i solved your problem with the tagging method btw, its uglier than i think a cps or multi methods (no pun intended) would be 20:59:57 gonna try them at home 21:00:36 -!- mrscheme [n=user@209.120.179.205] has quit [Remote closed the connection] 21:01:06 -!- bombshelter13_ [n=bombshel@toronto-gw.adsl.erx01.mtlcnds.ext.distributel.net] has quit [Success] 21:01:50 hosh [n=hosh@c-71-199-176-82.hsd1.ga.comcast.net] has joined #scheme 21:04:34 -!- ikaros [n=ikaros@f051082018.adsl.alicedsl.de] has quit ["Leave the magic to Houdini"] 21:05:47 Daemmerung [n=goetter@1133sae.mazama.net] has joined #scheme 21:06:03 -!- fishey [n=fisheyss@ool-4573344b.dyn.optonline.net] has quit [Read error: 110 (Connection timed out)] 21:06:41 eli: occasional Gambit user here. 21:06:57 fishey [n=fisheyss@ool-4573344b.dyn.optonline.net] has joined #scheme 21:08:40 bombshelter13_ [n=bombshel@toronto-gw.adsl.erx01.mtlcnds.ext.distributel.net] has joined #scheme 21:09:39 -!- reprore_ [n=reprore@ntkngw261071.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 21:12:44 *eli* needs to run out, will be back later 21:29:42 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 21:33:33 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Leaving"] 21:35:09 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit ["Konversation terminated!"] 21:35:44 -!- npe [n=npe@d54C450C4.access.telenet.be] has quit [] 21:39:32 jeremiah [n=jeremiah@31.Red-213-98-123.staticIP.rima-tde.net] has joined #scheme 21:45:43 any simple drawing library for PLT? 21:45:53 (to plot fractals) 21:53:24 paxcoder [n=paxcoder@unaffiliated/paxcoder] has joined #scheme 21:54:05 should this: http://pastebin.com/d5529d695 contain (let* instead of (let ? 21:54:49 -!- nan8 [n=user@dslb-088-064-152-136.pools.arcor-ip.net] has left #scheme 21:55:15 No. 21:55:23 jao` [n=jao@161.Red-79-155-152.dynamicIP.rima-tde.net] has joined #scheme 21:55:34 cel: there's both drawing and plotting in the standard distribution. 21:55:45 plotting, planning... Scheming, even. 21:55:47 paxcoder: http://paste.lisp.org/new/scheme 21:55:50 paxcoder i don't think so 21:56:44 Daemmerung where can i read about it? what should i (require ...) and such? 21:56:45 mejja: how come? http://www.linux.com/archive/feature/130717 seems to imply expressions in (let must not contain that which is defined in it. 21:57:20 cel: in the Fine Manual. I can't give you a better reference because docs.plt-scheme.org is in mid DNSitude and my local copy ist kaputt. 21:57:41 alaricsp [n=alaricsp@88-202-206-145.rdns.as8401.net] has joined #scheme 21:58:00 -!- jao [n=jao@240.Red-83-38-59.dynamicIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 21:58:52 yep, it also does not load here 21:58:57 "The requested URL /guide/ was not found on this server." 21:59:59 Ah, try http://pre.plt-scheme.org/docs/html/ 22:00:37 -!- jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Remote closed the connection] 22:01:43 sepult [n=sepult@xdsl-87-78-129-98.netcologne.de] has joined #scheme 22:01:53 mejja: cel? (let* ? 22:02:00 annodomini [n=lambda@64.30.3.122] has joined #scheme 22:02:52 r5rs named-let 22:02:52 Sorry, I couldn't find anything for named-let. 22:03:42 mejja: can you call the bot for me? I don't know how. 22:03:56 oh. umm.. yeah 22:04:44 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Client Quit] 22:05:59 annodomini [n=lambda@64.30.3.122] has joined #scheme 22:06:03 r5as named-let 22:06:13 r5rs let 22:06:13 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-7.html#%_idx_124 22:06:16 -rudybot:#scheme- http://tinyurl.com/695ay7 22:07:05 mmmm 22:07:31 Daemmerung do you know if those drawing libraries are included in the mzscheme package? 22:07:35 incubot: later tell specbot he/she/it is a pile of CL rubbish! 22:07:37 I just found something in my pile to cite as an example -- and it turns out you wrote it for me :-) 22:07:42 oh, i got it now. 22:07:44 -!- paxcoder [n=paxcoder@unaffiliated/paxcoder] has left #scheme 22:07:46 it seems i'll probably need the full plt scheme 22:10:25 cel: indeed, you need the whole enchilada. 22:10:26 mmm, maybe i can just write a bmp or a ppm image in stdout 22:11:01 Daemmerung thanks :) 22:14:19 -!- jao` [n=jao@161.Red-79-155-152.dynamicIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 22:14:42 -!- dzhus [n=sphinx@95-24-99-201.broadband.corbina.ru] has quit ["-_-"] 22:15:09 jao [n=jao@227.Red-83-37-137.dynamicIP.rima-tde.net] has joined #scheme 22:18:24 -!- cel is now known as celeste 22:18:58 -!- celeste is now known as cel 22:19:46 arcfide [n=arcfide@adsl-99-14-209-101.dsl.bltnin.sbcglobal.net] has joined #scheme 22:23:28 Daemmerung, cel: the problem was not the dns change, it's the configuration on the new server. (Fixed now.) 22:23:46 cel: Yes, you will need to install the whole PLT, if you want graphics. 22:24:04 i'm currently installing it 22:24:11 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 22:24:12 by the way, saw the new 4.2 version 22:25:09 can it be installed in a desktop as a user without privileges? 22:25:18 it would be nice to carry it on a usb stick 22:25:41 Sure. Which OS are you on? 22:25:59 at home i have win xp and freebsd 22:26:07 at work win xp without privileges 22:27:02 So -- freebsd should be simple, but you'll need to build from source (we used to have a bsd machine, but it's gone.) 22:27:41 When you do a build, *don't* use --prefix -- the PLT tree will be built and installed "in place", which means that you can move the resulting directory anywhere you want. 22:28:00 great, can i do that on windows too? 22:28:03 After you're done with the build you can rm -rf the src directory. 22:28:27 For windows, you can use our installer, and make it install anywhere you want, usb stick included. 22:28:34 -!- alaricsp [n=alaricsp@88-202-206-145.rdns.as8401.net] has quit [] 22:28:36 the idea is to copy all of drscheme to a usb stick and share the development environment at both home and work 22:29:04 ah, nice to know, i feared it needed a bunch of registry keys or something like that 22:29:11 The thing is that when you switch a machine you won't get the filename extension association or the start menu items -- but that's obvious. 22:29:23 i prefer not having them 22:29:26 :) 22:29:54 IOW, there are registry keys used -- but only for instructions on where it is, or how to uninstall it, and the filename extension. 22:30:34 in fact, my favourite install would be a zip that one can just decompress anywhere 22:30:37 So it's probably best to not add a start menu, and it doesn't matter, but you could also grep the registry for the PLT keys and remove them. 22:30:58 mmmm 22:31:03 i could... 22:31:17 install it here at home, copy the installation directory to the usb stick and then unninstall 22:31:26 then test if it works from the usb 22:31:36 Actually, when we do our builds (I should say "I" actually, since I'm in charge of that part), we start from a .tgz file, and turn it into an installer -- so if you want I can put the Windows .tgz file for you. 22:32:28 that would be great, but... i don't want to get you doing extra work for me alone 22:33:17 let's see if it works by just copying the installation directory and uninstalling the original 22:33:25 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 22:33:28 then i can repeat this if a new version comes out :) 22:33:50 cel: Well, it's only a symlink away. 22:33:56 http://tmp.barzilay.org/plt-bin-i386-win32.tgz 22:34:01 -!- jao [n=jao@227.Red-83-37-137.dynamicIP.rima-tde.net] has quit [Read error: 104 (Connection reset by peer)] 22:34:22 thanks :) 22:34:31 -!- annodomini [n=lambda@wikipedia/lambda] has quit [brown.freenode.net irc.freenode.net] 22:34:31 -!- saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has quit [brown.freenode.net irc.freenode.net] 22:34:31 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [brown.freenode.net irc.freenode.net] 22:34:31 -!- aack [n=user@a83-161-214-179.adsl.xs4all.nl] has quit [brown.freenode.net irc.freenode.net] 22:34:31 -!- tjafk1 [n=timj@e176201137.adsl.alicedsl.de] has quit [brown.freenode.net irc.freenode.net] 22:34:31 -!- rodge [n=user@pinball.ccs.neu.edu] has quit [brown.freenode.net irc.freenode.net] 22:34:31 -!- cky [n=cky@cpe-024-211-255-155.nc.res.rr.com] has quit [brown.freenode.net irc.freenode.net] 22:34:31 -!- Axioplase_ [n=Axioplas@fortigate.kb.ecei.tohoku.ac.jp] has quit [brown.freenode.net irc.freenode.net] 22:34:42 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 22:35:26 Oh, and one more issue that you'll have is with the preference -- those are saved in the proper places, which means your home directory or %APPDATA% on Windows. 22:36:40 i should have write access in the home directory 22:36:53 by the way it works by just copying the installation directory 22:36:56 excellent :) 22:37:06 Yes, it should... 22:37:31 annodomini [n=lambda@wikipedia/lambda] has joined #scheme 22:37:31 saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has joined #scheme 22:37:31 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 22:37:31 aack [n=user@a83-161-214-179.adsl.xs4all.nl] has joined #scheme 22:37:31 tjafk1 [n=timj@e176201137.adsl.alicedsl.de] has joined #scheme 22:37:31 rodge [n=user@pinball.ccs.neu.edu] has joined #scheme 22:37:31 cky [n=cky@cpe-024-211-255-155.nc.res.rr.com] has joined #scheme 22:37:31 Axioplase_ [n=Axioplas@fortigate.kb.ecei.tohoku.ac.jp] has joined #scheme 22:37:46 The thing with the home directory is not write access -- it's the fact that it would be nice to make it run and save the preference on the usb stick too. 22:38:53 yes, that would make users able to carry preferences anywhere 22:39:15 i do it with some programs i use both at work and at home like firefox or vim 22:39:36 it's like using always the same computer :) 22:39:42 At least on unix-like systems, it's a simple matter of running something like `HOME=/mnt/usb /mnt/usb/plt/bin/drscheme' 22:39:52 I'm not sure if it works the same on Windows. 22:40:07 I'll try in a second. 22:40:26 (My setup is even more hacked -- I use a single PLT directory for all my platforms.) 22:41:19 with all the executables in the same directory? 22:41:26 i mean, windows and unix executables? 22:42:05 Yes -- I have plt/bin// 22:42:26 With things like "mzscheme" being a script that runs the right executable. 22:42:26 *`Antonio`* good night ! 22:42:38 nice, that should make it easier to test it on each platform 22:42:47 -!- `Antonio` [n=kvirc@92.5.82.157] has quit ["KVIrc 3.4.0 Virgo http://www.kvirc.net/"] 22:42:48 `Antonio` hi :) 22:42:58 jao [n=jao@73.Red-83-39-135.dynamicIP.rima-tde.net] has joined #scheme 22:43:02 And just to make it even better -- "mzscheme" and "drscheme" etc are just symlinks to the real script. 22:43:45 there is one thing i also like about beeing able to uninstall it and make it work from a standalone directory 22:43:45 And just to make it even better than that, my script uses a $PLTHOME variable to determine which directory to run it from -- so I can easily switched between versions too. 22:43:54 you can have multiple versions at the same time 22:44:04 yep :) 22:44:10 Yes, of course. 22:44:18 jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 22:44:50 so this file i downloaded is the same as the website version, except without the installer added later? 22:45:01 [Looks like my machine has 15 PLT trees...] 22:45:41 You mean the tgz file I put up? In that case, yes, it's the file from before it was folded into an installer. 22:46:05 great thanks a lot :) 22:46:41 eli: What does the recent MZ_USE_PLACES manifest in mzscheme entail? (I'm not going to turn it on or even touch it, don't worry-- just coming back up to speed.) 22:46:58 I'm still trying to get to APPDATA, but there are toddlers crawling over me. 22:47:00 -!- Judofyr [n=Judofyr@c2391BF51.dhcp.bluecom.no] has quit [Remote closed the connection] 22:47:38 Daemmerung: That's the multi-core work -- a "place" is roughly equivalent to an OS thread. 22:47:49 Thanks. 22:48:08 eli: multi-core, is PLT going native? 22:48:58 rotty: Not for me, what version of fmt are you using? 22:49:03 Both -- OS threads and MzScheme's threads have different costs. 22:49:30 And what do you mean "still"? I don't remember that being a bug. Please mail me any bug reports, I won't remember IRC. 22:49:34 eli: Oh really? I thought that PLT had given up on doing native threading? Is there some renewed interest? 22:50:20 Given up? That's news to me. 22:50:43 -!- Nshag [i=user@Mix-Orleans-106-3-160.w193-248.abo.wanadoo.fr] has quit ["Quitte"] 22:51:03 eli: I had heard that PLT Scheme used to have native threading, and then stopped it (I thought it was around 2xx or something like that), and that no one had attempted to renew the effort to have native threads. 22:51:50 Right, because it was too expensive in terms of manpower to maintain both versions. Now there is someone who is working on that. 22:52:12 Oh, cool, so they do have a native threading guy now. :-) That's good news. 22:53:21 Well, one thing which is a problem is how to make the native threads talk to each other -- and IIUC, the idea is that only immutable data will be allowed between them. 22:54:32 -!- Lilarcor [n=Lilarcor@208-59-127-143.c3-0.161-ubr1.lnh-161.md.cable.rcn.com] has quit ["The Lord of Murder Shall Perish."] 22:54:50 foof: 0.6 22:54:59 mzscheme? 22:55:00 cel: No -- setting APPDATA while running DrScheme doesn't make it save the preferences in a different place. 22:55:55 foof: how would you write this using fmt: 'printf ("%lu\n", (unsigned long) sizeof(unsigned long long));' ? 22:56:04 foof: Ikarus and Scheme48 22:57:50 eli: Eh, oh, not so cool. 22:58:35 arcfide: it's the way to go if you ask me... 22:58:47 eli ok, no problem, i can replicate my settings, it's enough that drscheme works from the usb stick 22:58:57 -!- athos [n=philipp@92.250.250.68] has quit [Remote closed the connection] 22:59:14 mejja: If it means that PLT can get native threading where it otherwise would not have it, then I agree, but if its a decision of design rather than necessity, I don't agree. 23:01:30 -!- jao [n=jao@73.Red-83-39-135.dynamicIP.rima-tde.net] has quit [Read error: 110 (Connection timed out)] 23:01:50 No, it's a matter of being able to implement it. But this is all still very preliminary. 23:02:02 eli: Well, at least someone is working on it. 23:02:31 (fmt #f (c-expr `(printf "%lu\n" (%cast (unsigned long) (sizeof ,(c-type '(unsigned long long))))))) 23:02:39 for me outputs: 23:02:49 "printf(\"%lu\\n\", (unsigned long )sizeof(unsigned long long ));\n" 23:03:21 I'll add a %type meta operator. 23:04:18 And maybe automatic detection of types passed to sizeof, although sizeof can take any expr. 23:05:11 rotty: Mail me the bug you're getting, I don't have time to look at it today. 23:07:07 Omg, it is going to take ages to compile chicken4 on intel atom :) 23:07:16 (I guess better just to make it so type keywords never act as function applications.) 23:07:55 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Connection timed out] 23:08:19 Oh, I should have increased frequency 23:10:45 Mr-Cat: let me know how long Atom takes, I have seen 45 minutes on PPC G4, 5 minutes on Intel C2D -j1 23:11:45 zbigniew: Thanks for the warning, I won't bother putting chicken on my G4! 23:13:15 zbigniew: 45 minutes on a G4? That seems awfully slow. 23:13:33 gcc is extremely slow on the G4 23:14:08 zbigniew: did you try another compiler? 23:14:17 heh, I even compiled it and a bunch of eggs on an iBook G3 a few months ago; pretty sure it took a few hours ;) 23:14:21 arcfide: Elaborate. 23:14:40 zbigniew: I thought there were some other PPC compilers out there these days. 23:15:50 I would love to see a pointer to a PPC compiler for OS X supporting GCC extensions 23:16:01 zbigniew: Oh...:-P 23:16:02 -!- jlongster [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Read error: 113 (No route to host)] 23:16:20 incubot: Well, I guess I wouldn't love it, since I've ditched PPC at this point, though it would still be interesting 23:16:23 I'll reimplement the limited solution tomorrow (which I had ditched last week after writing it initially). 23:16:49 now incubot is writing compilers 23:16:49 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit [Read error: 104 (Connection reset by peer)] 23:17:26 really,what does he do as a daily job? 23:17:34 silly question? 23:17:56 mreggen [n=mreggen@cm-84.215.50.79.getinternet.no] has joined #scheme 23:18:28 he works for the DoD 23:18:53 does he learn from the things you people talk? 23:19:46 no, just the opposite 23:19:46 incubot is a parrot 23:20:00 incubot: polly wanna cracker? 23:20:03 pb here is a cracker 23:20:10 ! 23:22:23 somebody put the main blocks of sentences in him right? 23:23:38 incubot: are you block structured? 23:23:41 I don't want proofs that just the machine can check. I want formal, precise proofs that are nevertheless structured so that a human can read them. 23:24:17 jdelgado [n=jdelgado@240.Red-81-32-166.dynamicIP.rima-tde.net] has joined #scheme 23:24:17 i wont be able to understand this for a long time :) 23:25:10 -!- jdelgado [n=jdelgado@240.Red-81-32-166.dynamicIP.rima-tde.net] has left #scheme 23:25:19 ski pasted "parsimonious `filter', using `multi'ple alternative continuations" at http://paste.lisp.org/display/81249 23:25:29 minion: memo for mrscheme: sorry, it took a bit longer than i thought to express what i wanted in a (hopefully) sufficiently clear way. see 23:25:29 Remembered. I'll tell mrscheme when he/she/it next speaks. 23:26:16 zbigniew: IBM's XL C/C++ compilers were/are available for PowerPC G4/G5 based Power Macs. 23:26:59 Including some gcc compatibility. 23:36:01 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 23:40:53 arcfide: interesting 23:40:58 ice_man` [n=user@CPE000d6074b550-CM001a66704e52.cpe.net.cable.rogers.com] has joined #scheme 23:41:40 ski annotated #81249 "minor correction" at http://paste.lisp.org/display/81249#1 23:41:49 Is there presently any easy way in scheme to do string->sexp conversion? 23:42:16 read with-input-from-string ? 23:43:26 rudybot: eval (with-input-from-sting "(a b c)" read) 23:43:27 arcfide: your sandbox is ready 23:43:27 arcfide: error: reference to undefined identifier: with-input-from-sting 23:43:34 rudybot: eval (with-input-from-string "(a b c)" read) 23:43:35 arcfide: ; Value: (a b c) 23:43:42 p1dzkl: Not reading a string representation of a sexp to a sexp, but rather defining a syntax tree of a string->sexp compiler 23:43:44 ice_man`: Et, voila. 23:43:53 Eh? 23:44:10 something like: function(a,b,c) --> (function a b c) 23:44:26 or rather "function(a,b,c)" --> '(function a b c) 23:44:40 ice_man`: You're asking if there is presently any easy way to write a parser in Scheme? 23:45:16 arcfide: right. Sorry for omitting the propper terminology. 23:45:21 proper 23:45:30 -!- meanburrito920_ [n=John@76-217-6-100.lightspeed.irvnca.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 23:45:56 ice_man`: Well, you just have to write the parser. You could use tools written in Scheme to write the parser or make it easier to write the parser, but we don't even know what language or syntax you are parsing, so how would we know whether it is easy or not? 23:46:00 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [Connection reset by peer] 23:46:59 arcfide: I am asking if there is a well-defined language within scheme for efficiently specifying the syntax tree of a string->sexp parser. 23:47:35 I'm not sure what you mean, what do you mean by, "efficiently specifying the syntax tree" 23:47:36 ? 23:47:45 foof: ok, I just missed the ,(c-type ...) wrapping (thought fmt-c would know about `sizeof'). Thanks! 23:48:17 arcfide: perhaps it would be best if I showed you something I wrote for efficiently specifying sexp->string compilers... 23:48:36 arcfide: one sec 23:53:03 have a look at this: addspace.net/spell.ss , addspace.net/2html.ss, addspace.net/2css.ss, addspace.net/2javascript.ss 23:53:23 ice_man`: That's probably too much code for me to want to read through. 23:53:36 ok, just look at 2html.ss then 23:53:38 meanburrito920_ [n=John@76-217-6-100.lightspeed.irvnca.sbcglobal.net] has joined #scheme 23:53:39 It would be more useful if you precisely described your problem and what you want. 23:55:00 I still do not see what you are precisely trying to achieve. 23:55:10 Are you just asking if there are parser-generators for Scheme? 23:55:14 What do you want? 23:56:47 arcfide: Sorry, I did not know that they were called "parser-generators", but yes, that is what I am looking for 23:57:14 ice_man`: There are plenty of parser generators around. And what you described above is not a parser generator, I had to guess at what you wanted. 23:57:48 ice_man`: Riastradh has a library for writing parsers using parser combinators. I use that. Some friends of mine have also written parser generators for various approaches to parsing. 23:58:15 I don't know whether their libraries are public or not, but I know that there must exist others out there. 23:58:17 arcfide: happens frequently with me, I am not as precise with words as I should be. My mind doesn't work that way sadly, although I wish it did. 23:58:43 ice_man`: You'll find yourself in trouble then, if you cannot precisely describe what you want or need.