00:01:07 hiyuh [n=hiyuh@ZQ062141.ppp.dion.ne.jp] has joined #scheme 00:02:54 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 00:03:56 -!- Axioplase [n=Pied@APuteaux-155-1-100-164.w90-44.abo.wanadoo.fr] has quit ["leaving"] 00:04:06 -!- attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 00:09:45 -!- ventonegro [i=alex@189-94-91-254.3g.claro.net.br] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 00:11:24 -!- JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has quit [Read error: 110 (Connection timed out)] 00:12:41 -!- hotblack23 [n=jh@p5B0548E1.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 00:17:20 -!- dereine_ [n=dereine@stud243140.studentenheim.uni-tuebingen.de] has quit ["Leaving"] 00:19:05 wastrel [n=wastrel@nylug/member/wastrel] has joined #scheme 00:19:18 bombshelter13 [n=bombshel@209-161-229-68.dsl.look.ca] has joined #scheme 00:24:47 arcfide [n=arcfide@adsl-99-14-208-195.dsl.bltnin.sbcglobal.net] has joined #scheme 00:25:02 -!- raikov` [n=igr@203.181.243.11] has quit [Remote closed the connection] 00:25:23 -!- Fare [n=Fare@ita4fw1.itasoftware.com] has quit ["Leaving"] 00:29:01 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 00:33:34 annodomini_ [n=lambda@c-75-69-95-99.hsd1.nh.comcast.net] has joined #scheme 00:38:33 raikov [n=igr@203.181.243.11] has joined #scheme 00:42:15 sili [n=sili@222.127.65.136] has joined #scheme 00:43:14 yome [n=yome@out.clearnet.com] has joined #scheme 00:44:24 Come on, Riastradh, be a little bit pragmatic. 00:45:43 *yome* closes the sarcasm tag 00:46:52 *arcfide* must have missed something good. 00:48:43 *Riastradh* blinks. 00:49:10 I must have, too. 00:49:58 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 00:50:03 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 00:50:04 -!- jonrafkind [n=jon@wireless50.wireless.utah.edu] has quit [Read error: 60 (Operation timed out)] 00:52:38 -!- melito [n=melito@70.99.250.82] has quit ["Leaving..."] 00:54:15 -!- sctb [n=sebell@S01060016cbc2d41a.cg.shawcable.net] has quit [Read error: 110 (Connection timed out)] 01:01:36 -!- bombshelter13 [n=bombshel@209-161-229-68.dsl.look.ca] has quit [] 01:02:06 bombshelter13 [n=bombshel@209-161-229-68.dsl.look.ca] has joined #scheme 01:06:59 bpt [n=bpt@cpe-071-070-209-067.nc.res.rr.com] has joined #scheme 01:09:17 *keyofnight* reads backlog and, also, misses it. 01:10:17 -!- bpt [n=bpt@cpe-071-070-209-067.nc.res.rr.com] has quit [Read error: 104 (Connection reset by peer)] 01:11:19 bpt [n=bpt@cpe-071-070-209-067.nc.res.rr.com] has joined #scheme 01:11:37 hadronzoo [n=hadronzo@gateway.publicvpn.net] has joined #scheme 01:12:57 roothorick [n=roothori@rrcs-74-87-96-159.west.biz.rr.com] has joined #scheme 01:13:29 trying to write a script-fu script to generate a UTF-8 bitmap font for a game... how would I iterate through all possible UTF-8 glyphs? 01:14:59 `UTF-8 glyph' doesn't make any sense. 01:15:25 Please read the Unicode book, or at least its third chapter, before attempting such tasks. 01:15:38 I want to cycle through all printable UTF-8 characters 01:15:46 `UTF-8 character' doesn't make any sense either. 01:16:21 nitpicking about vocabulary isn't going to get either of us anywhere. I do believe I've sufficiently explained what I'm trying to do 01:16:52 The difference between you and Riastradh is that Riastradh isn't trying to get anywhere here! 01:18:00 what are you implying? 01:18:55 Nothing, really. 01:19:31 roothorick, if you want to accomplish anything useful with Unicode, you'll have to understand at least a little of what you're talking about; otherwise you will only make the world a worse place. I could guess at what you meant (perhaps `all the glyphs in a Unicode font'), but my experience with people who use such nonsensical terminology is that they are confused and will screw something up about Unicode. 01:19:46 roothorick, also, `script-fu' is not Scheme; try #gimp or something. 01:20:49 (This is not, by the way, because understanding the concepts of Unicode is hard. Instead it's because most people apparently derive their understanding of Unicode from rumours and hearsay from other confused people, and perpetuated their confused notions without ever understanding much of Unicode as its designers and implementers do.) 01:21:00 in other words, what I can do with script-fu is limited to what the GIMP exposes? 01:21:07 in that case, it's useless to me 01:21:45 I know very little about script-fu. If there is a channel called `#gimp', there is a much greater chance that someone in there will know about it than that someone in here will. 01:23:42 after further research I've concluded I'm better off with Python. Thanks anyway 01:23:43 -!- roothorick [n=roothori@rrcs-74-87-96-159.west.biz.rr.com] has left #scheme 01:24:59 lol BURN 01:25:40 ... silly butt-hurt fag 01:25:58 minion: advice for merlincorey 01:25:58 merlincorey: #11960: So you threw in some random punctuation for no particular reason, and then you didn't get the result you expected. Hmmmm. 01:25:59 "I WILL HURT THEM WITH PYTHON" - enjoy your RETURN keyword 01:26:18 minion: advice for me 01:26:18 merlincorey: #11931: I think you are asking the wrong question here. 01:26:22 lol 01:26:28 nice one, minion 01:26:35 minion: botsnack! 01:26:35 thanks! 01:26:37 *arcfide* gives minion a botsnack. 01:26:40 you're welcome, minion 01:27:00 echo-area [n=user@cmdev1.test.cnz.alimama.com] has joined #scheme 01:27:21 Or: please try to be a little more civil, merlincorey, and to make a little more sense. 01:28:02 Riastradh: I am being completely civil, but I don't guarantee making sense 01:28:20 No, you're not being civil. 01:28:29 yes, I am, most certainly 01:28:55 I'm not interested in arguing. Please just be civil. 01:29:07 perhaps you consider use of the "burning tender" phrase to not be civil - if that is the case, please be clear and state it 01:29:14 otherwise, I am being civil and I will continue to do so 01:31:34 It shouldn't be necessary to identify to you your incivility a moment ago. You have been warned. 01:31:57 Look, I'm really not trying to be difficult, I am just trying to figure out what it is that bothered you 01:32:07 I am obviously new here so I don't quite know the culture 01:32:12 but I won't learn it if you don't tell me 01:32:31 I do make quite an effort in general to be civil, even courteous 01:32:47 a moment ago I was attempting to be "humorous" which is something I am admittedly less good at 01:33:26 no rules were presented to me upon joining that I recall... I would love to read them 01:33:32 otherwise, please spell them out so I may not transgress 01:35:28 if not... then expect me to slip up - I am only human after all. It would be uncivil of you to hold me to a standard you never show me. 01:36:50 -!- bombshelter13 [n=bombshel@209-161-229-68.dsl.look.ca] has quit ["Where is the glory in complying with demands?"] 01:39:49 wy [n=wy@c-67-176-146-7.hsd1.in.comcast.net] has joined #scheme 01:41:41 Riastradh: do you have joins and parts ignored? 01:44:34 -!- jewel [n=jewel@dsl-242-166-102.telkomadsl.co.za] has quit [Read error: 110 (Connection timed out)] 01:48:08 -!- underspecified [n=eric@softbank220043052011.bbtec.net] has quit [] 01:49:54 underspecified [n=eric@softbank220043052011.bbtec.net] has joined #scheme 01:50:41 merlincorey: Riastradh must have stepped away. Allow me to lay out the rules: pay attention to what Riastradh and I say. 01:53:28 chandler has spoken. 01:55:28 chandler: I am paying close attention; can't you tell? 01:55:35 raikov` [n=igr@203.181.243.11] has joined #scheme 01:55:45 chandler: also that is no less ambiguous... but I guess you guy's don't want to make this easy 01:55:54 -!- raikov [n=igr@203.181.243.11] has quit [Read error: 104 (Connection reset by peer)] 01:55:54 so I'll just have to guess and live in fear that humor may result in punishment 01:56:09 please use the cat of nine tails - it's my favorite 01:56:21 I frankly don't see what was funny about that. 01:56:22 (an example of bad humor) 01:56:32 ... or that. 01:57:14 well, I can only guess and assume what you mean by the first "that" and I will explain it, since you cannot see it 01:58:30 roothorick wanted help with gimp's script-fu and when Riastradh suggested he learn more about what he was doing or ask elsewhere he decided to STRIKE US IN OUR HEARTS and declaim very loudly how he was leaving us for python and THEN HE LEFT 01:58:34 very childish 01:59:00 so I very childishly, in an attempt for humor, riposted, knowing he was absent, mostly to get a chuckle out of a person or two here 01:59:16 Yes, it was your "riposte" that I don't see the humor in. 01:59:17 instead I got lambasted for *SOMETHING* that was never specified exactly and told I should be more civil 01:59:45 Generally terms such as "fag" are considered wildly inappropriate. 02:00:00 well, see, in Python, they have to explictly call "return" to return a value from a function or else None is returned 02:00:27 that's why that was funny 02:00:52 oh well, at least you mentioned it finally 02:01:07 I had an inkling that the "burning tender" term was what set Riastradh off but I never got confirmation 02:01:08 jesusito [n=jesusito@233.pool85-49-226.dynamic.orange.es] has joined #scheme 02:01:22 if euphamisms for burning tender are banned here, that is fine - I won't use them. Just needed to know that, thanks. 02:01:45 Can we please discuss Scheme here? I don't see the merit in continuing this discussion in-channel. 02:01:47 the part that was funny about that, however, was it was said tongue in cheek like a 14 year old that I suspect roothorick is 02:02:00 Riastradh: I apologize... I did ask you to /query me 02:02:28 chandler: thanks for clearing it up 02:03:06 night guys 02:03:14 -!- jesusito [n=jesusito@233.pool85-49-226.dynamic.orange.es] has quit [Client Quit] 02:03:15 we'll talk scheme tomorrow I hope :P 02:03:57 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 02:04:24 -!- wy [n=wy@c-67-176-146-7.hsd1.in.comcast.net] has quit ["Leaving"] 02:08:14 -!- ug [n=merlin@64.47.164.86] has quit ["Terminal ran away with the spoon"] 02:09:45 -!- underspecified [n=eric@softbank220043052011.bbtec.net] has quit [Connection timed out] 02:10:11 BW^- [i=Miranda@79.138.202.10.bredband.tre.se] has joined #scheme 02:11:25 BW^-4376 [i=Miranda@79.138.145.102.bredband.tre.se] has joined #scheme 02:11:31 offtopic: does anyone know any good alternative for client application database engine, aside from Berkeley DB and SQLite? 02:13:06 BW^ [i=Miranda@79.138.132.62.bredband.tre.se] has joined #scheme 02:14:14 Embedded MySQL? Apparently that's good enough for Amarok, and preferable to SQLite. 02:14:33 k 02:15:51 BW^: If you don't want to use SQL, just a key value store, Tokyo Cabinet is far preferable to BDB: http://tokyocabinet.sourceforge.net/index.html 02:16:11 gnomon: if SQLite is good enough for the iPhone, it's good enough for everyone! 02:17:15 wee! 02:17:54 -!- offby1 [n=user@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 02:19:21 chandler: is there anything just between Toky Cabinet and SQLite in extensiveness of feature set? 02:20:03 O 02:20:05 Argh., 02:20:11 I am not sure what you are looking for in between the two. 02:20:30 Either you need a relational database, or you don't. 02:20:34 essentially i'm looking for something to help me store a cache of key-value pairs on a file 02:20:57 perhaps berkeley db would be suitable, though i don't need the network replication stuff 02:20:59 What do you need that Tokyo Cabinet doesn't do? 02:21:28 tokyo cabinet's database traversal gives undefined order. 02:21:37 You're looking for an embedded relational database to store key/value pairs? 02:21:42 You're Doing It Wrong(tm). 02:21:53 tizoc_ [n=user@r190-135-29-206.dialup.adsl.anteldata.net.uy] has joined #scheme 02:21:54 BW^: That is a fundamental property of hash table databases. Use the B+ tree interface if you want a defined order. 02:22:13 right 02:22:40 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 02:22:41 Though if this truly is a cache, I don't know why defined traversal order is important. 02:23:00 it's a chronological list of things that should be stored 02:23:11 hmm. 02:23:29 -!- tizoc [n=user@r190-135-59-187.dialup.adsl.anteldata.net.uy] has quit [Nick collision from services.] 02:23:31 -!- tizoc_ is now known as tizoc 02:23:36 bashyal [n=bashyal@208.42.136.59] has joined #scheme 02:28:07 -!- tltstc` [n=nine@192.207.69.1] has quit [] 02:30:43 -!- grnman [n=grnman@c-76-110-165-179.hsd1.fl.comcast.net] has quit [Remote closed the connection] 02:30:56 grnman [n=grnman@c-76-110-165-179.hsd1.fl.comcast.net] has joined #scheme 02:31:39 -!- BW^- [i=Miranda@79.138.202.10.bredband.tre.se] has quit [Read error: 110 (Connection timed out)] 02:32:03 -!- bashyal [n=bashyal@208.42.136.59] has quit [] 02:33:47 -!- BW^-4376 [i=Miranda@79.138.145.102.bredband.tre.se] has quit [Read error: 110 (Connection timed out)] 02:36:35 -!- BW^ [i=Miranda@79.138.132.62.bredband.tre.se] has quit ["Miranda IM! Smaller, Faster, Easier. http://miranda-im.org"] 02:38:34 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 02:39:21 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 02:40:36 Didthetokyocabinetfolksmisplacealltheirpunctuation? 02:40:49 (oratleastworddelimiters) 02:42:10 Can someone help me understand PLT's Library invocation model? I've been reading through the paper on modules in PLT Scheme, and it appears that a module is instantiated (which, if I understand correctly, means that it is executed) every time that this code is used inside a phase. 02:43:14 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 02:44:21 That is correct. The consequence is that effects cannot be shared between phases. 02:44:36 If I understand Matthew's paper correctly, there is also an automatic visitation of the code every time the code is compiled or evaluated? 02:44:43 By code, I mean, library. 02:45:14 Riastradh: If you are complaining about the function names, I chalk it up to crazy Japanese design. :-) 02:45:27 I don't see how Tokyo Cabinet differs significantly from the DBM interface. 02:45:28 -!- offby1` is now known as offby1 02:45:32 Does this also mean that there is a separate invocation for every instance of REQUIRE? If I have two libraries that both REQUIRE some other library, will this other library be invoked twice? 02:45:58 synx, I suspect the difference to lie in the implementation, not in the interface. 02:46:03 (the important difference, I mean) 02:46:49 It seems to me that you need to invoke the library multiple times in order to assure the semantics that the paper wants. 02:47:01 arcfide, compilation requires visitation; execution of compiled code does not. 02:47:05 Oh, so it's a different algorithm... 02:47:22 arcfide, no, there is a single invocation of a module M for each phase at which M is required. 02:47:48 So at any given phase, any given module is invoked only once. 02:48:01 vorpal [n=rhunter@pdpc/supporter/student/vorpal] has joined #scheme 02:48:11 chandler: How is Tokyo Cabinet better than dbm and/or sqlite? 02:48:20 I find myself frustrated with databases. There is raw hash table and B+ database libraries, and the next step up from that is completely abstracted with magic optimization and an obscure and specialized query language. 02:48:38 foof: It is a well-done implementation of a key-value store (in the genre of DBM). It is not a relational database. 02:49:05 I just want something that lets me get at stuff without wasting time searching around, but I can write my own interface instead of using SQL. 02:49:17 It is also not under a crazy license (like BDB), and has addon packages for network access (Tokyo Tyrant) and full text search (Tokyo Dystopia). 02:49:18 Well, it has a b-tree backend which allows range searches. 02:49:44 -!- echo-area [n=user@cmdev1.test.cnz.alimama.com] has quit [Remote closed the connection] 02:49:47 It has good performance and produces compact database files (see the linked benchmark). 02:50:38 I figure that if more people knew about it, it would be the default choice for a key-value store. However, it doesn't seem to get much publicity outside the Japanese software community. 02:51:15 *chandler* signs off for the night 02:51:31 I actually need a decent key-value db for my thesis, I may use this... 02:51:36 biggest problem with DBM for me is it's key-value, not multiple fields with indexes. I end up making 1 whole database file for each field, with redundancy all over the place. 02:52:11 "record-by-name.dbm, record-by-serial.dbm, record-by-address.dbm" and such like that. 02:52:18 Riastradh: Thanks for that clarification. 02:52:26 -!- hadronzoo [n=hadronzo@gateway.publicvpn.net] has quit [] 02:53:35 Or a bunch of databases that each only hold the index to a "master" database. More efficient, but still messy... 02:54:16 -!- gweiqi [n=greg@69.120.126.163] has left #scheme 02:54:21 *synx* doesn't like having to implement "database with multiple fields" every time a new project calls for it, so usually just hacks something SQL... 02:54:40 Okay, so mzscheme divides and instantiates multiple times in order to provide some guarantee of the state of a given library even if the libraries were compiled at a time separate from the time they are run? 02:54:49 Yes, arcfide. 02:56:01 (I don't know how it accomplishes a completely fresh image for each phase short of spawning a separate MzScheme process for each phase. I suspect that `completely fresh' may be stronger than what is actually guaranteed.) 03:01:00 Hrm, in the final paragraph of Section 2.1 in Matthew's paper, he says, regarding invoking and executing a module, "Unused modules are ignored." 03:01:11 How do we define unused modules? 03:01:36 underspecified [n=eric@isa7-dhcp-116-122.naist.jp] has joined #scheme 03:01:46 nome [n=nome@c-76-120-237-246.hsd1.va.comcast.net] has joined #scheme 03:01:58 I have yet to find an un-awful method of implementing tag clouds in SQL. I think it's an intrinsic problem. 03:02:08 Riastradh: Is there any similar paper detailing the semantics of Scheme48's modules? 03:02:46 arcfide, `unused modules' are modules that are not required. It is presumed that there is some collection of modules assumed required for choosing an entry point into a compiled program (or, e.g., by an explicit REQUIRE at the REPL). 03:03:27 Scheme48's semantics is almost identical. The only salient difference is that in a single image, each module is invoked only once, in the terminology of the paper. In other words, Scheme48 doesn't try to prohibit preservation of state between phases. 03:03:31 -!- nome [n=nome@c-76-120-237-246.hsd1.va.comcast.net] has left #scheme 03:04:13 Consequently, if one compiles a module, and then loads it into a different image, the run-time of the module may observe different state from what it would have observed had the module been compiled and loaded in the same image. 03:04:41 Riastradh: So is MzScheme unique in the way it avoids sharing state? 03:04:56 (On the other hand, that's still true in PLT Scheme, if one looks beyond whatever boundaries are imposed. For example, imagine storing a file in /tmp.) 03:05:20 As far as I know, yes. 03:05:53 I am trying to understand the rationale for avoiding the preservation of state, since apparently not everyone agrees on that point. 03:06:01 geckosenator [n=sean@c-24-8-193-190.hsd1.co.comcast.net] has joined #scheme 03:06:23 Obviously, it's that there can be more consistent results when modules are compiled separately from the run-time invocation of those modules. 03:06:48 A certain class of programs will have behaviour at the REPL closer to their compiled behaviour in PLT Scheme than in other systems. 03:06:49 I'm just trying to understand where this comes into practical programs in a bad or significant way. 03:07:35 Riastradh: Couldn't the same thing be said if the programs were compiled and loaded/run at the same time, even if not through the REPL? 03:07:38 I don't have a non-contrived example off-hand. Relying on state at compile-time is generally poor practice anyway. 03:07:46 Right. 03:08:36 Well, you mean relying on state that may affect the run-time execution of those modules, right, not just, relying on any state of the system when compiling? 03:08:59 Relying on nearly any state is a bad idea. 03:09:31 Riastradh: So, you would disagree with the use of, say, a compile-time configuration file, that would setup the code in a given way, and then provide certain semantics to the run-time program? 03:09:43 Can you be more specific? 03:10:10 -!- sili [n=sili@222.127.65.136] has quit [Read error: 60 (Operation timed out)] 03:10:14 I am thinking specifically of things like a configuration file filled with PREFIX paths or other such things, which would give default paths in which to search for run-time configuration files. 03:10:50 So, I could compile daemon X with conf.ss set to have my default config in /etc/, but someone else may compile the program to use /usr/local/etc. 03:11:51 It's not like the code of a module acts differently if you keep the loaded modules loaded instead of re-evaluating them. It has no way to tell the difference. 03:12:06 synx, no, that's false. 03:13:31 hmm 03:14:00 #f you, synx! 03:14:15 Riastradh: maybe it shouldn't be false then? How do you tell if a module you required was already loaded? 03:15:00 Here's a contrived way. Create two modules M1 and M2. In M1, write (define m2? #f) (define (m2!) (set! m2? #t)). In M2, require M1 and import its bindings, and write (m2!). 03:15:23 Or, not (m2!), but: (if m2? (display "You re-loaded me!") (m2!)). 03:16:32 Ooh good one. 03:16:32 Okay I'm wrong. 03:16:32 Oy 03:16:32 -!- raikov` [n=igr@203.181.243.11] has quit [Read error: 60 (Operation timed out)] 03:16:59 Modius [n=Modius@ppp-70-244-122-30.dsl.austtx.swbell.net] has joined #scheme 03:17:09 Actually I do know of a (python) module that pulls crap like that. The theory is that modules /can/ never be reloaded, but when they are this sqlobject module throws a hissy fit. 03:17:18 This is contrived, but there non-contrived ways to do this accidentally with highly undesirable consequences. 03:17:28 (Consider generative record type definitions.) 03:18:53 They called it a "global class registry" that would error out for no reason if you "added" (defined) a class type more than once. 03:20:31 Anyway, I'm going to bed. 03:21:09 wy [n=wy@c-67-176-146-7.hsd1.in.comcast.net] has joined #scheme 03:25:11 eno [n=eno@nslu2-linux/eno] has joined #scheme 03:36:39 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 03:37:49 mornin' 03:41:23 -!- Modius [n=Modius@ppp-70-244-122-30.dsl.austtx.swbell.net] has quit [Connection reset by peer] 03:48:02 rtra [n=rtra@unaffiliated/rtra] has joined #scheme 03:52:30 jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has joined #scheme 03:53:10 hadronzoo [n=hadronzo@ppp-70-247-170-199.dsl.rcsntx.swbell.net] has joined #scheme 03:57:49 grettke [n=grettke@CPE-65-31-132-59.wi.res.rr.com] has joined #scheme 03:58:01 -!- grettke [n=grettke@CPE-65-31-132-59.wi.res.rr.com] has quit [Client Quit] 03:58:06 grettke [n=grettke@CPE-65-31-132-59.wi.res.rr.com] has joined #scheme 03:58:10 -!- grettke [n=grettke@CPE-65-31-132-59.wi.res.rr.com] has quit [Client Quit] 03:58:23 grettke [n=grettke@CPE-65-31-132-59.wi.res.rr.com] has joined #scheme 04:00:53 sm [n=sm@pool-71-107-248-198.lsanca.dsl-w.verizon.net] has joined #scheme 04:04:27 -!- rtra [n=rtra@unaffiliated/rtra] has quit ["brb"] 04:08:29 -!- grettke [n=grettke@CPE-65-31-132-59.wi.res.rr.com] has quit [] 04:25:29 arcfide: The phase separation thing is useful even *for* side-effects -- they allow you to use these effects in a reliable way. 04:30:52 -!- MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has quit ["Leaving."] 04:31:16 yakov2 [n=yakov@h-60-147.A163.priv.bahnhof.se] has joined #scheme 04:35:04 eli: Thanks, yes, I can see this side of things. 04:35:39 Does xkcd announce anywhere when they're doing a 5-comic week? 04:36:31 eli: At the moment, comparing the two models I know about for phase separation and library instantiation, I'm not sure I see where this would affect general code that is written in practice. 04:36:58 eli: I can see why it would have some effect on more secondary considerations. 04:37:48 Assuming that proper programs don't rely on code being compiled at the same time that it is run, then neither style of invocation should harm or change the execution or behavior of such code. 04:39:32 However, where someone were interested in sharing state for whatever dirty reason, isolated instantiation would disallow this; likewise, if someone wanted to protect their phases for some other form of trickery/subtlety, implicit phasing and more specifically, the sharing of state between the phases would put some kinks into that design. 04:40:02 arcfide: I'll give you two relevant examples. 04:40:17 The first one is something that I happen to be hacking on right now, 04:40:34 the goal is to have a module where scope of `define's is like in ML. 04:41:18 I do that by making `define' a macro that records (in a state variable) the identifier that is defined, which makes it easy to make sure that the bindings are visible in the right way. 04:41:32 eli: I am not familar with the way ML handles DEFINE and scoping. 04:41:56 It's sort of like a big `let*'. 04:42:34 but not 'letrec*' ? 04:43:15 leppie: No. 04:43:34 You use a specific recursive binder when you want recursion (or mutual recursion). 04:43:51 so define does not act recursively like in SCheme? 04:43:53 ah ok 04:44:10 i have not used those languages 04:44:15 i would like to one day 04:44:15 eli: So, in other words, your macro tracks what has been defined already, to allow it to determine whether it can reference that identifier in future definitions? 04:45:04 raikov [n=igr@203.181.243.11] has joined #scheme 04:46:07 leppie: in ocaml, for example, there is only a `let' construct, similar to scheme, but its scope is the rest of the module. There is also `let rec' which allows the defined identifiers refer to themselves. 04:46:25 arcfide: here's a rough sketch of the transformation: http://tmp.barzilay.org/x 04:46:31 i seen that 04:47:18 arcfide: The second example is how Typed Scheme deals with requires: when typed code requires typed code, then the bindings are required as usual in PLT, 04:47:55 but when typed code requires untyped code, then it actually gets "fake" bindings where contracts are used to enforce the types that the typed module assumes, 04:48:17 essentially turning types to contract on the typed--untyed world boundaries. 04:48:31 -!- wastrel [n=wastrel@nylug/member/wastrel] has quit ["i sleep go now to"] 04:48:39 There's a paper where Sam & Ryan wrote about this, I think. 04:50:43 eli: Okay, so, would you explain or point out where the specific multiple instantiation comes into play here? 04:51:56 arcfide: I'm creating a new language -- you can use it in many modules, but each module will have its own state. 04:51:59 off to wok :| 04:52:30 eli: wait, I thought that the modules were instantiated only once for each phase? 04:52:39 So every module will still share state, right? 04:52:54 No. 04:53:03 Okay, so, how does it really work? 04:53:13 Each compilation has one instantiation. 04:53:20 Let me write a quick example. 04:54:03 Modius [n=Modius@ppp-70-244-122-30.dsl.austtx.swbell.net] has joined #scheme 04:54:52 benny` [n=benny@i577A0084.versanet.de] has joined #scheme 04:56:55 -!- travis|away is now known as traivsbemann 04:57:32 -!- traivsbemann is now known as travisbemann 04:59:34 arcfide: sorry. 04:59:47 arcfide: http://tmp.barzilay.org/x.ss 05:02:02 Let me have a look at this... 05:02:56 AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has joined #scheme 05:05:20 eli: So, every required module inside every other module is instantiated uniquely for every phase in every module in which it is used? 05:08:51 arcfide: no -- every *compilation* starts from a fresh state 05:09:10 eli: But wouldn't this file, when compiled, be just one compilation? 05:09:15 See the same url (http://tmp.barzilay.org/x.ss) now. 05:09:31 Kirakishou [n=kniu@LEMON.RES.CMU.EDU] has joined #scheme 05:10:13 tjafk2 [n=timj@e176194253.adsl.alicedsl.de] has joined #scheme 05:10:14 (BTW, the `scheme/load' language is similar to a repl interaction -- you could run this code on a mzscheme repl, using `load', or by putting the modules in separate files) 05:10:48 Aah, okay. 05:10:55 Anyway, note the object-level `count!' function -- it's state that is shared in the single runtime environment. Just that each compilation environment is fresh. 05:11:07 eli: but what if someone wanted to do this all with the same file and didn't use scheme/load? 05:12:16 You could use `load', which is just evaluating the expressions one by one, as usual. (But that's irrelevant.) 05:12:41 Why does it print the 1 2 3 in order twice when you require at the end? 05:12:41 -!- benny [n=benny@i577A0ADD.versanet.de] has quit [No route to host] 05:13:09 -!- yakov2 [n=yakov@h-60-147.A163.priv.bahnhof.se] has quit [clarke.freenode.net irc.freenode.net] 05:13:15 Each is the result of the syntax-time `counter!'. 05:13:23 However, if someone put this file without the scheme/load and just used scheme, wouldn't this result in something different? 05:13:29 (That was the original point -- that you have different states.) 05:14:12 Yes, it would be different: `module' doesn't have a meaning inside a plain scheme module. 05:14:21 This doesn't seem to make the code that much more reliable. You're now assuming that all these modules are compiled separately, when they could be compiled at the same time, right? 05:14:34 Sorry, reliable is a bad word. 05:14:43 yakov2 [n=yakov@h-60-147.A163.priv.bahnhof.se] has joined #scheme 05:14:49 Of course it's reliable -- or *consistent*, rather. 05:14:53 Maybe I really mean consistent in behavior accross different methods of evaluating. 05:15:15 You can compile this thing in any way you want -- all together, one by one, on the repl, the result is always the same. 05:15:33 So you wouldn't get different results if you compiled separately than if you compiled together? It seems like you're artifically enforcing separate compilation by using scheme/load. 05:15:56 Forget the `scheme/load' -- that's just a demonstration point. 05:16:08 Wait, I thought you said that the different compilations were what allowed the separate state? 05:16:12 Think about the file without that line, and entered into the repl. 05:16:38 eli: Okay, right, but what if this wasn't entered into the repl, and these were just compiled in one go as a single file? 05:17:10 Yes, different compilations get different copies of the A module (two of them), and there is another (single) copy which is the run-time use of the same module. 05:17:37 I don't know what you mean by "compiled in one go as a single file". 05:19:26 Are modules always considered to be separately compiled, even if they are in the same file? 05:20:04 I still don't know what you mean by "modules in the same file". 05:20:21 In PLT modules are in different files. 05:20:39 eli: You have them all in one file here. 05:20:44 You can put several modules in the same file, but that's like entering in the repl. 05:20:56 Okay. 05:21:13 So, can you nest modules? 05:21:22 This file -- and this is a technical point -- uses that `scheme/load' language, which is similar to simply `eval'uating the definitions one by one. 05:21:25 -!- Lemonator [n=kniu@CMU-301252.WV.CC.CMU.EDU] has quit [Read error: 60 (Operation timed out)] 05:21:30 IOW, no nesting. 05:21:36 Okay. 05:23:07 Let me see if I can understand what's going on here. 05:26:26 -!- tjafk1 [n=timj@e176223181.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 05:29:46 foof` [n=user@clair12.naist.jp] has joined #scheme 05:39:51 eli: I think I understand what is going on, but I am not sure it makes sense to me. 05:39:52 -!- wy [n=wy@c-67-176-146-7.hsd1.in.comcast.net] has quit ["Leaving"] 05:39:53 -!- foof [n=user@dn157-046.naist.jp] has quit [Read error: 110 (Connection timed out)] 05:39:58 -!- foof` is now known as foof 05:41:28 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 05:41:49 -!- yakov2 [n=yakov@h-60-147.A163.priv.bahnhof.se] has quit [clarke.freenode.net irc.freenode.net] 05:42:18 yakov2 [n=yakov@h-60-147.A163.priv.bahnhof.se] has joined #scheme 05:43:24 -!- yakov2 [n=yakov@h-60-147.A163.priv.bahnhof.se] has quit [] 05:46:05 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [] 05:54:04 *arcfide* goes to bed. 06:14:46 -!- geckosenator [n=sean@c-24-8-193-190.hsd1.co.comcast.net] has quit [Read error: 110 (Connection timed out)] 06:16:32 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 06:17:38 -!- underspecified [n=eric@isa7-dhcp-116-122.naist.jp] has quit [Remote closed the connection] 06:18:10 underspecified [n=eric@isa7-dhcp-116-122.naist.jp] has joined #scheme 06:31:18 -!- sm [n=sm@pool-71-107-248-198.lsanca.dsl-w.verizon.net] has quit [] 06:40:14 luhar [i=3ba24401@gateway/web/ajax/mibbit.com/x-3a6085bcb50da895] has joined #scheme 06:40:45 -!- AtnNn [n=welcome@modemcable230.56-56-74.mc.videotron.ca] has quit ["strawberry"] 06:50:06 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 07:00:56 http://synthcode.com/scheme/irregex <- 0.7.1 (bugfix release) 07:01:55 (thanks to Derick Eddington for bug reports) 07:12:02 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 07:15:52 saccade__ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 07:23:42 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Read error: 110 (Connection timed out)] 07:30:52 -!- benny` [n=benny@i577A0084.versanet.de] has quit [Read error: 113 (No route to host)] 07:33:03 xealmero [n=hellues@d-stu.ibun.edu.tr] has joined #scheme 07:40:44 elmex [n=elmex@e180064147.adsl.alicedsl.de] has joined #scheme 07:45:35 ecraven [n=nex@140.78.42.104] has joined #scheme 07:49:12 tizoc_ [n=user@r190-135-4-250.dialup.adsl.anteldata.net.uy] has joined #scheme 07:53:23 -!- raikov [n=igr@203.181.243.11] has quit [Read error: 110 (Connection timed out)] 07:53:41 replor_ [n=replor@ntkngw375028.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 07:54:05 fschwidom [n=fschwido@dslb-084-059-046-053.pools.arcor-ip.net] has joined #scheme 07:56:37 schumaml [i=c19b5f04@gateway/web/ajax/mibbit.com/x-e31205afc935c520] has joined #scheme 07:57:13 -!- schumaml [i=c19b5f04@gateway/web/ajax/mibbit.com/x-e31205afc935c520] has quit [Client Quit] 08:01:02 foof: irregex == coolest name ever. 08:03:38 Thanks, I'm particularly fond of the quote in the docs as well :) 08:04:39 I'm debating an SRE SRFI - just an abstract SRFI for extensions to 08:04:58 the SRE syntax, not necessarily a full regex API SRFI. 08:05:02 attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has joined #scheme 08:05:34 schumaml [i=c19b5f04@gateway/web/ajax/mibbit.com/x-9c21ac83d881436e] has joined #scheme 08:05:57 -!- synthasee [n=synthase@68.63.20.12] has quit [Client Quit] 08:06:49 -!- tizoc [n=user@r190-135-29-206.dialup.adsl.anteldata.net.uy] has quit [Read error: 110 (Connection timed out)] 08:07:21 foof: I don't know much about the SRFI process. How long does it usually take to get one of those approved (or rejected)? 08:07:35 6 months or so 08:09:10 Crazy. 08:10:08 foof: SRFIing irregex sounds like a great idea 08:10:19 It's an excellent way to get feedback from the community 08:10:41 -!- replor [n=replor@ntkngw375028.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 110 (Connection timed out)] 08:10:47 Well, I meant just the SRE syntax. 08:11:00 A full regex API SRFI would also be possible, but probably not all 08:11:04 of irregex. 08:11:11 Isn't that the most important part of irregex? 08:11:13 The syntax? 08:11:42 It's a rather large library, with lots of optimizations, and the 08:11:48 whole chunked string API. 08:12:13 If I did a full regex API SRFI, I'd use a trimmed down version of 08:12:14 irregex. 08:13:18 And I suspect many people would want a trimmed down version, as a sane 08:13:23 alternative to pregexp. 08:13:37 -!- cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has quit ["The funniest things in my life are truth and absurdity."] 08:13:54 -!- underspecified [n=eric@isa7-dhcp-116-122.naist.jp] has quit [] 08:15:14 (since a lot of schemers are concerned about module size and complexity) 08:16:22 is irregex related to the regex syntax in scsh? 08:16:36 The SRE syntax is a superset of that used in SCSH. 08:17:30 I wish I knew enough about this language... lol 08:17:44 I really want to write a web app with it. 08:18:09 I'd have to write a yaml parser, if there isn't one already... 08:18:47 keyofnight: Why on earth would you need a yaml parser to write a web app? 08:19:12 what would you use yaml for that sexps can't say? 08:19:20 sjamaan: the web app I have in mind? 08:19:24 sexps? 08:19:25 lol 08:19:31 The only reason I can think of would be legacy code that already uses yaml 08:19:51 *keyofnight* allows his head to explode. 08:20:13 sjamaan: well... what would you do instead? 08:20:34 s-expressions 08:20:36 keyofnight: What is the problem you're trying to solve and why do you need yaml for it? 08:20:48 sjamaan: is there legacy scheme code that uses yaml? 08:21:03 ecraven: I meant a legacy Rails app, or something like that 08:21:22 Rails uses yaml all over the place 08:22:45 sjamaan: I'm not sure what problem I have.. I do have an idea for a minimalist web content manager. Nothing original, I think. 08:23:08 minion: advice for keyofnight 08:23:08 keyofnight: #11999: You are a stupid asshole. Shut the fuck up. 08:23:11 ouch 08:23:29 keyofnight: I'd start by thinking what the problem is first :) 08:24:21 ahahaha WOW. 08:24:30 I believe it, minion. 08:24:40 sjamaan: yes, but would you need to actually use the same yaml files in a scheme project? 08:24:50 chandler: Could you make minion a tad less offensive please? :) 08:25:09 ecraven: That depends on the nature of the yaml files 08:25:16 minion: more friendliness! 08:25:17 friendliness me harder 08:25:18 Usually you wouldn't 08:25:18 minion: chant! 08:25:18 MORE FRIENDLINESS 08:25:23 heh! 08:25:31 sjamaan: the problem for me is that every web framework or content manager is bloated or made to force all designs into a blog-like design or style. 08:26:04 keyofnight: By starting right off the bat with implementing a yaml parser, you're starting by adding bloat before doing anything useful! 08:26:18 some websites need to be changed... but they need to be more brocure "page-like" than "blog" like. 08:26:22 Write only what you really need 08:26:59 The whole idea would be to be... editable by people once the site has been set up without too much of a hassle. Hence the need for the yaml. 08:27:15 something minimal, easy to read, easy to manage by people in offices and such. 08:27:35 You want office people to write yaml?! 08:27:41 Why not just plaintext? 08:27:52 well... hell.. maybe just plain text. (: 08:27:53 Or write a friendly interface and store it in the DB 08:28:00 No DB. 08:28:10 use the image ;) 08:28:19 OK, write a friendly interface and store it as s-expressions 08:28:28 hrm. 08:28:31 sounds weird. 08:28:43 cold work tho. 08:29:33 never written anything in scheme before tho (beside little schemer and SICP examples)... and I'm not familiar with web development in scheme. (; 08:29:45 It looks awesome... but there are so many options. 08:30:20 See it as an empty canvas 08:30:24 You can do anything you like 08:30:27 Yes. (: 08:30:39 (including making it into something horrible :P ) 08:31:44 I just want it simple. Hell.. even where you could edit a template in dreamweaver, and as long as you preserve the embedded parts, the design won't explode. 08:32:02 I just want my designs to survive their new owners. 08:32:21 do you want templates or code that generates the html? 08:32:27 That's hard, if the new owner will be a PHP scriptkiddie :) 08:32:32 definitely want templates. 08:32:56 sjamaan: for the most part, it's people in office buildings who only know how to use dreamweaver. (: 08:32:59 You could use your own custom XML format and process it internally 08:33:09 Define tags that expand to certain things 08:33:21 Ew. Might as well use yaml at that point. ahaha 08:33:32 sxml might help there 08:33:32 me and xml schemas/namespaces don't mix. 08:33:36 It could be very simple; just an extension on xhtml 08:33:45 you don't need complicated schemas or namespaces 08:33:57 mmm... that's always an option. 08:34:09 So you'd allow people to write ... 08:34:30 So just a couple of extra tags. 08:34:33 aye 08:35:51 echo-area [n=user@cmdev1.test.cnz.alimama.com] has joined #scheme 08:35:56 that's not much help for a previewable template 08:36:10 aspect: What would be? 08:36:21 afaik you can't preview dynamic data 08:36:24 as ugly as it is, the Some same text works 08:36:45 s/same/sample 08:36:50 aspect: that is true... but that looks like bloody drupal. 08:36:56 haha 08:37:01 looks like heaps of things 08:37:07 most of those things suck 08:37:11 You wouldn't see it in the output, though 08:37:12 but that's the domain 08:37:20 yeah. unfortunately those things don't do what I want them to do. 08:37:24 Nothing seems to. 08:37:31 everything on the net looks like a blog. (: 08:37:34 at least the people who generate templates will be somewhat familiar with it 08:37:56 I really like apple's page. I know they have some sort of sexy thing going on back there... 08:39:16 *aspect* scrolls back .. oh, you're after a minimal web content manager? try dokuwiki. it doesn't solve html templates, but I suspect that's a side-issue you'd rather avoid :) 08:41:04 A wiki? 08:41:20 Is that what you're looking for keyofnight? 08:42:10 a wiki's my definition of a minimal (yet useful -- Riastradh's blog would be truly minimal) web content manager 08:43:26 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Remote closed the connection] 08:44:44 Tell360 [n=opera@119.101.231.14] has joined #scheme 08:45:42 well.. wikis are nice... but the structure of them can be quite loose and complex. 08:46:06 even if their implementation is simple. 08:47:41  CHNA ? 08:48:42 hm. how to enforce good style on your users is another question .. and one, I expect, that can't be solved with technology 08:49:11 -!- Tell360 [n=opera@119.101.231.14] has left #scheme 08:51:07 aspect: very true. 08:58:24 schmalbe [n=bernhard@p549A0190.dip0.t-ipconnect.de] has joined #scheme 09:00:16 aspect: Templates can help 09:06:27 I want it to where I can adapt with good ideas to whatever a client needs... 09:07:01 I never thought of a wiki until you mentioned it... but for social science sites, a wiki would be perfect 09:07:36 for labs and such. 09:10:17 heheh... 09:10:29 *keyofnight* breathes and goes back to the lurking pose. (; 09:11:00 keyofnight: The best solutions often involve no programming :) 09:11:35 (which is not always fun, but it is usually smart) 09:19:08 sjamaan: I did a lot of this without programming. It was a bummer... and doing it with too much code is a bummer too. (: 09:19:46 hehe 09:33:05 -!- leppie_work [n=DKK@mail.iminafrica.com] has quit [] 09:36:12 underspecified [n=eric@isa7-dhcp-116-122.naist.jp] has joined #scheme 10:09:56 ejs [n=eugen@80.91.178.218] has joined #scheme 10:15:33 -!- echo-area [n=user@cmdev1.test.cnz.alimama.com] has quit [Remote closed the connection] 10:22:09 rotty [n=user@81.223.119.66] has joined #scheme 10:22:50 -!- rotty [n=user@81.223.119.66] has left #scheme 10:33:35 while learning Scheme, is there a good way *not* to think in terms of the other languages one knows? 10:34:13 the most difficult part seems to be "tuning off" the other paradigms 10:34:50 olgen [n=jacobm@0x535f66c5.bynxx14.dynamic.dsl.tele.dk] has joined #scheme 10:34:52 luhar: man. now that is a question. (; 10:35:23 is it possible to learn Scheme while also working on a C-type language as a part of a day job? 10:35:26 That's an excellent question 10:35:28 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 10:35:34 Unfortunately I have no answer :) 10:35:49 luhar: I find that PHP makes my brain rot, or something 10:35:50 The Little Schemer helps 10:35:55 or just thinking functionally bottom up 10:36:01 (have I evangelised that enough on here yet?) 10:36:04 It reduces my code quality in Scheme 10:36:11 aspect: Never enough! 10:36:17 TLS rules 10:36:34 Not everyone here is a fan of TLS, though 10:36:48 But I am :) 10:37:05 one problem i face is that, when thinking of a trivial program to write, I start thinking about how the input - output would be like with the user 10:37:24 and then the operation inside it 10:37:32 but reading scheme 10:37:43 benny [n=benny@i577A0084.versanet.de] has joined #scheme 10:37:44 it looks like my thinking starts off on the wrong foot 10:37:55 vasa [n=vasa@mm-15-88-84-93.dynamic.pppoe.mgts.by] has joined #scheme 10:38:06 The implementation should not have any impact on the presentation to the user 10:39:11 true, but my thinking runs off let's say perl-style 10:39:17 :( 10:39:34 one statement, one operation done and so on and so forth 10:40:37 I think TLS will help re-wire your brain to get over this 10:40:56 if not, it's a fun read anyway and will only take an afternoon :) 10:41:06 yup, I was thinking the same, sadly its tough to find here 10:41:23 the only book of Friedman I got was - a little java, a few patterns 10:43:47 cemerick [n=la_mer@c-71-232-219-241.hsd1.ma.comcast.net] has joined #scheme 10:45:57 damnit - the online book store that delivers here also has the Little ML'er but not TLS 10:47:22 ventonegro [n=user@136.166.1.3] has joined #scheme 10:47:22 no TLS on amazon? 10:47:46 I had TLS out from the library, but I never made it through the thing. 10:48:02 Ran up a 6 buck over-due fee, and that was that. 10:48:35 -!- yome [n=yome@out.clearnet.com] has quit [Read error: 113 (No route to host)] 10:49:11 luhar: I think I'm having similar problems to you... too many languages and different styles. 10:53:45 exactly 10:54:08 z0d: amazon will cost a lot to deliver here 10:54:41 gigabytes [n=gigabyte@host13-59-dynamic.8-87-r.retail.telecomitalia.it] has joined #scheme 10:55:00 hello 10:56:31 hello 10:58:56 hell, o! 11:05:32 helloh! 11:08:14 -!- cemerick [n=la_mer@c-71-232-219-241.hsd1.ma.comcast.net] has quit [] 11:08:16 luhar: sometimes I find that thinking of the motivations behind the style help with keeping styles separate. 11:08:56 ...not that I know much about the languages. You probably know more about it than I do. 11:09:03 hmmm...could you please elaborate that? 11:09:34 luhar: where do you live? 11:09:44 india 11:13:11 -!- tizoc_ is now known as tizoc 11:15:23 -!- gigabytes [n=gigabyte@host13-59-dynamic.8-87-r.retail.telecomitalia.it] has quit [] 11:16:44 well.. whenever I do things, I think about how why they're designed that way, what I'm supposed to be using the tools for, how they're being used, and why anyone would use the tool at all... 11:17:14 right now I'm reading a chapter on functional programming in ruby, and I'm thinking why anyone would want to want to do such a thing. lol 11:17:19 pchrist_ [n=spirit@gentoo/developer/pchrist] has joined #scheme 11:17:25 and the tool here being a language? 11:17:34 or a part of the language. 11:17:45 I can't really give you an example, because I don't know enough scheme. 11:18:06 all of my examples are philosophy, writing, music, or...ruby... related. lol 11:18:48 Which I why I hope someone will shut me up. (; 11:18:55 -!- pchrist [n=spirit@gentoo/developer/pchrist] has quit [Read error: 60 (Operation timed out)] 11:19:42 as I see it, when dealing with FP, we're basically trying to build-stuff out of atoms 11:19:57 indivisible chunks that combine together 11:20:26 otoh, when another paradigm is muddling in my brain 11:20:40 its about building by understanding its decomposition process 11:20:45 not its composition 11:21:11 What do you mean decomposition? 11:21:18 the magic probably is in understanding how the pieces fit together 11:21:30 -!- xealmero [n=hellues@d-stu.ibun.edu.tr] has quit [Remote closed the connection] 11:21:34 say in a OOP lang like Java/Ruby 11:21:54 i tackle a problem by decomposing it into smaller chunks 11:22:18 that are easily tackled or abstracted, and those chunks can be further broken down 11:22:23 thus decomposition 11:22:49 in FP, everyone seems to have the opinion that the correct approach is to create a generic base first 11:22:59 and then build a layer on top of it 11:23:08 creating an exact reverse process 11:23:22 which is where my puny mind gets boggled 11:23:37 or sometimes I think I got it all wrong from the start 11:23:48 not neccessarily 11:24:04 SICP, for example, advocates top-down programming 11:24:08 luhar: you can do top-down or bottom-up programming equally in Scheme, Java, or Ruby 11:24:26 depends on your teacher/background, rather than the language 11:24:28 ah.. so you mean when you're thinking OOP you'd break it up into big conceptual pieces.. and implement each one... add to it until all of the details are filled in? 11:24:39 yes, kinda 11:24:40 Yeah. It doesn't seem like that's an OOP thing. (: 11:24:50 for me, the key insight into being productive with Scheme was immutability and declarative programming 11:24:55 MichaelRaskin [n=MichaelR@3ad50e34.broker.freenet6.net] has joined #scheme 11:25:27 pjdelport: I am teaching myself from Htdp, so dunno which direction I'm heading ;) 11:25:28 looking for recursive/declarative solutions rather than iterative ones 11:25:40 aspect: mmm. interesting. i still don't understand immutability in this case. 11:25:49 *pjdelport* mumbles about Haskell 11:26:12 keyofnight: when you're tempted to use SET! or suchlike, think again 11:26:34 aspect: what do you do instead? just work from return values? 11:26:58 eschew mutation 11:27:03 and truly speaking I don't get recursion too well, I get the basic programs and stuff but what really confuses me is how to create a solution of it, how do I think about a problem in that way.. 11:27:12 take all your arguments, return all your results 11:27:58 keyofnight: pretty much. The typical example is looping -- in Algolish languages you increment a counter and modify an accumulator: in FP you consume part of your input and combine it with the result of recursion 11:28:06 *pjdelport* only truly got recursion with Haskell 11:28:22 (that was really badly phrased .. but it's late, I can't do much better, I'm afraid) 11:28:23 aspect: wow! 11:28:30 it makes the data-driven nature of it so much clearer 11:28:35 I wish I could get a PDF version of TLS. :/ 11:28:43 I'd pay good cash for such a thing. 11:29:16 you really need the print version -- it's hard to put jam stains on a pdf :) 11:29:25 does the MIT press release a paid-for PDF version of it? 11:30:21 aspect: that's true... but it's a flimsy book..and I'm bad with books. lol 11:30:28 pjdelport: I'm afraid if I pick up Haskell, the syntactic sugar of all languages combined will trample me 11:30:39 You should see the copy of Zelazny's Lord of Light! 11:30:45 luhar: how so? 11:30:47 It split in three pieces. lol 11:31:41 in my day job, I have to code in Perl, PHP and Ruby a bit 11:31:50 and some Swing programming in Java 11:32:08 Man.. you know a lot of languages. 11:32:20 I'm still working on Ruby, Scheme, and C. 11:32:27 keyofnight: nope, I can code in them, I don't know them 11:32:33 trivial programs 11:32:37 IDE help 11:32:49 Oh? You beat me. (; 11:32:57 the reason I picked up Scheme/wanted to was to learn programming 11:33:30 I can string together a program but it doesn;t have the right feel.... 11:33:50 luhar: Haskell's core syntax is pretty simple 11:33:52 I understand that feeling. (; 11:34:04 you can write Haskell that looks very much like Scheme 11:34:21 hmmm...that's interesting 11:34:22 even moreso if you use liskell! 11:34:33 (filter p (map f xs)) is valid in both languages :) 11:35:20 lol 11:35:23 I've heard a lot about haskell and how it makes you get FP really, is something tougher with Scheme? 11:35:38 or just that Haskell makes it cleaner 11:35:47 sad0ur_ [n=sad0ur@psi.cz] has joined #scheme 11:36:47 -!- sad0ur [n=sad0ur@psi.cz] has quit [Read error: 110 (Connection timed out)] 11:37:10 Heh, I only got the real understanding of Lisp syntax because of the package manager I use.. 11:37:26 MichaelRaskin: which one is that? 11:37:54 Nix. It has purely functional language for defining packages. 11:39:26 It has the most natural function application syntax that often leads to Lisp-style parenthesis structures.. 11:40:23 MichaelRaskin: I thought it was Haskell-based 11:40:50 I never understood why lisp syntax is so bizzare to people. It's no more odd to me than any other language. All of em are odd attempts to make computers more human. hahah 11:41:14 It lacks all the monad craziness 11:41:55 All output is done as side-effects.. Unobservable, of course 11:42:39 cemerick [n=la_mer@75.147.38.122] has joined #scheme 11:42:47 -!- underspecified [n=eric@isa7-dhcp-116-122.naist.jp] has quit [] 11:52:41 -!- sad0ur_ [n=sad0ur@psi.cz] has quit [Read error: 60 (Operation timed out)] 11:53:41 jewel [n=jewel@dsl-242-191-149.telkomadsl.co.za] has joined #scheme 11:59:10 -!- saccade__ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 12:00:56 -!- pchrist_ [n=spirit@gentoo/developer/pchrist] has quit ["leaving"] 12:01:27 pchrist [n=spirit@gentoo/developer/pchrist] has joined #scheme 12:03:48 -!- foof [n=user@clair12.naist.jp] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 12:05:44 MichaelRaskin: monads are not craziness :) 12:06:20 Lisp lists are a monad 12:06:21 Using them everywhere _and_ masking that under tons of sugar is. 12:06:55 you pretty much already use theme everywhere; it's just a question of whether you give them first-class recognition in the language or not 12:07:43 No. 12:07:58 I know that map is directly equivalent to what monads do 12:08:25 I do use explicitly-described monads in my code sometimes. 12:08:27 it's like continuations; once you recognize what they are, you notice that they are literally everywhere 12:08:36 whether they are first-class or not 12:09:03 That doesn't mean that there isn't a significant difference between languages whose continuations may be reified and languages whose continuations may not. 12:09:07 Monad requires some operations to be defined correctly 12:09:16 Riastradh: of course 12:10:34 foof [n=user@dn157-046.naist.jp] has joined #scheme 12:11:12 What makes me call Haskell approach to monads "craziness" is that they - unlike the Scheme way - make monads mandatory for everything non-pure, and realise opt-out not by clearly marked side-effect-bearing fuctions, but by syntax sugar 12:11:49 MichaelRaskin: monads are pure, and not mandatory 12:12:43 Maybe if I had not seen Haskell tutorials starting with HelloWorld in pure imperative style (thanks to sugar), I would still be able to consider Haskell as an honest language.. 12:12:49 marco_ [i=d4b16625@gateway/web/ajax/mibbit.com/x-2887912b86abb27d] has joined #scheme 12:13:18 michael they happen to be a convenient for describing side effects, but most monads probably are not about effects 12:13:41 I know 12:14:03 -!- olgen [n=jacobm@0x535f66c5.bynxx14.dynamic.dsl.tele.dk] has quit [] 12:14:12 I do sometimes code some things (say in Scheme) in terms of explicit monads. 12:14:41 and when it's not explicit, it's implicit :) 12:15:21 "Craziness" referred to how Haskell uses (and then hides - which gets me the most) monads for controlling impurity _and_ claims that it removes impurity, not just controls it. 12:16:04 By the way, implicit monads are not like implicit continuations. Implicit continuation is exactly what continuation is, just not "captured" in some meaning 12:16:29 Implicit monad often lacks full definitions of monadic operations.. 12:16:56 MichaelRaskin: i'm not sure what you refer to with hiding 12:16:59 do syntax? 12:17:08 The use of the emotionally charged terms `pure' and `impure' is probably a mistake, as it leads to other charged words such as `honest' above. 12:17:13 -!- jewel [n=jewel@dsl-242-191-149.telkomadsl.co.za] has quit [Connection timed out] 12:17:37 right, i also don't get what claiming to remove impurity is supposed to mean 12:19:05 the IO monad is claimed to be a way of structuring IO operations 12:19:09 Haskell derives primary two benefits from the use of monads for sequential actions: 1. The type system ensures that sequential actions cannot occur where unexpected. 2. Sequential actions are first-class objects with which programs can reason and compose just like any other. 12:19:55 incubot [n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com] has joined #scheme 12:20:09 Furthermore, parts of programs may still be written in an imperative style where that expresses one's intent more clearly. But they still interact well with the other functional parts of the program. 12:20:15 gigabytes [n=gigabyte@host209-61-dynamic.8-87-r.retail.telecomitalia.it] has joined #scheme 12:22:40 and then, of course, monads are widely useful for many other things too 12:22:47 Yes, but I dislike the syntax sugar that masks it (in imperative parts) not more and not less than I need to feel some fraud. 12:22:50 *Riastradh* blinks. 12:23:10 pjdelport, monads are an abstraction of sequential computation. What more do you have in mind than that? 12:23:41 I do accept usefullness of explicitly defined monads in some cases - regardless of the language. 12:23:46 Riastradh: sequential computation? 12:24:34 Riastradh: I fail to completely understand how Maybe can be called "sequential computation" 12:24:40 MichaelRaskin, why do you use words such as `honest' and `fraud'? This suggests that you're thinking about programs as an emotional struggle, not as a vehicle for clear expression of technical ideas. Some ideas in programs are expressed most clearly in an imperative style, and Haskell lets you do this. 12:25:59 MichaelRaskin, do x <- foo; y <- bar x; z <- baz x y; return (x, y, z) -- It doesn't matter whet monad we're talking about; the value of x must be computed first, the value of y next, and the value of z afterward. In the case of Maybe, this substitutes for a sequentially nested collection of case expressions. 12:26:06 "fraud" means just that it doesn't means the same as it looks like. 12:26:37 Riastradh: in that case, it's not the monad that does the sequencing 12:26:39 No, it does mean what it says. The mechanism by which it works, however, is more general than what one finds in an imperative language. 12:26:50 It's like C with the famous "if (uid=0) {}" 12:27:06 Maybe and some other monads are commutative on their own 12:27:10 pjdelport, I could just as well have written `x <- foo; y <- bar; z <- baz'. 12:27:25 -!- marco_ [i=d4b16625@gateway/web/ajax/mibbit.com/x-2887912b86abb27d] has left #scheme 12:27:43 Formally it does what it says, it is just too inconvenient for me to check when enything goes wrong. 12:27:43 pjdelport, then x would still be computed first, y next, and z afterward; I wrote it differently to make the example a little more justified. 12:28:25 Riastradh: commutative monads don't imply any particular ordering, though 12:28:48 which order gets used is essentially an implementation artefact 12:28:51 bombshelter13 [n=bombshel@net2.senecac.on.ca] has joined #scheme 12:30:03 monads that imply that sequencing are non-commutative 12:30:10 like IO, etc. 12:30:33 pjdelport, yes, there are some sequences that can be permuted. That doesn't change the fact that monads abstract sequential computation -- some would even say that `sequential computation' is defined as information with monadic operators defined. 12:30:56 MichaelRaskin, when you want to express a sequence of actions, would you rather write a program that's all about the machinery of how actions get composed, or would you rather just write the actions? 12:31:37 Riastradh: You again try to explain why monads are useful. 12:32:18 I do accept why monads are useful, I just do not find Haskell's representation of them convenient 12:32:43 The machinery I speak of here is the basic operators `>>=' and `return' (and `join' and `map' and so on). 12:32:47 Also, simple (begin ) is sometimes enough 12:33:14 Yes, that's exactly the part that I do accept and use when I find it easier to do than not. 12:33:15 If you want to express the idea of (BEGIN ...) in Haskell, then you can do so much more conveniently with `do' than with explicit lambdas and `>>='s and so on. 12:33:57 And if Lisp lacked PROGN it would be trivial to define as a macro. 12:33:59 begin being monadic sequence 12:34:11 An idea which is expressed in Scheme using (BEGIN ...) is usually expressed in Haskell using `do'; this is because the idea is most conveniently expressed as a direct sequence of imperative actions. 12:34:24 jewel [n=jewel@dsl-242-171-245.telkomadsl.co.za] has joined #scheme 12:34:35 Translating a simple sequence of imperative actions into a combinations of lambdas and `>>='s tends to obscure a program's high-level intent. 12:35:15 i'm not agree 12:35:29 monads tends to express the intent 12:35:41 underspecified [n=eric@softbank220043052011.bbtec.net] has joined #scheme 12:35:44 bombshel1er13 [n=bombshel@net2.senecac.on.ca] has joined #scheme 12:35:53 -!- bombshel1er13 [n=bombshel@net2.senecac.on.ca] has quit [Client Quit] 12:36:01 Well, using Lisp/Scheme I am too accustomed to the approach "pass random fragments, compose in macro" to value all that tricks 12:36:36 I suspect that if you were using an explicit monad in Scheme, you would want to introduce a `do'-like macro for the purpose. 12:37:12 Consider, for example, a parsing monad (sort of). Here's one instance of that idea: . 12:37:12 -!- travisbemann is now known as travis|away 12:38:23 The mechanism by which sequential parsers are constructed -- PARSER:EXTEND (the `>>='-like operation) -- is not an important idea when reading an actual parser. So when writing a parser, I'd really prefer to stay as close to a description of the format being parsed as I can without introducing superfluous verbiage. 12:39:58 Even ignoring the verbiage of PARSER:EXTEND and LAMBDA, it requires nesting to compose multiple parser sequentially. The requirement of nesting also obscures a program's intent, which is to parse a sequence of components of the input in the order specified; adding nesting depth suggests that there is more to the idea than that. 12:40:37 (There is more to the *implementation*, to be sure, which takes care of failing and backtracking and what-have-you, but those details aren't important to most of the high-level description of the parser.) 12:41:20 So, by eschewing an `imperative-looking' construct, you are actually being dishonest to your reader, by obscuring the program's high-level intent in favour of elaborating upon irrelevant, low-level details of how it is constructed! 12:44:52 olgen [n=jacobm@0x535f66c5.bynxx14.dynamic.dsl.tele.dk] has joined #scheme 12:45:41 Looks like perfect reason not to avoid macros 12:46:25 If your syntax becomes to verbose, write a macro and pass only needed constructs in unwrapped form 12:46:28 Usually helps. 12:46:34 Verbosity is not the issue! 12:46:53 it's said that the do-notation must be avoided by *novices*, because they usually interpret it wrong 12:46:55 Except in some rare cases, verbosity is *never* the issue that leads to macros. 12:47:16 but for non-novice coders it makes everything clearer 12:47:24 Macros add to the information in a program by expressing higher-level ideas that are not made clear by the expansion of the macro. 12:47:43 (Any macros that don't do this are either among those rare cases, or mistakes.) 12:48:58 Also macros ensure that a typo is either absent or replicated (and so, hopefully, crashes everything and found quickly) 12:49:24 But they do whatever you make them do 12:50:59 bombshel1er13 [n=bombshel@net2.senecac.on.ca] has joined #scheme 12:51:32 -!- bombshelter13 [n=bombshel@net2.senecac.on.ca] has quit [Client Quit] 12:51:38 -!- bombshel1er13 [n=bombshel@net2.senecac.on.ca] has quit [Client Quit] 12:51:46 bombshelter13 [n=bombshel@net2.senecac.on.ca] has joined #scheme 12:51:54 bombshel1er13 [n=bombshel@net2.senecac.on.ca] has joined #scheme 12:52:37 *Riastradh* vanishes. 12:53:24 -!- bombshelter13 [n=bombshel@net2.senecac.on.ca] has quit [Client Quit] 12:53:24 -!- bombshel1er13 [n=bombshel@net2.senecac.on.ca] has quit [Client Quit] 12:55:10 bombshelter13 [n=bombshel@net2.senecac.on.ca] has joined #scheme 12:55:30 Nshag [i=user@Mix-Orleans-105-3-32.w193-250.abo.wanadoo.fr] has joined #scheme 12:57:28 -!- brandelune [n=JC@pl157.nas934.takamatsu.nttpc.ne.jp] has quit ["Leaving"] 13:02:57 -!- olgen [n=jacobm@0x535f66c5.bynxx14.dynamic.dsl.tele.dk] has quit [] 13:04:28 annodomini [n=lambda@64.30.3.122] has joined #scheme 13:04:35 -!- schumaml [i=c19b5f04@gateway/web/ajax/mibbit.com/x-9c21ac83d881436e] has quit ["http://www.mibbit.com ajax IRC Client"] 13:04:56 schumaml [i=c19b5f04@gateway/web/ajax/mibbit.com/x-756ba1df9c4590ca] has joined #scheme 13:12:38 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 13:16:39 -!- bombshelter13 [n=bombshel@net2.senecac.on.ca] has quit [Read error: 60 (Operation timed out)] 13:17:00 name [n=name@sburn/devel/name] has joined #scheme 13:18:44 -!- arcfide [n=arcfide@adsl-99-14-208-195.dsl.bltnin.sbcglobal.net] has quit ["Leaving"] 13:19:04 -!- Poeir_ [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has quit [Read error: 110 (Connection timed out)] 13:35:30 annodomini [n=lambda@130.189.179.215] has joined #scheme 13:38:01 offby1: ping 13:40:22 langmartin [n=user@75.148.111.133] has joined #scheme 13:42:42 cracki [n=cracki@137.226.231.203] has joined #scheme 13:45:13 bombshelter13 [n=bombshel@net2.senecac.on.ca] has joined #scheme 13:50:35 -!- gigabytes [n=gigabyte@host209-61-dynamic.8-87-r.retail.telecomitalia.it] has quit [] 13:51:14 -!- hiyuh [n=hiyuh@ZQ062141.ppp.dion.ne.jp] has quit ["|_ e /\ \/ i |/| G"] 13:57:02 pixel5 [n=pixel@copei.de] has joined #scheme 13:59:32 -!- pixel5 [n=pixel@copei.de] has quit [Client Quit] 13:59:35 pixel5 [n=pixel@copei.de] has joined #scheme 14:02:17 hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has joined #scheme 14:05:27 leppie: You 14:05:35 're missing the whole point. 14:06:01 -!- hemulen [n=hemulen@cpe-069-134-114-252.nc.res.rr.com] has quit [Client Quit] 14:08:36 -!- cracki [n=cracki@137.226.231.203] has quit ["The funniest things in my life are truth and absurdity."] 14:09:27 wastrel [n=wastrel@nylug/member/wastrel] has joined #scheme 14:10:38 me? 14:10:56 what whole point? about R6RS libraries? 14:11:07 eli 14:12:11 Yes, the whole point was to use the same name. 14:12:22 oh on comp.lang.scheme 14:12:27 #t 14:12:33 errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 14:12:54 but how can you? you are importing/defining 2 identifiers with the same name 14:13:30 i realise there is phase difference, but that should not matter 14:13:38 In PLT it works because the two names are at different levels. Ikarus, OTOH, tries to guess where each binding goes and gets an error because of that. 14:15:00 leppie: see http://tmp.barzilay.org/x.ss for an example: there are two `count!' bindings defined in the first module -- each exists in its own world, so there is no error. 14:15:21 In other words, phase separation is not only for the actual value -- the names are separated too. 14:15:46 so you are saying because of the different levels, I could define a 'lambda' procedure on lvl 0 if I only import 'lambda' at level 1? 14:17:02 ccl-logbot [n=ccl-logb@master.clozure.com] has joined #scheme 14:17:02 14:17:02 -!- names: ccl-logbot errordeveloper wastrel pixel5 bombshelter13 langmartin annodomini name schumaml Nshag underspecified jewel incubot foof pchrist cemerick MichaelRaskin ventonegro vasa benny hkBst ejs schmalbe attila_lendvai fschwidom replor_ tizoc ecraven elmex luhar tjafk2 Kirakishou Modius hadronzoo jonrafkind eno vorpal synx grnman offby1 bpt vkm dnm cmalune Kinks Wardje nicholasw REPLeffect jeremiah elf ski_ ricky mornfall specbot kazzmir_ 14:17:02 -!- names: dfeuer certainty|work Mr_Awesome samth Debolaz pitui bsmntbombdood papermachine pjdelport mmc1 error_developer_ aquanaut pchrist|univ mbishop araujo levi sjamaan Motoko-Kusanagi sladegen tarbo CaptainMorgan proq aspect a-s jdev nowhere_man seth keyofnight kilimanjaro saccade merlincorey tessier ttmrichter p1dzkl cky elias` sphex schme xz felipe ineiros rudybot_ carlf Cale rdd tabe Khisanth Axioplase_ duncanm pfo_ borism r0bby travis|away 14:17:02 -!- names: bascule tltstc ctsprsrcl viocizgd eli kalven heat maskd ski zbigniew lisppaste mqt bunz z0d clog klutometis Adrinael XTL michaelw xian chandler j4cbo pbusser2 Deformative vincenz Arelius emma qebab gnomon Paraselene_ Leonidas leppie dlouhy Riastradh minion rmrfchik agemo nasloc__ Elly djjack_ 14:17:04 actually this is a non-issue for me, I am more worried that record names are part of the 'global' namespace, well in psyntax anyways 14:17:07 huh? `lambda' is unrelated here. 14:17:32 i was using 'lambda' as an example 14:17:35 -!- Modius [n=Modius@ppp-70-244-122-30.dsl.austtx.swbell.net] has quit ["I'm big in Japan"] 14:17:35 I don't know about psyntax, but in PLT -- by definition -- nothing is global. 14:17:51 (that is, nothing is global to the two phases.) 14:17:58 (or any number of them) 14:18:34 marco_ [i=d4b16625@gateway/web/ajax/mibbit.com/x-2887912b86abb27d] has joined #scheme 14:18:46 in PLT R6RS, if you do (define-record-type foo), can you use the foo identifier anywhere where the 'foo' record is in scope? 14:19:16 iow , does it make a seperation? 14:19:39 That should be the case. 14:19:59 maybe I should use PLT ;P hehe 14:21:51 Let me hack a quick example. 14:23:41 -!- error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 14:23:46 leppie: http://tmp.barzilay.org/x1.ss 14:24:00 -!- ejs [n=eugen@80.91.178.218] has quit [Remote closed the connection] 14:24:48 Note that `y' has a value that looks like a `foo', but since it's coming from a different level (via the misbehaved `3d-hack' macro), then the result is not an instance of the same struct. 14:25:08 So you actually get two struct types defined at the two levels. 14:25:15 wtf? :) sorry thats just way above my level of understanding! 14:25:27 ok i kinda understand that :) 14:26:15 See the requires: the A module is required both at the runtime level and at the syntax level. 14:26:24 But these two levels exist in different worlds. 14:26:35 It's just like each one is running in its own process. 14:27:50 ok no, i see psyntax and plt is the same 14:28:44 -!- luhar [i=3ba24401@gateway/web/ajax/mibbit.com/x-3a6085bcb50da895] has quit ["http://www.mibbit.com ajax IRC Client"] 14:29:16 i just dont undersand why record names are taking/have to take up 'symbol space' 14:30:07 If you're talking about the r6rs records, then I can't help you there. That's one flamewar I don't want to know about... 14:30:19 lol 14:30:37 i think maybe it just me that wants it like that :| 14:31:02 -!- z0d [n=z0d@unaffiliated/z0d] has quit ["Lost terminal"] 14:31:33 IMO you are naming a record, and not introducing a symbol definition, but that's just me 14:32:09 hiyuh [n=hiyuh@KD125054017176.ppp-bb.dion.ne.jp] has joined #scheme 14:33:09 Well, I know about the debate, and I know that people feel very strongly about either side... One of the PLT results of that is that it has `prefab' struct types, which exist regardless of a struct definition. 14:33:36 but using my method, you cant export the 'record type name' 14:37:58 Well, yeah, the usual structs in PLT are values that are generated on each `define-struct' -- so you can control who sees them via the usual lexical scope (including module imports and exports). 14:38:07 GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has joined #scheme 14:38:37 -!- GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has left #scheme 14:40:57 -!- marco_ [i=d4b16625@gateway/web/ajax/mibbit.com/x-2887912b86abb27d] has quit ["http://www.mibbit.com ajax IRC Client"] 14:42:05 maybe let-struct? ._. 14:42:24 z0d [n=z0d@unaffiliated/z0d] has joined #scheme 14:42:33 scheme is hard, im going sleeping 14:42:35 :) 14:43:06 I just came from there. 14:43:29 Nice place. You really should visit sometime. 14:45:22 leppie: (define (foo) (define-struct foo ...) ...) works in plt 14:45:47 But the implication is that every call to `foo' creates a new struct. 14:46:12 A new type of object... 14:47:35 Yes: s/a new struct/a new struct type/ 14:50:27 sm [n=sm@pool-71-104-94-238.lsanca.dsl-w.verizon.net] has joined #scheme 14:56:18 -!- jonrafkind [n=jon@c-98-202-86-149.hsd1.ut.comcast.net] has quit [Read error: 110 (Connection timed out)] 14:57:24 hemulen [n=hemulen@rrcs-96-10-19-242.se.biz.rr.com] has joined #scheme 15:00:48 -!- ecraven [n=nex@140.78.42.104] has quit ["bbl"] 15:11:23 -!- bombshelter13 [n=bombshel@net2.senecac.on.ca] has quit [No route to host] 15:21:41 . 15:24:06 , 15:25:18 Euphonium [n=Miranda@wikipedia/Antonio-Lopez] has joined #scheme 15:29:05 jonrafkind [n=jon@wireless160.wireless.utah.edu] has joined #scheme 15:32:01 *foof* is once again bitten by (symbolp '()) => t 15:32:13 urnick [n=uruser@igwe16.vub.ac.be] has joined #scheme 15:32:21 -!- urnick [n=uruser@igwe16.vub.ac.be] has quit [Client Quit] 15:33:27 jlongster [n=user@75.148.111.133] has joined #scheme 15:34:39 ( 15:35:45 :( 15:36:27 I was expecting a ) 15:36:37 urnick [n=uruser@igwe16.vub.ac.be] has joined #scheme 15:36:40 But now a second one is needed. ) 15:37:24 ((((((()()(())((((((((((()))))))))))))))))))))))(((((((((( 15:38:22 )))))))))) 15:39:02 [I'm not respnsible for your superfluous ")"s] 15:39:23 -!- urnick [n=uruser@igwe16.vub.ac.be] has quit [Client Quit] 15:40:20 ow ow 15:40:23 rudybot_: uptime 15:40:23 offby1: I've been up for one week, three days; this tcp/ip connection has been up for two days, seventeen hours 15:42:46 -!- schmalbe [n=bernhard@p549A0190.dip0.t-ipconnect.de] has quit [Remote closed the connection] 16:01:24 cracki [n=cracki@41-077.eduroam.RWTH-Aachen.DE] has joined #scheme 16:04:20 http://reddit.com/r/programming/ 16:12:34 -!- schumaml [i=c19b5f04@gateway/web/ajax/mibbit.com/x-756ba1df9c4590ca] has quit ["http://www.mibbit.com ajax IRC Client"] 16:18:15 -!- vasa [n=vasa@mm-15-88-84-93.dynamic.pppoe.mgts.by] has quit ["I am not vasya, i am vasa"] 16:20:33 -!- dnm [n=dnm@c-68-49-46-251.hsd1.va.comcast.net] has quit [] 16:29:09 -!- cracki [n=cracki@41-077.eduroam.RWTH-Aachen.DE] has quit [Read error: 110 (Connection timed out)] 16:44:04 -!- sm [n=sm@pool-71-104-94-238.lsanca.dsl-w.verizon.net] has quit [] 16:59:42 -!- benny [n=benny@i577A0084.versanet.de] has quit [Read error: 104 (Connection reset by peer)] 17:22:10 Adamant [n=Adamant@c-98-244-152-196.hsd1.ga.comcast.net] has joined #scheme 17:22:44 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Remote closed the connection] 17:27:30 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 17:30:30 SchemerNate [i=nathan@lambda.caesium.org] has joined #scheme 17:31:11 Can any one tell me why scsh ?.67 print out it (R6RS) after the version at the top? 17:32:21 Have the docs just not been updated? I haven't read a thing about it going to R6RS any where. 17:32:58 When 0.6.7 was released, `R6RS' was still a joke not yet manifested as a published document. 17:33:16 Ah. 17:35:09 I never did look at the dates. My Bad. 17:35:32 -!- replor_ [n=replor@ntkngw375028.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: 113 (No route to host)] 17:35:42 Is there any more documentaion on the S48 FFI any where? Besides your manual? 17:36:11 I presume the official manual still contains it. After all, I just plagiarized that chapter. 17:39:09 Yes. It dose. I should just read the source and play with it. It seems a little painfull for something like the GhostScript Library. 17:42:20 Well I better get back to work. 17:42:30 -!- SchemerNate [i=nathan@lambda.caesium.org] has quit ["Godo Day."] 17:43:43 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #scheme 17:52:51 -!- Cale [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has quit [Remote closed the connection] 17:58:28 Cale [n=Cale@CPE001c10c70239-CM000e5cdd834a.cpe.net.cable.rogers.com] has joined #scheme 17:58:55 melito [n=melito@70.99.250.82] has joined #scheme 18:05:51 besiria [n=user@ppp083212085103.dsl.uom.gr] has joined #scheme 18:17:35 schme_ [n=marcus@c83-254-190-108.bredband.comhem.se] has joined #scheme 18:18:41 -!- schme [n=marcus@c83-254-190-108.bredband.comhem.se] has quit [Read error: 60 (Operation timed out)] 18:19:28 -!- vorpal [n=rhunter@pdpc/supporter/student/vorpal] has quit ["The incensed priests...continued to raise their voices, vituperating each other in bad Latin"] 18:20:49 cracki [n=cracki@sglty.kawo2.RWTH-Aachen.DE] has joined #scheme 18:24:37 ug [n=merlin@67.159.169.138] has joined #scheme 18:28:13 hotblack23 [n=jh@p5B0559C3.dip.t-dialin.net] has joined #scheme 18:29:13 -!- Motoko-Kusanagi is now known as Kusanagi 18:31:10 jgracin [n=jgracin@82.193.208.195] has joined #scheme 18:33:05 benny [n=benny@i577A0084.versanet.de] has joined #scheme 18:35:33 -!- MichaelRaskin [n=MichaelR@3ad50e34.broker.freenet6.net] has quit ["Leaving."] 18:36:04 -!- hadronzoo [n=hadronzo@ppp-70-247-170-199.dsl.rcsntx.swbell.net] has quit [] 18:39:29 -!- attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has quit [Read error: 110 (Connection timed out)] 18:49:34 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 18:51:48 bashyal [n=bashyal@v-209-98-139-195.mn.visi.com] has joined #scheme 18:53:38 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Client Quit] 18:54:16 sm [n=sm@pool-71-104-93-213.lsanca.dsl-w.verizon.net] has joined #scheme 18:54:50 -!- cmalune [n=cmalune@bb-87-81-97-91.ukonline.co.uk] has quit [] 19:03:36 -!- pixel5 [n=pixel@copei.de] has quit ["Lost terminal"] 19:04:11 tltstc` [n=nine@192.207.69.1] has joined #scheme 19:06:29 bombshelter13 [n=bombshel@net1.senecac.on.ca] has joined #scheme 19:08:02 schmalbe [n=bernhard@p549A0190.dip0.t-ipconnect.de] has joined #scheme 19:27:28 error_developer_ [n=errordev@78-86-1-110.zone2.bethere.co.uk] has joined #scheme 19:34:35 Modius [n=Modius@ppp-70-244-122-30.dsl.austtx.swbell.net] has joined #scheme 19:39:05 kniu [n=kniu@CMU-301252.WV.CC.CMU.EDU] has joined #scheme 19:39:51 -!- errordeveloper [n=errordev@78-86-1-110.zone2.bethere.co.uk] has quit [Read error: 110 (Connection timed out)] 19:50:11 -!- incubot [n=incubot@24-205-65-135.dhcp.psdn.ca.charter.com] has quit [Read error: 60 (Operation timed out)] 19:50:15 tizoc_ [n=user@r190-135-68-185.dialup.adsl.anteldata.net.uy] has joined #scheme 19:51:21 -!- tizoc [n=user@r190-135-4-250.dialup.adsl.anteldata.net.uy] has quit [Nick collision from services.] 19:51:42 -!- tizoc_ is now known as tizoc 19:52:28 -!- Kirakishou [n=kniu@LEMON.RES.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 20:05:16 Dark-Star [n=michael@p57B57FE0.dip.t-dialin.net] has joined #scheme 20:07:20 Hi! anyone in here ever worked with CommonLarceny? 20:14:58 I'm having some trouble getting the .NET stuff working (using the JavaDot syntax) 20:15:59 saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 20:17:34 puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has joined #scheme 20:19:13 I don't know why Larceny gets so little use 20:20:20 im waiting for CommonLarcerny to work with R6RS so I can do some apple to apple comparisons 20:21:05 is bigloo ever intending to support R6RS? 20:24:20 -!- schmalbe [n=bernhard@p549A0190.dip0.t-ipconnect.de] has quit [Remote closed the connection] 20:27:21 -!- bashyal [n=bashyal@v-209-98-139-195.mn.visi.com] has quit [] 20:43:16 is anyone intending to? 20:44:22 In parts, I think some projects will 20:44:48 -!- saccade_ [n=saccade@65-78-24-47.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit ["This computer has gone to sleep"] 20:44:50 Fare: PLT, Ikarus, Larceny, IronScheme, and Ypsilon already do 20:44:58 from the exisitng implementations only PLT and Larcenry have done so, plus a handful of new implementations 20:45:18 I expect chez will as well 20:45:26 samth: there is MoshScheme too 20:45:32 lisppaste: url 20:45:32 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 20:45:36 leppie: right, forgot them 20:47:45 samth: when are you giving a talk at the Boston Lisp Meeting? 20:47:55 Fare: hmmm 20:50:59 -!- jgracin [n=jgracin@82.193.208.195] has quit [Remote closed the connection] 20:52:14 -!- bombshelter13 [n=bombshel@net1.senecac.on.ca] has quit [Read error: 60 (Operation timed out)] 20:54:15 -!- Euphonium [n=Miranda@wikipedia/Antonio-Lopez] has quit ["I am Suiseiseki"] 21:02:47 -!- ventonegro [n=user@136.166.1.3] has quit ["ERC Version 5.2 (IRC client for Emacs)"] 21:02:57 -!- jlongster [n=user@75.148.111.133] has quit [Read error: 60 (Operation timed out)] 21:05:34 ggbbgg [n=russd@willers.employees.org] has joined #scheme 21:19:35 MichaelRaskin_ [n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru] has joined #scheme 21:23:21 -!- Nshag [i=user@Mix-Orleans-105-3-32.w193-250.abo.wanadoo.fr] has quit ["Quitte"] 21:25:05 GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has joined #scheme 21:25:12 -!- GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has left #scheme 21:28:37 -!- langmartin [n=user@75.148.111.133] has quit [Read error: 113 (No route to host)] 21:31:38 -!- wastrel [n=wastrel@nylug/member/wastrel] has quit ["l8rz"] 21:32:48 chicken or gambit? 21:35:33 AshyIsMe [n=User@202.176.4.21] has joined #scheme 21:35:47 BW^- [i=Miranda@94.191.174.214.bredband.tre.se] has joined #scheme 21:35:57 minion: advice for ggbbgg 21:35:57 ggbbgg: #11959: Cargo-cult. 21:36:01 question, how do bigloo executables increase in size with increasing complexity? 21:36:04 any experiences? 21:36:14 i know (display "hello world") takes 6KB for binary 21:36:33 but what about a TCP server that needs garbage collection, binary data manipulation etc 21:36:34 ? 21:38:38 by the way, i am so absolutely delighted by the way Scheme saves one from "event programming" style programming 21:39:34 -!- jonrafkind [n=jon@wireless160.wireless.utah.edu] has quit [Connection timed out] 21:39:48 BW^-: 6K for display hello world? 21:40:28 yes. 21:40:35 helloworld.exe 21:40:41 that is very good imo. 21:40:54 no deps? 21:42:07 -!- kniu [n=kniu@CMU-301252.WV.CC.CMU.EDU] has quit [Connection timed out] 21:42:09 BW^-: from a low level perspective that's pretty disgustingly huge :P but ok 21:42:25 I assume it is all static 21:42:37 ? 21:43:21 i suppose 21:43:30 i think 6KB is the lowest Visual C gets too. 21:43:46 karlw [n=user@doecev-wlan2-150-25.AirBears.Berkeley.EDU] has joined #scheme 21:43:55 -!- hemulen [n=hemulen@rrcs-96-10-19-242.se.biz.rr.com] has quit [] 21:44:01 i dont know how bigloo compiles 21:44:15 does it generate c? 21:44:47 arcfide [n=arcfide@adsl-99-14-208-195.dsl.bltnin.sbcglobal.net] has joined #scheme 21:44:54 -!- karlw [n=user@doecev-wlan2-150-25.AirBears.Berkeley.EDU] has left #scheme 21:45:03 lo arcfide 21:45:18 Hello leppie. 21:45:37 karlw [n=user@doecev-wlan2-150-25.AirBears.Berkeley.EDU] has joined #scheme 21:46:49 Does anyone know of a good CGI library? 21:47:32 karlw: There is Oleg's CGI Utilities, but I know there are some others around as well. 21:48:17 BW^-: you're correct, indeed. Minimum asm is much less though. At least it's not C++ - 8.5K here! 21:52:30 -!- karlw [n=user@doecev-wlan2-150-25.AirBears.Berkeley.EDU] has left #scheme 21:52:32 :) 21:53:00 I guess karlw knew what he wanted and didn't waste words. 21:53:02 leppie: C, yes. 21:53:14 jdijk [i=jdijk@ftth-212-84-159-210.solcon.nl] has joined #scheme 21:54:32 i mean, it's just so sweet 21:54:40 i was just almost about to write one thing in C++ 21:54:58 until i realized that 90% of my code would be event programming stuff 21:55:07 and in scheme it's there by implication 21:55:28 so we get smaller code and greater clarity 22:00:49 ISTR a .. 32M (give or take x2) hello world in Java 22:01:04 gcj on Irix perhaps 22:03:40 Oberon with oo2c produces an 8K hello world 22:05:10 ghc might have been pretty impressive as well 22:05:44 but of course all of these "bigger" languages have to include a lot of runtime 22:06:09 mbishop, even C programs have to include a run-time, it's just that most of the c runtime comes by default on systems. 22:06:29 if you had a scheme machine... 22:06:30 la la la 22:06:41 -!- jdijk [i=jdijk@ftth-212-84-159-210.solcon.nl] has quit [Read error: 60 (Operation timed out)] 22:07:07 xz: Well, in Chez Scheme, the runtime is about 752K, but on my system, libc.so is about 4M. 22:07:52 xz: Well, including the petite binary it's probably about 1M. 22:08:22 s/petite/Petite/ 22:09:46 lelf [n=lelf@217.118.90.126] has joined #scheme 22:10:01 anyone interested in tiny programs... http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html 22:10:13 tiny executable that is 22:12:54 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110 (Connection timed out)] 22:13:29 bombshelter13 [n=bombshel@209-161-229-68.dsl.look.ca] has joined #scheme 22:13:52 -!- AshyIsMe [n=User@202.176.4.21] has quit ["Leaving"] 22:15:12 annodomini [n=lambda@64.30.3.122] has joined #scheme 22:17:10 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 22:17:40 annodomini_ [n=lambda@129.170.131.224] has joined #scheme 22:18:57 -!- jewel [n=jewel@dsl-242-171-245.telkomadsl.co.za] has quit [No route to host] 22:23:36 -!- Dark-Star [n=michael@p57B57FE0.dip.t-dialin.net] has quit [] 22:23:38 -!- puchacz [n=puchacz@87-194-5-99.bethere.co.uk] has quit [Remote closed the connection] 22:26:37 JohnnyL [i=JohnnyL@ool-182ddad4.dyn.optonline.net] has joined #scheme 22:29:42 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [] 22:30:29 Daemmerung [n=goetter@64.146.161.228] has joined #scheme 22:30:40 -!- Fare [n=Fare@ita4fw1.itasoftware.com] has quit ["Leaving"] 22:30:40 synthasee [n=synthase@68.63.20.12] has joined #scheme 22:32:28 choas [n=lars@p5B0DE51E.dip.t-dialin.net] has joined #scheme 22:38:06 -!- lelf [n=lelf@217.118.90.126] has quit ["used jmIrc"] 22:39:29 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Connection timed out] 22:41:04 -!- cemerick [n=la_mer@75.147.38.122] has quit [] 22:53:40 jonrafkind [n=jon@wireless160.wireless.utah.edu] has joined #scheme 22:53:58 kniu [n=kniu@CMU-301252.WV.CC.CMU.EDU] has joined #scheme 22:54:28 gweiqi [n=greg@69.120.126.163] has joined #scheme 22:57:51 Poeir [n=Poeir@c-98-222-133-165.hsd1.il.comcast.net] has joined #scheme 23:02:33 -!- BW^- [i=Miranda@94.191.174.214.bredband.tre.se] has quit [Read error: 104 (Connection reset by peer)] 23:03:51 -!- Wardje [n=Ward@67.202.80.55] has quit [Read error: 60 (Operation timed out)] 23:04:04 Wardje [n=Ward@67.202.80.55] has joined #scheme 23:08:12 -!- carlf [i=carlf@photocarl.org] has quit ["leaving"] 23:11:45 BW^- [i=Miranda@94.191.174.214.bredband.tre.se] has joined #scheme 23:14:32 -!- choas [n=lars@p5B0DE51E.dip.t-dialin.net] has quit ["leaving"] 23:19:35 daemmerung: around? 23:19:44 anyone tried (compile-file) in Gambit under Cygwin? 23:20:07 perhaps i have some config error, but it pipes #!/bin/sh etc etc into windows' cmd 23:21:27 -!- hotblack23 [n=jh@p5B0559C3.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 23:22:57 anyone here use scheme for scripting in games? 23:25:09 -!- jonrafkind [n=jon@wireless160.wireless.utah.edu] has quit [Read error: 110 (Connection timed out)] 23:25:37 moonfart [n=moonfart@199.2.121.90] has joined #scheme 23:29:21 -!- moonfart [n=moonfart@199.2.121.90] has quit ["Leaving"] 23:31:16 -!- elmex [n=elmex@e180064147.adsl.alicedsl.de] has quit [Remote closed the connection] 23:32:18 moonfart [n=moonfart@199.2.121.90] has joined #scheme 23:32:36 GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has joined #scheme 23:32:38 raikov [n=igr@203.181.243.11] has joined #scheme 23:32:42 -!- GreyLensman [n=ray@c-76-108-235-51.hsd1.fl.comcast.net] has left #scheme 23:34:21 -!- papermachine [n=ahoman@61.152.106.169] has quit ["Ex-Chat"] 23:57:19 -!- bpt [n=bpt@cpe-071-070-209-067.nc.res.rr.com] has quit [Read error: 104 (Connection reset by peer)] 23:57:56 attila_lendvai [n=ati@catv-89-133-170-239.catv.broadband.hu] has joined #scheme 23:58:00 bpt [n=bpt@cpe-071-070-209-067.nc.res.rr.com] has joined #scheme