IRC log started Mon Feb 21 00:00:02 2000 [msg(TUNES)] permlog 2000.0221 -:- SignOff air: #TUNES (http://www.qzx.com/ :: sleep) -:- hcf [nef@me-portland-us640.javanet.com] has joined #tunes -:- SignOff Fare: #TUNES (Ping timeout for Fare[esmeralda.enst.fr]) -:- NetSplit: zsoldos.openprojects.net split from sterling.openprojects.net [01:18am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [zsoldos.openprojects.net] -:- smokie [tw026024@zaalf10.twi.tudelft.nl] has joined #tunes -:- Netjoined: zsoldos.openprojects.net sterling.openprojects.net -:- water [water@tnt-9-203.tscnet.net] has joined #tunes -:- SignOff water: #TUNES (Leaving) -:- water [water@tnt-9-203.tscnet.net] has joined #tunes -:- SignOff hcf: #TUNES (Leaving) -:- SignOff smkl: #TUNES (changing servers) -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- SignOff smokie: #TUNES (-> huis) anyone here? no hi foof 04:10am i'm not sure i get the essential difference between lisp and dylan's macro systems would you help me differentiate? ok let me tell you about CL macros first CL is very very different from C.. in C you have a compiler which applies a preprocessor to the code and generates .o files which are linked and then run.. ie two stages: compile and run in CL one has several stages: reading of the code, compiling of the code, loading of the code and execution of the code mhm the diff between string-replacement and recursive tree-proccessing in CL one has macros at all stages and one can change the language's syntax, semantics and mostly everything in all stages last I remember dylan just had two real stages.. load/compile and execution so you have fewer stages to apply changes in taking on the CL concept of macros you open up _everything_ at all stages for changes Dylan macros are more classic macros.. they transform code when loaded/compiled so dylan adds nothing to the macro state-of-the-art? ie a big difference... CL is a metaprogramming environment and reflective all the way dylan adds something though 04:20am that's what i wanted to know, what dylan adds it uses more classic AST-thinking when making code.. as it is not sexp it needs to names things: ie expr, classdef, etc and your output must also fit into non-sexp environment ok but what makes this better? the Dylan approach might seem good because it is more AST-style and less of a transfer from classic compiler-work the common people find that limiting compared to sexp huh? you mean cl ppl? so if you depart from sexp syntax and wish to impose restrictions on stuff allowed, dylan macros are more the right alley common people is the common lisp people.. we're quite ordinary and dull.. but we do it Right ;) yeah bigots all the way ;) Dylan is a bastard child of CL i don't see why sexp doesn't already encompass ast i mean, can't you use cl macros to get non-sexp syntax? a sexp isn't necessarily as typed as an AST yuck... typed syntax cl macros can be used to get non-sexp syntax yes.. but it takes some work and it is usually just rewriting to sexp.. ie syntactic sugar there is an infix reader-macro package hm but as I understand Slate you wish to impose a certain amount of semantics and not have sexp syntax, no? well i don't think that specific issue affects slate anyway (fixity etc) the problem right now is that my grouping operators stopped being grouping operators ( and ) now act as namespace stack manipulators you don't even always balance them balancing is good.. especially if you want editor support grr people will write unbalanced () expressions for specific reasons 04:30am and i don't give a flying fsck about ascii editor support the language is supposed to be interface-neutral -:- AlonzoTG [Alonzo@216-164-134-25.s279.tnt3.lnhva.md.dialup.rcn.com] has joined #tunes hell, my objects aren't even supposed to get clos-like repressentations the upside is uniform syntax uniform orthogonal syntax is good the downside is that clos'ers will hate it (well, i'm supposing they will) clos'ers are spoiled brats (we are :) heh too many features in your mop? :) the mop is not perfect but it is lightyears ahead of other message-passing languages for now ;) brb http://www.uio.no/~cynthiss/wwwbilder/win2001-1.jpg heh 04:40am how well behaved can garbage collectors be, if used in a gui? huh? there are threaded and even real-time guis s/guis/gc's using gcs? aha. hell, squeak works fine and there are gc's of small quanta less effective versions that preserve interactivity water: as for oo-systems, as I have expressed earlier, new models are interesting so I am looking forward to slate.. but as I have also expressed please don't make ya language with too poor macros om -:- SignOff AlonzoTG: #TUNES (Have Nice Day :)) 04:50am well, i'm just trying to figure out right now just how far i can go with macros -:- AlonzoTG [Alonzo@216-164-137-209.s463.tnt4.lnhva.md.dialup.rcn.com] has joined #tunes maybe macros to the bottom? :) :) maybe macro calculus macro calculus.. now that sounds like military intelligence well anyway since the only syntax slate has is message-passing, and since messages and objects can be swapped semantically maybe macros can be applied everywhere are macros allowed to introduce something whic is not an object or a message? um what else is there? besides my messages are objects the generated code? low-level? what do you mean exactly by generated code? you do generate code, no? sure you mean language syntactic primitives, i guess are macros allowed to take the slate code and transform it into it's own low-level code? dunno maybe you should figure that out :) umm.. I am asking if you had thought of it and it is distinct from objects and messages no that's why i've asked you about macros it shouldn't be but allowing the macros to generate it's own code is imho important for a reflective system i'm dead serious about that but it screws up semantics yes i know no it doesnt there are other ways to reflect brb.. food 05:00am do you have the generated code as part of the slate semantics? hm not well enough right now it's supposed to be why? well maybe i'm misunderstanding your question but certain stuff in the spec is marked primitive as necessary for the first implementation but is a macro allowed to change that and output non-slate code? ie x86 asm? or do you see macros as tree-transformers? explain, i think i grok but i need to be sure within slate yes? I don't grok slate.. haven't tried too hard last couple of weeks.. but think in imperative message passing.. I have a macro MY-CLASS I use it to define a class um no ok there's lots to explain then the language I use has some rules about class and stuff.. but I, the programmer, knows more about how to make this work better s/class/classes and objects/ yuck dude so MY-CLASS generates the code I want for this specific class slate works totally differently conceptually your ideas of macros probably don't apply yes.. but is a macro allowed to change that 05:10am the idea of macro i'm working with works totally differently tell me how and is still reflective i might add reflective is a gedanken thing.. everything is reflective ;) well first i'd better explain how objects relate to messages :P i mean shifting primitive code base, ok? ok anyway slate's system of objects is actually an immutable tree you only get objects by sending messages to existing objects s/immutable tree/tre of immutable values/ no worries about class definitions or such... an object consists of its own structure can I define message-classes? or message-objects? no well yes but not distinctly messages are first-class objects i mean, they're not distinct at all have you got an example of how to define .e g a MAP message? (typo-day) you don't apply arguments to messages, you send the message an accessor-message setting a slot hm a MAP message takes a list of objects (can be messages) and applies the message to all of them no fsking kidding returning a list of objects which are the results of the applied message for each object i think slate's natural thing isn't quite a map tell you what, i'll get back to you on that you can't have MAP? yes you can but i'm not sure how it would work can I use a macro to make one? the problem is the representation of objects ok a MAP is useful though i know well slate messages obviously support hof-functionality the first HOF people fall in love with yes i know where were we? 05:20am "you only get objects by sending messages to existing objects" no further down you don't apply arguments to messages, you send the message an accessor-message setting a slot the problem with using sexp macros in slate is that the ( and ) symbols don't denote structure, just namespace shifting use [ ] instead then heh what for? sexp doesn't need ().. it can use [] or <> or {} ... no kidding i'm saying why do i need structure if i have my namespaces? take a look at the bottom of the slate's semantics page structure is good url? damn topic abi slate? slate is a unifying/hybridizing of self/beta/lisp at http://www.tunes.org/~water/slate-home.html s/home/semantics/ namespace *is* structure in slate but it doesn't group things with symbols in program text you can't directly get a syntactic representation of any object ouch yeah, clos'ers will hate that my objects aren't lists, their sets... namespaces s/their/they're/ so far, the most promising semantics for slate macros have been higher-order rewrite systems ahem reflective rewrite systems 05:30am can 't you query objects for their structure either? slate will definitely be different from ordinary oo ah (make sure it is useful as well and not die like all other GREAT IDEAS ;) well, you can obtain an object representing the series of messages constructing that object you can also get a flattened representation more suited to getting the object's representation usually consisting of the minimal establishment of object structure and value so I can't get a list of messages that work on a particular object? ie that DRAW work on object SHAPE well it's via the mechanism i just explained with "add-slot" messages defining slots make sense? (add-slot is a primitive of course) ok -:- Mips [somewhere@usr49.tamcotec.com] has joined #tunes so you can query an object for it's structure ie slots yes can you also get info on who it's parent is? the parent is a slot, too a special slot? heh one with special meta-behavior, yes and a namespace contains objects with slots being an object itself, yes :) naturally am I allowed to freeze an object? objects act as slots in the namespace ie allow no more additions? that's meta-behavior yes that's why slate has/needs behavioral meta-objects is a compiler then allowed to make an optimised representation of that object? of course -:- Mips [somewhere@usr49.tamcotec.com] has left #tunes [] 05:40am can I define a macro which generates frozen objects? just like symbol tables (or run-time data-structure of choice) hm (I am now asking all the dumb questions I do with macros so you can see how they apply) -:- Downix [down@d-gnaps-184.ici.net] has joined #tunes you mean "freeze-wraps" objects? (I figured that was the best approach) morning all morning dx Fufie, reading about LISP, I have questions that none of the docs can help me with water: What's up? water: sortof.. makes the object through messages and then freezes it well i know you could even write just an ordinary message to do that downix: ask away dx: workin on slate Fufie: a) How do I do graphics with LISP b) how do I network with LISP? * Downix/#tunes thinks LISP could be used to make a great talker daemon a) depends on which lisp you use.. it's implementation-defined.. as it is in 90% of languages.. b) see a which implementation do you use? Downix: you get a nonstandard library that adds another 20 megs to your lisp image heh Fufie: clisp smkl: fine by me. 8) downix: clisp has a html-page with impelemtnation-defined stuff.. it documents sockets in clisp.. there are gui-libs in the standard clisp bundle, ie garnet and two clx versions water: did you get what I asked for? Fufie: alright. Last thing, how the hell do I compile something I've made in clisp? yes you only need a msg to do it, foof afaik dx: COMPILE, COMPILE-FILE, ... ok heh water: ok.. so through a msg you have a class/constructor? * Downix/#tunes was quite sad that ANSI Common LISP ignored that simple question dx: it does not s/class// dx: page 113-114 fuf: yeah pretty much Fufie: I didn't find it mentioned in the book (flip flip) oh, dammit, I hate it when I miss something dx: I used the index and looked at 'compile' :) you just address the bmo and have it change based on the object in question's structure bmo? abi bmo somebody said bmo was Behavioral Meta-Object (slate) Fufie: hehe. water: will a macro be allowed to do the same, possibly whipping up a bmo to do the job? yes Anyways, coding a talker daemon in LISP is not yet my project, first I have a C daemon to finish.... since a macro could do anything a msg could -:- thomas [thomas@193.217.63.152] has joined #tunes (i mean, that's the idea, isn't it? :) 05:50am a macro usually an do much more s/an// right when are macros called in slate? *when*? yes, when well when we have them ;) but seriously it shouldn't be too hard to apply them to any place in the implementation, but then that relies on having dynamic placement of primitives what I am pondering about is how slate differs between stages i haven't looked too closely at "staging" a macro during compilation usually does different things than during execution for instance, i planned from the start to keep parsing and such above the language level you're speaking pig-latin to me, man i'm not even looking at making stand-alon executables right now ie I use macros during compilation to build up structures which then are compiled and when the compiled code is loaded, all the generated structures are loaded *wham* yeah well we're not doing anything like that right now i didn't say slate was a descendent of self for nothing ok.. because my making the constructor a macro and integrating it with the compiler you would effectively have classes in slate s/my/by/ you're totally talking past me a very simple example on how macros change the norsmal system i'm not even thinking in those terms, man are you listening? I am listening what you're saying totally ignores what i'm working on and I am explaining how macros can be used and really change your slate * water/#tunes listens so if you adopt macros you must make slate changeable don't patronize or limit them just explain I don't patronise.. I am simply telling you that by allowing macros to the playing field makes everything more complex yeah but i already told you lisp is a totally different universe and you still aren't listening I know, but lispers will use macros to change slate if macros are there lispers are never happy with a shrink-wrapped thing ok when i say macros, read "slate's equivalent of macros" it;s definitely not going to look the same yes, and we set out to find out what slate macros did, no? 06:00am heh i did a long time ago so cl macros are hooks to the implementation? smkl: they are hooks to change the whole system smkl: thank you for introducing better terms fufie: less hype, please it's not hype not even buzz just explain how they work mechanically grrrrr shut up and fscking explain explain which kind of macros? regular macros? grrrr i don't know no you don't know and still you claim it to be hype very good arrogant ass CL has at least half a dozen macro types oh yuck the easiest and classic one to use is DEFMACRO heterogeny? you can take heterogeny and shove it no need to be rude yes there is you've spent more time defending your honor than giving me anything to work with DEFMACRO lives in function-space and is called where otherwise a function would be called, but the arguments are not evaluated "function space"? cl has separate places for functions and variables you know the namespace used by functions.. there are different namespaces in CL smkl: he doesn't.. he doesn't know lisp bleh more heterogeny but continue a DEFMACRO returns lisp-code ie sexp wait... when is it called? it is also evaluated in the environment where it was found and can get info about it also is macro-calling transparent? a DEFMACRO is called when it is found in code evaluated so it's a function on sexp's a DEFMACRO is a function on sexp yes i already knew this and macro-calling is transparent with function-calls except arguments aren't evaluated i know because it manipulates sexps but a macro is allowed to evaluate the sexp though "allowed"? yes.. what the macro does with the sexp it is given is up to the DEFMACRO ok then you have the SYMBOL-MACROS bleh 06:10am which works the same way only on what seems to be variables "what seems to be"? (list x)) augh.. (symbol-macrolet ((x '(foo x))) (list x)) --> ((FOO X)) the X in the call to LIST is really a symbol-macro uh sure and is transformed to (FOO X) * water/#tunes scratches his head not used very often but I have found use for it earlier but it's an x not an X lisp is not case-sensitive (in general) k then you have the compiler-macros * water/#tunes rolls his eyes which are allowed to optimise code during compilation stage i don't suppose anybody's ever considered unifying these? e.g they can turn (SQRT 4) into 2 heh ooh compiler-macros can live side-by-side as the SQRT function though s/as/with/ what does that mean? a SQRT DEFMACRO would replace any SQRT function so? SQRT is a function usually but you can through COMPILER-MACROS teach the compiler specified behaviour through compiler-macros even surpassing functions sure, but this all sounds like elaborate fixes for a non-reflective implementation not really it's elaborate fixes for people's real needs so you recompile your lisp environment a lot? :) you redefine primitive? I often recompile the code I write myself at least and when I want changes to basic CL I usually do it in my own packages you have a self-hosted lisp-to-native compiler that you regularly inspect and modify? I do inspect it often and when I am not satisfied I make my own implementation yes but I don't need to implement everything this self-hosted compiler is the actual implementation? just change parts I don't like so why do you fscking need tunes? 06:20am because it would be nice to have it integrated at a low-level.. now the system lives atop unix and unix has its problems well why aren't the macro systems unified? oh yeah it's lisp because they serve different needs.. n/m no i don't want to hear it. all of it amounts to lisp not really yes really and you asked how it was in lisp different needs are just parametrizations of the same need well lisp sucks you're just envious it may be powerful, but i will sacrifice perceived power for real power through homogeneity if you call that envy, fine but that's the three most important macro-types maybe i should refrain from using such a vulgar word as macro * Fufie/#tunes smirks since lispers will obviously not think that my version of them will be as powerful maybe because they aren't lol sorry dude but i have the same intentions filed under a different name so just because out personalities clash over programming language terminology preference doesn't mean we want different things no.. I said that at the very start the word 'macro' to me means 'change the language' yeah but you can't make a message-passing scheme primitive, can you? 06:30am like a lisp vm that supports oop? that's why i'm trying to do this using oop ideas you can how using fsms? fsms? state-machines? it would not be the best way to do it so how would you support smalltalk using lisp? or better yet self haven't tried, but I seem to recall that there existed a smalltalk thingie on genera was it just an emulator or what? I don't know.. but I have seen "smalltalk in lisp" talk several times and i have used a lisp in smalltalk self has been implemented in lisp or do I mess it up with icon? no, it hasn't probably icon then but this discussion is silly.. well i don't see how the form of a macro can possibly not be covered by using rewrite systems what you implement stuff in doesn't matter that much 06:40am well, right now i am looking at putting primitive code at arbitrary points in the system rewrite systems will get you pretty far.. and being able to do it dynamically and explicitly but a rewrite system is mostly interesting for development within a language as I see it.. not for embedding other languages huh? i don't understand which way you mean your statement transforming trees within a language by macros help a lot.. but to embed other languages you often need to change much more have you used maude? I have read about it how closely, though? a white paper do you understand the difference between higher-order equational rewriting and macros? yes, dear -:- SignOff smoke: #TUNES (screw x plan) thanks asshole -:- smoke [smoke@15dyn129.delft.casema.net] has joined #tunes actually I talked to one of the people who work with maude last week ok what did they have to say about it? well we barely scratched maude in the discussion.. it was another system we discussed ok that helps we have discussed it earlier.. but that doesn't matter, does it? we don't really discuss maude everytime we talk oh well.. afk.. need food 06:50am it'd be nice if i didn't have to get patronized for every lisp feature i had never used he reminds me of fare that way 07:00am *yawn* hm the problem with lisp is that it turns programming lisp into everything, when programming shouldn't be everything. rather, using should be everything I know i think all the tunesers would gape if they had to use naming conventions from lisp if they wanted to work with the "core" of the system * Downix/#tunes nods, I know to chear you all up: http://www.oxygen.nl/windows.jpg ok, so i'm preaching to the choir seen it 8) 07:10am -:- SignOff AlonzoTG: #TUNES (Ping timeout for AlonzoTG[216-164-137-209.s463.tnt4.lnhva.md.dialup.rcn.com]) right now I'm pondering what is it exactly? how the hell could I design a GUI dunno, just seen it * smoke/#tunes is also pondering on how to design a gui :) to be precise, i'm on #gui for that :)) 07:20am -:- water_ [water@tnt-9-201.tscnet.net] has joined #tunes -:- SignOff water: #TUNES (Ping timeout for water[tnt-9-203.tscnet.net]) -:- water_ is now known as water -:- eihrul [lee@usr5-ppp120.lvdi.net] has joined #tunes eih! hey school? it's a holiday? oh yeah 07:50am well i figured out that i'll have to make embedded re-write systems instead of straight macros same thing, roughly, but a different style the only thing i found to say about mutability is that we don't have a good vocabulary for it * eihrul/#tunes ponders. and i figured out a few things about what mutability of reference has to mean, although i remember thinking the same thing some time ago -:- SignOff smkl: #TUNES (Ping timeout for smkl[glubimox.yok.utu.fi]) * eihrul/#tunes hmms. basically if we rely on clear (ones that don't cause problems) policies for primitive objects, then induction on reference to these primitives allows a notion of consistency hm maybe not simply primitives e.g. treating a number like a 32-bit integer seems to require the same semantics wrt mutability on a side-note... copy-by-value isn't necessarily a bad policy ok why not? because you only need to do copy-by-value in transitions between mutable and immutable references if an object has an immutable slot referring to an object and puts it in another immutable slot there's no reason to copy ok so lazy cop-by-value only dealing between the two gives problems -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes 08:00am but those interactions could be particularly difficult to track hm you'd require references to an object that themselves could be denoted as mutable or immutable to support this particular optimization 08:10am sorry i need to rest i was up all night k i have a lot to say (as always), but i'm just to tired i'll be back in a few hours i guess -:- water [water@tnt-9-201.tscnet.net] has left #tunes [] hmm 08:20am -:- rares [rares@nwhn-sh3-port119.snet.net] has joined #tunes -:- AlonzoTG [Alonzo@216-164-138-205.s205.tnt5.lnhva.md.dialup.rcn.com] has joined #tunes -:- future [xdef@209-6-184-165.c3-0.wth-ubr1.sbo-wth.ma.cable.rcn.com] has joined #tunes hey sup future rares, greets 09:20am so what's goin on future not much , just doin some work ;P (trying to anyway) I'm abusing Usenet my favorit usenet search is author nada_versace@altavista.net on deja.com ... 09:30am ad to think I plan to be a poster boy for communication everywhere 09:40am -:- hcf [nef@me-portland-us346.javanet.com] has joined #tunes bada bing bada boom Access blows 10:20am -:- hcf has changed the topic on channel #tunes to: slate @ http://www.tunes.org/~water/slate-home.html no customary TUNES, A Reflective Computing System &c? tightened focus ah 10:30am rmm, this is #tunes -:- hcf has changed the topic on channel #tunes to: TUNES, Free Reflective Computing System @ http://www.tunes.org || slate @ http://www.tunes.org/~water/slate-home.html thank you in case anyone cares, new url (iow, a site instead of just a paper) for sfs... abi: sfs? it has been said that sfs is Self-Certifying File System, a global decentralized and secure filesystem at http://www.fs.net or see 'sfs more' try freenet.sourceforge.net or is it .com? abi, freenet is a censorproof distributed filesystem abi, freenet is also at http://freenet.sourceforge.net okay, rares. freenet? abi, freenet? hmmm... freenet is a censorproof distributed filesystem or at http://freenet.sourceforge.net 10:40am abi: tell rares about abireq 10:50am -:- SignOff eihrul: #TUNES (Ping timeout for eihrul[usr5-ppp120.lvdi.net]) -:- eihrul [lee@usr5-ppp120.lvdi.net] has joined #tunes -:- SignOff Downix: #TUNES (Read error to Downix[d-gnaps-184.ici.net]: Connection reset by peer) -:- rares [rares@nwhn-sh3-port119.snet.net] has left #tunes [Segmentation] -:- _ruiner_ [blah@ppp027.wi.centurytel.net] has joined #tunes -:- SignOff _ruiner_: #TUNES (Leaving) -:- SignOff future: #TUNES (Read error to future[209-6-184-165.c3-0.wth-ubr1.sbo-wth.ma.cable.rcn.com]: EOF from client) -:- SignOff hcf: #TUNES (Ping timeout for hcf[me-portland-us346.javanet.com]) -:- hcf [nef@me-portland-us346.javanet.com] has joined #tunes -:- SignOff hcf: #TUNES (Leaving) -:- lar1 [larman@1Cust61.tnt1.sfo3.da.uu.net] has joined #tunes -:- MattBaggins [MattBaggin@flt2-1cc.twcny.rr.com] has joined #tunes -:- MattBaggins [MattBaggin@flt2-1cc.twcny.rr.com] has left #tunes [] -:- mibin [mibin@an1-796.tiscalinet.it] has joined #tunes -:- _ruiner_ [blah@ppp336.wi.centurytel.net] has joined #tunes -:- SignOff _ruiner_: #TUNES (Ping timeout for _ruiner_[ppp336.wi.centurytel.net]) -:- Kaufmann [newbie@dial825.infolink.com.br] has joined #tunes HEY! It's time to kick some Danish ass!!! what have the crazy danes done this time? it's _the_ crazy Dane, actually well, which and what? Bjarne Strous-unpronounceable-troup is being interviewed on Slashdot. oh Must... Kill... Bjarne there's still people in slashdot comments who're stuck in the procedural hell they think only about *practical* languages and shun academia :) what's even more frightening is that people seem to worship him well... look at it this way at any given time, the industry is way behind the science... so over C, it's a step up... and maybe sooner or later, you will have D, meta-programmable/reflective C with sexp syntax... heh and it'll still suck big time * smoke/#tunes has just coded a hangman clone in common lisp :] yes... but eventually they'll catch up anyone care to criticize me on my `functional' shortcomings? as soon as they run out of one letter names suffixed by ++ they will eventually use multi-letter names and eventually come to Lisp give them a century... it could happen! 02:20pm heh like the monkeys with the typewriters? yes but more predictable since they use successive letters... actually... at the rate langauges are standard it will take a few millenia to go from C++ to Lisp s/standard/standardized hrrrm I suppose for 4 letterword languages they're at the letter J already btw J is not in wide-spread use... is this a meeting in lispers anonymous? :) eihrul; sure about that? lisper anonymous? 1.5 million J programmers, eh? :) lol mibin: like AA.. just with lispers Well, if you're going to post a comment, please be sure to sign "CPPHA member" CPPHA = C++ Haters Association BRB -:- SignOff Kaufmann: #TUNES (A stranger is just an asshole you haven't met yet.) 02:30pm -:- Kaufmann [newbie@dial415.infolink.com.br] has joined #tunes -:- future [xdef@209-6-184-165.c3-0.wth-ubr1.sbo-wth.ma.cable.rcn.com] has joined #tunes Foo. hi bar baz anyway, back to our regularly scheduled diatribe -:- SignOff lar1: #TUNES (Leaving) Okay. C++ sucks... check. Bjarne should be sent to heaven... check. People are idiots... check. We the alien computer viruses from Alpha Centauri will soon shuffle our mortal coils and take over the world... ...check? don't you like St. Bjarne? i see -:- hcf [nef@me-portland-us122.javanet.com] has joined #tunes St. Bjarne is in fact Satan Bjarne in disguise. 03:00pm Nah. Maybe he's not really evil, just misguided. that holds for all saints, no? including the program saint? =\ what do u have against bjarne * AlonzoTG/#tunes needs definitive specifications on what precicely is in the box so he can kode driverz for OS. its like villyfing the inventor of the printing press because he didn't support TrueType fonts bah progress is iterative.. weren't c++ and clos invented at about the same time? prolly when the OO hype swept over the land... smoke: clos development was done between 85 and 90 sortof.. c++ between 80 and last year fufie: ah, ok Bjarne is like the guy who reinvented a crufty pseudo-printing press made of stone in 1900 and claimed to be the inventor of the printing press, completely ignoring the fact that Johannes Gutenberg had already come up with it three centuries earlier. -:- SignOff Kaufmann: #TUNES (Read error to Kaufmann[dial415.infolink.com.br]: Connection reset by peer) Fufie: not the difference between 5 and 15 years (perhaps reflective of the languages themselves :>) kaufmann: hmm bjarne never claimed that much, did he? -:- Kaufmann [newbie@dial632.infolink.com.br] has joined #tunes i dont think so Kaufmann eih: heh.. and remember that c++ has basically 10 years to learn clos on as well.. Are we done brainwashi^H^H^H^H^H^H^H^H^H^Heducating future yet? :) Bjarne is like the guy who reinvented a crufty pseudo-printing press made of stone in 1900 and claimed to be the inventor of the printing press, completely ignoring the fact that Johannes Gutenberg had already come up with it three centuries earlier. did he claim to invent OO? no have I already said that? yah.. urgh. Stupid dial-up piece of crap. anyway, C++ is crap and Bjarne must be sent to jail because of it. bill gates invented e--commerce, guis, spreadsheets, windows and word processors... al gore invented the Net he's the guy who took some good theoretical ideas and implemented a compromise between theory and practicality well... hey, its tin foil wrapped around a dirty piece of gum... it serves it purpose LOL Fufie sun invented object orientation in java Bjarne wasn't trying to make C++ the end-all and be-all, just trying to make certain tasks easier... no Fufie, but would you rather be using lotus 1-2-3 from the 80s or excel? future: am I allowed to say "neither"? i guess mathematica? future, nonsense. Bjarne is the guy who took a rather decent, however limited, programming paradigm, reimplemented it as assembler macros and got a huge percentage of the world's programmers to be forced to live with it. no one was forced, but yes that sounds about right henry ford invented the car rockefeller invented oil che guevara invented the beret a search for `lisp' on slashdot's comments for the 'bjarne' thing gives only 1 match heh Fufie who said he invented anything? he made OO a reality, by implementing a feasible oo platform. u know. one that actually ran, and sometimes program's actually finished! BAH 03:10pm future, there were _real_ OO systems long before Bjarne ever laid eyes on Simula. LOOPS. of course i filter all AC's Simula was real OO Smalltalk. LOOPS? what else? * Fufie/#tunes has hacked a lot of Simula sure sure.. so why aren't we all LOOPS programmers if it was so great? future: that's a 'stupid' question future, that's an ad populum argument in reverse. Short answer: people are stupid. ergo, u are stupid :P see there's no going around this point. i don't think ppl are stupid. how are people not stupid?!? in the Real-World lots of factors have to be balanced.. God damn it! #define stupid People are stupid. It's a fact of life. In fact, it's the driving force of history. i think the market, and the programmers chose the overall best platform to use. -:- SignOff AlonzoTG: #TUNES (Have Nice Day :)) Kaufmann: it's driving you now, man future, even programmers, as a group, are stupid. a) portability b) efficiency c) leverage of existing method (C) eihrul, I suppose even people, as individuals, are stupid. * smoke/#tunes feels stupid (i'll sleep on that, bye) if we're all so stupid, whats the point? well, the point is we're stupid... -:- SignOff smoke: #TUNES (z) future, the point is trying our best to acknowledge and overcome our inherent stupidity. 20 years from now... That's _the_ point, IMNSHO. we'll all be programming with Tunes thats a tall order from someone's who's stupid and we'll look back on people using Common Lisp as barbarians :) future, we're stupid... the least stupid of us are those that are able to look upon themselves, see how stupid they really are, and laugh about it. future: there are always trade-offs and sometimes c/c++ isn't the worst alternative.. and sometimes lisp isn't the answer theory people never understand the cold harsh realities, that working solutions always have ugly compromises that have to be accepted in the name of pragmatism especially Perl programmers... perl ppl don't think perl is ugly. they have a twisted sense of aesthetics eihrul, no... I think the CL people will be something akin to the Ancient Greeks... the barbarians will be the tribes from New Jersey. Yeah. Indeed, I have a twisted sense of aesthetics. * Kaufmann/#tunes will be teaching Perl courses future: what I think people react to is that c++ is populistic.. which is bad in the eyes of people who like good languages.. just like populist politics suck for people with genuine interest in politics * eihrul/#tunes pictures Kaufmann in a toga. Fufie, agreed eihrul, don't... it's too horrifying to even conceive Fufie, so any language that alot of people like is bad? future: but people vote for populistic parties/politicians maybe a revolution is too costly. future: not necessarily and who wil gurantee that you'll end up with something better anyway future, thanks for not generalising, y'know. I suppose the "theory people" you speak of encompass anyone who doesn't use the Accepted Language? even refomrers contradict themselves and propose tons of competing/opposing solutions the problem is that usually populism doesn't really get you ahead.. Kaufmann, theory people are people who don't balance the interests of theory and practice well.. fufie, good mentality. Yeah, why even _have_ an Industrial Revolution anyway? Who guarantees that what we'll have next will be any better than the pre-Victorian hellhole? see Kaufmann it's not a personal choice. the good solutions will rise to the top i think Kaufmann: you sure what we have now is? it was an industrial evolution by any standard and things happened _slowly_ no-one had to decide between steam engines and horses. the benefits were *obvious* hence ppl adopted it (I spent a few months really grokking industrial history) tsc. 03:20pm future: unfortunately you're right about how people choose future is evidently unfamiliar with the process of memetics. future: but don't scoff at people who believe there is a Better Way i know there's a better way. we haven't reached the optimal solution by any means Tunes! but to say c++ is a step backward is wrong i think (or was i should say) c++ is a step forward compared to C Fufie: seconded actually it is two steps ahead and one back Kaufmann, good memes rise to the top Fufie, anything is a step forward compared to C except maybe C++ :) Fufie: well, it's one step ahead that didn't quite get anywhere farther... as the saying goes... because of C++ we have java. jave is a marked improvement over old school programming heck, even hacking in hex is a step forward compared to C :) java is a step ahead of c++ Kaufmann: rmm, almost :) lisp is a few steps ahead of java Fufie: Java is still severely lame :) but lispers have always been very lonely up ahead can list to circular reference GC? to=do lisp rather err yes future, no, memes which make for the fittest behaviour rise to the top. To the detriment of the people who actually think them up, of course. future: can't any real GC? smkl, not perl or python real Fufie, not just Lisp, of course... you'd have to include the whole FP/DP/LP club the lisp community is awakening now though.. they hear the java crowdd and c++ people are getting closer Fufie doesn't want to include anything but CL :P eh, Java and C++ are dead... they're stopped growing :) hehe eihrul s/they're/they've java will soon have generic programming and persistence and? kaufie: much of the FP club went looking for nirvana but fell off a cliff called Really Really Sure that Static Strong Typing Is The Answer To EVERYTHING so long as these features are dictated by Sun... and did lisp ever have run-time code optimization? just being added at the company's leisure and not the *programmers*, as in Lisp, they're useless -:- AlonzoTG [Alonzo@209-122-247-211.s211.tnt8.lnhva.md.dialup.rcn.com] has joined #tunes future: it will smkl: actually I use my time in several languages Fufie, yeah past: it was future: run-time optimization is has nothing to do with language eihrul , i point u to perl regarding everyone changing the lang as he pleases Fufie, completely failing to acknowledge the fact that typing is just a particular kind of metaprogramming, of course eihrul, it's part of the platform. any language can employ most of the same optimization techniques as one wants future: eh? lisp vm could do every optimization a java vm could... kaufie: some of them are nowrealising that they fell off though but lisp doesn't have hype and lots of media backing... so noone bothers yes yes, theoretically, but show me the money? this is how ppl make decisions. not based on could-of or would-of * eihrul/#tunes sighs. err, could've would've -:- mibin is now known as flogisto optimization is independent of the language, damn it you're not a pointy-haired-manager you should be able to understand this :P yes of course Fufie, yeah. I've been reading up on Maude and some functional logic languages, and they're really quite interesting... kinda. unless there's something you're not telling us? :) no no im 'one of you' err actually im a c++ programmer so not really kaufer: chris de volder's thesis was interesting as well future, I'm a C++ programmer as well. Believe it or not. Kaufmann , aren't we all ;P Fufie: which thesis was that? type languages? deep-down inside Fufie, yes, I thought so. * Fufie/#tunes has written many hundred thousands lines of c++ we embrace bjarne'z shiny head (and generated even more) Fufie, although I'm still pretty sure that the whole thing could have been reduced to a couple dozen pages of CL code :P kaufie: I have reduced a 12KLOC c++ app to 2 KLOC lisp and the lisp code is doing much more hrmm. The whole TyRuBa thing was very much a kluge, thus rendering most of the following content almost unbearable with GC you gain alot of space Fufie, such is the power of SEXP :) eih: yes, about making type languages with ambiguities Fufie: with prototyping... you gain all the benefits 03:30pm Fufie: of what that thesis proposes, because types are first class objects just as any other, that can be manipulated as any other objects eih: yes and you have a meta-regression otherwise :) eihrul, I tend to agree. However, Kris' thesis focuses on strong static type systems because then you need types for the type language! yeah Specifically, it focuses on Java. (I wonder $why$) i skipped the java part :) somewhere in-between Kris' thesis and CL I think lies a very interesting system slate :) (shame-less plug) heh dassright, Lee, keep dreaming :) the c++ people has also done a lot of work on templates and their types i'm allowed, Kauffie! c++ templates could have been really good if they had made generic function support sure you are. Where would we be without dreams?... :) Fufie: aka templated functions? eihrul: yes they have them! they're not dispatching :( eh? you can specialize not really eh? afaik, template specialization is there... only on static types well, C++ is statically typed, man I want multi-polymorphism in the templates (ie generic functions) don't get ambitious and ask dynamicism from a static language :) lest ye result in D++ heh it has single-polymorphism on member functions.. why not ask for general polymorphism for the templates? wow. D++ would be almost as evil as COBOL but would it be as evil as intercal? hehe add comefrom as a feature in d++ and you have intercal lisp doesn't have goto does it it has GO go? where will it take u? TO a place ;) heh to a tag actually sounds like goto (go) is evil! it's very controversial and it is seldom used, but it is there for people who write e.g parsers Fufie: scheme does well without it... goto is undeservedly maligned.. it's useful in some situations like? like not having to next conditionals... to the nth degree eh? you don't in Lisp... 03:40pm it less useful with recursion you can return from arbitrary blocks... some algos appear more complex without a goto like approach eihrul: scheme is not often used for parsers afaik if u have a function that is a list of conditions to satisfy, goto can be used nicely to escape to the end otherwise you have to nest a bunch of statements and its hard to move the statements around once their nestifyied Fufie: never said it was perfect... but with contuations you can do a lot of nifty things though :) eihrul, Norvig makes use of CL's goto in _PoAIP_, IIRC tell me how to replace goto in an efficient way in a case like this one: future: that's what (cond) is for! eih: sure you can.. but will it be effective on _big_ files? (cond) owns you! eihrul, specifically, in the Scheme interpreter label: if (condition) { a; goto label; } else { b } cond? brief description? Fufie: if you have a really good compiler :) CL's GO isn't as ugly as goto though.. CL's GO only works _within_ a specified TAGBODY scope.. future: cond will check through a list of conditions and execute appropriate code associated with the successful one and the GO is there for generated code mostly.. flogisto, you can fix that with a control variable and recursion.. cant u? tagbody is still pretty fugly... Fufie, lemme check well, no one ever claimed that CL was perfect anyway :) future how? eihrul , ill have to look at some samples i=0 if (x) { a; i=1; foo() } if i == 0 b Fufie, nope, he uses (go) in a (prog) form, but that's all, no tagbody maybe I'm missing something or whatever, if (!x) future: but that approach isnt as efficient as the previous well heh it eats up stack space =) sure goto is faster than a procedure call :P kaufie: PROG is an implicit TAGBODY and (GO) goes to NIL which is that ones implicit TAGBODY Fufie, yeah, I thought I was missing something :) * flogisto/#tunes wishes while had an else clause =) -:- SignOff AlonzoTG: #TUNES (Read error to AlonzoTG[209-122-247-211.s211.tnt8.lnhva.md.dialup.rcn.com]: Connection reset by peer) uh, why? in lisp... tail is a tail recursive call which can be optimized to goto err that is if you wanted an else clause, you just add it :) Hmmmm. All prog rock, 24 hours a day. Nifty. KPROG! 03:50pm okay then -:- AlonzoTG [Alonzo@216-164-136-79.s79.tnt4.lnhva.md.dialup.rcn.com] has joined #tunes By the way, I've decided in favor of DrScheme instead of Squeak as the base platform for the Thinknet project scheme!? * eihrul/#tunes punts Kaufmann through the goal-posts. yeah why not perl? because Scheme seems to fit better besides, it'll be really easy to add a bit of reflectiveness not to mention that Scheme is conceptually beautiful drscheme is nice.. and the plt group is doing much good work Fufie, yep Kaufmann: CL! eihrul, no Kaufmann: whats thinknet? u havnt mentioned it (by that name at least) here b4 -:- SignOff AlonzoTG: #TUNES (Ping timeout for AlonzoTG[216-164-136-79.s79.tnt4.lnhva.md.dialup.rcn.com]) hcf, Thinknet is (with-buzzword "a free-form learning experience") it's inexpensive groupware combined with a distributed multimedia database Kaufmann: do _any_ of ur projects have web pages? 04:00pm hcf, not really anyway, I'm off. See you all later -:- SignOff Kaufmann: #TUNES (A stranger is just an asshole you haven't met yet.) -:- SignOff flogisto: #TUNES (Ping timeout for flogisto[an1-796.tiscalinet.it]) 04:10pm -:- water [water@tnt-9-199.tscnet.net] has joined #tunes doh hm? just on my way out :( np :) when will you return? rmm, anything in particular you wanted to discuss? on a side-note, making references themselves mutable or immutable is feasable with little-if-any space overhead one bit? * eihrul/#tunes nods. tagged pointers... gotta love them hm which makes detection of these transitions very easy well i think that mutability of references doesn't make a bit of sense unless we inductively work out the mechanics just an idea :) as opposed to copying everything... no it's a good idea but the notion of mutability needs to be clearly defined 04:20pm this is another something for me to put on the site docs great, i just realized i've fallen behind a bit on those docs well, the best way i can consider to work out mutability is to start with pointers to primitive datatypes and work "outwards" with more indirect references but then what about circular structures of reference we getting to the murky area of reification of references? :) maybe one thing is for sure, the numbers and character primitive objects will not be mutable er damn it that's not quite what i'd like either * eihrul/#tunes ponders. ok well don't let me waste your time right now, as i'm still just waking up k bbl -:- SignOff eihrul: #TUNES (Leaving) 04:30pm hmm yes? made a beep func for u abi: beep water i beeped water hm ok thx you have any input about this mutability issue? -:- NetSplit: irc.linux.com split from devlin.openprojects.net [04:37pm] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [irc.linux.com] -:- Netjoined: irc.linux.com devlin.openprojects.net -:- abi [nef@bespin.dhs.org] has joined #tunes -:- hcf [nef@me-portland-us122.javanet.com] has joined #tunes -:- water [water@tnt-9-199.tscnet.net] has joined #tunes -:- future [xdef@209-6-184-165.c3-0.wth-ubr1.sbo-wth.ma.cable.rcn.com] has joined #tunes -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- Plundis [plundis@130.238.23.252] has joined #tunes any comments about other slate issues? not atm, waiting for new docs ;) yeah i don't even recall exactly what needs to be doc'd 04:40pm the flattening thing oh yeah representations thx hm the squeak mlist is back up its hard for me to recall whats been discussed "conclusively" hm as in, i dont recall any conclusions for the math thing there weren't any just yet :( hm... an interesting feature: for any given object there is exactly one reference to it as for containership, but unbounded numbers for cloning from log: i'm working on about 3 different issues today. math/logic/text stuff for one. also i need to fit in the stuff we discussed about namespaces and related things the other day (web docs) and co-monads, so i can rationalize the use of the : keyword. hm and of course, macros bleh all with no definite conclusions yet 04:50pm ok well i'm going to take care of a few things and clear out the cobwebs from my head bbl refreshed and with ideas -:- water [water@tnt-9-199.tscnet.net] has left #tunes [] 05:00pm -:- water [water@tnt-9-199.tscnet.net] has joined #tunes hey hcf, this /. article suggests that i could use slate.cx or arrow.cx or something whatdya think? 05:30pm -:- water [water@tnt-9-199.tscnet.net] has left #tunes [] -:- rares [rares@wtrb-sh1-port43.snet.net] has joined #tunes -:- rares [rares@wtrb-sh1-port43.snet.net] has left #tunes [Segmentation] -:- water [water@tnt-10-32.tscnet.net] has joined #tunes water: sure, get a .cx or 2 06:20pm -:- SignOff hcf: #TUNES (Leaving) -:- hcf [nef@me-portland-us321.javanet.com] has joined #tunes -:- ult [noone@user-37kbamr.dialup.mindspring.com] has joined #Tunes -:- hcf has changed the topic on channel #tunes to: TUNES, Free Reflective Computing System @ http://www.tunes.org || slate @ http://www.tunes.org/~water/slate-home.html || win-nt vs. cp/m @ http://www.oualline.com/col/cpm.html -:- eihrul [lee@usr5-ppp120.lvdi.net] has joined #tunes yo cpm? ? in the topic -:- eihrul [lee@usr5-ppp120.lvdi.net] has left #tunes [] -:- eihrul [lee@usr5-ppp120.lvdi.net] has joined #tunes heh bbl k -:- SignOff eihrul: #TUNES (Leaving) 08:20pm water: u gonna get slate.cx or arrow.cx? most likely -:- rares [rares@wtrb-sh5-port17.snet.net] has joined #tunes i doubt anyone will register modality.cx before i do, though, so that one can wait hm. street address and phone number? does tunes have an address or something, or do i have to put in personal info? i dont know domainname poop -:- _ruiner_ [DIY@ppp300.wi.centurytel.net] has joined #tunes well they're looking for contact information personal they want you rares: it's for me as tunes member otoh water: have tril do it nah i'll just give them the personal contact stuff 08:30pm -:- SignOff _ruiner_: #TUNES (destroy what destroys you) http://c2.com/doc/case87.html any comments on this article? 08:40pm also, i'm thinking i should only register arrow.cx and just have slate as a part of the overall site. comments? what about <>? it's not a valid domain name i could use modality, i suppose -:- air [brand@p0wer.qzx.com] has joined #tunes geez i need to stop getting on lots of channels but modality seems relatively separate, more of a social project than otherwise what about water.cx for all? why not just tunes.org? tunes.org/slate tunes.org/arrow ;) because tunes has different goals Heh. And here I was, all along, thinking that slate *was* tunes ;) the differences are subtle most of the difference is what i want to do with slate vs what tunes could / would do oi What do you want to do with slate? make arrow, of course arrow? abi: arrow i think arrow is a homo-iconic information manipulation system intended to support programming and human languages in the way that Tunes should. at http://www.tunes.org/papers/Arrow/ http://www.tunes.org/~water/ Of course. But beyond that, what? ult: isn't that enough? :) 08:50pm Slate is Tunes and Arrow is Tunes no it isn't Ok -- Arrow is what you think Tunes should be. no hrmm, too bad Arrow_Technical.ps isn't available in html tunes is tunes... it has it's own way of doing things that doesn't work like arrow details, details... arrow_technical is practically empty right now water: icuc, i'v removed all puncuation around urls in abi's factoids, ie no commas etc i have a lyx document with the technical stuff oh i dont have squeak up tho.. err, installed that is ok arrow.cx is mine heh i should probably write up arrow in html docs agreed! html is much friendlier :P well i need to get slate going first especially since thinking about slate has helped me figure out how arrow would work hm some things i was thinking of tonight led me to believe that i will need some complicated implementation techniques for slate mostly having to do with the fact that containership relation is hierarchical for which parts bleh. maybe i should just update the web docs water, are you in skewl? no do u work? heh yes very much so 09:00pm hrmm. i wuz just wondering how you have the time/energy to work on all these things i can handle like 1.5 projects at a time simple: i'm obsessed :) indeed and i don't code anymore BIG waste of time there :) hrhr ^r^e actually, i write smalltalk stuff kewl so your 'real job' isn't programming? which hardly seems like serious coding lol they sometimes force me to write in vb but otherwise no ahh water's a navy goon! * water/#tunes <- self-taught he shoots innocent women and children in Iraq with cruise missiles! * future/#tunes self taught as well no, i work the nuclear reactors Who isn't self taught? ;) with vb! haha kaboom ;P the vb ain't for the reactors General Protection Fault in Cooling System at 0x2F897FA4 anyone who knows anything is self-taught true.. the colleges certainly aren't teaching pyuter engineering. yeah the cs dept prof's at my college didn't even understand my prototype language (which was the ancestor of slate) heh what did they think it was? they couldn't figure it out man well it has some tough concepts for the avg. person to fathom Well, one of the two of you did something wrong =P The universe is too complex to not be simple. I'm betting on the other ne. ne = one * ult/#Tunes grins Goodnight. betting is illegal! I'm gonna go to bed. * ult/#Tunes bets future is gonna get *ThWaPeD* ult the problem is the simple people want to add more layers of interfaces sleep good it makes me sick * ult/#Tunes *ThWaPs* future 09:10pm * ult/#Tunes collects on his bed I want less and I can o it bet too heh if I use files rares, pure microcode? rares well look at physics... my language will have two commands: 'von' and 'neumann' lol future ult Newtonian Mechanics is just an interface to Quantum Mechanics... Quantum Mechanics is just an interface to who knows what... Quantum mechanics is a 'best-fit' solution to a paltry set of data points yes but at the data info theory level there is a bottom * water/#tunes decides to turn off the noise Is there? yes I see no bottom... I will find it send me a /msg when it gets quiet and to-the-point here slate, slate, slate heh -:- water [water@tnt-10-32.tscnet.net] has left #tunes [] yipe Anyway...too tired to discuss philosophy! Has anyone seen eihrul? abi: seen eihrul eihrul was last seen on IRC 53 minutes and 53 seconds ago, saying: bbl [Mon Feb 21 20:19:15 2000] that's funny hmm the dreaded 5353 he was on for 10 seconds or so i guess. only the shadow knows 5-3+3=5 2+3=5 5=5 3+3-2+3-2=5 -:- SignOff ult: #TUNES (Leaving) umm I think water's pissed he's perpetually pissed :P i still think files blow databases away no, i just suggested that working on slate docs would be better use of his time than irc ah yah irc is a waste i should be working but....im tired even then I probably should not mention my feeling that cyc is off the deep end in his presence hcf tell me abi didn't record that abi: cyc? i guess cyc is at http://www.cyc.com or going nowhere (says rares) yipe as per recording (aka learning) abi: abireq? addressing me is now REQUIRED. i will only listen/learn/respond when addressed publicly (abi: ...) or privately (/msg abi ...) iow, i put it in well I guess I should rid of... databases hmm rares man what do you have against dbs? too stiff for my needs what needs? simplexity explain.. as ult was saying 09:20pm ? the universe is too complex not to be simple a db can do anything u want w/it :P ppl are too stupid for the universe to be complex only if I'm the only one writing into it u have a deep-seated f3ar of databases get other programmers who can't abstract involved and my nice little db becom,es the darkest side of Microsoft Foundation Classes hehe thats a scary place I have a deep seated fear of stupid programmers dynamic db is too slow exactly plus the question reinterpretation of the structure of the data gets hairy question of what does tunes have to say about The Web? or information architectures on a large-scale? abi, xanadu? i think xanadu is an imperative language with dependant types at http://www.ececs.uc.edu/~hwxi/Xanadu/Xanadu.html abi: xanadu is also The Original Hypertext Project at http://www.xanadu.net okay, hcf. hcf xanadu is obsoleted partially by freenet and eternity in those filesystems the files gets cut up in pieces and sent all over the net that first xanadu is very interesting i dont know about eternity, but i read about freenet today one thing that struck me as odd: potentially hopping through lots of nodes to find a piece of data also, the data isn't structured. it's just 'keyed' eternity is Usenet based meaning it's stronger than freenet but freenet is much more versatile 09:30pm we need structured data now. not for censorproofinmg right.. ok i didn't see how data couldn't be traced in the system it canbe reconstructed into strictured data strictured... I like that eventually you will connect to the actual data source, thus revealing the providers ip nope you missed a very important thing the more people look for it the more it moves around popularity caching well cmon. you can never find the root 'origin' it leaves the publisshing point almost instantaneously i got the impression they were also gonna make it hard to find the source of the actual copy the key is the ISPs cannot be held responsible because they have absolutely no way of knowing where it is hrmm. im not sure that will hold water tho.. future plus there's no traveling history kept it will if you want to censor something you have to find the original writer good luck no, you just have to take down any node bold enough to share it you do not know whi is sharing the nodes are not readable you have to know what to ask for to retrieve A says to B, where can i get X? B says, oh you can find that at C right? and C is one of the many nodes (potentially) that have a copy of X only the program can read that message humans can't even read it it's like napster you don't ask serverA for blah no? you ask this distriubuted entity called napster slick ain't it no it's a very Good Thing but i was worried about the multiple indirection a says i saw that at b, b says i saw that at c, etc.. Ian Clarke did marvelous job designing it you mean too masny hops? yah, hops slowing down the whole thing popularity caching nullifies that right now, conecting to a good web server for one stupid request can be horribly slow 09:40pm caching is a slow, gradual thing.. well guess what which is faster ghetting your data or finding the quickest route then getting your data yes yes thats a win popularity caching is much faster and it tries to avoid clustering which leaves no point of failure so if a connection accross the continent is faster than one in your hometown the data will move there what if you had a bunch of distributed data servers with anonymous data pools, bit pools. a mish-mash of actual information. no one would know what was inside the pools. but to get a resource X, you would re-assemble the actual information from the obscurity that's what it does well no, it doesn't 'hide' the data like taht plus there's time to live limits so iut's also DoS proof im saying, if you captured a node, it would contain NO information. it would just have random bits from lots of different pieces of data right you would have to capture nodes in 20 countries the question is, who would provide the 'blueprint' for re-assembling a piece of information? it's in the way it's keyed I can't explain that [part yet nono this is slightly different from freenet I used to be on that list but f-cpu whisked me away in freenet, nodes actually have copies of whole files. future no they don't ?!@# they're splkit into equal size pieces oh. that wasn't made apparent -:- water [water@tnt-10-32.tscnet.net] has joined #tunes and then scrambled that i did not see hey water ok i added a little to the semantics page so who knows how to unscramble? water, url? -:- topic unset by future on #tunes shit s/slate-home/slate-semantics future ask the list... can someone fix that ? (the topic) -:- hcf has changed the topic on channel #tunes to: TUNES, Free Reflective Computing System @ http://www.tunes.org || slate @ http://www.tunes.org/~water/slate-home.html thx hm the semantics page structure is unwieldly future: do u know what the s// notation means? yah, subst future: k, just hadnt seen u use it for spelling correction like the rest of us oh, i use ^x^y sometimes (as in the *csh subst macro) or s,x,y since the delimeter is whatever follows s :P X is using 100MB of swap x.org needs to get a kick in their asses future: sure, but non perl ppl dont know that I know what the problem is oh that doesn't work in perl? and they have no CVS up -:- water [water@tnt-10-32.tscnet.net] has left #tunes [] future: it only works in perl ermm what about sed and awk 09:50pm future: just perl afaik s/ is originally from awk or ed or some old skewl text processor probly from teco iow, further back, from qed yow itz like back in the days of: eniac% edsac% ls at least they weren't considered criminals then 01 criminals? geeks = criminals says who? ever Jon Q Reporter s/ever/every abi, freenet? hmmm... freenet is a censorproof distributed filesystem or at http://freenet.sourceforge.net i love it. total anarchy unfortunately it won't be fast and i think itll have some problems with nodes going up and down (like irc) but that stuff can probably be refined heck you could send out for three copies of the same thing and just piece to gether the fastest ones yes thats nice very nice see complexity from simplicity NOT MFC! :) i wonder how they determine the optimal chunk size probably user configurable 10:00pm anyone here read "modern compiler implementation in C" by andrew appel? no not me air, blue book? green i think its the second edition it has really ugly messy C code 10:10pm -:- SignOff rares: #TUNES (KVirc 1.0.0 Millennium BETA 3) -:- water [water@tnt-10-32.tscnet.net] has joined #tunes its been idle here for a while k so here's an interesting question: what happens when you ask for the 'result' of a slate object that depends on slots' values that haven't been set? or maybe "what *should* happen?" it *should* be like partial-evaluation, i think but in traditional oo, slots are initialized to "nil" perhaps slate objects would be initialized to a clone of root or something to guarantee basic functionality otoh, i don't see how the partial eval metaphor works unless you can send accessor msg's to the object later to complete the calculation (by fully filling in the slots) who are u talking too? isnt that like a race condition? ;) air: not you hm return on a unset slot => 404 value not found, try later lol i just had an interesting idea 10:50pm perhaps i don't need a special object-format for message-styl computation itself maybe 'result' would simply call upon private message-send slots in a call-by-need data-flow fashion hm an example would be better you have this object that is a block-style computation some of the slots are for input: those have special meta-behavior which enforces this -:- hcf_ [nef@me-portland-us1047.javanet.com] has joined #tunes -:- SignOff hcf: #TUNES (Read error to hcf[me-portland-us321.javanet.com]: Connection reset by peer) -:- hcf_ is now known as hcf others are internal state, which could be temporary values but also could be intermediate computations by being message-send expressions both would be externally similar in behavior, but one would merely be data, while the other would actually perform one step of the calculation sounding good and 'result' would simply be a reserved slot that always is the last step and return value one problem might be though that you'd have to name all the slots which could be seen as helping the programmer by forcing him to document code heh of course, it might also be a useless nuisance sometimes :) hm if i use this kind of system, then its possible that some of the expression-slots might completely evaluate while others just returned themselves i guess that's it: they return themselves partially-eval'd, of course which also fits in to the idea that an object's representation is the calculation that produces it, since such a system winds up with a completed calculation expression whose 'result' is the answer :) 11:00pm well, it sounds good anyway, and i don't have a reason that it can't be done like that yet i still have to take care of concurrency... i think i need some good primitives to make that work right hm self/smalltalk don't work like this at all. in their cases, methods are series' of expressions separated by "." delimiters. but their final expressions are the return value have u looked closely at fully lazy langs? hm one interesting caveat: each expression will have to access the incoming data using ../ not very recently 11:10pm hm i just realized my namespace metaphor invalidates having anonymous objects/functions -:- SignOff future: #TUNES (gottago) 11:20pm -:- SignOff air: #TUNES (http://www.qzx.com/ :: sleep) i bet that there's a way around that, but it's not obvious to me right now name them anon because the only way to have anonymous functions is to construct it on the fly using message-sends and immediately getting the result hm well yes that satisfies the implementation, but i was considering the effort required of the programmer i guess you could easily send messages to an object-constructor expression it'd be roughly like this: "root (addslot ....) invoke slot" hm that's not so bad * water/#tunes downloads scwm to consider a hll gui that someone else has written i never even got into constraints-solvers with my original prototype 11:30pm [msg(TUNES)] newlog 2000.0222 IRC log ended Tue Feb 22 00:00:02 2000