00:09:38 Vaeshir [n=zane@pool-151-199-62-61.bos.east.verizon.net] has joined #scheme 00:15:30 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 00:16:18 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 00:16:31 Adamant [n=Adamant@unaffiliated/adamant] has joined #scheme 00:16:47 -!- peter_12_ [n=peter_12@S0106001310475d12.vn.shawcable.net] has quit [] 00:18:17 -!- bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 00:18:35 Does anyone know if the name 'pyramid scheme' is taken? 00:19:16 (or failing that, Ponzi?) 00:23:13 try pipscheme perhaps, pipscheme is ponzi scheme... 00:23:42 wasn't pip a char in great expectations? 00:23:49 *sladegen* ... 00:23:51 pipscheme? 00:24:29 i'm guessing you are inviting name for your pseudoscheme... 00:24:51 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 00:25:11 Yes, he was. 00:25:12 yeah. I was mostly just checking if anyone else was using the name pyramid. ;) I liked the name but figured it was too obvious, and that someone else had to have coined it before. 00:26:16 The trouble is that it will be *very* hard to find it by googling. 00:26:21 yeah 00:26:23 there is that 00:26:27 it matters 00:26:50 "Scheme" itself isn't very good from that POV, though as it happens most of the top hits are for the language. 00:27:19 pipscheme has only 237 hits... 00:27:25 *sladegen* wins. 00:27:28 well, this is really just an intermediate step for prepping a runtime for an unrelated project, a core scheme was just small enough that i didn't have to fiddle with the rest of the language issues 00:27:30 heh 00:27:33 *jcowan* nods. 00:27:44 If it were Smalltalk instead of Scheme, you could call it pipsqueak. 00:27:50 ouch 00:28:32 if i could come up with a good scheme/scam that involves dealing from the bottom of the deck (deque *cough*) it'd also be rather appropriate. ;) 00:28:49 I would not use a language called 'ponzi' it sounds ill. 00:28:54 *jcowan* nods. 00:29:19 and if it was really small "a pimplescheme". 00:29:26 Ewwww. 00:29:43 My scheme is a wart on the face of, well, whoever. 00:29:45 The great scheme of things. 00:29:53 MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has joined #scheme 00:31:19 alright, i'll just code for a while and see if the name sticks. for now i'll just use pyramid as a working title. (famous last words) 00:33:27 *copumpkin* writes a new programming language whose name is a stop word, to make searching even better than most mainstream languages 00:34:27 kenjin [n=kenjin@58.232.36.34] has joined #scheme 00:34:50 -!- kenjin is now known as Guest73784 00:35:03 -!- Guest73784 is now known as kenjin2 00:36:06 -!- mrsolo [n=mrsolo@nat/yahoo/x-kvsughyxnsryowcy] has quit ["Leaving"] 00:38:11 emma: heh, or 'Grand Scheme' although that takes even more hubris than I can muster ;) 00:39:22 I'm using DrScheme, I unchecked "enable keybindings in menu" and I want to set up a keybinding to toggle interactions window. Is it possible? 00:39:45 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 00:42:04 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [Read error: 60 (Operation timed out)] 00:45:50 nothingHappens_ [n=nothingH@173-25-176-111.client.mchsi.com] has joined #scheme 00:55:57 -!- Vaeshir is now known as instazane 00:56:46 glogic1 [n=glogic@97.76.48.98] has joined #scheme 00:57:42 -!- instazane is now known as zanes 01:01:59 -!- glogic1 [n=glogic@97.76.48.98] has left #scheme 01:04:09 steiger [n=steiger@189.105.57.95] has joined #scheme 01:04:18 good evening 01:04:38 offby1 [n=user@q-static-138-125.avvanta.com] has joined #scheme 01:04:48 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 01:15:27 -!- ASau [n=user@83.69.240.52] has quit ["off"] 01:19:43 patmaddo_ [n=patmaddo@ip68-4-202-46.oc.oc.cox.net] has joined #scheme 01:20:37 -!- merus [n=merus@pal-176-050.itap.purdue.edu] has quit [Remote closed the connection] 01:21:49 -!- saccade_ [n=saccade@dhcp-18-188-74-28.dyn.mit.edu] has quit ["This computer has gone to sleep"] 01:22:40 -!- attila_lendvai [n=ati@catv-89-132-189-132.catv.broadband.hu] has quit [Read error: 113 (No route to host)] 01:27:17 -!- blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has quit [] 01:30:16 Attn Brian Harvey: *plonk* 01:30:38 That seems a bit strong. 01:32:27 I don't think his criticism of your reader extensibility proposal was at all constructive. 01:32:33 -!- kenjin2 [n=kenjin@58.232.36.34] has quit [Read error: 105 (No buffer space available)] 01:33:29 I do. He wants a justification, and I agree that I haven't provided one. 01:33:37 I tend to go for how rather than why to start with. 01:33:50 Only when I work out how does why become obvious. 01:34:24 I think the suggestion that only things which work "out of some brilliant general principle" is unserious. 01:34:36 er, only things... should be part of WG1 Scheme 01:35:12 chandler: yes, I like that Fare blog post -- I showed it to people perhaps 2 or 3 times now. It really manages to convey the kind of maintenance nightmares you run into with CL. 01:36:12 -!- dysinger [n=dysinger@166.129.231.59] has quit [Read error: 110 (Connection timed out)] 01:36:56 minion: memo for peter_12: the .dmg file distribution for mzscheme is just because I've seen dmg files being used for that. Making it a zip or a tgz or whatever is very easy. Feel free to post on the list and perhaps we'll run a quick poll. 01:36:56 Remembered. I'll tell peter_12 when he/she/it next speaks. 01:37:03 minion: Thanks. 01:37:03 you're welcome 01:37:14 minion: You're very helpful sometimes. 01:37:14 what's up? 01:37:27 minion: Nothing. I said that you're very helpful, sometimes. 01:37:27 well, i don't think nothing i said that you re very helpful sometimes though 01:37:28 -!- patmaddox [n=patmaddo@167.sub-75-217-129.myvzw.com] has quit [Read error: 110 (Connection timed out)] 01:37:39 minion: Your bad AI is showing. 01:37:39 what's up? 01:37:45 *eli* gives up 01:38:01 Oh, it's downright awful. 01:38:20 Is that some eliza-clone or something from Emacs? 01:38:36 It's an Eliza clone, based on code from PAIP I think 01:38:56 jcowan: "Terrible"? Also I definitely don't have any minions that I know about... 01:39:06 "Terrible" isn't quite it 01:39:27 If it's more like "Israeli", then I agree. 01:39:53 jcowan: BTW, re your overloading question -- I think that you are. 01:40:08 more like "Grozny" 01:40:23 as in Ivan the Terrible 01:40:25 (I have absolutely no idea what that means.) 01:40:31 The epithet "Grozny" is associated with might, power and strictness, rather than poor performance, horror or cruelty. 01:40:32 (Or that) 01:40:43 eli: Regarding Common Lisp and maintenance nightmares, I often just give up and go for the "you can never have too much overkill" approach. It's not pretty, but I rarely actually shoot myself in the foot with it. (That's not exactly glowing praise, I know.) 01:40:44 Ivan the Terrible is "Ivan Grozny" in Russian 01:40:46 So I guess that I'll take it as a compliment then. 01:40:53 Sure. 01:41:17 *jcowan* rarely insults anyone, except by accident. 01:41:23 chandler: Ha -- IIRC, Fare's approach in xcvb is to just fire up a fresh process for each file, or something along these lines. 01:41:39 *eli* wouldn't be insulted even with "Terrible", just found it weird... 01:41:56 That's a different kind of overkill. I just end up with the compilation and load environments being the same, even if I don't *need* certain things in one or the other. 01:42:05 Besides, when you're working at the REPL, it all tends to get mushed together. 01:42:40 Yeah, I've used that in the past too -- instead of selective `eval-when', just do it everywhere, almost. 01:42:54 jcowan: re the overloading: it looks to me like you're creating this thing where people are not really following the current state of things, 01:43:36 jcowan: so they think that something is really happening, so they feel obliged to reply -- and that might also lead to the over-excitement on past issues. 01:43:50 (Well, either that, or my crack comment is more true that I thought.) 01:44:36 Also, consider the fact that a *lot* of schemers are involved in universities in some way, and the semester starts pretty much everywhere around now. 01:44:56 jcowan: By the way, did you have any thoughts re my comment about using a standardized #S-like notation for records and allowing customization of which fields are printed? 01:45:09 And dealing with the beginning-of-a-course pressures certainly doesn't make me more fun. 01:45:53 patmaddox [n=patmaddo@219.sub-70-213-247.myvzw.com] has joined #scheme 01:46:43 where is this Fare blog post we are discussing 01:47:47 patmadd__ [n=patmaddo@96.sub-70-213-100.myvzw.com] has joined #scheme 01:47:59 zbigniew: http://fare.livejournal.com/146698.html 01:49:52 the statement about readtable modifications persisting and "causing non-deterministic havoc in incremental ASDF builds" is slightly misleading: yes, they will by default, but if you want better behavior, it's justa mixin away 01:50:13 I've arranged some weird and wild stuff with ASDF, and there *is* usually a way to get there from here 01:50:35 thanks eli, I was unable to find it in the Re-hashing thread 01:50:42 eli -- what do you mean by 'maintenance nightmares with CL' ? 01:51:04 if you want to have local *readtable* modifications, all you need to do is define a custom component class and (let ((*readtable* (copy-readtable))) (call-next-method)) 01:51:40 emma: "nightmare" is overstated. There are some details of phasing which are considerably cleaner in, say, PLT, than in Common Lisp. 01:53:09 chandler: Well, I know nothing about asdf, I've stopped being a serious CLer long before that. 01:54:03 Heh. 01:54:14 emma: The main problem is in mixing up of phases which can lead to obscure problems that result from the order in which files get loaded etc, and they can lead to code having different semantics when compiled. 01:54:51 chandler: But I think that Fare's opinion of asdf is not too great, and he must know the details very well, given the size of the code they're working with over there. 01:56:35 I'm eager to see what he comes up with in XCVB. There has been quite a lot of carping about ASDF over the years, but very little (until Fare started his project) in the way of practical suggestions of how to do better. Many of the complaints were of the default behavior, which is of course completely customizable, being just a thin syntactic layer over CLOS. 01:56:56 I worked on a quite-large commercial CL codebase using MK-DEFSYSTEM, and from where I stand ASDF is a solid improvement. 01:57:39 I switched one part of that over to ASDF to handle a hairy program-generating program, and it was a significant win. 01:59:55 arcfide, there are no (visible) predicates for each variant of a DEFINE-VARIANT-TYPE. What you mean by a `real' type is up to you. 02:02:44 -!- dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has quit [] 02:05:22 -!- patmaddox [n=patmaddo@219.sub-70-213-247.myvzw.com] has quit [Read error: 110 (Connection timed out)] 02:06:14 merus [n=merus@c-67-175-45-120.hsd1.in.comcast.net] has joined #scheme 02:07:56 -!- patmaddo_ [n=patmaddo@ip68-4-202-46.oc.oc.cox.net] has quit [Read error: 110 (Connection timed out)] 02:10:19 -!- charmless [n=charmles@207.47.213.196] has quit [] 02:10:32 chandler: I think that (mk-)defsystem was around when I was hacking CL. 02:11:24 The message rate on r6rs-discuss has grown to over forty messages per day. The sensibility rate, however, I presume has retained its inverse proportionality to the message rate. 02:11:48 charmless [n=charmles@207.47.213.196] has joined #scheme 02:12:08 -!- charmless [n=charmles@207.47.213.196] has quit [Remote closed the connection] 02:14:10 eno__ [n=eno@adsl-70-137-174-5.dsl.snfc21.sbcglobal.net] has joined #scheme 02:14:22 -!- Axioplase_ is now known as Axioplase 02:15:23 peter_12 [n=peter_12@S0106001310475d12.vn.shawcable.net] has joined #scheme 02:18:57 -!- merus [n=merus@c-67-175-45-120.hsd1.in.comcast.net] has quit ["Leaving"] 02:19:21 merus [n=merus@c-67-175-45-120.hsd1.in.comcast.net] has joined #scheme 02:22:25 -!- merus [n=merus@c-67-175-45-120.hsd1.in.comcast.net] has quit [Remote closed the connection] 02:23:05 chandler, much of the reason that it is hard to do better is that Common Lisp actively inhibits local views on the world by having global databases such as the package database (the mapping from strings to packages), the function and variable database (the mapping from symbols to functions), the set of proclamations/declamations, &c. 02:24:31 So it is very hard to enforce any sensible notion of `dependencies' between components of a Common Lisp program, because you can't give any component *only* the view of the world that it requested. In Scheme, you can't restrict the view of every part of the world, but you can certainly restrict the view of the bound variables, i.e. the lexical environment, and you can connect that through module semantics to certain kinds of sid 02:25:44 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 110 (Connection timed out)] 02:26:37 Combined with EVAL-WHEN and Common Lisp's overspecified compilation semantics, this makes for a glorious mess identifying the phases of dependencies, especially in code that relies on said overspecified compilation semantics. 02:28:42 peter_12_ [n=peter_12@S0106001310475d12.vn.shawcable.net] has joined #scheme 02:29:07 Riastradh: Oh, I'm well aware of *why* the issue exists. 02:29:39 -!- peter_12 [n=peter_12@S0106001310475d12.vn.shawcable.net] has quit [Read error: 104 (Connection reset by peer)] 02:30:01 I've fought the battles, but I still think "disaster" is an overstatement. 02:30:38 -!- peter_12_ [n=peter_12@S0106001310475d12.vn.shawcable.net] has quit [Client Quit] 02:31:46 It may be possible for a very careful programmer (who understands Scheme module systems!) to write code in a way that is easier for programs to reason about, but that doesn't help code that was developed by a collection of Common Lisp programmers all too eager to exploit its dynamic featurism. 02:41:16 Riastradh: how do you distinguish "featurism" from "features"? is the former a collection of features, pseudo-features or pathological features? 02:42:11 `Featurism' is actually not related to the English word `feature', but instead is the plural form of the umpteenth declension of a very naughty word in latin. 02:42:14 Latin, even. 02:42:36 in latin-1 02:42:40 I mean: of a very naughty, umpteenth declension word in Latin. 02:46:25 dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has joined #scheme 02:54:14 Riastradh: that's my favorite declension after the fifth, of course; the fifth is a tramp 02:55:56 *copumpkin* pulls out his res 02:56:07 or rem, I guess 02:59:01 *copumpkin* tries to decide what he meant 03:00:50 incubot: i prefer the humpteenth declension myself 03:00:53 Nope, it fits perfectly in the pattern of a not-very-often-used declension :-) 03:01:13 leave my sex life out of it 03:09:00 -!- tjafk1 [n=timj@e176203146.adsl.alicedsl.de] has quit [Read error: 110 (Connection timed out)] 03:09:08 tjafk1 [n=timj@e176206021.adsl.alicedsl.de] has joined #scheme 03:11:26 dmoerner [n=dmr@89-151.res.pomona.edu] has joined #scheme 03:11:50 -!- nothingHappens_ [n=nothingH@173-25-176-111.client.mchsi.com] has quit ["Leaving"] 03:19:02 Adamant [n=Adamant@unaffiliated/adamant] has joined #scheme 03:27:59 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 03:28:43 -!- dudleyf [n=dudleyf@ip70-178-212-238.ks.ks.cox.net] has quit [] 03:29:10 -!- arcfide [n=arcfide@adsl-99-14-211-8.dsl.bltnin.sbcglobal.net] has left #scheme 03:31:57 -!- emma [n=em@unaffiliated/emma] has quit [Connection timed out] 03:32:11 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 03:37:27 rcy [n=rcy@d154-20-143-140.bchsia.telus.net] has joined #scheme 03:41:14 -!- dmoerner [n=dmr@89-151.res.pomona.edu] has quit ["Leaving"] 03:46:08 I am by no means sure that I can make a strong enough case to kick string-set! and its little friend string-fill! 03:46:22 *foof`* can 03:46:25 -!- foof` is now known as foof 03:46:25 But I would sure like to see them disposed of behind the dump. 03:46:38 foof: Lead me on the Way. 03:50:02 1) more purely functional, allows many optimizations such as shared substrings 03:50:28 2) is the general trend in new languages/runtimes such as Java and C# 03:51:26 Good points both 03:51:37 My argument is: 03:51:50 3) algorithms where you want to modify strings in the middle are rare, and often break in unicode (e.g. string-upcase! cannot in general mutate the string) 03:51:58 4) If you want vectors of characters, use vectors containing characters. 03:52:06 5) wreaks havoc on normalization 03:52:48 All good. 03:52:54 I very much want it to be at least _allowed_ to write a Scheme implementation that consistently keeps all strings in a certain normalization form. 03:53:02 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 03:53:49 That has the implications that string mutation, if allowed, has to be achieved through a level of indirection and O(n) time. 03:54:15 *jcowan* nods. 03:54:32 I'm concerned, though, about the implications for I/O and for literal strings. 03:54:34 It also means that (string->list (string-append a b)) may not be the same as (append (string->list a) (string->list b)). 03:54:35 *offby1* nods off 03:54:54 *jcowan* relaxes now that offby1 is no longer plotting. 03:55:05 or I should say scheming. 03:55:07 I have an HP plotter to do that for me. 03:55:07 Which is a little weird, but hey, so is Unicode, and completely removing all normalization concerns from the programmer seems to me to be worth it. 03:55:08 it's devious. 03:55:25 *jcowan* only has a micro-planner. 03:55:33 *offby1* slaps jcowan upside the haid 03:55:40 jcowan: BTW, do you expect me to answer the last question on the mailing list? 03:55:58 jcowan: at this point, the standard response is "ow, mah haid" 03:56:00 jcowan: Explicit normalization is an encoding concern. Just as ports can specify character encoding and crlf behavior, they can specify a normalization type. 03:56:31 Or alternately encode to byte vectors are write those out when you really need explicit normalization. 03:56:33 *jcowan* 's haid is too hard for that. 03:56:57 eli: did I ask the last question? 03:57:09 ("Can the direction of entropy be reversed?") 03:57:42 jcowan: The question about how/when a reader code is loaded in PLT. 03:58:04 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 03:58:38 Here or there (or not at all), whichever is convenient. 03:59:12 New names for T1 and T2: Devious and Obvious 04:00:38 underspecified [n=eric@walnut.naist.jp] has joined #scheme 04:00:41 New names for WG1 and WG2: Shriveled and WTFYW. 04:01:43 jcowan: I was hoping to get away more easily. I'll reply there, and will try to make it short. 04:04:15 As you will. 04:04:17 And thank you. 04:06:26 -!- steiger [n=steiger@189.105.57.95] has quit [Read error: 110 (Connection timed out)] 04:10:21 exxxd34 [n=aseas65x@p7214-ipbfp804fukuokachu.fukuoka.ocn.ne.jp] has joined #scheme 04:11:40 peter_12 [n=peter_12@S0106001310475d12.vn.shawcable.net] has joined #scheme 04:11:55 *jcowan* is going to throw two big sops to the micro-Scheme enthusiasts. 04:14:20 hm? 04:16:41 -!- underspecified [n=eric@walnut.naist.jp] has quit [] 04:16:57 You'll see. 04:17:20 The first one is about implicit optionality in R5RS and how that connects with the WG1 charter. 04:17:46 *eli* begins a long sigh 04:17:53 what's the WG1 charter? 04:23:02 eno [n=eno@nslu2-linux/eno] has joined #scheme 04:26:05 -!- peter_12 [n=peter_12@S0106001310475d12.vn.shawcable.net] has quit [] 04:29:06 The description of how the working group to establish the "small Scheme" language will work, and what it's to do. 04:29:25 jcowan: BTW, if you're looking for `make-list', then see a semi-recent discussion of that on the PLT list. IIRC, there were some historical references too. 04:29:47 oh 04:29:56 are you in a position to make changes to that? 04:30:04 No. 04:31:28 oh 04:31:29 Do I really have to respond to Bear's immense screed? 04:31:40 Or can I drop it down the oubliette? 04:31:42 I am trying to figure out why this proof checker is 10,000 lines of code 04:32:21 Proofs are stubborn things. 04:34:13 -!- zanes [n=zane@pool-151-199-62-61.bos.east.verizon.net] has quit [] 04:34:49 -!- eno__ [n=eno@adsl-70-137-174-5.dsl.snfc21.sbcglobal.net] has quit [Read error: 110 (Connection timed out)] 04:35:15 jcowan, you can pretend that your MTA choked on the message and delivered it malformed, and your only choice was to delete it. 04:39:46 peter_12 [n=peter_12@S0106001310475d12.vn.shawcable.net] has joined #scheme 04:41:09 this has no business being so long 04:45:20 sreeram [n=sreeram@61.247.251.10] has joined #scheme 04:47:12 -!- MononcQc [n=parseido@modemcable062.225-20-96.mc.videotron.ca] has quit ["DOWNLOADING LATEST VERSION OF THE INTERNET"] 05:15:19 sphex_ [n=nobody@modemcable244.185-56-74.mc.videotron.ca] has joined #scheme 05:15:34 Vaeshir [n=zane@76.24.24.236] has joined #scheme 05:18:08 -!- Vaeshir [n=zane@76.24.24.236] has quit [Client Quit] 05:22:53 -!- sphex [n=nobody@74.56.185.244] has quit [Read error: 145 (Connection timed out)] 05:23:55 -!- exxxd34 [n=aseas65x@p7214-ipbfp804fukuokachu.fukuoka.ocn.ne.jp] has quit ["Leaving..."] 05:25:20 -!- Kusanagi [n=Lernaean@unaffiliated/kusanagi] has quit [Read error: 145 (Connection timed out)] 05:28:03 emma [n=em@unaffiliated/emma] has joined #scheme 05:30:33 -!- Pepe_ [n=ppjet@78.113.32.245] has quit [Read error: 113 (No route to host)] 05:30:43 Is there a way to just manually download a whole package on PLaneT and get a tarball or zip file? 05:30:43 peter_12, memo from eli: the .dmg file distribution for mzscheme is just because I've seen dmg files being used for that. Making it a zip or a tgz or whatever is very easy. Feel free to post on the list and perhaps we'll run a quick poll. 05:36:09 decker [n=decker@user-0c9h6n8.cable.mindspring.com] has joined #scheme 05:37:14 hi. I'm forgetting, were the terms you guys used yesterday (or the day before?) for conditionals and ifs? One of them was a macro...the other was? A special form? 05:37:41 oops, pardon my terrible grammar... 05:40:19 and (pp ...) doesn't work for either. is there something similar for macros or whatever? 05:41:54 minion: please tell eli I posted to the list 05:41:54 eli: watch out, you'll make krystof angry 05:43:23 decker: I wasn't here but it was probably "special form" 05:43:35 you can check the logs http://ccl.clozure.com/irc-logs/scheme/ 05:43:49 that url is in the topic for this channel 05:43:53 peter_12: any idea off the top of your head which is the macro then and which is the special form? 05:44:21 they are both special forms because they don't have the usual evaluation 05:45:44 in R5RS "if" is "syntax" and "cond" is "library syntax" so it would be that "cond" is written as a macro in terms of "if" 05:48:51 peter_12: well, Axioplase was saying a few days ago that cond is a macro, if is a special form. 05:49:11 cond is a macro and a special form 05:49:14 if is a special form 05:49:24 and a special form. ok. 05:49:40 macros are often used to define special forms 05:49:44 ha, I guess that begs the question, what's a special form? 05:49:57 and for that matter, what's a macro? 05:50:22 suppose "if" is a normal procedure 05:50:49 nevermind, I found something on special forms. 05:50:57 (if #t 1 (launch-missiles)) 05:51:35 dmoerner [n=dmr@89-57.res.pomona.edu] has joined #scheme 05:52:45 yeah, I get it. just like the new-if thing from sicp. which is what brought all this up the other day 05:53:21 ha, I'm never going to get anything done now though. Dungeons and Dragons Online is almost done installing. 05:55:11 -!- emma [n=em@unaffiliated/emma] has quit [Success] 06:02:12 mmc [n=mima@cs137104.pp.htv.fi] has joined #scheme 06:02:49 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 06:18:21 -!- peter_12 [n=peter_12@S0106001310475d12.vn.shawcable.net] has quit [] 06:19:53 -!- decker [n=decker@user-0c9h6n8.cable.mindspring.com] has quit ["ChatZilla 0.9.85 [Firefox 3.5.2/20090729225027]"] 06:24:31 Kusanagi [n=Lernaean@24-107-112-153.dhcp.stls.mo.charter.com] has joined #scheme 06:27:00 -!- dmoerner [n=dmr@89-57.res.pomona.edu] has quit [Read error: 110 (Connection timed out)] 06:30:45 underspecified [n=eric@walnut.naist.jp] has joined #scheme 06:43:16 thesnowdog [i=thesnowd@122.110.62.22] has joined #scheme 06:45:50 sphex [n=nobody@modemcable244.185-56-74.mc.videotron.ca] has joined #scheme 06:50:57 -!- mmc [n=mima@cs137104.pp.htv.fi] has quit [Read error: 110 (Connection timed out)] 06:51:36 sphex__ [n=nobody@74.56.185.244] has joined #scheme 06:52:25 wow, Linus must have worked really, really, really hard to make a program as hard to use as git 06:54:04 -!- sphex [n=nobody@modemcable244.185-56-74.mc.videotron.ca] has quit [Read error: 60 (Operation timed out)] 07:00:22 Adman65 [n=Adman65@c-76-103-90-45.hsd1.ca.comcast.net] has joined #scheme 07:00:32 Hey, how can I found out the name of a procedure? 07:00:43 -!- sphex_ [n=nobody@modemcable244.185-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 07:11:02 chris_bryant [n=chrisbry@cpe-75-84-206-87.socal.res.rr.com] has joined #scheme 07:11:30 -!- chris_bryant [n=chrisbry@cpe-75-84-206-87.socal.res.rr.com] has quit [Client Quit] 07:24:18 chris_bryant [n=chrisbry@cpe-75-84-206-87.socal.res.rr.com] has joined #scheme 07:26:53 Adman65: you have the source code? 07:27:22 Or "I know that some procedure does this, but I can't remember its name"? 07:27:39 Ya, but I want to call a procedure then display its name without having to write the name in code 07:27:49 -!- chris_bryant [n=chrisbry@cpe-75-84-206-87.socal.res.rr.com] has quit [Client Quit] 07:28:02 Ah. 07:28:03 you 07:28:05 can't 07:28:19 danfowler [n=Dfowler@ip-66-9-231-201.autorev.intellispace.net] has joined #scheme 07:28:33 ok 07:43:37 vy [n=user@nbvyazici.cs.bilkent.edu.tr] has joined #scheme 07:44:23 Hi! Is there some sort of ASDF/DEFPACKAGE like functionality in Gambit Scheme? Or do you just use plain `LOAD's? 07:44:40 -!- danfowler1 [n=Dfowler@ip-66-9-231-226.autorev.intellispace.net] has quit [Read error: 110 (Connection timed out)] 07:45:02 vy: maybe "blackhole" 07:45:07 It's in the dumping ground 07:46:26 Axioplase pasted "Adman65 : ugly hack" at http://paste.lisp.org/display/86853 07:46:41 Adman65: I'm sure one can do better 07:48:23 HG` [n=HG@89.166.224.7] has joined #scheme 07:53:11 attila_lendvai [n=ati@apn-89-223-150-100.vodafone.hu] has joined #scheme 07:58:37 chris_bryant [n=chris_br@cpe-75-84-206-87.socal.res.rr.com] has joined #scheme 08:06:27 vy: Snow is Feeley's own effort, and there's also Jazz. 08:07:04 ... and someone else had a Gambit module system. And common-scheme supported Gambit. 08:15:31 Gambit now has a "black hole" module system according to the wiki 08:15:39 I haven't been able to find much info on it though :( 08:15:54 It's not really official. 08:15:56 oh, Axioplase mentioned that 08:16:31 *sjamaan* goes back to work instead of making more noise here 08:19:08 mmc [n=mima@esprx01x.nokia.com] has joined #scheme 08:20:18 merus [n=merus@pal-176-050.itap.purdue.edu] has joined #scheme 08:43:48 dmoerner [n=dmr@89-151.res.pomona.edu] has joined #scheme 08:45:55 -!- merus [n=merus@pal-176-050.itap.purdue.edu] has quit [Remote closed the connection] 08:46:45 merus [n=merus@pal-176-050.itap.purdue.edu] has joined #scheme 08:48:58 -!- chris_bryant [n=chris_br@cpe-75-84-206-87.socal.res.rr.com] has quit ["Leaving"] 08:49:48 ski_ [n=md9slj@remote1.student.chalmers.se] has joined #scheme 08:54:38 steiger [n=steiger@189.105.30.127] has joined #scheme 08:56:50 Sveklo1 [n=sveklo1@a88-115-8-123.elisa-laajakaista.fi] has joined #scheme 09:01:27 -!- attila_lendvai [n=ati@apn-89-223-150-100.vodafone.hu] has quit [Read error: 110 (Connection timed out)] 09:04:49 masm [n=masm@bl9-112-95.dsl.telepac.pt] has joined #scheme 09:09:00 -!- HG` [n=HG@89.166.224.7] has quit [Client Quit] 09:12:01 Edico [n=Edico@unaffiliated/edico] has joined #scheme 09:19:31 -!- dmoerner [n=dmr@89-151.res.pomona.edu] has quit ["Leaving"] 09:32:26 -!- Adman65 [n=Adman65@c-76-103-90-45.hsd1.ca.comcast.net] has quit [] 09:35:51 -!- Axioplase is now known as Axioplase_ 09:43:36 -!- tarbo_ [n=me@unaffiliated/tarbo] has quit [Read error: 60 (Operation timed out)] 09:44:20 -!- duncanm [n=duncan@a-chinaman.com] has quit [Read error: 60 (Operation timed out)] 09:45:03 -!- p1dzkl [i=p1dzkl@208.92.234.202] has quit [Read error: 60 (Operation timed out)] 09:47:33 -!- ponzao__1 [n=vesam@xdsl-83-150-86-25.nebulazone.fi] has quit [Remote closed the connection] 09:47:38 duncanm [n=duncan@a-chinaman.com] has joined #scheme 09:47:44 -!- elf [i=elf@antenora.aculei.net] has quit [Remote closed the connection] 09:47:49 elf [i=elf@antenora.aculei.net] has joined #scheme 09:48:56 -!- linas [n=linas@gnucash.org] has quit [Read error: 60 (Operation timed out)] 09:49:14 linas [n=linas@gnucash.org] has joined #scheme 09:50:40 Summermute66 [n=scott@68.34.67.216] has joined #scheme 09:53:50 tarbo [n=me@unaffiliated/tarbo] has joined #scheme 09:54:49 -!- sstrickl [n=sstrickl@pool-151-199-62-61.bos.east.verizon.net] has quit [Read error: 104 (Connection reset by peer)] 09:55:53 ponzao___ [n=vesam@xdsl-83-150-86-25.nebulazone.fi] has joined #scheme 10:00:41 -!- Summermute [n=scott@c-68-34-67-216.hsd1.dc.comcast.net] has quit [Read error: 110 (Connection timed out)] 10:04:46 -!- ski_ [n=md9slj@remote1.student.chalmers.se] has quit [Nick collision from services.] 10:05:28 ski_ [n=md9slj@remote1.student.chalmers.se] has joined #scheme 10:05:35 -!- kilimanjaro [n=kilimanj@70.116.95.163] has quit [Remote closed the connection] 10:20:00 -!- jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has quit [Read error: 110 (Connection timed out)] 10:24:09 btnz [n=bitnoix@mna75-3-89-83-43-131.dsl.club-internet.fr] has joined #scheme 10:26:22 hi, we're learning scheme at university this year and our prof suggested to use DrScheme, but i personally like to work with emacs 10:27:26 the thing is that they provided us with a .plt file that we're supposed to use with DrScheme 10:27:26 You can use mzscheme with emacs 10:27:32 mzscheme is also PLT 10:27:49 i'm just not quite sure what it actually *does* 10:27:54 heh 10:28:02 Can't you try it in drscheme first? 10:28:08 is it like a collection of macros? 10:28:23 eli would know 10:28:40 like a little library? 10:28:55 or a whole scheme implimentation 10:29:05 i'm a little confused 10:29:07 What happens if you load it in drscheme? 10:29:36 not that much, well you can activate it in the language selection 10:30:15 It's probably a simplified scheme, or with some additions your prof needs 10:30:30 It's probably possible to use that in mzscheme but I wouldn't know how 10:30:38 Did you check the manual? 10:30:51 Or ask the prof? 10:31:12 havent gotten to talk to him yet 10:31:40 HG` [n=HG@85.8.75.57] has joined #scheme 10:31:42 but yes, it looks like a simplified language to me 10:32:14 i'm just wondering how it actually ties in with drscheme 10:32:56 attila_lendvai [n=ati@apn-89-223-206-139.vodafone.hu] has joined #scheme 10:34:42 i mean, when i install it, it creates a number of .ss files in some of my ~/.plt-scheme subdirectories 10:35:12 Well, it's probably a package, like your Unix system package (rpm/deb) 10:35:22 The .ss files are what matters 10:35:27 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 10:36:08 And mzscheme should be able to read those just as well as drscheme 10:36:11 but there's also a folder called 'compiled' in the language-directory 10:36:40 that's okay 10:36:52 PLT scheme includes a compiler 10:37:02 "mzc", I think 10:37:47 so that just means that it compiles the .ss files that contain the language specification for faster execution? 10:38:33 aye 10:40:42 okay, so basically it's just these files that matter: graphics.ss info.ss scheme101-lang.ss tests.ss trees.ss 10:42:23 taking a look into scheme101-lang.ss i can find "require" statements pointing to graphics.ss, trees.ss and tests.ss, i take that these are like "include" statements that i know from other languages? 10:52:38 -!- vy [n=user@nbvyazici.cs.bilkent.edu.tr] has quit [Remote closed the connection] 10:56:26 -!- dfeuer [n=dfeuer@wikimedia/Dfeuer] has quit [Read error: 110 (Connection timed out)] 11:05:03 bombshelter13__ [n=bombshel@206.80.252.37] has joined #scheme 11:07:47 -!- attila_lendvai [n=ati@apn-89-223-206-139.vodafone.hu] has quit [Read error: 104 (Connection reset by peer)] 11:17:21 -!- bombshelter13_ [n=bombshel@206.80.252.37] has quit [Connection timed out] 11:21:53 -!- saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Read error: 110 (Connection timed out)] 11:29:59 hkBst [n=hkBst@gentoo/developer/hkbst] has joined #scheme 11:49:01 btnz: yes, they are 11:49:37 what the .plt package does: it probably defines a scheme sublanguage for you students 11:49:52 just like 'pretty big' or 'begginning student' 11:49:58 i'm just wondering what i have to take care of when i use emacs instead 11:50:11 btnz: first, get it running with drscheme 11:50:27 that it is 11:51:00 after you *know* how to use it from drscheme, getting it to run with emacs should be trivial as long as emacs provides mzscheme integration. Which, reading from the comments here, it seems to do. 11:51:10 i mean, drscheme is built ontop of mzscheme, right? 11:51:32 btnz: Drscheme is the graphical environment on top of mzscheme, right. 11:51:45 and the editor is called MrEd, btw. 11:52:54 attila_lendvai [n=ati@apn-89-223-251-23.vodafone.hu] has joined #scheme 11:52:55 so language manipulations are actually just adding in some other functions to mzscheme by requiring and especially defining a lot 11:53:51 btnz: not really. you can create basically any language in plt. I think it also ships with Algol, which it apparently can execute. 11:54:07 but never tried that, maybe eli can elaborate on that 11:57:16 Laonidas: well the main lang file is just a collection of requires and defines, after that there's a comment saying: 11:57:16 ;; Unfortunately, most of the rest is cut-and-pasted from R5RS: 11:58:15 * leonidas , sry 12:09:51 p1dzkl [i=p1dzkl@208.92.234.202] has joined #scheme 12:13:22 btnz: if you want, you can send me the plt file, although I can't guarantee that I'll be of any help :) 12:14:26 mario-goulart [n=user@67.205.85.241] has joined #scheme 12:14:47 leonidas: here it is: http://www.licence.info.upmc.fr/lmd/licence/2009/ue/prec-2009oct/scheme101.plt 12:14:51 -rudybot_:#scheme- http://tinyurl.com/kpeofl 12:16:11 ASau [n=user@83.69.240.52] has joined #scheme 12:19:18 -!- sreeram [n=sreeram@61.247.251.10] has quit [] 12:20:50 -!- underspecified [n=eric@walnut.naist.jp] has quit [] 12:29:34 -!- merus [n=merus@pal-176-050.itap.purdue.edu] has quit ["Leaving"] 12:40:44 Jafet [n=Jafet@unaffiliated/jafet] has joined #scheme 12:43:03 luz [n=davids@189.122.90.116] has joined #scheme 12:48:43 -!- HG` [n=HG@85.8.75.57] has quit [Client Quit] 12:51:06 -!- ineiros [n=itniemin@james.ics.hut.fi] has quit [Read error: 54 (Connection reset by peer)] 12:56:26 HG` [n=HG@85.8.75.57] has joined #scheme 13:09:43 sphex [n=nobody@modemcable244.185-56-74.mc.videotron.ca] has joined #scheme 13:13:11 antoszka [n=antoszka@unaffiliated/antoszka] has joined #scheme 13:17:14 -!- sphex__ [n=nobody@74.56.185.244] has quit [Read error: 145 (Connection timed out)] 13:18:35 btnz: sorry, I needed to talk to my boss ;) 13:19:27 leonidas: uh, didnt mean to get you into trouble 13:20:13 btnz: no, not about this, don't worry :) 13:20:47 just to explain why I was so silent. As far as I see, the plt file needs an old version of drscheme. 13:21:14 that is true, sorry, forgot to mention. 13:21:27 works with 371 and 372 13:21:52 hmm, I wonder how to unpack that file 13:23:33 *Leonidas* downloads 372 13:23:36 drscheme 372 does it automatically when you import the file 13:25:28 *sigh* the binary does not work. 13:28:25 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 13:28:53 compiling... (this will take an awful long time on this prehistoric computer) 13:30:58 Nshag [i=user@Mix-Orleans-106-4-225.w193-248.abo.wanadoo.fr] has joined #scheme 13:31:16 MrFahrenheit [n=RageOfTh@users-38-173.vinet.ba] has joined #scheme 13:34:34 btnz: It sounds like you did manage to install the .plt file, are you having any other problems? 13:35:06 blackened` [n=blackene@ip-89-102-28-224.karneval.cz] has joined #scheme 13:38:16 I need library for tls/ssl in plt. any ideas? 13:40:06 rmrfchik: ssl is in the openssl collection. 13:41:00 Ah, ic. 13:41:04 reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #scheme 13:42:35 eli: my main issu is actually that i dont quite know what it does and that i'd actually prefer emacs over MrEd but dont know how to use the package with it (for that i'd have to figure out how it works first) 13:44:28 btnz: That all depends on what you need to do with it: it can be a bunch of scripts for execution, a course language, or some library with utilities. 13:46:39 btnz: So it looks like the code is all in a `scheme101' collection. 13:47:00 as far as i've seen it's a course language, containing an info.ss file telling drscheme where to tie it in and pointing to the main language.ss file where some define statements are found and some requires pointing to other files with more defines and requires 13:47:09 btnz: And it looks like it defines a "language level" for DrScheme. 13:47:37 The "info.ss" file has the relevant definitions for drscheme, btw. 13:48:35 To use the language as intended, you will need to use DrScheme. 13:48:57 But it might be possible to run it with a command line. 13:49:20 You should try to write your files as: 13:49:47 (module (lib "scheme101-lang.ss" "scheme101") ...your code here...) 13:50:41 btnz: But since the language uses graphics, you will not be able to run it directly in mzscheme (because mzscheme doesn't provide any gui support). 13:50:51 eno__ [n=eno@adsl-70-137-130-132.dsl.snfc21.sbcglobal.net] has joined #scheme 13:51:15 Instead, you'll need to run it through mred -- but that's easy, you just run it in the same way that you'd run mzscheme: `mred ' 13:51:50 btnz: You can also get a mred REPL by using `mred -z' instead of `mzscheme' as your executable in Emacs. 13:52:54 one thing that got me a bit confused is that in some of the requires point to files that are not included in the package: 13:52:54 (require (lib "math.ss")) 13:52:54 for example 13:53:07 oh, that's nice, didn't know that it is possible to run mred without graphics :) 13:54:54 Leonidas: It does use graphics in the sense that it needs to run in a gui environment, but the repl you get is a textual one. 13:55:10 btnz: The (lib "...") things come from PLT. 13:56:31 eli: mhh, I already suspected that it still needs $DISPLAY and such 13:56:47 drscheme 372 does not compile.. somehow 13:56:59 Error [GCING] 133 in ./../src/bool.c: Function double_eqv declared __xform_nongcing__, but includes a function call. 13:57:02 xform: Errors converting 13:57:32 Leonidas: Well, 372 is pretty ancient now. 13:58:10 i have the .ss files unpacked if you feel like taking a look at them like that 13:59:17 eli: yep, that's why I won't start complaining about it :) 13:59:30 btnz: would be nice 14:00:12 btnz, Leonidas: looking inside a .plt file is easy -- you need to base64-decode the file and gunzip the result. Then it's all some simple text around the actual files. 14:00:38 eli: ah, base64. I was suspecting something like this 14:00:43 dzhus [n=sphinx@93-80-213-196.broadband.corbina.ru] has joined #scheme 14:01:46 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 110 (Connection timed out)] 14:04:49 but once installed in drscheme 370 it shouldn't be a problem. 14:05:42 just use mred -z (plus maybe some option to set the language the scheme101 language) 14:07:24 so here is the info.ss: http://pastebin.com/dbe755d3 14:07:29 not a big deal 14:09:00 the actual scheme101-lang.ss: http://pastebin.com/d18a10a3e 14:11:04 btnz: BTW, you should complain about using an old version -- things would have been easier if you were using the current version. 14:11:21 -!- attila_lendvai [n=ati@apn-89-223-251-23.vodafone.hu] has quit [Read error: 110 (Connection timed out)] 14:13:04 and as required in the scheme101-lang: 14:13:04 graphics.ss http://pastebin.com/d49c03649 14:13:04 trees.ss http://pastebin.com/d580f1b66 14:13:04 tests.ss http://pastebin.com/d343c17ec 14:14:03 eli: yeah, i'm not at all glad about using outdated versions, that's why i'm trying to get a better understanding of what it actually is/does 14:14:39 underspecified [n=eric@softbank220043052007.bbtec.net] has joined #scheme 14:14:41 lisppaste: url? 14:14:41 To use the lisppaste bot, visit http://paste.lisp.org/new/scheme and enter your paste. 14:14:46 eli: i mean, it's not actually that much of code that maintaining it for newer versions would seem impossible 14:14:49 (for future reference) 14:14:58 chandler thanks 14:23:23 btnz: Well, I think you're right -- it doesn't look like there's all that much, and updating it should be pretty easy. 14:39:17 langmartin [n=user@exeuntcha.tva.gov] has joined #scheme 14:41:29 derdon [n=derdon@p4FC8DAB8.dip.t-dialin.net] has joined #scheme 14:42:03 chris_bryant [n=chris_br@cpe-75-84-206-87.socal.res.rr.com] has joined #scheme 14:44:27 -!- derdon [n=derdon@p4FC8DAB8.dip.t-dialin.net] has left #scheme 15:02:15 -!- mario-goulart [n=user@67.205.85.241] has quit [Remote closed the connection] 15:05:21 -!- edwardk [n=edwardkm@209-6-103-127.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Nick collision from services.] 15:05:32 edwardk [n=edwardk@32.140.162.173] has joined #scheme 15:05:59 edwardk1 [n=edwardkm@209-6-103-127.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 15:06:48 merus [n=merus@pal-176-050.itap.purdue.edu] has joined #scheme 15:09:01 arcfide [n=arcfide@99.50.231.131] has joined #scheme 15:09:18 Alright! So, I'm having a little trouble with a macro....:-) 15:09:34 jlongster [n=user@c-68-59-187-95.hsd1.tn.comcast.net] has joined #scheme 15:10:27 arcfide pasted "define-descendant" at http://paste.lisp.org/display/86868 15:11:00 arcfide annotated #86868 "The problem" at http://paste.lisp.org/display/86868#1 15:12:18 Does anyone know why this occurs? I'm not very familiar with the underlying requirements of define-record-type, but it seems rather strange to me that I wouldn't be allowed to do something like this. Why would the getter procedures even be evaluated or examined at this time? 15:12:41 sreeram [n=sreeram@122.174.132.15] has joined #scheme 15:14:11 arcfide, that trace output doesn't correspond with the macro you defined. 15:14:39 Riastradh: Oh, sorry, looks like I"ve got an old trace. The bug is still the same, but I messed the definition up some. 15:14:47 Let me try to clarify that. 15:17:38 Can you trace the definition of DEFINE-RECORD-TYPE? 15:18:40 arcfide annotated #86868 "Better" at http://paste.lisp.org/display/86868#2 15:19:17 What's with (DEFINE-DESCENDANT (DEFINE-DESCENDANT ...))? 15:19:19 Riastradh: Dunno... 15:19:57 Riastradh: It's the trace form. It's shows that the transformer DEFINE-DESCENDANT was called with the form (DEFINE-DESCENDANT ...0. 15:20:15 Is it ever called in a different way? 15:20:36 Riastradh: I don't understand...what do you mean? 15:20:50 Do you ever see (DEFINE-DESCENDANT (FNORD FOOGROEL))? 15:21:10 Riastradh: You can get something like (DEFINE-DESCENDANT DEFINE-DESCENDANT). 15:21:28 And I think there is another situation that you can get, but I don't remember. 15:22:03 And of course, it is possible to do some weird things and artifically pass other syntax to the transformer. 15:22:21 Anyway, trace DEFINE-RECORD-TYPE, or don't use such a painfully complex record type definition macro. 15:22:32 Painfully complex? 15:22:46 Oh, you mean don't use DEFINE-RECORD-TYPE. 15:22:48 Obviously it is causing you trouble, and it is certainly more complex than SRFI 9. 15:24:27 Riastradh: Of course, the thing works fine if I type it in manually. 15:25:34 ejs [n=eugen@58-13-135-95.pool.ukrtel.net] has joined #scheme 15:26:19 Riastradh: What would this look like in SRFI 9? 15:26:30 -!- sreeram [n=sreeram@122.174.132.15] has quit [] 15:26:35 Assuming a purely syntactic interface, without any of the procedural construction of records. 15:28:14 Riastradh: Does SRFI-9 Not support parent and descendant types? 15:28:19 It does not. 15:28:36 That kind of defeats my implementation strategy here. 15:29:38 Implementation strategy for what? 15:29:46 Variant Types. 15:29:59 So don't do that. Do what the other implementations do. 15:30:32 That doesn't explain *why* this macro doesn't work when I can't see any reason why it shouldn't work. 15:30:50 (define-record-type (make-foo variant data) ...) (define-record-type (make-foo-variant-1 x y z) ...) (case (foo.variant foo) ((VARIANT-1) ...) ...) 15:33:29 _Pb [n=Pb@75.131.194.186] has joined #scheme 15:43:46 -!- chris_bryant [n=chris_br@cpe-75-84-206-87.socal.res.rr.com] has quit ["Leaving"] 15:44:39 -!- edwardk [n=edwardk@32.140.162.173] has quit [Read error: 104 (Connection reset by peer)] 15:45:26 -!- _Pb [n=Pb@75.131.194.186] has left #scheme 15:49:34 If you want to use the same approach, you'll have to find out how Chez's complicated DEFINE-RECORD-TYPE is expanding. 15:50:43 Riastradh: That R6RS. :-) 15:51:23 Riastradh: Oh, well, of course, I can just expand the code. 15:51:36 Actually, no, I did mean Chez's DEFINE-RECORD-TYPE. The syntax, and intended semantics, may be the same as the R6RS's, but who knows whether Chez's implementation matches the intended semantics? 15:52:09 Oh, I see, yes, that's what I'm trying to figure out. 15:54:47 -!- mmc [n=mima@esprx01x.nokia.com] has quit [Remote closed the connection] 15:54:57 So what is the expansion? 15:55:19 Riastradh: I'm working on an equivalent expansion, hang on. 16:00:51 -!- danfowler [n=Dfowler@ip-66-9-231-201.autorev.intellispace.net] has quit [Read error: 104 (Connection reset by peer)] 16:02:53 jonrafkind [n=jon@crystalis.cs.utah.edu] has joined #scheme 16:05:34 peter_12 [n=peter_12@S0106000f66bc42b9.vn.shawcable.net] has joined #scheme 16:07:16 jao [n=jao@214.Red-88-6-174.staticIP.rima-tde.net] has joined #scheme 16:12:16 danfowler [n=Dfowler@ip-66-9-231-201.autorev.intellispace.net] has joined #scheme 16:13:45 -!- Jafet [n=Jafet@unaffiliated/jafet] has quit [Read error: 110 (Connection timed out)] 16:14:45 Ahaha, it must be a bug, I think with the top-level value handling and the REPL. 16:15:17 saccade_ [n=saccade@65-78-24-131.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #scheme 16:16:42 ... 16:18:30 Riastradh: You don't want to know. 16:19:56 arcfide annotated #86868 "The ugly truth" at http://paste.lisp.org/display/86868#3 16:20:05 Riastradh: But if you do, you can see that. 16:20:12 That's a variation of the macro that works. 16:20:28 There's something wrong with the top-level value handling procedures in this prerelease version. 16:20:39 Some things like this have changed, so that's not surprising. 16:22:16 Phaze [n=PhazeDK@0x5da32b16.cpe.ge-0-1-0-1104.soebnqu1.customer.tele.dk] has joined #scheme 16:28:11 -!- dzhus [n=sphinx@93-80-213-196.broadband.corbina.ru] has quit [Remote closed the connection] 16:30:34 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 16:33:04 edwardk [n=edwardk@32.140.162.173] has joined #scheme 16:33:45 arcfide pasted "define-variant-type" at http://paste.lisp.org/display/86879 16:34:43 Riastradh: Does the above definition of 'define-variant-type' seem like a workable one? 16:35:02 Aiee! 16:35:45 chandler: Obviously there are some clean up things to do. 16:38:16 Sorry, that just got my instant "Aiee" reaction due to the use of `syntax-case' where `syntax-rules' would do, and the use of (... ...) where a dotted pattern will do. It makes it a bit hard to read. 16:39:50 chandler: Yes, clean up. I started with SYNTAX-CASE because there were some things that needed stuff there, I'm removing them as possible. 16:40:17 offby1` [n=user@q-static-138-125.avvanta.com] has joined #scheme 16:40:30 chandler: And I'm sorry,but I am not sure what you mean by the dotted pattern stuff. 16:40:49 [(_ expr (else body (... ...))) #'(%%variant-case expr (body (... ...)))] -> 16:41:07 [(_ expr (else . body)) #'(%%variant-case expr body)] 16:41:10 (if I did that right) 16:41:34 Oooh. 16:41:52 rudybot__ [n=luser@q-static-138-125.avvanta.com] has joined #scheme 16:42:08 chandler: You mean like *that*. 16:42:09 :v) 16:43:04 Those are different patterns, of course, chandler. 16:43:29 arcfide, why is that rule not simply this? ((_ expr (else body (... ...))) (begin body (... ...))) 16:44:17 What is this mapper nonsense about? 16:45:24 Riastradh: Yes. I've written a number of macro-defining macros in pure R5RS recently, which means that I've been deprived of the ability to produce an ellipsis in the expansion. I've taken to using dotted patterns even when technically I want an ellipsis; it's almost always the case that the original syntax checked that all of the input was a proper list, or that some other syntax I expand to will enforce that. 16:46:09 It's also substantially easier to read than patterns involving (... ...), which tend to make my eyes bleed. My kingdom for SRFI-46! (And yours too, I suspect.) 16:46:32 Does anyone know how I can download a package from PLaneT without using (require (planet ...). I just want to download a package in the format the developer uploaded it. 16:46:53 ASau` [n=user@83.69.240.52] has joined #scheme 16:47:28 If, when writing macro-defining macros in portable R5RS, you wish to check that some portion of the pattern is actually a proper list, it's fairly easy to write a utility syntax to do so. 16:51:19 Now that `violation' has become the vogue term for `error' in the R6RS, I'd like to propose that in the R7RS we change the vogue term to `assault', or perhaps `crime'. `Warning' should be `misdemeanour', and `serious' conditions should be `double-secret probation' conditions. 16:52:48 Who thought up that `violation' terminology anyway, and was there any justification beyond annoying legions of programmers who are used to these things being called `errors'? 16:53:05 (define-syntax foo ... (syntax-assault 'FOO "Bad claws -- too pointy; ow!" claws) ...) 16:54:05 Perhaps we can replace `delay' and `force' with `detain' and `release' as well. 16:54:07 -!- rudybot_ [n=luser@q-static-138-125.avvanta.com] has quit [Read error: 110 (Connection timed out)] 16:54:11 Riastradh: Yes, I should change that rule. 16:54:30 chandler, a capital idea! Great for confusing Cocoa programmers. 16:54:43 Riastradh: Mapper is used to assign the values of the record to the names provided in the case form. 16:55:04 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Read error: 110 (Connection timed out)] 16:56:25 Also, let's change the verb `assert' to `aver', so that we can signal AVERSION-CRIME conditions when the averred checks fail. 16:56:26 Riastradh: Rather than remember the indexes or anything else, each child descendant has an associated procedure that, when given a record and a receiver procedure, will apply the values in the record to the receiving procedure. 16:56:52 You don't have to remember the indices or anything. 16:57:33 What way do you use to map the values, honestly, I couldn't tell from reading your code. 16:57:40 Just turn (VARIANT-CASE FOO ((MUMBLE A B) ...) ((FROTZ P Q) ...)) into (COND ((MUMBLE? FOO) (LET ((A (MUMBLE-A FOO)) (B (MUMBLE-B FOO))) ...)) ...). 16:58:06 Did you by any chance try expanding a use of DEFINE-VARIANT-TYPE? 16:59:11 sreeram [n=sreeram@122.174.132.15] has joined #scheme 16:59:17 (and a use of the variant case macro that it defines) 17:01:18 -!- ASau [n=user@83.69.240.52] has quit [Read error: 113 (No route to host)] 17:08:34 -!- copumpkin [n=pumpkin@c-24-63-67-154.hsd1.nh.comcast.net] has quit ["Leaving..."] 17:08:51 -!- Sveklo1 [n=sveklo1@a88-115-8-123.elisa-laajakaista.fi] has quit ["Leaving..."] 17:14:53 mario-goulart [n=user@67.205.85.241] has joined #scheme 17:17:22 -!- sreeram is now known as kssreeram 17:20:12 Riastradh: I have not expanded it, do you have an expansion? 17:22:59 -!- peter_12 [n=peter_12@S0106000f66bc42b9.vn.shawcable.net] has quit [] 17:23:58 -!- edwardk [n=edwardk@32.140.162.173] has quit [Read error: 104 (Connection reset by peer)] 17:25:03 -!- kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has quit [Read error: 110 (Connection timed out)] 17:25:36 -!- kssreeram [n=sreeram@122.174.132.15] has quit [Client Quit] 17:26:25 kssreeram [n=kssreera@122.174.132.15] has joined #scheme 17:27:31 kniu [n=kniu@CMU-284828.WV.CC.CMU.EDU] has joined #scheme 17:29:53 Adamant [n=Adamant@unaffiliated/adamant] has joined #scheme 17:44:51 arcfide annotated #86879 "Better?" at http://paste.lisp.org/display/86879#1 17:45:06 Riastradh: Is that more like what you had in mind? 17:46:36 -!- patmadd__ [n=patmaddo@96.sub-70-213-100.myvzw.com] has quit [Read error: 110 (Connection timed out)] 17:53:16 -!- arcfide [n=arcfide@99.50.231.131] has left #scheme 17:55:30 edwardk [n=edwardk@32.140.162.173] has joined #scheme 17:57:36 Yes, although I don't see what purpose the SUBTYPE field in the supertype serves, and I still think you should change SYNTAX-VIOLATION to SYNTAX-ASSAULT and `clause' to `claws'. 17:57:39 mrsolo [n=mrsolo@nat/yahoo/x-mskbqzsbssdsqntw] has joined #scheme 18:01:43 Nor do I see what purpose the DEFINE-ENUMERATION form you generate serves. 18:02:21 Also, it's not necessary to use (META DEFINE ...); each procedure you define by that is used only once. 18:02:46 What purpose does (VOID) serve in the ELSE clause on the last line? 18:03:21 peter_12 [n=peter_12@S0106000f66bc42b9.vn.shawcable.net] has joined #scheme 18:06:54 eno [n=eno@nslu2-linux/eno] has joined #scheme 18:07:11 -!- eno__ [n=eno@adsl-70-137-130-132.dsl.snfc21.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 18:07:54 kenpp [n=kenpp@84.92.70.37] has joined #scheme 18:09:09 zanes [n=zane@129.10.110.45] has joined #scheme 18:14:15 interterm [n=hager@c-98-231-14-62.hsd1.fl.comcast.net] has joined #scheme 18:17:01 -!- interterm is now known as bill-hager 18:17:14 kilimanjaro [n=kilimanj@70.116.95.163] has joined #scheme 18:17:45 -!- bill-hager [n=hager@c-98-231-14-62.hsd1.fl.comcast.net] has quit ["Leaving"] 18:19:20 bill-hager [n=hager@c-98-231-14-62.hsd1.fl.comcast.net] has joined #scheme 18:21:13 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 18:22:00 In scheme is there a built in way to format the output of integers to the terminal? I would like spaces printed before, so it's always 10 characters wide even if it has fewer digits. 18:22:36 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 18:24:16 bill-hager, there are SRFIs 28 and 48 for that purpose. 18:24:31 dysinger [n=dysinger@dsl081-064-072.sfo1.dsl.speakeasy.net] has joined #scheme 18:24:46 Thanks! 18:25:49 Quite welcome, sir! 18:26:33 See also http://practical-scheme.net/wiliki/schemexref.cgi?format 18:29:47 -!- roderic` is now known as roderic 18:33:21 mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #scheme 18:35:38 arcfide [i=1000@140-182-146-121.dhcp-bl.indiana.edu] has joined #scheme 18:37:56 -!- rcy [n=rcy@d154-20-143-140.bchsia.telus.net] has quit [Remote closed the connection] 18:44:12 -!- mario-goulart [n=user@67.205.85.241] has quit [Remote closed the connection] 18:45:20 mario-goulart [n=user@67.205.85.241] has joined #scheme 18:50:01 -!- nothingHappens [n=nothingh@173-25-176-111.client.mchsi.com] has quit [Read error: 110 (Connection timed out)] 18:52:51 nothingHappens [n=nothingh@173-25-176-111.client.mchsi.com] has joined #scheme 19:02:16 davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has joined #scheme 19:02:49 -!- peter_12 [n=peter_12@S0106000f66bc42b9.vn.shawcable.net] has quit [] 19:04:22 copumpkin [n=pumpkin@dhcp-212-249.cs.dartmouth.edu] has joined #scheme 19:05:45 -!- ejs [n=eugen@58-13-135-95.pool.ukrtel.net] has quit [Read error: 110 (Connection timed out)] 19:06:06 patmaddox [n=patmaddo@240.sub-75-213-170.myvzw.com] has joined #scheme 19:06:11 -!- jlongster [n=user@c-68-59-187-95.hsd1.tn.comcast.net] has quit [Read error: 113 (No route to host)] 19:06:41 karme [n=user@kallisto.karme.de] has joined #scheme 19:07:11 -!- mario-goulart [n=user@67.205.85.241] has quit [Remote closed the connection] 19:07:49 mickn [n=mickn@69-165-137-188.dsl.teksavvy.com] has joined #scheme 19:14:08 samth [n=samth@punge.ccs.neu.edu] has joined #scheme 19:18:16 -!- edwardk [n=edwardk@32.140.162.173] has quit [Read error: 110 (Connection timed out)] 19:18:51 Fare [n=Fare@ita4fw1.itasoftware.com] has joined #scheme 19:22:50 -!- merus [n=merus@pal-176-050.itap.purdue.edu] has quit ["Leaving"] 19:30:38 -!- kssreeram [n=kssreera@122.174.132.15] has quit [] 19:31:09 -!- MrFahrenheit [n=RageOfTh@users-38-173.vinet.ba] has quit [Read error: 104 (Connection reset by peer)] 19:31:19 MrFahrenheit [n=RageOfTh@users-38-173.vinet.ba] has joined #scheme 19:33:40 -!- dysinger [n=dysinger@dsl081-064-072.sfo1.dsl.speakeasy.net] has quit [Read error: 113 (No route to host)] 19:36:06 -!- zanes [n=zane@129.10.110.45] has quit [] 19:39:21 -!- ASau` is now known as ASau 19:41:01 edwardk [n=edwardk@32.143.84.232] has joined #scheme 19:41:09 Narrenschiff [n=ritchie@xolotl.plus.com] has joined #scheme 19:43:26 rstandy [n=rastandy@net-93-144-108-211.t2.dsl.vodafone.it] has joined #scheme 19:44:56 -!- mickn [n=mickn@69-165-137-188.dsl.teksavvy.com] has left #scheme 19:46:40 -!- reprore [n=reprore@ntkngw598092.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote closed the connection] 19:46:41 kssreeram [n=kssreera@122.174.132.15] has joined #scheme 19:46:43 -!- arcfide [i=1000@140-182-146-121.dhcp-bl.indiana.edu] has left #scheme 19:52:04 -!- ski_ [n=md9slj@remote1.student.chalmers.se] has quit ["Lost terminal"] 19:55:14 zanes [n=zane@129.10.110.45] has joined #scheme 19:58:57 -!- Narrenschiff [n=ritchie@xolotl.plus.com] has quit [] 19:59:47 -!- HG` [n=HG@85.8.75.57] has quit [Client Quit] 20:03:15 hotblack23 [n=jh@p5B053E3D.dip.t-dialin.net] has joined #scheme 20:09:29 mmc [n=mima@cs137104.pp.htv.fi] has joined #scheme 20:13:22 HG` [n=HG@85.8.75.57] has joined #scheme 20:23:15 sphex_ [n=nobody@modemcable244.185-56-74.mc.videotron.ca] has joined #scheme 20:30:12 *edwardk* is embarassed, i just added types to my pseudo-scheme, so much for it being schemey ;) 20:30:33 sepult [n=user@xdsl-87-78-128-171.netcologne.de] has joined #scheme 20:33:02 -!- antoszka [n=antoszka@unaffiliated/antoszka] has quit ["+++ killed by SIGSEGV +++"] 20:35:14 What's un-scheme about types? Scheme is strongly typed. Or do you mean that you added static types? 20:35:39 dysinger [n=dysinger@dsl081-064-072.sfo1.dsl.speakeasy.net] has joined #scheme 20:35:56 emmy [n=em@cpe-98-14-154-71.nyc.res.rr.com] has joined #scheme 20:35:59 -!- dysinger [n=dysinger@dsl081-064-072.sfo1.dsl.speakeasy.net] has quit [SendQ exceeded] 20:36:19 add static dependent types! 20:36:27 -!- sphex [n=nobody@modemcable244.185-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 20:37:12 Dark-Star [i=Darkstar@p57B572E4.dip.t-dialin.net] has joined #scheme 20:37:16 dysinger [n=dysinger@dsl081-064-072.sfo1.dsl.speakeasy.net] has joined #scheme 20:37:58 gar! Scheme is untyped. Just because using words incorrectly makes you feel better, doesn't make it right 20:38:33 if it's untyped, what is the error you get from (car 3)? 20:38:52 You have a different definition of `typed' from gnomon, samth, and indeed from most anyone who is not a type theorist. 20:39:04 static types ;) 20:39:49 *Elly* is a type theorist >.> 20:40:04 When most people who are not type theorists want to talk about the syntactic property of variables and expressions that you call `type', they say `static type' (unless context implies `static', such as in a language where the only types are static). 20:40:27 -!- emmy is now known as emma 20:40:36 Riastradh: types are syntactic properties of expressions 20:40:40 incubot: When I use a word, it means just what I choose it to mean--neither more nor less. 20:40:44 he does, but only in those channels in which I've enabled it. There's a bug: he'll spew quotes periodically _and_ utter them on demand, but he must do both or neither. 20:40:55 samth: you didn't answer my question :P 20:40:58 It is just as frustrating for people who are not type theorists, such as myself, for type theorists to say `That use of the word ``type'' is wrong -- a ``type'' is only a syntactic property of variables and expressions!'. 20:41:10 s/for type theorists to say/when type theorists say/1 20:41:50 also, your statement about 'type theorists' makes just as much sense as saying that everyone other than meterologists uses 'weather' to mean 'climate' 20:41:53 As a type theorist, I'm willing to allow the dynamic type people to use our word, I just internally think of types as static types ;) 20:42:11 edwardk: it's all really just one big sum type anyway :P 20:42:20 heh 20:42:28 edwardk, you are very magnanimous. 20:42:31 esp. if you then called meterologists 'weather theorists' while denigrating their terminology 20:42:45 emma: well, only because it keeps me out of religious wars ;) 20:42:49 Elly: I disagree that it's all just one big sum type 20:42:58 but that's too long a discussion to get into at the moment 20:43:34 but if you think of it all as one big sum, you will misunderstand the interoperability issues 20:44:12 it's a mistake to think of either one as just the degenerate case of the other - typed and untyped languages need to be taken on their own terms 20:44:52 Elly: it's the same kind of error you get from (/ 1 0) 20:44:54 samth, I am not denigrating your terminology: when you are talking with other type theorists, or when context implies it, I have no objection to your using the word `type' as you want to use it. Outside of type theory, however, the word `type' has perfectly good definitions that do not happen to coincide with the type theorist's notion, such as in Scheme, where it is the information distinguished by disjoint type predicates. 20:45:09 `Type theory', by the way, is to be read as a single term, not as `the theory of everything that anyone calls types'. 20:45:56 Riastradh: 'type theory', as a particular term of art, means something very different from 'what academics do with types' 20:46:25 Then this calls for type theory theory. 20:46:49 The broader meaning of the word `type', particularly with qualifiers such as `static', `dynamic', `strong', `weak', &c., is useful to convey information, even if it doesn't coincide with what type theorists call `types'. Frustrating as that may be for type theorists, the type theorists are equally frustrating to everyone else when they insist on their definition of `type'. So to reduce frustration all around, please limit your 20:46:51 Riastradh: I'm not sure what meaning you ascribe to the term 'type theory' 20:47:12 s/your prescriptivist lexicon/the prescriptivism of your lexicon/1 20:47:12 but, for example, I'm not a practictioner as it's defined in the academic community 20:47:30 To reduce frustration all around, please limit your messages to a length which can usually be delivered by the IRC servers on the the freenode network. 20:48:03 even though I design type systems for a living 20:48:37 the so-called 'broader meaning of the word "type"' serves mostly to confuse people, in my experience 20:48:59 samth, Bertrand Russell's types aside, type theory is loosely the study of static type systems. 20:49:42 chandler: pls abrev whn poss. 20:49:48 Wow. I'm rather glad that I tuned out that whole mess. 20:49:59 My experience is quite the contrary, except when people use the qualifiers without defining them in confusing ways (e.g., using `strongly typed' to describe C) -- but when they do that, I suggest that the discussion be focussed on the meanings of the terms, rather than telling them off for misusing words. 20:50:00 Riastradh: that may be your definition, but it isn't the definition that people who call themselves type theorists use 20:50:38 -!- hotblack23 [n=jh@p5B053E3D.dip.t-dialin.net] has quit ["Leaving."] 20:50:57 samth, I agree with what you are saying, but I will argue to the death that you said it badly. 20:50:58 also, russell's types are just static types 20:51:10 gnomon: this *is* irc :) 20:51:18 The way I use the word "category" isn't in line with the definition of the people who call themselves "category theorists" use. 20:51:19 Also, your mother was a hamster and your father smelled of elderberries. 20:51:19 note to self, mentioning types on #scheme is walking into a minefield ;) 20:51:26 samth: By the way, what type of chair are you sitting on? 20:52:56 chandler: certainly it's possible to use the same word with different meaning in different contexts 20:53:25 but it helps not to use the same word to mean radically different things in the same context 20:53:41 basically i just need a cheesy little type system so i could define t = t -> t | Int# | Double# | * viewed under the quotient * -> * = * where * represents more or less classical scheme dynamic box-like types, and then my constructors can have kinds like Int : Int# -> * to box up a machine int, etc. very haskelly i'll confess. 20:53:45 I don't think it *is* the same context, samth. That seems to be the essence of the discussion we're having. 20:53:45 Perhaps it would be wise to take into account the context of your discussion, then? 20:53:46 samth, and in the context of discussions about programming languages, rather than in the context of academic papers about type systems, `type' is perfectly useful to convey meaning more broadly than you insist on the term's use. 20:53:50 -!- dysinger [n=dysinger@dsl081-064-072.sfo1.dsl.speakeasy.net] has quit [SendQ exceeded] 20:54:03 -!- kssreeram [n=kssreera@122.174.132.15] has quit [] 20:54:22 dysinger [n=dysinger@dsl081-064-072.sfo1.dsl.speakeasy.net] has joined #scheme 20:54:30 kssreeram [n=kssreera@122.174.132.15] has joined #scheme 20:54:54 *gnomon* mentally places the bulk of #scheme on one side of the channel, and samth far off on the other side, in dirty rags, waving a stick and yelling at the other channelgoers 20:54:54 When I look up `Type systems' in Wikipedia, I see lots of information about dynamic type systems, combinations of dynamic and static type systems, and so on. That suggests that, outside your particular area of research (where you are, of course, welcome to use your own terminology, provided that you define it clearly when you want to convey information outside it), `type' has the broader meaning to many people. 20:55:20 *gnomon* then places edwardk somewhere between samth and the bulk of the channel, looking back and forth like a ball boy at a tennis match 20:55:24 edwardk: you might be interested in looking at recent work under the name 'gradual typing 20:55:28 ' 20:55:46 samth: read it, doesn't quite fit my needs 20:55:51 for example, see wadler & findler, esop 2009 20:56:19 edwardk: what are you trying to do with your type system 20:56:45 If it really bothers you so much, by the way, samth, what other term would you have us use for what we currently call `type'? 20:56:59 I propose 'kind'! 20:57:00 *Elly* ducks 20:57:07 \me throws 20:57:11 *samth* throws 20:57:12 *gnomon* mallards Elly 20:57:46 samth: long story, but basically kata's type system checks that class definitions are consistent under subtyping relationships in ways that aren't inferrable under hindley milner in exchange for giving up any real ability to use the types in method dispatch or to check if you are applying a method on an object that supports that method. 20:58:07 Riastradh: people use the term 'type' in the context of untyped languaages to mean many different things 20:58:12 sometimes they mean static type 20:58:20 sometimes they mean dynamic tag 20:58:31 sometimes they mean something else 20:59:01 samth: so as a nice side effect it lets me give a very nice category theory library with categories of categories, etc. without requiring coq style universe polymorphism 20:59:03 -!- MrFahrenheit [n=RageOfTh@users-38-173.vinet.ba] has quit [Read error: 104 (Connection reset by peer)] 20:59:11 edwardk: what does your type system prove about the programs? 20:59:18 MrFahrenheit [n=RageOfTh@users-38-173.vinet.ba] has joined #scheme 20:59:21 also, is there something I can read about it? 20:59:30 minion: memo for peter_12: you can use the program `planet', which is included with PLT Scheme, to download packages from PLaneT 20:59:30 Remembered. I'll tell peter_12 when he/she/it next speaks. 21:00:45 samth, that's not an answer -- there is a common, if not very precise, notion between those concepts, which you seem to reject having a term for. That's fine, in your own research, but please don't impose it on other people in whose communication the word `type' still conveys meaning. 21:01:30 I've never had an algebraist scold me for talking about a group of people standing about... 21:01:34 samth: it proves that you have implemented all of the members of the class, that if your superclasses unified certain dictionary slots that they remain unified (i.e. width and height in a square as viewed in relation to rectangle, domain and codomain of an endofunctor are the same, etc), it provdes that you've broken circular definitions, i.e. join and fmap vs. bind for a monad, and it provides enough kind information that i can garbage collect nicely 21:01:35 i probably overran the line there ;) 21:01:36 as for resources, there is the #kata channel ;) 21:01:58 rcy [n=rcy@d154-20-143-140.bchsia.telus.net] has joined #scheme 21:02:53 samth: there is an old syntax fragment of it online, though the notation has changed since then: http://comonad.com/Category.ks-old 21:03:01 i disagree that there's a useful common notion there, Riastradh 21:03:12 -!- karme [n=user@kallisto.karme.de] has left #scheme 21:03:19 *copumpkin* missed the controversy 21:03:36 copumpkin: no worries, static/dynamic type wank ;) 21:03:43 yay 21:03:45 an algebraist would scold you for calling a a ring a group 21:03:48 copumpkin, samth says that `type' has no useful meaning except `static type'. I say there is a common notion between `static type' and `dynamic type'. 21:04:12 samth: You could probably make the same argument for a number of other common words involved when discussing programming languages, including "variable", "value", "function", "class", etc. 21:04:19 samth insists that nobody use the term `type' except to mean `static type'. 21:04:22 samth, then, to be blunt, you disagree with the majority of the people in this channel; and you're frankly being a pest about it, your erudition on the topic notwithstanding. 21:05:07 Aha 21:05:09 attila_lendvai [n=ati@apn-89-223-225-226.vodafone.hu] has joined #scheme 21:05:34 gnomon: i fail to see how i'm being a pest 21:05:53 nor do i think that majorities on #scheme mean that much 21:05:56 Sigh. 21:06:12 *gnomon* shrugs 21:06:15 plonk 21:06:36 samth: ultimately the purpose of words is communication. When in Rome.... ;) 21:06:42 come visit me!! 21:06:45 hah 21:06:46 oh wait 21:06:57 that's 'when in New Hampshire' these days ;) 21:07:02 :( 21:07:43 -!- Adamant [n=Adamant@unaffiliated/adamant] has quit [] 21:07:54 arcfide [n=arcfide@99.50.231.131] has joined #scheme 21:08:13 edwardk: in kata, if you know that all the members of a class are implemented, how could you get a message-not-understood error? 21:08:24 or do you just check class definitions, and not expressions? 21:08:41 i check class definitions and not expressions 21:09:40 well, i check definitions up to the very very light weight static type system to plumb unboxed values appropriately, but thats about it. 21:09:52 er check expressions up to ... i mean 21:12:27 I hardly think samth is being a pest. Now if he were crapping out Unicode modifiers to fuck up my terminal, then yes. Now, no. 21:13:31 Stop engaging him if he's annoying you. 21:14:05 bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has joined #scheme 21:14:28 zbigniew, sorry about that unicode mess. 21:14:53 lucky this isn't #agda, eh :) 21:14:55 edwardk: makes sense 21:15:07 Well, we found a bug in screen, at least. 21:15:19 now *those* are type theorists :) 21:15:32 heh 21:15:58 actually kata started because i had a very agda like language, and i found it was more useful without the types getting in my way ;) 21:16:47 -!- HG` [n=HG@85.8.75.57] has quit [Client Quit] 21:16:53 though to be fair it was because the underlying type system was a substructural pure type system with subtyping, and was generally painful to think in. 21:16:53 all that's left of agda once you remove the types is the awesome unicodeness and the mixfix operators :) 21:16:53 -!- kniu [n=kniu@CMU-284828.WV.CC.CMU.EDU] has quit [Connection timed out] 21:17:41 oh, and being able to prove all functions are injective 21:18:21 so now i basically have a spineless tagless g-machine with an almost eiffel-like veneer bolted on. 21:19:30 kniu [n=kniu@ELMUNDO.RES.CMU.EDU] has joined #scheme 21:19:31 -!- attila_lendvai [n=ati@apn-89-223-225-226.vodafone.hu] has quit [Read error: 104 (Connection reset by peer)] 21:20:32 -!- langmartin [n=user@exeuntcha.tva.gov] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 21:21:00 -!- hkBst [n=hkBst@gentoo/developer/hkbst] has quit [Read error: 104 (Connection reset by peer)] 21:21:11 mixfix operators are pretty great 21:22:26 i love agda style mixfix but i haven't been able to get that level of fixity to play nice with a macro system and the ability to open classes to bring names into scope, so i am mixfix free in kata so far. =/ 21:23:25 in isabell, the syntax rewriting tools are sort of like the bastard child of mixfix operators and cpp 21:23:30 gnomon: By the way, I tried tmux, but it's not quite there yet. Primarily the status bar is simply not configurable enough, to the point of being unusable for me. Oh well. 21:23:35 s/isabell/isabelle/ 21:23:47 zbigniew, och, that's disappointing; I'm sorry to hear that. 21:24:06 samth: yeah, coq and most prologs, etc. have the same kind of feel 21:24:25 i didn't know that about prolog 21:24:34 coq is a bit less flexible than isabelle, afaik 21:24:54 but it relies pretty heavily on the type system for disambiguation 21:24:59 which wouldn't work for you 21:25:04 yeah 21:25:50 thats my problem. i have a tricky staging issue between fixity, syntax rules, and class definitions that is an interesting balacing act to get right. 21:26:16 coz having tasted hygienic macros its hard to give them up ;) 21:27:20 it also doesn't help that i'm using one of my crazy monoidal parsers for it 21:28:19 basically its a big pile of crazy ideas and former projects thrown in a blender. 21:28:34 very much a victim of 'second system' syndrome. 21:31:27 Since today seems to be static type systems day in #scheme, let me throw out a question. Is there any reading material you could point me at on the subject of what is possible in the area of inferring or proving bounds on integers? Bonus points if it's somewhat comprehensible for a doofus like me who knows what Hindley-Milner is, but not much more than that. 21:32:24 chandler: i recommend starting with hongwei xi's work on Dependent ML, from the late 90s 21:33:25 http://www.cs.bu.edu/~hwxi/academic/publications.html 21:33:36 there's a lot of writing about his more recent endeavor with ATS too 21:33:46 the first one there is a summary paper, i think 21:34:00 ATS is more about theorem proving 21:34:19 DML is more like a hindley-milner-esq language 21:34:40 these days people do crazy things with haskell type classes, or coq, or agda 21:34:46 or epigram, or ... 21:34:54 Thanks. I'll have a look at it, and see if I can get over my fear of greek letters enough to understand what's going on here. 21:35:21 _Pb [n=Pb@75.131.194.186] has joined #scheme 21:35:54 there's also been lots of work in compilers for array bounds check elimination 21:36:16 you could probably find references to that in a compiler text, such as Kennedy's 21:36:36 chandler: conor mcbride has been spending a bunch of time on type level naturals. ravi nanavati at bluespec has a nice kind system that includes a kind for naturals in his type system, for a glorified extended haskell, not sure if either of them have anything published on the topic yet 21:37:02 though i think ravi is presenting something in new jersey in a couple of weeks. 21:37:12 the best reference for conor's stuff is his paper called Faking It: Dependent Types in Haskell 21:37:22 which was in the haskell workshop some years back 21:37:46 samth: Since I'd like the property to be always proven before an array access, I think it needs to be a part of the type system. 21:38:00 there's also been some work on refinement types with sat solving, you could look at the 'liquid types' work 21:38:24 chandler: you want to guarantee bounds check elimination? 21:38:38 Yes, as a safety guarantee. 21:38:58 heck, i even have a cheesy type level haskell library of type level 2s/16s complement integers that i use here and there for things like lining up matrix bounds, etc. 21:39:03 but yeah you generally want to extend the type system with them, ravi needed that for a number of places in the bluespec compiler 21:39:24 chandler: are you willing to fall back to dynamic checks if necessary? 21:39:44 samth: thinking the model used by cyclone? 21:40:03 yeah, that's another example 21:40:13 No, but I'm willing to fall back to having the user explicitly check the value around the array reference if necessary. 21:40:33 (which means that I'd like "if necessary" to be as little as possible!) 21:40:45 ah, ok 21:41:02 the trick is trying to come up with a system in which the need for those annotations can be made as predictable as possible 21:41:08 cyclone, by morissett et al, is also something to look at 21:43:27 -!- zanes [n=zane@129.10.110.45] has quit [] 21:44:24 -!- edwardk [n=edwardk@32.143.84.232] has quit [Read error: 104 (Connection reset by peer)] 21:44:27 Ah, yes, that's already on my to-read list. 21:45:12 switched machines 21:45:15 -!- edwardk1 is now known as edwardk 21:54:48 -!- copumpkin [n=pumpkin@dhcp-212-249.cs.dartmouth.edu] has quit [] 21:56:57 -!- Edico [n=Edico@unaffiliated/edico] has quit ["Ex-Chat"] 21:57:54 patmaddo_ [n=patmaddo@ip68-4-202-46.oc.oc.cox.net] has joined #scheme 21:58:33 -!- Phaze [n=PhazeDK@0x5da32b16.cpe.ge-0-1-0-1104.soebnqu1.customer.tele.dk] has quit ["Leaving"] 22:08:26 -!- dysinger [n=dysinger@dsl081-064-072.sfo1.dsl.speakeasy.net] has quit [SendQ exceeded] 22:08:50 dysinger [n=dysinger@dsl081-064-072.sfo1.dsl.speakeasy.net] has joined #scheme 22:09:18 Riastradh: Do you have some time to explain the mit-compat.scm file? Specifically, suspending and resuming. I'm not sure the interface that rendezvous expects for this stuff. 22:10:57 -!- dysinger [n=dysinger@dsl081-064-072.sfo1.dsl.speakeasy.net] has quit [SendQ exceeded] 22:11:34 dysinger [n=dysinger@dsl081-064-072.sfo1.dsl.speakeasy.net] has joined #scheme 22:14:29 arcfide, I've decided to rewrite this whole thing from scratch, using a new approach in a not-yet-published paper on CML, to better support multiprocessor implementations. 22:14:44 Some aspects of it will be considerably simpler this way. 22:15:03 -!- patmaddo_ [n=patmaddo@ip68-4-202-46.oc.oc.cox.net] has quit [Remote closed the connection] 22:15:04 Riastradh: Thanks. :-) 22:15:40 So when will it be ready? 22:15:50 :-P 22:16:09 Well, I'll be done writing in an hour or two, but none of what I shall have written by then will have been tested. 22:16:57 Eh....:-) 22:18:08 -!- patmaddox [n=patmaddo@240.sub-75-213-170.myvzw.com] has quit [Read error: 110 (Connection timed out)] 22:18:16 Mostly, I'm looking for a good concurrency abstraction with which to couple my sockets program so that I don't have to provide the interfaces for doing the multiplexing, and can let other libraries do that. However, in order to do that, i want to have at least one decent library to release with the sockets library. 22:19:55 Narrenschiff [n=ritchie@xolotl.plus.com] has joined #scheme 22:20:01 -!- davazp [n=user@56.Red-79-153-148.dynamicIP.rima-tde.net] has quit [Remote closed the connection] 22:29:48 -!- MichaelRaskin [n=MichaelR@195.91.224.225] has quit [Remote closed the connection] 22:31:14 MichaelRaskin [n=MichaelR@195.91.224.225] has joined #scheme 22:46:55 -!- Narrenschiff [n=ritchie@xolotl.plus.com] has quit [] 22:50:09 -!- _Pb [n=Pb@75.131.194.186] has quit ["Leaving"] 22:51:51 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has quit [Remote closed the connection] 22:56:01 -!- jonrafkind [n=jon@crystalis.cs.utah.edu] has quit [No route to host] 23:01:09 -!- dysinger [n=dysinger@dsl081-064-072.sfo1.dsl.speakeasy.net] has quit [Remote closed the connection] 23:02:44 merus [n=merus@pal-176-050.itap.purdue.edu] has joined #scheme 23:04:08 patmaddox [n=patmaddo@ip68-4-202-46.oc.oc.cox.net] has joined #scheme 23:08:54 -!- patmaddox [n=patmaddo@ip68-4-202-46.oc.oc.cox.net] has quit [Remote closed the connection] 23:11:04 -!- merus [n=merus@pal-176-050.itap.purdue.edu] has quit ["Leaving"] 23:11:14 jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has joined #scheme 23:14:29 sphex [n=nobody@modemcable244.185-56-74.mc.videotron.ca] has joined #scheme 23:23:15 patmaddox [n=patmaddo@ip68-4-202-46.oc.oc.cox.net] has joined #scheme 23:24:24 -!- masm [n=masm@bl9-112-95.dsl.telepac.pt] has quit ["Leaving."] 23:28:18 syntropy_ [n=who@unaffiliated/syntropy] has joined #scheme 23:29:43 I've a problem with sxpath. The HTML I'm trying to parse is normally fine, but at a certain point, the website's theme changes a certain part to an arbitrary number of tags, and then the a-href I'm looking for. 23:31:19 -!- sphex_ [n=nobody@modemcable244.185-56-74.mc.videotron.ca] has quit [Read error: 110 (Connection timed out)] 23:31:55 -!- patmaddox [n=patmaddo@ip68-4-202-46.oc.oc.cox.net] has quit [Remote closed the connection] 23:32:50 syntropy_: You'll need to be more detailed than that. 23:33:10 arcfide: I'm just trying to rerwite my testcase as an example. 23:34:09 arcfide: here: (sxpath "//div[@class='tborder']/table/tr/td//a[@name]") 23:35:06 arcfide: between the "td/" and "a[@name]", the site's theme can change and place an arbitrary number and type of tags 23:35:44 "//" works for a single tag, but not multiple 23:43:34 sepult` [n=user@xdsl-87-78-74-113.netcologne.de] has joined #scheme 23:47:11 -!- kenpp [n=kenpp@84.92.70.37] has quit [Read error: 60 (Operation timed out)] 23:47:58 -!- sepult [n=user@xdsl-87-78-128-171.netcologne.de] has quit [Nick collision from services.] 23:48:02 -!- sepult` is now known as sepult 23:54:07 -!- MrFahrenheit [n=RageOfTh@users-38-173.vinet.ba] has quit [Read error: 110 (Connection timed out)] 23:54:11 -!- jeapostrophe [n=jay@69.169.141.110.provo.static.broadweavenetworks.net] has quit [] 23:55:18 syntropy_: I'm afraid I'm rusty with SXPath, and I don't know about how to handle that. 23:55:55 -!- bweaver [n=user@75-148-111-133-Chattanooga.hfc.comcastbusiness.net] has quit ["ERC Version 5.3 (IRC client for Emacs)"] 23:56:23 hotblack23 [n=jh@p5B0577E3.dip.t-dialin.net] has joined #scheme