IRC log started Sun Feb 6 00:00:01 2000 [msg(TUNES)] permlog 2000.0206 -:- SignOff hcf: #TUNES (Leaving) -:- hcf [nef@me-portland-us1003.javanet.com] has joined #tunes -:- SignOff rares: #TUNES (KVirc 1.0.0 Millennium BETA 3) -:- SignOff lar1: #TUNES (Ping timeout for lar1[dialup-209.245.133.137.SanJose1.Level3.net]) -:- lar1 [larman@1Cust57.tnt31.sfo3.da.uu.net] has joined #tunes -:- SignOff washort: #TUNES (Ping timeout for washort[d103.narrowgate.net]) -:- SignOff hcf: #TUNES (Leaving) -:- SignOff Downix: #TUNES (Downix has no reason) -:- SignOff lar1: #TUNES (Domo eregato, Mr. Roboto!) whats the best way to save save what? i have a linked list of users kinda like the client list and im trying to save it to a file it stores the correct number of users, and each user structure but it only saves the first letter of each username and password i just have it save/load using fputc/fgetc uh use fprintf () or fputs () i gotta go to sleep cya -:- SignOff eihrul: #TUNES ([x]chat) 03:00am -:- SignOff air: #TUNES (http://www.qzx.com/ :: sleep) -:- SignOff Fare: #TUNES (:Connection reset by pear) -:- Fare [fare@quatramaran.ens.fr] has joined #Tunes -:- smoke [smoke@16dyn128.delft.casema.net] has joined #tunes -:- Fufie [stig@tunnel-44-25.vpn.uib.no] has joined #tunes -:- SignOff smoke: #TUNES (Ping timeout for smoke[16dyn128.delft.casema.net]) -:- smoke [smoke@16dyn128.delft.casema.net] has joined #tunes -:- bineng [Anders@j141.ryd.student.liu.se] has joined #tunes -:- Downix [down@d-gnaps-164.ici.net] has joined #tunes -:- SignOff smoke: #TUNES (One day sheep will rule the world) -:- smoke [smoke@16dyn128.delft.casema.net] has joined #tunes -:- smoke_ [smoke@16dyn128.delft.casema.net] has joined #tunes -:- SignOff smoke_: #TUNES (Read error to smoke_[16dyn128.delft.casema.net]: EOF from client) -:- SignOff smoke: #TUNES (One day sheep will rule the world) -:- smoke [smoke@16dyn128.delft.casema.net] has joined #tunes Smoke! * Downix/#tunes grabs sonme glue, stay put! re all :) downix: did you make up a new name for the company already? Nope * Downix/#tunes is still grumbling 08:00am -:- SignOff Fufie: #TUNES (Ping timeout for Fufie[tunnel-44-25.vpn.uib.no]) do you have an idea what I'm doing now smoke? 08:10am -:- SignOff Downix: #TUNES (Ping timeout for Downix[d-gnaps-164.ici.net]) -:- Downix [down@d-gnaps-164.ici.net] has joined #tunes smoke, know what we're doing now? downix: generally yes downix: i thought of the name `New!' New! ? downix: but it's probably already taken ? probably New! yes. or just New I'll almost guarantee it's taken, but let's see is `See' taken also? :) yes it is 08:20am where do you check, btw? federal trademark commission database url? always best to start there, then look into network solutions oh sure, I close netscape THEN you ask, hold on trademarks.uspto.gov :))) wow. all my ideas are taken :) hehe it's ok, so are all of mine seems like you'd have to settle for some weird word like `baniemoe' (for THAT's not taken yet :) what the heck is a bainemoe? A 3 Stooge with bad breath? hm. baniemoe is the fictive title we once made up for a fake freshmeat.net entry, to see if it got accepted there are SO many weird titles given to useless programs, we thought we could sneak it in. hehe don't think it'll work We have an adertising campaign even worked out, but we need a name for the company the product is Eddas, but no company name for it 08:30am how did you come up with Eddas? Eddas is a collection of norse myths. The word means, litterally, "All that is, was and will be" -:- SignOff smkl: #TUNES (My damn controlling terminal disappeared!) so we made an anacronym for it, "Eddas Doesn't Do Anything Stupidly" oh dear, no :) hm. well probably one of the first corporate recursive anacronyms the first thing that comes to mind (and checked that it didn't exist) is `Sagas' 8) Sagas? reflective word also :) sagS sagaS even what is it? Sagas BTW is open a scandinavian legend .. A Scandinavian legend, or heroic or mythic tradition, among the Norsemen and kindred people; a northern European popular historical or religious tale of olden time. * Downix/#tunes nods it has little to do with your business plan.. the only connection i could think of is with long-term research, instead of hyped fast work let's see if the domain name is free but i don't know if that's a -key- feature of your company -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes it sounds nice :) it works tho hehe domain name is not availible aaaaah that's too bad let's see if it is owned by a cyber squatter there's no www.sagas.com yes there is, registered let's see who owns it unnamed person in Finland 08:40am ah too bad know anyone that speaks finnish? smkl? but i don't know him :) well, it looks like a cybersquatter so I'll ask 08:50am -:- SignOff Downix: #TUNES (Read error to Downix[d-gnaps-164.ici.net]: EOF from client) -:- ult [noone@user-38lcn5t.dialup.mindspring.com] has joined #Tunes -:- hcf [nef@me-portland-us214.javanet.com] has joined #tunes -:- Downix [down@d-gnaps-265.ici.net] has joined #tunes -:- SignOff smoke: #TUNES (bug in alsa) -:- smoke [smoke@16dyn128.delft.casema.net] has joined #tunes -:- Fufie [stig@tunnel-44-23.vpn.uib.no] has joined #tunes hi fufie hi sup? hullo all -:- SignOff thomas_: #TUNES (Ping timeout for thomas_[193.217.63.152]) 10:40am -:- eihrul [lee@usr5-ppp102.lvdi.net] has joined #tunes -:- thomas_ [thomas@193.217.63.152] has joined #tunes -:- washort [washort@d123.narrowgate.net] has joined #tunes -:- SignOff ult: #TUNES (Read error to ult[user-38lcn5t.dialup.mindspring.com]: Connection reset by peer) -:- lar1 [larman@dialup-209.244.106.35.SanJose1.Level3.net] has joined #tunes -:- water [water@tnt-9-138.tscnet.net] has joined #tunes hey! (full house) Hey, water!! last night was a well-timed good time :) hoy water hey hcf hi 11:40am eih: you here too? yes oh good there's a lot of things i want to work on, but i'm not sure where's appropriate to start (for slate) water: what r the current things to work on? just to start, i'll upload some minor changes to the semantics page hcf: heh. lots for example, i need a definite way of handling data itself sure, i've stated that message-passing wraps around access/update in self, primitives (bytecodes) activate code that handles this ok, i just uploaded the semantics page that i'm currently working with also, it seems (interestingly) that data objects are automatically activation records any thoughts so far? well, they're not... if you wish them to inherit any functionality then you can't overload the parent slot with this dual purpose unless you ensure that the lowest level activation record inherits functionality from an activation record prototype (if its even needed :>) 11:50am hm actually, reading through the self manual ok, so they'd be activation records that couldn't be nested they use a separate link to establish inheritance of scope yes from the parent* link self objects can have multipple parents parents just happen to be shared part-objects in self icuc, http://javalab.informatik.uni-bonn.de/research/darwin/delegation_eng.html ooh eih: so do you think the complications of multiple parents are worth the generality or no? well, it's not a question of multiple parents necessarily... i was planning on having some mechanism allow the same to be done by having each part-object inherit the lookup behavior is the same, but it's used to a different end k so it's not necessarily involving multiple inheritance ok, s/inheritance/delegation water: How about a 'links' page where you can collect lots of links to related stuff? It seems to me that you buid alot on others work, which one then needs to know about. shrug, call it what you will... but it my conceptual model of it is the same :) s/it my/my bin: yeah, i should get to that. i'll start putting it together great 12:00pm * bineng/#tunes is away -:- SignOff lar1: #TUNES (Ping timeout for lar1[dialup-209.244.106.35.SanJose1.Level3.net]) hm delegation vs consultation 'consultation'? check out the link hcf pointed out if i want to program in anything slate-like (but available for practical testing), what language(s) would i best look at? hm self :) or should i just sit back and wait :) it runs on macs, if that helps water: just seems a minor method mop change... to add 'consultation' eih: yes :) 12:10pm if anyone actually wanted it at all :) but we haven't specified Top very well yet atleast, i don't see how its more useful than delegation for atleast 'inheritance' well, it could model a problem better than delegation could in certain settings i.e. better simulation and there's nothing preventing one from adding it if they want it or us providing some mops implementing it :) yep but machanisms like that should be part of the stdlib -:- air [brand@p0wer.qzx.com] has joined #tunes specifying the stdlib might be harder than the language itself, however yeah, because we'll be programming in a language model that hasn't really existed before this is definitely the *last* language i ever work on :) ps.zip... that's original i've seen .ps.bz2 in a few places yes, but ps.zip is violating of something.... 12:20pm s/violating/a violation ahem slate :) eh, i'm waiting for a paper to download ok... this is a first the paper is UPSIDE DOWN lol 12:30pm water: "root" and "top" r the same thing right? nope oh top happens to be the language's primitive behavioral meta-object hm. i'll list all the stuff i know so far on the semantics page -:- ult [noone@user-38lcn5c.dialup.mindspring.com] has joined #Tunes 12:40pm water: hmm, consultation looks like it could be useful for providing different interfaces to the same object... or "roles" as the paper terms them right which is what part-objects will be used for 12:50pm hm eihrul: how do i read a string with spaces from a file? well, firstly, you need a delimter... commonly '\n' in which case fgets () will suffice so fscanf wont work? not really crap 01:10pm the code is so much cleaner and smaller with fscanf uhh fgets doesnt say anything about a delimiter yes it does read ckiseky ah it stops at newline er closely off-by-one-key error i have multiple strings on one line each starting with a = one-key eh? :) so worst you can do is fgetc () until you hit a '=' i will just have to settle for username/passwords that dont contain spaces then cuz im not going to the trouble of doing that heh sounds like someone's using a lame language :) uh, it's not hard... i know its not hard but i just dont wanna do it right now dude you already have code to do it :P bfe, string_read () ya i know damn, where'd core disappear to? car accident 01:20pm uh, seriously? uh, no :) well, it's plausable... it's been a month email him i have! hmm 22 days ago did u email him multiple times? -:- SignOff hcf: #TUNES (Ping timeout for hcf[me-portland-us214.javanet.com]) nothing says "respond" like 1000 identical emails in yer inbox :) nothing says 'asshole' like a 1000-email mail bomb hmm heh it says "justifiable homicide" to me it might be a mail bomb to us but remember core has an OC100000 connection sure, with 30 day lag times... maybe he missed yer email if u accidentally click too many times while deleting an email u just read u might nuke an unread email 01:30pm if i do a, #define name(x), how do i use the x in the define? you just use it... air: you can use ##x to append it to variables, or just `x' to substitute or #x ro stringify thanks 01:40pm eih: can you think of any reason why behavioral meta-objects should not all descend from Top? * eihrul/#tunes ponders. descend along the meta-object hierarchy or inheritance hierarchy? inheritance hm i don't know if inheriting from top is useful that (allowing any bmo) could allow for some really weird (and/or cool) stuff unless it provides any functionality for implementing mo's above and beyond lookup-apply it does, though but mostly i see mo's being meta'd by Top, not parent'd i mean, any time you clone and modify Top, the new bmo inherits from Top that's how you get other-than-default meta-behavior i suppose Top's 'meta' should be immutable yeah it'd be disastrous otherwise :) hm lest ye reinstate unending meta-regression again.... actually it wouldn't because a clone of Top would just refer to Top for it's un-implemented protocol otoh, if you modified those messages (like lookup-apply) then it would ok you're right 01:50pm say good bye to "default object format" under semantics i never said hello heh if color1 is a structure of ints cant i do this: tmp->color1={1,2,3}; 02:00pm no... { ... } is an initializer list and hence, can only be used to initialize an array or structure during its declaration... hm... basic language policy: "really important stuff" should always be immutable another thought: where should the mutability / reference-handling protocol go? maybe it should go in Root, but otoh a separate Reference or Slot object would be nice 02:10pm eih: any thoughts? well, mking slot objects could potentially complicate things... they'd just be reifiers hm which means that Root definitely has to handle mutability well, you can provide different versions of Root :) hm note: i just realized that applyTo_withArgs_withCont could/should be drastically simplified well, continuations complicate things a bit... and the withArgs part as well 02:20pm the args part is just binding the slots of the method('s clone) * eihrul/#tunes ponders a way of getting rid of irix on his indigo2. how the hell'd you get an indigo? used it's been a while since i had a used workstation i got it for playing around with language development "playing around with language development"? compilers :) for whom? which lisp do you run on the indigo? (irix was nice as Un*ces go) i'm still trying to get rid of irix :) i just got it irix is ok if you got the native compiler as well i don't, unfortunately IRIX is never ok! -:- SignOff ult: #TUNES (Leaving) you have no compiler? and thus begins my problem * eihrul/#tunes nods. augh and the compiler costs $2000? expensive thing yes... so i'm thinking sgi-linux... I think sgi ships freeware cds with gcc at leasts, but I can't remember if you need the development system to get the necessary header files because none of the *bsds seem to support it * Fufie/#tunes liked irix but he had all cds he wanted when he used irix yes a pile of support software for an incomplete product definitely masks the usual deficiencies but with the support software I prefer irix over other commercial Unix-systems i don't doubt it slowaris is clunky to develop on digital unix was a pain old sun4 was nice to develop on.. most stuff worked on sun4 hp sux 02:30pm :) anyway i believe we were discussing mutability of references and coming up with a good protocol for handling this issue -:- SignOff bineng: #TUNES (bye <k!14>) you guys heard of the Vapour project? http://ftp.rook.com.au/ yep -:- SignOff smoke: #TUNES (z) water: going to go buy a network card so i can get rid of irix, bbl ok 02:40pm fufie: do macros apply well to clos? umm.. what do you mean? are they useful? yes within clos? most of CLOS is done with macros. :) remember that clos is written with cl macros, functions and variables well sure hm even within clos yes.. I use macros heavily to define various methods and generate classes ok s/clos is written/clos can be written/ there are a few native implementations of clos 02:50pm AMOP which you should read if you plan on doing _anything_ related to meta-objects and meta-object protocols is basically an implementation of CLOS AMOP rocks. =) yes even though i didn't understand half of it lol the half that i *DID* understand was really cool though :) well i'm pretty sure i've got most of the ideas i liked out of amop lisp is a language one grows into.. it is very seldom one gets or understands a heavy lisp book on first attempt (I think I needed two attempts on AMOP and I might need a third :-) "If you give a programmer Fortran, he's got Fortran. If you give a programmer Lisp, he has any number of languages." water: umm.. to get amop you must also understand the implementation.. that's a very important half.. i know unfortunately, the last time i read amop was in college when i didn't understand very much and it wasn't my copy your local library should have it yeah, right seriously, they do here at least right next to a major cs lab, i'm sure yes exactly actually, i could run over to uwash any university library should have a copy *should* :) yes.. normative sentences are good :) normative sentences should not be uttered. heh would be pretty quiet then :) declarative sentences are false how goes it, fare? 03:00pm badly I'm such a lazy bum heh sorry have you had the presentation or is it this week? haven't done anything worthwhile in years did it how did it fare? I have slides in french, if you like my french is poor unfortunately, I know just enough french to understand english literature :) well, the listeners listened, and were interested; the leaders were not convinced. and the hackers were not moved but they listened with respect, at least what presentation was this? the CAML guys don't respect, on the other hand; but that's as usual a presentation on a reflective execution framework how about Ian and the vm-guys? aka the TUNES LLL oh Ian was vaguely interested, but he what he wants is practical stuff. all in all, I think they all felt there was worth in it, but didn't relate exactly to what they were doing so, any ideas on how to proceed now? the leader, Bertil Folliot, would still wonder why being reflective was better than just being meta Ian? Ian Piumarta? yes nifty. =) Ian explained to him that being fully reflective was easy if you could be meta but that still wouldn't do. hm what does Bertil lead? a lab at lip6, which leads the VVM work see around www.lip6.fr see also around www-sor.inria.fr ok 03:10pm -:- ree [js@twisted.goodnet.com] has joined #tunes they were made aware of the issues of reflection awareness is the first step umm.. how long has the tunes project been around? 95? under other names, 13 years four score, .... decades ago under the TUNES name, 5 years but no implementation yet? ree: four score? * Fare/#Tunes hides what came before moose (if any)? heh water: there was OSL osl? my project of an "object&stack language", inspired by the HP28S Fufie: the official strategy is to hack from the bottom up, as Ian does OSL was not reflective, except at the very end at that time, I was trying to understand the concepts behind "OO" until I found that there were none haha true well, it wasn't invented by computer scientists :) down in 1991, I craved for C++ templates which means there are no computing concepts in oo yuck 03:20pm water: that could definitely be argued. Doesn't mean it's not convenient. =) I didn't know LISP, except for its name and repute for lots of insipid and silly parentheses washort: you don't need to convince me (slate-hyper and squeak-hyper that i am) water: haha =) my mom's G3 is the slowest computer I know -:- TheBlueWizard [TheBlueWiz@pm31-37.chantilly.pressroom.com] has joined #tunes -:- TheBlueWizard [TheBlueWiz@pm31-37.chantilly.pressroom.com] has left #tunes [] hm. hello blue wiz i wish i had that problem water: back washort: IIUC, the reason is, it does run stuff in m68k emulation (even w/o any non-native program; some system stuff is m68k), but the m68k emulator loop doesn't fit the primary cache, and it ain't got a secondary cache. i thought os9 was all-native result: the machine often feels slower than my mom's previous 68030/25 powerbook eih: so how would you like to handle reference-mutability? water: os9? what? where? mac os 9 sorry :P oh. heh :) os9 is native 6809 ahem. macos v9 -:- ult [noone@user-37kba0g.dialup.mindspring.com] has joined #Tunes water: well, slot objects are the most natural way to go about it (and not even as just reifiers) Why? eih: explain that's mock ass to me 8.1 whatever water: well, slots have both a name and a value (and perhaps some other internal attributes) its just that most of these reside in a map water: what do you call reference-mutability? but conceptually, slots are whole objects with these fields yes fare, what other projects besides tunes have you done? Fare: in slate? if you don't mind my asking ree: depends on 'done' and 'project' Fufie: seen Ian's ccg and rvm? 03:30pm fare, the general usage of those words Fufie: apart from their being C++, they're the kind of thing I'd like eih: but slots are also like pointers to independent objects fare: yes, I have barely had a look at them and they seem to be interesting examples and possibly startin points ree: well, if you mean vaporware, all I have done has evolved into Tunes. -:- SignOff Downix: #TUNES (Ping timeout for Downix[d-gnaps-265.ici.net]) If you mean other hacks, I'm a very petty hacker -:- Downix [down@d-gnaps-68.ici.net] has joined #tunes I began "cracking" games on the Apple2, adding infinte lives and suches water: slots are an object containing slots :) my first real program was a labyrinth solver in 8086 asm eih: yeah, that's how they're reified but I never managed the UI in asm; had to write it in C, some time later I once wrote a B->Coq translator for B (a Z dialect) statements into Coq water: yes, but they contain *more* than one slot... ahh, ok water: both a name and possible attributes (as determined by the implementation) yeah, was just curious on your past programming experience I wrote a whole gob of shell scripts, starting with lpr2 eih: sure, i don't disagree there, but what do you have in mind? a program that writes postscript programs that modify a postscript document to select pages -:- SignOff ult: #TUNES (Ping timeout for ult[user-37kba0g.dialup.mindspring.com]) also that vncode perl script to transcode between vietnamese encodings water: well, its all in how the mo interprets those attributes... one of my earlier vaporware was a vietnamese text editor in 8086 asm; but by the time I found the necessary docs on the PC hardware, I decided that PIC programming and CGA display were much too horrid, and foud that someone already wrote a vn text editor eih: and? zero water: and what... * water/#tunes whacks abi with a Burroughs adding machine my, the contrast between the Apple II's elegance and the PC's collection of kludges is frightening well, that's a pretty vague statement * water/#tunes nods to Fare water: an immutable attribute :P sigh ree: apart from that, I didn't write that much programs, except small ones. ok obviously i just have to write something up and let you critique it water: wait... refernece mutability within the framework of nigh immutability? yes, as long as nigh=high yeah fare same here until recently water: ok, we had a misunderstanding... 03:40pm the whole issue i have is not how to switch mutability on a reference syntactically, but how to implement it, including issues like backtracking etc well, mutability atop immutability or in cooperation... so the user has control over when changing an object ceases to be changing that object and becomes creating new objects I admit I'm more of an ideologist than a hacker i am definitely no hacker to my regret eih: any thoughts on how to proceed for the semantics page? water: well, ala self, you could have different assignment primitives... (though that would suck in itself) semantics page? http://www.tunes.org/~water/slate-semantics.html well, bytecodes suck, but assignment-like primitives will still be necessary sure one version of the assignment primitive could modify the slot... whereas another would clone... although with ML-like references, they can be first-class functions rather than special operators sure (see X Y ! vs X TO Y in FORTH) water: and allows you to change the mutability on an individual slot by changing its individual assignment slot fare: hm eih: ok, but what of backtracking? aka the history of the object? right well, didn't we say something before about treating the object as a stream head? yes the problem i see is when you have several references to the same object hum. I distinguish between objects and projects and between projects and their reified stream of objective values 03:50pm hm basically we're looking at name-clashes if 2 objects refer to the same object, one mutably and the other immutably, then the immutable reference either tracks the head of the stream or stays fixed on one "version" it's not clear which is meant by immutable in this case, afaik perhaps references as first-class (higher-order) object-functions would help eih: any thoughts? anyone still listening? :) was getting food I am oh Dx: awfully quite :) er... quiet water: well... does an immutable slot mean the whole tree of objects thereof must be immutable as well? eih: exactly my point... it's ambiguous now that i consider it, accessors as hof's would fit nicely into the slate model hof? higher-order function 04:00pm * eihrul/#tunes labels water the undisputed acronym champion. heh well, i'm passing around too many cs terms no, you're just passing them around as acronyms... exactly, which is easier :) so, you have one immutable reference which passes around the entire "tree" of objects, and another which passes one value in that tree the problem is when they have the same name well, if the objects composing the tree are all immutable then there's no need to copy the entire tree sure but this gets nasty if you mix mutable objects with immutable objects you just pass around a reference to the tree :) it's okay for a mutable reference to refer to an immutable object, but nasty in the converse... and yes, it'll get nasty if we don't handle it properly well, hrmmm at some point... it switches to immutable what switches? it has to originally start out as mutable, or you have no initial reference so at the time of cross-over, you could at the very worst take a snapshot :) ahem immutable /= constant why start out as mutable? does not immutable mean unchanging? immutable means reversible as a special case, it means constant i.e. you stop the constant from exploring that direction of state-change s/constant/context 04:10pm so really, all objects in slate are immutable, but the references aren't if an object is a structure of references, then how can it be immutable? :) heh hm every time you update the reference *above the language level*, you update the object's state, but not otherwise and the object still goes through a tree of reversible values make sense? the first sentence could use clarification... 'update' ok i guess what i mean is re-assigning the reference well, making an immutable object also responsible for the immutability of all objects it references seems somewhat complex the object isn't quite tracking the other objects, just what happens to its references to those objects but, for it to be truly reversable because the objects state is composed of the object it references and if the state of those particular objects change doesn't its state change as well? hm i guess not maybe the question is whether it *should* change 04:20pm so what are you intending here... immutability of the system of objects that represents the given object... or just the object? not sure what you mean by "the sysytem of..." system, even :) well, an object is a the head of a tree of other objects... the system probably being all objects within this tree that interact.... or possibly the whole tree (and can determine the behavior of the objects within it) this is a bit indirect. i'm not sure what exactly you're asking well, what exactly do you want out of immutability!? :) that's what i'm trying to ask... how about if i describe the implementation ok, fine enough i want histories of objects to be kept in memory, along with / substituted by the message history that caused those changes or better yet start coding it =) water: okay... so that's just immutability of the isolated object... well, i haven't discussed the interactive behavior of this tree some objects will have read-only access to one value in this tree others will have read-only access to the head(s?) of the tree yet others will have read-write control over a head of the tree but some of those that have write access will be modified to have read-only access, so that they stick with one value or keep recieving the updates 04:30pm s/recieving/receiving * eihrul/#tunes senses a capability system brewing... keep in mind that the whole system will be a tree of this kind, starting with the primitive objects sorry, i don't know that buzzword does eros ring a bell? :) yuck, low level stuff a reference with added authority attributes that determines to what extent the reference can be used well, in slate, references are messages, right? :) heh what's wrong with eros? =) well, if a reference held within a slot is a message... ree: i re-iterate: ewwww.... low-level stuff :) that leads to interesting problems :) what type of low level stuff? ree: c,asm etc you can use any language water: so i refer to a reference as a 'direct link' to an object... how do you use it? :) ree: no, implementation language but I was just curious what you meant by low level, concepts or what? well, it can be implemented in any language eihrul: as an accessor! :) ree: but it isn't ugh, a slot doesn't hold a direct link to an object? heh I can't believe someone hates low level, but anyway eihrul: yes it does, but it's still a message water: but into what? a 'memory space'? a name-space, afaik but rmm, what is that name-space? bleh... all eros sites are dead a set of names abstracted from implementation should be other information on capability systems www.agorics.com/KeyKos so, sure, a memory space ok, so you just want to abstract the notion of what memory is sure ree: that's a very old link I know but it is still a great reference water: though, that does help when considering things like small integers eihrul: how is that? 04:40pm well, they can be seen to be object residing in another name-space... or atleast that's the way they're *implemented* which actually has nothing to do with how they're used or seen in the system, but oh well :) * water/#tunes considers renaming 'Slate Language Project' to 'Slate Language Object' :) hm ok but things like tagged pointers can be seen as references into different objects :) each specific tag comprising a name-space not sure i grok tags ok i think i see what you mean so i suppose we should reify the object value-graph, too -:- SignOff eihrul: #TUNES (Ping timeout for eihrul[usr5-ppp102.lvdi.net]) doh! wow. anyone have comments on whether i should name the project as an object? :) any objections? -:- eihrul [lee@usr5-ppp199.lvdi.net] has joined #tunes grrr * eihrul/#tunes kicks his isp. what was the last channel thing you read? so i suppose we should reify the object value-graph, too ok, then we're up-to-date 04:50pm i was about to say that this idea of a reified object representing the tree gave me an idea of how to implement slate over smalltalk * eihrul/#tunes ponders the ability to alter the mop itself... randomish thought you mean the consequences of it? :) hell, both the meta-meta-behavior.... eih: any objections to me changing this project into an object? :) an immutable one? hm well, object is fine :) no i don't care for version-history just yet k "In Slate, *everything* is an object." heh ok so are we on the same page as for immutability? i guess so i was just regarding reversability and immutability as separate is all hell, it seems that *every* reference is to the same object in some way but anyway -:- SignOff washort: #TUNES (Ping timeout for washort[d123.narrowgate.net]) this isn't enough, i still need to know what primitives are needed and what protocols have to be implemented 05:00pm any ideas? -:- lar1 [larman@sdn-ar-014casfrMP085.dialsprint.net] has joined #tunes Hey hey lar water: well, just working from a minimal set of self/smalltalk primitives and translating them into slate couldn't hurt... hm water: Does Ambient Electronica = Techno? ack! no, techno is a subset of electronica Whats the difference? ambient also happens to be a kind of electronica-jazz combo techno is about dance music only, and a very specific kind Ah Then I must have heard techno where at? * lar1/#tunes heard somthing electric on the radio today 90.5 KSJS, a local collage station they probably played electronica techno usually only gets played at discos What kind of music is "Crystal Method" ah yes (That wasn't what they were playing I don't think... Crystal Method that is) i'd say they're mostly drum&bass Hmm Well whatever was on the radio was pretty cool what did it sound like? remember any lyrics? No lyrics oh really? cool Just like... electric, synthesised well anyway hm... you think slate would require the 'self' keyword? Is that akin to the 'this' keyword in Java? 05:10pm yes I don't like that keyword... it complicates things IMHO how so? * water/#tunes stops hold on, any java user can't speak about simplicity I don't remember, its been a while since I used Java I just remember I didn't like Java, and that the 'this' keyword confused the hell out of me on a regular basis why did it confuse? I don't remember This was 3, mabye 4 years back oh geez thanks for the anecdote Uhh, yeah... eih: so what of the 'self' keyword? eh? in another window :) oh well, if you look in self reference manual that self itself is just a slot in a method hm oh great, circular references in slate something about that sounds wrong well... they're established at method invocation time not before what page in the manual? hold, lemme find -:- hcf [nef@me-portland-us321.javanet.com] has joined #tunes 05:20pm hey hcf hoy page 5 -:- ree [js@twisted.goodnet.com] has left #tunes [] hm it doesn't really say much well it just explains how self is a normal input slot in the method that's the point :) hm but it's not how the keyword self is used in code well, there's that aspect of it :) what aspect is that, though? delegation since self is a parent slot any failed lookups in the method itself delegate to self hm ah ok though i don't know if i like that so much :) because it says that methods cannot have any shared parts... in a way well, slate "methods" would just use the parent slot i suppose er wait multiple parents doh, my fault :) same thing so umm, will slate need multiple parents? :) for its default mo? god i hope not somebody would eventually add them, you know... yes i know so they could make an appearance in the augmentative standard library someday 05:30pm hm. are there any glaringly unclear areas for you concerning slate? darn it, i'm still not sure where re-write fits in -:- abstrakt [abstrakt@207-172-249-210.s19.as19.anp.md.dialup.rcn.com] has joined #tunes hello abstrakt Hi eih: well? water: bmo = Behavioral Meta-Object? water: was getting food again, sorry :) hcf: yes eih: "brb" works, you know :) water: any mo non-behavioral? well... i'm lazy (like the computation) hcf: not yet, but we're considering some it's a need to know basis :) * water/#tunes wonders how much info eihrul lazily provides ok, hmmm i can't tell you how unclear slate really is to me until i try to implement it which i will :) as will i -:- SignOff lar1: #TUNES (Leaving) any questions thereof, i'll let you know though i'm trying it in smalltalk, so it'll look a lot different ok one thing about immutability: we should pay close attention to gc how so? btw, hcf, notive that the slate language project at tunes is now the slate language object at tunes so long as all objects reference there predecessor there shouldn't be a problem hm yeah, but i can see memory use going through the roof oh, well... oh well?!? normal GC will do whatever it can why s/project/object ? i don't know any way you can prevent keeping objects around that are referenced :) hcf: cooler :) paying closer attention to GC won't help there hcf: more tunes-relevant, too well, eih, imagine sorting a large collection :) water: ok, if u say so hcf: i know it sounds silly water: the best you could do is make smart decision about what objects aren't as important than others and throw them away in the event you run out of memory at the expense of the user :) well, that decision could be made by the user 05:40pm water: r u trying to denote slate's closerness to tunes then other "projects"? i mean, for instance, by making all references to an object mutable s/other/other "tunes projects"/ hcf: no, only that projects are objects, and that the slate environment will be indeed one big object water: i think i'm going to leave immutability out of version 1 though :) i just want to get the correct mop behavior down first eihrul: no problem er wait ambiguity ahoy how's that? er well, earlier you had said that an sexp was an individual object well, i'd like it to be :) so? and objects and sexps have different literal representations in syntax section... hm well, the syntax model obviously isn't well drawn-out not yet :) what's your question in particular? well i just wanted to bring that to your attention is all just popped into my mind hm why do sexp's and objects have different representations? oic just their syntax... 'literal representation' in text :) 05:50pm hm... then every sexp must be an object-instantiator it would clone root or something i'll definitely have to think this over just pray we don't need (quote) :) which reminds me i've been trying to figure that one out even smalltalk resorts to special syntax to convert strings or names into selectors slate i think just resorts to calling the bmo and feeding it the name/string hmmm... well, you need the service... for instance, the compiler translates strings into selectors :) i just realized that i don't know how self does quoting heh. yes, that's true * eihrul/#tunes needs to kill his :) habit. do you :) when you're not smiling? not quite, but i use it frivolously oh perhaps i use it to make my state of mind explicit, who knows... i sometimes find myself laughing/smiling/emoting in general in simulacra but not irl (too much programming gets one used to making things explicit) yes indeed it does hm. self doesn't seem to need quoting, afaict -:- abstrakt [abstrakt@207-172-249-210.s19.as19.anp.md.dialup.rcn.com] has left #tunes [] well, isn't #foo a form of quoting? 06:00pm -:- ult [noone@user-37kbamt.dialup.mindspring.com] has joined #Tunes 'lo yes but i don't see that anywhere in self you can treat strings directly as a message though i think so i'm trying to figure out why the difference between self and smalltalk wrt quoting exists, though oic mirrors -:- CodingHea [linuxguy@p062-61.netc.pt] has joined #tunes and since mirrors are supported by the vm, you don't need special syntax wow. we're getting a lot of quiet visitors today :) * eihrul/#tunes needs to look at mirrors again. check the progref. i think its also in the "programming as experience" paper iirc grr can't find the page again... darn it, i either have to buy a mac or wait for the intel port in order to use self what is the status of it? the intel port's roughly half-way done when did it start? about a year and a half ago, but the port to the mac accelerated it by quite a lot the problem was that the vm code used to be totally undocumented and some of the vm was written in sparc asm, so you can imagine the porting problems 06:10pm see this page http://www.linuxfan.com/~HeavenOS heh eheh what's the identifying quality of heaven os? we are still defining.... eheh ai!?! ugh.... CodingHea: picking the best features of every OS and shoving them all together does not necessarily make the system the sum of its parts :) what language are you writing the os in? when we decide to go in one way.....we think those things! the kernel which i made, was just a test! hm ok, a c++ library for making languages if in that way the system will work! ch: you know of #osdev? yes....is what I am making at the moment! yes please use it freely :) humm you want a write-up in the tunes site? what is the meanning of that?? sorry..my english words are not the best!!! :) well, we're sort of working on our own project here so -:- mibin [mibin@62.11.105.55] has joined #tunes there is some english words which I dont understant! ok can you explain what you are saying?? please use the #osdev channel to discuss Heaven, not #tunes haa...ok....thanks! :) -:- CodingHea [linuxguy@p062-61.netc.pt] has left #tunes [] no problem 06:20pm well, where were we? water: u plan on fixing #modtunes soon? hcf: no, i plan on getting slate done maybe #modtunes shouldn't exist cuz picking the slate bits outta the noise aint fun yes i know in lynx, /water take you right to it :) right to what? slate signals perhaps /nick slate the #modtunes logger and move it to #slate hm eihrul: but theres noise between the water&eihrul lines usually, i do /water little perl here, little perl there... instant noise filter its not that easy abi: HeavenOS is at http://www.linuxfan.com/~HeavenOS i already had it that way, eihrul. * hcf/#tunes shuts up, w&e back to slate i'm trying to get the low-down on mirrors currently -:- hcf has changed the topic on channel #tunes to: TUNES, Free Reflective Computing System || slate hmm, can ghostview/gv grep through ps? it'll do basic word search otherwise, pipe ps2text with grep yes, but it'd be nice if i could see what page it's on then the basic word search is all you get actually, i think the linux version does support some grep function, but i haven't used it in a while 06:30pm i really must get an external modem eihrul: u could probly make psgrep w/ perl+ps module * eihrul/#tunes ponders the very first application for the Slate environment: a postscript viewer with HelloWorld.ps lol hm. some new updates for morphic came out... looks interesting * eihrul/#tunes ponders why Slate doesn't include a really slow, but provisional interpreter of the bytecode. er Self excuse me :) actually, that's what the mac version is right now no optimizations so why does nothing like it exist for x86? well, they're working on that 06:40pm -:- Kaufmann [newbie@dial804.infolink.com.br] has joined #tunes Foo! Slate damn, that's all that comes out of my mouth these days :) how _is_ Slate going, Brian? well, we seem to have a very definite idea of what to implement, and not a lot of difficulty getting there i'm assuming eihrul will hammer out a tiny interpreter in common lisp this week will try and i'm working out some smalltalk classes to simulate slate objects cool the language spec still needs some work though which is entirely my doing hmmmm. what's the project goal? i don't think we have "goals", but we know what we want out of it (at least i do) most of it is on the web pages which is? I don't mean it like that 06:50pm oh well, i want to actually use this system, if that's what you mean I mean, is it intended to grow into a full-fledged environment, or mostly to support development of Arrow? both okay although i don't want to work on the environment part i'm going to make sure the stdlib and ui is the way i want it, then move on okay but the basic goal i have in mind is to have the simplest core library possible using the most powerful language features i can is the idea of an object properly modelled as a data structure (read: a group of key-value pairs)? hm.. sure how come? "why"? i don't think that there *is* a why, but there's a paper about implementing smalltalk in self that i think explains it perhaps because it's the most general model possible is it? I mean does the natural concept of an "object"'s "property" readily correspond to a slot in a structure? oh doesn't that necessarily constrain the way we force ourselves to think about objects when programming? no, but users don't need to work with objects as structures for instance, i think i've successfully found a way to have slate objects be sets instead of lists of slots 07:00pm how would that make a difference? well, you aren't limited by some arbitrary ordering of the structure ah besides, objects in oop are really representations, not actual concepts but that's an implementation issue. kind of I mean, when you're doing OOP, you rarely care about whether one slot comes before or after the other. Usually, there _is_ no such order, except for implementation purposes. exactly and the slate language hides that i.e. you have to impose an order to get one I mean, what does it mean to say that a Boy's "height" property "comes before" his "weight" property? nothing, of course wow. self never even implemented tail-recursion elimination but my original point was that a Boy's "height" isn't properly modeled as a slot in a data structure labeled "" huh? no, i agree with you there but slate won't have that kind of syntax at all what I'm thinking about is more similar, I guess, to object-oriented logic programming, wherein properties are relations, not slots. hm 07:10pm darn it, issl hasn't been published it was supposed to be out in december uh? "intro to substructural logics" 07:20pm which is? -:- Downix [down@d-gnaps-68.ici.net] has left #tunes [] its a book surveying all of the logics that drop many of the syntactic requirements of first-order predicate logic like linear logics, modal logics, arrow logics, dynamic logics okay 07:30pm do you see my point, re. the previous discussion? yes, but i see it as an argument about syntax, not semantics is it? i think so, yes the way I see it, it actually pervades all levels, from syntax to interface semantics to implementation semantics well, then you've never used/seen a system that uses the object-as-structure-with-slots metaphor effectively I don't think I have I mean, it depends on what you mean by "effectively" i honestly think morphic is the only system that has the potential to do this morphic _is_ nice. there you go and today it just got better (new changesets for squeak 2.8) but it doesn't satisfy me either. for a lot of things, it works quite well. But there are times when it "breaks down" (from the human interface standpoint). -:- water_ [water@tnt-10-253.tscnet.net] has joined #tunes here's an example of what I have in mind 07:40pm -:- SignOff water: #TUNES (Ping timeout for water[tnt-9-138.tscnet.net]) -:- water_ is now known as water yes? -:- SignOff mibin: #TUNES (Read error to mibin[62.11.105.55]: EOF from client) say Timmy is a Boy. Say I define 'height(Timmy) = 175 cm'. This is not just syntactic sugar; the relation has been stored in a "database" as it were, not in the height slot of the Timmy data structure. Then when I port this data to my newfangled pediatrics system, and define 'for-all Boy b, height(b) = (complicated growth equation that involves weight(b))', then when I query the system for weight(Timmy), it will apply the relations as appropriate to um. how did i just quit? In other words, since I have defined Timmy's height and the relation between Timmy's height and his weight, the system knows Timmy's weight. *** water (water@tnt-9-138.tscnet.net) Quit (Ping timeout for water[tnt-9-138.tscnet.net]) hcf: yes i know -:- mibin [mibin@62.11.105.55] has joined #tunes n/m i thought it happened twice water, see my point? no what don't you see? i don't know... i don't see anything compelling at all in what you're describing 07:50pm in a system that uses the metaphor of an object as a structure with slots, you store a piece of data representing a Measure in a slot of a Boy structure. In a system like the one I'm describing, you define a relationship between a Boy and a measure. It just seems natural. no you're wrong about objects-with-slots how so? BRB e.g. thinglab in smalltalk is a constraints compiler based on sets of equations but even in ordinary oop, you can define accessors to variables that are calculated on demand from other slot values slate uses this idea extensively back I know you can so? I don't know it just seems different :P heh I guess I'm doomed to be incoherent. well, any squeak image is a database, so there I think what I'm really going for here is a way to express the idea that no object exists except in relation to the rest of its environment by "object" I mean a computational object... I have no intention of entering the murky realm of metaphysics at this hour. well, objects-with-slots only work within particular environments well, i suppose i could answer your dissatisfaction with the re-write system idea how so? where objects' behavior can be expressed as the interaction they have as terms in rewrite equations yes -:- SignOff thomas_: #TUNES (Ping timeout for thomas_[193.217.63.152]) I was also thinking of implementing these concepts in a rewriting-based system. i'm trying to figure out how to do this properly within slate 08:00pm which would allow me to have proper arithmetic operators and such at an abstract level BRB -:- NetSplit: devlin.openprojects.net split from sterling.openprojects.net [08:00pm] -:- 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 -:- Fufie [stig@tunnel-44-23.vpn.uib.no] has joined #tunes back Jesus Christ, I hate this monotheist! :P don't drag him into this :) you learn a bit about computing, and suddenly you're the local Linux guru, who gets called upon at 2:00 AM because some-or-the-other's crappy installation doesn't work. hehe it's the same way at work, with WinNT :P -:- thomas_ [thomas@193.217.63.152] has joined #tunes *shudder* hmmm sometimes, there are actually interesting things on freshmeat.net like what? DistroLib, a library that provides abstraction for distributed programs, without being _quite_ as brain-damaged as CORBA. wow granted, it's no TUNES, but it's still interesting. 08:10pm -:- SignOff mibin: #TUNES (Read error to mibin[62.11.105.55]: EOF from client) well, I'm off. actually, moodss looks nice ok happy hacking screw hacking -:- SignOff Kaufmann: #TUNES (kathyanne gets kick'd/ as leaves fall on still waters/ she is here no more.) whoa. bochs has been ported to beos now if only it was a sparc emulator... lol maybe a mac emulator you could Self at a whopping 5 MHz... s/could/could run 08:20pm wow. freeware in beos is better than ordinary freeware by a long shot * eihrul/#tunes shudders at the thought of freeware. well, some of it's open source but honestly putting small software tools in beos using their app framework makes it infinitely more useful than in other os's 08:30pm -:- washort [washort@d116.narrowgate.net] has joined #tunes -:- mibin [mibin@62.11.105.55] has joined #tunes -:- SignOff hcf: #TUNES (Leaving) -:- hcf [nef@me-portland-us808.javanet.com] has joined #tunes eihrul: is it not possible to use "~/blah" as a filename? eihrul: to open a file -:- SignOff water: #TUNES (Leaving) air, no. ~ is not expanded by say, fopen 09:40pm that sucks 09:50pm -:- ult_ [noone@user-38lcn7j.dialup.mindspring.com] has joined #Tunes beh -:- lar1 [larman@1Cust247.tnt26.sfo3.da.uu.net] has joined #tunes Hey -:- SignOff ult: #TUNES (Ping timeout for ult[user-37kbamt.dialup.mindspring.com]) -:- mibin [mibin@62.11.105.55] has left #tunes [] 10:00pm ult_: is there anyway to unbind a socket from bash? ult_: as root no you can of course delete unix domain sockets but not tcp you could also kill the process that created the sockets -:- _ruiner_ [DIY@ppp256.wi.centurytel.net] has joined #tunes ult_: i kill my server with ctrl-c and i dont have it close the socket well and sometimes the i cant rebind the socket for several minutes the socket is closed it's just waiting for a timeout and it won't hang around for more than 60-120 seconds ya i dont wanna wait 60-120 seconds -:- rares [rares@wtrb-sh4-port205.snet.net] has joined #tunes 10:10pm -:- SignOff eihrul: #TUNES ([x]chat) -:- water [water@tnt-9-191.tscnet.net] has joined #tunes the beos rocks. now if only it were written in a hll :) hey h2o you missed eihrul by a second 10:20pm darn beos won't boot on my machine development is slow and they don't mmarket i know which is why it should be open-sourced and hll-based :) dude I'm beginning to think hardware manufacturers are going have to take their thumbs out of their asses to allow to tunes to really take off heh. how's that? well for one thing there's alot of overhead to assembly language on most platforms and I'm not one to disparage low-level work since low-level work isn't really the nightmare I used to think it was it's the chipset irq and other hardware features that make me go crazy the Amiga on the other hand, you find window management routines laid out in clean readable ASM code the average low-level work on the amiga is stil high lewvel hm perhaps 4os's code would be an interesting read 4os? Aos? it's a commercial 32-bit yada-yada os written in forth abi: 4os? somebody said 4os was a FORTH OS at http://www.itvc.com/Technology/4os.htm that would be quite interesting 10:30pm what's with abi? she's lagging you just have to address her directly (sometimes) abi: wake up silly abi? yes, lar1? 4os? 4os is a FORTH OS at http://www.itvc.com/Technology/4os.htm i think i caused some booboo cuz i asked her the same thing at the same time as rares otherwise, she's fine 10:40pm -:- SignOff ult_: #TUNES (Read error to ult_[user-38lcn7j.dialup.mindspring.com]: Connection reset by peer) -:- SignOff Fare: #TUNES (Ping timeout for Fare[quatramaran.ens.fr]) -:- SignOff air: #TUNES (http://www.qzx.com/ :: sleep) -:- SignOff _ruiner_: #TUNES (destroy what destroys you) -:- SignOff lar1: #TUNES (Leaving) -:- smoke [smoke@15dyn9.delft.casema.net] has joined #tunes hm hm what? the discussion on the mlist about combinators is pretty interesting i've got this routine running in the back of my head concerning making LLL systems within the HLL e.g. taking a set of combinator objects with a parser and a machine-description and generating tight binaries that implement it within for example slate and oh yes, in a few days i'll get a few good books on re-writing which will hopefully help me sort out this rewrite/slate integration sounds good if i can get that to work satisfactorily and implemented, i'll probably be afraid to use the language, since it will be too powerful ;) heh i see ur gonna add a news page soon yes i would really appreciate some good tools for web-site management ones where i don't have to learn yet another web language what do u /need/ to do w/ 'em? websites are hell. smoke: indeed dunno. just some automated formatting and standardized layout 11:30pm well for header(s) and/or footer(s) u can simply use SSI heh. if i decided that applicative languages were good enough for me, i could just make an extension to false and write up 2k of assembly :) what's ssi? server side include is this a linux tool? heh showing ur newbieness, how cute gee thanks ssi r directives the httpd parses but seriously if linux comes with it, then i only have to get an external modem ok theyre supported by every major httpd, esp apache so it's just an html tag? they look like html tags yes usually, they use the file extention .shtml tho w/ apache, u can chmod +x *.html and apache will handle them as .shtml i didnt mean the newbieness comment to be mean or anything, its just rare that anyone (esp me) seems to know more than u lol dude, almost anyone can beat me hands-down on low-level / web-based programming i've never even written in html 11:40pm so as i was saying ssi has things like include (for inserting html) env var access including httpd vars, like the file's last_mod which u may wanna use wow. i wondered how that was done where's the howto/man for this stuff? under httpd? in the apache docs hm w3c has some info but i think i could handle the ssi side for u well, my needs are very small list 'em and any sites/pages that do things u wanna emulate ok, site map, common footers with links to the top page, i do like the pcp design for organizing concepts, but it has a certain amount of overkill do u know about the tags? other than that, i'm not sure i care that much, since i'd rather just have the language working than the site docs pretty no well a little i'm just thinking of description and keywords 11:50pm the major use of meta tags would be for the home page thats for search engines and such ok alta takes the 1st approx 120 chars of the desc tag for use on result lists when available I can say one thing c++ may die soon :) rares: why? I think Voice and wearable computing will rock they bring back MUDs (picking up items discriminantly) and shells (at least parsing technology which means maybe LISP) hm c'mon true virtual reality not this 3-D crap you mean augmented reality, right? so maybe tunes will a free reflective reality system once tunes gets polished enough to automate virtual means produced in my book in fact let me get my terms straight virtual reality and virtual fantasy will have to be both recognized as important and separate but quite close to the same I can't wait till fools play and lose cuz they indiscriminatly picked a poisonous object let's see Quake do that! [msg(TUNES)] newlog 2000.0207 IRC log ended Mon Feb 7 00:00:03 2000