00:03:18 mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has joined #scheme 00:12:12 -!- dfkjjkfd [~paulh@7-13-ftth.onsnetstudenten.nl] has quit [Quit: Lost terminal] 00:17:18 -!- Trollinator [~foo@178-25-24-168-dynip.superkabel.de] has quit [Remote host closed the connection] 00:18:14 -!- pdelgallego [~pdelgalle@1503031474.dhcp.dbnet.dk] has quit [Ping timeout: 260 seconds] 00:35:27 -!- MrFahrenheit [~RageOfTho@users-55-175.vinet.ba] has quit [Ping timeout: 265 seconds] 00:41:09 -!- mejja [~user@c-14bee555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.6.8/20100722155716]] 00:42:24 -!- Leonidas [~Leonidas@unaffiliated/leonidas] has quit [Ping timeout: 260 seconds] 00:43:26 Leonidas [~Leonidas@unaffiliated/leonidas] has joined #scheme 00:50:13 -!- zard1989 [~user@Joe.m4.ntu.edu.tw] has quit [Quit: time for school] 00:55:54 _danb_ [~user@124.149.177.177] has joined #scheme 01:05:50 -!- copumpkin [~copumpkin@94.164.13.201] has quit [Ping timeout: 260 seconds] 01:10:25 -!- EbiDK [~ebi@3e6b7ac3.rev.stofanet.dk] has quit [Ping timeout: 276 seconds] 01:20:47 EbiDK [~ebi@3e6b7ac3.rev.stofanet.dk] has joined #scheme 01:31:02 -!- xwl_ [~user@esprx01x.nokia.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:31:21 xwl_ [~user@esprx01x.nokia.com] has joined #scheme 01:34:39 -!- Leonidas [~Leonidas@unaffiliated/leonidas] has quit [Ping timeout: 245 seconds] 02:04:34 YellowSea3 [~user@d60-65-84-128.col.wideopenwest.com] has joined #scheme 02:05:00 I am really curious if i should try out scheme 02:05:36 -!- justicefries [~thefry@c-67-173-239-97.hsd1.co.comcast.net] has quit [Quit: justicefries] 02:07:44 it wont hurt 02:10:04 copumpkin [~copumpkin@94.166.54.94] has joined #scheme 02:11:40 -!- bgs100 is now known as bgs000 02:11:49 *Axioplase_* stills hitches after trying Scheme 02:11:51 -!- Axioplase_ is now known as Axioplase 02:12:27 I mean how much real world use would it give me ? I do tons of web programming 02:12:36 the lang just looks so foreign to me 02:13:01 and whats with not calling it scheme but ratchet? 02:13:10 YellowSea3: I used it in the real world at one of my last jobs. 02:13:48 Racket is (to over simplify) the name of an *implementation*, not of the language know as Scheme itself. 02:14:19 I see 02:14:42 I mostly use Python and people just say I should try out lisp at some time or another 02:15:05 We will not force you to try scheme, but if you do and have questions, we will help you. 02:17:53 Yea, looks pretty cool, are there any web frameworks out there for scheme? 02:21:25 Gambit-Scheme has "spork", and Racket has one too: http://docs.racket-lang.org/continue/ 02:22:04 which one is more complete Axioplase? 02:23:40 I don't know, I don't do web. 02:25:36 Look at some docs, code or examples over the web and find out what suits you: http://andrewwhaley.blogspot.com/2009/05/serving-gambit-web-applications-behind.html 02:25:37 -rudybot:#scheme- http://tinyurl.com/33xxbpw 02:46:26 -!- Spewns [~jake@97-92-222-240.dhcp.stls.mo.charter.com] has quit [Quit: Leaving.] 02:48:31 Spewns [~jake@97-92-222-240.dhcp.stls.mo.charter.com] has joined #scheme 02:50:40 JusticeFries [~fries@c-98-245-71-126.hsd1.co.comcast.net] has joined #scheme 02:52:44 timj__ [~timj@e176193088.adsl.alicedsl.de] has joined #scheme 02:55:54 -!- timj_ [~timj@e176195054.adsl.alicedsl.de] has quit [Ping timeout: 245 seconds] 03:15:56 Axioplase: neither of them really do 03:17:57 -!- metasyntax` [~taylor@72.86.89.174] has quit [Quit: Be seeing you.] 03:18:35 -!- jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has quit [Ping timeout: 246 seconds] 03:29:38 neilv [~user@dsl092-071-029.bos1.dsl.speakeasy.net] has joined #scheme 03:32:50 YellowSea3: Well, maybe others can help you more than I can then 03:32:56 jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has joined #scheme 03:36:23 -!- JusticeFries [~fries@c-98-245-71-126.hsd1.co.comcast.net] has quit [Quit: HydraIRC -> http://www.hydrairc.com <- Now with extra fish!] 03:38:11 YellowSea3: There's also spiffy for Chicken, and kahua for Gauche, and several others. What is it you're missing in spork/racket? 03:40:38 YellowSea3: try working through http://docs.racket-lang.org/continue/ and wrapping your brain around it, then trying some real-world application 03:41:23 sometimes continuation-based web programming gives huge productivity boosts 03:43:07 like bang a dynamic web service out in a day that a java enterprise programmer might spend weeks on 03:45:08 foof: just maybe something that is somewhat complete so i can show my boss and say we should use this :P 03:46:48 advocating a not-very-popular platform that you don't already know is risky 03:47:09 YellowSea3: I understand that, I'm asking what your definition of "complete" is. 03:50:17 tell us what you want to do, and we'll see whether you can get big wins from scheme and/or from the kind of web framework that scheme enables. those wins can make it worth advocating to one's boss 03:51:41 when people go to a boss saying "we should use this because i'd like to use/learn scheme" that perpetuates the idea of scheme being a thing that appeals to programmers/fanboys but not to managers 03:51:44 -!- wbooze [~user@xdsl-78-34-217-97.netcologne.de] has quit [Ping timeout: 245 seconds] 03:52:09 -!- homie [~user@xdsl-78-34-217-97.netcologne.de] has quit [Ping timeout: 265 seconds] 03:53:17 neilv: this is nowhere near in the future i would do that 03:53:32 months down the road if anything 03:55:05 YellowSea3: the general advice when you don't know what to use in the scheme world, imho, is to start with racket. 90% of the time, it's as good or better than any other scheme's stuff 03:55:14 YellowSea3: then, try and see how it suits your needs :) 03:55:49 You may want to consider SISC too, as it gives you access to all Java underneath it. 03:56:56 some people are telling me to start with common lisp instead of scheme too heh 03:57:05 i use racket by default, and keep in mind that someday i might want to use sisc, gambit, or chicken for some specialized purpose 03:58:08 YellowSea3: i've used both cl and scheme professionally, and think that scheme is generally better to start with 03:59:50 i always loved the drscheme gui heh 03:59:57 i know thats stupid but you know 04:00:09 it's actually gotten powerful lately 04:01:04 smalltalk always liked there own gui's as well 04:02:00 -!- leppie [~lolcow@196-210-177-53.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 04:02:06 i loved the smalltalk-80 environment. scheme is too flexible to fit the class browser model, however 04:02:33 leppie [~lolcow@196-210-177-53.dynamic.isadsl.co.za] has joined #scheme 04:02:46 but none of this stuff as far as I can tell is really used by web devs that much 04:03:30 the racket web server is pretty sophisticated of late, and is used by a few people so far 04:03:48 including in at least one large production app 04:03:49 i will have to check it out then 04:09:28 neilv: so do you use any other languages as well? 04:10:28 YellowSea3: i've used many languages for real work. lately i use racket for almost all purposes. occasionally a little c or shell scripting 04:10:42 kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has joined #scheme 04:12:14 yea pretty much all my work is python right now 04:12:24 does drscheme do emacs/vim key bindings at all? 04:13:22 people have talked about it or done it over the years. i just use normal drracket bindings when i'm using drracket 04:14:24 one of the secrets to learning scheme is to not try to shoehorn it into what you already know, about language or about tools 04:14:26 smtlaissezfaire [~smtlaisse@208.120.174.77] has joined #scheme 04:14:36 -!- smtlaissezfaire [~smtlaisse@208.120.174.77] has left #scheme 04:15:32 so, i would say just jump in and start using the language and tools like you see other people using it, rather than try to make it familiar 04:15:40 lots of times, there are good reasons that things are different 04:16:52 in drratcket i want to choose r5rs right? 04:17:32 no. "#lang racket" or "#lang racket/base" 04:17:45 ok 04:18:03 -!- kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has quit [Ping timeout: 260 seconds] 04:19:40 this so just looks like an academic language :P even the gui sorta has an academic feel too it 04:19:45 if you don't already know scheme, this is a pretty complete introduction. http://docs.racket-lang.org/guide/index.html 04:21:41 YellowSea3: the look&feel is partly due to it still being used for education, and partly because it was originally for education and nobody has bothered to make it look "professional" even after it got lots of high-powered stuff added to it 04:22:50 YellowSea3: i'm a hardcore scheme person, but i still use drracket when i need some of the more powerful features 04:22:57 er, hardcore emacs person 04:22:58 call me a noob right now but i really get the same feeling of lisp as I get from pascal....i just think of classrooms 04:24:36 i know what you mean. but once you look at the reference documentation for racket, i think you'll see it's more serious and industrial-strength than most of the python and java stuff you've been using 04:25:31 sometimes python gets that education feel too though 04:25:57 with python, i would call it more a toy feel 04:26:42 i mean its still really powerful, many companies love it 04:30:03 python was intended to be a scripting language for the masses, not an academic language. and lots of people nowadays use it for applications 04:30:30 scheme, otoh, makes you smarter. and the racket platform is also more robust than python stuff 04:30:51 kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has joined #scheme 04:41:21 YellowSea3: I'm a web (services) programmer, and the big thing that keeps me from considering racket seriously is the lack of an ORM that talks to MySQL 04:44:50 YellowSea3: I used Scheme and CL for work I can guarantee you that they're not "classroom languages". 04:44:55 http://planet.plt-scheme.org/display.ss?package=snooze.plt&owner=untyped 04:45:19 i think they want a mysql backend for that. postgresql and sqlite is not a bad start 04:45:47 personally, i prefer postgresql and never found a need for mysql even after it became a real rdbms 04:46:07 Macros, which you'll get used to after a bit of practice, will let you unleash the beast within you, and you'll find you can program difficults tasks very quickly, and yet cleanly. 04:47:57 -!- Spewns [~jake@97-92-222-240.dhcp.stls.mo.charter.com] has quit [Quit: Leaving.] 04:49:36 neilv: if I could clone myself, and if the clone were a lot less lazy than I am, I'd have him write the mysql backend for snooze. Until then, though ... 04:50:22 maybe ellison will make mysql a lot less attractive for production use, and you'll decide you like postgresql :) 04:51:20 <_danb_> or drizzle perhaps 04:53:19 the odds of us switching to a new SQL db ... very, very small. 04:53:29 We'd probably sooner jump on the NoSQL bandwagon. 05:07:41 -!- cpr420 [~cpr@unaffiliated/cpr420] has quit [Quit: Bye!] 05:11:11 YellowSea3: Download the sources of MacPaint http://www.computerhistory.org/highlights/macpaint/, admire the pascal code, and ponder the consequences (Apple's capitalization is today more than Microsoft's). Not bad for a classroom language... 05:11:26 -!- mjonsson [~mjonsson@cpe-98-14-173-5.nyc.res.rr.com] has quit [Ping timeout: 276 seconds] 05:11:49 wow, pascal 05:11:51 what a horror 05:12:37 time for bed and to dream of secretly destroying WG1 from a distance 05:12:42 offby1: why do you say so? 05:12:53 -!- neilv [~user@dsl092-071-029.bos1.dsl.speakeasy.net] has quit [Quit: Leaving] 05:13:00 Pascal is a great language. 05:14:11 ... 05:14:22 It's a nice _name_ 05:14:30 *foof* wrote a MacPaint clone in Pascal once 05:15:15 The only thing we may regret, is that given the resources the computers where Pascal ran, they didn't put a lisp instead on them and let the student learn lisp... 05:15:55 hell, I'd prefer C to Pascal 05:15:59 No. 05:16:19 I mean, yes, I like assembler too. But not to write applications. 05:17:45 What irked me -- and I haven't written a line of Pascal in 20 years, so take that into account -- was the ultra-strict static typing. You had to declare _everything_. Very very verbose, and restrictive 05:17:53 The only thing I got in return was quick compilatoin. 05:17:56 compilation. 05:18:39 Well, C is almost like that too, and we can only regret is is not more so. 05:18:45 You have to declare _everything_ in C as well. 05:18:52 But then, ML wasn't invented yet. 05:18:56 somehow I don't remember it hurting as much. 05:19:12 offby1: purely a psychological effect. 05:19:37 And in PLT's typed scheme, for that matter. 05:19:39 You were used to it, from Pascal. 05:25:17 Pascal ain't that bad, but for a similar syntax, I'd definitely choose ADA 05:25:24 (though I don't know much Delphi) 05:26:04 foof: well, Typed Scheme uses type inference, so you don't have to declare _everything_; just function args and return values. 05:31:44 offby1: "just function args and return values" is the same as C 05:31:46 pjb: you saying you like pascal or don't? 05:34:42 foof: no, in C you gotta declare types for locals, too 05:35:55 Locals in (typed) Scheme are function args. 05:37:47 -!- YellowSea3 [~user@d60-65-84-128.col.wideopenwest.com] has left #scheme 05:38:58 -!- ToxicFrog [~ToxicFrog@2607:f2c0:f00e:500:222:15ff:fe91:b24c] has quit [Read error: Operation timed out] 05:39:10 ToxicFrog [~ToxicFrog@2607:f2c0:f00e:500:222:15ff:fe91:b24c] has joined #scheme 05:39:27 The only thing typed Scheme seems to let you omit are let/define for a literal value. I'd hardly call that inference. 05:41:47 doesn't occurence typing do well enough? 05:41:56 And the named let example they provide doesn't work. 05:42:49 -!- faure [~moe@CPE001217e40caa-CM0018c0c09832.cpe.net.cable.rogers.com] has quit [Ping timeout: 265 seconds] 05:43:51 -!- Quadrescence [~Quad@unaffiliated/quadrescence] has quit [Quit: omghaahhahaohwow] 06:10:36 -!- R3cur51v3 [~Recursive@173-23-121-25.client.mchsi.com] has quit [Quit: This system is going down for poweroff RIGHT FREAKING NOW!!!] 06:12:02 HG` [~HG@xdsl-92-252-101-255.dip.osnanet.de] has joined #scheme 06:13:06 faure [~moe@CPE001217e40caa-CM0018c0c09832.cpe.net.cable.rogers.com] has joined #scheme 06:14:01 -!- ASau` is now known as ASau`` 06:14:22 -!- ASau`` is now known as ASau``` 06:19:46 -!- saccade_ [~saccade@BRAIN-AND-COG-THIRTY-EIGHT.MIT.EDU] has quit [Quit: This computer has gone to sleep] 06:21:08 I am currently using DrScheme to build a web app...will this suffice or is it better to switch to something like emacs? 06:23:08 -!- jonrafkind [~jon@c-67-172-254-235.hsd1.ut.comcast.net] has quit [Ping timeout: 258 seconds] 06:24:43 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 06:24:50 masm [~masm@2.80.136.150] has joined #scheme 06:33:21 chittoor [~chittoor@listertech.in] has joined #scheme 06:34:21 Building a web app in emacs is quite hard, I've tried it. 06:35:16 waht 06:35:23 no 06:35:28 it's p simple 06:43:23 is it ok to just use drRacket forever? I don't want to learn a new editor :) 06:44:55 m``: well, since emacs doesn't have any way to listen on a socket, you need to use some strategy like running netcat in a sub-process (which is how my old emacs webserver worked) 06:51:18 ... 06:51:21 are you kidding, foof ? 06:59:11 nope 07:00:57 -!- ASau is now known as ASau` 07:01:11 saccade_ [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 07:17:09 -!- mbishop [~martin@adsl-150-51-143.msy.bellsouth.net] has quit [Ping timeout: 240 seconds] 07:18:38 Thomas_H [~Thomas_H@66.183.224.178] has joined #scheme 07:31:07 mbishop [~martin@adsl-150-24-64.aby.bellsouth.net] has joined #scheme 07:33:37 pdelgallego [~pdelgalle@1503031474.dhcp.dbnet.dk] has joined #scheme 07:35:08 gravicappa [~gravicapp@80.90.116.82] has joined #scheme 07:39:48 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Ping timeout: 258 seconds] 07:47:02 -!- Thomas_H [~Thomas_H@66.183.224.178] has quit [Ping timeout: 246 seconds] 07:49:01 gravicappa [~gravicapp@80.90.116.82] has joined #scheme 07:49:36 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error: Connection timed out] 07:50:46 araujo [~araujo@gentoo/developer/araujo] has joined #scheme 07:58:12 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Ping timeout: 258 seconds] 08:00:54 -!- kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has quit [Ping timeout: 245 seconds] 08:01:50 kephas [~pierre@AStrasbourg-551-1-18-229.w86-213.abo.wanadoo.fr] has joined #scheme 08:02:02 -!- nowhereman [~pierre@AStrasbourg-551-1-78-16.w81-51.abo.wanadoo.fr] has quit [Ping timeout: 265 seconds] 08:08:05 karme [~user@static.180.75.40.188.clients.your-server.de] has joined #scheme 08:13:40 kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has joined #scheme 08:14:51 vinnana [~pkensche@cmbipc58.cmbi.umcn.nl] has joined #scheme 08:19:22 gravicappa [~gravicapp@80.90.116.82] has joined #scheme 08:35:54 -!- jao [~user@203.Red-88-6-160.staticIP.rima-tde.net] has quit [Ping timeout: 245 seconds] 08:41:34 -!- mbohun [~mbohun@202.124.72.238] has quit [Quit: Leaving] 08:42:09 -!- rmrfchik [~rmrfchik@linuxhacker.ru] has quit [Ping timeout: 265 seconds] 08:54:46 schmir [~schmir@mail.brainbot.com] has joined #scheme 08:55:49 -!- Axioplase is now known as Axioplase_ 09:00:08 skld [~skld@unaffiliated/skld] has joined #scheme 09:00:24 -!- skld [~skld@unaffiliated/skld] has left #scheme 09:03:54 fradgers- [~fradgers-@5adafe9d.bb.sky.com] has joined #scheme 09:21:49 karme` [~user@stgt-5d84a80e.pool.mediaWays.net] has joined #scheme 09:23:03 dfkjjkfd [~paulh@7-13-ftth.onsnetstudenten.nl] has joined #scheme 09:23:09 -!- karme [~user@static.180.75.40.188.clients.your-server.de] has quit [Ping timeout: 240 seconds] 09:30:38 mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #scheme 09:42:46 jao [~user@74.Red-80-24-4.staticIP.rima-tde.net] has joined #scheme 09:43:41 -!- schmir [~schmir@mail.brainbot.com] has quit [Remote host closed the connection] 09:46:31 schmir [~schmir@mail.brainbot.com] has joined #scheme 09:47:04 -!- ve [~a@vortis.xen.tardis.ed.ac.uk] has quit [Ping timeout: 276 seconds] 09:56:36 IJP` [~user@host81-151-83-141.range81-151.btcentralplus.com] has joined #scheme 09:58:31 rmrfchik [~rmrfchik@linuxhacker.ru] has joined #scheme 09:59:00 -!- IJP [~user@host81-151-84-83.range81-151.btcentralplus.com] has quit [Ping timeout: 265 seconds] 10:00:23 alvatar [~alvatar@47.233.218.87.dynamic.jazztel.es] has joined #scheme 10:06:39 nowhere_man [~pierre@AStrasbourg-551-1-68-33.w92-141.abo.wanadoo.fr] has joined #scheme 10:06:49 atomx [~user@93.112.81.240] has joined #scheme 10:07:09 -!- kephas [~pierre@AStrasbourg-551-1-18-229.w86-213.abo.wanadoo.fr] has quit [Ping timeout: 245 seconds] 10:10:03 -!- jmcphers [~jmcphers@218.185.108.156] has quit [Remote host closed the connection] 10:10:46 jmcphers [~jmcphers@218.185.108.156] has joined #scheme 10:26:25 -!- IJP` [~user@host81-151-83-141.range81-151.btcentralplus.com] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 10:35:45 -!- karme` [~user@stgt-5d84a80e.pool.mediaWays.net] has quit [Remote host closed the connection] 11:13:29 Leonidas_ [~Leonidas@unaffiliated/leonidas] has joined #scheme 11:13:47 -!- Leonidas_ is now known as Leonidas 11:14:37 Fare [~Fare@c-24-218-127-11.hsd1.ma.comcast.net] has joined #scheme 11:22:15 -!- leppie [~lolcow@196-210-177-53.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 11:22:48 leppie [~lolcow@196-210-177-53.dynamic.isadsl.co.za] has joined #scheme 11:32:51 kingping [~kp@95.70.89.173] has joined #scheme 11:33:02 Moin 11:33:26 `bytes?` is the same as `bytevector?` ? 11:38:50 -!- kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has quit [*.net *.split] 11:38:50 -!- mhoye [~mhoye@shell.off.net] has quit [*.net *.split] 11:38:50 -!- offby1 [~user@pdpc/supporter/monthlybyte/offby1] has quit [*.net *.split] 11:38:50 -!- ASau` [~user@77.246.230.215] has quit [*.net *.split] 11:40:34 mhoye [~mhoye@shell.off.net] has joined #scheme 11:41:05 ASau` [~user@77.246.230.215] has joined #scheme 11:41:12 offby1 [~user@pdpc/supporter/monthlybyte/offby1] has joined #scheme 11:53:00 kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has joined #scheme 11:54:02 nowhereman [~pierre@AStrasbourg-551-1-26-51.w83-196.abo.wanadoo.fr] has joined #scheme 11:54:09 -!- nowhere_man [~pierre@AStrasbourg-551-1-68-33.w92-141.abo.wanadoo.fr] has quit [Ping timeout: 240 seconds] 11:58:02 -!- kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has quit [Ping timeout: 258 seconds] 12:00:39 -!- mario-goulart [~user@67.205.85.241] has quit [Remote host closed the connection] 12:01:09 mario-goulart [~user@67.205.85.241] has joined #scheme 12:07:04 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 240 seconds] 12:09:12 fod [~fod@92.251.255.7.threembb.ie] has joined #scheme 12:09:15 -!- mauke [~mauke@p3m/member/mauke] has quit [Ping timeout: 252 seconds] 12:10:20 kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has joined #scheme 12:33:42 -!- schmir [~schmir@mail.brainbot.com] has quit [Remote host closed the connection] 12:34:16 schmir [~schmir@mail.brainbot.com] has joined #scheme 12:40:06 mauke [~mauke@p3m/member/mauke] has joined #scheme 12:42:18 preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 12:46:07 homie [~user@xdsl-78-34-249-234.netcologne.de] has joined #scheme 12:46:14 wbooze [~user@xdsl-78-34-249-234.netcologne.de] has joined #scheme 12:51:19 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 245 seconds] 12:57:09 -!- Fare [~Fare@c-24-218-127-11.hsd1.ma.comcast.net] has quit [Ping timeout: 245 seconds] 12:58:31 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 13:08:22 -!- bgs000 is now known as bgs100 13:08:46 smtlaissezfaire [~smtlaisse@208.120.174.77] has joined #scheme 13:09:39 -!- smtlaissezfaire [~smtlaisse@208.120.174.77] has left #scheme 13:17:10 karme [~user@stgt-5d84a80e.pool.mediaWays.net] has joined #scheme 13:21:57 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Read error: Connection reset by peer] 13:31:21 -!- copumpkin [~copumpkin@94.166.54.94] has quit [Quit: copumpkin] 13:31:56 copumpkin [~copumpkin@94.166.54.94] has joined #scheme 13:33:47 Komi [Komi@83.231.82.203] has joined #scheme 13:36:36 REPLeffect [~REPLeffec@69.54.115.254] has joined #scheme 13:43:31 -!- kingping [~kp@95.70.89.173] has quit [Quit: I'm off to hit the bedbug. Vale.] 13:43:38 slom [~sloma@port-212-202-143-53.static.qsc.de] has joined #scheme 13:57:09 -!- MichaelRaskin [~MichaelRa@195.91.224.225] has quit [Ping timeout: 245 seconds] 13:57:13 MichaelRaskin [~MichaelRa@195.91.224.225] has joined #scheme 14:08:01 -!- schmir [~schmir@mail.brainbot.com] has quit [Remote host closed the connection] 14:10:06 schmir [~schmir@mail.brainbot.com] has joined #scheme 14:15:22 -!- HG` [~HG@xdsl-92-252-101-255.dip.osnanet.de] has quit [Quit: Leaving.] 14:18:05 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Ping timeout: 258 seconds] 14:22:37 smtlaissezfaire [~smtlaisse@208.120.174.77] has joined #scheme 14:31:07 -!- offby1 [~user@pdpc/supporter/monthlybyte/offby1] has quit [Read error: Connection reset by peer] 14:31:59 Fare [~Fare@ita4fw1.itasoftware.com] has joined #scheme 14:37:05 -!- smtlaissezfaire [~smtlaisse@208.120.174.77] has quit [Quit: smtlaissezfaire] 14:37:33 zard1989 [~user@Joe.m4.ntu.edu.tw] has joined #scheme 14:37:58 -!- schmir [~schmir@mail.brainbot.com] has quit [Remote host closed the connection] 14:39:53 -!- slom [~sloma@port-212-202-143-53.static.qsc.de] has quit [Remote host closed the connection] 14:40:50 -!- alvatar [~alvatar@47.233.218.87.dynamic.jazztel.es] has quit [Quit: leaving] 14:43:00 offby1 [~user@pdpc/supporter/monthlybyte/offby1] has joined #scheme 14:45:34 Spewns [~jake@97-92-222-240.dhcp.stls.mo.charter.com] has joined #scheme 14:55:20 -!- leppie [~lolcow@196-210-177-53.dynamic.isadsl.co.za] has quit [Read error: Connection reset by peer] 14:55:29 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Ping timeout: 245 seconds] 14:55:57 leppie [~lolcow@196-210-177-53.dynamic.isadsl.co.za] has joined #scheme 14:59:48 -!- samth_away is now known as samth 15:00:03 ASau`, why would you want to include the SRFIs in that comparison? 15:00:16 samth, how was IBM PL day? 15:00:22 and also, who cares about the size of the CLTL index? 15:00:27 Fare, i wasn't there 15:01:41 Fare, but see: http://twitter.com/mwand 15:02:17 following... 15:03:24 Riastradh [debian-tor@fsf/member/riastradh] has joined #scheme 15:03:25 schmir [~schmir@mail.brainbot.com] has joined #scheme 15:05:18 samth: because comparing anything with different functionality is stupid and useless. 15:07:13 but the SRFIs are not like some portion of CL 15:07:26 they are a random collection of things people have suggested 15:07:57 ranging from features already in the R6, to terrible botches, to libraries that were never considered for CL 15:07:58 RnRS isn't like anything close to CLTL without a number of SRFIs. 15:12:37 RnRS isn't anything like CLTL, period 15:13:09 and the point of the original comparison is to make fun of CL 15:13:17 so why would srfis be added? 15:15:42 I'm missing some context, but here's another way to make fun of Common Lisp: packages. The Scheme world has no shortage of different approaches to organizing programs, but none of them is so unbelievably brain-dead as Common Lisp's packages. 15:16:38 asdf ftw! 15:17:16 asdf is another part of how Common Lisp programs are organized, and it doesn't solve any of the serious problems caused by packages. 15:18:08 alvatar [~alvatar@87.222.127.0] has joined #scheme 15:20:11 somnium [~user@adsl-65-174-207.dab.bellsouth.net] has joined #scheme 15:22:26 bweaver [~user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 15:26:31 -!- karme [~user@stgt-5d84a80e.pool.mediaWays.net] has quit [Remote host closed the connection] 15:26:32 justicefries_ [~thefry@173-14-6-4-Colorado.hfc.comcastbusiness.net] has joined #scheme 15:29:36 -!- justicefries_ [~thefry@173-14-6-4-Colorado.hfc.comcastbusiness.net] has left #scheme 15:37:28 -!- vinnana [~pkensche@cmbipc58.cmbi.umcn.nl] has quit [Quit: leaving] 15:38:08 -!- pdelgallego [~pdelgalle@1503031474.dhcp.dbnet.dk] has quit [Read error: Connection reset by peer] 15:40:22 -!- Nshag [user@lns-bzn-61-82-250-91-96.adsl.proxad.net] has quit [Ping timeout: 260 seconds] 15:43:54 fowlduck [~fowlduck@2002:cc0f:6d26:0:fa1e:dfff:fed7:9dc1] has joined #scheme 15:44:00 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 15:46:39 karme [~user@stgt-5d84a80e.pool.mediaWays.net] has joined #scheme 15:48:14 nnnuu [~user@softbank219001087104.bbtec.net] has joined #scheme 15:51:05 -!- Komi [Komi@83.231.82.203] has quit [] 15:52:57 Nshag [user@lns-bzn-28-82-250-143-217.adsl.proxad.net] has joined #scheme 15:53:41 -!- wbooze [~user@xdsl-78-34-249-234.netcologne.de] has quit [Read error: Connection reset by peer] 15:53:43 -!- homie [~user@xdsl-78-34-249-234.netcologne.de] has quit [Read error: Connection reset by peer] 15:54:35 -!- karme [~user@stgt-5d84a80e.pool.mediaWays.net] has quit [Remote host closed the connection] 15:57:38 Riastrad1 [debian-tor@fsf/member/riastradh] has joined #scheme 15:58:36 -!- futilius [~otheruser@2001:470:d:128:216:3eff:fe86:c70e] has quit [Ping timeout: 252 seconds] 15:58:42 futilius [~otheruser@2001:470:d:128:216:3eff:fe86:c70e] has joined #scheme 15:59:38 -!- Riastradh [debian-tor@fsf/member/riastradh] has quit [Disconnected by services] 15:59:44 -!- Riastrad1 is now known as Riastradh 15:59:49 -!- jay-mccarthy [~jay@lallab.cs.byu.edu] has left #scheme 16:05:39 -!- nnnuu [~user@softbank219001087104.bbtec.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 16:08:35 gravicappa [~gravicapp@ppp85-141-164-129.pppoe.mtu-net.ru] has joined #scheme 16:09:27 MrFahrenheit [~RageOfTho@users-33-176.vinet.ba] has joined #scheme 16:13:28 -!- _danb_ [~user@124.149.177.177] has quit [Ping timeout: 258 seconds] 16:17:15 langmartin [~user@exeuntcha2.tva.gov] has joined #scheme 16:28:22 -!- jao [~user@74.Red-80-24-4.staticIP.rima-tde.net] has quit [Read error: Operation timed out] 16:31:43 waltermai [~user@c-68-54-64-79.hsd1.fl.comcast.net] has joined #scheme 16:34:08 -!- ASau``` is now known as ASau 16:34:32 I want to use guile/emacs, but I seem to be more productive with the Racket suite. I guess they are both LGPL'd, so they're even there (I like free software when possible). I'm a newbie schemer, and debugging in Racket seems to be easier for me, but Guile has so many cool looking new bells and whistles. 16:36:43 ryoko-sha [~steve@ryoko-sha.demon.co.uk] has joined #scheme 16:38:44 waltermai, which bells and whistles? 16:39:48 well, the new debugger, for one, though I can't decipher it. ...the NEWS page for the newest guile is like a mile long. 16:41:21 -!- ryoko-sha [~steve@ryoko-sha.demon.co.uk] has quit [Remote host closed the connection] 16:42:15 homie [~user@xdsl-78-34-111-144.netcologne.de] has joined #scheme 16:42:19 wbooze [~user@xdsl-78-34-111-144.netcologne.de] has joined #scheme 16:42:32 i find it's best to judge software by using it, rather than by release announcements 16:44:02 yeah, like I said, I'm a relative newb, and I probably won't use most of the stuff for some time, or really even understand what a lot of it is. 16:44:11 call me an idealist. ;) 16:44:45 sladegen [~nemo@unaffiliated/sladegen] has joined #scheme 16:45:02 -!- saccade_ [~saccade@209-6-54-113.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Quit: This computer has gone to sleep] 16:46:19 however, the crux seems to be this: drracket has a debug stepper, which has been enormously helpful to me. according to that news file, the new version of guile can do the same with emacs. 16:47:09 ...even though I'm starting to grow suspicious of the stepper; if it represents the way drracket actually evaluates code, then drracket is dumb. and slow. 16:48:00 racket has a jit 16:48:31 I know that stands for just in time and that's about it. 16:48:45 should prolly wikipedia it. 16:48:54 -!- metasyntax [~taylor@12.132.219.7] has quit [Quit: reboot time] 16:49:26 waltermai: No, it doesn't really represent the way Racket evaluates code. 16:49:41 another problem is that I have guile 1.8.7 installed and 1.9.11 built and not installed, and I can't seem to get gds or geiser to use the newer build. 16:49:51 In ordinary execution, Racket code is compiled to bytecode, which is then JIT compiled to native code on some architectures (not MIPS, unfortunately for you) 16:50:15 you're using a mips machine?? 16:50:22 yeah, the racket source builds, but doesn't install. 16:50:32 and it's way too slow and buggy to actually use. 16:50:38 are you running it on a psp? 16:50:55 often it just out and out freezes on me... no, I'm using a lemote yeeloong 16:51:13 sounds like an alien race from star control 2 16:51:33 it's a MIPS-based netbook from China 16:52:10 The FSF recommends it because they value the freedom of the software that comes preinstalled more than the freedom of the people who build the hardware. 16:52:32 wow that thing is weak (hardware-wise) 16:52:52 ...which is little endian, while x86 is big endian, not that I know what that really means or anything. 16:53:01 No... x86 is little endian. 16:53:03 i thought x86 was little 16:53:13 ppc is big endian 16:53:13 MIPS can be either; I don't know what the Lemote uses. 16:53:15 well then I guess I have it backwards. 16:53:21 Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has joined #scheme 16:53:26 *shrug* 16:53:37 computers are like universes. 16:53:38 The Lemote runs little-endian as well. 16:54:38 btw, I know quite a few Chinese people. they're happy. 16:54:45 Mmm-hm. 16:54:56 we email about tiananmen square. 16:54:59 jewel [~jewel@196-215-88-71.dynamic.isadsl.co.za] has joined #scheme 16:55:34 but facebook is banned in china.. how can you cope!? 16:55:48 I quit facebook long ago... couldn't cope. 16:57:22 I think they are quite responsible for the N. Korea situation though. China is not my uncle. 16:57:37 but neither is the US. we got our own issues. 16:58:03 Of course, but not everything is equally bad. Anyway, sorry for the obvious trolling. 16:58:33 no its okay. I fear a shouting match as much as the next person, but I don't mind discussing it. the issues are of interest to me. 16:58:48 perhaps its off topic though. 16:58:53 -!- alvatar [~alvatar@87.222.127.0] has quit [Read error: Connection reset by peer] 16:59:03 Yes, plenty off topic. 16:59:10 alvatar [~alvatar@87.222.127.0] has joined #scheme 17:00:46 proq [~user@unaffiliated/proqesi] has joined #scheme 17:01:57 If anyone knows how to point gds or geiser at an uninstalled build of guile, tell me and I'll be your friend forever. 17:02:16 "guile now ships with ecmascript, elisp, and brainf*ck compilers"? 17:03:01 waltermai: Ive only used geiser with racket -- I just had to point it at the executable 17:03:57 that sounds a lot like what I don't know how to do. ;) 17:04:20 searching the the .el's didn't help me much. 17:04:25 It looks like you can customize `geiser-guile-binary'. 17:04:26 waltermai: M-x customize-group geiser 17:08:52 and voila! its pointed at my newer guile build. thanks dudes. I've gone through the customize before, don't know why I couldn't figure it out then. 17:08:58 other than my usual ineptitude. 17:13:23 Thomas_H [~Thomas_H@66.183.224.178] has joined #scheme 17:19:47 -!- waltermai [~user@c-68-54-64-79.hsd1.fl.comcast.net] has quit [Remote host closed the connection] 17:27:36 -!- fod [~fod@92.251.255.7.threembb.ie] has quit [Ping timeout: 260 seconds] 17:33:28 does anyone happen to know how the immutable-hashes in racket are implemented? 17:33:38 -!- Fare [~Fare@ita4fw1.itasoftware.com] has quit [Ping timeout: 246 seconds] 17:34:48 Fare [~Fare@ita4fw1.itasoftware.com] has joined #scheme 17:34:48 Their internal representation is a red/black tree mapping hash values to buckets, I believe. 17:35:37 (So the running time of operations on them generally has a logarithmic factor more than the running time of analogous operations on mutable hash tables.) 17:36:59 Don't quote me on this, though; I can't remember what my source of information is. 17:37:45 metasyntax [~taylor@12.132.219.7] has joined #scheme 17:39:39 Cool. I was wondering if they were red-black trees. are they O(log n) for all the basic operations? 17:42:02 I was wondering how they compare to the trie based hashes clojure uses. Mostly because a lot is made of their performance. 17:42:41 Compare their performance, then. 17:42:44 Er, is there a fm I should rtfm for the implementation questions? I only seem to find docs on the api 17:42:46 ok 17:42:59 I don't know. I'd check the source. 17:44:58 (Of course, you'll also be comparing the general performance of Clojure and Racket.) 17:45:55 -!- leppie [~lolcow@196-210-177-53.dynamic.isadsl.co.za] has quit [Ping timeout: 240 seconds] 17:45:59 Riastradh: btw, riaxpander and your explanations helped a lot. Well, something seemed to sink in, I finally managed to get a working expander with pattern-matching macros. 17:46:35 fod [~fod@92.251.255.7.threembb.ie] has joined #scheme 17:48:13 My guess is that you'll run out of memory before you can observe any difference other than constant factors between a trie-based immutable hash and a red-black tree based hash. 17:48:19 Glad to hear it. Are you using riaxpander, or did you write your own, say, based on Jonathan Rees's paper? 17:48:23 I dont have any investment in the actual performance characteristics, more a curiosity in the sparse-tries vs. red-black trees 17:48:57 leppie [~lolcow@196-215-63-152.dynamic.isadsl.co.za] has joined #scheme 17:49:10 Riaxpander: I ended up using Ree's paper, I had 'kinda, sorta' almost reinvented a broken version of what he laid out, before we talked. 17:49:14 saccade_ [~saccade@BRAIN-AND-COG-THREE-TEN.MIT.EDU] has joined #scheme 17:50:41 stis [~stis@1-1-1-39a.veo.vs.bostream.se] has joined #scheme 17:50:50 Then I read that and thought, wow Im an idiot. Then I worked out the top-level expansions with Riaxpander. 17:54:44 It still seems quite hairy, but I guess the algorithm is just very stateful. In any case, it works now. Osewa ni narimashita. 17:55:08 Definitions make things hairy. 17:55:43 However, they're very nice to have. 17:56:39 Riaxpander is really an exercise in understanding how definitions work, I suppose, not how hygiene works; Jonathan Rees's paper `Implementing Lexically Scoped Macros' is much better for the latter. 17:56:56 jao [~user@203.Red-88-6-160.staticIP.rima-tde.net] has joined #scheme 18:06:27 R3cur51v3 [~Recursive@173-23-121-25.client.mchsi.com] has joined #scheme 18:06:46 -!- chittoor [~chittoor@listertech.in] has quit [Quit: Leaving] 18:07:09 -!- jewel [~jewel@196-215-88-71.dynamic.isadsl.co.za] has quit [Ping timeout: 245 seconds] 18:35:44 -!- alvatar [~alvatar@87.222.127.0] has quit [Ping timeout: 260 seconds] 18:36:28 alvatar [~alvatar@107.126.222.87.dynamic.jazztel.es] has joined #scheme 18:38:04 Belaf [~campedel@194.209.131.192] has joined #scheme 18:38:13 -!- Belaf [~campedel@194.209.131.192] has left #scheme 18:41:54 cowan [c6b912cf@gateway/web/freenode/ip.198.185.18.207] has joined #scheme 18:42:31 *cowan* unvanishes and all that. 18:42:38 -!- cowan is now known as jcowan 18:47:40 jcowan, fe[nl]ix and I are working on a small wrapper library "libfixposix" that ought to make writing FFIs for posix oh so slightly easier. But I still would like to see a few FFIs for Scheme (or Lisp, etc.) standardized. 18:48:45 bipt [~bpt@cl-851.chi-02.us.sixxs.net] has joined #scheme 18:49:19 -!- chiiph [~chiiph@gentoo/developer/chiiph] has quit [Quit: bye bye] 18:49:47 chiiph [~chiiph@gentoo/developer/chiiph] has joined #scheme 18:49:49 What does libfixposix do? 18:56:15 Start writing up a submission for FFIs, then. 19:02:53 I just ran into an irksome problem with FFIs while trying to build GHC on NetBSD. 19:03:34 The problem is that GHC generates OS-dependent C code, just like what the Common Lisp folks call a groveller will do, which makes it hard to bootstrap it on a new operating system. 19:06:30 JHC on the other hand 19:07:12 Riastradh, it wraps around things that in C are macros and not functions. Also provides abstraction over some API functionality that is not universally available (like Linux's pipe2 or signalfd), and replaces or wraps around misdesigned or misimplemented APIs (posix_spawn, having callback hooks for wait/waitpid). 19:08:21 Is the intent to eliminate the need for a groveler? 19:08:34 or simplify what amount of groveling is done, yes. 19:08:42 at least for the fixed apis. 19:10:04 CL's CFFI for instance has two kinds of grovelling, one that executes C code to detect sizes and constants, produces Lisp code that defines proper types, etc. 19:10:33 That sounds interesting. Have you considered adding a reflective API so that systems without a FFI can use the entire set of functionality by binding to a small set of known functions? 19:10:58 one that compiles to C code that has to actually be linked into the system, to run arbitrary C code, notably macro accessors such as WIFEXITED(status). 19:11:33 I'm writing my part of libfixposix as sexp that get expanded to C code. 19:11:36 Those are two very different functions. Can there be a different name for the second one? The second one isn't a misdesign. 19:12:13 Riastradh, the second one isn't a misdesign. That some parts of the API can only be accessed with it is at least "annoying". 19:13:00 Annoying, perhaps, but a fact of life with C libraries that isn't going to change. 19:13:18 but that can be wrapped around. 19:13:39 I know. That's why I said that it isn't a misdesign. 19:13:40 The misdesign that is what I have always called a groveller, though, is not a fact of life. 19:13:44 with a fixed library that you can link against and not otherwise have to deal with dynamic C compilation. 19:14:01 Riastradh: I'm confused about what you're referring to as "the second one"? 19:14:31 chandler, generating Lisp code that knows the values of constants is a misdesign. Generating C code that Lisp code can call to use macros is not. 19:14:55 chandler, it can be an interesting strategy to write an FFI in terms of such wrappers. But to *have* to write an FFI in terms of such wrappers is bad design IMHO. 19:15:29 I think Fare's intent was to write C code that could be called to determine the values of constants, no? 19:15:32 Riastradh, why is learning about the constants a misdesign? 19:16:31 Fare: Are you referring to my suggestion of reflective APIs there? 19:16:34 Fare, it produces OS-dependent Lisp code, which causes problems like the one I just described with GHC. 19:17:04 Why are OS-dependent FASLs worse than OS-dependent .o files? 19:17:28 Further, the values of the constants are seldom actually interesting to Lisp. 19:17:37 chandler, it encourages a build process that makes porting hard. 19:17:38 Riastradh, not a problem as long as such code is not checked in, and can be cross-generated. 19:18:12 How do you cross-generate it if you can't run Lisp on the target system yet? 19:18:14 the constants are used on the Lisp side to allocate things. 19:18:30 I disagree that the values of the constants are seldom interesting. Many constants are bitwise or'd together as flags; others are used for things like static maximums (PATH_MAX & friends). 19:18:47 you generate C code that gets run on the target system, generates lisp code that you compile on your host system. 19:19:04 the product of which runs on the target system 19:19:28 The operations on the flags (union, intersection, testing) are usually interesting, not the values of the bits. 19:19:34 ditto Why are OS-dependent FASLs worse than OS-dependent .o files? 19:20:03 Riastradh, tough luck computing a OR mask without having access to the bits 19:20:21 In MIT Scheme and Scheme48, there are many OS-independent parts: the analogue of FASLs and heap images. Including an FFI shouldn't break this. 19:20:43 If your favourite Lisp system already breaks this, then it doesn't matter to you, of course, but it still matters to me. 19:20:56 including a FFI *does* break it. No way your BSD code will run on Windows, etc. 19:21:35 your OpenBSD/sparc FFI code won't run on Linux/alpha, no matter how portable your FASLs are. 19:22:00 False. The native library that the Lisp system uses can vary from platform to platform as long as it provides a consistent interface. 19:22:07 If Fare's strategy for libfixposix is to provide C functions that can be called to determine the value of constants, then for portable heap images and FASLs you need to ensure that the calls to those functions are always deferred until runtime. 19:22:43 Of course, chandler -- or the data need to be stored outside the Lisp heap altogether. 19:22:45 chandler, or link time, or blah. 19:22:47 Having those functions be available isn't necessarily a barrier to portable heap images. 19:23:32 Of course not -- I never said it is. That is what I called the second meaning of groveller, for which I requested a word other than `groveller', and which I described as not a misdesign. 19:23:58 Riastradh, if you want to write your runtime in C for the sake of having portable heap images, your problem. 19:24:11 When you could write your runtime in Lisp AND have a portable heap image. 19:24:24 Huh? 19:24:27 I don't think the first is a misdesign either. It's different from having portable FASLs or heaps, but I don't think there's anything invalid about that design. 19:24:50 Riastradh, wrappers? 19:24:53 This has nothing to do with how the Lisp system is implemented -- this has to do with a *design* that allows or precludes portable FASLs and heap images. 19:25:19 or similarly allows or precludes OS-dependent FASLs and heap images. 19:25:56 OS-dependent FASLs and heap images can't be precluded if you compute anything on one OS and use it on another. But they can be avoided if they aren't imposed. 19:26:19 why "imposed"? 19:26:25 All I want is that the design of a general-purpose Scheme<->C FFI not imply OS-dependent FASLs or heap images. 19:26:37 if you don't want to use any non-portable API, just don't. 19:26:59 For instance, FFI calls in a portable FASL need to be abstracted somehow to work around differences in calling conventions. If the goal is to provide portable FASLs, that might be an acceptable overhead, but for an implementation that wants to provide more efficient FFI calls it's a problem. Choosing the latter isn't a "misdesign". 19:27:01 Especally for cases when the ABI varies but the API remains constant between the OSs in question! 19:27:07 If you want to write "portable" wrappers around non-portable APIs, do. 19:27:24 chandler, that's OK -- that's an implementation decision. 19:28:08 Right. And this leads us to the first kind of groveler, which makes C constants available to Lisp so that they can be constant-folded as appropriate. That isn't a misdesign either; it's just making do with C. 19:29:15 OK -- provided that that is not part of the language design. 19:29:50 (Such an approach still encourages build processes that are hard to port.) 19:30:56 (Funny, I didn't have such problems with SBCL. The values needed for the initial core are dumped in first genesis, which happens on the target. Works fine.) 19:32:15 Anyway, I think this is all academic - as I understand it, what Fare is proposing would let a portable-heap implementation defer finding the values of constants until runtime, and an optimizing implementation can determine the values at compile time. 19:33:04 yup. 19:35:23 anyway, I think it would be nice to separately standardize the two kinds of FFI, for all meaningful target platforms: C, .NET, JVM, whatnot. 19:36:22 then libraries could be written that don't have to deal with a combinatorial explosion of both Lisp implementations and target system. 19:41:02 -!- stis [~stis@1-1-1-39a.veo.vs.bostream.se] has quit [Remote host closed the connection] 19:54:39 -!- metasyntax [~taylor@12.132.219.7] has quit [Remote host closed the connection] 19:58:39 -!- mornfall [~mornfall@kde/developer/mornfall] has quit [Ping timeout: 248 seconds] 20:02:06 -!- copumpkin [~copumpkin@94.166.54.94] has quit [Read error: Connection reset by peer] 20:03:41 copumpkin [~copumpkin@94.166.54.94] has joined #scheme 20:04:46 Once you get outside of C, almost everything becomes reflectable. 20:04:50 mornfall [~mornfall@anna.fi.muni.cz] has joined #scheme 20:04:52 -!- mornfall [~mornfall@anna.fi.muni.cz] has quit [Changing host] 20:04:52 mornfall [~mornfall@kde/developer/mornfall] has joined #scheme 20:07:45 And even harder to work with because of the clash of garbage collectors. 20:08:12 ...and evaluation models/execution engines and so on. 20:09:55 Unless, indeed, you co-opt the host GC. 20:09:57 Dijkstra [58f2a985@gateway/web/freenode/ip.88.242.169.133] has joined #scheme 20:10:03 As most implementations do AFAIK. 20:11:41 Co-opt the host GC? 20:11:58 Oh, are you talking about, say, a Java FFI for a Scheme that runs on Java, a .NET FFI for a Scheme that runs on .NET, and so on? 20:14:36 -!- alvatar [~alvatar@107.126.222.87.dynamic.jazztel.es] has quit [Quit: leaving] 20:17:09 -!- Dijkstra [58f2a985@gateway/web/freenode/ip.88.242.169.133] has quit [Quit: falconidae] 20:23:01 -!- homie [~user@xdsl-78-34-111-144.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:27:50 homie [~user@xdsl-78-34-111-144.netcologne.de] has joined #scheme 20:33:02 Riastradh: Yes 20:34:27 OK. I meant to refer to a C-based Scheme talking with Java, or a .NET-based Scheme talking with CPython, or something horrible like that. 20:42:05 -!- incubot [~incubot@klutometis.wikitex.org] has quit [Remote host closed the connection] 20:47:24 incubot [~incubot@klutometis.wikitex.org] has joined #scheme 20:53:40 Yeeks. 20:56:26 Cheery [~cheery@a88-113-49-213.elisa-laajakaista.fi] has joined #scheme 20:57:03 Mr-Cat [5f1f0439@gateway/web/freenode/ip.95.31.4.57] has joined #scheme 21:00:14 Recur51v3 [~Recursive@173-23-121-25.client.mchsi.com] has joined #scheme 21:00:29 -!- R3cur51v3 [~Recursive@173-23-121-25.client.mchsi.com] has quit [Ping timeout: 245 seconds] 21:04:13 -!- langmartin [~user@exeuntcha2.tva.gov] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:07:21 alvatar [~alvatar@47.233.218.87.dynamic.jazztel.es] has joined #scheme 21:09:10 -!- bweaver [~user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:09:40 -!- Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has quit [Ping timeout: 276 seconds] 21:10:17 not sure whether I'm again starting with the wrong end. I wrote that cheney garbage collector and therefore I'll get potential for fast allocations. 21:11:51 though my first obvious approach turns out lots of machine code. 21:13:17 going to search a little bit about it. 21:13:38 hm.. starts well. 21:16:27 -!- copumpkin is now known as unsafePumpkin 21:19:47 R3cur51v3 [~Recursive@173-23-121-25.client.mchsi.com] has joined #scheme 21:20:10 Oh no! copumpkin's gone impure! 21:20:22 -!- Recur51v3 [~Recursive@173-23-121-25.client.mchsi.com] has quit [Quit: This system is going down for poweroff RIGHT FREAKING NOW!!!] 21:20:34 -!- Fare [~Fare@ita4fw1.itasoftware.com] has quit [Quit: Leaving] 21:20:40 Recur51v3 [~Recursive@173-23-121-25.client.mchsi.com] has joined #scheme 21:21:06 *unsafePumpkin* laughs evilly 21:21:39 *unsafePumpkin* unsafely coerces Riastradh by means of a polymorphic reference 21:21:48 Fortunately, this is #scheme, so we don't actually mind that sort of thing, except that we find the terms `unsafe' and `impure' kinda funny. 21:22:03 oh damn, now I just feel common :( 21:22:34 Well, at least you're not a Lisp, then, because if you were you'd be full of disgusting packages. 21:26:57 Hi all. Excuse me for being such a slowpoke, but when r7rs (or shoult I call it `scheme seven') is going to be out? 21:27:16 s/shoult/should/ 21:27:46 Ha. 21:27:53 :) 21:28:18 -!- Recur51v3 [~Recursive@173-23-121-25.client.mchsi.com] has quit [Remote host closed the connection] 21:29:54 Mr-Cat, see http://tinyurl.com/r7rs-schedule 21:31:16 -!- unsafePumpkin is now known as copumpkin 21:31:24 http://www.mail-archive.com/caml-list@yquem.inria.fr/msg07022.html o/ 21:33:09 samth: Someday, somebody's going to buy the rights to the franchise and actually make that game as a prank on all the people who said they'd do something or something would get done when DNF is released. :-) 21:33:44 the wikipedia article suggests that it might be still in preparation 21:33:49 which is pretty hilarious 21:37:28 I guess they figure that if Blizzard could finally get out a third of a Starcraft sequel, they might be able to get something done too. 21:47:53 IJP [~Ian@host81-151-83-141.range81-151.btcentralplus.com] has joined #scheme 21:49:54 Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has joined #scheme 21:54:08 http://paste.pocoo.org/show/244956 21:54:54 Riastradh: On GC collisions, when I was interfacing Chicken to Q, the only safe way to transmit bignums across the FFI was to render them as digit-strings, even though both systems implemented bignums with GMP. 21:55:26 it's terribly lot of frame initialization compared to plain stack increment/decrement. 21:57:21 well.. it can be done a little simpler... 21:58:17 by moving the gc condition over the frame entry 21:58:40 Some operating systems can automatically zero pages for you if you ask the right way. 21:59:10 that'd be useful 21:59:27 does linux count in? 21:59:52 The easiest way on Unix, I think, is to mmap the desired pages from /dev/zero with MAP_PRIVATE. 22:01:11 Really? I've always mapped NULL with MAP_PRIVATE | MAP_ANON{YMOUS} 22:01:43 Does that zero the pages for you, chandler? 22:02:14 well, I could also copy stuff in, then call memset for the free memory I'll get in garbage collection. 22:02:16 I haven't found a Unixoid that doesn't. 22:02:50 You don't want to do that, Cheery. Here's why: it makes the running time of the garbage collector proportional to the size of the heap, rather than to the size of the storage occupied by live data. 22:02:52 chandler: sounds good 22:03:34 Oh, so it does, according to the man page here. 22:03:38 -!- cthuluh [moo@wxcvbn.org] has quit [Read error: Operation timed out] 22:03:51 Disregard my remark about /dev/zero. I always assumed that newly mapped anonymous pages would just have garbage in them. 22:04:08 "The mapping is not backed by any file; its contents are initial ized to zero. 22:04:16 Of course, if you don't have MAP_ANON -- well, you're probably going to lose anyway, so it's a moot point. 22:04:34 metasyntax [~taylor@72.86.89.174] has joined #scheme 22:04:34 That'd be rather surprising to me, since garbage doesn't come from nowhere, and mapping it to real pages with something in them would probably reveal information about dead processes. 22:04:59 Riastradh: well this stuff makes sense. if stuff allocated by MAP_ANON wouldn't be handled that way, it might provide you sensitive information containing your root password, perhaps. 22:05:15 True. 22:06:21 well, whatever. I like that feature 22:06:34 it means I don't need to set anything zero 22:06:35 cthuluh [moo@2001:470:1f13:2c9::1] has joined #scheme 22:07:14 I can also delegate upvalue creation over the remaining frame start. 22:07:25 Remember to munmap the oldspace after copying and re-mmap the newspace before copying. 22:07:41 Conveniently, mremap doesn't help to accomplish this in one swell foop. 22:08:31 I can always just mmap the newspace 22:08:35 I'm pretty sure that there's a way to un-wire just part of an anonymous mapping on Linux, at least. 22:08:47 -!- cthuluh [moo@2001:470:1f13:2c9::1] has quit [Client Quit] 22:08:56 cthuluh [moo@wxcvbn.org] has joined #scheme 22:08:58 it's short nursery space anyway. :) 22:09:42 RageOfThou [~RageOfTho@users-55-109.vinet.ba] has joined #scheme 22:09:56 -!- schmir [~schmir@mail.brainbot.com] has quit [Remote host closed the connection] 22:10:51 -!- jcowan [c6b912cf@gateway/web/freenode/ip.198.185.18.207] has quit [Quit: Page closed] 22:11:07 Ah, yes, it's madvise with MADV_DONTNEED. (Why isn't madvise in the SEE ALSO section of mmap, when mmap is in madvise's SEE ALSO?) 22:11:15 (You'd think these would be transitive.) 22:11:50 (I guess not. You'd wind up with every man page advising you to see every other man page that way.) 22:12:05 Here's it's the other way around :) 22:12:18 Transitive? You want it to be commutative, not transitive. 22:12:23 mmap refers to madvise but madvise doesn't refer to mmap 22:12:27 Riastradh: Er, yes. 22:12:45 Anyway, what did you expect? You're reading man pages on Linux. They suck. 22:12:48 Gnight 22:13:03 schmir [~schmir@mail.brainbot.com] has joined #scheme 22:13:27 -!- schmir [~schmir@mail.brainbot.com] has quit [Remote host closed the connection] 22:13:40 -!- MrFahrenheit [~RageOfTho@users-33-176.vinet.ba] has quit [Ping timeout: 260 seconds] 22:14:02 chandler, does MADV_DONTNEED guarantee that the pages will be zero'd? 22:14:11 I don't think madvise guarantees anything about any semantics in general. 22:14:26 schmir [~schmir@mail.brainbot.com] has joined #scheme 22:14:31 On Linux it does, at least according to the man page and my own tests. 22:16:29 Apparently now there's also a MADV_REMOVE, which is only for shmfs/tmpfs but sounds just like what MADV_DONTNEED does for anonymous pages. Sigh. 22:17:58 -!- gravicappa [~gravicapp@ppp85-141-164-129.pppoe.mtu-net.ru] has quit [Ping timeout: 260 seconds] 22:25:35 with little luck, my frame begin is 128 bytes long. 22:25:50 http://paste.pocoo.org/show/244965 22:26:02 I should calculate it though. duh. :/ 22:26:50 it could be provided like that or then pasted as a frame-begin. 22:28:02 *Cheery* is annoyed by the sheer amount of registers he needs to prepare on. 22:30:31 chandler, I'm told that what is not a guarantee in madvise's man page is, in fact, not a guarantee on NetBSD. 22:31:33 paperkettles [~chris@ip72-195-132-159.ri.ri.cox.net] has joined #scheme 22:31:50 There is likely to be a problem only if multiple threads are involved and either you need a fixed address or other threads have sufficiently badly fragmented memory in the window between munmap and mmap. 22:32:04 That could be; I've only used this on Linux. 22:32:45 Well, it wouldn't surprise me if empirically it seemed that NetBSD zero'd the pages too, were I to test it. 22:33:01 But it might be that if you ask Linus, he'll tell you it's not a guarantee on Linux either. 22:33:05 OK, enough subjunctives. 22:34:44 -!- alvatar [~alvatar@47.233.218.87.dynamic.jazztel.es] has quit [Quit: leaving] 22:38:43 joev [~joev@pdpc/supporter/active/joev] has joined #scheme 22:40:55 -!- Mohamdu [~Mohamdu@CPE00222d53fe20-CM00222d53fe1d.cpe.net.cable.rogers.com] has quit [Ping timeout: 240 seconds] 22:41:40 http://paste.pocoo.org/show/244968 22:41:49 It's all quite large, but otherwise I find it all right. 22:43:20 sucks that each function will be 128 bytes in minimum. though each line likely compiles to lot of code unless some really havoc optimizations can be applied. 22:45:12 -!- kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has quit [Quit: Leaving] 22:45:46 kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has joined #scheme 22:46:25 -!- kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has quit [Client Quit] 22:46:56 kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has joined #scheme 22:47:48 so these are perhaps all right continuation-enabled program frames. 22:54:22 likely can't get better ones without heavy optimizations 22:54:38 -!- antoszka [~antoszka@unaffiliated/antoszka] has quit [Quit: +++ killed by SIGSEGV +++] 22:57:39 antoszka [~antoszka@unaffiliated/antoszka] has joined #scheme 23:03:55 Delita [~pete@cpe-74-64-94-88.hvc.res.rr.com] has joined #scheme 23:07:31 Mr-Cat: R7RS is on schedule, the first public status report will be presented at the Scheme workshop this month, the first draft will be in another 6 months, and the final draft in a year. 23:08:26 foof: Thanks 23:10:52 aidalgol [~user@202.36.179.65] has joined #scheme 23:13:46 mbohun [~mbohun@202.124.73.94] has joined #scheme 23:22:48 -!- paperkettles [~chris@ip72-195-132-159.ri.ri.cox.net] has quit [Quit: paperkettles] 23:25:38 -!- masm [~masm@2.80.136.150] has quit [Quit: Leaving.] 23:25:44 -!- joev [~joev@pdpc/supporter/active/joev] has left #scheme 23:28:05 -!- pjb [~t@81.202.16.46.dyn.user.ono.com] has quit [Ping timeout: 265 seconds] 23:29:42 rbarraud [~rbarraud@118-92-149-113.dsl.dyn.ihug.co.nz] has joined #scheme 23:31:15 Will the first public status be something other than "we haven't been able to agree on anything concrete, but we think that the R4RS is sort of vaguely jewel-like."? 23:33:46 s/\."\?/"?/ 23:34:07 I feel I'll always start worrying when getting to write native machine bytecode. 23:36:17 -!- askhader [~askhader@taurine.csclub.uwaterloo.ca] has quit [Quit: Lost terminal] 23:36:46 schmir` [~schmir@p54A92E97.dip0.t-ipconnect.de] has joined #scheme 23:37:16 -!- schmir [~schmir@mail.brainbot.com] has quit [Remote host closed the connection] 23:37:25 -!- schmir` is now known as schmir 23:39:45 chandler: WG1 has made a lot of progress. WG2 is partially waiting on WG1. 23:42:46 WG1 will likely be R5RS + modules and exceptions, plus possibly user-defined types, parameters and byte-vectors. 23:43:47 For more detail you'll have to wait for the report ;) 23:48:17 -!- fradgers- [~fradgers-@5adafe9d.bb.sky.com] has left #scheme 23:54:34 neilv [~user@dsl092-071-029.bos1.dsl.speakeasy.net] has joined #scheme 23:55:15 -!- neilv [~user@dsl092-071-029.bos1.dsl.speakeasy.net] has quit [Client Quit] 23:55:25 neilv [~user@dsl092-071-029.bos1.dsl.speakeasy.net] has joined #scheme 23:59:01 -!- kniu [~kniu@pool-71-106-0-142.lsanca.dsl-w.verizon.net] has quit [Ping timeout: 265 seconds] 23:59:32 -!- schmir [~schmir@p54A92E97.dip0.t-ipconnect.de] has quit [Remote host closed the connection]