IRC log started Mon Mar 13 00:00:01 2000 [msg(TUNES)] permlog 2000.0313 -:- lar1 [lar1@1Cust198.tnt1.sfo3.da.uu.net] has left #tunes [] -:- SignOff air: #TUNES (http://www.qzx.com/ :: sleep) -:- SignOff _ruiner_: #TUNES (destroy what destroys you) -:- water [water@tnt-9-165.tscnet.net] has joined #tunes ping 03:00am pong hey foof morning so it is... 3am here * water/#tunes is reading a finely-grained review of macro-processing wrt meta-programming 03:10am url? 03:20am -:- SignOff Fare: #TUNES (Ping timeout for Fare[esmeralda.enst.fr]) -:- Fare [rideaufr@esmeralda.enst.fr] has joined #Tunes -:- SignOff Fare: #TUNES (Ping timeout for Fare[esmeralda.enst.fr]) checkresearchindex for semantic and macros 04:50am url please 05:00am -:- Fare [rideaufr@esmeralda.enst.fr] has joined #Tunes sorry napping one sec Fufie: http://citeseer.nj.nec.com/cs?profile=6118272%2C259947%2C1%2C0.25%2CDownload&rd=http%3A//www.cs.berkeley.edu/%7Emaddox/papers/msrept/xlrept.ps grr 08:10am http://www.cs.berkeley.edu/~maddox/papers/msrept/xlrept.ps thanks you only had to search ri for a bit but np water: wotsit about? not finished with it yet but it goes into macros and meta-programming you definitely wouldn't be interested ;) actually it introduces a language called xl but the intro and page 30 onwards are the interesting parts it seems to be a discussion of his perceived flaws in the lispy macro system it stems from that it seems that he presents a schemish solution, but I'll read the whole thing later at least his naming is schemish he does mention reflective scheme as well as 3-lisp yes this is an open-ended paper 08:20am btw, eihrul's decided to stop working on slate in favor of dolphin :( what is dolphin? it's some component-based os idea that he, air, rares and lar are working on i think it's a useless project, but oh well i think tcn is in on it as well, which means less efffort (than zero?) on retro as long as they find it wothwhile it is worthwhile i suppose so i seem to be the only one trying to work on the hll at all I cannot do much until there is a base to hack code on anyway why not? because I work on development environment and a hypermedia-system which both need a base on to be useful oh that's what you're good at so until there is a base I am better off developing the dev-env and the hypermedia system in CL and then later port when things are ready who decides if the code stays? a good dev-env and a networking hypermedia-system is vital (imho) for a user-friendly and interactive system yeah but "good" is highly subjective naturally which is why i mention the decision process for dealing with code once you get slate defined and sortof running it'll be fun to add slate support to the system as long as you make it a descendant of morphic, i don't care morphic? yeah the self ui 08:30am (also the hacked-together squeak experimental offshoot) there are docs on the web about it we'll see.. I won't interfere on how things look and how they feel i actually don't care about look and feel too much morphic is about putting direct-manipulation metaphors in the center and designing around that sort of like hyperprogramming in napier88 abi UFO is United Functions with Objects at http://www.cs.man.ac.uk/arch/projects/ufo.html afk 08:40am it seems like there's a really fine distinction lately between expressive powers of various languages/systems one the one hand you have macros, and on the other you have more general shape-based ideas, which are less formalized and less complete right now -:- smoke [smoke@15dyn119.delft.casema.net] has joined #tunes hey smoke i suppose i could just settle for a system that is at least as good as lisp's macros 09:40am (common)lisp macros are just great as an initial system from where you can build other systems sure but that doesn't fit into slate it's great if you're starting from lisp the problem with them is that you don't know what environment they are run in, and can't communicate or let persistent data for other metaprogramming activities * water/#tunes nods that's why i'm looking into this nebulous field of shape transformation well, it's not nebulous, just scattered i'm even considering a kind of structural meta-object 09:50am but mostly i'm thinking of being able to formalize shape have you looked at the shape project stuff? they have a rather nice category theory based notion shape transformation? abi shape hmmm... shape is at http://linus.socs.uts.edu.au/~shape/shape.html more like rewriting being able to express lambdas over structure without complicated syntax reflectively, of course, as well i suppose one immediate benefit would be to get graph-rewriting techniques for free 10:00am -:- SignOff smkl: #TUNES (bbl) -:- water_ [water@tnt-9-193.tscnet.net] has joined #tunes -:- SignOff water: #TUNES (Ping timeout for water[tnt-9-165.tscnet.net]) -:- water_ is now known as water -:- AlonzoTG [Alonzo@216-164-133-219.s219.tnt3.lnhva.md.dialup.rcn.com] has joined #tunes hi at 11:00am om * water/#tunes is reading the tunes docs again 11:10am water: tell me about how to improve them well i can definitely tell you some stuff you've heard before but as for specific items it would be good to identify what features of what languages satisfy hll desired features and how they do it even just one example per feature would help like quotienting for example i can't think of a language that does what that describes btw, i'm most likely going to post a Slate-as-TunesHLL that item-by-item addresses your writing 11:20am not that it's complete by any means of course if i can get macro-level extensibility, then i can push features out to the libraries and oh yes there is a relatively straightforward translation of the macro feature of lisp into slate, but it crosses namespaces right now, so it's not a usable notion yet oh yeah there's a problem i have with the membership relation between objects are you listening? well i'll just ramble then :) oops anyway, i'd like to know if there are any more requirements for the membership relation other than that it exists how that "cross namespaces" ? membership relation? well the macros operate on code that generates object yup is that a problem? the object is the functional expression that takes the default object and modifies it into the full one yes because each of my objects is a namespace this expression,btw, can consist of things like "add-slot" and "clone" 11:30am not sure what where the problem is. which is how you get self-like objects as opposed to purely functional ones hm btw, maybe a pure interface rather than "add-slot" can be useful. wtf is a "pure interface"? I like to keep encapsulation and statefulness orthogonal why? pure, like in "pure objects". as in bullshit because they are orthogonal features that have simple algebraic specifications yes but what are they? is there a paper on this? encapsulation is about defining (partial or total) grammars for inductive types. so? statefulness is about defining interfaces to an implicit persistent store this is way too abstract theorems get much simpler if you decouple these fuck theorems "C++ is like a swiss army knife, with all blades burnt into open position" i already can compare my slate model with cardelli's object calculus don't do the same with your system yeah i've read that get a clue dude i'm solely conceerned about the how the language works describe what you mean in some real terms in terms of things i already know and use tunes terms suck, because no one uses them except you, and only when you're talking about tunes of course, you've stopped listening once again completely rude -:- SignOff AlonzoTG: #TUNES (Ping timeout for AlonzoTG[216-164-133-219.s219.tnt3.lnhva.md.dialup.rcn.com]) hum I want to be able to declare stateless objects you could at least let people know when you have to go away ok as in labelled tuples slate can give you that 11:40am and have no feature create an implicit state least there exist a corresponding stateless feature what? "no feature"? check your grammar please are you in a bad mood? no i don't grok what you just meant I mean that there shouldn't be any builtin feature that depends on stateful objects least there is a corresponding pure feature or maybe there can be purifying and statifying metaprograms/combinators ok slate provides that as well i don't know about the last clause there since i don't really know what you mean hm must all conversations with you have a built-in 5-minute lag? like, you can transform a 'a*'b -> 'a*'c into a 'a ref*'b -> 'c hm abstract reference or low-level pointer? hm the first one it can do already low-level stuff requires implementation support 11:50am unfortunately, i don't have the algebraic meta-system defined yet, so the specific example of multiplication i can't support yet fun f -> fun ar -> fun bv -> let av0 = !ar in let (av1,cv) = f (av0,bv) in ar := av1 ; cv ;; i just have this problem that i don't have grouping operators, but instead namespace stack operators namespace stack operators??? no it doesn't work like that in slate, not directly yes in order to bind arguments to functions you have to send messages which requires using the object's inner namespace to get the selectors so you're having a problem due to dynamic scoping? no it's not dynamic scoping the problem is that lisp macros all work in the same namespace (supposedly), and mine don't so the mapping isn't direct really, it's not that much of a design problem, it's a matter of getting lisp users to accept this but it does bring up something i wanted to discuss can't you select the namespace in which you define stuff? what sort of namespace meta-structure does tunes endorse if any? "lisp macros all work in the same namespace"? 12:00pm heh I'd like first-class namespaces yeah well in lisp all functions are essentially in the same namespace, no? not really yeah well in slate they definitely are CL-like one-level global namespace stuff is braindead, as far as distributed systems go that's what i was referring to CL has packages (should've been hierarchical) which are namespaces right but i've heard very bad things about packages in lisp not that i've tried to use them and within those namespaces it has a function-namespace which is where functions and DEFMACROs live.. lisp macros > DEFMACRO that's not the issue the issue is that right now i have made a temporary design decision to make the namespace/object relation hierarchical fare: shouldn't one really have a module concept instead of packages for a distributed system? and i find that i have to break this hierarchy in order to get a usable system sigh fare: CL packages are just namespaces (readtables) and little else while a distributed system needs a much more powerful mechanism in slate, modules are passed around as namespaces, which are only objects i haven't added any special features to slate modules yet umm.. does packages in slate serve the same function as in CL? ie in CL they are a tool for the reader-stage they're stricktly namespaces right now not for encapsulation or anything such well all objects in slate are namespaces then it is not the same concept at all including what's commonly referred to as methods most likely not packages in CL are just tables of symbols that the reader discovers yeah i call that a hack why is that a hack? because lisp already has lexical scoping that should be enough * Fufie/#tunes smiles well enlighten me, then read up on symbols in CL, they're not quite what you obviously think i doubt i can't do what you consider to be so amazing within slate in a more obvious way nothing in CL is obvious 12:10pm it's designed to make its gurus arrogant maybe CL is not what one thinks when one starts with CL, but is that necessarily bad? even people who mess with smalltalk metaclasses have humility most people start out to think that CL packages are like packages in java or modules.. they're not who cares? i don't want to hack the reader people who care for good language design and for creating useful languages usually care lol yes and that's why end users love lisp so much end users? oh that's right, end users are scum ;) like the programmers? heh no like end users your grandmother your dentist oh.. CL is not made for my grandmother or my dentist exactly it's made for serious programmers yeah people with hard-ons :) just like a scalpel is not made for my grandmother to slice her bread with yes but your grandmother must use that scalpel and its 500-page manual if she wants to do anything important with bread why must she do that? because otherwise she has to trust a professional I would prefer that she used a bread knife to slice her bread with so why do you criticize languages like BASIC? (rhetorical) BASIC serves no purpose at all.. I don't recommend it for any use oh really? so it's not a butterknife? it's a cheap plastic knife tell me if a computer's bread, then what's the butterknife? smalltalk? smalltalk might be the butterknife or python even those don't have simple ways of approaching them or even scheme even butterknives vary must one type in lambda to use a computer powerfully? when I was young one connected the word Amdahl with powerful computers ;) uh sure and what planet are you from? oh yeah you're from geekland * Fufie/#tunes smiles you love arcanity for its own sake do you always try to insult people? is that your raison d'etre? well i find that no one brings up any decent thoughts without it here so that gives you the right to insult? no one has rights 12:20pm this is irc and there is not OP so? heh any argument with you over more than five lines end in insults.. ok i've obviously violated some mild social custom a few minutes ago you tried insulting Fare sorry and now me yeah well you guys are stagnant wrt tunes maybe.. no one else has a clue where tunes is going because of fare and you definitely don't help sorry to say it but you grok quite a lot and add nothing maybe not, but whenever you ask questions I usually try to patiently answer them even if you dislike the answers i know but you have to get shaken up before you'll see any other point of view i go out of my way to prove i'm wrong every dday but i won't accept what you say just because you have common lisp terms to back them up you don't know me in RL, maybe I have another net persona maybe you ignore what's out there but I try to answer patiently maybe i do as well :) but tunes is deadly sserious to me i've lost a lot of sleep over the last six years trying to get my ideas working i take it personally, whether you like it or not taking things personally is not my style it's not some detached thing where i can ignore it and assume someone else will make it there you go for you, this is all business serious business mind you... :) for me, this is my very valuable time that i had no choice in how to spend it the sooner i get this programming crap done, the sooner i can get back to the life i really care about business: have you tried PLT Scheme lately? yes why? because: 1. scheme is probaly suited to build scheme in for the first prototype/version 2. the plt team has gone a long way in creating a bootable system which is squeaky like s/build scheme/build slate/ most likely 3. they have many excellent tools to build upon and they're a bunch of great chaps who know theory "great chaps" is opinion yes, it's opinion but I might be right :) well then you're suggesting i mail them or something? 12:30pm otherwise i don't know why it would matter if they're "great chaps" as such, the plt team is probably much closer to a tunes-like system and closer to slate than this channel is close to be all hacking, programming, design, etc is usually teamwork.. cooperating with nice chaps is much better than cooperating with noone at all sure or people who like to go off and build random oses subscribe to their mailing list, read docs, play around and see if you can get slate working within plt scheme and you have a great environment to build upon alright this is friendly advice well thx it might not be the Real Thing, but it's a great environment to experiment with and get feedback from I guess which of their implementations would be best? I usually use MxScheme, but if you have decent lines, get the whole thing s/Mx/Mz/ so drscheme? yes i think i still have an old download damn it not any more and if you allow me to give some more friendly advice: tone down the insults, because it is difficult to convey ones interest and vigour over the Net and easy to misinterpret n/m found it yeah well you and fare are too certain of yourselves so what's the best way to study code in a lisp? in smalltalk i can just use class browsers acl had a nice class browser as well ACL on Win and LispWorks have "friendly" environments i take it you mean over-friendly ACL on Unix has a Emacs-interface which is nice if you know your Emacs but clunky for everyone else (I use Emacs) lord knows it's not their job to teach you how to use the environments ;) i don't i hate key-bindings 12:40pm ACL on Win or Lispworks (for any platform) or MCL for macs then thx i already knew that for Scheme I think DrScheme is the most advanced environment you'd think they'd at least put a code browser in the menu sysytem -:- jham [user5180@209.4.195.169] has joined #tunes they have all sorts of newbie things in the menus but no code browser hm hello jham whats up? we're discussing scheme and tunes cool * water/#tunes goes through the tutorial Im just checking this room out. ok well have you looked at the website? not yet. whats the url www.tunes.org hold on Ill check it out. yeah it just seems odd that they don't put a code browser in front hm? oh "full graphical scheme" 12:50pm * water/#tunes is afk (eating) jham: got any questions/comments? 01:20pm not at this point, this is something new on me. ok i suppose you're not a programmer, then? nope, only a novice. ok shameless plug: ever used smalltalk? take a look at www.squeak.org no I do mostly network admin ok Ill take a look at the site though 01:30pm * Fufie/#tunes yawns.. the caffeine doesn't work anymore :( heh 01:40pm god damn javascript i love it when sites really on it s/really/rely/ doh fufie: is there a work-around for this? 01:50pm well i'll bbl then -:- water [water@tnt-9-193.tscnet.net] has left #tunes [] 02:00pm -:- SignOff jham: #TUNES (Leaving) -:- SignOff smoke: #TUNES (z) -:- eihrul [lee@usr5-ppp130.lvdi.net] has joined #tunes -:- water [water@tnt-10-4.tscnet.net] has joined #tunes hey eih how's life? monotonous school or coding or both? school hm well i got my substructural logic book finally. it seems very good i got to discuss slate quite a bit with fare and fufie this morning 03:00pm mostly explaining how it aims to implement the hll ideas btw, can you sum up clisp packages for me? i'm going into the clhs but it isn't always as clear as mud :) still don't know too much about packages myself fufie tried to understand why i had the namespace system in slate set up the way i did, but in the end he just said "oh that's different from lisp packages" and told me to rtfm i hate it when he does that he at least could have given me some clue as to why i should rtfm or what i should focus on symbols and the reader what about them?? is there something to learn? gimme a url within the clhs at least it's huge clhs has a chapter on both the reader, symbols and packages where? i'm in the packages chapter but it's a forest 10 is symbols and 11 is packages no kidding clhs is meant as a reference, not a tutorial well got a url? i gave you one earlier for that paper http://localhost/~stig/doc/lang/cl/HyperSpec/Body/sec_2-2.html localhost doesn't help much :-/ heh ok i'll cut-and-paste 03:10pm chapter 2.2 is important is there a reason i should like the reader concept? http://www.xanalys.com/software_tools/reference/hyperspec.html yeah i'm there i'm already reading it is important when trying to understand CL btw, numbers aren't primitive to the slate syntax because CL has more stages than most other languages.. reading is the first stage i don't necessarily want to grok lisp if i already have a better idea and packages relate (mostly) to the reading stage i noticed *package* environment variable the thing about CL is that you can change how the reader works as well and have reader macros which allows you to use e.g infix syntax why can't i do that without a reader? what if i just open the parser's implementation? all languages have readers, but I think CL is the only language that gives you full power when reading the code just like every other oo vm on the planet open-sourcing the parser or the vm isn't the same yeah well if i have a sexp syntax and an explicit parser then i have a "reader" it seems anyway, the key issue is that the reader is part of the language standard oic -:- tcn [r@cci-209150250070.clarityconnect.net] has joined #tunes the fact that it's in the standard no offense, but there are as many people who don't like standards as do it's a matter of taste of course hi tcn hey water yes. so if i put my parser into the slate spec i'm cool with you? but I think standardising it was right here because that got together a lot of bright chaps to think things through.. ymmv Gakuk which standard are we talking about here? I am not talking slate, as I understood you wanted to know how packages worked? sure but right now i'm concerned mainly with concepts, not history bonjour fufie: no honestly i only care about slate/tunes/arrow hi tcn, fare ok, then I'll shut up i'll learn as much lisp and scheme as i must sorry what's up fare? tcn: sorry, ansi common lisp I must submit a first draft of my architecture paper for tomorrow 1200 oh a deadline I ain't seen many standards that solved anything well they're published documents which help tcn: TCP/IP ? 03:20pm What about RFCxxxx ? they're something to be said for slowly evolving standards standards always move to slow or too fast.. s/to/too/ at least when developing hm so does anyone have a problem with the hierarchies in the slate spec? I might ;) like the single-"inheritance" hierarchy from root? tcn: we already discussed this :) first I'd have to read it :) heh ok please do hang on there's nothing right now stopping the use of totally unrelated bmo's instead of Top, however * Fare/#Tunes reads on threads in Java, OCAML, etc, and decides that threads suck so much because they are yet another abstraction inversion. co-routines or continuations fare: what about discussing threads in a distributed process? how could they share a stack? Those IBM people try to spawn 4000 threads; that's stupid. i can't imagine a very efficient use of continuations in a distributed setting if they are spawning 4000 threads, most likely, these threads have a lot in common, and should be programmed using a DSL with specific scheduling (meta)code I doubt any programmer is able to code a program with 4000 threads that do very different things. ok i'm talking to the wall DSLs are hard to do in c-like languages C sucks. I hear ya water it's not an option in c-like languages Fufie: well, the COMPOSE guys have a trick: write an interpreter for the DSL in C, and use a C partial-interpreter to make that a compiler. "DSLs" are common practice in Forht water: why share a stack in a distributed setting? That's nuts. You don't want cross-machine synchronization at every call. tcn: FORTH and LISP rock. yeah well how else would you thread within a distributed process? water: seen the Join calculus? yes fare: compared to making a DSL in a fitting language and then generating e.g C or asm it is still a sucky solution so you have local continuations, but no low-level stack. i rather disliked it i suppose Fufie: of course it still sucks; but it's already better than plain C. define "continuation" most things in life are better than plain C BTW, those IBM guys were using Java. hahahahha 03:30pm tcn: use foldoc The Ericsson people at least use Erlang. abi: foldoc for continuations? continuations may be sought in foldoc at http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?query=continuations the only things I can think of which are worse is sweaty feet and the neighbour's taste in music tcn: I believe my friend david madore has a page on continuations foldoc should do yeah foldoc doesn't address cps well enough * Fufie/#tunes goes to sleep.. afk rats, my ISP can't see www.eleves.ens.fr:8080 well anyway, tcn, let me know what you think about root and whether or not it should be a unique kind of thing, if it is bloated, etc abi: call/cc ? call/cc is call-with-current-continuation, as defined in R5RS; see continuation or at http://www.eleves.ens.fr:8080/home/madore/computers/callcc.html i'm considering changing the add-slot and remove-slot primitives to work from the potential component object instead of the container why not have a pure primitive that takes an explicit input object? pure primitive? (add-slot initial-object slot slot-spec...) => new object with additional slot because it's not functional it doesn't fit the slate model slate is definitely not clos what's the slate model? what's not "functional" about such a primitive? you can always build other stuff from it (but building it from other stuff sounds like an abstraction inversion) you clone the object, send messages to bind the argument slots, and then send the resulting object a message to get the result it actually is still functional that way just not in the ordinary way yuck. I prefer my purely functional add-slot primitive. 03:40pm not SELFy but just better yeah well you also learned from lisp i did to but i thought lisp was very backwards when i learned it i still think its backwards well it sure is old :) when the world goes in the wrong direction, being backwards may mean being nearer to the truth. well, the way i propose is selfy and more it only has state in the way that every function has state well i doubt our statements here are formal enough for syllogisms i.e. backwards is hardly a literal term btw, i made a predecessor for slate back in college based on a tiny lisp i made it after i read the tunes web site, and thought "that'd be easy to code" :) this was in '95 when i thought tunes had a slim chance of going somewhere oh and btw, you can blame hcf for encouraging me to go forward with slate :) -:- mibin [mibin@an1-931.tiscalinet.it] has joined #tunes hey mibin hi water :) how goes it? fine, i think you? 03:50pm using my weekend to work on the slate/tunes/arrow stuff cool heh isnt the weekend over? not his my weekends are odd lol well anyway have you looked at the slate web pages at all? not still, i havent been online much latelly there's not much there, but the semantics page has some concrete stuff ok tcn: no comments yet? im going to check out the new stuff fare: are any of the main tunes members paying attention to tunes at all? i haven't seen much activity at all from fare, tril, beholder, ult, or a few others in a while what do you call "paying attention" ? dunno maybe actually posting original content to the mlist or updating the web site or, god forbid, actually coding water: I can agree with that.. it works well in Forths with multiple namespaces. tcn: really? ok what about sharing code between installations? it's like any filesystem actually, my main problem seems to be that something has to contain the base namespace in order to refer to it, otherwise you have to provide a primitive clone of it somewhere 04:00pm you mean the root would contain a reference to itself? you see, i want it to be just another object, but i can't use it without breaking the hierarchy not necessarily, but that's one choice what's wrong with refering to an object higher in the hierarchy? * water/#tunes shrugs you have to have a slot for it. basically which means circularity unless you use a clone i was just wondering if there was a better idea think "ln -s / /home/tcn/root" yeah well the clone provides the symlink functionality and hierarchical fs's don't impress me much oh well, i suppose there's not much of an alternative nope * water/#tunes pictures himself in the future having to recode all this when some better idea comes along it's the stone age * water/#tunes looks at his sub-structural logic book in Forth you can get a number that refers to a namespace, then say "constant X" to define a clone "X". sure that's forth all right :) I think this organizational system can work good if it's used intelligently. i don't forth is not the poster child of good programming languages for tunes and especially not for arrow heh i suppose i could just allow it to be a general relation, and simply implement it as a hierarchy for gc purposes 04:10pm Forth is unlike Unix/windows/etc in that it allows "meta-namespaces" which is co-inductive what are they? a function that returns a namespace normally it's just a constant that's the same as lisp's packages hmm yeah i think i like the co-inductive idea, since it allows for the kind of expansion i want the function *could* be as fancy as you like... it could be a good organizational tool. and it also allows for quotienting a la HLL! * water/#tunes nudges Fare what do you mean by 'relation'? a logical relation as opposed to a function you have a generalized graph instead of a tree ok.. bidirectional link, right? heh a la xanadu yeah that's a crappy low-level version of it actually no what part of "graph instead of tree" doesn't make sense? -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes you have nodes and directed links between them hi smkl hey water obviously i'll have to hide this generality from the average programmer, or at least gently explain it water: ok, directed links, circularity allowed yeah like forth vocabs :) sorry i guess i could have said that i know a little graph theory ok very basic :) well anyway, we could have the base namespace refer to itself, or possibly its previous or next version or something 04:20pm or perhaps all three, who knows? bah this is pointless do you have comments on anything else? does anyone want to discuss tunes or something? nope, i'm out hm ok reading about Joy and continuations tcn: so no problems with inheritance as a single tree? oh ok no problem not now anyways :) right well when i work out some really specific stuff i'll run it by you this continuation shit reminds me of BASIC huh? you mean goto's? on error goto.. I haven't gotten used to that sort of error handling yeah i used it like that on the apple ii to all: how do you feel about Tunes project leadership? I expect a function to return an error condition if need be.. makes for more readable code IMHO, and no less concise. continuations are more useful though because they make returning a first-class operation eih: I would hope so 04:30pm hm substructural logics apply to combinators i wonder if it's a good time to bring up slate again to the tunes mlist 04:40pm what do you guys think? tunes-hll i don't even know who's subscribed i'll check i didn't know it exists ;) oh it does tunes ought to be for general/organizational stuff yeah well it's not oh yeah it's tunes-spec specs, even hey, i'm on it :) heh what's the path to the list? /var/lib/majordom/lists ? k the one in /serv is old 04:50pm i'm not sure who half those people are that's good i suppose hm well slate doesn't fit the tunes hll .plan so i'd better just stick with hll requirements actually, darn it, it doesn't fit on specs specs seems more to be about the actual requirements themselves than implementations does that make sense? yeah 05:00pm if specs is dead, use it :) i suppose if nothing else, it might get Fare off his ass to refine the specs so that slate doesn't fit yeah.. get him to quit writing so many papers papers don't prove anything :) yeah well he's got this little phd thingy to obtain then what? i don't know maybe he wants to teach or something 05:10pm oh yeah.. it's unfortunate you need a phd for that tunes forbid someone become literate... heh 05:20pm it might give him more time for his projects well, what about the architecture he is working on now? is that not a project? I don't know what he's working on any pointers? the SSSSSS paper, i think or sextet :) yeah damn i have to explain a lot in this email i'm writing I was just thinking, the typical short-sighted company won't pay you to research that's not clearly expedient. A university will. s/research/ research something/ even universities need grant money 05:30pm heh -:- Kaufmann [newbie@dial608.infolink.com.br] has joined #tunes hey kauf hey water... still pissed off at me for "wasting your time" last night? no heh so, if I clone a new Slate object from an existing class/prototype in the inheritance tree, and I, say, add a new method to it, where does it go in the object hierarchy? Is it a child of the prototype? Is it a child of root? it's a child of the prototype directly indirectly, it's of course a child of root as well what if I remove a method? if clone = prototype = copy, what do you call a reference? then it's still a child unless you intensionally refer to to a parent prototype with only that method removed 05:40pm what if I completely remove all its public protocol, until all it has left is root's basic protocol? tcn: a clone with special meta-behavior then it's still a child unless you intensionally refer to root i know it's odd, but there's a reason for it if this object remains a child of the prototype, then the inheritance tree loses some of its semantic power, doesn't? (I'm sorry, I can't think of a better way to express this) the inheritance tree isn't entirely about semantics (it never has been in any language) slate objects are about direct-manipulation semantics which is different from a type system per se I mean, you are no longer assured that an object will respond to the same protocol as its parents or a superset thereof. And at least in a class-based system, that's the whole point... not really sure of the significance of an object hierarchy in a prototype-based system oic no, you can't do that in slate object's delegate messages to their parents sorry i mis-understood delegation is just like inheritance you *can* do such a thing as removing a slot to get out of the hierarchy, but the object would still be a child of root hm i wonder if you removed one of root's slots hmmmm :) who knows? i'll definitely think about it what if one removes root itself? * water/#tunes shrugs its primitive you leave the language then j/k and you can't really do it, anyway oh -:- SignOff Kaufmann: #TUNES (Ping timeout for Kaufmann[dial608.infolink.com.br]) -:- lar1 [larman@3Cust16.tnt20.sfo3.da.uu.net] has joined #tunes Hey water: Up for a tad of math? well since the fundamental "reality" of slate objects is the constructor expression, root just gets removed from the context, not the system lar: sorry busy with slate writing a post to the tunes mlist right now water: Ok, no problem. Perhaps later today. -:- Kaufmann [newbie@dial629.infolink.com.br] has joined #tunes back k check logs -:- overfien [overfien@dialupV169.sttl.uswest.net] has joined #tunes yoh 05:50pm yo busy night hm it got quiet pretty quick :) how's it going, fiend? water, I've read logs... I understand ok i guess we were talking about two different concepts of "remove-slot" anyone know what the #assert directive does in the GNU c preprocessor? which i should definitely address, and i know just how (but i'll save it for later when my thoughts on it are well-developed) overfien, um, it asserts something? any other comments, kauf? sorry fiend, we're not average programmers overfien, seriously, it probably does something like making sure that a condition for preprocessing is met... dunno, really\ water, I'm thinking I'm slow like that :) i used to code c all the time, but i got sick of it is #assert a crude technique for automatic proofing? Water: Why? yes.. but I don't know how it works rtfm :) water, is protocol inheritance determined at object creation time, or dynamically? kauf: dynamically fiend: I've never used #assert but i've seen assertions fail 06:00pm so if I remove a slot from root, does the entire object hierarchy lose that slot too? In that case, changing root's slots is just a MOP viewed in a different light, isn't it? it depends yes it is like mop there's a lot of variable semantics to changing things you can change root and have it affect nothing or everything or some fraction this gets into bmo territory, btw abi bmo i think bmo is Behavioral Meta-Object (slate) ah just about to ask how so? bmo's intercept all message-sends including ones that change state they can prompt cloning on various conditions brb you can also partially-evaluate bmo's and include part of the bmo with the object k back heh that was fast what do you mean by "include"? In a container object? In one of the object's slots? and what use is that? when you drag around the object or clone it or share it, you can share its meta-bheavior too ah I see so with a partially-evaluated BMO, the rest of the meta-behaviour would be determined later... and separately for each clone if the original object was cloned... is this what we're talking about? sure althoug i haven't worked out a lot of it :( how is cloning implemented? it takes time, there's a lot to consider in slate in the language itself? yep usually just by a pointer 06:10pm wouldnt modifying the clone modify the original one too, in that case? not always the looked-up method gets aplied to the receiver of the message, not the object where the message was found is implemented throught a sort of copy-on-write mechanism? no, it's customizable using the bmo bmo stands for? the bmo determines where the update occurs slot-by-slot sigh abi bmo bmo is, like, Behavioral Meta-Object (slate) ahh ok tnx np so it is a sort of partial cloning? like i said, it depends water, methinks a lot of the Slate concepts would very much benefit from extensive examplification... at least in the official documentation you can use clones to act as the parent if need be yes i know i have to work out a lot of issues though although i'll add some examples very soon, just to demonstrate bmo's since they are quite novel ok i sent off the proposal to tunes hopefully it's clear enough oops i messed up (sort of) I guess it just bugs me that the motivation for introducing object-based systems was that they were intuitive, in that they were readily associated with "real world" objects... but as it turns out, the computer "universe" really _is_ different from the one in which we live, so an "ultimate" OO system such as Slate is so bloody flexible that most of the things they allow are impossible to associate directly (not splitting my infinitives) with "real w heh Embracing BETA's notion of "pattern" is in itself an admission that language "objects", whatever they may be, are not _quite_ "objects" as people think of the word. 06:20pm your first statement got cut off there -:- ult [ult@user-38lcn4u.dialup.mindspring.com] has joined #TUnes -:- SignOff tcn: #TUNES (ircII EPIC4pre2 cLIeNUX. Can you say that?) where? with "real w but i see your point ...with "real world" objects at all! ah kauf: have you used clos or read amop? yes although I must admit, I haven't used CLOS _much_ ok but you haven't used slate at all how does slate compare to clos? -:- SignOff overfien: #TUNES (init 0 fjear it biatches) CLOS is just an OO subset of CLisp hi ult sure but you can make a clos environment by itself, right? no why not? Well -- sort of. It'd be useless though. yeah but you can compare slate to clos, can't you? I don't know enough about slate to compare it though. clos is a mechanism, not a language. hm i suppose so fufie would disagree, of course :) water: Of course =) hrrrm water: CLOS, as far as Lisp is concerned, is just a OO API. It's just another part of the language -- akin to the 'class' directive and related modifications to function declarations in C++. I'll be leaving in ten minutes... hm CLOS could exist without a lot of Lisp (assuming you could still define its primitives) CLOS uses method dispatch/generic functions, and generally the CLOS object model depends very much on the underlying function object from traditional Lisp ok i resent the mail correctly whereas Slate integrates the notions of object and function Kaufmann: That sounds reasonable. Too bad I don't know enough about slate to comment. hm water, somebody emailed you a nasty message? Heh -:- ult is now known as revult well the mail you'll get ina few minutes has a sort of tutorial 06:30pm yeah i used a semicolon to separate mail addresses :( silly me oh damn it! water, it was a pun on your use of "resent" i screwed up the syntax explanation but oh well it was a trivial difference hmm but at least that makes CLOS's object model (somewhat) comprehensible... in that "deep down", CLOS objects are still just Lisp lists... in that CLOS semantics are readily translateable into Lisp semantics, and those are very simple and free-form. Needless to say, this is not the case for Slate. both true slate's a bit esoteric, in fact, but perhaps better metaphors could fix that if anyone's interested in a different perspective of human interface design, I've found an interesting article by Jakob Nielsen url? -:- SignOff lar1: #TUNES (Ping timeout for lar1[3Cust16.tnt20.sfo3.da.uu.net]) brb oh damn... I thought I had bookmarked it oh well here http://www.acm.org/cacm/AUG96/antimac.htm heh damn... Google works amazingly well yes it does anyway, I'm off now... bye 06:40pm ok nice talking -:- SignOff Kaufmann: #TUNES (A stranger is just an asshole you haven't met yet. -- Meet the Fascist Moderator at www.osopinion.com) heh i forgot to put in the title of that message oh well, let's see what people do with it :) -:- lar1 [larman@3Cust16.tnt20.sfo3.da.uu.net] has joined #tunes wb dude Hi again :) 06:50pm damn it, now that i sent that mail, i'll be anxious until i get some responses Heh that's most likely why i stopped using the mlist for so long one can never be to sure about one's own motives s/to/too/ What do you mean too sure aobut one's own motives? as in my motives for withdrawing from the tunes mlist Ah Personally I don't like usenet and mailling lists for just that reason... the waiting i don't understand why i did it, and most likely never really will. it just happened -:- SignOff mibin: #TUNES (Ping timeout for mibin[an1-931.tiscalinet.it]) Hmm All of life is a black box ;) oh if only it were that simple it's so open you can't see it for what it is Oh? yeah sort of the opposite end of the spectrum imo all sorts of detail rushes at you But life is black boxical in nature, yes? I mean life is full of things that can't be explained it takes a lot just to separate yourself from it and still be sane no there seem to be too many explanations to me Are we refering to religions? 07:00pm heh sure they count too -:- revult is now known as ult I still want to know why Not the meaning of life... the meaning of all existance it's a subtle thing i guess you remember the epiphany scene from The Matrix? epiphany? heh i new you'd say exactly that yeah where Neo sees the Matrix for the information bits -:- lar2 [larman@3Cust16.tnt20.sfo3.da.uu.net] has joined #tunes it's a subtle thing i guess -:- SignOff lar1: #TUNES (Read error to lar1[3Cust16.tnt20.sfo3.da.uu.net]: Connection reset by peer) you remember the epiphany scene from The Matrix? epiphany? -:- lar2 is now known as lar1 heh heh i new you'd say exactly that yeah where Neo sees the Matrix for the information bits Yeah well that's the sort of thing i mean life is really like that only in infinitely more ways because you're inextricably part of it, you see the black box but it's not a black box at all But if we can't see that it is not a black box, how do we know it isn't? (take this with a BIG grain of salt, please :) we don't knowledge is bloack-box ing Taken with a grain of soduim chloride... with extra sodium ;) how so? you can't have knowledge without black-boxes otherwise you'd never be able to say "i know that" I know what a television is, and how it works. Where is the black box? i dare not try to type that without black boxes :) Heh the black box is like the word you use the "it" like calling the billions of photons hitting your eye and what happens to them "vision" (if the photons can even be counted or separated) Hmm and the fact that it's "your" "eye" :) 07:10pm i love messing with your mind :) Its good stuff to ponder it's a type of taoism I have nothing better to do while in school :( or nihilism or existentialism or whatever existence does not apply to this style of thinking What do you mean? nothing, of course :) :) seriously, meaning requires black-boxing btw, this isn't just intellectual banter there are real practical applications for this way of thinking Really? some people kick martial-arts ass with it, in fact :) but seriously it's a general principle that can be applied to keep one's mind flexible Hmm... I've wanted to take marital arts... haven't goten around to it *marital* arts? :) erg! Thats a nasty typo! heh Although marital arts might be helpful too ;) uh sure Its good for chickage heh i'd settle with just being able to cook Its not as hard as it seems think of it like a lab experment oh i can cook, it's the chick part Ah Can't help there... ;) 07:20pm this is a really nice ui article i'm reading Oh? http://www.acm.org/cacm/AUG96/antimac.htm kaufmann gave the link while you were gone I'll check it out Hmm, I'd better go eat Be back in a jiffy! ok but don't bring the jiffy, please Darn! I wanted to eat PB&J wile talking with you! ;) go eat hm okay the authors have a limited view of direct-manipulation ui's * water/#tunes reads on of course they're discussing extant interfaces 07:30pm Back Let me know when you are up for some math, water sure why not Given z=x*y; x=-1, y=-1 Prove z=1 08:00pm I couldn't figure out how to do that hm you understand why multiplying negatives is different from positives, right? I know how it is, but not why. Not clearly at least. hey go to #{} Ok, good deal -:- SignOff ult: #TUNES (blah) 08:10pm -:- air [brand@p0wer.qzx.com] has joined #tunes hm this ui paper basically amounts to "build tunes" 09:00pm Wow That paper looks interesting -:- witten [witten@un.torsion.org] has joined #tunes yeah i agree with all of it except for the absense of reflection to minimize programmer maintenance requirements hi witten hello we were discussing a lot earlier, but it's quiet now you can ask or discuss anything you want i was just gonna comment how much cvs sucks :) water: Dude... I grok this paper... witten: yeah it's pretty clunky lar: good wit: why? are you using it for your project? water: one of my projects, yeah. i totally fubar'd the repository and now i can't remove anything oh 09:10pm * lar1/#tunes is liking this paper! yes its very tunes-ish 10:10pm -:- SignOff Fare: #TUNES (Ping timeout for Fare[esmeralda.enst.fr]) -:- Fare [rideaufr@esmeralda.enst.fr] has joined #Tunes egads this paper is making me reconsider some stuff Does GCC _always_ produce better code then a person? rmm, it produces code faster than a human and with less effort 10:20pm if you're talking (performance / effort), GCC will always be superior yeah that's the point, i thought :) given an indefinite amount of time, a person could produce much better code easily true also but whether you wish to waste indefinite amounts of time is up to you although i'd prefer run-time feedback :) with shape analysis, even :) Wouldn't code that modifyed its self accoring to realtime benchmarks be cool? well it's usually not self modifying per se there's usually a separate code-generating thread so it doesn't have to work with straight binary Yeah Has that been done? yes in self and quite a few other languages Does it work well? sure but it takes time to do the re-compile after you get the run-time feedback which means it takes time to adapt roughly a few seconds -:- witten [witten@un.torsion.org] has left #tunes [] i believe the code morphing stuff for Crusoe has that property But perhaps all the optimizations could be done as an install or somthing. They shoujld only need to be done once although the code morphing idea operates at a disadvantage because its not part of a high-level environment no because you have to *run* the code before the feedback can optimize it and interactive programs make that complicated anyway Hmm of course interactivity complicates everything in programming 10:30pm I'd better sleep k -:- SignOff lar1: #TUNES (Read error to lar1[3Cust16.tnt20.sfo3.da.uu.net]: Connection reset by peer) well it seems like i won't get a reply on the mlist tonight 10:40pm -:- hcf [nef@me-portland-us736.javanet.com] has joined #tunes whoa! hey its been a week what's up hcf? nothing oh sorry -:- water_ [water@tnt-9-197.tscnet.net] has joined #tunes is there anything i can do for ya, hcf? no, do u need anything? no i've got plenty thanks -:- SignOff water: #TUNES (Ping timeout for water[tnt-10-4.tscnet.net]) i just got my substructural logic book today -:- water_ is now known as water 10:50pm and i've been discussing slate with everybody although most of this week on irc has been dead for some reason perhaps it was because you weren't around :) yeah right heh just trying the intelligenesis thing fizzled of course i think we both realized there wasn't much of a potential there at least someone was interested just a bad situation yes true btw, eihrul got very depressed i suppose that was a major reason for the irc silence anyway he dropped working on slate so he could work on dolphin again yeah i noticed a ~week ago, he was a lot more active in #dolphin than here but that shouldn't be too bad, since i can code a little lisp and scheme right now? a week ago or so oh ok on 2 or more occasions oh well to him it's just another programming project in his drab life well, more like a sense of closure yeah i can imagine how much more successful i'd feel if i completed all the dumb ideas i've had :P well, i've completed nothing, literally :P that's nice so i might as well start somewhere anyway or else i never will hcf: well i think you understand the situation then i'm not concerned. there are plenty of people on the tunes mlist i've discovered who could helpbut are always silent and besides i have work enough just making sure the language spec comes out correctly 11:00pm well, i'll eventually come back to slate, there will always be a need for it well obviously no one's left to discuss anything important with, so i'll be back tomorrow night -:- water [water@tnt-9-197.tscnet.net] has left #tunes [] -:- nate37 [nate37@ppp-206-117-27-122.dialup.pcmagic.net] has joined #tunes hello -:- smoke [smoke@15dyn119.delft.casema.net] has joined #tunes 11:10pm hello 11:20pm -:- SignOff hcf: #TUNES (Leaving) [msg(TUNES)] newlog 2000.0314 IRC log ended Tue Mar 14 00:00:01 2000