IRC log started Sun Apr 30 00:00:01 2000 [msg(TUNES)] permlog 2000.0430 -:- SignOff eihrul: #TUNES ([x]chat) -:- SignOff lar1: #TUNES (sleep) -:- NetSplit: devlin.openprojects.net split from irc.linux.com [12:29am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net irc.linux.com -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:29am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:30am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:31am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:32am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:34am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:35am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:37am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:38am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:39am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:40am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:41am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:42am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:43am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:44am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:45am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:46am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:47am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:48am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:49am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:50am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:51am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:52am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:53am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:54am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:56am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:57am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:58am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [12:59am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [01:00am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [01:01am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [01:02am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [01:03am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [01:04am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [01:05am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] -:- Netjoined: devlin.openprojects.net sterling.openprojects.net -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- thomas [thomas@193.217.63.152] has joined #tunes -:- smoke [smoke@15dyn103.delft.casema.net] has joined #tunes -:- SignOff hcf: #TUNES (Ping timeout for hcf[me-portland-us1014.javanet.com]) -:- Ghyll [karltk@msx-osl-17-50.ppp.cybercity.no] has joined #tunes -:- ult [ult@user-38lcn44.dialup.mindspring.com] has joined #Tunes -:- SignOff ult: #TUNES (Read error to ult[user-38lcn44.dialup.mindspring.com]: Connection reset by peer) -:- eihrul [lee@usr5-ppp212.lvdi.net] has joined #tunes -:- XeF4 [xef4@93.ppp1-32.worldonline.dk] has joined #tunes -:- SignOff smkl: #TUNES (Read error to smkl[glubimox.yok.utu.fi]: EOF from client) -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- ult [ult@user-38lc6a1.dialup.mindspring.com] has joined #Tunes -:- SignOff ult: #TUNES (Ping timeout for ult[user-38lc6a1.dialup.mindspring.com]) -:- SignOff XeF4: #TUNES (XeF4 has no reason) Credit-card sized Linux system interesting 10:10am -:- water [water@tnt-10-146.tscnet.net] has joined #tunes hey all 10:30am hey water get a web coder? what's new? any questions i can answer or talk about? yeah i think this guy elric will work for me. for free, even and since i can deal with him irl, it seems like the best deal possible right now (he's a sysadmin for a local isp) thats a great deal yeah mostly because he likes tunes i explained the basic idea, and he grokked it, although he hasn't worked with our kind of stuff since college i hope i never go to college just to be a sysadmin. well i don't know... maybe he dropped out or something the boredom would kill me oh well is there anything we can talk about, tunes-wise? i wish i knew more about languages to have a more productive conversation well, you can ask questions i can give you good pointers did you ever finish your tutorial? no, still working on it 10:40am mostly because i want to make sure i introduce the ideas in the right order, etc hello world in slate? amazingly, even that depends on some odd concepts, although it'd be simple to code up from the default environment (since text is not primitive per se) is the syntax closed enough to be defined that you can give me a rough example? oh sure (Transcript (send : "Hello, World")) hm or maybe... (Transcript (send : string "Hello, World")) you say it can all be reduced to messages yes, and i can show how (send : string "Hello, World") is a message sent to Transcript? yep its an object, actually hwat exactly is Transcript? well it's a smalltalk concept basically, it's the object that receives stdio and pipes it to wherever is primitive at the moment smalltalks show this in a little window that logs output sends a message to output object which is a tunes driver? hm yes, but not any specific (hard-coded) one of course whats the send object? it's a slot in Transcript which has its own external argument slot TS has other slots of course like? well, slots in slate are used for local variables, input and output, and dataflow expressions 10:50am i can't say for sure how i'd arrange TS in particular well anyway, the send slot is the input to the transcript in this case what about some code to take an number from stdin and convert it from celsius to fahrenheit and put the result to stdout hm now that i think of it, i don't have a declarative syntax that'll handle that :) it would take several lines of short code, though honestly, though, i don't think i want a declarative syntax (but you never know) define declarative syntax i tend to think of Slate as a visual language, where you construct things out of visually-represented objects oh, syntax that is not a sequence of commands per se so you dont want to write this this this and this you want to create slate objects like how you declare functions in c and connect them? right kay using macros to automate that process of course but what do you define the objects in? wherever in the namespace system you currently are at that doesnt mean anything to me hm how would you do hello world non declarative well you understand that slate objects form a sort of directory structure, yes? that *was* non-declarative.... i just sent the message a hierarchy kind of it looks like one to the newbie, anyway :) well what kind of structure does it look like to you? but in order to make objects, you allocate slots, enter them, and clone other standard stuff to make your object do its thing oh, it's more like a graph, with other cross-connected graphs layered over it (graph=network) i would think a hierarchy would be too rigid i kinda know about graphs so i have a picture yes it turns out it makes slate impossible 11:00am so how would you do the c->f non-declarative? because, for instance, the numbers and literals are located in their own directory objects ok can slots have slots themselves? well first you'd be writing toy code, so you don't care where you make it... you can move it later yes, all slots are objects which have further slots anyway, we can make a new slot by simply talking to the current namespace and saying... (newSlot (name : string "f->c")) (for instance) then, "(f->c /)" puts you into that slot-object -:- ult [ult@user-37kbaqe.dialup.mindspring.com] has joined #Tunes the next part basically depends on how you overloaded slot-creation to handle basic admin or maybe i'd provide other messages to add slots besides newSlot that did the admin anyway heh following... within the function, you'd make a slot "f" and give it the meta-behavior of an input slot then, you'd set the result slot to the expression that calculates what you need the expression gets parsed into an oo-style parse tree that becomes a set of anonymous slots of "f->c" hm the sugaring for the syntax here will be fairly critical in design, but it should be natural to use like result = (f - 32) * 5 / 9 should work fine (that's the sugared version) (newSlot (name : string "f")) , then how do you give it the meta-behavior of an input slot? oh you say "(f (meta : basicInput))" 11:10am or perhaps "(f (meta : basicPosRealInput))" in this case hrm yeah that works oo-style parse tree? anonymous slots? * water/#tunes nods ok i'll explain :) you grok parse trees, right? maybe but you always put fancy words on things. :) explain and if i do ill tell you well, the syntax tree made by anyone (computer or otherwise) while reading an expression to figure out how the sequence translates into relationships between the objects mentioned hm a drawing would help, but i can work around that basically, 3 + 4 would be a tiny tree with + at the top and two branches downwards, one for 3 and one for 4 ok got it now, in common cases in slate, you don't deal with the numbers themselves but special proxies for them, which are their own objects they *act* like the numbers, mathematically, but they are just example references to numbers that can be re-targetted So you could easily make 4 == 5? well, the point of this is that an oo parse tree makes an object such as i just mentioned for every node of the parse tree * water/#tunes nods although it *is* a sugaring hm so does this make it clear? anonymous slots? oh well i'm not entirely sure about how anonymity will work, because of unique id issues and such but basically, the nodes of the parse tree will sit in the same object as the final output node and not have (meaningful) names 11:20am make sense? i'm trying to make everything very uniform im not grasping completely hm well, the tree links in this case are just references from one expression slot to its inputs (calling them for values) well, i'm not sure what you're having trouble with, maybe you could clarify somehow? i think i need a diagram. :) hm i'll have to get back to you on that, probably hmm (i reall suck at computer drawing) really, even im trying to formulate my question. :) hold on. ok are these 'special proxies' part of the language? i mean always there yes, they are clones with special meta-behavior they clone the things they proxy for -:- NetSplit: devlin.openprojects.net split from irc.linux.com [11:26am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [devlin.openprojects.net] explain cloning heh it's pretty simple it just duplicates it? you basically make a new empty object whose only feature is that its parent slot is set to the "cloned" object okm which works like a copy in some cases what slot on the parent represents the cloned? (your mileage varies with metabehavior settings) eh? well the parent basically doesn't have to explicitly deal with its clones think "symlink" (although that's just one facet of clone possibilities) -:- Netjoined: devlin.openprojects.net irc.linux.com -:- thomas [thomas@193.217.63.152] has joined #tunes i understand what a clone is, i just dont understand the implications 11:30am well, that's where you start to get into the realm of meta-behavior >:) * water/#tunes cues the bright lights and smoke ;) meta-objects really "run the show" in slate the the number proxies are cloned from where? ah there is a special place for natural numbers, rational numbers, reals, quantities, etc each of these categories of objects has its own enclosing object that acts like the class of them in a way its own enclosing object? more specific well, "Naturals" would contain 0 and all the other natural numbers what would contain Naturals dunno, it doesn't matter to me at the moment perhaps "Literals" or "Math" of course you could clone "Naturals" to act as if it were anywhere so these objects would have their result slot to equal their own values? hm return i don't think that that's necessary the objects themselves are the values so these arent the 'special proxies'? these are the originals? hold on, gotta talk to someone for a bit kay yeah they're the originals the Real Thing :) so when the c->f used them, it cloned them? right 11:40am why not use the originals? that's part of the de-sugaring process well, because the originals have to be in Naturals to work right, afaik so how can the clones not be thee? there yeah, accoriding to my current model, it has to work that way where? in naturals hm not sure i follow you can clone anywhere oh wait a sec this is where the "non-hierarchy-ness" comes in to play ok go on. :) since directory access is accomplished ordinarily by message-passing there has to be ways to get back up the hierarchy without violating message-passing rules (name scoping, basically, sucks) well anyway, each object can get at its enclosing space with its ".." slot (not primitive) but also, when you set the parent of the clone (part of the creation process) you can get anywhere in the hierarchy using whatever means you can you need to start a slate glossary to for all the dumb misguided c programmers yeah that's what the first part of the tutorial will be for (although a glossary will indeed follow) i understand how your explaination answers the question k oops i dont understand :) oh! hmm well basically, i have to figure out what primitives to use for upwards directory access that are most appropriate, and base all other such methods on them it's just a design issue, nothing special as a user, just take it for granted, basically but i dont understand the issue why i cant use the naturals in their location instead of having to clone them heh ok well it deals with meta-behavior is there an intro to meta-behavior out there? which is no simple subject for the procedural programmer hm there are two papers linked to under ./slate-references.html ok which cover the kind of thing i'm talking about i haven't written up a good MB intro yet, no 11:50am basically, no one's yet used this concept as much as Slate will there's a little explanation under the semantics page iirc, but it's not very clear -:- SignOff smoke: #TUNES (reading a book) basically, meta-objects are part of the slate implementation but you can reify them and modify and re-compile them dynamically (the last part depends on mobius, really) anything else i can do for ya? whats reification? oh, just taking something implicit and giving it a user-level object so the user can play with it it's not just a computational concept either it basically allows you to "bring an issue up" with the compiler and develop variations on the existing method of handling that subject does that make sense? i guess you should probably read a good lisp book or something to get into that, like SICP or maybe an online lisp tutorial abi sicp sicp is Structure and Interpretation of Computer Programs at http://mitpress.mit.edu/sicp/ the online lisp tutorials suck. save successful lisp where's that at? abi: succlisp i guess succlisp is successful lisp at http://psg.com/~dlamkins/left/sl/sl.html :P ok i read that a long time ago it looks like it has grown a bit ...but not in height... re ghyll re water, corey any plans for slate-tut today ? corey: well as an example, lisp macros reify quite a bit of the syntax of lisp 12:00pm yeah i think i have some good new ideas after explaining things to corey here thats good dont feel so bad for asking corey: keep poking :) yeah the more i teach, the more i learn about what i need to do with the language sounds like you're doing an inverted-socrates :) lol didnt they have some sort of pyramid in grade school of learning methods and retention rates, and teaching others had the greatest? i've heard things like that very often and i know of a good psychologiccal theory that predicts it,even SICP is on loan but the `85 is in is there a big difference? between `85 and `96 additions? hm yeah the new one covers some interesting stuff that the other didn't get into alright, well i'll cya later, please read a bit of those papers, and come back armed with questions k? hm oh well yep toodles -:- SignOff water: #TUNES (The Tao went that-a-way!) his impatience is humorous 12:10pm :) he reads the irc logs, you know, so I won't comment more on that :) oh i know he does hes already told me to get a life :) he being the expert on that :)) 12:30pm hes a cool guy (not that I have anything to base that statement on, I barely know of the guy) not many people take time to talk to newbies that's very true. but you're onlu a tunes newbie, like myself ? onlu/only im a lowly c programmer so im told ah. well that's reason enough to be ostracised around here, certainly. what's your interest in tunes, btw ? to know *grin* I think that's pretty common for tunesers. someone once said that existence is absurd and one must define their own values i tend to side with socrates that knowledge is the highest virtue well, yes... but knowledge in itself does nothing its rather idle existence in itself does neither. :) well, you're welcome to kill yourself now then otherwise, you're playing by reality... thanes said there is no essential difference between life and death, and when confronted with your proposal, he replied because there is no essential difference :P well, yes, so go ahead and kill yourself because there is very little difference so clearly it won't matter if you do so the sad part of the matter... is that we attribute more, however wrongfully, to life than death and if we didn't, you'd be dead right now 12:40pm (not that it make much of a difference) my instinct compells me forward whether or not my intellect cares. It's Life's Fault! I saw her! heh but back to tunes there doesnt seem to be any other oss project that knows what they are doing as much as tunes HAHAHAHAHAHAHAHAHA I'm sorry...I didn't mean to burst out...but...HAHAHAHAHAHAHAH :P well, yes, but there doesn't seem to be any other oss project that has been so confused as to how to do it than tunes! well i havent been here that long :) and i dont know very much eihrul: why do you think that is? fare :) heh eihrul: This channel's logged =) i'm well aware of that :) wh0a but fare's practically admitted the same by his own mouth or fingers, as it may be well, fare isn't only one at fault, all tunesers are at fault but if you want a scapegoat :) bah just because no one is doing anything everyone wants tunes but noone actually wants to make tunes :) i want to make tunes but i dont have the education corey: cheery tunes ? Ghyll: somber. that's ok, I don't either does anyone here ? fare :) 12:50pm -:- SignOff ult: #TUNES (Leaving) -:- hcf [nef@me-portland-us846.javanet.com] has joined #tunes eihrul: oh yeah, he's doing his PhD on something related.. automatic management of automatic management of resources, or something like that sounds meta to me :) eihrul: could you explain to me what your doing with water on slate? 01:10pm corey: shenanigans.. heh eihrul: no? :) eh? your helping brian with slate, right? yap so whaddya doin? compiler thingy heh 01:20pm -:- Kyle_L [kyle@cr168790-a.nmkt1.on.wave.home.com] has joined #Tunes -:- SignOff corey: #TUNES (Reconnecting) -:- corey [coreyr@net255ip95.parklink.com] has joined #tunes eihrul: how _is_ the compiler coming, btw ? eihrul: I'm seriously nearing a milestone in sds, so I might be able to take a break in a few weeks' time. well, still reading :) eihrul: u'v got ~50 papers to read, right? need more? ;) eihrul: ok. I'm just your (preoccupied) grunt for now, then :) hcf: sure! 02:50pm hcf: find me all the dynamic compilation papers at your disposal :) in theory, that uw site and RI have or link to 99% of them "uw"? anything specific that the above doesnt carry? uni wash oh i downloaded all of 'em so you need to find new paper sources :) givme a short 'best of' list haven't read them all yet :) sites that have them may have other good unseen poop a majority of them were disappointing for instance, one paper is on automated, dynamic specialization but their implementation only covers explicit annotations :) though DyC was somewhat interesting despite requiring explicit annotations eihrul: are any of them substantial improvements over self ? yes and no self has one benefit: its dynamic specialization is totally transparent 03:00pm but, in DyC, specialization can occur wherever the programmer wants whereas in Self, that is not quite so but is the programmer required to do the spec in DyC ? nope you just specify what variables you wish to specialize upon so unless the programmer does anything, DyC will deal with it ? but, Self isn't much better in that respect because it just assumes that all messages should be specialized to the receiver iirc Ghyll: well, i haven't read yet... but it seems that you have to specify what blocks of code should be specialized and on one variables though determining what should be specialized automatically seems quite daunting (and is perhaps the motivation for such systems) * hcf/#tunes is away: (afk) but that's why i'm reading all these papers :) In that respect I like lisp.. how is lisp any better there? :) implementing dynamic specialization in lisp would be just as tricky dynamic, sure, but the philosophy of having specialisation being optional is nice. well, optional and transparent are mutually exclusive to that end -:- SignOff Kyle_L: #TUNES (Leaving) >:) I want both(tm) except having the option of turning it off completely well, in DyC, its not transparent, but it definitely is optional! though, perhaps a function level profiling scheme would help in guiding where to place specialization automatically (and then, deciding what variables to specialize upon requires further block profiling or some such) whereas self just applies the former and doesn't intelligently decide what to specialize upon besides that 03:10pm eihrul: icuc, http://www.dcs.qmw.ac.uk/SEL-HPC/Articles/GeneratedHtml/comp.opt.html nifty lots of good stuff 03:20pm eihrul: icuc, http://www.cs.cmu.edu/Groups/fox/people/mleone/language-people.html 03:40pm -:- SignOff abi: #TUNES (Ping timeout for abi[bespin.dhs.org]) -:- abi [nef@bespin.dhs.org] has joined #tunes -:- SignOff abi: #TUNES (Ping timeout for abi[bespin.dhs.org]) -:- SignOff Fare: #TUNES (:Connection reset by pear) -:- Fare [rideaufr@lantier.enst.fr] has joined #Tunes /lp Grrrr! /etc/fstab is EVIL -:- abi [nef@bespin.dhs.org] has joined #tunes /etc/fstab killed a partition of my machine (I had a disk of one machine in another; my bro booted it; it wiped /dev/hdc2 as if were swapspace) * Fare/#Tunes HATES /etc/fstab Tunes won't have any such horror! Disks should be managed by logical content, not by physical location! -:- water [nunya@MAR158A.spu.edu] has joined #tunes 04:10pm hey * corey/#tunes nods. -:- SignOff abi: #TUNES (Ping timeout for abi[bespin.dhs.org]) got any more questions? havent read that paper working... working? rather i am working ok anyone else here feel like discussing things? -:- abi [nef@bespin.dhs.org] has joined #tunes hcf: que tal abi? Grrr! hey fare yeah water just lost a big bunch of data oh :( (happily, got a backup, and can reinstall the rest from CD|The_Internet) ah nonetheless, I'm angry at myself, at my bro, at linux, and at windows3.1 and at /etc/fstab understandable Fare: ill keep note never to move disks between machines corey: windows hate it; standard Linux distros aren't meant for it (but can do it, if hacked consequently). but windows hate it even when disks are not moved. and linux distros aren't meant for anything, either. unless hacked consequently 04:20pm Hum, music composition is hard. * Fare/#Tunes spent a good part of the day composing only 1 minute of music. Fare: for what instrument? corey: instrument may vary later. Twas mostly about the harmonic and melodic structure are you using software or by hand? well the software is only a way to play (quite badly, but with correct notes) the score since I'm not able to play myself with a piano in what format? id like to listen corey: my friend uses Cubase * Fare/#Tunes is ashamed to admit using this proprietary software can dump MIDI the current thing is _very_ rough. can you dcc me it? in .mid not until I have a windows machine up&running with Cubase at hand (mind you, the /dev/hdc2 was the spare windows partition) how does cubase compare with finale? dunno finale. cubase offers correct features, for a WYSIWYG music editor. well finale isnt very good software stability wise but my musically inclined gf says its works well I'm trying to learn Common Music as a WYSIWYM composition system. s/WYSIWYG/WYSIAYG/ is finale proprietary, too? sigh yes. * Fare/#Tunes should be trying Brahms and other free software i have a viola here and i want to learn, but i cant hold the damned thing. :) * Fare/#Tunes hates a lot of things in Cubase that are directly related to its being evil proprietary software: WYSIAYG, undocumented file format, unability to script things, etc water: wassup? 04:30pm got a web coder and working on explaining slate ideas to the masses i had a good session with corey this morning that i will use to add to the tutorial and i'm working out more of the necessary parts of the slate library as i see it being useful .ua is ukraina, ain't it? whatever web coder? anyway, it's really interesting working out the details of slate while trying to maintain the uniformity of the application of basic features yes, a sysadmin for a local ISP you mean a human, or a program? a human good I lack a lisp coder. I lack BEING that lisp coder. i pipe him text, and he puts it all together into a maintainable system (lynx-friendly of course)... at least that's the plan eihrul is that lisp coder anyway, he groks the tunes idea, down to the implementation, although he's not familiar with compiler tech per se he's working for free, but i might pay him for advanced stuff like formatting of arrow material or somesuch and i did offer him cash, but he's fine with just volunteering anyway, the slate picture gets clearer by the day pretty soon i'll feel like asking for a tunes subproject or something 04:40pm but not yet of course hm ok as you wish Fare: what's the farthest out application of the partial eval idea you ever came up with? not in terms of effort, but in terms of a sort of test for "tunes-level" partial-eval capabilities (i suppose the real test would be to demonstrate that ALL kinds of simple partial-eval were possible with the same unified system) this web coder actually might help me get a good deal on a sparc machine so i can toy with Self 4.1 Fare: no comments? Grrr water: you mean, application that was actually implemented? hm or application that I actually thought about? sure, or perhaps an envisioned one or application that other people did? either will do, perhaps even both specialists of PE are the people of project COMPOSE at INRIA yeah i've looked at their work I could have worked for them, if I weren't so stubborn as for free reflective systems. although maybe you could tell me more than what's been documented maybe not much more; hm well what else? they use semi-dynamic PE as a way to build semi-dynamic compilers out of interpreters written in C. oh right 04:50pm i found the work in haskell and staged interpretation with monads more significant semi-dynamic means you can statically select chunks of code whose actual specialization will be instantiated at runtime. and conversion of interpreters to compilers >:) -:- SignOff Ghyll: #TUNES (Ping timeout for Ghyll[msx-osl-17-50.ppp.cybercity.no]) ok have you seen the work by Tim Sheard on staged interpretation? the name doesn't ring a bell got a url? he's at OGI look for Tim Sheard, OGI, CRML, on a search engine doing so I used to have a URL not hard to find him ok i've seen this at one point * eihrul/#tunes hmms. yeah working with s-p jones google is so annoying, a search on staged interpretation only brings up theatrical performances :) yeah, that's why you go with proper names hmm, cool, found more dynamic compilation resources anything else, Fare? or do you find this work universally applicable? abi: dynamo is also at http://www.cs.indiana.edu/proglang/dynamo/ okay, eihrul. eihrul: i suppose you want to give the slate programmer handles to manually invoke optimizations when he/she knows better than the run-time heuristic system? eihrul: if so, how are you looking at doing this? well, right now i'm planning on the heuristics inserting annotations into the trees automatically hm ok manually invoking optimizations would boil down to explicit annotations ok this sounds like a good 'reflective'-style approach eihrul: where? where what? no, nothing water: pliant has this ability to explicitly select optimizations -:- SignOff hcf: #TUNES (Ping timeout for hcf[me-portland-us846.javanet.com]) by opening proper meta-modules yes i've seen it, but pliant isn't very unified no, it isn't water: what work universally applicable? pardon? 05:00pm Tim Sheard's? yes sorry, I'm lagging in the conversation oh TS unhappily is looking for ad-hoc techniques oh well more glory for us! >:) which is not bad in itself; the problem is rather that he doesn't try to make those techniques part of a coherent holistic framework I met him, once. gotta reboot. brb * Fare/#Tunes is away rebooting abi: cas is a dynamic compilation and optimization initiative at http://www.cas.ibm.com/projects/oo-opt95.html hm at ibm no less hm ok this is the missing link i was looking for earlier hm -:- Ghyll [karltk@msx-osl-17-50.ppp.cybercity.no] has joined #tunes re ghyll water * water/#tunes is pondering on what ? slate meta-stuff 05:10pm where are we now, implementation-wise ? when can I help out doing some worthwhile code ? i don't have the Right Answer yet on that process of picking out the enclosing namespaces (n) away then backtracking namespaces to send the message there's the ever-hackable slate.lisp you can get it from the code page or eihrul's tunes account k. I'll get it. afaik it only needs a Common Lisp is the syntax or the implementation you're stuck on ? I have a few of those :) syntax no doubt what happened to the file concept ? "file concept"? or how far are you going to stretch it ? oh the directory concept * Fare/#Tunes is back I mean directory-tree concept, my mistake. yeah np re fare Ghyll: would you write a pattern-matcher in LISP? i'm going to use it as much as is useful without ruining language unity lisp doesn't have a pattern-mathcer? Fare: ideally, yes. it depends on where it should run. water: depends on what you thus mean it sure doesn't have ML-like pattern matching oh Fare: you should find a small pattern matching implementation in any good lisp book. although I'm sure there exists a matcher somewhere on the AI repository destructuring bind is about as close as you get Ghyll: the goal is to make a "reversible" pattern compiler Fare: go from pattern back to problem space ? hm that's definitely non-trivial it's not even feasible in the general case. the syntax for destructors should be same as for constructors. so that depending on your expression being syntactically a match or a build, you will destruct or construct values or are we here restricted to pattern matching for computer language constructs ? and rewrite rules are thus reversible hm to begin with, that'll be syntactical patterns although by plugging-in matchers and builders, we may achieve more well, any high level language should do, but lisp has a long history for this, and not without reason. 05:20pm abi: jalapeno is a dynamically optimizing java virtual machine at http://www.research.ibm.com/people/s/sfink/papers/publications.html wow oh yes there was some discussion on the squeak mlist about rivaling that talk of making a squeak that was stable enough for commercial server use -:- hcf [nef@me-portland-us921.javanet.com] has joined #tunes re 05:30pm abi: tempo is a partial evaluator for C at http://www.irisa.fr/compose/tempo/ eih: did they finally release it as free software yet? they long resisted such release, but finally said they would dunno, just found the site from the hints just given on the channel? afk (brb) nope am just meandering over google 05:40pm * Fare/#Tunes wonders if his chat isn't completely useless well, you did induce me to start looking around on google some more :) isn't hcf our appointed web search engine? Fare: yeah, but i'm not looking for anything specific right now serendipity... scheisse, this laptop just locked up, once again abi: jalapeno is a dynamically optimizing java virtual machine at http://www.research.ibm.com./jalapeno/ ...but jalapeno is a dynamically optimizing java virtual machine at http://www.research.ibm.com/people/s/sfink/papers/publications.html... abi: no, jalapeno is a dynamically optimizing java virtual machine at http://www.research.ibm.com./jalapeno/ okay, eihrul. .com.? hmm abi: jalapeno =~ s/\.com\./\.com/ That doesn't contain '\.com\.', hcf should be legal fqdn, ain't it? i guess it works, just looks wrong well, i just pasted it :) * Fare/#Tunes writes too many shell scripts, not enough real programs never too late to start! 05:50pm when you die, it is * Fare/#Tunes isn't dead, yet * Fare/#Tunes doesn't expect to be dead any time soon "I will live forever, or die trying!" Fare: have you died? can you truly say it is too late when you are dead to write programs? no! of course, if you endeavor to write one program while you can at the very least, surely believing you can't once you die helps... 06:00pm * Fare/#Tunes croaks and dies Are you me? How can you say I haven't died? Chuangtse and Hueitse had strolled onto the bridge over the Hao, when the former observed, ``See how the small fish are darting about! That is the happiness of the fish.'' ``You are not a fish yourself,'' said Hueitse. ``How can you know the happiness of the fish?'' ``And you not being I,'' retorted Chuangtse, ``how can you know that I do not know?'' -- Chuangtse, circa 300 B.C. fortune cookie, eh? 06:10pm in my database yes. Actually copied from the Halpern&al book on the logics of knowledge (including the unusual spelling Chuangtse instead of Chuang-tzu) let me guess... you wrote your own shell script to select from that database? in my .sig, yes but in irc, no tunesh I fortune -m, copy-paste into emacs, make 255-byte lines or so, and paste into irc tunesh? hum. That's an idea. tunes is a useful, never-the-less expedient shell s/tunes/tunesh * Fare/#Tunes considers publishing hoarded material from Russia. Wouldn't that be great, that hoarded classical liberal books be published from within formerly communist Russia, whereas so-called free western countries forbid these books from being distributed? How much would it cost, employing third world labour, to digitize and HTMLize a 2000-page book ? project gutenburg.ru? yeah! that would ROCK Russia, country of free expression! 06:20pm "ironie de l'histoire" the french will say! -:- SignOff Ghyll: #TUNES (Ping timeout for Ghyll[msx-osl-17-50.ppp.cybercity.no]) Fare: what book? -:- Ghyll [karltk@msx-osl-16-21.ppp.cybercity.no] has joined #tunes 06:30pm -:- karltk [karltk@msx-osl-16-21.ppp.cybercity.no] has joined #tunes -:- FareWell [rideaufr@lantier.enst.fr] has joined #Tunes Hum. Wierd. -:- eihrul_ [lee@usr5-ppp212.lvdi.net] has joined #tunes -:- SignOff Fare: #TUNES (Killed (NickServ (This nick is reserved by another user))) -:- FareWell is now known as Fare Hum. Funny things happen on irc :) -:- NetSplit: king.openprojects.net split from sterling.openprojects.net [06:37pm] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [king.openprojects.net] tes, yes -:- karltk is now known as Ghyll openprojects sure has a lot of splits for some reason they suddenly started. somebody's probably rewiring their network. 06:40pm -:- eihrul_ is now known as eihrul i wonder how much money is lost each year thru making these impossible to read * eihrul/#tunes hmms... deciding what to specialize without annotations seems rather tricky. -:- SignOff Ghyll: #TUNES (foo) 06:50pm -:- SignOff eihrul: #TUNES (Ping timeout for eihrul[usr5-ppp212.lvdi.net]) -:- eihrul [lee@usr5-ppp158.lvdi.net] has joined #tunes hohum ? iow, *yawn* well, yes, but what do you propose to do about it? r u still poking around via google? nope, now i'm reaping all the sites i found for their papers 07:20pm abi: XLogo is a Experimental Meta OOP Project at http://www.geocities.com/SiliconValley/Lakes/3767/xlogo-index.html any relation to Logo? abi: no, XLogo is logo in xml at http://www.geocities.com/SiliconValley/Lakes/3767/xlogo-index.html okay, hcf. -:- ult [ult@user-38lc6a6.dialup.mindspring.com] has joined #Tunes hoy ult hows ur lispmoo thing? LispMUD, and its getting cool. Unfortunately, I'm not as good a Lisp programmer as I'd like, so it really crunches memory, but it's turning out to be rather nifty. its not OO? i thought it was choked up in dynamic extent problems? :) That's one of them Well, it is sort of OO I just don't like the name MOO. any docs yet? 07:30pm Nothing ready for release whats ur opinion of lambdamoo? Are you trying to set up a virtual world? no, just asking Well, didn Didn't that come from Xerox? ;) I haven't really coded for LambdaMOO, but I've walked around em whats ur fav mud/moo svr sw? As far as extensibility and usability, MudOS is great. It's easy to use and relatively fast and efficient. But there are some "fledgling" projects like Cold that are also kind of nifty cold is definitely cleaner than mudos Yeah, but it's not as well developed uh, mudos is pretty much a big-ball-of-mud I'd like to see it in another 6 months that slashdot article? they were talking about mudos :) eihrul: Yes, but it's a big ball of mud that rolls really well :) MudOS is older than tunes MudOS is older than Tunes...and LispMUD almost does as much well, that's sort of cheating MudOS is built from C and provides a full language environment Er you just swiped your language environment from Common Lisp :) LispMUD is built from Lisp and provides two full language environments Er wait, 3 At least And you can easily add more sure, but none as complex as LPC 07:40pm uh Lisp, Fith,and C aren't as complex as LPC And I'm sure someone could add LPC support to LispMUD since there are language hooks that, and it has efficient string manipulation :) Programs are uh...typed =) Ok, so you have me there. otherwise, Cold is almost better than MudOS 07:50pm -:- water_ [elric@cust99.max1.seattle-k56.aa.net] has joined #tunes re all re hm xlogo 08:10pm lispmud and lambdamoo? hm dynamic meta aspects -:- SignOff ult: #TUNES (Leaving) hehe xlogo is by Yet Another person of russian descent those darned Russians keep getting some crazy ideas in their heads ;) does anyone have things to discuss or something? 08:20pm eih: any issues language-wise i can help you address for the compiler design? not yet ok 08:30pm bbl -:- water_ [elric@cust99.max1.seattle-k56.aa.net] has left #tunes [] 08:50pm -:- monoclast [brain@24.27.6.193] has joined #tunes play some tunes -:- monoclast [brain@24.27.6.193] has left #tunes [] 09:00pm -:- SignOff hcf: #TUNES (Leaving) -:- hcf [nef@me-portland-us241.javanet.com] has joined #tunes -:- smoke [smoke@16dyn34.delft.casema.net] has joined #tunes http://pages.cthome.net/iact/IQN/8-2000apr/iqn8-Standard_Definition.html 09:50pm -:- lar1 [larman@adsl-63-204-134-217.dsl.snfc21.pacbell.net] has joined #tunes data thoroughput? what's the nonsense about linux being the sole property of Linus Torvalds btw? * hcf/#tunes is away: (afk) 10:30pm well, it is its a kluge it's also property of others * linux/kernel/info.c * * Copyright (C) 1992 Darren Senn oh, i thought you were referring the previous standard article :) i was referring to the IQN standard definition article hm gotta go though.. bbl well the issue is not "sole property" the issue is standard linux is not a standard oh, ok. bad phrasing then :) but its a silly argument anyway 10:40pm -:- SignOff lar1: #TUNES (BBT) -:- SignOff hcf: #TUNES (Leaving) -:- SignOff eihrul: #TUNES ([x]chat) -:- lar1 [larman@adsl-63-204-134-217.dsl.snfc21.pacbell.net] has joined #tunes [msg(TUNES)] newlog 2000.0501 IRC log ended Mon May 1 00:00:01 2000