00:04:16 I440r joined #tunes 00:50:57 [QUIT] Melinda quit: I am enough of an artist to draw freely upon my imagination... 01:13:36 [QUIT] ink quit: Ping timeout for ink[1Cust73.tnt20.sfo3.da.uu.net] 01:40:54 [NICK] lar1 changed nick to: lar-away 01:46:57 [QUIT] eihrul quit: Ping timeout for eihrul[usr5-ppp184.lvdi.net] 01:49:19 [QUIT] ink quit: c'yall later 01:50:27 smoke joined #tunes 02:55:01 water joined #tunes 03:04:31 [QUIT] lar1 quit: Ping timeout for lar1[adsl-63-203-75-208.dsl.snfc21.pacbell.net] 03:04:34 [QUIT] lar-away quit: Ping timeout for lar-away[adsl-63-203-75-208.dsl.snfc21.pacbell.net] 03:05:12 lar-away joined #tunes 03:05:46 [MODE] ChanServ set mode: +o water 03:05:52 [KICK] lar-away was kicked by water (lar-away) 03:05:52 lar-away joined #tunes 03:07:23 [KICK] lar-away was kicked by water (lar-away) 03:07:23 lar-away joined #tunes 03:07:23 [MODE] water set mode: +b *!*@adsl-63-203-75-208.dsl.snfc21.pacbell.net 03:18:10 [MODE] water set mode: -b *!*@adsl-63-203-75-208.dsl.snfc21.pacbell.net 03:31:40 eihrul joined #tunes 03:31:46 re 05:01:41 [QUIT] lar1 quit: Did I ask you? 05:21:10 [QUIT] air quit: http://www.qzx.com/ :: sleep 07:23:02 [QUIT] eihrul quit: [x]chat 09:03:01 [QUIT] I440r quit: [x]chat 09:09:10 I440r joined #tunes 09:46:13 [QUIT] rares quit: [x]chat 10:03:39 ult joined #tunes 10:06:56 smklsmkl joined #tunes 10:52:16 [QUIT] water quit: Ping timeout for water[tnt-10-173.tscnet.net] 13:20:02 water joined #tunes 13:20:27 re all 13:30:03 [QUIT] abi quit: fastlane.openprojects.net varley.openprojects.net 14:13:31 [TOPIC] ChanServ: http://tunes.org/ 14:13:58 [TOPIC] water: TUNES: Free Reflective Computing System at http://www.tunes.org/ 14:53:54 [QUIT] MysticOne quit: Leaving 15:56:30 water joined #tunes 16:06:55 XeF4 joined #tunes 16:07:03 re xef4 16:07:07 re 16:41:22 ult joined #tunes 16:49:29 washort_ joined #tunes 16:49:55 smklsmkl joined #tunes 16:51:00 blah 16:51:46 what? 16:53:55 ? i'm just saying blah because my irc connection broke again 16:54:16 [QUIT] Melinda quit: I'm outta here! Catch everyone later! 16:59:23 [QUIT] MysticOne quit: Leaving 17:03:01 mark4 joined #tunes 17:03:51 [NICK] mark4 changed nick to: I440r_ 17:14:42 does the slate tutorial have any examples on how to compute anything with slate? 17:15:00 not yet 17:16:16 i still am working out the literals system, and the maths stuff depends on that 17:16:59 although math expression syntax so far has been an extension of the existing syntax 17:17:17 where you use an oo style to model your functions 17:17:57 (macro-handling meta-objects will later on alleviate that syntactic verbosity) 17:19:49 the oo modelling of functions is that you set the input slots, and then call the result slot 17:19:58 (icuc) 17:20:46 sounds weird 17:20:58 it's been done before 17:23:37 basically, you do something like this: 17:24:18 + car : 3 ... cdr : 4 ... ^ . 17:25:13 but that's much more flexible than the lisp-style syntax 17:25:28 or forth for that matter 17:25:50 ^ calls the result? 17:26:03 and meta-objects can be defined to turn that syntax into another language's 17:26:08 yes 17:26:48 water: it sounds similar to the project I can devote time to, since I'm on summer holiday since last night. 17:27:03 uhhhh 17:27:08 how is it more flexible? 17:27:09 which project? your own? 17:27:17 water: yes, my language project 17:27:21 ult: open functions 17:27:32 smklsmkl hopes car and cdr aren't standard names for your slots 17:27:42 they probably won't be 17:27:58 head and tail?:) 17:28:04 maybe 1 and 2 or something (any suggestions?) 17:28:25 front and back 17:28:51 there is also the notion that + is commutative 17:29:14 no, nevermind, that doesn't matter 17:30:52 [QUIT] nate37 quit: Ping timeout for nate37[cx83983-d.irvn1.occa.home.com] 17:35:39 well anyway, examples of why that's more flexible... 17:35:51 you can add slots to functions which aren't arguments 17:36:07 hmm, in that example, there is a new "+" object created first? 17:36:11 such as attributes or methods to produce new functions 17:36:19 yep 17:36:53 you also get named data-flow-points (which includes input variables) 17:37:42 and you can vary the semantics of the slots by modifying the meta-objects for those slots individually 17:38:05 which is what differentiates the types of the slots 17:39:33 eihrul joined #tunes 17:39:43 hey eih 17:48:35 mark4_ joined #tunes 17:48:42 wtf? 17:49:06 [QUIT] rares quit: forward.openprojects.net irc.linux.com 17:49:06 [QUIT] ult quit: forward.openprojects.net irc.linux.com 17:49:06 [QUIT] I440r_ quit: forward.openprojects.net irc.linux.com 17:49:26 ult joined #tunes 17:57:29 Fare joined #tunes 17:57:40 Far'e 17:57:49 hey fare 17:57:55 gakuk 18:00:35 what's news? 18:01:42 wasted the day configuring the desktop w/ scwm 18:02:49 how well does it work? 18:03:34 better than when I dropped it, monthes ago 18:04:05 (the fvwm2 pager doesn't work anymore, it seems; but I use the gnome pager instead) 18:04:41 the startup is still DOG slow (damn guile) -- saw{mill,fish} sure does better 18:04:42 ok 18:04:53 nate37 joined #tunes 18:05:08 (and that's an athlon 600 w/ 256MB RAM!!!) 18:05:16 ouch 18:06:27 opening a new window is slow, too (because there's one X request per key binding or so, for every new window!) 18:06:48 X is lame 18:07:47 apart from that, I'm enjoying this 1600x1200 19" screen while I have it. 18:08:02 have you read anything that Lynn Maxson has posted to the mailing list? 18:08:44 xfontsel won't tell me how it completed the specification I tried, so I have to find by hand, if I want to replicate results on other machines. 18:09:18 tunes should have a modal logic based language for multiple machine configuration management 18:09:42 sure 18:09:47 water: not really 18:09:47 are you listening? 18:09:51 ok 18:09:53 water: not really 18:10:17 s/he just posted something 18:10:25 (he) 18:10:57 did I tell you I had one more reason to do tunes, now? 18:11:10 Fare is in love 18:11:11 as if you need one? 18:11:26 with a person? 18:11:30 ) 18:11:51 yes, for a change. and not myself 18:11:59 and if so, how does that translate into a reason to do tunes? 18:12:19 she needs tunes, and that'd be a way to win her 18:12:39 is she a programmer, then? why does she need tunes? 18:12:55 nate37 sighs 18:13:19 she wants to use reflective agent-oriented programming to grow AIs 18:13:46 water: lynn talks about Rice's Theorem :) 18:13:51 damn it, you meet all the interesting women :) 18:14:01 fare: not me, another Rice 18:14:14 yeag, I know, but still :) 18:14:26 fare: and he is an absolute idiot when it come's to programming languages 18:14:33 s/come's/comes/ 18:14:53 wait; gotta get a shower. Be back in 15' 18:15:02 if you read the comments Bill Tanksley made earlier, you'll understand why 18:15:06 ok 18:36:58 Fare: are you back yet? 18:49:46 blah 18:53:35 [QUIT] rares quit: Read error to rares[wtrb-sh5-port53.snet.net]: Connection reset by peer 19:10:14 bloh 19:10:21 Fare is back 19:10:26 http://www.diku.dk/research-groups/topps/bibliography/1994.html#D-185 19:10:26 http://www.diku.dk/research-groups/topps/bibliography/1995.html#D-258 19:10:26 http://www.diku.dk/research-groups/topps/bibliography/1999.html#D-230 19:10:26 http://izys.citeweb.net 19:10:26 http://ulc.org/ulc/welcome.htm 19:18:18 hey 19:19:27 yeah 19:19:46 interesting papers 19:20:08 ult joined #tunes 19:20:17 re ult 19:21:16 yup. I was happily surprised when the author told me about them (as a comment to my mpfas paper) 19:21:28 ok 19:22:50 izys is the girl I'm after. 19:22:53 The ULC has just ordained me reverend :) (found the link from jhuger.com) 19:23:07 i see 19:23:18 (you too can be a reverend! Just fill the HTML form) 19:23:25 Fare: I'm a ULC rev too... 19:23:29 Old school ULC rev. 19:23:37 Fare ^5's ult 19:23:49 old school? 19:23:57 Well, I did it a few years ago :) 19:24:55 oh! :) well 19:29:06 [QUIT] rares quit: [x]chat 19:30:27 hey Fare, how much time do you have to talk? 19:30:58 depends on what topic 19:31:04 HLL 19:31:11 and related things of tunes 19:31:27 btw, how is slate? 19:31:34 [QUIT] Melinda quit: I'm outta here! Catch everyone later! 19:31:49 my boss is hurrying me to do something FAST about the implementation 19:31:50 without good docs, but the implementation is being developed 19:32:11 eihrul is working on an interpreter and a compiler system 19:32:16 (so he tells me) 19:32:58 hm he's talking off-channel right now 19:33:24 eihrul: what's the status of that interpreter? 19:33:55 write now working on framework for specifying Slate objects in C++ 19:34:34 when will it be usable? 19:37:25 Fare: what's your boss looking for in particular? what are the pressures? 19:37:39 this month, i think :) 19:38:11 two weeks remaining to get something running, starting from Ian's code 19:38:31 which code of his is that? 19:39:29 VVM? 19:39:40 yes, stuff for the VVM project 19:40:01 (unhappily, Ian seldom publishes stuff until he is somehow satisfied with it) 19:40:11 the concensus on slashdot almost seems to be that people actually like functional programming in general 19:40:12 (so I must go see him in person to steal code from him) 19:40:20 just that no systems are mature enough 19:40:24 hmm Fare where do you work? 19:40:26 slashdot smashdot 19:40:30 ult: do I work? 19:40:35 ult: in Paris. 19:40:44 You mentioned a boss-figure :) 19:40:45 Fare: well, yes... but that concensus is amazing for /. :) 19:41:20 eihrul: Well, it's obviously elitism -- functional programming is above your typical Windows kiddie, they know this, therefore, they worship it. 19:41:30 the haskell FFI library is interesting 19:41:37 ok, this "recursive VM" software, then 19:41:52 DOHHHHHHH 19:41:55 many Haskell guys now work at MSR 19:42:38 water: the RVM is one of the software done for the VVM project. So is the AVM (almost same as RVM). So will be the YNVM (unpublished yet; the sequel) 19:43:00 you can guess their jingle for the YNVM. 19:43:01 ok 19:45:43 Fare: i'm still working out a lot of critical details about slate concerning the type system, particularly for literals 19:48:59 type system? 19:49:15 hm a misnomer 19:50:03 basically dealing with the tunes epsilon operator idea 19:50:41 and incrementally specifying more about an object until you get a "literal" (normalized) value 19:51:17 [QUIT] mark4_ quit: [x]chat 19:51:19 for example, using constraining equations or such as annotations on the object 19:51:46 and working all of this into the current state of known Slate operation 19:52:04 (period) 19:52:15 ok. How do you deal with the case when constraints lead to an (detectable or undetectable) impossibility? 19:53:09 i'm not sure yet how to make that work properly in the general case 19:53:55 water finally has finished reading FPSOOD 19:54:05 FPSOOD? 19:54:13 abi: fpsood 19:54:18 oops 19:54:20 abi's away 19:54:45 fpsood is A Functional Pattern System for Object-Oriented Design at http://www-agce.informatik.uni-kl.de/~kuehne/fps/ 19:54:54 thanks eih 19:55:13 water: is it good? 19:55:18 hm 19:55:30 i think so, yes 19:55:48 i've also read 95% of the bibliography before i opened the book :) 19:55:49 is it "functional" as in FP? is it pattern as BETA? 19:56:15 it's higher-order functions and laziness encapsulated as design patterns 19:56:26 also immutability 19:56:33 of the various kinds 19:56:36 or is it yet another metaprogram-by-hand-without-knowing-it software engineering hype? 19:56:42 hm 19:57:14 well, they do reference many languages, including beta 19:57:58 and everything in software engineering reduces to an instance of meta-programming :) 19:59:07 check the TOC on the site 20:00:40 the only thing it doesn't recommend is language-design 20:00:40 mind the -without-knowing-it 20:00:48 of course 20:01:09 but the reader can use that added perspective on his/her own :) 20:01:40 but i digress 20:01:42 [QUIT] _ruiner_ quit: destroy what destroys you 20:02:16 handling conflicting specifications amounts to several possibiliies 20:03:15 if you insist on a single coherent notion of the object, then you either keep a subset of specs that last worked, or you get a variant of _|_ for the type 20:03:50 otherwise, specs could branch on an object 20:04:12 but this doesn't address my basic question 20:04:49 which is how to use a specification system (including equations, axioms, higher-order of such, etc) within slate 20:06:29 of course allocating equation objects (= a b) is an obvious route 20:07:22 but having "a", what system would allow you to get at the specs desired for "a" within the current context? 20:07:55 Fare: thoughts? 20:08:42 (keeping in mind that the implicit basic construct is slot-access) 20:10:00 hum 20:11:07 the epsilon construct can be achieved through a type of the cloning construct from a template 20:11:09 all this is even more difficult if you read and use a slot value only to realize that this value was incompatible with past or future constraints of high priority 20:12:09 perhaps the answer is to look to meta-objects again 20:12:10 the usual way to do things is that failure leads to an exception being throw, and to backtracking to the next path in the solution search tree. 20:12:44 (that's at basic computation level; at meta-level, you ought to control exactly what you mean by "basic computation") 20:12:53 if we are to have exceptions, they must fit into the MO framework 20:13:13 doesn't Slate have? 20:13:30 have what? 20:14:23 exceptions? not in the usual sense 20:14:31 what is the unusual sense? 20:14:48 the unusual sense is to deal with context-handling 20:15:05 weird. My mom has never heard about Ayn Rand. France just does not want to hear about her. 20:15:13 if an error is raised, it might be that the evaluator assumed the wrong context 20:15:22 good for France 20:15:34 deal with context handling? You mean, reimplement exceptions at meta-level? 20:15:47 basically, yes 20:15:54 good 20:16:20 that doesn't mean i know fully how that's to be done yet :) 20:17:20 although i know what i want out of it 20:18:28 it's a little clearer to speak of this specification problem in arrow... in that case we just reverse our references' graphs to get the equations that "own" that object 20:19:04 well, you need to have a way to tag variables as more or less local, so as to know which are to be restored during a backtrack, and which are to be shared accross backtracking 20:19:24 hm 20:20:40 that depends on whether or not i can tag slots as linear in the implementation 20:21:09 linear in what space? that's the question 20:21:21 linear in the enclosing namespace 20:21:31 an object can be linear in its "basic" space, yet multilinear in a meta-space (or conversely) 20:21:46 i don't see what a meta-space is in slate 20:22:13 you can speak of an object in its enclosing namespace 20:22:27 you can speak of a *clone* of it in another 20:23:18 the clone's meta-object determines whether the clone-and-original are considered as a pair or as one 20:24:34 hm 20:24:49 perhaps i should speak in a more detailed manner of slate evaluation 20:25:34 since everything's immutable by default, mutation is determined by the use of (linear) graph-transformation rules at the meta-level 20:26:06 invoked by "." 20:26:48 water that's an interesting way of putting it 20:27:06 that's the way i've thought of it for a while 20:27:35 ult looks at the DEC 386 in the corner 20:28:10 anyway, backtracking in this light is pretty straightforward 20:28:38 although an optimizer has a hell of a job to do when not in debugger mode :) 20:31:26 actually, it can just use a "throw away everything" and "update in place" strategy whenever possible 20:32:01 http://ftp.rook.com.au 20:32:16 hm that sounds familiar 20:32:21 oh yes 20:32:33 that's the site i thought was a spoof of tunes :) 20:33:15 since at one point they had ramblings and no implementation strategy :) 20:33:34 anyway, in presence of backtracking, there just needs be a way to explicitly differentiate effects that should be shared accross backtracking from effects that should be undone on backtracking 20:33:49 ok 20:34:38 that shouldn't be too hard, given inspection of meta-objects is possible 20:38:40 (e.g. in CL/Scheme you can build your stuff on top of unwind-protect) 20:38:46 gotta go 20:38:47 bye! 20:38:51 ok 20:38:52 [QUIT] Fare quit: Connection reset by pear 20:48:03 [QUIT] ult quit: Leaving 20:48:44 rares joined #tunes 20:50:27 hey water 20:56:15 yeah? 21:28:58 rares left #tunes 22:27:44 [QUIT] rares quit: [x]chat 22:29:51 [QUIT] XeF4 quit: Ping timeout for XeF4[supernova.sevenheavens.com] 22:30:47 [QUIT] lar1 quit: Read error to lar1[adsl-63-203-75-208.dsl.snfc21.pacbell.net]: EOF from client 23:05:51 ult joined #tunes 23:06:14 ult left #Tunes 23:06:28 ult joined #tunes 23:06:44 that's right, it's quiet here 23:06:59 [QUIT] lar1 quit: Later! 23:07:21 [QUIT] I440r quit: Read error to I440r[purplecoder.com]: Connection reset by peer 23:17:25 wha, you don't like #{}? :) 23:17:38 P 23:26:31 [QUIT] washort_ quit: Ping timeout for washort_[209.12.209.4] 23:28:20 washort_ joined #tunes 23:43:54 nate37 left #tunes 02:05:35 propol joined #tunes