00:13:00 -!- saccade_ [~saccade@BRAIN-AND-COG-THIRTY-EIGHT.MIT.EDU] has quit [Quit: This computer has gone to sleep] 00:22:08 -!- ysph [~user@24-181-93-165.dhcp.leds.al.charter.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:27:21 mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has joined #scheme 00:28:35 alaricsp [~alaric@mukhadvaram.gurukuli.co.uk] has joined #scheme 00:31:06 -!- fod [~fod@92.251.255.7.threembb.ie] has quit [Remote host closed the connection] 00:33:35 -!- rdd [~rdd@c83-250-48-164.bredband.comhem.se] has quit [Read error: Operation timed out] 00:33:58 -!- saint_cypher [~rjspotter@70-36-245-104.dsl.static.sonic.net] has quit [Quit: Leaving.] 00:43:01 -!- pdelgallego [~pdelgalle@1503031474.dhcp.dbnet.dk] has quit [Ping timeout: 252 seconds] 00:43:31 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 00:44:12 -!- rbarraud_ [~rbarraud@118-93-169-153.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 00:44:25 rbarraud [~rbarraud@118-93-169-153.dsl.dyn.ihug.co.nz] has joined #scheme 00:47:28 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 00:57:30 -!- githogori [~githogori@180.sub-75-210-15.myvzw.com] has quit [Remote host closed the connection] 01:06:38 -!- mbohun [~mbohun@202.124.72.127] has quit [Read error: Connection reset by peer] 01:06:55 mbohun [~mbohun@202.124.72.127] has joined #scheme 01:09:46 -!- pygospa [~pygospa@g230096228.adsl.alicedsl.de] has quit [Ping timeout: 265 seconds] 01:10:16 anyone using ikarus for development? 01:11:14 pygospa [~pygospa@g230082066.adsl.alicedsl.de] has joined #scheme 01:16:24 -!- alaricsp [~alaric@mukhadvaram.gurukuli.co.uk] has quit [Ping timeout: 240 seconds] 01:30:29 -!- proq [~user@unaffiliated/proqesi] has quit [Remote host closed the connection] 01:30:47 jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has joined #scheme 01:33:57 -!- dfkjjkfd [~paulh@143-13-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 01:35:47 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 01:39:39 xwl_ [~user@nat/nokia/x-djmnrhipaevunkws] has joined #scheme 01:40:08 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Ping timeout: 245 seconds] 01:43:45 laurus [~laurus@c-68-40-207-109.hsd1.mi.comcast.net] has joined #scheme 01:44:25 I just read http://scheme-reports.org/2009/position-statement.html and notice it was written about one year ago. Is there any news on the progress of these two new languages, "Large Scheme" and "Small Scheme"? 01:45:15 laurus, Large Scheme is waiting for Small Scheme. 01:45:24 Small Scheme is blocked on the essential: a module system. 01:45:35 Ah... 01:45:37 Mostly. However, we do have a vote in progress about which modules Large Scheme may contain. 01:46:09 I don't think we are really blocked: in practice, we are going to get a subset of R6RS static modules, even if we get some additional bells and whistles. 01:46:32 jcowan, sorry you couldn't come to the workshop last weekend 01:46:44 Indeed. 01:47:05 The two main things that have stopped me from using Scheme for anything are 1) the need to pick a specific implementation, 2) the incompatability of code between implementations, and 3) lack of standard modules/libraries. 01:47:11 Sorry, three main things, all connected. 01:47:36 so instead, you picked what? a single-implementation language? 01:47:55 you could as well decree "I code in Racket / Chicken / whatever" 01:47:59 Fare, well Python has a "standard implementation" so to speak 01:48:12 + Perl + PHP 01:48:13 :) 01:48:32 can you explain why that's necessary 01:49:16 I'd just rather use something that's standardized and portable... so I'm interested in the developments of the new Scheme and how they will "address" this "problem," or even if they will. 01:51:04 -!- jao [~jao@173.243.145.79] has quit [Ping timeout: 252 seconds] 01:51:24 python itself is a moving target, though. 01:51:34 you have to say which dot-release you're aiming at... 01:52:07 FurnaceBoy, that's true, but I don't really mind it because everybody is sort of swept along :P 01:52:25 Essentially all Scheme implementations are themselves portable, so portability of Scheme code from one to another is not IMHO so critical. 01:52:36 jcowan, good point 01:56:04 -!- klovett [~klovett@adsl-69-226-233-57.dsl.pltn13.pacbell.net] has left #scheme 01:58:12 jcowan! 01:58:14 how goes? 01:58:24 Chicken is probably the least portable mature implementation, and yet it runs on MacOSX, Windows, Cygwin, Linux, *BSD, Solaris, and Haiku on (variously) x86, x86_64, and sparc64 CPUs. 01:58:28 Chicken has a standard implementation 01:59:20 What do you mean by that? 01:59:29 elly: All good today. 01:59:40 jcowan: woo :) 02:01:04 Meh. Ups and downs. 02:06:28 privmsg, jcowan? 02:07:46 scheme is pretty usable imo 02:07:59 if not more than python, really 02:08:12 the ffis are wayyyy easier to use than python's module 02:08:14 s 02:08:26 calling python code from C is pretty retarded 02:08:42 but w/e 02:09:00 i guess it's also a matter of person preference 02:09:05 That is retarded. 02:09:12 rbarraud_ [~rbarraud@118-92-139-136.dsl.dyn.ihug.co.nz] has joined #scheme 02:09:44 bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has joined #scheme 02:10:05 no i mean the way to accomplish it is challenged 02:10:06 -!- rbarraud [~rbarraud@118-93-169-153.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 265 seconds] 02:10:11 have to do this callback thing 02:10:19 just to call a python function 02:10:29 -!- mmc [~michal@93-39-32-196.ip74.fastwebnet.it] has quit [Read error: Operation timed out] 02:10:39 i still like python though 02:11:01 for gambit or chicken you can just create a C function and it's just like any other C function for the most part 02:11:50 jyaan, thanks for your opinion on this 02:12:09 i had to weigh these issues myself not that long ago 02:12:30 Well, you have a choice, write glue in C or glue in Scheme. In either case it's glue, and it will look very strange compared to normal code. 02:12:47 yea that's true 02:13:02 I've also considered learning OCaml :P 02:13:10 there are some pretty nice things for python like boost-python or pyd and they help a lot 02:13:25 but you're still pretty much on your own for embedding 02:13:35 i like ocaml, too :P 02:13:54 It's intriguing 02:14:07 it was a lot easier to get into than haskell for me 02:14:23 but for me scheme beat both of those 02:14:34 Why? 02:14:38 maybe because i was more familiar with lisp-style coding from emacs 02:14:44 And, which implementation do you use? 02:14:55 gambit and chicken mostly 02:14:55 jao [~jao@cpe-76-166-198-241.socal.res.rr.com] has joined #scheme 02:15:08 they're pretty close to C speed which is nice 02:15:15 What do you do with it if you don't mind my asking? 02:15:24 mostly multimedia and games development 02:15:30 Oh, wow, okay 02:15:37 Neat :) 02:15:39 we write the lowest layer in C++, then built on top w/ a higher level language 02:16:04 Yeah, I saw someone created a Scheme interpreter for Python, SchemePy, and his web site was on a games site, thousand islands or something like that 02:16:13 it's pretty easy to interface between the two and that's probably why i stuck w/ scheme 02:16:15 -!- rbarraud_ [~rbarraud@118-92-139-136.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 02:16:23 :) 02:16:25 that and just because i like the language a lot 02:16:26 haha 02:16:31 rbarraud_ [~rbarraud@118-92-139-136.dsl.dyn.ihug.co.nz] has joined #scheme 02:16:35 Well thanks for the tips 02:16:43 np 02:16:55 I'll probably end up sticking with Python until another programming language has equivalents to some of the libraries available 02:17:28 yea, if you aren't comfortable writing bindings then it's hard to say if you'd be happy 02:17:32 laurus: i was intrigued by ocaml also 02:17:36 chicken has a _lot_ of bindings though 02:17:43 ocaml has even more lol 02:17:48 laurus: but i have not yet taken the effort to get across it. scheme will come first (n00b) 02:17:58 Maybe I'm kind of OCD but I like having everything in one language, it's just easier 02:18:08 FurnaceBoy, me too :) Hehe 02:18:37 laurus: but i have multiple agendas. Quadrescence has pointed me at SICP and it has many lessons that I need to internalise. 02:18:53 FurnaceBoy, yeah, I've heard many good things about that book 02:19:00 the videos are nice too 02:19:02 laurus: so I expect that I will actually end up learning 'some' scheme, haskell and [oca]ml 02:19:14 FurnaceBoy, cool! 02:19:20 the beginning can be a little boring but after that it's pretty good 02:19:24 laurus: right, long overdue, i should have studied sicp when i was a tadpole. 02:19:34 Haha, well, whatever works for you :) 02:19:35 jyaan: it exercises all the areas I'm weak in. 02:20:11 i just try to maximize the fun of my projects 02:20:22 laurus: the world of type inference is new to me, but exciting 02:20:24 even if that means spending a lot of time learning something 02:20:32 jyaan: yes, i agree totally 02:20:49 jyaan: my day job is >< php >< so i need to find something to keep me sane 02:21:00 *FurnaceBoy* clarifies *currently* php 02:21:09 yea i've seen some nasty php code and usually just try to stay away from it 02:21:13 haha 02:21:24 the implementation is just insane anyways 02:21:31 i've done a variety of things but that's what pays the rent right now, for better or worse 02:21:39 there's no reason to have so many thousands of functions 02:21:49 yeah, accretive development 02:21:51 Yea 02:21:53 kitchensinkism 02:21:56 I have to go, talk to you guys later! 02:22:00 laurus: ciao 02:22:02 Cya later, gl on your project 02:22:06 Thanks :) bye! 02:22:08 -!- laurus [~laurus@c-68-40-207-109.hsd1.mi.comcast.net] has quit [Quit: Leaving] 02:22:30 Actually, the perfect language would probably a cross between scheme and ocaml 02:22:34 for me at least 02:23:10 i'd want to take the type inference, matching, and type classes at least 02:23:22 You might want to look at Typed Racket 02:23:28 -!- rbarraud_ [~rbarraud@118-92-139-136.dsl.dyn.ihug.co.nz] has quit [Remote host closed the connection] 02:23:39 interesting 02:23:46 rbarraud_ [~rbarraud@118-92-139-136.dsl.dyn.ihug.co.nz] has joined #scheme 02:24:47 wait, all i have to do is put #lang typed/racket ?? 02:25:14 btw, i was shocked when i installed racket and it took up 277mb haha 02:25:58 -!- Fare [~Fare@ita4fw1.itasoftware.com] has quit [Quit: Leaving] 02:26:08 That's because Racket is a huge multi-lingual system. 02:26:31 Typed Racket has a much richer type system than ML/Haskell/OCaml. 02:27:07 It lets you say not only "list of integers" but allows heterogeneous lists as well without predeclaring type classes. 02:28:01 nice 02:28:48 There seem to be a lot of people on #racket -- you might inquire further there. 02:28:51 hm is there an emacs keybinding mode somewhere 02:29:06 for drracket 02:30:12 Typed Racket does not, however, infer types, as far as I know. 02:30:37 I think it infers types within a procedure, but not types of procedure arguments. That may be incorrect. 02:30:57 it does at least some since there's a type inference heading in the docs 02:32:59 Riastradh: It does, but in a (much) more limited way than ML. Not really surprising for a system that is more expressive. 02:38:31 -!- hohoho [~hohoho@ntkngw229253.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 02:45:11 -!- hypercube32 [~hypercube@14.154.202.68.cfl.res.rr.com] has quit [Remote host closed the connection] 02:52:42 timj_ [~timj@e176194173.adsl.alicedsl.de] has joined #scheme 02:56:06 -!- timj__ [~timj@e176194205.adsl.alicedsl.de] has quit [Ping timeout: 265 seconds] 02:58:06 pumpkin [~copumpkin@94.165.25.191] has joined #scheme 03:00:58 -!- copumpkin [~copumpkin@94.166.93.150] has quit [Ping timeout: 245 seconds] 03:01:43 -!- pumpkin is now known as copumpkin 03:20:27 -!- nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has quit [Quit: Lost terminal] 03:26:48 -!- FurnaceBoy [~FurnaceBo@ns2.smartgames.ca] has quit [Quit: WeeChat 0.3.3] 03:31:30 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 240 seconds] 03:33:22 eno [~eno@nslu2-linux/eno] has joined #scheme 03:36:51 FurnaceBoy [~FurnaceBo@ns2.smartgames.ca] has joined #scheme 03:42:51 Rakko [~rakko@71-90-73-192.dhcp.ftbg.wi.charter.com] has joined #scheme 03:47:28 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 272 seconds] 03:47:46 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 04:00:27 -!- mbohun [~mbohun@202.124.72.127] has quit [Quit: Leaving] 04:00:32 -!- wgd [~will@76-205-0-91.lightspeed.stlsmo.sbcglobal.net] has quit [Read error: Connection reset by peer] 04:00:48 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 240 seconds] 04:02:39 eno [~eno@nslu2-linux/eno] has joined #scheme 04:02:39 -!- jcowan [~John@cpe-98-14-172-204.nyc.res.rr.com] has quit [Quit: Leaving] 04:05:40 wgd [~will@76-205-0-91.lightspeed.stlsmo.sbcglobal.net] has joined #scheme 04:15:14 -!- fda314925 [~fda314925@211.239.124.232] has quit [Ping timeout: 255 seconds] 04:18:18 hmm... why would MIT Scheme not allow me to set! ? 04:18:23 (set! x 1) ;Unbound variable: x 04:19:34 you might need to define it first 04:19:47 rudybot: eval (define x 1) 04:19:52 rudybot: eval (set! x 2) 04:19:54 rudybot: eval x 04:19:54 *offby1: ; Value: 2 04:19:57 so far so good 04:20:01 rudybot: eval (set! y 2) 04:20:01 *offby1: error: set!: cannot set variable before its definition: y in module: 'program 04:20:19 hmm 04:20:45 but, IIRC, you can't 'define' a variable except at the top level 04:21:05 You can, or you can 'let' it 04:24:36 ok... what I want to do is set a debug variable at the beginning 04:24:46 conditionally 04:24:47 and have the program be able to access it 04:24:52 sure 04:24:56 define it to #f 04:25:02 then as needed set! it to #t 04:25:37 aidalgol [~user@114-134-7-235.rurallink.co.nz] has joined #scheme 04:26:14 ok, thanks 04:29:25 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 04:29:26 MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has joined #scheme 04:42:34 -!- aidalgol [~user@114-134-7-235.rurallink.co.nz] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 04:53:31 -!- Kerrick [~Kerrick@e40-1.nat.iastate.edu] has quit [Quit: This system is going down for poweroff RIGHT FREAKING NOW!!!] 04:55:36 man i hate C++ 04:55:52 it's so stupid that the STL container aren't "polymorphic" 04:56:34 can't have a container holding types of a base class and have virtual function calls to the children type 04:57:08 wish i could just stay on the scheme side forever.. lol 04:57:37 just make a type called Cons in C++ 04:57:41 voila you now have scheme 04:58:06 lol 05:00:39 well the stupid part is that what the problem really has nothing to do with my algorithms or anything 05:00:44 nothing to do with the "real" coding 05:00:54 just the support stuff that goes along with it 05:05:48 jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has joined #scheme 05:09:11 githogori [~githogori@adsl-66-123-22-146.dsl.snfc21.pacbell.net] has joined #scheme 05:13:14 Quadrescence++++++ 05:14:30 ;) 05:15:12 I am so lame 05:15:27 I just got excited cuz someone mentioned Scheme... then I realized I was in #scheme :P 05:15:54 LOL! 05:16:11 Rakko: a purely pavlovian reaction 05:18:18 RUBY 05:19:11 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Remote host closed the connection] 05:19:46 yes, I'm drooling 05:19:50 I almost wrote 'druling' 05:20:16 :) 05:20:17 I'm still translating exercises back and forth between Ruby and Scheme and having fun with it 05:20:35 *FurnaceBoy* rings a small bell 05:20:36 just take your ruby program and add 500 parenthesis, thats about it 05:20:53 ((confetti)) 05:21:04 parenthetti 05:26:10 i never really got into ruby 05:26:27 i guess cause there wasn't much reason 05:28:52 right now I'm just getting spread too thin because I keep getting interested in different languages 05:29:42 MIT Scheme doesn't seem to be well-represented here, but just in case... does anyone know of a procedure to exit it without it asking for confirmation? 05:30:05 *Rakko* wrote a small Commodore BASIC problem last night :D 05:31:32 Rakko: what are those current language obsessions? 05:31:33 Rakko: Exit gracefully? 05:31:55 askhader: yes, that's what I'd like to do... right now I can't find any non-manual way of exiting 05:32:56 FurnaceBoy: Currently Ruby and Scheme, with an undercurrent of Logo (it's a Lisp without parens!) and some interest in Go 05:33:06 ic 05:33:13 mine are a bit weirder 05:33:13 Rakko: Use mutation 05:33:44 Some day I should brush up on Java, since I actually studied it in school and these "job" things often call for it 05:33:49 Rakko: your description of logo is interesting. i've been aware of logo for decades but never took it so seriously 05:33:53 And also I need to read the Javascript book I bought 05:34:02 askhader: how do you mean? 05:34:27 Rakko: Use a state variable 05:34:54 Quadrescence: habla se el logo? 05:34:56 My interest in Logo is mainly with NetLogo, since it allows you to easily make agent-based simulations 05:35:16 askhader: how would a variable help me exit Scheme? 05:35:57 Rakko: Well you can force scheme to exit by returning to the top level. 05:36:06 FurnaceBoy: yea 05:36:11 that was my first language 05:36:22 via MicroWorlds on Windowz 05:37:30 hm 05:37:42 Quadrescence: did u end up implementing a CAS in it? 05:37:44 askhader: when execution returns to top level, I get left at a REPL 05:38:46 FurnaceBoy: no, i do remember drawing a cat, and then doing some weird brownian motion thing (which i didn't know was brownian motion) 05:39:40 FurnaceBoy: What are your weird languages? 05:40:43 Rakko: CTRL+D ? 05:41:55 yes, that works 05:41:59 but from -within the program- 05:42:05 that's what I don't get 05:43:00 I dont follow. 05:44:50 Rakko: Quad has helped me narrow it down to the immediately relevant, haskell, scheme... but prior to that i was glancing at ooc, newlisp, ocaml, femtolisp, newspeak, basically anything in a skirt 05:45:37 ooc? Axel-Tobias someone? 05:46:01 http://ooc-lang.org/ 05:46:08 Rakko: oh! and pop-11 05:46:31 oh... not the ooc I was thinking of (which is object-oriented C) 05:46:34 Rakko: and i confess, i lusted after lambda-moo for a bit. 05:47:20 hah 05:47:32 I had to puzzle out a lambda-moo program once 05:48:04 Rakko: but this was after i did something of real practical value, a couple of years ago, which was to learn Erlang 05:48:16 ooc is postfix? (I'm interested in Forth and PostScript-like langs too) 05:48:28 what did/do you use Erlang for? 05:48:42 just some experimental projects. biggest one was a web application 05:48:55 seemed like a way to get familair 05:48:57 iar* 05:49:14 speaking of erlang, there's a neat addon to gambit called termite that adds similar functionality 05:49:15 i don't use it for any real work atm 05:49:30 see, it was Mathematica that got me into pattern matching 05:49:38 so Erlang rang a lot of my bells 05:49:46 pattern matching rocks 05:49:58 yeah. and i use a lot of declarative systems like SQL, make, and regexps 05:50:07 declarative ftw 05:50:31 sql kind of sucks but yea 05:50:31 i had a crush on Prolog in the late 80s 05:50:50 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 05:50:51 and so scheme is where all this converges, for now 05:51:08 my goal is to study PAIP eventually 05:51:36 sql does kind of suck, lexically. 05:51:36 Rakko: there's a fairly recently stack-based language called factor 05:51:36 but that 's fixable 05:52:00 factor takes about a billion years to compile something though lol 05:52:41 well im off for the night 05:52:46 cya later 05:52:53 klutometis, paredit is recovered. I might hack it a bit this week. 05:55:54 aidalgol [~user@114-134-7-235.rurallink.co.nz] has joined #scheme 05:56:13 nice 05:56:14 what's PAIP? 05:56:40 Probably _Principles of AI Programming_. 05:57:42 yes. 05:58:07 Norvig 05:59:10 oh, wow 05:59:14 ah 05:59:27 Factor is by Slava Pestov, who I know as the creator of jEdit 05:59:47 and its logo is a cool dinosaur like in Dinosaur Comics 06:02:59 I can't remember how to shell script :( 06:03:42 Rakko, earlier you asked about exiting MIT Scheme without confirmation: use the %EXIT procedure, with zero arguments or with one argument for an exit value. 06:04:06 thanks 06:04:10 what does % mean? 06:04:24 It doesn't mean anything special to Scheme; it's just part of the name. 06:04:39 Conventionally, to humans, it means that the binding is in some sense internal or lower-level. 06:07:01 Ahh :) 06:07:41 -!- FurnaceBoy [~FurnaceBo@ns2.smartgames.ca] has quit [Quit: WeeChat 0.3.3] 06:07:55 I like how many punctuation characters are allowed in Scheme names 06:09:11 I'm off to bed, but if you have further questions about MIT Scheme, I'll check the log and answer them tomorrow morning. 06:10:09 Cool. Thanks and good night! 06:11:49 Riastradh: fantastic; i feel like some lost organ has been recovered. 06:18:03 -!- Modius [~Modius@cpe-24-28-30-165.austin.res.rr.com] has quit [Read error: Connection reset by peer] 06:18:08 OEP [~OEP@c-76-27-129-70.hsd1.al.comcast.net] has joined #scheme 06:18:30 Modius [~Modius@cpe-24-28-30-165.austin.res.rr.com] has joined #scheme 06:28:17 mbohun [~mbohun@202.124.72.127] has joined #scheme 06:45:14 pdponze [~pdponze@144.85.124.96] has joined #scheme 06:45:20 -!- pdponze [~pdponze@144.85.124.96] has left #scheme 06:45:33 pdponze [~pdponze@144.85.124.96] has joined #scheme 06:51:01 night 06:51:51 -!- Rakko [~rakko@71-90-73-192.dhcp.ftbg.wi.charter.com] has quit [Quit: Rakko] 06:58:18 -!- jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has quit [Ping timeout: 240 seconds] 07:04:25 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 07:08:52 alaricsp [~alaric@mukhadvaram.gurukuli.co.uk] has joined #scheme 07:09:56 karme [~user@stgt-5d8486cf.pool.mediaWays.net] has joined #scheme 07:19:01 -!- jao [~jao@cpe-76-166-198-241.socal.res.rr.com] has quit [Ping timeout: 260 seconds] 07:20:40 ejs [~eugen@77.222.151.102] has joined #scheme 07:22:21 fda314925 [~fda314925@211.239.124.232] has joined #scheme 07:24:49 -!- alaricsp [~alaric@mukhadvaram.gurukuli.co.uk] has quit [Ping timeout: 265 seconds] 07:32:16 fradgers- [~fradgers-@5adafe9d.bb.sky.com] has joined #scheme 07:48:25 gravicappa [~gravicapp@80.90.116.82] has joined #scheme 07:53:50 mmc [~michal@93-39-32-196.ip74.fastwebnet.it] has joined #scheme 07:57:46 hkBst [~hkBst@gentoo/developer/hkbst] has joined #scheme 08:00:07 alaricsp [~alaric@94-194-200-54.zone8.bethere.co.uk] has joined #scheme 08:02:24 schmir [~schmir@p54A910A8.dip0.t-ipconnect.de] has joined #scheme 08:24:59 pdelgallego [~pdelgalle@1503031474.dhcp.dbnet.dk] has joined #scheme 08:27:37 -!- gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Ping timeout: 260 seconds] 08:27:42 rbarraud__ [~rbarraud@118-92-151-237.dsl.dyn.ihug.co.nz] has joined #scheme 08:27:55 gnomon [~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined #scheme 08:29:01 -!- rbarraud_ [~rbarraud@118-92-139-136.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 260 seconds] 08:30:31 Jafet1 [~Jafet@unaffiliated/jafet] has joined #scheme 08:30:53 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Disconnected by services] 08:30:56 -!- Jafet1 is now known as Jafet 08:40:08 rdd [~rdd@c83-250-48-164.bredband.comhem.se] has joined #scheme 08:44:03 rbarraud [~rbarraud@118-93-68-19.dsl.dyn.ihug.co.nz] has joined #scheme 08:46:58 -!- franki^ [~frankie@ajax.webvictim.net] has quit [Ping timeout: 258 seconds] 08:46:59 -!- OEP [~OEP@c-76-27-129-70.hsd1.al.comcast.net] has quit [Ping timeout: 265 seconds] 08:47:05 -!- rbarraud__ [~rbarraud@118-92-151-237.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 276 seconds] 08:47:26 -!- IJP [~Ian@host109-154-200-199.range109-154.btcentralplus.com] has quit [Ping timeout: 264 seconds] 08:47:44 -!- fradgers- [~fradgers-@5adafe9d.bb.sky.com] has quit [Ping timeout: 276 seconds] 08:48:59 IJP [~Ian@host109-154-210-141.range109-154.btcentralplus.com] has joined #scheme 08:52:56 -!- niko [~niko@freenode/staff/niko] has quit [Ping timeout: 612 seconds] 08:54:02 -!- stepnem [~stepnem@88.103.132.186] has quit [Ping timeout: 276 seconds] 09:03:56 pavelludiq [~user@83.222.175.142] has joined #scheme 09:10:44 -!- hkBst [~hkBst@gentoo/developer/hkbst] has quit [Ping timeout: 258 seconds] 09:14:46 franki^ [~frankie@ajax.webvictim.net] has joined #scheme 09:14:47 niko [~niko@freenode/staff/niko] has joined #scheme 09:15:29 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 276 seconds] 09:19:45 preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 09:32:08 rbarraud_ [~rbarraud@118-92-135-253.dsl.dyn.ihug.co.nz] has joined #scheme 09:33:21 -!- rbarraud [~rbarraud@118-93-68-19.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 258 seconds] 09:35:48 hkBst [~hkBst@gentoo/developer/hkbst] has joined #scheme 09:36:13 -!- e-future [~e-future@unaffiliated/sergio/x-8197433] has quit [Ping timeout: 260 seconds] 09:37:42 e-future [~e-future@unaffiliated/sergio/x-8197433] has joined #scheme 09:43:12 -!- niko [~niko@freenode/staff/niko] has quit [Quit: leaving] 09:45:58 rbarraud__ [~rbarraud@118-93-84-99.dsl.dyn.ihug.co.nz] has joined #scheme 09:46:48 -!- rbarraud_ [~rbarraud@118-92-135-253.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 245 seconds] 09:50:16 rbarraud [~rbarraud@118-93-186-163.dsl.dyn.ihug.co.nz] has joined #scheme 09:51:22 -!- rbarraud__ [~rbarraud@118-93-84-99.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 255 seconds] 09:52:51 -!- rbarraud [~rbarraud@118-93-186-163.dsl.dyn.ihug.co.nz] has quit [Read error: Connection reset by peer] 09:53:36 niko [~niko@freenode/staff/niko] has joined #scheme 09:54:10 rbarraud [~rbarraud@118-92-26-130.dsl.dyn.ihug.co.nz] has joined #scheme 10:00:38 rbarraud_ [~rbarraud@118-93-178-14.dsl.dyn.ihug.co.nz] has joined #scheme 10:03:38 -!- rbarraud [~rbarraud@118-92-26-130.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 276 seconds] 10:04:13 rbarraud__ [~rbarraud@118-92-0-90.dsl.dyn.ihug.co.nz] has joined #scheme 10:07:20 -!- rbarraud_ [~rbarraud@118-93-178-14.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 252 seconds] 10:08:49 -!- rbarraud__ [~rbarraud@118-92-0-90.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 252 seconds] 10:09:28 -!- Axioplase_ [~Axioplase@fortigate.kb.ecei.tohoku.ac.jp] has quit [Remote host closed the connection] 10:10:00 -!- niko [~niko@freenode/staff/niko] has quit [Quit: leaving] 10:10:02 -!- jmcphers [~jmcphers@218.185.108.156] has quit [Remote host closed the connection] 10:10:29 niko [~niko@freenode/staff/niko] has joined #scheme 10:10:51 -!- niko [~niko@freenode/staff/niko] has quit [Read error: Connection reset by peer] 10:11:51 niko [~niko@freenode/staff/niko] has joined #scheme 10:18:03 -!- alaricsp [~alaric@94-194-200-54.zone8.bethere.co.uk] has quit [Ping timeout: 245 seconds] 10:23:05 alaricsp [~alaric@geniedb.hotdesktop.biz] has joined #scheme 10:33:11 -!- aidalgol [~user@114-134-7-235.rurallink.co.nz] has quit [Quit: zZzZzZz] 10:40:17 geirr [~geirr@home.kvaleberg.no] has joined #scheme 10:40:24 -!- Delita [~pete@cpe-74-64-94-88.hvc.res.rr.com] has quit [Ping timeout: 272 seconds] 10:40:39 dfkjjkfd [~paulh@236-13-ftth.onsnetstudenten.nl] has joined #scheme 10:42:46 fradgers- [~fradgers-@5adafe9d.bb.sky.com] has joined #scheme 10:47:26 -!- hkBst [~hkBst@gentoo/developer/hkbst] has quit [Remote host closed the connection] 10:47:43 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 258 seconds] 10:48:45 -!- geirr [~geirr@home.kvaleberg.no] has quit [Quit: God's away on Business.] 10:48:50 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 10:57:07 -!- leppie [~lolcow@196-215-63-152.dynamic.isadsl.co.za] has quit [] 10:57:38 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 245 seconds] 10:58:11 -!- pavelludiq [~user@83.222.175.142] has quit [Ping timeout: 276 seconds] 11:04:54 sladegen [~nemo@unaffiliated/sladegen] has joined #scheme 11:07:38 -!- eldragon [~eldragon@84.79.67.254] has quit [Ping timeout: 265 seconds] 11:17:50 eldragon [~eldragon@84.79.67.254] has joined #scheme 11:19:22 -!- jensn [~ceres@c-83-233-158-96.cust.bredband2.com] has quit [Read error: Connection reset by peer] 11:20:13 jensn [~ceres@c-83-233-158-96.cust.bredband2.com] has joined #scheme 11:21:16 -!- jensn [~ceres@c-83-233-158-96.cust.bredband2.com] has quit [Read error: Connection reset by peer] 11:25:10 jensn [~ceres@c-83-233-158-96.cust.bredband2.com] has joined #scheme 11:39:27 stepnem [~stepnem@88.103.132.186] has joined #scheme 11:47:39 -!- mbohun [~mbohun@202.124.72.127] has quit [Quit: Leaving] 11:59:37 rbarraud [~rbarraud@118-92-12-197.dsl.dyn.ihug.co.nz] has joined #scheme 12:13:45 homie [~user@xdsl-87-79-55-90.netcologne.de] has joined #scheme 12:14:16 wbooze [~user@xdsl-87-79-55-90.netcologne.de] has joined #scheme 12:16:45 HG` [~HG@xdsl-92-252-91-157.dip.osnanet.de] has joined #scheme 12:32:55 -!- lusory [~bart@bb119-74-203-203.singnet.com.sg] has quit [Read error: Connection reset by peer] 12:36:12 -!- nowhereman [~pierre@AStrasbourg-551-1-44-113.w92-148.abo.wanadoo.fr] has quit [Ping timeout: 258 seconds] 12:36:25 -!- stepnem [~stepnem@88.103.132.186] has quit [Ping timeout: 240 seconds] 12:36:35 nowhereman [~pierre@AStrasbourg-551-1-35-83.w92-148.abo.wanadoo.fr] has joined #scheme 12:38:27 stepnem [~stepnem@88.103.132.186] has joined #scheme 12:38:50 lusory [~bart@bb119-74-208-236.singnet.com.sg] has joined #scheme 12:44:45 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #scheme 13:06:55 hohoho [~hohoho@ntkngw229253.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 13:09:31 dzhus [~sphinx@89-178-128-186.broadband.corbina.ru] has joined #scheme 13:22:49 OEP [~OEP@c-76-27-129-70.hsd1.al.comcast.net] has joined #scheme 13:25:16 -!- langmartin [~user@exeuntcha2.tva.gov] has quit [Read error: Connection reset by peer] 13:25:32 langmartin [~user@exeuntcha2.tva.gov] has joined #scheme 13:27:48 -!- Adamant [~Adamant@unaffiliated/adamant] has quit [Quit: Adamant] 13:30:46 -!- samth_away is now known as samth 13:32:21 -!- langmartin [~user@exeuntcha2.tva.gov] has quit [Read error: Connection reset by peer] 13:32:36 langmartin [~user@exeuntcha2.tva.gov] has joined #scheme 13:33:01 minion, message for jcowan, you're correct about Typed Racket's type inference 13:33:01 please stop playing with me... i am not a toy 13:33:09 minion, msg for jcowan, you're correct about Typed Racket's type inference 13:33:10 you speak nonsense 13:33:16 minion, help 13:33:16 There are multiple help modules. Try ``/msg minion help kind'', where kind is one of: "lookups", "helping others", "adding terms", "aliasing terms", "forgetting", "memos", "avoiding memos", "nicknames", "goodies", "eliza", "advice", "apropos", "acronyms". 13:33:24 minion, memo for jcowan, you're correct about Typed Racket's type inference 13:33:24 Remembered. I'll tell jcowan when he/she/it next speaks. 13:42:31 -!- langmartin [~user@exeuntcha2.tva.gov] has quit [Remote host closed the connection] 13:42:44 langmartin [~user@exeuntcha2.tva.gov] has joined #scheme 13:48:31 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Remote host closed the connection] 13:49:03 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 13:49:08 -!- rbarraud [~rbarraud@118-92-12-197.dsl.dyn.ihug.co.nz] has quit [Ping timeout: 276 seconds] 13:59:38 -!- ejs [~eugen@77.222.151.102] has quit [Quit: This computer has gone to sleep] 14:01:50 -!- dzhus [~sphinx@89-178-128-186.broadband.corbina.ru] has quit [Ping timeout: 264 seconds] 14:02:06 -!- schmir [~schmir@p54A910A8.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 14:06:48 -!- MichaelRaskin [~MichaelRa@pantagruel.mccme.ru] has quit [Ping timeout: 240 seconds] 14:07:41 femtoo [~femto@95-89-197-19-dynip.superkabel.de] has joined #scheme 14:13:37 -!- e-future [~e-future@unaffiliated/sergio/x-8197433] has quit [Read error: Operation timed out] 14:17:34 e-future [~e-future@unaffiliated/sergio/x-8197433] has joined #scheme 14:18:11 klutometis, yeah...I misplaced my spleen some ten years ago, and just found it on a USB flash device. 14:23:03 -!- langmartin [~user@exeuntcha2.tva.gov] has quit [Ping timeout: 245 seconds] 14:28:07 langmartin [~user@exeuntcha2.tva.gov] has joined #scheme 14:35:57 Riastradh, Typed Racket infers types when (a) the types are "obvious" and (b) when the types begin provided as the instantiation of a polymorphic function 14:37:06 -!- alaricsp [~alaric@geniedb.hotdesktop.biz] has quit [Read error: Operation timed out] 14:37:37 -!- HG` [~HG@xdsl-92-252-91-157.dip.osnanet.de] has quit [Quit: Leaving.] 14:42:13 -!- OEP [~OEP@c-76-27-129-70.hsd1.al.comcast.net] has quit [Ping timeout: 245 seconds] 14:42:15 Checkie [3820@unaffiliated/checkie] has joined #scheme 14:43:51 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Ping timeout: 258 seconds] 14:49:29 FurnaceBoy [~FurnaceBo@ns2.smartgames.ca] has joined #scheme 14:51:37 -!- langmartin [~user@exeuntcha2.tva.gov] has quit [Remote host closed the connection] 15:05:54 langmartin [~user@exeuntcha2.tva.gov] has joined #scheme 15:08:45 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Ping timeout: 265 seconds] 15:10:08 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Ping timeout: 245 seconds] 15:11:41 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 15:23:56 nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has joined #scheme 15:33:16 has anyone used the "class" object system for scheme 15:33:27 all the docs seem to be in french :) 15:33:29 :S 15:33:38 And I can't read that.. haha 15:33:41 -!- jay-mccarthy [~jay@lallab.cs.byu.edu] has left #scheme 15:33:59 I'm examining the tests so at least I can figure out a couple things though 15:35:21 jyaan: try /msg fsbot fr en salut 15:35:33 yea, worth a short 15:35:55 jyaan: ah sorry /msg fsbot t8 fr en salut 15:36:00 yea 15:36:05 i'll just try google translate i guess 15:36:09 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 15:36:10 ;-) 15:36:11 You'll need to identify the system more clearly, jyaan... For example, what is an `object system' in the first place? 15:36:13 it's a french tex source :S 15:36:26 it's an object system named "class" 15:36:38 poor choice of a name imo.. 15:36:55 http://github.com/sthilaid/class 15:37:20 It's supposedly an efficient CLOS-like object system for scheme 15:37:36 But I konw what you mean 15:37:49 I figured that out a long time ago, OOP is really kind of like commenting lol 15:38:36 It's just a lot of ideas that have been around for a *long* time wrapped into this trendy label 15:39:11 but anyways, what i'm really interested is just having generic functions 15:39:20 interested in is* 15:39:28 jyann: I used that object system in the past 15:39:42 how do you feel about it 15:39:49 I found it pretty nice, but the only doc I know of is David's master's thesis 15:39:49 Well, the term `object-oriented' has been around for a long time, too -- for about three and a half decades. What hasn't been around during that time is a consistent definition for the term, rendering it useless to communicate ideas. 15:40:05 Oh 15:40:08 recent thread on Erlang list proves that 15:40:11 Yea 15:40:30 jyaan: but since I used to sit on the desk next to the author's, documentation was not a problem 15:40:38 Hahaha 15:40:44 ..until you moved desks 15:40:55 *FurnaceBoy* sees stamourv suddenly invent the 'computer network' 15:40:59 Well I don't mind reading code 15:41:11 klovett [~klovett@adsl-69-226-233-57.dsl.pltn13.pacbell.net] has joined #scheme 15:41:14 wasted my youth with c++ and thought i knew what oop is ;-) 15:41:16 maybe if i'll lucky there will be comments 15:41:20 karme: oh the humanity! 15:41:32 C++ oop is really annoying sometimes 15:41:55 Like I was saying last night, the way that STL disables polymorphism is just retarded 15:42:14 jyaan: I think there may be example code using it somewhere 15:42:16 You can't have a container that holds a base class type and put subclasses in it 15:42:35 stamourv: there is a tests directory at the very least, so i can get started with that 15:42:59 jyaan: yeah, there's that, so you have examples, but that's not really documentation 15:43:01 jyaan: well you can use smartptrs in there ... ;-) 15:43:36 i know, but it's stupid how you have to worked around things 15:43:45 --> ;-) 15:44:15 I personally find coding in Scheme as a huge relief compared to C++ 15:44:17 somnium [~user@adsl-65-191-210.dab.bellsouth.net] has joined #scheme 15:44:28 +1 15:44:44 We recently started embedding Scheme in our code 15:44:57 So we do the lowest layer in C++ and built on top with Scheme 15:45:01 i recently started to use scheme at work 15:45:05 build* 15:45:09 lucky you, karme 15:45:19 Which implementation? 15:45:20 karme: doing what? 15:45:28 (not all the time, only if i have the choice) 15:45:30 gauche 15:45:36 Oh nice 15:46:06 One nice thing about Scheme is that there are lots of choices- 15:46:31 And for the Scheme to C compilers, you don't have to force everyone to change all the old ways 15:46:38 Just add in Scheme on top 15:46:39 jyaan: which one do you use? 15:46:45 Generally Gambit 15:46:53 -!- femtoo [~femto@95-89-197-19-dynip.superkabel.de] has quit [Quit: Leaving] 15:46:55 I'd like to use Chicken but haven't got it wor0king in Windows yet 15:46:56 jyaan: nice for embedding? 15:46:58 Yea 15:47:03 It's really easy to embed 15:47:11 jao [~jao@cpe-76-166-198-241.socal.res.rr.com] has joined #scheme 15:47:12 jyaan: does it use libgc? 15:47:16 And its threading is nice 15:47:22 Has its own gc afaik 15:47:34 jyaan: exact gc? 15:47:47 I'll find the page about it, 1 sec 15:48:02 Chicken's garbage collector is precise, yes. 15:48:13 So is the garbage collector of pretty much every Scheme system. 15:48:15 Chicken has a lot of minor collections tho 15:48:28 Because it uses the C stack for the Scheme heap, basically 15:48:34 For the 1st part of it I mean 15:48:48 It has this really cool way of doing things 15:48:52 Any generational garbage collector is supposed to have many more minor collections than major collections. That's the point of the generational hypothesis. 15:49:39 So you get the speed of the C stack for a lot of operations 15:50:20 jyaan: according to some of my old notes gambit uses libgc 15:50:53 Gambit has its own garbage collector too. 15:50:53 i don't see it linked in 15:51:12 xwl [~user@125.34.170.46] has joined #scheme 15:51:15 i guess they could have just stuck it in the src tho 15:51:18 Riastradh: you mean you can choose between own gc and libgc? 15:51:20 If by libgc you mean the Boehm garbage collector, that's certainly not the case -- I don't think Gambit has ever used that, or any conservative garbage collector. 15:51:34 Riastradh: maybe my notes are wrong 15:51:41 Yea i was certain it didn't 15:51:50 use beohm 15:52:39 Larceny and Racket are the only Scheme systems I know of that have the option of using the Boehm garbage collector, but it is not the default, and using it is a pretty bad idea anyway. 15:52:43 Gambit uses refcounting afaik 15:53:04 Yea Larceny has a lot of choices on GC 15:53:14 Used to be 5 or 6 wasn't it, I think now it's 3 though 15:53:22 Different GCs you can use 15:53:36 http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Notes_on_Memory_Management 15:53:36 -rudybot:#scheme- http://tinyurl.com/23g8xqf 15:53:55 That's more about using the C api but still 15:54:03 gives a general idea 15:54:33 http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Debugging#Memory_use 15:54:36 Reference counting is not garbage collection. Gambit uses reference counting only for references to Scheme objects from C, where every resource for which C is responsible must be explicitly released. 15:55:12 Oh yea you're right 15:55:26 I really just can't find anything on it 15:55:55 Gambit's garbage collector uses a mark-compact algorithm, if I recall correctly. All references from C into the Scheme heap are roots; when an object's reference count drops to zero, it is no longer considered a root, although it may nevertheless be live. 15:56:01 Gambit's docs aren't as comprehensive as others unfortunately 15:56:17 thanks 15:57:24 Btw, how did you learn so much about Scheme? :P 15:57:45 Seems you know everything about every implementation lol 15:57:50 Riastradh is the esteemed author of paredit 15:58:01 er, maintainer 15:58:22 Ooh, I use that, thanks for working on it 15:58:27 Author and maintainer. 15:59:07 -!- martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has quit [Remote host closed the connection] 15:59:30 martinhex [~mjc@93-97-29-243.zone5.bethere.co.uk] has joined #scheme 16:00:29 quoting the source looks like Riastradh is right: mem.c:816:..compacting GC.. , and no signs of libgc (boehm gc) in the src 16:01:44 anyone interested in offering any design comments on a scheme-like lisp dialect that runs in and compiles to javascript? right now Im trying to write just enough library to compile the compiler, but its hard to avoid making commitments 16:03:56 json would be nice :P 16:04:28 converting scheme object back and forth would be really neat 16:04:44 jyaan: there is some code out there 16:05:05 i know, but he's talking about a scheme that running in js 16:05:20 jyaan: I think there are enough js-libs that cover json 16:05:31 Apropos of paredit, at some point it would be nice to release paredit 22, once I have received feedback on the proposed changes to it, which are available for experimentation at . 16:05:47 (Scheme-like? What's wrong with just scheme to javascript?) 16:06:06 :P 16:07:15 well, part of it is difficulty in resisting the urge to tinker 16:07:36 mostly some utilities for dealing with js-objects are really useful 16:07:41 jdeseno [~josh@70.36.237.242] has joined #scheme 16:08:20 and the extreme difficulty of implementing continuations without a huge performance hit/break in calling conventions :( 16:08:21 vu3rdd [~vu3rdd@122.166.172.161] has joined #scheme 16:08:33 http://gist.github.com/553648 16:08:44 this is how it looks for now 16:09:05 What's the problem with continuations, somnium? Just generate JavaScript in CPS. 16:09:10 planning to open-source/announce it once its bootstrapped 16:09:55 Riastradh: that brings a lot of overhead, and most js libraries don't work with continuations, so it makes interop with existing code (node libs, browser libs) more complicated 16:10:02 though its possible 16:10:13 jewel [~jewel@196-215-16-132.dynamic.isadsl.co.za] has joined #scheme 16:10:32 maybe a flag, the compiler just uses anf for now, but planning on converting to cps based one 16:11:16 a scheme w/out 1st class continuations isn't really scheme :P 16:11:31 although I honestyl don't use them very much lol 16:11:34 scheme-like :) 16:11:58 Probably because I just don't know the idioms and where they'd be useful 16:12:14 I understand how the work and w/e but when coding I guess I just don't think of them 16:12:37 most of the times when Ive wanted continuations in other lisps, Ive written a macro to short-circuit, but Ive really only written throw-away code in scheme :/ 16:12:51 Riastradh: paredit is still on my todo/tolearn 16:13:39 I suppose I use them indirectly all the time tho 16:14:09 Like threads libraries that use continuations 16:14:56 how about delimited continuations only? thats a bit easier to do as a library 16:14:57 Exercise: You are given a procedure (WALK-FRINGE ) that applies to each element of the fringe of (that is, to each leaf of ). Implement a procedure (SAME-FRINGE? ) that tells whether the two trees have the same fringe, without putting the entire fringe of either tree into a list or anything. 16:15:33 -!- jewel [~jewel@196-215-16-132.dynamic.isadsl.co.za] has quit [Ping timeout: 245 seconds] 16:15:39 Ahh 16:16:22 So you could yield the leaf and compare it 16:18:10 -!- tonyg [~tonyg@navarone.ccs.neu.edu] has quit [Quit: leaving] 16:18:16 hmm, how often are continuations the best solution (% wise) 16:19:14 atm Im of the opinion that when needed, writing the code in cps style and using a macro or monad to siphon off the boiler plate is sufficient, but Im open to being wrong 16:19:35 (due to experience of often being wrong) 16:20:35 Try to solve the exercise I gave, then, doing that. Note that while you may go wild in the definition of SAME-FRINGE?, you can't change the WALK-FRINGE procedure that you are given. 16:21:28 dzhus [~sphinx@93-80-204-149.broadband.corbina.ru] has joined #scheme 16:21:31 Riastradh: I can't, but isn't that like 'monkey-patching control flow' ? 16:21:42 can I write a new WALK-FRINGE procedure? 16:21:44 Monkey-patching? 16:21:47 No. 16:21:48 in cps style? 16:21:51 damn 16:21:54 You are given the WALK-FRINGE procedure. 16:22:08 just write it in scheme 16:22:09 still, this seems like a fringe case 16:22:33 is that a pun? 16:22:34 haha 16:24:09 if walk-fringe is lazy it would work too 16:24:16 -!- incubot [incubot@klutometis.wikitex.org] has quit [Remote host closed the connection] 16:24:45 er, just work, without continuations 16:24:57 Let me put it another way, then. Suppose you are using Python. Guido decrees that he's going to take `for' and `yield' out of the language. You are faced with the task of rewriting all the code that uses those -- you must transform all that code into CPS. Are you a happy camper? (Assume that Python does not make you an unhappy camper a priori.) 16:25:01 so I would just complain to the author of walk-fringe 16:25:34 eh 16:25:41 I wrote it and i'm very happy with it. 16:25:44 plus, I am your boss. 16:26:16 karme: you really don't need to learn anything to start benefitting from paredit 16:26:34 Im just trying to weigh the cost/benefit of trying to hack in continuations 16:26:36 just enabling it gives you the matching end parens 16:26:58 people often complain about writing async code in javascript, but a simple macro eliminates all the nesting without first class ones 16:27:46 my heresy aside, any comment on the choices so far in the gist? 16:28:41 karme, to expound a trifle on jyaan's remark: it is the intent of paredit that you can turn it on and then continue typing exactly as you had been typing before. 16:28:46 and also, with paredit you can do a C-k do delete to the end of the line, but the correct parens will still be there, it's sweet 16:28:58 yep 16:29:09 that's what makes it so great i think 16:29:30 incubot [incubot@klutometis.wikitex.org] has joined #scheme 16:29:35 with a lot of new things there's a lot of initial hadjustment and frustration 16:29:39 adjustment* 16:31:06 -!- jdeseno [~josh@70.36.237.242] has quit [Quit: leaving] 16:32:38 really easy to set up, too 16:32:57 for every mode you want it enabled in, just add a hook 16:34:05 so yea, thanks again for writing it :) 16:37:52 curious, Scheme2JS seems to be mostly campatible with R5RS, but Ive had a hard time finding examples of its use. Is it just lack of marketing? (it did come from INRIA after all) 16:38:35 no idea 16:38:52 probably not that many web developers that know scheme? 16:40:00 i'm sure there are still people out there who think html is "programming" 16:40:14 actually, a pretty funny thing about that 16:40:39 i saw a movie a while back about some hackers, and the "code" they were using to hack into things was html lol 16:40:49 I know, web-dev is a ghetto 16:41:08 heh, like the numbers episode where they went on irc and took a screenshot of the chat 16:41:12 sxml seems pretty interesting though 16:41:26 but when i checked out ssax, the library is just huge 16:41:38 i tihnk it compiled to an 8mb library 16:42:08 i'm sure there's a way to pick the parts i want though, i'll have to check it out again later 16:43:28 stamourv: does "class" have multimethods? 16:43:36 like :before and :after in CL 16:44:23 hm mabye not, i don't see before or after in the tests 16:45:26 alaricsp [~alaric@geniedb.hotdesktop.biz] has joined #scheme 16:47:11 -!- homie [~user@xdsl-87-79-55-90.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 16:47:17 -!- wbooze [~user@xdsl-87-79-55-90.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 16:49:34 jyaan: well, data==code, right? :) 16:49:47 Adamant [~Adamant@unaffiliated/adamant] has joined #scheme 16:49:55 jyaan: arguably html is as much code as S expr 16:49:58 *FurnaceBoy* ducks 16:50:07 Haha 16:50:28 html can't possible count as programming 16:50:34 jyaan: ORLY? 16:50:36 you don't even have an if statement 16:50:50 no functions, no variables 16:50:57 alright, alright, you win. 16:50:58 -.- 16:51:01 :P 16:54:15 but: http://commons.apache.org/jelly/ jyaan 16:54:28 lol wow 16:54:38 Well I really wouldn't want to code in that 16:54:43 HTML is verbose enough as it is 16:54:47 right. it's the anti-Scheme, in a way :) 16:56:01 wow, how can that seem like a good idea 16:56:09 "a tool for turning XML into executable code" 16:56:13 haha 16:57:21 somnium: evil walks the earth 16:57:58 long live the visitor-pattern 17:01:22 -!- cthuluh [moo@wxcvbn.org] has quit [Quit: the more I see, the less I know] 17:12:12 jelly is the devil 17:14:27 -!- nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has quit [Read error: Connection reset by peer] 17:15:37 even frightened cthuluh away 17:16:57 (sort of) re the python example, one nice thing about hawing engines like v8, you can compile to js and you're already significantly faster than python 17:17:04 cthuluh [moo@wxcvbn.org] has joined #scheme 17:17:25 -!- xwl [~user@125.34.170.46] has quit [Ping timeout: 240 seconds] 17:18:08 nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has joined #scheme 17:22:51 jyaan: I don't think so 17:23:07 i found call-next-method used in the test source 17:23:12 so it must have multimethods 17:23:19 somnium: yes that is a pleasant payoff 17:23:23 otherwise why would it have that, just wouldn't make sense 17:23:37 jyaan: give it a try, but I don't remember using them 17:23:41 i guess it's implemented in some weird way 17:24:02 the implementation is rather short, so you could have a look 17:24:05 this might be just what i needed 17:24:18 all i really wanted is just generic methods 17:24:19 -!- jao [~jao@cpe-76-166-198-241.socal.res.rr.com] has quit [Ping timeout: 272 seconds] 17:24:39 and a few other basic features 17:24:57 there are some really interesting object systems for scheme out there though 17:25:20 like meroon, oops and goops in particular 17:25:31 well and tiny clos and tiny talk too 17:25:45 tiny talk is really neat too 17:25:59 becasue of the similarity to smalltalk/self 17:26:27 probably won't use any of these in real projects, but it's really fun :P 17:31:35 jyaan: I believe class was meant to be a simpler meroon 17:33:05 -!- alaricsp [~alaric@geniedb.hotdesktop.biz] has quit [Ping timeout: 240 seconds] 17:33:12 fod [~fod@92.251.255.5.threembb.ie] has joined #scheme 17:33:47 hm, seems call-next-method call the superclass method 17:33:51 jao [~jao@173.243.145.79] has joined #scheme 17:34:44 Not what I wanted 17:36:52 -!- cthuluh [moo@wxcvbn.org] has quit [Quit: the more I see, the less I know] 17:37:35 hm, seems that gambit allows not only [] for () but also {} 17:37:54 i thought {} was reserved 17:45:09 cthuluh [moo@wxcvbn.org] has joined #scheme 17:45:29 anyone using Ikarus for real projects? 17:49:17 tonyg [~tonyg@navarone.ccs.neu.edu] has joined #scheme 17:50:43 i can't becasue i need more than just x86 17:52:34 gravicappa [~gravicapp@ppp85-141-166-208.pppoe.mtu-net.ru] has joined #scheme 17:54:00 alexand3r, you might want to try the mailing list, as you might get a better response 17:56:48 -!- gravicappa [~gravicapp@ppp85-141-166-208.pppoe.mtu-net.ru] has quit [Ping timeout: 240 seconds] 17:58:39 IJP: thanks 17:58:54 I want to develop on Windows and Linux, and I need a scheme that's relatively stable, and reasonably fast. 18:00:07 i use gambit for that 18:00:17 but it's r5rs maybe you wanted r6rs 18:00:49 It claims to run on windows, but I've only used it on linux so I can't vouch for that 18:00:50 alexand3r: racket doesn't qualify? 18:00:54 i would probably use chicken except that i haven't got it set up on windows yet 18:03:29 somnium: it might, I'm scoping out options. 18:03:45 I've done a lot of chicken so far, and a bunch of guile. 18:03:57 but I'd like to get into a native/incremental compile. 18:04:19 I like Ypsilon and Racket, but I only use scheme for prototyping 18:05:20 I'm hoping to get away from Python/Qt, and do this final product in scheme. 18:07:09 gravicappa [~gravicapp@91.78.228.174] has joined #scheme 18:08:33 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 258 seconds] 18:10:52 -!- csmrfx_ is now known as csmrfx 18:13:27 aidalgol [~user@114-134-7-235.rurallink.co.nz] has joined #scheme 18:13:53 why can't you do incremental in chicken or gambit 18:17:13 -!- lnostdal [~quassel@123.80-203-140.nextgentel.com] has quit [Read error: Connection reset by peer] 18:17:49 -!- cthuluh [moo@wxcvbn.org] has quit [Quit: the more I see, the less I know] 18:18:09 jyaan: did they get rid of the compilation step? 18:18:13 (in chicken scheme) 18:20:01 alexand3r: there's http://wiki.call-cc.org/egg/autocompile , although it's not exactly incremental compile, as far as I understand. 18:20:44 There is or used to be an interface to GNU Lightning, to 18:20:45 too 18:23:28 HG` [~HG@xdsl-92-252-124-179.dip.osnanet.de] has joined #scheme 18:26:36 ah 18:27:07 An interface to GNU Lightning does not a JIT compiler make... 18:27:22 :) 18:27:25 Quite! 18:27:43 *FurnaceBoy* underlines that in pencil 18:27:50 qotd 18:30:57 -!- mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has quit [Ping timeout: 240 seconds] 18:32:57 ooh gnu lightning 18:33:00 hotblack23 [~jh@p57B5B0DD.dip.t-dialin.net] has joined #scheme 18:33:15 yea you still have to do all the rest yourself 18:36:04 pavelludiq [~user@83.222.175.142] has joined #scheme 18:39:42 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Disconnected by services] 18:39:51 sladegen [~nemo@unaffiliated/sladegen] has joined #scheme 18:42:48 -!- jao [~jao@173.243.145.79] has quit [Ping timeout: 240 seconds] 18:48:09 evhan [~evhan@dyn-72-33-57-23.uwnet.wisc.edu] has joined #scheme 18:57:35 proq [~user@unaffiliated/proqesi] has joined #scheme 18:58:31 -!- copumpkin [~copumpkin@94.165.25.191] has quit [Read error: Connection reset by peer] 18:59:19 copumpkin [~copumpkin@94.167.66.163] has joined #scheme 19:02:30 -!- nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has quit [Quit: Lost terminal] 19:04:03 set theme lt 19:04:22 there should be a slash there... 19:04:56 ? 19:06:56 jcowan [c6b912cf@gateway/web/freenode/ip.198.185.18.207] has joined #scheme 19:09:46 -!- mario-goulart [~user@67.205.85.241] has quit [Remote host closed the connection] 19:10:29 mario-goulart [~user@67.205.85.241] has joined #scheme 19:19:25 -!- tonyg [~tonyg@navarone.ccs.neu.edu] has quit [Quit: Lost terminal] 19:20:32 tonyg [~tonyg@navarone.ccs.neu.edu] has joined #scheme 19:23:44 mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has joined #scheme 19:24:16 lnostdal [~quassel@62.80-203-136.nextgentel.com] has joined #scheme 19:28:51 -!- evhan [~evhan@dyn-72-33-57-23.uwnet.wisc.edu] has quit [Quit: leaving] 19:30:25 OEP [~OEP@c-76-27-129-70.hsd1.al.comcast.net] has joined #scheme 19:30:45 -!- lnostdal [~quassel@62.80-203-136.nextgentel.com] has left #scheme 19:32:06 nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has joined #scheme 19:34:10 *jcowan* appears and all that. 19:35:04 -!- vu3rdd [~vu3rdd@122.166.172.161] has quit [Remote host closed the connection] 19:38:38 -!- stepnem [~stepnem@88.103.132.186] has quit [Ping timeout: 255 seconds] 19:38:56 schmir [~schmir@p54A91AF2.dip0.t-ipconnect.de] has joined #scheme 19:39:13 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 19:42:57 stepnem [~stepnem@88.103.132.186] has joined #scheme 19:45:32 -!- nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has quit [Ping timeout: 258 seconds] 19:52:56 nego [~nego@c-76-16-30-244.hsd1.il.comcast.net] has joined #scheme 19:55:56 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 19:56:39 wbooze [~user@xdsl-87-79-55-90.netcologne.de] has joined #scheme 19:56:42 homie [~user@xdsl-87-79-55-90.netcologne.de] has joined #scheme 19:57:01 -!- aidalgol [~user@114-134-7-235.rurallink.co.nz] has quit [Remote host closed the connection] 19:57:45 aidalgol [~user@114-134-7-235.rurallink.co.nz] has joined #scheme 19:59:41 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 20:05:20 -!- pdponze [~pdponze@144.85.124.96] has left #scheme 20:07:31 schemeson [~user@76.177.227.49] has joined #scheme 20:07:59 Hey I got an idea for a macro I think might be good. Anybody want to hear me out? 20:16:32 sure 20:17:09 Cool. My idea is for an indefinite-terminator close paren. 20:17:39 -!- HG` [~HG@xdsl-92-252-124-179.dip.osnanet.de] has quit [Quit: Leaving.] 20:17:42 So... for example (foo (baz) (bar (foobar (amazing)))) 20:17:44 what do you mean exactly 20:17:45 oh 20:17:59 Becomes (foo (baz) (bar (foobar (amazing| 20:18:13 It's a close paren that doesn't get consumed. 20:18:35 this is possible i think 20:19:06 like (ind-term (code |) 20:19:12 A ton of my lisp functions have like 4-6 close parens at the end. 20:19:38 so it would calculate the parens and insert them for you 20:19:50 but i don't mind parens at all, personally :P 20:20:07 it's just not a problem, especially when you have a good editor 20:20:13 schemeson: I believe some implementations have used ] for this purpose. 20:20:28 Cool. 20:20:35 wouldn't you have to implement that in the reader? 20:20:37 for example, you could put the cursor over the car of the list and it lightly highlights that list 20:20:45 schemeson: If you're sick of inserting close parens manually, you might want to check out `paredit', a mode for Emacs that enables structural editing commands. 20:20:55 I use emacs and paredit. Just looking at those closing parens takes energy. 20:21:03 if you don't feed the code to a macro you would 20:21:19 that's what i use the highlighting for 20:21:33 well emacs should do it already 20:21:42 when you type ) it will highlight the matching ( 20:22:02 I'm not sure why. When I read code, I'm looking at the structure. A block of close parens doesn't mean anything on its own, so I don't really look at them in that way. 20:22:13 I use that alot. I'm on irc via erc right now. 20:22:16 same here 20:22:29 The block of closing parens makes your minimum-width column larger. 20:22:50 The problem with a close-all-parens reader syntax is that it's not really composable; I can't arbitrarily wrap a form that's closed in that way. 20:23:16 You could make paredit handle it. 20:23:45 well paredit already automatically adds ending parens 20:24:05 That's because such a syntax is not closed at all. 20:24:20 It would have to expand the ]. For instance, if I want to wrap two `define' forms terminated by ] in a `letrec-syntax' form, the terminating ] of the first `define' would have to be exploded. 20:24:32 It could be done, sure. 20:24:35 In Interlisp, ] would terminate as many (s as necessary to close an [, or all of them if no [ is open. Symmetrically, ) would would do the same to [s. 20:24:35 jcowan, memo from samth: you're correct about Typed Racket's type inference 20:25:09 I think it might be more interesting to find a way of collapsing the presentation of closing parens in Emacs, without altering how the code is actually written. 20:25:39 A 1-char folded intermediate buffer? 20:25:43 The way not to be tired by ))) ) )))) ) ))))) is just to ignore it. 20:25:43 -!- tonyg [~tonyg@navarone.ccs.neu.edu] has quit [Quit: leaving] 20:26:00 schemeson: That's the idea. 20:26:29 jcowan: I already tried suggesting that. :-) 20:26:40 I like highlighting them just barely off the background 20:26:42 Ah, but you didn't bother to count the )s in my example. 20:26:54 ejs [~eugen@94-248-48-212.dynamic.peoplenet.ua] has joined #scheme 20:27:03 Or you would have written :-))))))))) 20:27:05 That's because I'm already highly adept at ignoring them. :-) 20:27:17 s/:-)))))))))/"&" 20:27:21 They're still making your columns wider. 20:27:36 You have to move your eyes farther to read other buffers. 20:27:53 I ignore that too. The 80-column rule is a relic of times gone by. 20:28:11 Your wasting eye-movement man. 20:28:20 I used to think so, but with middle-aged eyes I find it convenient to magnify on-screen typefaces until the 80-column rule is more or less restored. 20:28:25 +1 20:28:37 you young ppl and your tiny fonts LOL 20:29:17 I typically use 15-point monowidth fonts for code, although for IRC I can manage fine with 10-point or so. 20:29:25 I'm also wasting keystrokes by using long identifier names with fully spelled out words instead of diffclt2dciphrabbrvs. 20:29:38 You mean d2da's? 20:29:40 M-/ 20:29:51 problem sa-Holved. 20:29:53 I like A B C 20:30:09 it also helps with the column-width theorem 20:30:14 pretty sure i always use 10 pt 20:30:23 liberation mono 10 pt ? 20:30:24 *jcowan* is not an Emacsite, but an "ex" troglodyte. 20:30:25 My point was that economizing for length of code (including number of closing parens) isn't something I prefer to do. 20:30:34 and sometimes monaco 10pt 20:30:39 I'm not economizing for length* 20:30:43 for width 20:30:53 so I can have 3 buffers side-by side instead of 2. 20:31:04 Doc + repl + code .. all in one. 20:31:07 jcowan: Even with a comfortably large font size, you could fit far more than 80 columns on this 24" monitor. 20:31:16 schemeson: you could get a bigger/additional monitor 20:31:25 I've got two "20. 20:31:42 schemeson: I'd still posit that your definitions are too complex. Try using the buildup of closing parens as a sign that it's time to refactor. 20:32:16 Then I'm wasting energy looking at parens while I refactor. 20:33:02 I have just put forward a proposal for WG1 to standardize an interface to tables, which need not be hash tables. 20:33:11 You're probably wasting eye movements even reading this. 20:33:21 why not color them the same as the background and just use highlighting and identation? 20:33:26 http://trac.sacrideo.us/wg/wiki/TablesCowan 20:33:38 pretend its python with an exceptionally intricate syntax 20:34:11 somnium: That could work. 20:34:14 Comments either on the whole idea or on the details are solicited. 20:34:32 jcowan: Accepting arbitrary equivalence functions makes a hashing implementation difficult, doesn't it? 20:36:53 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Ping timeout: 276 seconds] 20:37:49 -!- langmartin [~user@exeuntcha2.tva.gov] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:37:59 saint_cypher [~rjspotter@70-36-245-104.dsl.static.sonic.net] has joined #scheme 20:38:06 I think it would be useful to provide both mutable and immutable variants of tables. While the mutable interface can be used for immutable implementations, the converse is not true, and immutable tables are quite popular and useful. 20:38:37 SRFI-69 accepts them, though it says you must supply your own hash function if the equivalence is coarser than EQUAL? and not STRING-CI=? 20:39:18 A SRFI-69 implementation is required to provide hashes suitable for STRING=?, STRING-CI=?, EQUAL?, and EQ?. 20:39:57 (But not EQV?) 20:40:39 What happens when `table-set!' is called on a table during the dynamic extent of a call to `table-map' or `table-for-each' on that table? 20:41:18 Undefined behavior. I'll add that. 20:41:38 In a mutable implementaiton, is `table-map' useful? Would a `table-map!' operation also be useful? What about a `table-fold'? 20:42:36 Common Lisp specifies that the association for the current key can be updated or removed during a call to MAPHASH, but not the association for any other key. 20:42:44 Would that be sensible, or should it be undefined for any key? 20:43:15 If it's undefined for any key, I think there's a stronger argument for a `table-map!' operation. 20:45:05 -!- mario-goulart [~user@67.205.85.241] has quit [Remote host closed the connection] 20:45:18 Should an unenumerable table interface also be specified? Unenumberable tables are interesting because they're intrinsically key-weak, but avoid making the weakness visible. 20:47:00 Jafet [~Jafet@unaffiliated/jafet] has joined #scheme 20:47:28 -!- djjack [~djjack@cpe-098-026-029-215.nc.res.rr.com] has quit [Remote host closed the connection] 20:49:52 atomx [~user@93.112.81.240] has joined #scheme 20:50:38 -!- schmir [~schmir@p54A91AF2.dip0.t-ipconnect.de] has quit [Ping timeout: 255 seconds] 20:50:48 mario-goulart [~user@67.205.85.241] has joined #scheme 20:56:48 -!- OEP [~OEP@c-76-27-129-70.hsd1.al.comcast.net] has quit [Ping timeout: 245 seconds] 20:58:10 -!- homie [~user@xdsl-87-79-55-90.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:58:19 -!- wbooze [~user@xdsl-87-79-55-90.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:59:28 I agree that table-map! is good. There aren't any other folds in R5RS, so they should probably be pushed to WG2. 21:00:21 Oh yes. The trouble with table-map! is that if the key returned by the mapper is not the same as the original key, bad things. 21:00:34 jmcphers [~jmcphers@218.185.108.156] has joined #scheme 21:02:38 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Ping timeout: 245 seconds] 21:03:38 wbooze [~user@xdsl-87-79-55-90.netcologne.de] has joined #scheme 21:03:40 homie [~user@xdsl-87-79-55-90.netcologne.de] has joined #scheme 21:04:27 -!- aidalgol [~user@114-134-7-235.rurallink.co.nz] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:09:45 chandler: Ah, I see how to do table-map! : it behaves as if the old association is removed and a new one inserted. 21:10:15 Since the processing order is unspecified, the result will be a dog's breakfast, but that's the user's fault. 21:12:33 jcowan: Why have the function return the key at all? 21:14:54 Why does `table-map' exist? It's trivially expressable using `table-for-each'. `table-map!' is not, supposing that mutation of the table during the map is undefined. 21:18:05 -!- e-future [~e-future@unaffiliated/sergio/x-8197433] has quit [Read error: Operation timed out] 21:19:17 -!- FurnaceBoy [~FurnaceBo@ns2.smartgames.ca] has quit [Quit: WeeChat 0.3.3] 21:20:18 `table-fold' is more general than `table-for-each'; I think it's worth including. In particular, `table-fold' makes `table-length', `table-keys', `table-values', and `table->list' trivial. 21:20:38 (Along with `table-map' and `table-for-each'.) 21:24:47 True, with folds you can do everything. However, some implementations may be able to offer O(1) time for table-length. 21:25:18 That's worth keeping a separate `table-length' for. 21:25:35 Are there more efficient implementations of the other procedures I listed than what one can do with a fold? 21:26:01 I suppose an implementation *might* keep a separate list of keys or values, but I'm at a loss to see why. 21:30:05 -!- karme [~user@stgt-5d8486cf.pool.mediaWays.net] has quit [Remote host closed the connection] 21:41:55 Well, we often standardize things that are only a line or two of Scheme code, like LENGTH itself, just so everyone will routinely use the same name for them and we can read each others' code. Standardization /= minimization. 21:42:32 Then list folds ought to be in WG1. 21:42:48 -!- dzhus [~sphinx@93-80-204-149.broadband.corbina.ru] has quit [Ping timeout: 240 seconds] 21:42:55 That way you can remember a single answer to the question "Is it LENGTH or LEN or SIZE or what?" 21:44:43 Hmm. Do we want left or right or both? Left seems more natural in an eager language. 21:45:58 Also, do we want single-list fold or multiple-list fold a la SRFI-1? 21:46:06 I'd favor single-list. 21:46:12 I don't see a good reason to deviate from SRFI-1. 21:48:43 I don't believe in the standardization-as-minimization view either, but then I'd favor a much more expansive standard than what pre-R6RS reports have included. My understanding of the WG1/WG2 split was that WG1 was intended to be fairly minimal, with libraries that are more expansive but possibly expressible in the WG1 language reserved for the WG2 report. 21:48:43 djjack [~djjack@cpe-098-026-029-215.nc.res.rr.com] has joined #scheme 21:49:57 In the case of tables, a fold is a much more expressive operation than a map or for-each iterator, so it seemed to me that it was sensible to include, even if those iterators are also included. 21:50:31 -!- fradgers- [~fradgers-@5adafe9d.bb.sky.com] has quit [Remote host closed the connection] 21:50:36 Then again, perhaps it would be a good idea to include an actual iterator object which could be used to implement any of these operations. 21:52:39 The practical issue I have with that approach is that one is astronomically more likely to accidentally use an iterator after modifying the table being iterated than to accidentally mutate the table during the dynamic extent of a call to a table iteration procedure. 21:56:29 Indeed. I am no fan of external iterator objects (except ports); those who want them can use call/cc. 21:57:00 Hmm. Which of the three constructors (make-table, table, alist->table) should be equipped with immutable equivalents? 22:04:04 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Remote host closed the connection] 22:04:37 -!- dfkjjkfd [~paulh@236-13-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 22:11:08 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Remote host closed the connection] 22:11:30 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 22:14:29 SinDoc [~SinDoc@109.128.88.157] has joined #scheme 22:14:33 -!- SinDoc [~SinDoc@109.128.88.157] has quit [Client Quit] 22:15:03 why not have the immutable version be first class and provide mutable equivalents? 22:15:10 -!- offby1 [~user@pdpc/supporter/monthlybyte/offby1] has quit [Ping timeout: 272 seconds] 22:16:30 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Read error: Connection reset by peer] 22:16:55 somnium: What do you mean by "first class"? 22:17:06 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 22:18:13 default 22:21:35 -!- kniu [~kniu@CMU-311358.WV.CC.CMU.EDU] has quit [Quit: Leaving] 22:22:00 OEP [~OEP@c-76-27-129-70.hsd1.al.comcast.net] has joined #scheme 22:23:45 -!- hotblack23 [~jh@p57B5B0DD.dip.t-dialin.net] has quit [Quit: Leaving.] 22:25:33 -!- gravicappa [~gravicapp@91.78.228.174] has quit [Ping timeout: 245 seconds] 22:30:07 seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has joined #scheme 22:34:55 If I provide both, what does it matter which one you call default? 22:35:06 I think I'll provide all three and "let's see what happens". 22:36:39 -!- samth is now known as samth_away 22:41:52 -!- pdelgallego [~pdelgalle@1503031474.dhcp.dbnet.dk] has quit [Read error: Operation timed out] 22:43:34 Actually make-immutable-table is pointless, since there is no way to add associations to it. 22:45:59 it wouldn't be useful as a zero? 22:47:03 make an immutable copy? 22:47:12 that would be more useful 22:47:50 hrm, I guess a procedure that returns one isn't terribly useful 22:48:04 a bit like (forty-two) => 42 22:49:45 -!- seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has quit [Ping timeout: 240 seconds] 22:49:57 FurnaceBoy [~FurnaceBo@ns2.smartgames.ca] has joined #scheme 23:02:47 Okay, I added table-immutable-copy, which is permitted to return the source table if it's already immutable. 23:02:57 table-copy now returns a mutable table always. 23:03:32 -!- ejs [~eugen@94-248-48-212.dynamic.peoplenet.ua] has quit [Quit: Leaving] 23:04:40 what is the reason for table rather than srfi-69 23:05:03 actually gambit-c has it's own tables api too, never understood quite why 23:07:45 jdeseno [~josh@70.36.237.242] has joined #scheme 23:12:33 -!- jdeseno [~josh@70.36.237.242] has left #scheme 23:15:29 -!- Nshag [user@lns-bzn-24-82-64-146-3.adsl.proxad.net] has quit [Ping timeout: 276 seconds] 23:20:18 AndroUser [~androirc@64.sub-97-202-186.myvzw.com] has joined #scheme 23:22:27 -!- stamourv [~user@kauai.ccs.neu.edu] has quit [Quit: ERC Version 5.2 (IRC client for Emacs)] 23:22:58 seangrove [~user@c-71-198-44-87.hsd1.ca.comcast.net] has joined #scheme 23:23:37 aidalgol [~user@114-134-7-235.rurallink.co.nz] has joined #scheme 23:23:37 -!- AndroUser [~androirc@64.sub-97-202-186.myvzw.com] has quit [Remote host closed the connection] 23:24:54 MrFahrenheit [~RageOfTho@users-55-75.vinet.ba] has joined #scheme 23:24:57 SRFI-69 is about *hash* tables. This is about tables, whether hashed, RB, a-lists, or whatever. 23:27:11 -!- MrFahrenheit [~RageOfTho@users-55-75.vinet.ba] has quit [Client Quit] 23:27:40 Nshag [user@lns-bzn-57-82-249-53-249.adsl.proxad.net] has joined #scheme 23:33:43 jyaan: most probably because it was written way way way before srfi-69 or whole "srfi process" for that matter... 23:35:04 MrFahrenheit [~RageOfTho@users-55-75.vinet.ba] has joined #scheme 23:40:14 jyaan: Gambit's tables API is just a hashtable API. 23:40:16 -!- jcowan [c6b912cf@gateway/web/freenode/ip.198.185.18.207] has left #scheme 23:40:20 :P 23:40:22 yea i know 23:40:47 the also probably have a different api because of coming before 69 23:40:51 they* 23:41:37 it's too bad structures weren't part of r5rs, otherwise data structures would probably be a lot better in scheme