00:08:22 -!- sepult [n=levgue@xdsl-87-78-123-225.netcologne.de] has quit [Remote closed the connection] 00:08:43 -!- MrFahrenheit [n=RageOfTh@users-38-230.vinet.ba] has quit [Read error: 104 (Connection reset by peer)] 00:09:58 Guest12841 [n=levgue@xdsl-87-78-123-225.netcologne.de] has joined #scheme 00:10:32 -!- Guest12841 [n=levgue@xdsl-87-78-123-225.netcologne.de] has quit [Remote closed the connection] 00:12:46 sepult` [n=levgue@xdsl-87-78-123-225.netcologne.de] has joined #scheme 00:14:45 -!- sepult` is now known as sepult 00:26:30 dmoerner [n=dmr@89-151.res.pomona.edu] has joined #scheme 00:27:28 -!- jrtayloriv [n=jrt4@cpe-69-205-162-163.stny.res.rr.com] has quit [Read error: 110 (Connection timed out)] 00:33:50 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 00:38:40 jrtayloriv [n=jrt4@cpe-69-205-162-163.stny.res.rr.com] has joined #scheme 00:38:41 -!- mrsolo [n=mrsolo@nat/yahoo/x-nsmseiatdoigwkyl] has quit ["Leaving"] 00:43:36 -!- sepult [n=levgue@xdsl-87-78-123-225.netcologne.de] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 00:50:48 -!- Daemmerung [n=goetter@1133sae.mazama.net] has quit [Read error: 104 (Connection reset by peer)] 00:50:56 Daemmerung [n=goetter@1133sae.mazama.net] has joined #scheme 01:12:05 OSX comes with an ssh client, right? 01:13:40 -!- dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has quit [] 01:14:10 Is everybody dead? 01:14:28 *eli* blames the three-ring r6rs-discuss circus 01:22:27 *Elly* is dead 01:38:09 I find it highly unlikely that everyone is dead. 01:38:48 I'm 99% sure I'm alive 01:38:49 ve [n=a@94-193-95-252.zone7.bethere.co.uk] has joined #scheme 01:42:14 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 01:46:18 Yes, eli, we're all dead, but OS X does come with OpenSSH, client and server. 01:48:31 nobody here but us zombie processes. 01:48:48 *offby1* assumes that they've ****ed it up somehow 01:49:02 Riastradh: Sorry to disturb your eternal rest, but if I say that "you should run \"ssh\" on the console" -- will it make sense to naive OSX users? 01:49:14 *offby1* laughs cruelly 01:49:22 `Console' won't make sense, because Console.app is the log viewer. 01:49:47 There is no spoon 01:50:00 naive like people who think having a wireless router removes the need to charge your battery? 01:50:03 probably not 01:50:04 You can get at a console, by logging in at the GUI login screen with a username of >console, but exceedingly few users ever have any reason to do that. 01:50:38 Riastradh: So what's the name of the console window thing on OSX? 01:50:44 Terminal 01:50:44 /Applications/Utilities/Terminal.app 01:51:20 type 'Terminal' into Spotlight, top hit 01:51:35 What is this `Spotlight' of which you speak? 01:51:44 OK, so "you should run \"ssh\" in Terminal" -- ? 01:52:41 (I think that OSX is the single OS where people can get confused if they see the wrong capitalization.) 01:52:55 (Ipod anyone?) 01:52:56 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 01:52:58 Some users give me puppy dog faces when I invoke the terrible word `Terminal', and then turn the keyboard to me. Most users I interact with regularly, however, use ssh all the time. 01:53:09 (What the heck is an `Ipod'? Is that some Greek god or something?) 01:53:18 Riastradh: it's only 4 years old, so you probably haven't heard of it yet 01:53:27 Spotlight, I mean 01:53:46 Ipod is the father of Ifon. 01:54:21 Ipod, father of Ifon, father of Izod, father of Iman 01:54:33 zbigniew, oh, yes, is that the obnoxious and useless daemon that spins up all my disks to index them with no way to turn it off so I have to tell it for each and every file system I ever mount that I really don't want it to index it? 01:55:12 incubot: mccoy, son of david 01:55:15 Hatfield and McCoy eh 01:55:33 quick question - I'm doing a little survey. Any opinions on what languages nicely (best?) facilitate mutual recursion (syntax, safety, etc.) - SML, Scheme, Haskell, Lisp, ...??? 01:55:44 ? 01:57:32 Nothing like surveying the preferred religion in your local church/synagogue/mosque/whatever. 01:57:45 :) 01:58:02 Schemer's seem a fairly ecumenical group 01:58:07 sepult [n=levgue@xdsl-87-78-123-225.netcologne.de] has joined #scheme 01:58:13 Riastradh: certainly, if by obnoxious you mean unobtrusive, useless you mean useful, daemon you mean GUI, and "spin up" you mean keep spinning because you just wrote data a moment ago, then that would be correct. 01:58:47 ... unless you've figured out how to write data without spinning up your disks. 01:59:00 Summermute: Sorry, I had to use Google to translate that, and what comes up sounds like the opposite of schemers. 01:59:21 (At least what I saw had a lot of "unity"s spread around.) 01:59:38 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 01:59:40 Summermute: FORTH 02:01:02 Wait, doesn't forth's linear dictionary preclude straightforward mutual recursion? 02:01:19 incubot: doesn't forth's linear dictionary preclude straightforward mutual recursion? 02:01:21 oxford english dictionary 02:01:31 ah, clever 02:02:15 zbigniew, no, if I just mount a disk to read from it, and I haven't mounted the disk before, Spotlight will start indexing it. If it's a big disk, this takes a long time (on the order of hours), during which time, unless I stop Spotlight, I can't unmount the disk without making OS X unhappy. 02:02:39 yome [n=usah@70.48.77.153] has joined #scheme 02:03:16 I don't *ever* use Spotlight's search (nor do I ever have any inclination to use it -- not even when Spotlight first came out and before it thoroughly irked me), so it shouldn't waste any CPU cycles and disk spins reading. But there's no way just to TURN SPOTLIGHT OFF. 02:03:41 That sucks, guy. It's really useful. 02:03:43 (At least, not without mucking with launchd configuration files in /System/Library and such.) 02:04:08 I don't deny that it may be useful to some people, but for me, it serves only the purpose of wasting my time. 02:04:26 You did say "all my disks", which implies internal disks, on which the performance impact is minimal. 02:05:04 I'm talking about *any* disks I mount, whether internal or external. 02:05:32 how about spinal disks? 02:06:25 The performance impact is absolutely not minimal: before I disabled it, Spotlight would make its presence very clear by heating up my lap and noisily spinning the fan, for long periods of time (on the order of hours). 02:07:01 Riastradh: are you running on a Quadra? 02:07:29 I'm not interested in arguing about this. If you have a way to turn Spotlight off, let me know; otherwise, this isn't worth discussing. 02:08:00 (No, this is on a MacBook and a PowerBook G4.) 02:09:40 Sorry, I don't know how to do it globally for external drives, I only know about `mdutil -i` when mounted or `touch .metadata_never_index`, but it means you have to mount it first 02:10:03 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["Lost terminal"] 02:24:35 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 02:30:41 It's very easy to dislike "convenience" that Apple software throws at you. I mean, have you ever tried Xcode? Makes Visual Studio enjoyable. 02:39:32 -!- copumpkin [n=pumpkin@dhcp-210-127.cs.dartmouth.edu] has quit [] 02:40:15 copumpkin [n=pumpkin@dhcp-212-249.cs.dartmouth.edu] has joined #scheme 02:47:25 eno [n=eno@nslu2-linux/eno] has joined #scheme 02:48:26 jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has joined #scheme 02:50:25 -!- yome [n=usah@70.48.77.153] has quit ["zzz"] 02:50:44 Riastradh: Can't you just add your entire disk to the exclusion list? 02:50:54 That doesn't work for other disks, chandler. 02:51:06 I don't want Spotlight to index whatever random external disks I try to mount. 02:52:10 -!- psykotic [n=psykotic@61.98.78.235] has quit [] 02:52:54 tjafk2 [n=timj@e176198144.adsl.alicedsl.de] has joined #scheme 02:53:19 The first Google result for `disable spotlight' seems to be relevant... 02:54:03 Yes. But it makes it clear that Apple doesn't want users to disable it -- disabling it entails editing things in /System/Library, which is not supposed to be done. 02:54:53 Of course. So, put up with it then, or hack something and deal when it breaks later. 02:55:08 That state of affairs still doesn't leave me happy about Spotlight! 02:55:48 I haven't found Spotlight to be as loathsome in Leopard, and less noticeable yet in Snow Leopard. 02:59:42 -!- eno__ [n=eno@adsl-70-137-149-10.dsl.snfc21.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 03:05:43 chandler: it's much faster in Leopard than Tiger, I've noticed 03:06:01 is it wrong though that I've considered ditching macports for virtualbox + ubuntu? ;) 03:06:18 No. MacPorts is pretty random these days. 03:07:00 Death to the Mac UI. 03:07:43 I already migrated some of my OS X X11 apps to run over VNC on my Linux server anyway; other than that, macports is useful for a few unix utils plus wireshark, basically 03:08:35 Given the crap I deal with in macports and the supposed problems with Snow Leopard, now may be the time to wean myself off it 03:09:08 -!- tjafk1 [n=timj@e176212225.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 03:09:20 I'd use pkgsrc, but I don't think Mac OS X is as easy with chroot environments as NetBSD is. 03:09:40 OTOH, I know someone who runs very happily with a Tiger skin (!) over Windows (!!) 03:11:00 I'd just like precompiled OS X packages, a la aptitude 03:11:01 -!- luz [n=davids@189.122.90.116] has quit ["Client exiting"] 03:14:38 bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has joined #scheme 03:23:53 -!- phax [n=phax@unaffiliated/phax] has quit ["Leaving"] 03:28:59 -!- nightmode1 [n=Carbon@194.146.155.70] has left #scheme 03:30:48 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 03:46:19 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 03:54:28 -!- Nshag [i=user@Mix-Orleans-106-4-157.w193-248.abo.wanadoo.fr] has quit ["Quitte"] 03:57:07 MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 04:32:13 -!- lowlycoder [n=x@unaffiliated/lowlycoder] has quit ["leaving"] 04:48:27 emma [n=em@unaffiliated/emma] has joined #scheme 04:49:11 *jcowan* hopes he has set the cat among the pigeons now. 04:50:18 -!- ASau [n=user@83.69.240.52] has quit [Remote closed the connection] 04:55:40 The top level is hopeless? That whole mailing list is hopeless! 04:56:55 jcowan, from , `...unless both operands were fixnums.' Unless the first operand were a fixnum and the second were a non-negative fixnum, surely? 05:04:01 There's a bit of history 05:05:42 Riastradh: Yes, but the point is about static typing. The type of 1^-2 was bottom, but you don't know that until runtime; its *static* type is integer. 05:05:46 s/was/is 05:06:12 Ah, I see. 05:06:22 *jcowan* 's "The tale of Professor Simpleton and Dr. Hardcase" has just come through. Read and laugh. 05:06:25 (I hope.) 05:06:40 Wow, that's a minor nightmare 05:06:44 -!- MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has quit ["DOWNLOADING LATEST VERSION OF THE INTERNET"] 05:06:59 http://lists.r6rs.org/pipermail/r6rs-discuss/2009-September/005487.html for non-subscribers 05:09:52 -!- annodomini [n=lambda@wikipedia/lambda] has quit [] 05:10:10 jcowan, yes. Next question? 05:11:51 I've been reading through the r6rs list (still catching up) and I just don't know if the majority of folks involved have the same motivations I have for evolving scheme. I mean, the technical decisions and design are where the rubber meets the road, but with a completely different set of motivations or goals, the likelyhood of that design meeting my wants and needs is VERY VERY SMALL. 05:12:16 retroactive...syntax... @.x 05:13:53 I suppose your standard perl script sh wrapper is retroactive syntax. Can't think of any other useful example though... 05:14:10 ????? 05:14:17 Summermute: Well, feel free to look at http://tinyurl.com/thing-one , which is where I keep my current set of proposals for small Scheme. It's less painful than reading all my postings, at least. 05:14:18 synx: (begin (define (foo) (fnord)) (define-syntax fnord ...)) 05:14:44 stop making my head hurt >_< 05:14:46 I can see the fnords! 05:15:00 See what? I don't see anything. 05:15:28 *jcowan* wonders if there is any connection between the fnords and the fjords; he lives on the most southerly fjord in the Northern Hemisphere. 05:15:49 I'd be fine if that raised an error... it would be confusing though. 05:15:58 Newfoundland? 05:16:00 In R6RS it just works. 05:16:04 New York City, Summermute. 05:16:19 In any sensible system it just works. In some insensible systems it does, too. 05:16:20 I try to think of syntax transformers as transforming the whole module once for each use of each transformer. Like multiple passes... 05:16:24 So I need not pine for the fjords, merely walk to the river. 05:16:31 Well, that's wrong, synx. 05:16:42 :-) 05:16:57 Well how does it work then? ;_; 05:17:34 It determines all the syntax definitions first, and then processes the rest later. 05:17:44 Just as Dr. Hardcase did. 05:17:53 (or rather, his readers had to) 05:18:14 There is, at least, a rule that a random form cannot be changed into a syntax definition as a result of a syntax-meta-definition that appears after it. 05:18:23 (I think that's what the rule says.) 05:19:23 psykotic [n=psykotic@222.106.128.23] has joined #scheme 05:19:23 I understand, but the syntax transformers each themselves produce syntax, which might be now applicable to other syntax transformers. So it has to pass through them multiple times until no more matches are found. 05:20:24 I see that you borrow procedures from SFRI's - do you envision a scheme "big" enough to actually load and run all of the SFRI's ? 05:22:56 -!- schemer999 [n=schemer9@76.89.231.7] has quit [Read error: 110 (Connection timed out)] 05:23:48 Not quite, jcowan. 05:24:04 (The acronym is `SRFI', Summermute. Pronounce as `surfie'.) 05:24:26 whoops 05:27:44 ASau [n=user@83.69.240.52] has joined #scheme 05:28:06 It is not the case that for every SRFI it makes sense to `load and run' it. 05:29:04 Sure - but many/most include some simple reference implementation. But I hear you. 05:29:30 Moreover, since the SRFI process is open, one cannot merely collect every conceivable change proposed by SRFIs and formalize them in a way of which sense could be made to load and run it. 05:30:56 Hmm. `It'? `Them'. 05:31:09 I was just getting at the question of how "small" folks envision the new small scheme, and what cherry picking specific routines from SRFI's in John's proposal was all about in this regard 05:45:57 More cherry-picking SRFIs. 05:46:12 In only two cases, I think, have I cherry-picked individual names from SRFIs. 05:46:47 There's got to be some features the committee can dislike and get rid of, in accordance with Harshaw's 0th Law: "If they don't pee in it, it won't smell like them." 05:46:55 s/committee/WG 05:47:37 ;-) 05:48:17 You'll pardon me if I don't tell you which features I planned as scapegoat. 05:48:23 s/goat/goats 05:48:31 I already got rid of blobs from the core language as such a goat. 05:48:44 *jcowan* just likes typing the word "goat", and saying it aloud, too. 05:48:44 i love many of the srfi's and, usually with some mods i'd like, i'd love to see them in the 'big' langage 05:48:58 Eager comprehensions for example 05:49:18 That's the sort of thing that *is* easy to implement in the small language, so (according to me) should be in a module. 05:49:39 I would not love to see eager comprehensions standardized, because they are not very well designed. 05:49:43 The only one I rejected on personal grounds was cut/cute. I just hate that one. 05:49:46 That is, SRFI 42's, anyway. 05:49:52 *jcowan* agrees. 05:50:02 The others are all extremely widely implemented. 05:50:06 R: I agree. To me the design isn't "ambitious" enough 05:50:14 `Ambitious'? 05:50:22 Comprehensive? 05:50:53 There are some features that don't compose, and some options I'd like to see 05:51:13 Or features rather than options, I suppose 05:51:26 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit ["+++ killed by SIGSEGV +++"] 05:51:36 All this talk of `features' makes me twitch. 05:52:13 i spent a few years with Common Lisp nearly 20 years ago, so I'm tainted 05:52:15 I identify features, for the most part, with bound identifiers. 05:52:27 That's why I speak of "feature groups". 05:52:54 I think you should call them `creature groups' instead. 05:53:01 *jcowan* laughs. 05:54:45 One of my weird design fetishes is that for whatever sequence operation is going on, i'd like to see: start, end, start-at pred, stop-at pred, test pred (basically integrated filter), and then independent types for the source and sink of data for the operation. Off the cuff, but you get the idea. 05:54:58 GeoffSK [n=geoffrey@210.49.251.180] has joined #scheme 05:55:06 There are many such uses of "feature" in R5RS, notably in 1.3, though also places where "feature" is used more generically. 05:56:07 has anyone used mosh scheme? 05:56:44 Not in anger. I fooled about with it a little. 05:57:05 Oh, and for sources, iteration over pairs, triples, etc, - like unzipping the source, or iterating (mapping, folding, etc.) over key/val pairs in hash tables. 05:57:24 Never heard of mosh scheme 05:57:25 hullo 05:57:43 (jcowan) i must be missing something, but i tried to import a srfi and it it didn't work -- (import (srfi :1 lists)) 05:58:23 The implementation doesn't understand the SRFI 97 convention, evidently. 05:59:04 It says that it does. No problems i guess i will email the higepon (the lead developer) 05:59:06 Summermute, before I go to bed, I'll leave you with a reference to and , which may not be perfect, but which is certainly better than SRFI 42. 05:59:24 great! 06:00:11 I've seen other interesting alternatives - comprehensions with a good set of options, even the old CL Loop Macro 06:00:29 There is an outstanding problem that I meant to resolve a couple of months ago when I thought about it, but which I don't think I did resolve. 06:00:42 ? 06:01:22 It's not very important; it just has to do with the environments of final expressions, WHILE and UNTIL expressions, and when loop variables are updated, particularly in tricky cases such as the DOWN-FROM iterator. 06:01:58 like what is still in scope in the final expressions? 06:01:59 Well, rather, it's not that it's not important, but you are not very likely to encounter a problem with it, or you wouldn't be if I hadn't pointed you toward the place where the problem is. 06:02:08 Oh, Riastradh? I asked you this before, I think, but I forget what you said. 06:02:12 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 06:02:27 Do you believe that importing a module should imply loading code if the implementation knows where to load code from? 06:02:36 (and it is not loaded already, obviously) 06:03:02 What else would the implementation do, jcowan? 06:03:21 Report an error that the imported module is not loaded. 06:03:48 Well, that's not very useful. Why would it do that? 06:03:56 Separation of concerns. 06:04:05 Files (which may contain many modules) must be loaded, modules must be imported. 06:04:21 That's a silly arrangement. 06:04:22 Chicken has convenience syntax (use, require-extension) to do both at once, but separates load and import completely. 06:05:57 Um, what is the option to loading code? Lazy loading? 06:06:25 If the system recognizes a module's name, it should know how to `load' that module, whatever that means -- and whether that be by reading code from a file and evaluating it, by conducting content-type negotiation on some URI with some server, by pulling code out of a source code database a la Dylan, by locating the compiled code associated with the module, &c. 06:06:39 If the system doesn't recognize a module's name, then it should say so: `I don't know what this module you have named is.' 06:07:15 I would rather say that LOAD in such a system does eager loading, whereas IMPORT does lazy loading. 06:07:18 That makes sense 06:07:49 IMHO, we could just drop LOAD 06:07:51 The procedure LOAD is an implementation artefact. It should be forgotten as anything else. 06:07:54 After all, the implementation cannot reasonably expect to know where *all* modules are. So it must have the ability to eagerly load the implementation of a module so that the module can be imported. 06:08:30 Unless, of course we adopt the rigid Java convention of one file per module, module name same as file name. 06:08:32 psykotic_ [n=psykotic@222.106.128.23] has joined #scheme 06:08:55 What the R6RS misses (and what Scheme48 also misses, to some extent, although not quite so badly) is a module naming authority. 06:09:07 Java uses the file system as one source of naming authority. 06:09:23 I can see a lazy loading that allows some degree of mutually recursive modules - that might be a tangible benefit 06:09:35 Does an extensible, portable naming authority really replace ad hoc LOAD? 06:09:42 It was proposed that the R6RS use URIs as a source of naming authority, but that proposal was rejected some four years ago. 06:09:58 They were just names in any case: the authority was implicit. 06:10:00 Java's scheme is so stupid, but it works so well. Organizing projects is relatively easy. 06:10:20 All very well for Java, but I think it's too tight a restriction for Scheme. 06:10:40 There was no implication that the URI could be used to actually obtain the module's implementation. 06:11:04 Hell, then do what would it refer otherwise? 06:11:16 In Scheme48, the naming authority is just like Scheme's lexical scope -- the configuration language is lexically scoped, but you can store definitions of names on the file system, which you inform the compiler of by an operation that is accidentally named LOAD because it happens to coincide with the implementation artefact of a Scheme LOAD procedure. 06:11:24 It would simply be (as in many contexts on the Web) a uniquely assigned, human-intelligible name. 06:12:23 like a URI gensym :-0 06:12:26 URIs add two layers of distributed naming authorities: one in the naming authority of the DNS (which in turn has n layers of naming authority), and one in the owner of each hostname. 06:12:38 *jcowan* nods. 06:13:00 That is, HTTP URIs. There are also tag: URIs, which require the possession only of an email address, not a DNS name. 06:13:15 Well, the generic URI syntax. 06:13:38 The *generic* syntax permits other sources of ultimate naming authority than DNS, though DNS is certainly the most used. 06:13:47 Hey, let's put all the scheme source in gopher ;-) 06:13:50 True. 06:14:28 *jcowan* likes gopher, actually. 06:14:38 In any case, a LOAD procedure, to read and evaluate Scheme programs from a file, is the wrong approach. 06:15:09 *jcowan* nods. 06:15:27 I follow your arguments, though I think it's still worth having. However, it is the unique member of the %load feature group, so it's easy to omit. 06:15:31 The organization of programs into modules should, for the most part, be described declaratively. Requiring programmers to call LOAD in order to organize their programs is a mistake. 06:15:39 Can you point me to the S48 explanation of (pseudo-)load? 06:15:41 Sure. Or put it on http and then just use Google to lookup modules sources, routines, etc. I bet Google would even add an option to view scheme via some inline documentaton system like PLT's Scribble 06:16:37 I don't propose requiring it, just permitting it. It also cuts the Gordian knot around the system realizing that the module has been updated on disk (or wherever). 06:17:01 jcowan, well, Scheme48's compiler and linker implements the Scheme48 configuration language -- DEFINE-STRUCTURE, DEFINE-INTERFACE, &c. -- as macros that expand to forms like (define foo (make-structure ...)). Thus, informing the compiler or linker of the organization of a program is implemented by loading `Scheme' source files into the appropriate environment, where those macros are defined. 06:17:02 And %load requires %eval (though technically not %files, as the argument might not be a file) 06:18:48 But what I just described is implementation details. You could just as well have a command-line compiler or linker that takes as arguments a list of files containing configurations, and it could process them in a completely different way, provided that it implement certain lexical scope rules (particularly for parametrized modules). 06:19:07 *jcowan* hears "parameterized modules" and flees. 06:19:51 But you'll be happy to know that I'm going to propose INCLUDE, so that one can create a separate config language a la S48, though it is only not-Scheme by convention. 06:20:00 The `load' operation is really only part of the user interface -- it's just convenient to reuse it for several purposes. 06:20:01 or SRFI-7 06:20:02 Ooooooooo, like Functors? 06:20:14 Yes, Summermute, as in SML functors. 06:20:33 Sorta. (library foo (export ...) (import ...) (include "...")) 06:20:43 Anyway, you should email Jonathan Rees about this, jcowan: he's the one who designed the system, not me; I am only interpreting it. 06:20:55 Thanks; I may. 06:21:08 -!- psykotic [n=psykotic@222.106.128.23] has quit [Read error: 110 (Connection timed out)] 06:21:14 Those who want to mix config language with source can put the source inside the library form a la R6RS. But they don't *have* to. 06:21:37 *jcowan* always forgets that Chicken's export form doesn't use the word "export". 06:21:48 s/form/sub-form 06:22:16 What's the syntax instead? 06:22:25 Is there an obviously better alternative to rename-on-export for cases like SRFI 101, where you expect the module to override core names, but also uses those core names? 06:22:32 (module foo (bar baz) ...) exports bar bar 06:22:36 s/bar bar/bar baz 06:22:43 (module foo * ...) exports everything 06:23:04 But I would never do that. 06:23:31 I just tend to type (export bar baz) and then Chicken complains that 'export' is not a known name. 06:24:05 s/the module/to use the module 06:24:23 I like the idea of marking top level form for export and then exporting "exported" in the module definition. Very convenient. 06:24:45 'top level forms' or defs, whatever 06:24:51 In Chicken it's implicitly marked: the first form *is* the list of exports. 06:25:19 -!- GeoffSK [n=geoffrey@210.49.251.180] has left #scheme 06:25:27 Also, if you type (module foo (import scheme) (import chicken) ...) because you have nothing to export, you wind up not importing Scheme and you get errors. 06:25:49 That doesn't come up much, although I've done it while messing with the module system. 06:25:53 But I don't like listing the exports at the module start and then have all the definitions separately. I'd rather just mark a subset of the definitions as to be exported. 06:26:09 That makes it impossible to separate code from module structure, as some prefer to do, though. 06:26:23 I agree personally, but it's easy enough to escape with clever macrology. 06:26:25 Sure, but it can be an option. 06:26:50 Just like an option (export all), but a feature for marking selected definitions NOT for export. 06:26:59 Ah. 06:27:10 That too could be a macro that generates a library form. 06:27:27 Riastradh: any comment on the rename-on-export before you go? 06:27:43 Tough because one would have to examine the whole module top level 06:28:16 Not so tough. 06:28:33 Not as complicated a rearrangement as the "let" macro. 06:28:55 Or maybe some scheme using a per-module list where "noexport(helper-func)" populates the list for later use by the module? 06:29:10 -!- psykotic_ [n=psykotic@222.106.128.23] has quit [Connection timed out] 06:29:33 Order of eval issues there 06:33:10 Night 06:33:35 -!- Summermute [n=scott@c-68-34-67-216.hsd1.dc.comcast.net] has quit [] 06:34:00 jcowan, its omission from Scheme48 was a mistake. 06:34:19 *jcowan* nods. 06:34:29 It certainly helps in such a case as overriding car, cdr, and cons. 06:34:29 I still haven't written the discussion of module systems that I meant to write several weeks ago. Phooey. 06:34:48 Well, that's not really an issue. 06:34:54 You might as well rename those on import instead. 06:35:17 True, but I wasn't providing individual rename, just prefixing. 06:36:42 This is one of the few places where I want de-prefixing instead. 06:36:55 Anyhow, it grows very late. 06:36:57 Farewell. 06:37:00 Anyway, it is long past my bed-time. 06:37:03 ...quite. 06:37:05 Good night! 06:37:33 But if you can write the module systems soon, it would be very timely for me, as I'm about to write my proposal. 06:37:37 -!- jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has quit ["Leaving"] 06:39:58 HG` [n=HG@85.8.89.117] has joined #scheme 06:46:44 psykotic [n=psykotic@222.106.128.21] has joined #scheme 07:00:59 psykotic_ [n=psykotic@222.106.128.21] has joined #scheme 07:01:06 -!- psykotic [n=psykotic@222.106.128.21] has quit [Read error: 104 (Connection reset by peer)] 07:01:19 -!- psykotic_ is now known as psykotic 07:05:47 -!- copumpkin [n=pumpkin@dhcp-212-249.cs.dartmouth.edu] has quit [] 07:35:42 -!- dmoerner [n=dmr@89-151.res.pomona.edu] has quit ["Leaving"] 07:36:21 copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has joined #scheme 07:49:09 jonrafkind [n=jon@98.202.86.149] has joined #scheme 07:50:40 -!- araujo [n=araujo@gentoo/developer/araujo] has quit ["Leaving"] 07:53:07 -!- kazzmir [n=kazzmir@98.202.86.149] has quit [Read error: 110 (Connection timed out)] 08:00:09 -!- copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has quit ["Leaving..."] 08:02:44 -!- HG` [n=HG@85.8.89.117] has quit [Client Quit] 08:07:57 majhool [n=mrw@user-118bgr6.cable.mindspring.com] has joined #scheme 08:26:12 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit ["Leaving."] 08:26:21 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 08:30:24 psykotic_ [n=psykotic@222.106.128.21] has joined #scheme 08:30:41 -!- psykotic_ [n=psykotic@222.106.128.21] has quit [Client Quit] 08:32:33 psykotic_ [n=psykotic@222.106.128.21] has joined #scheme 08:32:49 -!- psykotic_ [n=psykotic@222.106.128.21] has quit [Client Quit] 08:33:17 -!- psykotic [n=psykotic@222.106.128.21] has quit [Read error: 104 (Connection reset by peer)] 08:39:35 -!- foof [n=user@FLH1Ahz107.osk.mesh.ad.jp] has quit [Read error: 113 (No route to host)] 08:53:50 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 08:54:18 -!- sepult [n=levgue@xdsl-87-78-123-225.netcologne.de] has quit [Read error: 54 (Connection reset by peer)] 08:54:35 sepult [n=levgue@xdsl-87-78-131-27.netcologne.de] has joined #scheme 09:15:36 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit ["Leaving."] 09:15:49 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 09:17:04 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from services.] 09:17:13 sladegen [n=nemo@unaffiliated/sladegen] has joined #scheme 09:30:52 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 09:34:20 ejs [n=eugen@109-77-135-95.pool.ukrtel.net] has joined #scheme 09:42:37 -!- ejs [n=eugen@109-77-135-95.pool.ukrtel.net] has quit ["This computer has gone to sleep"] 09:43:50 albacker [n=eni@unaffiliated/enyx] has joined #scheme 09:47:28 rstandy [n=rastandy@net-93-144-149-41.t2.dsl.vodafone.it] has joined #scheme 10:01:32 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 10:02:03 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 10:04:19 Sveklo [n=sveklo@cs181131.pp.htv.fi] has joined #scheme 10:18:08 -!- albacker [n=eni@unaffiliated/enyx] has quit [Read error: 113 (No route to host)] 10:23:57 charmless [n=charmles@207.47.213.196] has joined #scheme 10:32:47 -!- Sveklo [n=sveklo@cs181131.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 10:46:52 mngbd [n=user@081-003-214-196.yesss.at] has joined #scheme 10:57:18 -!- mngbd [n=user@081-003-214-196.yesss.at] has quit [Remote closed the connection] 10:57:25 Edico [n=Edico@unaffiliated/edico] has joined #scheme 11:00:00 MrFahrenheit [n=RageOfTh@87.250.120.76] has joined #scheme 11:41:05 masm [n=masm@bl10-4-156.dsl.telepac.pt] has joined #scheme 11:43:49 -!- majhool [n=mrw@user-118bgr6.cable.mindspring.com] has quit ["Leaving"] 11:56:56 mngbd [n=user@081-003-214-196.yesss.at] has joined #scheme 11:58:40 -!- bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has quit [Client Quit] 12:06:56 -!- mngbd [n=user@081-003-214-196.yesss.at] has quit [Remote closed the connection] 12:09:21 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Remote closed the connection] 12:10:16 sphex_ [n=nobody@modemcable056.77-200-24.mc.videotron.ca] has joined #scheme 12:18:08 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 12:18:35 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 12:27:03 -!- sphex [n=nobody@modemcable056.77-200-24.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 12:36:47 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 12:45:36 cornucopic [n=r00t@202.3.77.134] has joined #scheme 12:52:10 luz [n=davids@189.122.90.116] has joined #scheme 12:56:25 is there some recent overview about scheme object systems? 13:07:46 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 13:07:47 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 13:14:03 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 13:18:36 annodomini_ [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined #scheme 13:18:51 higepon938 [n=taro@FL1-125-197-205-128.tky.mesh.ad.jp] has joined #scheme 13:20:25 HG` [n=HG@xdslff152.osnanet.de] has joined #scheme 13:25:41 -!- ASau [n=user@83.69.240.52] has quit [Remote closed the connection] 13:25:48 ASau [n=user@83.69.240.52] has joined #scheme 13:29:32 masm1 [n=masm@bl10-4-232.dsl.telepac.pt] has joined #scheme 13:29:32 -!- masm [n=masm@bl10-4-156.dsl.telepac.pt] has quit [Read error: 110 (Connection timed out)] 13:30:16 -!- masm1 is now known as masm 13:32:38 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 13:35:13 kazzmir [n=kazzmir@98.202.86.149] has joined #scheme 13:39:45 steiger [n=steiger@201.50.140.163] has joined #scheme 13:49:31 -!- Pegazus [n=Pegazus@186.124.196.231] has quit [Read error: 104 (Connection reset by peer)] 13:55:11 -!- HG` [n=HG@xdslff152.osnanet.de] has quit [Read error: 54 (Connection reset by peer)] 14:01:48 albacker [n=eni@unaffiliated/enyx] has joined #scheme 14:18:52 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 14:20:36 Pegazus [n=Pegazus@host108.190-137-30.telecom.net.ar] has joined #scheme 14:22:57 exxxd34 [n=aseas65x@p5161-ipbfp2203fukuokachu.fukuoka.ocn.ne.jp] has joined #scheme 14:34:46 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [] 14:38:39 -!- exxxd34 [n=aseas65x@p5161-ipbfp2203fukuokachu.fukuoka.ocn.ne.jp] has quit [Read error: 60 (Operation timed out)] 14:42:01 -!- tjafk2 [n=timj@e176198144.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 14:42:08 tjafk1 [n=timj@e176221241.adsl.alicedsl.de] has joined #scheme 14:50:00 -!- steiger [n=steiger@201.50.140.163] has quit ["Lost terminal"] 14:54:14 Summermute [n=scott@c-68-34-67-216.hsd1.dc.comcast.net] has joined #scheme 14:58:33 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 15:00:35 Nshag [n=shag@Mix-Orleans-106-2-145.w193-248.abo.wanadoo.fr] has joined #scheme 15:05:06 merimus [n=merimus@c-67-171-83-6.hsd1.pa.comcast.net] has joined #scheme 15:05:25 -!- merimus [n=merimus@c-67-171-83-6.hsd1.pa.comcast.net] has quit [Client Quit] 15:05:36 merimus [n=merimus@c-67-171-83-6.hsd1.pa.comcast.net] has joined #scheme 15:06:19 -!- merimus [n=merimus@c-67-171-83-6.hsd1.pa.comcast.net] has quit [Client Quit] 15:07:32 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit ["Leaving."] 15:07:41 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 15:08:07 merimus [n=merimus@c-67-171-83-6.hsd1.pa.comcast.net] has joined #scheme 15:10:56 -!- merimus [n=merimus@c-67-171-83-6.hsd1.pa.comcast.net] has quit [Client Quit] 15:11:24 -!- synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has quit [Remote closed the connection] 15:13:51 synx [i=synx@gateway/gpg-tor/key-0xA71B0C6A] has joined #scheme 15:16:53 -!- jrtayloriv [n=jrt4@cpe-69-205-162-163.stny.res.rr.com] has quit [Read error: 60 (Operation timed out)] 15:20:05 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 15:20:15 phax [n=phax@unaffiliated/phax] has joined #scheme 15:22:27 -!- araujo [n=araujo@gentoo/developer/araujo] has quit ["Leaving"] 15:27:16 jrtayloriv [n=jrt4@cpe-24-24-84-250.stny.res.rr.com] has joined #scheme 15:28:10 -!- cornucopic [n=r00t@202.3.77.134] has quit ["so long.."] 15:28:17 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit ["Leaving."] 15:28:36 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 15:31:47 araujo [n=araujo@gentoo/developer/araujo] has joined #scheme 15:38:47 rickardg [n=user@c-077671d5.027-77-6c756e10.cust.bredbandsbolaget.se] has joined #scheme 15:39:16 -!- ASau [n=user@83.69.240.52] has quit [Read error: 104 (Connection reset by peer)] 15:42:50 eli: in http://barzilay.org/misc/scribble-reader.pdf, section 2.1, how can I type in those examples and see the results? At the repl, I assume I need to "require" something or other but cannot figure out what 15:53:02 wondering the same very thing myself yesterday 16:02:07 well, something similar actually ;-) 16:02:49 -!- higepon938 [n=taro@FL1-125-197-205-128.tky.mesh.ad.jp] has quit [Read error: 113 (No route to host)] 16:07:32 -!- phax [n=phax@unaffiliated/phax] has quit ["Leaving"] 16:10:33 great minds think alike, or at least read the same mailing list. 16:11:19 Or want to learn to document their code nicely! :-) 16:18:43 kuribas [i=kristof@d54C437BA.access.telenet.be] has joined #scheme 16:22:21 Scribble looks very feature rich, but for just documenting code inline, it makes me long for the simplistic JavaDoc 16:32:01 I wonder if Scribble works with typed-scheme ? 16:48:59 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit [Read error: 60 (Operation timed out)] 16:50:28 elibarzilay [n=eli@m555e36d0.tmodns.net] has joined #scheme 16:52:06 offby1: you need to require scribble/reader and then call use-at-readtable 16:52:55 elibarzilay: IRC from your phone? 16:53:08 yes... 17:00:05 ASau [n=user@83.69.240.52] has joined #scheme 17:00:54 RageOfThou [n=RageOfTh@87.250.120.76] has joined #scheme 17:01:11 -!- MrFahrenheit [n=RageOfTh@87.250.120.76] has quit [Read error: 131 (Connection reset by peer)] 17:05:19 ASau` [n=user@83.69.227.128] has joined #scheme 17:07:48 ASau`` [n=user@83.69.240.52] has joined #scheme 17:09:44 copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has joined #scheme 17:17:12 vatsal [n=vatsal@60.243.234.240] has joined #scheme 17:21:37 -!- ASau [n=user@83.69.240.52] has quit [Read error: 110 (Connection timed out)] 17:22:13 ASau [n=user@83.69.227.128] has joined #scheme 17:22:14 tagac [n=user@88.36.221.87.dynamic.jazztel.es] has joined #scheme 17:22:29 incubot: ah, wonders of modern technology; still an hour of delay would have left offby1 dead. 17:22:33 i have a full understanding that when someone implements XSLT-kind of stuff in Scheme, you don't implement XSLT, as it is widely known in functional programming circles as a half-broken technology. 17:23:18 incubot: xml safes lifes daily! 17:23:21 Mostly scripts for daily stuff. 17:24:31 decker [n=decker@71-93-181-7.static.rvsd.ca.charter.com] has joined #scheme 17:25:40 hi. I don't suppose the person/persons that run the sicp wiki hang out here do they? 17:26:24 -!- ASau` [n=user@83.69.227.128] has quit [Read error: 110 (Connection timed out)] 17:27:52 -!- ASau`` [n=user@83.69.240.52] has quit [Read error: 145 (Connection timed out)] 17:32:04 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #scheme 17:33:13 ASau` [n=user@83.69.240.52] has joined #scheme 17:34:44 XML is/was a nice promised unfulfilled. 17:35:51 decker: i have no idea... perhaps try ##sicp if it's *that* wiki. 17:39:47 k. thanks 17:42:01 -!- charmless [n=charmles@207.47.213.196] has left #scheme 17:42:53 Riastradh, I've got a question regarding the link you gave me to the Scheme grammar. I think I understand what you were saying about not looking for 'define' at all now. Are you saying that rather than following the --> * as in R5RS, that I should instead have --> *, and then treat (define foo bar) as a an --> ? 17:43:41 -!- ASau [n=user@83.69.227.128] has quit [Read error: 110 (Connection timed out)] 17:47:11 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 104 (Connection reset by peer)] 17:48:45 i think the point was to operate on AST rather than row strings... i.e. tokenize it first in whatever semantic bnf you deem applicable to your domain use. 17:49:08 *sladegen* promtly bites his tongue. 17:49:19 I think I've figured out how the folksonomy thing translates to semantics 17:49:57 when I tag an image with artist:something, that's the equivalent of "image hasArtist something" in turtle style. 17:50:19 -!- vatsal [n=vatsal@60.243.234.240] has quit [Read error: 104 (Connection reset by peer)] 17:50:25 and just tagging it with something is an implicit sort of tag: prefix, so "image hasTag something" 17:50:55 So what I need to do for a specific image is say "When this image is the subject, what do I have to say about it?" 17:51:21 which is the equivalent to "what tags does it have" but generalized to non-tag associations 17:51:30 eno [n=eno@nslu2-linux/eno] has joined #scheme 17:52:14 vatsal [n=vatsal@60.243.234.240] has joined #scheme 17:52:40 and "search for green" means given that green is the object, what images match for any verb? whereas "artist:green" would specifically be the verb hasArtist for the artist...named green. 17:52:55 hum 17:54:16 -!- kuribas [i=kristof@d54C437BA.access.telenet.be] has left #scheme 18:02:16 -!- elibarzilay [n=eli@m555e36d0.tmodns.net] has quit ["jmIrc destroyed by the OS"] 18:03:18 sorry, just had to share. Been trying to figure that out for like half a year now. 18:06:11 synx, and? 18:06:42 -!- nostrand [n=rickard@h-62-207.A163.priv.bahnhof.se] has left #scheme 18:07:27 annnd now I'm headed to the market, but can finally get rid of that stupid ambiguity where you have to search for cat|species:cat to get them both. 18:10:01 ...later 18:10:18 this little piggy went to market... 18:12:41 -!- ASau` [n=user@83.69.240.52] has quit [Read error: 60 (Operation timed out)] 18:16:18 -!- decker [n=decker@71-93-181-7.static.rvsd.ca.charter.com] has quit ["ChatZilla 0.9.85 [Firefox 3.5.3/20090909051541]"] 18:24:22 arcfide [n=arcfide@adsl-99-50-231-131.dsl.bltnin.sbcglobal.net] has joined #scheme 18:27:57 -!- Fare [n=Fare@ita4fw1.itasoftware.com] has quit ["Leaving"] 18:28:54 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #scheme 18:31:21 dmoerner [n=dmr@89-151.res.pomona.edu] has joined #scheme 18:32:19 elibarzilay [n=eli@m3c5e36d0.tmodns.net] has joined #scheme 18:33:09 snurble [n=none@s83-179-14-105.cust.tele2.se] has joined #scheme 18:43:20 haesbaert [i=haesbaer@c925a8c5.virtua.com.br] has joined #scheme 18:50:15 -!- vatsal [n=vatsal@60.243.234.240] has quit [Read error: 110 (Connection timed out)] 18:52:09 -!- sepult [n=levgue@xdsl-87-78-131-27.netcologne.de] has quit [Remote closed the connection] 18:56:32 jrtayloriv, well, basically, you should ignore everything in Section 7.1 from 7.1.3 on in writing a parser. Your parser should just map text to S-expressions, without interpreting them as Scheme programs. If you want to analyze Scheme programs, start with S-expressions (which might have come from your parser applied to some text -- or which might have come from a program). 18:57:47 Riastradh, Understood. Thank you. 19:08:50 or use PLT Scheme and work with syntax expressions 19:09:03 PLT will do the macro expansion and source code tracking for you 19:09:27 so you can focus on the semantics and still have useful debugging info 19:10:06 Fare, I'm trying to write a parser for Parrot as a learning project, so that isn't what I need. But thanks anyway for pointing it out. 19:11:09 in any case, S-EX are a good starting point, but to fully support syntax-case, you'll need something richer than S-EX. 19:11:24 -!- Pegazus [n=Pegazus@host108.190-137-30.telecom.net.ar] has left #scheme 19:14:21 Fare: I don't think you need syntax when you are parsing. You don't want to bother with syntax until you have the parsing done. 19:15:37 possibly. Not THAT hard to add after the fact. 19:15:41 just painful 19:15:56 Fare: You don't want to confuse parsing with expansion or any other interpretation. 19:16:37 I would guess that even PLT Scheme doesn't do the marking and wrapping while it is reading in text character by character. 19:16:52 After all, how do you think EVAL works? 19:17:34 EVAL still has to expand the input that it is given, but the input is pre-parsed input. The parser step is to get the code from textual form into a form such that something like EVAL can handle it. Roughly and very informally speaking. 19:18:00 No, it doesn't do that when you READ, but it does (ab)use syntax objects as the representation for read code to support source location information. 19:20:12 -!- luz [n=davids@189.122.90.116] has quit [Remote closed the connection] 19:21:02 chandler: Of course, you must do something to track your source code locations in the underlying implementation, but I don't think that's the sort of syntax that Fare was mentioning. 19:21:17 Um, OT: I was wondering if anyone is working on a GTK binding to PLT Scheme? 19:21:36 Summermute: There is already MrEd and the graphical toolkit. 19:21:38 arcfide, yes it is -- same difference. 19:21:44 -!- dmoerner [n=dmr@89-151.res.pomona.edu] has quit ["Leaving"] 19:21:49 Fade: What is? 19:22:13 chandler, it's not abuse -- it's designed that way 19:22:14 Yes, that's an old (old) version of wxWindows if I understand correctly 19:23:01 Fare: PLT? Yes, but that's assuming that I like their design decision. In this case, I don't. :-) 19:23:27 Fare: tracking input source locations is a good deal different than tracking lexical scope, visibility, and macro expansion. One is reasonable to class with the step of parsing, the other should logically, and practically, be separate from parsing. 19:23:31 *Fare* thinks about implementing common-lisp in scheme with "symbols" that are "EQ" wrt CL if their symbol is the same, but actually contain more information... 19:24:15 arcfide, not separate -- on top of. 19:24:36 you mean like function cells and prop-lists? 19:25:48 Fade: I don't care if you call it on top of or separate, but if you want to design a clean, relatively easy to deal with system, you had better have some way of treating parsing and evaluation as unique processes that exist independently of each other. 19:25:56 more like moving around syntax-objects to keep the information around, but comparing the datum when the CL spec says you must. 19:26:46 can't be independent when output of one is meant as the input of the other. 19:26:54 ... 19:27:58 f : x -> y & g : y -> z. Distinct and separate and independent processes, regardless of their intention to be composed. 19:28:25 not if the only producer of y is f and the only consumer of y is g. 19:28:28 arcfide: agreed, 1) need a separate reader and then 2) interpreter/compiler 19:28:37 separate yes, independent no. 19:28:52 Ok. More? 19:29:48 -!- Fare [n=Fare@ita4fw1.itasoftware.com] has quit ["Leaving"] 19:30:04 Fare: there is more than one way to get input for evaluation. 19:31:51 They are linked in possibly many ways. reader -> sexpr -> interp/compiler. Better for debugging, reader -> pseudo sexpr with file/lineno -> interp/compile. And then, one can have a language like CL that allows programmatic alteration of the reader itself. 19:33:20 -!- arcfide [n=arcfide@adsl-99-50-231-131.dsl.bltnin.sbcglobal.net] has left #scheme 19:38:30 bunz [n=bunz@unaffiliated/bunz] has joined #scheme 19:43:11 Anyone know why SLIB no longer runs on PLT Scheme post v4.1 (the scheme version) ? 19:43:29 Probably because SLIB is incorrigibly brokenly designed. 19:44:15 Well, it's been around 20 or more years and runs on a ton of Schemes 19:44:21 If you think there's useful code in it (of which there is a little, although much of it was just copied from other sources), you're probably better off ripping it out of SLIB and wiping the SLIB guts off of it. 19:44:38 `Runs on', sure; `is a useful library for', no. 19:45:13 sepult [n=levgue@xdsl-87-78-131-27.netcologne.de] has joined #scheme 19:45:23 It `runs on' only in that it uses the basic evaluation facilities of the host Scheme to bootstrap its own loader, its own macro expander, its own evaluator, its own REPL, its own library system, &c., none of which remotely approach cooperating with other code for the host Scheme system. 19:45:57 I can recall in the early 90s that SCM + SLIB was pretty much the choice for running scheme on a DOS PC 19:46:30 Ah, I can see what you mean 19:47:42 What about Swindle, another big package. Does it step on any of PLT's toes? 19:48:25 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Client Quit] 19:48:33 I don't know. It became considerably less invasive than it was when Eli originally wrote it, thanks to the introduction of a real macro system and a real module system a bit under ten years ago, but I know very little about it today. 19:52:35 Does PLT's own object system stand alone? Or is it integrated into other parts of the system I don't know about? 19:52:47 -!- sepult [n=levgue@xdsl-87-78-131-27.netcologne.de] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 19:53:55 So far, perusing the documentation, I haven't seen any outside (the section on classes/object) references to the object system so far. 19:55:32 sepult [n=levgue@xdsl-87-78-131-27.netcologne.de] has joined #scheme 20:20:15 dmoerner [n=dmr@89-151.res.pomona.edu] has joined #scheme 20:23:26 bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has joined #scheme 20:39:29 -!- bunz [n=bunz@unaffiliated/bunz] has quit ["bye"] 20:44:31 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 20:46:26 etoxam [n=eldragon@84.79.67.254] has joined #scheme 20:46:47 sylecn [n=sylecn@wireless-128-62-172-191.public.utexas.edu] has joined #scheme 20:50:29 -!- sylecn [n=sylecn@wireless-128-62-172-191.public.utexas.edu] has left #scheme 20:54:30 -!- etoxam [n=eldragon@84.79.67.254] has quit [Remote closed the connection] 20:56:34 dudleyf [n=dudleyf@65.243.31.107] has joined #scheme 20:57:13 sepult` [n=levgue@xdsl-87-78-102-146.netcologne.de] has joined #scheme 21:00:38 etoxam [n=etoxam@84.79.67.254] has joined #scheme 21:02:32 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 21:03:51 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 21:09:21 lowlycoder [n=x@unaffiliated/lowlycoder] has joined #scheme 21:09:29 does r6rs specify how it searches for modules on the import line ? 21:09:49 no 21:09:58 so ... it's implementathnio ndefined? 21:10:03 yes 21:10:27 -!- etoxam [n=etoxam@84.79.67.254] has quit [Remote closed the connection] 21:12:37 -!- sepult [n=levgue@xdsl-87-78-131-27.netcologne.de] has quit [Connection timed out] 21:17:48 Summermute: I had sbank (http://rotty.yi.org/software/sbank/) running on PLT a while ago, but dropped PLT because its R6RS support has some rough edges 21:18:13 (mostly related to SRFIs using immutable lists, IIRC) 21:20:09 http://thread.gmane.org/gmane.lisp.scheme.plt/30198 (see Flatt's response) 21:20:11 minion: memo for jcowan: I read. I did not laugh. 21:20:11 Remembered. I'll tell jcowan when he/she/it next speaks. 21:20:16 -!- bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has quit [Remote closed the connection] 21:20:57 bombshelter13_ [n=bombshel@76-10-149-209.dsl.teksavvy.com] has joined #scheme 21:21:53 phax [n=phax@unaffiliated/phax] has joined #scheme 21:22:08 Summermute: I just didn't volunteer to fix the SRFIs myself, as I'm busy with other things, but if that is fixed, I'd be happy to get sbank running on PLT again 21:22:26 rudybot: eval (require scribble/reader) 21:22:33 rudybot: eval (use-at-readtable) 21:22:40 rudybot: eval @foo{bar} 21:22:40 eli: error: reference to an identifier before its definition: foo in module: 'program 21:22:48 arcfide [n=arcfide@99.50.231.131] has joined #scheme 21:23:08 rudybot: eval (define (foo . xs) `("This is fooish: " ,@xs)) 21:23:09 rudybot: eval @foo{bar} 21:23:09 eli: ; Value: ("This is fooish: " "bar") 21:23:10 lowlycoder: there's a convention for r6rs library <-> filename mapping emerging however 21:23:12 -!- arcfide [n=arcfide@99.50.231.131] has left #scheme 21:23:22 offby1: See right above. 21:24:17 Summermute: Yes, Scribble works with typed scheme. Also, what's heavy in comparison to javadoc? 21:25:13 arcfide [n=arcfide@99.50.231.131] has joined #scheme 21:29:34 chandler: If by "abuse" you mean making syntax objects be more than just sexprs, then that's a result of implementing hygiene anyway, and it only makes sense to add more information to the wrapper rather than adding a second layer. 21:30:24 Summermute: Re mred -- it's *forked* off an old version of wxwindows -- it is not "an old version" of it. 21:31:14 Summermute: And re gtk -- there are at least two wrappings, but there is a plan for sometime during this semester to convert mred to be implemented in scheme, using gtk. 21:33:52 eli: you won't be using GObject-Introspection, though, I guess? 21:34:35 Summermute: Re slib -- it's exactly what Riastradh said: there used to be a compatibility library that allowed loading slib; it was broken for a long time and nobody really noticed. The bottom line is that slib expects to be able to do some things in a way that is not suitable for a scheme with a proper module system. 21:35:07 rotty: I don't know what `GObject-Introspection' is, and I don't know what will be needed for the mred implementation. 21:36:51 Summermute: And re swindle, it is not stepping on any plt toes -- it's still part of the plt tree. (Although I no longer develop it in any active sense.) 21:36:59 eli: http://rotty.yi.org/software/sbank/tutorial.html#sec-1 21:37:36 I'd be happy to expand that section, based on any questions you might ask ;-) 21:38:40 rotty: Are you trying to sell me sbank, or explain what this GObject-Introspection thing is? 21:39:43 well, there's a very short explanation at that URL. 21:40:24 Yeah, the explanation makes it look like a good thing. 21:40:37 (and a link to the upstream wiki page) 21:40:56 But at least on my machine there are no .typelib files. 21:41:39 If that's something that is relatively new, then that makes it a lot less appealing. 21:41:45 eli: GObject-Introspection is relatively new, and not yet integrated into GTK+ itself 21:42:37 Ooh, it's not even in gtk... 21:42:44 That's even worse... 21:43:07 yes, for something like MrEd, which should run on many machines, and Windows as well, its probably suboptimal, to say the least 21:43:43 The way it looks like, the conclusion from this is that we should just hack some interface that works fine -- with no attempt to produce something that covers *all* of gtk, since that will be done through this thing, right? 21:43:48 hmm; so anyone here know how ypsilon import/exports work? 21:44:02 i can't seem to find the dodumentation 21:47:25 Narrenschiff [n=ritchie@xolotl.plus.com] has joined #scheme 21:47:59 eli: yes, that would probably be the best thing to do -- handwritten wrappers are a pain to write and maintain, and while GTK+ ABI is stable, there are ABI bumps from time to time... 21:49:23 rotty: I know. I think that the number one killer of gtk binding projects is: (a) you wrap some functions, it works, you're impressed with yourself. 21:49:38 (b) you add a bunch more and have everything you need for a specific application 21:50:03 (c) you go over several new interfaces and translate them 21:50:20 (d) you realize that this is stupid, and start finding a way to make this automatic 21:50:43 (e) a year later you realize that you haven't touch the code in a year, and that you really don't want to. 21:51:55 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 21:52:09 lowlycoder: do you have a specific question? Ypsilon is an R6RS implementation, so you can look there... 21:52:40 yeah; i want to know how it searches for import paths 21:53:22 (foo bar baz) -> foo/bar/baz.{sls,ss} (or something alike) 21:54:24 and looking for that relative filenames in $YPSILON_SITELIB 21:54:29 s/that/these/ 21:55:19 eli: Indeed, Foreign bindings like this or to relational databases that are written by hand are a pain. 21:56:00 karlw [n=karl@adsl-99-157-202-134.dsl.pltn13.sbcglobal.net] has joined #scheme 21:56:29 additionally, you can have foo/bar/baz.ypsilon.{sls,ss}, which will be preferred over the file(s) without the ypsilon.ss extension 21:58:33 arcfide: db interfaces tend to be painful in a different way -- I don't remember which, but I've seen examples of overabstraction of some "oo-like" interface with methods, and there are also over-optimization issues that get you a difficult to deal with result. 22:00:26 Not to mention that they mean you're dealing with databases. 22:04:20 Riastradh: You were working on something to assist with these types of problems, were you not? 22:06:32 I'm considering writing a Javascript tutorial for OCF Web space users with a heavily functional tilt. 22:07:15 -!- rickardg [n=user@c-077671d5.027-77-6c756e10.cust.bredbandsbolaget.se] has quit [Read error: 110 (Connection timed out)] 22:08:29 $ cat t.scm; echo "=="; cat foo.scm; 22:08:29 (import (foo)) (pretty-print (bar 2)) 22:08:29 == 22:08:29 (library (foo) (export bar) (import (rnrs)) (define (bar x) (+ x 2))) 22:08:41 howevber, "ypsilon t.scm" can't find foo.scm 22:11:52 -!- dudleyf [n=dudleyf@65.243.31.107] has quit [] 22:12:51 Give ``Web design'' types a good scrubbing between the ears. 22:13:24 lowlycoder: add `pwd` to $YPSILON_SITELIB 22:14:03 rotty: I think '.' might be the better thing to add. 22:14:05 YPSILON_SITELIB=$YPSILON_SITELIB:. ypsilon t.scm 22:14:10 rotty: thanks! 22:14:31 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 22:15:48 arcfide: it might, though that's a matter of taste and context (it's a bit like having "." in your $PATH ;-) 22:15:50 arcfide, hmm? 22:16:24 cat t.scm ; echo "=="; cat blah/foo.scm; YPSILON_SITELIB=$YPSILON_SITELIB:. ypsilon t.scm 22:16:26 Riastradh: Were you not designing a sort of meta language for describing foreign function interfaces and their "semantics?" 22:16:27 (import (blah foo)) (pretty-print (bar 2)) 22:16:29 == 22:16:32 (library (foo) (export bar) (import (rnrs)) (define (bar x) (+ x 2))) 22:16:38 rotty: the above does not work; do you know how ypsilon handles directories/hierarchieds? 22:16:48 No, arcfide. 22:16:52 -!- sepult` is now known as sepult 22:16:53 That sounds hard. 22:17:34 what are you talking about? the semantrics of C and the intracies of x86 are trivial 22:17:39 Riastradh: I remember distinctly that you had this language that would create and generate stub files that handled memory and callbacks in a nice way and some other thing. It was a layer on top of the implementation FFI. 22:18:08 Well, yes. But that is very much tied to C; it is not a meta-language for building FFIs or anything. 22:18:24 Riastradh: Ah. 22:19:53 Actually, if anyone here knows a simple way of getting errno in a reliable way on systems that have thread local errno values that doesn't require the creation of a stub file with a get_errno() function in it, I'm listening. 22:21:15 My efforts of doing so heretofore have reached the limit of how hard I am willing to think about the underlying system. 22:21:43 There is not. 22:22:26 Riastradh: I completely agree that people jump to using a db way too quickly than they should. I'm always amuzed to see cases when people use a db for something as small as their address book, or a picture collection tag system. 22:22:30 In ISO C, anyway, and as of POSIX 2004. 22:23:15 lowlycoder: C is simple, a language for writing interface code to C from a high-level language is very far from "simple". 22:24:32 eli: Indeed, people push things onto databases without ever thinking that there could be another way to represent them. 22:25:03 I dealt with that just the other day. 22:26:12 -!- sepult [n=levgue@xdsl-87-78-102-146.netcologne.de] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 22:27:00 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 22:30:06 sepult [n=levgue@xdsl-87-78-102-146.netcologne.de] has joined #scheme 22:30:26 sctb [n=sctb@S01060016cbc2d41a.cg.shawcable.net] has joined #scheme 22:31:10 lowlycoder: it oughta work, lemme check 22:32:43 lowlycoder: There should be a parameter or something that identifies the extensions supported by ypsilon when searching for libraries. .scm is not often used for libraries. 22:33:06 ASau [n=user@83.69.240.52] has joined #scheme 22:33:19 ypsilon --sitelib=. -v 22:33:22 The normal convention is that .scm files contain pure Scheme code in a sort of top-level form, that .sls are libraries in the R6RS sense, and I use .ss for top-level programs. 22:33:22 ;; (scheme-library-paths) => ("/home/x/work/trash/t3" "/usr/local/share/ypsilon/sitelib") 22:33:48 /usr/local/share/ypsilon/sitelib:$ find | grep scm$ | wc -l 22:33:48 402 22:34:09 /usr/local/share/ypsilon/sitelib:$ find | grep -v scm$ | wc -l 22:34:09 28 22:34:39 i believe it either uses *.scm files ... or I'm looking in the wrong directories 22:35:42 lowlycoder: the library must be named (blah foo) 22:36:09 rotty: it works now; i'm an idiot; thanks! 22:37:18 lowlycoder: ypsilon could give a better error message in this case (Ikarus gives: "expected to find library (blah foo) in file ./blah/foo.scm, found (foo) instead") 22:38:52 lowlycoder: an strace can be revealing (ypsilon searches ".sls", ".ss", ".scm", in that order) 22:44:49 -!- r0bby is now known as r0bby|arr 22:46:19 -!- Narrenschiff [n=ritchie@xolotl.plus.com] has quit [] 22:56:21 whoa; r6rs is actually pretty cool 22:56:24 with it's module system 22:56:31 i can't believe ppl complained about it so much earlier on 22:57:31 eli: gotcha, thanks. (It was the 'use-at-readtable' that I was missing) 23:00:54 FunkyDrummer [n=RageOfTh@users-38-148.vinet.ba] has joined #scheme 23:01:41 -!- karlw [n=karl@adsl-99-157-202-134.dsl.pltn13.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 23:01:42 hmm, where is exact->inexact defined in r6rs? 23:01:57 it's called `inexact' 23:06:08 ohh dammit 23:06:35 so help me I'm trying to implement polymorphism in a relational database 23:06:41 -!- sctb [n=sctb@S01060016cbc2d41a.cg.shawcable.net] has quit ["rcirc on GNU Emacs 23.1.1"] 23:06:46 ormandj [n=ormandj@cpe-72-177-239-168.satx.res.rr.com] has joined #scheme 23:06:59 If I could just have...thingies that connect to each other... interfaces... 23:07:17 synx: use postgresql ;-) 23:07:32 I'm using it. Just... really pushing it... 23:09:16 -!- RageOfThou [n=RageOfTh@87.250.120.76] has quit [Read error: 145 (Connection timed out)] 23:10:12 I have a source table, which contains sources for various things. It contains a reference to the object table, which contains information about which table and row this object is on. From those two you can get the thing which has that source. But it's polymorphic... so you then have to dispatch different handlers depending on what kind of thing it is. 23:10:51 But I dunno a better way to assign URL sources to various kinds of media. 23:11:01 for somebody with some background in c/c++, a lot of scripting experience (python, bash, some ruby) - any suggestions on getting going with scheme? i'm starting to learn emacs atm (long-time vim guy) 23:11:57 which scheme are you using, ormandj? 23:13:17 synx, none right now, somebody suggested i build gambit. 23:15:10 Uh... guess so. gambit, or chicken might be familiar to you since they both just feed code into gcc. 23:15:42 synx, i am not necessarily looking for familiar, more for suggestions on how i should proceed with the above history being mentioned :) 23:16:08 I dunno. I mostly do stuff with PLT. They've got a great tutorial. 23:16:23 to give you some idea of what i would be using it for - i generally write applications with web interfaces 23:16:30 database backed 23:16:43 from POS systems (the grocery store kind, not the poo kind) 23:16:58 to data collection/analysis/graphing tools 23:17:06 ormandj: I think PLT has good libraries for webapps 23:17:09 I know PLT and chicken both have database and web server support. Haven't used Gambit yet though. 23:17:38 i will take a look at PLT :) i am not used to having so many choices as to an implementation of a language, that is why i am here :p 23:20:15 I use the PLT web server to run a little image gallery. It's pretty slick I think... 23:20:40 have a link? 23:25:12 er, one moment just noticed something... 23:26:12 ormandj: I use Ikarus to run http://rotty.yi.org/irclogs/ 23:26:38 -!- masm [n=masm@bl10-4-232.dsl.telepac.pt] has quit ["Leaving."] 23:26:48 rotty, nifty :) i like it 23:29:42 thanks :-) 23:30:54 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit ["*bork bork*"] 23:31:33 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 23:33:50 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 23:37:05 hmm; does ypsilon scheme have any form of threadds? 23:49:35 sctb [n=sctb@S01060016cbc2d41a.cg.shawcable.net] has joined #scheme 23:55:52 dstorrs [n=user@cpe-98-14-187-196.nyc.res.rr.com] has joined #scheme 23:56:12 hey all 23:58:06 lowlycoder: look at ypsilon/sitelib/concurrent.scm 23:58:18 dunno about docs, though