00:08:00 hussaibi [hussaibi@user241-81.wireless.utoronto.ca] has joined #scheme 00:08:05 hussaibi_ [hussaibi@user241-81.wireless.utoronto.ca] has joined #scheme 00:20:22 groovy2shoes [~cory@unaffiliated/groovebot] has joined #scheme 00:28:33 -!- groovy2shoes [~cory@unaffiliated/groovebot] has quit [Read error: Connection reset by peer] 00:33:40 groovy2shoes [~cory@unaffiliated/groovebot] has joined #scheme 00:42:31 -!- masm [~masm@bl15-76-171.dsl.telepac.pt] has quit [Ping timeout: 260 seconds] 00:45:03 -!- jlongster [~user@host81-151-20-229.range81-151.btcentralplus.com] has quit [Ping timeout: 255 seconds] 00:52:33 -!- turbofail [~user@c-107-3-149-149.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 00:57:52 -!- hussaibi_ [hussaibi@user241-81.wireless.utoronto.ca] has quit [Ping timeout: 252 seconds] 00:57:57 -!- hussaibi [hussaibi@user241-81.wireless.utoronto.ca] has quit [Ping timeout: 250 seconds] 01:05:43 -!- dnolen [~davidnole@pool-68-161-130-84.ny325.east.verizon.net] has quit [Quit: dnolen] 01:06:54 dnolen [~davidnole@pool-68-161-130-84.ny325.east.verizon.net] has joined #scheme 01:07:32 -!- dnolen [~davidnole@pool-68-161-130-84.ny325.east.verizon.net] has quit [Client Quit] 01:13:08 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 01:16:05 soveran [~soveran@186.19.214.247] has joined #scheme 01:16:13 hypercube32 [~hypercube@231.125.189.72.cfl.res.rr.com] has joined #scheme 01:18:08 hussaibi [~hussaibi@user241-81.wireless.utoronto.ca] has joined #scheme 01:18:18 hussaibi_ [hussaibi@user241-81.wireless.utoronto.ca] has joined #scheme 01:25:26 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 01:26:40 -!- jonrafkind [~jon@crystalis.cs.utah.edu] has quit [Ping timeout: 260 seconds] 01:30:45 -!- XTL [~XTL@dsl-olubrasgw2-fe6af800-251.dhcp.inet.fi] has quit [Ping timeout: 260 seconds] 01:31:03 XTL [~XTL@dsl-olubrasgw2-fe6af800-251.dhcp.inet.fi] has joined #scheme 01:32:41 dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has joined #scheme 01:34:32 -!- ASau [~user@95-25-192-7.broadband.corbina.ru] has quit [Ping timeout: 252 seconds] 01:35:49 -!- hypercube32 [~hypercube@231.125.189.72.cfl.res.rr.com] has quit [Read error: Connection reset by peer] 01:36:34 hypercube32 [~hypercube@231.125.189.72.cfl.res.rr.com] has joined #scheme 01:39:05 leo2007 [~leo@222.130.130.28] has joined #scheme 01:40:46 -!- AtnNn [~welcome@modemcable110.176-176-173.mc.videotron.ca] has quit [Ping timeout: 252 seconds] 01:43:02 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: Leaving] 02:02:15 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 02:11:23 -!- hypercube32 [~hypercube@231.125.189.72.cfl.res.rr.com] has quit [Quit: Leaving] 02:12:02 -!- groovy2shoes [~cory@unaffiliated/groovebot] has quit [Quit: It is now safe to turn off your groovebot.] 02:17:39 -!- jrapdx [~jra@74-95-41-205-Oregon.hfc.comcastbusiness.net] has quit [Quit: Leaving] 02:17:51 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Quit: leaving] 02:24:23 -!- zmv [~daniel@c95334de.virtua.com.br] has quit [Read error: Operation timed out] 02:30:35 Brendan_T [~brendan@static.112.22.47.78.clients.your-server.de] has joined #scheme 02:43:25 confab [~ubuntu@c-24-10-60-185.hsd1.ca.comcast.net] has joined #scheme 02:53:25 dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has joined #scheme 02:54:06 -!- jao [~user@pdpc/supporter/professional/jao] has quit [Ping timeout: 252 seconds] 02:55:48 Did you see this? http://vedantk.tumblr.com/post/8424437797/sicp-is-under-attack 02:56:28 It's the beginning of the end of the age of mankind. 02:56:48 SICP was a crown jewel of the Anthropocene. 02:58:47 smtlaissezfaire_ [~smtlaisse@76.15.192.54] has joined #scheme 02:59:36 The Python-, Java- and C++-orcs are crossing the River Anduin. 03:05:01 jrapdx [~jra@c-98-246-157-58.hsd1.or.comcast.net] has joined #scheme 03:05:11 -!- leo2007 [~leo@222.130.130.28] has quit [Quit: rcirc on GNU Emacs 23.3.50.1] 03:09:32 -!- ToxicFrog [~ToxicFrog@24-246-40-169.cable.teksavvy.com] has quit [Read error: Connection reset by peer] 03:18:02 -!- littlebobby [~bob@unaffiliated/littlebobby] has quit [Quit: Ex-Chat] 03:22:49 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 03:34:32 I just downloaded SICP the other day with all the video lectures to go through... and now its out of fashion ;/ 03:34:32 cataska [~cataska@210.64.6.233] has joined #scheme 03:35:00 so are parachute pants but that doesn't stop me from wearing them 03:35:08 you are so cool 03:39:55 ToxicFrog [~ToxicFrog@24-246-40-169.cable.teksavvy.com] has joined #scheme 03:40:23 zanes [~zane@108-90-245-81.lightspeed.cicril.sbcglobal.net] has joined #scheme 03:42:45 -!- zanes [~zane@108-90-245-81.lightspeed.cicril.sbcglobal.net] has quit [Client Quit] 03:43:09 yin [~wy@182.132.201.101] has joined #scheme 03:43:48 leo2007 [~leo@222.130.130.28] has joined #scheme 03:44:08 -!- smtlaissezfaire_ [~smtlaisse@76.15.192.54] has quit [Quit: smtlaissezfaire_] 03:52:05 -!- jdfjklajkl [~paulh@244-15-ftth.onsnetstudenten.nl] has quit [Ping timeout: 246 seconds] 03:54:32 soveran [~soveran@186.19.214.247] has joined #scheme 03:56:30 *offby1* is surrounded by men in kilts 03:57:56 -!- yin [~wy@182.132.201.101] has quit [Quit: Leaving] 04:04:21 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 04:07:29 -!- wisey [~Steven@host86-150-109-116.range86-150.btcentralplus.com] has quit [Quit: Leaving] 04:07:34 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 04:09:00 jonrafkind [~jon@jonr5.dsl.xmission.com] has joined #scheme 04:09:50 -!- leo2007 [~leo@222.130.130.28] has quit [Quit: rcirc on GNU Emacs 23.3.50.1] 04:12:11 -!- dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has quit [Quit: dnolen] 04:12:20 smtlaissezfaire_ [~smtlaisse@76.15.192.54] has joined #scheme 04:16:55 -!- realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has quit [Quit: realitygrill] 04:18:11 realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has joined #scheme 04:22:50 parachute pants are so old. I've long since progressed to wearing denim overalls... BACKWARDS. 04:26:56 SICP does appear to be pretty awesome though, just reading the foreward and first few pages has gotten me excited ;] 04:59:39 -!- realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has quit [Quit: realitygrill] 05:00:12 -!- phax [~phax@unaffiliated/phax] has quit [Ping timeout: 255 seconds] 05:00:36 yin [~wy@182.132.201.101] has joined #scheme 05:08:14 -!- smtlaissezfaire_ [~smtlaisse@76.15.192.54] has quit [Quit: smtlaissezfaire_] 05:10:05 smtlaissezfaire_ [~smtlaisse@76.15.192.54] has joined #scheme 05:16:22 -!- cbrannon [~cbrannon@gentoo/developer/cbrannon] has quit [Ping timeout: 252 seconds] 05:18:15 -!- confab [~ubuntu@c-24-10-60-185.hsd1.ca.comcast.net] has quit [Ping timeout: 260 seconds] 05:23:14 cbrannon [~cbrannon@gentoo/developer/cbrannon] has joined #scheme 05:26:37 -!- tupi_ [~david@189.60.162.202] has quit [Quit: Leaving] 05:29:20 realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has joined #scheme 05:31:55 -!- asumu [~at@2001:470:b:b7:1e6f:65ff:fe23:c3d4] has quit [Quit: leaving] 05:33:08 asumu [~at@2001:470:b:b7:1e6f:65ff:fe23:c3d4] has joined #scheme 05:39:21 hkBst [~quassel@gentoo/developer/hkbst] has joined #scheme 05:45:42 -!- yin [~wy@182.132.201.101] has quit [Quit: Leaving] 06:07:22 gravicappa [~gravicapp@ppp91-77-185-89.pppoe.mtu-net.ru] has joined #scheme 06:15:10 jewel [~jewel@196-215-16-133.dynamic.isadsl.co.za] has joined #scheme 06:15:47 spark_ [~spark@123.147.247.114] has joined #scheme 06:17:38 REPLeffect [~REPLeffec@69.54.115.254] has joined #scheme 06:25:40 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 252 seconds] 06:35:49 -!- ecraven [~user@140.78.42.213] has quit [Quit: brb] 06:39:33 -!- hussaibi_ [hussaibi@user241-81.wireless.utoronto.ca] has quit [Ping timeout: 276 seconds] 06:39:33 -!- hussaibi [~hussaibi@user241-81.wireless.utoronto.ca] has quit [Ping timeout: 276 seconds] 06:40:32 mmc [~michal@93.56.118.36] has joined #scheme 06:48:19 ecraven [~user@140.78.42.213] has joined #scheme 06:51:50 -!- jonrafkind [~jon@jonr5.dsl.xmission.com] has quit [Ping timeout: 258 seconds] 07:00:16 -!- gravicappa [~gravicapp@ppp91-77-185-89.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 07:02:36 -!- jewel [~jewel@196-215-16-133.dynamic.isadsl.co.za] has quit [Ping timeout: 255 seconds] 07:05:33 -!- ecraven [~user@140.78.42.213] has quit [Remote host closed the connection] 07:10:16 ecraven [~user@140.78.42.213] has joined #scheme 07:28:53 yin [~wy@182.132.201.101] has joined #scheme 07:29:24 -!- yin [~wy@182.132.201.101] has quit [Client Quit] 07:50:16 ASau [~user@176.14.33.178] has joined #scheme 07:51:12 masm [~masm@bl15-76-171.dsl.telepac.pt] has joined #scheme 07:52:52 wingo [~wingo@90.164.198.39] has joined #scheme 08:01:15 leo2007 [~leo@123.114.55.156] has joined #scheme 08:07:59 -!- leo2007 [~leo@123.114.55.156] has quit [Quit: rcirc on GNU Emacs 23.3.50.1] 08:16:40 -!- Intensity [1x1OYOPeDn@unaffiliated/intensity] has quit [Ping timeout: 246 seconds] 08:23:15 -!- mario-goulart [~user@67.205.85.241] has quit [Remote host closed the connection] 08:23:17 mario-go` [~user@67.205.85.241] has joined #scheme 08:37:43 This is kind of cool: a contemporary reviews SICP when it came out: . 08:38:39 Wadler's critical of lists-as-ad-hoc-datatypes and what he calls the "confusion between program and data." Much of his argument is cast in terms of Miranda vs. Scheme. 08:39:27 Oh, I see: the "confusion" referred to is that of undergraduates. 08:43:07 It seems like there's some sort of Miranda-Haskell pedigree; so it looks like this is just an early iteration of the statically vs. dynamically typed controversy. 08:44:06 -!- smtlaissezfaire_ [~smtlaisse@76.15.192.54] has quit [Quit: smtlaissezfaire_] 08:56:34 -!- jrapdx [~jra@c-98-246-157-58.hsd1.or.comcast.net] has quit [Remote host closed the connection] 08:57:26 jrapdx [~jra@c-98-246-157-58.hsd1.or.comcast.net] has joined #scheme 09:19:52 rstandy [~rastandy@93-63-185-248.ip29.fastwebnet.it] has joined #scheme 09:20:00 -!- realitygrill [~realitygr@c-24-5-7-139.hsd1.ca.comcast.net] has quit [Quit: realitygrill] 09:22:10 Static types are for sissies who can't write everything correctly the first time. 09:23:14 heh 09:31:50 Yeah. 09:31:54 "Don't make mistakes." 09:38:36 Does Denis Washington hang out here? 09:45:18 Or for that matter does anyone know who he is? 09:45:55 No idea 09:50:30 isn't google+ the place where all the hip people are now 09:51:46 *wingo* shakes fist in air 09:52:38 *C-Keen* throws a flower ring aroung wingo's fist 09:53:02 hmmm... I have a question regarding symbols/strings and interning.. 09:53:25 shoot 09:53:36 but don't hit us with an axe :) 09:54:16 When I parse my source code, currently my tokenizer turns everything into symbols... 09:54:17 foof: http://denwash.wordpress.com/ 09:54:26 *wingo* just found that out 09:55:29 But I think: The tokenizer just should turn everything into interned strings, not symbols... 09:56:11 I feel it's hard to describe my problem. :) 09:56:46 Maybe you could explain better in a 1000 page novel? 10:00:34 Once upon a time there was a string... 10:01:11 so make the tokenizer return strings instead? I don't see the problem 10:01:18 the string was bound to a number of lexical variables, but it was immutable 10:01:40 a string in chains 10:01:47 *snare* 10:01:48 or even ropes! 10:01:57 ciao :) 10:01:58 -!- wingo [~wingo@90.164.198.39] has quit [Quit: Leaving] 10:04:12 Seems to me, a tokenizer should return tokens... 10:11:47 pjb: Mayb that way I could better distinguish real symbols from fake ones... 10:14:27 dostoyevsky: you should find tutorial about Common Lisp packages. 10:14:44 dostoyevsky: it explains interning and the stuff. 10:15:08 Also, I'm a bit surprised that this talk happens in Scheme context. 10:15:33 When interning appeared as language concept? 10:15:33 Still trolling, ASau? 10:15:36 R6? 10:15:58 sjamaan: didn't start yet. 10:16:02 But if you wish... 10:16:03 ASau: practical Scheme systems have had gensym since forever 10:16:06 Lisp tradition 10:16:15 For some reason it was never standardized 10:16:28 I think this is because Scheme is a toy language. 10:16:29 Also, Chicken has a "system" egg which is just like Common Lisp packaging systems 10:16:48 If I do: (define h 1) 10:16:57 h is a symbol, right? 10:17:03 no 10:17:23 dostoyevsky: it depends on what you mean. 10:17:24 h is an identifier represented by a symbol in the syntax 10:17:34 leo2007 [~leo@123.114.55.156] has joined #scheme 10:17:49 Or however you want to word it 10:18:21 dostoyevsky: you should understand the difference between 10:18:21 the song, the name of the song, and what the song is about. 10:18:22 The reader makes it into a symbol. 10:19:04 dostoyevsky: You should read some papers about macro systems if you want to understand this well (it also explains how two symbols can still be different in a macro expansion) 10:19:35 "two symbols which are the same can still be different", I mean 10:20:29 I still recommend tutorial about CL packages. 10:21:10 It introduces the reader into all these interned and uninterned symbols very well. 10:21:31 And confuse him in the process, because the concepts are slightly different 10:22:17 See "The Complete Idiot's Guide to Common Lisp Packages" 10:23:47 If you're using Scheme, then reading Scheme documentation would be better advice IMHO. 10:24:31 If all scheme implementations do it differently, then it is better to use real programming language. 10:24:51 pbusser2: But ASau has an agenda. He's promoting CL 10:25:01 I don't understand why he hasn't been banned yet 10:25:07 ASau: Yes, I agree. We should all be using C. Period. 10:25:26 sjamaan: He's too funny to ban. 10:25:58 funny, maybe. But he's also giving VERY bad advice that might put off newbies 10:26:08 This is bad 10:26:11 sjamaan: True. 10:27:21 I'd say that I need a level between my tokenizer and eval that decides on the type of tokens... 10:27:50 That turns some tokens into symbols and some into strings... depending on the syntax... 10:27:54 Reader isn't just tokenizer. 10:27:58 sjamaan: Common Lisp is an ugly design-by-committee beast. But for production stuff, the popular CL implementations beat most Scheme implementations hands down. Unfortunately. 10:28:16 sjamaan: funny how many people here are promoting CL. 10:28:21 pbusser2: it is rather complex issue. 10:28:24 ASau: I am not implementing CL, I implement a scheme... 10:28:32 dostoyevsky: it doesn't matter here. 10:28:44 dostoyevsky: it's not eval that decides the type of the token. It's the reader. 10:28:52 dostoyevsky: Have you looked at readscheme.org? 10:28:59 ah... I don't have a reader so far.. 10:29:06 dostoyevsky: toto is a symbol; "toto" is a string; 1010 is an integer. 10:29:07 pbusser2: the issue is that 10:29:31 dostoyevsky: and (()()) is a list. 10:29:32 pbusser2: if newbie finds X better than Y, then there're problems in Y. 10:29:34 Ahh... atomizer... 10:29:35 misterncw [~misterncw@82.71.241.25] has joined #scheme 10:29:44 "define" puts its first argument (which is a symbol) into the symbol table. Whenever an unquoted symbol is evaluated, look into the symbol table. It's not that hard 10:29:45 Is the atomizer what you call reader? 10:30:24 dostoyevsky: type (read) RET (define h 42) RET 10:30:25 dostoyevsky: reader is what converts sequence of letters into Lisp structure. 10:30:42 dostoyevsky: type (symbol? (cadr (read))) RET (define h 42) RET 10:30:57 ASau: I have programmed both in Scheme and Common Lisp. And Common Lisp definitely is the ugliest of the two. 10:31:00 "Structure" may be anything starting from atoms and numbers, ending with lists in Scheme and really anything in CL. 10:31:29 pbusser2: I have worked on commercial products in both. 10:31:53 pbusser2: Scheme was more pain. 10:32:28 As for "ugliest", it depends on your agenda. 10:32:32 -!- aoh [~aki@85.23.168.123] has quit [Quit: poof] 10:32:36 ASau: Like I said, for production stuff, the more popular CL implementations beat most Scheme implementations hands down. 10:32:41 With lisp, you can always make it prettier. 10:32:43 The best way to express iteration is still iteration. 10:33:34 ASau: My agenda? I do not have an agenda, I'm just expressing good taste. And CL and Scheme compare like fastfood compares to well cooked food. 10:33:39 Id cl_parse(void *b, Id va_s) { return cl_read_from(b, cl_tokenize(b, cl_string_parse(b, va_s))); } 10:34:05 pbusser2: it is rather the other way around. 10:34:05 Ah, yeah... there's also a read_from, that's been done before eval.. That might be the right place 10:35:11 aoh [~aki@adsl-99-115.netplaza.fi] has joined #scheme 10:35:19 pbusser2: Scheme is more like raw ingredients. You are to 10:35:20 be a cook and have much time ahead, if you want to accomplish anything. 10:35:21 dostoyevsky: what does cl_parse do? 10:35:38 dostoyevsky: you only need to read things. (loop (print (eval (read)))) is all there is to it. 10:35:42 No parse. 10:36:38 And indeed, with all those cl_ things, you'd have a better time in #lisp. 10:36:44 ASau: But the end result is so much tastier and healthier. 10:37:16 pjb: The people from #lisp send me to #scheme... 10:37:16 pbusser2: the practice shows the opposite. 10:37:38 dostoyevsky: what are you doing> 10:37:39 ? 10:37:39 dostoyevsky: that's because you're playing with scheme implementation. 10:37:54 cl_stuff sounds to me like a CL implementation. 10:37:56 pjb: from what I have seen, he's implementing Scheme. 10:37:59 Otherwise you'd have scheme_stuff... 10:38:19 Why is he naming his functions with cl_ prefix then? 10:38:25 (...Possibly, from reusable components.) 10:39:43 pjb: I wrote a c version of Peter Norvig's lis.py, which is a scheme-y language... Which I named clispy.. And I am reusing this code... 10:40:03 That's crazy. 10:41:13 ASau: ``In practice'' can mean many things. It very much depends on what you are doing. Besides you are discussing something different than I do. I'm looking at the design of the language, you seem to be only concerned about the practical use. I have already said that for production stuff CL is the better choice. From a design perspective however, Scheme is more beautiful. 10:41:52 pbusser2: "In practice" cannot mean many things. 10:41:52 Practice is what one does to get things done. 10:41:59 ASau: Even programmers can have taste you know, nothing to be ashamed of. 10:42:05 The latter is essential. 10:42:30 All the rest is theoretical research. 10:42:45 pjb: But my current project is now called schemejit, so I will rename the "cl" prefix in the code to something else soon... 10:42:56 ASau: So which things are you talking about? There are a gazillion things to be accomplished with a programming language. 10:44:16 I mean the very practical things. 10:44:36 If I have some task to do with computer, and it involves writing code, 10:45:07 then it should be possible to write in any language within given time constraints 10:45:09 and so on. 10:45:14 I think that more beautiful is debatable  there's a lot of beauty in things that have gone into CL/ANSI, there's great beauty in the spec, in libraries in common use, in writings  Scheme being more crystalline, a Lisp-1 and with a smaller spec doesn't make it automatically more beautiful. 10:46:36 pbusser2: I've been on projects with the same initial conditions, 10:47:07 both fit Scheme and CL, had co-workers who could write in both. 10:47:15 The (hyper)spec has some of the best English I've ever experienced in technical writing. 10:48:53 antoszka: It isn't about the size of the spec. It is about the fact that Common Lisp is a compromise between different parties with different interests. As such it is the lowest common denominator of what these parties could agree on. Under such circumstances no outstanding work will ever be produced, no matter how often you repeat the contrary. 10:48:54 pbusser2: next time I'm not going to repeat that mistake, 10:48:54 when my schemer colleague expressed "better taste" and made 10:48:55 me to reach for reasonably practical implementation that could 10:48:55 work on target platform. 10:49:19 yin [~wy@182.132.201.101] has joined #scheme 10:49:27 ASau: Yawn! You are starting to sound like a broken record. 10:49:52 pbusser2: if you want this exchange, I can continue it. 10:50:31 You sound like an admiring student who has lots of time to spend on his "taste". 10:50:40 ASau: I have better things to do with my time. 10:50:48 ASau: So continu for as long as you want. 10:51:27 pbusser2: I'm not sure lowest common denominator is a fair term  a compromise may be a fine technological achievement, doesn't have to be a worst of both worlds thing. Also, Scheme has had compromises in the specs, too  if you want a sigle-person non-compromise language spec you end up with something as ugly as Python. 10:51:51 Yeah! 10:51:54 ASau: Actually I am someone who has almost 30 years experience in programming different languages. 10:51:56 Closures? 10:52:01 We don't need no closures! 10:52:16 :D 10:53:35 pbusser2: some people manage to stay boy scouts till frosty head. 10:53:36 I think in the scheme world you also have the problem of people like me, who just start to implement a scheme-y language because it's easy and do not really want to care about reading complicated standards as long as it works... which it doesn't sometimes.. 10:53:44 antoszka: It may not be a ``fair term'', but it is what it is. 10:54:26 ASau: You mean people like Einstein, thank you for the compliment. :-) 10:54:44 pbusser2: Not from I've noticed. 10:54:54 pbusser2: no, I mean retarders. 10:55:02 But then perhaps it's a matter of taste :) 10:55:17 ASau: It takes one to know one, so look into the mirror and you'll see one for sure. 10:55:39 ASau: If you want to insult someone, try picking an easier target. 10:55:58 Can someone please stop the mud slinging? 10:56:16 sjamaan: I'm leaving in 5 min. :) 10:56:43 dostoyevsky: It is not a problem at all that people play around with Scheme implementations. It very healty thing to do in fact. 10:57:46 sjamaan: Well, the party who resorts to mud slinging is running out of arguments and knows it. 10:57:47 Only it doesn't push frontiers and doesn't bring anything new at all. 10:57:54 ASau: Maybe read up on your irc client's documentation on how to write things in the other channel your in atm before starting talking about lisp... 10:57:57 *sjamaan* sighs 10:58:00 apart from an understanding of the language 10:58:08 sjamaan: There is also /ignore you know. :-) 10:58:28 pbusser2: I don't want to ignore either of you. I'd forget to reset it 10:58:35 Also, you're scaring away others I'm sure 10:58:37 sjamaan: Heh! 10:58:41 pbusser2: why don't you use it? ;) 10:59:10 -!- ASau [~user@176.14.33.178] has quit [Quit: off] 10:59:12 sjamaan: There is nothing wrong with a good discussion. 10:59:17 Finally. 11:03:40 gravicappa [~gravicapp@ppp91-77-185-89.pppoe.mtu-net.ru] has joined #scheme 11:05:14 There's nothing good about calling eachother names 11:09:29 sjamaan: I could be wrong, but I do not remember me calling anyone names. At least that has never been my intention. It's just that I cannot stand crap. And there is a lot of crap in the IT business. 11:10:09 yes there is 11:12:04 Anyhow, back to mutilating T. 11:18:33 dostoyevsky: BTW, there is also a book called Lisp in Small Pieces, which describes implementing Lisp in various ways. 11:19:41 Interesting... Would you say that the names Lisp and Scheme can be used interchangingly? 11:20:35 No. Scheme  Lisp. Common Lisp  Lisp. 11:21:03 Scheme  Common Lisp   11:21:18 dostoyevsky: Scheme and Common Lisp are both Lisp dialects. People on #lisp would probably agree (you're only allowed to discuss Common Lisp there). But most people think of Lisp as a family of languages which include Scheme, Common Lisp and many others. 11:21:21 No. Scheme ? Lisp. Common Lisp ? Lisp. <--- `?' ?? 11:21:25 dostoyevsky: http://paste.lisp.org/display/84252 11:21:35 dostoyevsky: use utf-8. 11:21:45 It's 2011. 11:22:16 +1 11:22:35 No. Scheme {is member of} Lisp. Common Lisp {is member of} Lisp. 11:22:48 Scheme {intersection} Common Lisp {different} {empty set} 11:22:53 All in the family 11:23:34 dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has joined #scheme 11:25:09 Actually REBOL is a Lisp in disguise too. 11:25:32 If it's not homoiconic, it's not Lisp. 11:26:06 pjb: What does homoiconic mean? I come from the countryside, please use small words. :-P 11:26:31 pbusser2: that the code and the data are written in the same syntax. 11:27:04 What makes data code, is what you make of data. If you take some data and pass it to eval, then it's code. 11:28:38 pjb: I'm not sure whether that is the case with REBOL. I have only briefly looked at it, because someone I know was raving about it. 11:29:41 pbusser2: well, people will argue that you can always put code into strings, and have an eval taking strings, parsing them and evaluating the parsed code... 11:30:50 pjb: Yeah, I know. There are many people who do not get the subtleness of what makes Lisp Lisp. 11:31:00 -!- C-Keen [cckeen@pestilenz.org] has quit [Ping timeout: 260 seconds] 11:33:44 C-Keen [cckeen@pestilenz.org] has joined #scheme 11:47:15 jdfjklajkl [~paulh@244-15-ftth.onsnetstudenten.nl] has joined #scheme 11:48:23 -!- Riastradh [~riastradh@fsf/member/riastradh] has quit [Ping timeout: 250 seconds] 11:51:42 -!- leo2007 [~leo@123.114.55.156] has quit [Ping timeout: 250 seconds] 11:52:48 f8l [~f8l@87-205-62-27.adsl.inetia.pl] has joined #scheme 12:04:02 -!- mario-go` is now known as mario-goulart 12:06:03 soveran [~soveran@186.19.214.247] has joined #scheme 12:10:21 788:perf>(type :sy) 12:10:21 => "symbol" 12:10:29 331:perf>(type "foo") 12:10:29 => "string" 12:10:39 It's getting better. :) 12:15:19 Is it common to quote symbols with a colon in front in scheme? Like `:symbol' 12:16:41 Depends on what you mean. 12:16:55 Both :symbol and ':symbol evaluate to :symbol. 12:21:04 leo2007 [~leo@123.123.249.222] has joined #scheme 12:21:54 -!- aoh [~aki@adsl-99-115.netplaza.fi] has quit [Ping timeout: 276 seconds] 12:22:02 aoh [~aki@adsl-99-115.netplaza.fi] has joined #scheme 12:22:53 I have a special dictionary called "globals" that stores global variables. If I do `(define h 1)' I can explicitly query for the value of :h in globals... Or I just could write `h RET' in the REPL... So `:something' quotes something to be an interned symbol... 12:23:01 -!- aoh [~aki@adsl-99-115.netplaza.fi] has quit [Read error: Connection reset by peer] 12:23:45 dostoyevsky: which scheme is that? 12:23:52 Mine... 12:24:19 choas [~lars@p5792C856.dip.t-dialin.net] has joined #scheme 12:24:25 dostoyevsky: link? 12:24:41 :h is always :h 12:25:39 The thing is if I write (define h 1) "h" is interpreted by define as an interned symbol... So one does not need to quote it... 12:26:05 But maybe there's a more scheme-y way.. 12:26:19 soveran: https://github.com/sck/schemejit 12:26:59 soveran: I am not sure if it ever will be ready to use for others.. 12:27:31 dostoyevsky: cool, thanks 12:27:57 -!- yin [~wy@182.132.201.101] has quit [Quit: Leaving] 12:32:10 dostoyevsky: it's wrong. "h" is not interpreted by define. It's read by the reader and interned as a symbol by the reader. define, whatever it is, gets a symbol and an expression from the reader. 12:33:21 (define eval (lambda (form env) (cond ((not (pair? form)) ...) ((eqv? 'define (car form)) (define-a-variable-in-environment (cadr form) (eval (caddr form) env) env)) ...))) 12:37:19 -!- spark_ [~spark@123.147.247.114] has quit [Quit: Leaving] 12:40:43 pjb: Ok.. what I meant is that h is not evaled... It's taken literally... but when you do `(hash-get hash key)' `key' will be evaled... and :key is a way around this 12:40:51 genieliu [~genieliu@59.78.62.120] has joined #scheme 12:41:15 It is not. :key is also evaluated. 12:41:20 The value of :key is :key. 12:41:32 (cadr form) 12:41:34 v 12:41:41 (eval (caddr form) env) 12:42:40 (cadr form) is taken literally by define... 12:43:10 Yes. 12:45:57 But in a case like a normal call to `(hash-get globals h)' hash-get could not know whether h is a literal or should be evaled... :h is the way around this.. 12:47:00 dostoyevsky: You don't know lisp :-( 12:47:15 The evalution rule only depends on the first symbol in a list! 12:47:16 That's right.. 12:47:19 What is hash-get? 12:47:26 Is it a special operator? Is it a macro? 12:47:45 If it's a function then everything in the list gets evaluated. Period. 12:47:47 It's a FFI to a c-function.. 12:48:05 FFI is bad. Forget it. Write everything in lisp or scheme. 12:49:01 Writing a scheme interpreter in scheme is boring IMHO... 12:49:10 So I am writing it in c 12:50:25 dostoyevsky: not at all ;) it all depends on what you take as a given 12:50:56 dostoyevsky: yes, it's too easy to write scheme in scheme. You need a single page of code. 12:51:42 (let loop () (display (eval (read) (the-environment))) (loop)) :P 12:55:14 pnkfelix [~Adium@c-71-225-165-188.hsd1.pa.comcast.net] has joined #scheme 12:55:14 -!- pnkfelix [~Adium@c-71-225-165-188.hsd1.pa.comcast.net] has quit [Client Quit] 12:57:20 (define-a-variable-in-environment (cadr form) (eval (caddr form) env)) 12:58:42 How would you call define-a-variable-in-environment when wanting to use a literal instead of (cadr form).... Let's say you didn't want to (define h 1) but call define-a-variable-in-environment directly with h 12:59:06 That's what :h does for me... 13:00:25 `(define h 1)' is basically like calling `(define-a-variable-in-environment :h 1)' 13:02:25 dostoyevsky: why not (define-... 'h 1)? isn't that what symbols are for? 13:02:35 why would you need a keyword here? 13:02:36 -!- amoe [~amoe@cpc3-brig16-2-0-cust858.3-3.cable.virginmedia.com] has quit [Quit: leaving] 13:02:49 (why would you need a keyword anyway ;) 13:03:19 True... it's basically the same.. 13:03:46 -!- choas [~lars@p5792C856.dip.t-dialin.net] has quit [Ping timeout: 264 seconds] 13:04:20 I think I just reinvented quote under a different name.. :) 13:10:59 -!- mmc [~michal@93.56.118.36] has quit [Quit: Leaving.] 13:14:09 mmc [~michal@93.56.118.36] has joined #scheme 13:15:28 dostoyevsky: BTW, what is the purpose of your work on this Scheme implementation? 13:17:21 -!- masm [~masm@bl15-76-171.dsl.telepac.pt] has quit [Ping timeout: 260 seconds] 13:18:04 pbusser2: hmmm... I wanted to learn more about R and boost... So I thought trying to write a jit would give me enought interestint problems... 13:18:33 And I thought that scheme would be easy enough to implement as a language 13:19:09 It's basically long-term jit optmizations 13:21:38 And using boost and R for solving graph problems... and the scheme vm for generating the data 13:25:49 -!- framling [~pete@cpe-74-64-94-88.hvc.res.rr.com] has quit [Read error: Connection reset by peer] 13:25:58 framling [~pete@cpe-74-64-94-88.hvc.res.rr.com] has joined #scheme 13:27:07 Currently if I execute a program like ``./bench.scm'' it will automatically create a file called .perf.. and it it's basically full of performance data... If I start ./bench.scm the next time, the data is still there... so the jit doesn't have another warmup phase like others would have... if bench.scm as a different changed-time the *.perf is deleted though.. 13:37:32 bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has joined #scheme 13:38:13 imphasing [~Alex@97-80-157-169.dhcp.gwnt.ga.charter.com] has joined #scheme 13:44:37 MrFahrenheit [~RageOfTho@users-146-176.vinet.ba] has joined #scheme 13:45:17 dostoyevsky: I see. Sounds interesting. 13:50:45 smtlaissezfaire_ [~smtlaisse@76.15.192.54] has joined #scheme 13:53:09 *imphasing* took his fib(30) runtime from 13 minutes to 35 seconds 13:53:19 So happy :D 14:01:39 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.] 14:04:54 imphasing, mine is 4 secs 14:04:55 :) 14:04:56 in JS 14:05:21 That's because you're cooler :P 14:05:27 -!- smtlaissezfaire_ [~smtlaisse@76.15.192.54] has quit [Quit: smtlaissezfaire_] 14:05:40 seriously, it's easier to target a HLL than make an interpreter in C 14:05:40 Mine is using a recursive evaluator + parser, and there's basically no opimization besides screwing with my internal types 14:05:56 This is C# also, so maybe a little overhead there with methods that can't be inlined, etc. 14:06:00 imphasing, how do you resolve lexical bindings? 14:06:25 weirdo: I create a new environment each binding gexpression and make the previous it's parent 14:06:42 Then check from the newest -> oldest for bindings 14:06:51 imphasing, at compilation or eval stage? 14:06:55 This is also how my closures in lambdas work, which could be improper.. 14:07:01 Eval, I don't compile anything yet 14:07:05 I might consider that at some point.. 14:07:07 imphasing, it *is* omproper 14:07:26 closures ought to contain their bindings (see cell reintroduction or sth) and a function 14:07:42 cool imphasing, I remember when IronScheme too 2-3 minutes to bootstrap, now less than 7 seconds :) 14:07:43 i forgot how the term is called 14:07:50 s/too/took/ 14:08:13 weirdo: I pass the environment with the bindings to the lambda when it's called, vs. capturing when it's created, I'm not sure the proper way :/ 14:08:17 but ironscheme compiles to .NET IL 14:08:19 leppie: IronScheme is really cool :D 14:08:26 thanks imphasing :) 14:08:29 imphasing, yes 14:08:38 you'll figure it out 14:08:40 I've considered targetting IL as well, but that sounds hard 14:08:42 in JS it's dead simple :( 14:09:11 your impl has no future unless you target IL, imo 14:09:12 weirdo: that was even when it compiled to IL already, just many many days and months of picking out worthwhile optimizations 14:09:42 leppie, is the author of ironscheme here? 14:09:44 imphasing: something like the CCI could be useful 14:09:51 weirdo: I am the auther 14:09:54 author 14:09:57 leppie, wow, nice! 14:10:05 -!- dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has quit [Quit: dnolen] 14:10:07 weirdo: I don't anticipate much future, it's just a learning project for me :) 14:10:16 well except for the original DLR parts and psyntax 14:10:27 leppie: You're awesome :D 14:10:31 Inspiring :P 14:10:52 \o/ 14:13:10 So is the proper way to capture free vars when the lambda is first called, or maybe on creation? Or should it always reference the same environment it was created in, but have a new env for it's local args? 14:13:53 I've considered copying the whole env structure to the lambda as soon as I see a call to the primitive that creates lambdas.. but that doesn't seem to go with what schemes generally do 14:14:48 aisa [~aisa@173-10-243-253-Albuquerque.hfc.comcastbusiness.net] has joined #scheme 14:14:56 classes are the poor man's closures :) but I dont think that would work well in an interpreter scenario 14:15:09 imphasing, creation might be different than what you mean 14:15:21 creation is when (lambda ...) is called 14:15:36 Right, lambda is my primitive that returns a callable lambda object 14:15:41 also, lambdas without free vars don't need the lexenv part 14:15:46 except for global one 14:16:01 I don't check for free vars anyway, I just copy the whole env.. walking the AST seems like it might be slower 14:16:07 Although that would allow me to build-in memoization 14:16:14 yay, my numerical tower works! 14:16:19 42+1i 14:16:25 weirdo: but what if that lambda needs some of it's variables to be lifted? 14:16:50 leppie, put them inside a pointer, and reference all calls in the outer scope as that double-pointer 14:16:50 Esh, numerical tower.. every number in my scheme is a BigInteger :P 14:17:00 Decimals? Who needs 'em. 14:17:04 imphasing, i handle overflows 14:17:08 and flonums 14:17:14 and ratios, and complexes 14:17:22 all this in JS :P 14:17:22 I don't think my scheme is going to be very standard compliant hehe 14:17:32 Those sound hard to parse, and my regex tokenizer might have a hard time 14:17:47 don't do regexp, handle the first char 14:17:47 -!- drdo [~drdo@199.119.226.161] has quit [Quit: ZNC - http://znc.sourceforge.net] 14:17:54 like a lisp reader is supposed to 14:18:03 and pass the char and stream to a handler 14:18:07 I went for a yacc style parser for numbers 14:18:35 leppie: I've considered using ANTLR or something to generate my tokenizer/parser.. might give me some more flexibility 14:18:39 Or another parser generator 14:18:50 numbers are relatively simple 14:18:55 no need to do stuff like that 14:18:56 https://ironscheme.svn.codeplex.com/svn/IronScheme/IronScheme/Compiler/NumberParser.y & https://ironscheme.svn.codeplex.com/svn/IronScheme/IronScheme/Compiler/NumberLexer.lex 14:18:56 http://tinyurl.com/8rrq26 14:18:57 http://tinyurl.com/4xfubcd 14:19:30 leppie: Ooooh cool :D 14:20:01 Do you guys have a special nil type or something in your schemes? I just check for empty lists and treat that as my nil basically :/ 14:20:12 null? just checks for an empty list right now 14:20:15 i use null 14:20:36 Makes sense haha 14:21:27 if you have a statically typed language, it would probably be better to define a type for that, or a special instance of a type 14:21:52 Yeah, a singleton might be a good thing here.. 14:21:55 amoe [~amoe@cpc3-brig16-2-0-cust858.3-3.cable.virginmedia.com] has joined #scheme 14:22:00 although I guess null is one, in a sense 14:22:27 for booleans I just use 2 boxed bools, so (if ...) just checks for test == boxed false value, pointer equality 14:22:43 != rather :) 14:23:45 Yeah, I use a wrapped bool: https://github.com/imphasing/schemin/blob/master/src/Schemin/Schemin.AST/ScheminBool.cs 14:23:46 http://tinyurl.com/3hgopez 14:24:12 My primitives are all lambdas :P 14:24:37 i have a singleton 14:24:44 for '() 14:24:56 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 14:25:00 you should make sure you only have 2 instance of that type ever floating around, eliminates the need for doing that terribly slow Equals :) 14:25:23 leppie: Hm, that's a good idea.. 14:25:26 or a singleton for each value of bool 14:25:44 and create them via a factory or something 14:26:26 My profiling is showing that my recursive environment walking code is taking 15% of my runtime, so I think that's a good bet for what to tackle next 14:26:48 That might be a bit unavoidable though, I can make it non-recursive at least 14:27:15 homie [~levgue@xdsl-78-35-166-32.netcologne.de] has joined #scheme 14:27:39 I do several 'micro' optimization passes over my entire AST, the overhead is not bad, it only the creation part that is slow 14:28:15 leppie: Do you have any built-in memoization for lambdas without free vars? 14:28:16 I also do some optimization while creating the AST 14:28:23 nope 14:29:20 pnkfelix [~Adium@c-71-225-165-188.hsd1.pa.comcast.net] has joined #scheme 14:29:57 have a look at ironscheme.boot.dll in ILSpy (dont use Reflector), and you will see, I try to make the (decompiled) output similar to C# 14:30:15 nothing funny 14:30:46 list constants and stuff like that is created only once and then referenced from where ever it is called 14:30:55 *imphasing* holds on to his free copy of reflector just to spite redgate 14:31:03 Ah, that's a good idea 14:31:12 Reflector is seriously buggy 14:31:29 http://xacc.wordpress.com/ 14:31:33 I always have the feeling that when I do performance analysis, it's always the GC that eats most of the time.... 14:32:03 but maybe I am generating too many objects... 14:32:16 leppie: Whoa, cool.. never heard of that :O 14:32:20 Looks sweet :D 14:32:35 I think .NET tries to run it's GC on a seperate (hardware) thread if possible 14:32:46 for non-server, yeah 14:32:51 it does background GC 14:33:02 unless you turn it off 14:33:32 leppie: That's an interesting idea... I want to do that too if I can get the CAS work... 14:33:52 I used to enabled that setting, it cuts down the number of GC's by a factor of 10, but my tests did in fact show it was slower that using the 'default' (whatever that may be) 14:34:26 dostoyevsky: CAS ? 14:35:10 as in .NET CAS, else I dont know :) 14:35:25 http://en.wikipedia.org/wiki/Compare-and-swap 14:35:53 well 14:36:03 *leppie* tries to stay far away from anything that looks like it has to do with threading :) 14:36:09 if it cuts down the amount of gcs, it's gonna be faster or very large data sets 14:37:02 weirdo: memory consumption was much more using server GC, even just for app start 14:37:20 It's cool because you only need to program locks for when you want to change things... The rest is handled by the CPU... But it's a spinlockig mechanism, so contention is expensive.. You need to avoid it 14:37:25 it felt like it introduced some latency, which is ok for a server, but not interaction 14:37:50 dostoyevsky: I also avoid slow stuff, generally 14:37:58 i once tried a spinlock on the GPU, with hilarious results 14:37:58 :D 14:38:30 that would be a silly waste of resources 14:38:41 f8ld [~f8l@81.219.86.86] has joined #scheme 14:39:35 My next paid project will be about GPU programming in C. :-) 14:40:16 -!- f8l [~f8l@87-205-62-27.adsl.inetia.pl] has quit [Ping timeout: 258 seconds] 14:40:47 -!- f8ld is now known as f8l 14:41:01 dostoyevsky: you're doing it wrong. 14:41:12 dostoyevsky: write scheme to generate GPU code. 14:41:19 pjb: You already said that earlier... 14:41:27 I'll say everytime. 14:41:39 wrong... crazy.. and now wrong again 14:42:23 2114 Error(s) Verifying ironscheme.boot.dll... lame 14:42:29 dostoyevsky: http://www.globalnerdy.com/2007/10/11/programming-youre-doing-it-completely-wrong/ 14:42:29 http://tinyurl.com/3rgtd5o 14:42:45 I use what I get paid for... no matter what moral implication 14:42:46 but yet this assembly is 100% verifiable 14:43:24 masm [~masm@bl15-76-171.dsl.telepac.pt] has joined #scheme 14:44:08 lol pjb, but I like the emacs GPL one more :) 14:44:48 I think stallman has to commit sepuku now to keep his honor? 14:49:55 Talking about Stallman. It seems his original idea for GNU was to use Lisp as the main language. I wonder how he now feels about it, now it looks like Lisp is nowhere to be found in most of the GNU stuff. 14:50:09 -!- leo2007 [~leo@123.123.249.222] has quit [Ping timeout: 255 seconds] 14:51:27 phao [~phao@pontenova.dpi.ufv.br] has joined #scheme 14:51:43 (define pjb (lambda () (let loop () (read) (displayln "You are doing it wrong!")))) 14:52:30 dostoyevsky: Does your Scheme implementation execute that? :-) 14:53:50 pbusser2: I'm sure ARC does :) 14:54:18 pbusser2: Nope... But it makes the point clear.. :) 14:54:37 or wait, they got somethign shorter like 'wrl' 14:55:45 why do people hate inserting a \n in a string? 14:57:21 leppie: it doesn't work in Common Lisp (and therefore it is to be assumed, it never worked on any other precursor of Common Lisp). 14:58:07 leppie: in Common Lisp, you just put a newline. The lisp parser is not afraid of newlines in strings. 14:58:19 pjb: You are saying CL does not have support for escape characters in string literals? 14:58:22 -!- pnkfelix [~Adium@c-71-225-165-188.hsd1.pa.comcast.net] has quit [Quit: Leaving.] 14:58:42 Yes, you can do that, if you care about lines of code count :) 14:58:56 leppie: the CL standard reader macro for #\" escapes all the characters with \. "\n" == "n". 14:59:17 leppie: lispers know better than counting lines. 14:59:36 I am refering more about the programmer's ego :) 15:00:10 leppie: however, in CL, you can write your own reader macro to read strings. 15:00:25 that is cool though :) 15:01:20 leppie: http://paste.lisp.org/display/69905 15:01:41 That is probably the most impossible thing a user can do with scheme (particularly IronScheme, other scheme's probably supports it) 15:02:44 pjb: Luckily R6RS has all those goodies already specced :) 15:03:22 horrible for the implementor, but nice for the user 15:03:28 leppie: there's no point in specifying goodies. CL is supperior because it doesn't. What it specifies, is way for the programmer to create his own goodies. 15:04:09 that's up to the scheme committee 15:05:20 I wonder if the Scheme Steering Commitee will have anything to do with the R7RS process. I can't recall having heard any feedback from any of them on the mailing list. 15:05:46 We've gotten private feedback so far. 15:05:54 thx foof :) 15:06:23 And yay, chibi now has better numeric support than Ikarus :) 15:06:27 are minimal and real-work r7rs'es compatible? 15:06:35 can minimal be extended without changing anything already in? 15:06:43 foof: what would that be? 15:06:56 suport for precision? 15:07:57 leppie: Complex trig functions - ikarus has a bug in cos, and doesn't implement atan. 15:08:17 foof: also, when comparing it to Ikarus, does that imply Ikarus has one of the best numeric support? 15:08:36 don't complex trig fns return 2 vals? 15:09:14 No, I just like Ikarus because it loads fast. 15:09:51 weirdo: they return a single complex number 15:09:52 ahh :) 15:10:08 whoa naming files .ss in vim makes things so much easier to work with :P 15:10:11 highlighting! 15:10:39 weirdo: that is tricky shit that starts failing miserably for big or small numbers on IronScheme, no clue why :) 15:11:01 I guess 'Failed 225 of 17701 tests' is not so bad :) 15:11:05 :set ft=scheme 15:11:12 :syntax on 15:11:14 profit 15:11:27 what tests? 15:11:35 sample: ;(acos -1.0-1.234e9i) got 1.5097900349948463+13.86108157193621i, but expected 1.57079632760527+21.62667394298955i 15:11:42 weird shit 15:12:03 Close enough :) 15:12:08 leppie: what test suite is this? 15:12:10 IIRC william clinger posted it yonks ago 15:12:18 to R6RS mailing list 15:12:24 will get link to source now 15:12:53 https://ironscheme.svn.codeplex.com/svn/IronScheme/IronScheme.Console/tests/clisp-number-tests.sps 15:12:54 http://tinyurl.com/42sd87n 15:13:10 zanes [~zane@mail.barackobama.com] has joined #scheme 15:13:21 Anyway, complex numbers make the chibi library depressingly large, so I'm likely to disable it by default. 15:13:22 leppie: Maybe it's about 80-bit vs 64-bit floating point... 15:14:13 oops foof, wrong one 15:14:30 https://ironscheme.svn.codeplex.com/svn/IronScheme/IronScheme.Console/tests/trigtest.sps 15:14:30 http://tinyurl.com/3vcg9gu 15:15:15 the previous one, IronScheme does 'Failed 5 of 2476 tests' . Much better :) 15:16:36 leppie: Thanks. I'll have to adapt that to R7RS though... 15:18:41 s/module/library/ 15:18:52 oops, wrong way :) 15:20:44 plus the names of the libraries 15:21:11 -!- hkBst [~quassel@gentoo/developer/hkbst] has quit [Read error: Connection reset by peer] 15:22:53 zmv [~daniel@c95334de.virtua.com.br] has joined #scheme 15:27:50 wingo [~wingo@90.164.198.39] has joined #scheme 15:34:19 Is anyone aware of what geiser-mode's `geiser-load-file' and `geiser-load-current-buffer' functions are supposed to do? 15:34:31 They don't seem to add any new bindings to the REPL. 15:37:51 -!- mmc [~michal@93.56.118.36] has quit [Ping timeout: 255 seconds] 15:39:21 dostoyevsky: if it is that, I dont think it would ever be possible for me to keep all the operations in 80-bit, unless I write them in assembler and call that 15:39:35 choas [~lars@p5792C856.dip.t-dialin.net] has joined #scheme 15:40:26 -!- pygospa [~TheRealPy@kiel-4dbed82c.pool.mediaWays.net] has quit [Disconnected by services] 15:40:36 pygospa [~TheRealPy@kiel-5f76925c.pool.mediaWays.net] has joined #scheme 15:40:46 jewel [~jewel@196-215-16-133.dynamic.isadsl.co.za] has joined #scheme 15:40:49 yin [~wy@182.132.201.101] has joined #scheme 15:41:21 mmc [~michal@93.56.118.36] has joined #scheme 15:42:06 -!- yin [~wy@182.132.201.101] has quit [Client Quit] 15:50:54 -!- rstandy [~rastandy@93-63-185-248.ip29.fastwebnet.it] has quit [Ping timeout: 255 seconds] 15:55:36 kuribas [~user@d54C43831.access.telenet.be] has joined #scheme 16:01:53 -!- gravicappa [~gravicapp@ppp91-77-185-89.pppoe.mtu-net.ru] has quit [Ping timeout: 250 seconds] 16:06:37 -!- pygospa [~TheRealPy@kiel-5f76925c.pool.mediaWays.net] has quit [Disconnected by services] 16:06:46 -!- choas [~lars@p5792C856.dip.t-dialin.net] has quit [Ping timeout: 264 seconds] 16:06:46 pygospa [~TheRealPy@kiel-5f77b62a.pool.mediaWays.net] has joined #scheme 16:07:14 -!- misterncw [~misterncw@82.71.241.25] has quit [Remote host closed the connection] 16:07:25 leppie: It's a global flag in the CPU IIRC... but if the test is really using floating point numbers of the CPU than it shouldn't test for them like they are doing... These numbers are merely approximations of something and the literal result might be different on other platforms... 16:07:37 -!- genieliu [~genieliu@59.78.62.120] has quit [Quit: Lost terminal] 16:09:18 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 16:10:46 soveran [~soveran@186.19.214.247] has joined #scheme 16:15:02 gravicappa [~gravicapp@ppp91-77-215-245.pppoe.mtu-net.ru] has joined #scheme 16:16:20 HG` [~HG@p5DC04BBE.dip.t-dialin.net] has joined #scheme 16:17:03 -!- Nisstyre [~nisstyre@infocalypse-net.info] has quit [Ping timeout: 250 seconds] 16:20:44 leo2007 [~leo@222.130.128.231] has joined #scheme 16:28:37 dostoyevsky: Actually, there is a "strict" mode (like StrictMath in Java) that is supposed to give reproducible, consistent results across all platforms. 16:28:54 dostoyevsky: In StrictMath's case, they base all their results on a specific version of fdlibm. 16:29:20 dostoyevsky: i.e., all conformant Java implementations must implement StrictMath exactly as that version of fdlibm does it, no matter what the hardware might natively do. 16:34:50 jonrafkind [~jon@crystalis.cs.utah.edu] has joined #scheme 16:47:28 -!- phao [~phao@pontenova.dpi.ufv.br] has quit [Quit: Leaving] 16:56:44 jimster [~jimster@jimster.org] has joined #scheme 17:04:47 -!- zmv [~daniel@c95334de.virtua.com.br] has quit [Ping timeout: 240 seconds] 17:04:49 -!- jrapdx [~jra@c-98-246-157-58.hsd1.or.comcast.net] has quit [Quit: Leaving] 17:04:51 -!- dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has quit [Ping timeout: 276 seconds] 17:10:31 phax [~phax@adsl-68-73-148-217.dsl.ipltin.ameritech.net] has joined #scheme 17:10:31 -!- phax [~phax@adsl-68-73-148-217.dsl.ipltin.ameritech.net] has quit [Changing host] 17:10:31 phax [~phax@unaffiliated/phax] has joined #scheme 17:12:45 -!- DT`` [~Feeock@net-93-149-43-131.cust.dsl.teletu.it] has quit [Read error: Connection reset by peer] 17:18:49 Intensity [lpsJvkyqT2@unaffiliated/intensity] has joined #scheme 17:21:35 Hmm... does set! reference the global env always, or whatever environment has the first bound atom with that symbol, walking from child to parent? 17:24:15 imphasing: set! is evaluated in the environment where it is evaluated. 17:24:50 (define x 42) (let ((x 2)) (set! x (+ x 2))) ; the environment where set! is evaluated is one where x is a local lexical variable bound to 2. 17:24:55 -!- phax [~phax@unaffiliated/phax] has quit [Quit: Leaving] 17:25:11 Oh, so I shouldn't walk to parent environment with set, it only affects the calling env and only works if that symbol is already defined? 17:25:31 pjb: Thanks :) 17:26:13 Yes. You must define variables with define or let (or similar) before using set! on them. 17:26:34 Ah, that's why set doesn't work.. it's evaluating the symbol argument :P 17:26:41 Yeah, (set! 2 10) isn't happening 17:26:55 No, it's not evaluating it, buut it expects a variable with that name to be defined already. 17:27:26 rudybot_: (let ((x 42)) (let-syntax ((inc-x! (syntax-rules ((val) (set! x (+ x val))))) (let ((x 2)) (inc-x! 2) (display x)))) 17:27:27 cky: So I'm still rather lost, X bindings to say 104 still don't help because I don't know which physical key 104 is for example 17:27:31 rudybot_: eval (let ((x 42)) (let-syntax ((inc-x! (syntax-rules ((val) (set! x (+ x val))))) (let ((x 2)) (inc-x! 2) (display x)))) 17:27:31 cky: error: eval:1:0: read: expected a `)' to close `(' 17:28:33 Oops. 17:28:36 rudybot_: eval (let ((x 42)) (let-syntax ((inc-x! (syntax-rules ((val) (set! x (+ x val)))))) (let ((x 2)) (inc-x! 2) (display x)))) 17:28:36 cky: error: eval:1:35: syntax-rules: bad syntax in: (syntax-rules ((val) (set! x (+ x val)))) 17:28:49 rudybot_: eval (let ((x 42)) (let-syntax ((inc-x! (syntax-rules () ((val) (set! x (+ x val)))))) (let ((x 2)) (inc-x! 2) (display x)))) 17:28:49 cky: error: eval:1:95: inc-x!: bad syntax in: (inc-x! 2) 17:28:58 rudybot_: eval (let ((x 42)) (let-syntax ((inc-x! (syntax-rules () ((_ val) (set! x (+ x val)))))) (let ((x 2)) (inc-x! 2) (display x)))) 17:28:58 cky: ; stdout: "2" 17:29:02 Thank you. :-) 17:29:19 imphasing: I wanted to write the above to mention another point to you. 17:29:39 set! applies to the variable "at the point it appears". 17:29:53 In this case, the inc-x! macro includes a set! call, but it applies to the outer x, not the inner one. 17:30:06 Whereas the (display x) applies to the inner one, hence it prints 2, not 44. 17:30:13 (and not 4 either.) 17:31:56 Ohhhh... hmm 17:32:03 Okay, cool 17:32:06 Thanks :D 17:32:31 More extended example: 17:33:55 rudybot_: eval (let ((x 1) (y 2)) (let-syntax ((inc-x! (syntax-rules () ((_ y) (set! x (+ x y)) (display x))))) (let ((x 3) (y 4)) (inc-x! y) (display x)))) 17:33:56 cky: error: eval:1:40: syntax-rules: bad syntax in: (syntax-rules () ((_ y) (set! x (+ x y)) (display x))) 17:34:28 rudybot_: eval (let ((x 1) (y 2)) (let-syntax ((inc-x! (syntax-rules () ((_ y) (begin (set! x (+ x y)) (display x)))))) (let ((x 3) (y 4)) (inc-x! y) (display x)))) 17:34:28 cky: ; stdout: "53" 17:34:55 imphasing: Can you explain that particular output? :-D 17:35:16 (Once you get it, you understand a very important feature of Scheme macros, referential transparency.) 17:35:52 Scheme macros escape me pretty hard right now, but I'm thinking it's because the environment the macro is called in isn't the same as the one it returns to? 17:35:59 Nisstyre [~nisstyre@infocalypse-net.info] has joined #scheme 17:36:01 -!- Nisstyre [~nisstyre@infocalypse-net.info] has quit [Max SendQ exceeded] 17:36:44 Nisstyre [~nisstyre@infocalypse-net.info] has joined #scheme 17:37:03 -!- leo2007 [~leo@222.130.128.231] has quit [Quit: rcirc on GNU Emacs 23.3.50.1] 17:38:50 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Read error: Connection reset by peer] 17:40:53 I've at least got (let ((x 2)) (begin (set! x (+ x 2)) (dumpenv))) working correctly with my envs, dumpenv is a debugging function 17:41:00 betta_y_omega [~betta_y_o@90.166.231.220] has joined #scheme 17:45:27 DT`` [~Feeock@net-93-149-43-131.cust.dsl.teletu.it] has joined #scheme 17:47:23 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 17:49:28 -!- kuribas [~user@d54C43831.access.telenet.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 18:03:13 alexshendi [~alexshend@dslb-178-002-226-220.pools.arcor-ip.net] has joined #scheme 18:09:38 rstandy [~rastandy@net-2-32-234-43.cust.dsl.teletu.it] has joined #scheme 18:17:25 jrapdx [~jra@74-95-41-205-Oregon.hfc.comcastbusiness.net] has joined #scheme 18:19:56 -!- tessier [~treed@kernel-panic/copilotco] has quit [Ping timeout: 252 seconds] 18:28:08 phax [~phax@adsl-68-73-148-217.dsl.ipltin.ameritech.net] has joined #scheme 18:28:08 -!- phax [~phax@adsl-68-73-148-217.dsl.ipltin.ameritech.net] has quit [Changing host] 18:28:08 phax [~phax@unaffiliated/phax] has joined #scheme 18:32:11 -!- rstandy [~rastandy@net-2-32-234-43.cust.dsl.teletu.it] has quit [Ping timeout: 258 seconds] 18:40:50 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 252 seconds] 18:42:33 -!- Nshag [user@chl45-1-88-123-84-8.fbx.proxad.net] has quit [Ping timeout: 250 seconds] 18:43:53 Nshag [user@chl45-1-88-123-84-8.fbx.proxad.net] has joined #scheme 18:46:54 -!- soveran [~soveran@186.19.214.247] has quit [Remote host closed the connection] 18:49:00 imphasing: yes, it's a shame of scheme that it's macros are so difficult that they're out of reach of the casual programmer. 18:49:48 I don't know, that shame makes lispy macros AWESOME too :D 18:50:02 I can make scheme interpret XML, how cool is that? 18:54:38 imphasing: ...pjb's comment is about...something _else_. 18:54:56 imphasing: pjb is a CLer and he's making a dig at Scheme macros (as contrasted to CL macros). :-P 18:55:17 Ahh... I guess I don't know enough scheme or lisp to tell the difference :P 18:55:23 choas [~lars@p5792C856.dip.t-dialin.net] has joined #scheme 18:55:29 imphasing: Scheme macros are very, very different to CL macros. 18:55:40 I would think they would be simpler? 18:55:45 CL seems like a lot of layers on top of scheme 18:57:32 imphasing: well, you can implement scheme in CL too. But if you consider lambda calculus (as low level) and Common Lisp (as high level), then yes, scheme is in between. 19:01:33 -!- phax [~phax@unaffiliated/phax] has quit [Quit: Leaving] 19:05:18 -!- DT`` [~Feeock@net-93-149-43-131.cust.dsl.teletu.it] has quit [Ping timeout: 255 seconds] 19:15:43 17SAA2NNG [~hussaibi@CPE00222d3a5d80-CM00222d3a5d7c.cpe.net.cable.rogers.com] has joined #scheme 19:15:43 45PAAE241 [~hussaibi@CPE00222d3a5d80-CM00222d3a5d7c.cpe.net.cable.rogers.com] has joined #scheme 19:16:11 -!- f8l [~f8l@81.219.86.86] has quit [Ping timeout: 240 seconds] 19:17:37 DT`` [~Feeock@net-93-149-59-132.cust.dsl.teletu.it] has joined #scheme 19:19:42 -!- pygospa [~TheRealPy@kiel-5f77b62a.pool.mediaWays.net] has quit [Ping timeout: 255 seconds] 19:21:44 f8l [~f8l@178-37-178-105.adsl.inetia.pl] has joined #scheme 19:24:44 -!- 45PAAE241 [~hussaibi@CPE00222d3a5d80-CM00222d3a5d7c.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 19:25:23 hussaibi_ [~hussaibi@CPE00222d3a5d80-CM00222d3a5d7c.cpe.net.cable.rogers.com] has joined #scheme 19:34:06 -!- jewel [~jewel@196-215-16-133.dynamic.isadsl.co.za] has quit [Ping timeout: 255 seconds] 19:37:44 -!- zanes [~zane@mail.barackobama.com] has quit [Ping timeout: 258 seconds] 19:37:51 soveran [~soveran@186.19.214.247] has joined #scheme 19:39:20 -!- alexshendi [~alexshend@dslb-178-002-226-220.pools.arcor-ip.net] has quit [Quit: Verlassend] 19:40:41 zanes [~zane@mail.barackobama.com] has joined #scheme 19:46:06 -!- f8l [~f8l@178-37-178-105.adsl.inetia.pl] has quit [Ping timeout: 252 seconds] 19:56:37 -!- hussaibi_ [~hussaibi@CPE00222d3a5d80-CM00222d3a5d7c.cpe.net.cable.rogers.com] has quit [Ping timeout: 250 seconds] 19:56:40 bgs100 [~ian@unaffiliated/bgs100] has joined #scheme 19:58:54 -!- homie [~levgue@xdsl-78-35-166-32.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:00:34 hussaibi_ [~hussaibi@CPE00222d3a5d80-CM00222d3a5d7c.cpe.net.cable.rogers.com] has joined #scheme 20:01:53 -!- zanes [~zane@mail.barackobama.com] has quit [] 20:05:45 -!- HG` [~HG@p5DC04BBE.dip.t-dialin.net] has quit [Quit: HG`] 20:15:44 hmmm... how could i determine that a function like: `(define fib (lambda (n) (if (< n 2) n (+ (fib (- n 1)) (fib (- n 2))))))' is not tail recursive? 20:19:08 the call to itself is not the last thing it does: it has to do the addition after that. 20:20:52 kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has joined #scheme 20:22:52 confab [180a3cb9@gateway/web/freenode/ip.24.10.60.185] has joined #scheme 20:25:55 -!- hussaibi_ [~hussaibi@CPE00222d3a5d80-CM00222d3a5d7c.cpe.net.cable.rogers.com] has quit [Ping timeout: 260 seconds] 20:26:02 -!- 17SAA2NNG [~hussaibi@CPE00222d3a5d80-CM00222d3a5d7c.cpe.net.cable.rogers.com] has quit [Ping timeout: 258 seconds] 20:33:27 imphasing: Have you released some XML-reading macros? 20:33:37 klutometis: heh, nope 20:36:00 -!- csdwifi [~csdwifi@76.177.215.56] has quit [Quit: Leaving] 20:43:10 imphasing: That would be kind of cool, though; right now, there's some sort of expensive XML-to-SEXP translation. 20:48:31 Hm, I figured someone would have made something like that by now.. maybe if I get to know macros some more I can try to parse XML with a macro :) 20:48:48 imphasing: Oh, ok; I thought you had written something. 20:49:53 I guess you're referring to something different than SSAX? 20:50:20 -!- aisa [~aisa@173-10-243-253-Albuquerque.hfc.comcastbusiness.net] has quit [Quit: aisa] 20:51:46 sed? 20:52:02 ok, now I'm *really* confused 20:54:37 phax [~phax@adsl-68-73-148-217.dsl.ipltin.ameritech.net] has joined #scheme 20:54:46 -!- phax [~phax@adsl-68-73-148-217.dsl.ipltin.ameritech.net] has quit [Changing host] 20:54:46 phax [~phax@unaffiliated/phax] has joined #scheme 20:55:05 -!- phax [~phax@unaffiliated/phax] has quit [Read error: Connection reset by peer] 20:55:05 -!- imphasing is now known as imphasing|home 20:55:05 -!- choas [~lars@p5792C856.dip.t-dialin.net] has quit [Ping timeout: 260 seconds] 20:55:50 pygospa [~TheRealPy@kiel-4dbecabb.pool.mediaWays.net] has joined #scheme 21:00:21 -!- kilimanjaro [~kilimanja@unaffiliated/kilimanjaro] has quit [Ping timeout: 246 seconds] 21:10:39 sjamaan: SSAX isn't expensive? It's probably not; I'm being unfair. 21:11:19 no, it isn't AFAIK 21:11:32 At least not significantly more expensive than other XML parsers 21:14:24 DT``: Makes sense... but it's difficult to determine for me in eval.. whether the current call is the final one.. 21:14:38 -!- gravicappa [~gravicapp@ppp91-77-215-245.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 21:16:38 dostoyevsky: it's rather easy to determine. You don't even have to think about it: it's specified in r5rs. If you didn't even took the pain to read 50 FUCKING PAGES!, why should we take the pain to help you? 21:17:31 pjb: Why do you need this channel if everything is explained in your documents and links? 21:17:46 It's bogus 21:18:29 dostoyevsky: some thing are not specified in 50 pages, or you may have question about what is written there. But you are clearly showing your lack of homework. 21:18:50 pjb: This is not school. 21:19:03 None the less. You are not paying us. 21:19:09 dostoyevsky: You do ask some questions that are obvious from reading R5RS and some papers or implementations 21:19:22 ASau [~user@176.14.33.178] has joined #scheme 21:19:26 sjamaan: Ok, fair enough.. 21:19:42 I am sorry for bothering you with my crap 21:19:53 And hope it's over soon 21:22:02 Just go read r5rs and come back with interesting questions. 21:23:08 pjb: I already know your answer: I am doing it wrong.. 21:23:28 dostoyevsky: it's not my answer, it's the creator of LISP's answer! 21:34:15 drdo [~drdo@199.119.226.162] has joined #scheme 21:41:18 -!- mmc [~michal@93.56.118.36] has quit [Quit: Leaving.] 21:47:24 dostoyevsky, after CPS-xform it's easy to determine which call is last 21:50:44 pothos_ [~pothos@111-240-172-223.dynamic.hinet.net] has joined #scheme 21:51:45 weirdo, but *every* call is last! 21:52:50 -!- pothos [~pothos@111-240-165-1.dynamic.hinet.net] has quit [Ping timeout: 260 seconds] 21:53:02 -!- pothos_ is now known as pothos 21:55:32 pjb: Also, if you don't like my questions, just ignore them... Otherwise you are just wasting your unpaid time.. 21:55:57 weirdo: Yeah, I think that might be the right path... 22:03:36 dostoyevsky: pjb has a point: what constitutes tail calls is pretty clearly spelt out in R5RS: http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-2.html#%_toc_%_sec_3.5 22:03:37 http://tinyurl.com/3suddvv 22:04:25 dostoyevsky: Any position listed as in the rules specified may contain a tail call. Any calls outside of those positions are not tail calls. 22:05:04 cky: All it does is specifying a grammar to define what tail recursion is... 22:05:18 in the context of scheme... 22:06:54 Fair enough, it answers one of the questions I had before.. But I already answered that myself.. and DT`` did too.. I just didn't read the fib code properly... 22:07:56 Recognizing it in my code, is a different problem however... And weirdo's CPS thing is actually what I would need 22:15:37 Riastradh [~riastradh@fsf/member/riastradh] has joined #scheme 22:19:15 -!- DT`` [~Feeock@net-93-149-59-132.cust.dsl.teletu.it] has quit [Ping timeout: 255 seconds] 22:19:34 kuribas [~user@d54C43831.access.telenet.be] has joined #scheme 22:25:37 zanes [~zane@mail.barackobama.com] has joined #scheme 22:31:53 DT`` [~Feeock@net-93-149-46-58.cust.dsl.teletu.it] has joined #scheme 22:37:32 -!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has quit [Quit: Computer has gone to sleep.] 22:37:47 dsmith [~dsmith@cpe-184-56-129-232.neo.res.rr.com] has joined #scheme 22:40:16 -!- wsimpson [~wsimpson@76.73.221.195] has quit [Ping timeout: 260 seconds] 22:43:18 -!- wingo [~wingo@90.164.198.39] has quit [Ping timeout: 276 seconds] 22:43:19 -!- drdo [~drdo@199.119.226.162] has quit [Quit: ZNC - http://znc.sourceforge.net] 22:48:31 turbofail [~user@c-107-3-149-149.hsd1.ca.comcast.net] has joined #scheme 23:06:07 pandeiro [~pandeiro@187.105.248.53] has joined #scheme 23:10:22 -!- tali713 [~tali713@c-75-72-220-197.hsd1.mn.comcast.net] has quit [Quit: ZNC - http://znc.sourceforge.net] 23:13:36 tessier [~treed@216.105.40.125] has joined #scheme 23:19:41 copumpkin [~pumpkin@209-6-232-56.c3-0.sbo-ubr1.sbo.ma.cable.rcn.com] has joined #scheme 23:19:44 -!- copumpkin [~pumpkin@209-6-232-56.c3-0.sbo-ubr1.sbo.ma.cable.rcn.com] has quit [Changing host] 23:19:44 copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #scheme 23:20:48 hypercube32 [~hypercube@231.125.189.72.cfl.res.rr.com] has joined #scheme 23:22:39 -!- kuribas [~user@d54C43831.access.telenet.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:25:19 Check this out: it's a modernized SICP: . 23:25:51 They actually redid the math in TeX; redid the drawings vectorly. 23:26:22 I wish they would use the term `PDF' or something instead of `ebook'. I want to kill `ebook'. 23:26:51 -!- zanes [~zane@mail.barackobama.com] has quit [] 23:27:25 What if it's available in pdf, ps and html? 23:30:11 Well, then they can use those terms. 23:31:22 But `ebook' is unspecific, and in most usage these days comes with such misfeatures as DRM and remote kill switches, as far as I know. 23:32:21 Such is often the case, and I hate the word itself, but a lexicalization of "electronic format" is desirable. 23:32:48 "Online book" would be better, even if it can be read offline. 23:34:23 zmv [~daniel@c95334de.virtua.com.br] has joined #scheme 23:42:47 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 240 seconds] 23:43:50 dRbiG [p@bofh.edu.pl] has joined #scheme 23:43:54 preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #scheme 23:44:47 -!- d2biG [p@bofh.edu.pl] has quit [Ping timeout: 240 seconds] 23:48:26 -!- MrFahrenheit [~RageOfTho@users-146-176.vinet.ba] has quit [Ping timeout: 258 seconds] 23:51:52 phax [~phax@unaffiliated/phax] has joined #scheme 23:56:08 -!- confab [180a3cb9@gateway/web/freenode/ip.24.10.60.185] has quit [Ping timeout: 252 seconds]