IRC log started Fri Jun 9 00:00:01 2000 -:- smoke [smoke@vengeance.et.tudelft.nl] has joined #tunes [msg(TUNES)] permlog 2000.0609 -:- SignOff coreyr: #TUNES (Ping timeout for coreyr[net255ip95.parklink.com]) -:- coreyr [coreyr@net255ip95.parklink.com] has joined #tunes -:- SignOff smoke: #TUNES (fucking fuck windows) -:- billh [billh@cx739861-a.dt1.sdca.home.com] has joined #tunes -:- SignOff abi: #TUNES (Ping timeout for abi[bespin.dhs.org]) -:- abi [nef@bespin.dhs.org] has joined #tunes wb abi its good to be bad thats nice s/bad/back/ -:- SignOff abi: #TUNES (Ping timeout for abi[bespin.dhs.org]) 01:10am -:- abi [nef@bespin.dhs.org] has joined #tunes -:- _Luke [luke@203.46.39.102] has joined #tunes abi: OScat is a catalog of operating systems, large classified list w/ small nuggets of info about past and present(?) OSes at http://www.cs.wvu.edu/~jdm/classes/cs258/OScat/catalog.html 02:20am -:- SignOff water: #TUNES (Ping timeout for water[tnt-10-148.tscnet.net]) -:- SignOff hcf: #TUNES (Ping timeout for hcf[207-172-225-144.s144.tnt1.pld.me.dialup.rcn.com]) -:- SignOff billh: #TUNES ([BX] We drink more beers than Norm on Cheers!) -:- hcf [nef@207-172-225-125.s125.tnt1.pld.me.dialup.rcn.com] has joined #tunes Fare: when u de-idle i got a question for u 04:50am -:- Kyle_L [kyle@cr168790-a.nmkt1.on.wave.home.com] has joined #Tunes re Kyle_L hi 05:00am -:- ult [ult@user-38lcdhf.dialup.mindspring.com] has joined #Tunes -:- SignOff ult: #TUNES (Leaving) -:- ult [ult@user-38lcdhf.dialup.mindspring.com] has joined #Tunes -:- SignOff hcf: #TUNES (Leaving) * Fare/#Tunes unidles * Fare/#Tunes has ADSL, at last! hi Fare lo KL wassup? Defered BitField implementation 'till today. defered? Deferred (delayed) 07:40am -:- water [water@tnt-10-0.tscnet.net] has joined #tunes -:- eihrul [lee@usr5-ppp197.lvdi.net] has joined #tunes hey yeah the online slate docs are pretty much obsolete now but that means i'm that much closer to a full spec 08:50am good -:- smoke [smoke@15dyn238.delft.casema.net] has joined #tunes 09:00am i guess i should mention the syntax shift, unless you already heard of it it's been determined that ('s convey redundant information. so we shifted from using () to encoding message-application points with single symbols.... "." for now "/" is also redundant, and was removed however, "result" now has to be explicitly called, so we shortened it to a single character, "^" for now what was /, already? why must result be called explicitly? couldn't it have been implicit? 09:10am water: wasnt it ambigious what result meant? coreyr! corey: why? i dunno thats what i got from the convo. it's not ambiguous except where you have to call multiple ones in a sequence... iow just hard to read sometimes Fare: we made result explicit since "/" was semantically troublesome can you restate examples of old, previous, and lisp syntax? Fare: "/" was just the operator for shifting the evaluator namespace s/previous/current/ replaced by . ? yeah i'll give an example 09:20am "(my Point (x (: 4)))" would now be "myPoint x : 4 . . ." which implies.... -:- SignOff smoke: #TUNES (One day sheep will rule the world) "((myPoint) x)" is now "myPoint . x^" (which would both return 4 now) uh? wouldn't that have been ((myPoint x)) ? hm sorry np you might be right.... there's subtle differences I mean, to lookup an object slot in a usual LISP object system, that is (x Point) or (Point 'x) or such oh slate doesn't have to quote selector names explicitly to look up slots since everything works that way gah brb ok -:- smoke [smoke@15dyn238.delft.casema.net] has joined #tunes 09:30am back fore so a.x ==> (a 'x) ? anyway, evaluation order is specified by placement of "." and "^" and a^ ==> (a) ? actually, i think it's a x . ==> (a 'x) is . postfix? yes a^ ==> (a) pretty much i didn't intend it that way, though :) although remember that ^ is an actual slot not just a syntactical operator because "a x" only just puts you in a position to inspect x's contents 09:40am once you're there, though, "." applies x and dumps you back to the original namespace heh it really *is* stack-based but the namespace system is not necessarily hierarchical ".." is not the mechanism for returning through the namespaces after evaluation... that's a result of "." ".." is a separate explicit slot that can be invoked any time perhaps there should be another name for it, because it looks a lot like ". ." which is 2 applies -:- morton [morton@AC94F2E0.ipt.aol.com] has joined #tunes , ! eh? a comma? ok, so a^ ==> (a 'result) or is is ((a) 'result) ? damn it, i made a mistake earlier a^. ==> ((a) 'result) 09:50am otherwise it will place you in the ^ slot of a crazy, ain't it? :) water: make any breakthroughs w/ your language lately? morton: yes a^. ? fare: what about it? yes, that's the correct expression * Fare/#Tunes is confused heh ok let me explain ok, I'll read your specs with interest when you enter a symbol, it gets looked up in the current namespace and that reference is followed to a new one the next symbol you enter is looked up in *that* namespace "^" is a slot and a namespace in this sense "followed to a new one"? hey, does anyone know what's going to happen to that "Brix" os? has 'air' lost interest or what? when you enter "." the current namespace evaluates and returns (based on the current namespace stack) "a slot and a namespace"? morton: maybe got a job? hm Fare: consider a graph Fare: namespaces are nodes, selectors are directed edges ok invoking the selector just pushes the evaluator along a path and modifies its internal namespace stack that's for selection. What about application? or can you only ever apply the current context? application backtracks along the path (that's the default anyway) which pops namespaces off the stack -:- smklsmkl [sami@ppp96.dial-in.verkkotieto.fi] has joined #tunes yes you can only ever apply in the current context but shifting contexts and cloning them helps to make that more versatile since every use of a symbol besides "." changes the context, that's not so difficult :) 10:00am one thing we noticed as analyzing ( and ) was that they were (usually) very closely linked with uses of the "lookup" and "apply" phases of evaluation but it turned out that lookup was totally implicit to every slot-invocation doers air ever come to #tunes anymore? 10:10am no judging from the logs, #tunes seemed much livelier + hopeful a year ago :-( 10:20am morton: dont bring me down bruce. * Fare/#Tunes thoght that the namespace stuff would be resolved statically (so there would be no context stack at runtime) coreyr: bruce? and that "apply" would be context-free "bruce?" ? it's like (except for the static members) every few months an old group of OS hopefuls gets flushed out and a new group comes in and so on :-) morton: isnt that how all projects work? coreyr: i guess so the logs are funny heh Yeas! :) How TUNES goes??? -:- SignOff morton: #TUNES (<>) 10:30am scifi channel? in France? whaaa? wrong channel, sorry :) 10:40am hm Fare: the namespace stuff is static as long as you don't change it :) uh? partial-evaluation applies to this case, right? sure. there you have it, then I meant, it is usually a good idea to be able to distinguish normal applications from "macro" stuff that has special application semantics besides, note that whatever namespace you're at is just a compiled-away context stack such as? i'm not sure what you're referring to exactly, so i can't tell how one would address it in slate such as (a b) meaning that I apply a with parameter b, regardless of the value of a and b except if I syntactically know that a is a special form huh? you know how slate objects get values, right? -:- smoke is now known as smoke` -:- smoke` is now known as smoke e.g. "myObject x : 4 . ." requires that ":" have the numbers in it so that it can pass a clone of 4 to the "^" of "x" slate is ugly basically, you make ":" inherit from another node on the namespace graph that has access to those natural numbers (and whatever else you want) ult: got any suggestions for the syntax that work? -:- I440r [mark4@purplecoder.com] has joined #tunes hey * ult/#Tunes ponders eih: what do you think? well, things like ^ and . aren't terribly intuitive, unfortunately. they are for people who use self and smalltalk and why are you putting two periods after eachother? "." used to be ")" 10:50am but "(" was totally redundant One of the nice things about lisp is that it has a very simple syntax no kidding It doesn't appear that slate does lol there's only one special operator in slate everything else is slot-names so its just a "command stream"? kind of... it's a lookup-chain the "."s are applies the lookup-stream is also a path among the namespaces to find the desired object ok, so its almost like forth? it's concatenative, yes beyond that, there's not a lot of resemblance Well, that's what I meant. ok I had thought you were trying to a tree-like syntax though. i was... but it turned out that the semantics don't need it like i said, the "("s turned out to be totally redundant i think this language isn't really best suited for text-representation probably some sort of visual metaphor would help in reading and writing code what does myObject x refer to? it refers to the namespace accessed by "x" within the myObject namespace hmm ok * water/#tunes ponders on a related issue so foo bar [some operation] .. baz [ some other operation ] bar in foo namespace, some operation, baz in foo namespace, some other operation yep ok, that makes a lot more sense than what I first thought it was. ok 11:00am it's just odd that in trying to strip down the syntax, i turned a language with explicit cons cells to one with implicit cons cells for syntax ult: just to know for the tutorial, what did you first think that the slate syntax meant? 11:10am heh I was showering water: Well, the myObject x: 4 looked like you were cloning myObject into x, and sending x the message '4', but the extra period confoozed me. ug theres a disgusting thought hehe ult neked :P i440r: The girlies don't think so... sure... sure... i believe you :P hm 11:30am ok thanks is there unlimited namespace nesting in slate? yes of course hmm what are the implicit cons cells for then? (object message) pairs iow what "." operates on hmm -:- SignOff coreyr: #TUNES ([x]chat) 11:40am -:- SignOff eihrul: #TUNES ([x]chat) gotta love the xemacs source function declared noreturn does return. ult: ouch. How come? 12:00pm Fare: It's just lame code. Stuff illegal according to ANSI standard all over the place. Fare: It doesn't look harmful, just sloppy. /* This highly dubious kludge ... shut up Jamie, I'm tired of your slagging. */ 12:10pm -:- morton [morton@AC90781F.ipt.aol.com] has joined #tunes -:- SignOff morton: #TUNES (Leaving) -:- hcf [nef@207-172-225-163.s163.tnt1.pld.me.dialup.rcn.com] has joined #tunes -:- SignOff ult: #TUNES (Leaving) re who r u re'ing? u u dont seem to use re so it gets confusing ic slate being concatenative in syntax is pretty wierd if i renamed "..", do you think it would help? it looks too much like two "."s concatenative means? spaceless? it means like forth * Fare/#Tunes is back from 3053 you place words side-by-side instead of using grouping operators such as the parentheses of lisp 12:40pm at least now the syntax really works -:- water has changed the topic on channel #tunes to: TUNES, Free Reflective Computing System: http://www.tunes.org/ || Slate Programming Language 12:50pm hm water: hows the documenting going? working on it... there's a lot to change and fix any suggestions for ".."? -:- NetSplit: zsoldos.openprojects.net split from hogan.openprojects.net [12:58pm] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [zsoldos.openprojects.net] 01:00pm hmm -:- Netjoined: zsoldos.openprojects.net hogan.openprojects.net -:- smoke [smoke@15dyn238.delft.casema.net] has joined #tunes A X going into A's X then X .. to get back into A, right? yep can it just be .. w/o the X part? but "." does a similar thing oh the X part isn't needed "a x" puts you in x once you're there, typing ".." puts you back in a 01:10pm if ur in A, does plain X move u into X? yep that's the effect of concatenative syntax... every expression extends into the next water: is it X having a link to A, or is it the compilation context remembering the upper lexical scope? upper lexical scope? no, there's no scoping going on you can achieve the same thing by inheritance so X can be only pointed to by one upper context? yes... X is actually the link itself brb the only other way to get at it is by cloning unfortunately, cloning can get out of hand, in terms of resolving object identity in the way the programmer wants mostly because we have mutation going on in various spots 01:20pm water: given A X moves u into X, whats does X A do? here's the reason for the syntax: you always start in a namespace... X isnt accessable w/o going thru A n/m every name entered is looked up in the current namespace if the name is there, it gets followed into the namespace it refers to then the next name gets parsed, etc does that help explain? * water/#tunes needs to make some diagrams of the namespace system idea i /think/ i got it namespaces are nodes of a graph, names are directed edges between the nodes the lookup process makes a path to the node desired from the current one evaluation includes a back-tracking process (usually) how do normal graphs handle the .. issue? syntax wise for now, what i'm considering is that every expression maintains the path of lookup via a stack ".." involves putting another name onto the stack like the usual names do $CWD and $OLDCWD? ;) it just happens to backtrack without the evaluator doing it 01:30pm uh something like that, except ".." is in userland in other words, not part of the evaluator (or meta-object system) the pliant guys will publish 40-bit restricted crypto on their site. good for them of course, just changing one line will give you as much crypto as you want even better and since pliant is mostly source, no static binary, well, ... water: how does one get to the root? either by entering "." multiple times, or by ".." multiple times but they do subtly different things of course but thats relative aint it? -:- eihrul [lee@usr5-ppp67.lvdi.net] has joined #tunes relative to what? to ur current space right you can always make new links by cloning root and placing the clone in the current namespace but things like that have to be done carefully in one's homedir, `cd ../..` goes to root (usually), do u have a equiv to `cd /`? to get anywhere? to get to the root w/o using the relativeness of .. it can be done, but i'd rather keep it in meta-level, not userland having access to root everywhere for now is not a good idea until i develop the meta-system to handle cross-module security because userland security right now is entirely based on each message-send which means security is based on single links only got an equiv to `cd -`? what does that do? access to root everywhere is evil. goes to previous working dir although dynamically bound stuff is good yes i have that "." cd ~/1/2 ; cd ~/3/4 ; cd - goes to ~/1/2 well, actually, access to root can be a security feature for some components but if you don't want evaluations, you have to back out of your work first Fare: i know, i'm dealing with it like, a component that demands access to the "real" console (SAK) 01:40pm Fare: besides, this is the root *namespace* not root *user* water: same difference that's what you think or rather, users are special cases of namespaces. eihrul: you there? eihrul: if we replace ".." with some other symbol, we can allow multiple "."s to be typed as a single symbol which would ease coding by a bit how about / instead of .. ? hm or << like rewind ;) any single symbol would be good.... picking one that's intuitive would be the best maybe * hcf/#tunes is liking << the easier it is to read the better yes it makes more sense than anything i've considered so far 01:50pm does anyone have other ideas? not that i don't like <<, but i want to make sure we pick something really good << seemingly denotes more direction than .. does yes and it's very visible damn, almost everything related to syntax has to get scrapped bbiaf if theres no need to refer directly to the current space, then << can easily be < making multiple <'s more readable 02:00pm -:- coreyr [coreyr@net255ip95.parklink.com] has joined #tunes yeah 02:20pm what now? hm? hcf: 2nd star to the right huh? nm. i'm still re-arranging the tutorial anyway, it took about 8 years to make smalltalk a mature language, during which time its syntax and libraries changed quite a bit, so don't complain about development speed of Tunes HLL crap 02:30pm complaining i'm not 02:40pm -:- SignOff smklsmkl: #TUNES (back tomorrow) abi: omega is an open source implementation of M-Technology (MUMPS) at http://home.clara.net/finch/ ...but omega is a self-like language with static typing at http://infosoft.soft.uni-linz.ac.at/Info/Omega.html... abi: omega is also an open source implementation of M-Technology (MUMPS) at http://home.clara.net/finch/ okay, hcf. what is that, exactly? dunno, just saw it announced on fm its probly crap 03:30pm bbl -:- SignOff hcf: #TUNES (Leaving) -:- SignOff water: #TUNES (The Tao went that-a-way!) 03:40pm -:- tcn [Tom@cci-209150250063.clarityconnect.net] has joined #tunes -:- water [water@tnt-10-136.tscnet.net] has joined #tunes re all brb (again) 04:10pm -:- sig_9_4u [amiranda@208.35.215.250] has joined #tunes -:- sig_9_4u [amiranda@208.35.215.250] has left #tunes [] -:- tcn [Tom@cci-209150250063.clarityconnect.net] has left #tunes [] -:- morton [morton@AC94C256.ipt.aol.com] has joined #TuNeS hi morton hi mr. rice :P hmm... i'd better get back to the AOL chatrooms please don't use that name private room 'theology' awaits heh have fun water: want to discuss philosphical matters? sure. but not on this channel care to make a new one? 04:30pm goin to be away for next 30 min. ok 04:40pm back. water: /join #philosophes if u want to 05:00pm -:- hcf [nef@207-172-225-204.s204.tnt1.pld.me.dialup.rcn.com] has joined #tunes what does "hcf" stand for? halt and catch fire, highest common factor, and a bunch of other things halt and catch fire?? abi: foldoc for hcf hcf may be sought in foldoc at http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?query=hcf bbl -:- SignOff water: #TUNES (The Tao went that-a-way!) 05:10pm -:- water [water@tnt-10-136.tscnet.net] has joined #tunes -:- billh [billh@cx739861-a.dt1.sdca.home.com] has joined #tunes hi bill forget it, i need to get out of the house cya -:- SignOff water: #TUNES (The Tao went that-a-way!) -:- lmaxson [lmaxson@adsl-63-194-24-207.dsl.lsan03.pacbell.net] has joined #tunes hi dude lmaxson: changed your ideas about SL/I? 05:30pm -:- ult [ult@user-38lcdpn.dialup.mindspring.com] has joined #Tunes so you're not going to talk at all now? hahahahahahahaha morton your a lamer. wtf do you keep saying that? Why not? ult: someone had to fill the void left by atg hcf :) morton, no, just doing what I was asked to do: submit a description of the language. Sorry for the slow response. I was on another channel. I have been reading the material on slate. I think SL/I will hold up very well indeed. 05:40pm If you prefer, I will return to passive mode. -:- lmaxson [lmaxson@adsl-63-194-24-207.dsl.lsan03.pacbell.net] has left #tunes [] 05:50pm -:- SignOff ult: #TUNES (Read error to ult[user-38lcdpn.dialup.mindspring.com]: Connection reset by peer) -:- SignOff morton: #TUNES (.) -:- gus [user5952@usr39-dialup22.mix1.WillowSprings.cw.net] has joined #tunes -:- gus [user5952@usr39-dialup22.mix1.WillowSprings.cw.net] has left #tunes [] -:- nate37 [nate@cx83983-d.irvn1.occa.home.com] has joined #tunes -:- ult [ult@user-38lcc8m.dialup.mindspring.com] has joined #Tunes ult look in ftp.purplecoder.com/pub/isforth 06:40pm -:- SignOff smoke: #TUNES (zzzee you tomorow) -:- SignOff billh: #TUNES (BitchX-1.0c16 by panasync) -:- SignOff hcf: #TUNES (Leaving) -:- hcf [nef@207-172-225-4.s4.tnt1.pld.me.dialup.rcn.com] has joined #tunes -:- SignOff hcf: #TUNES (Leaving) -:- SignOff nate37: #TUNES (changing servers) -:- lar1 [larman@adsl-63-204-134-1.dsl.snfc21.pacbell.net] has joined #tunes -:- nate37 [nate@cx83983-d.irvn1.occa.home.com] has joined #tunes -:- SignOff lar1: #TUNES (Leaving) -:- SignOff nate37: #TUNES (Read error: 3.1415926535 (Excessive pi)) [msg(TUNES)] newlog 2000.0610 IRC log ended Sat Jun 10 00:00:01 2000