IRC log started Thu Apr 27 00:00:01 2000 [msg(TUNES)] permlog 2000.0427 -:- epsasnova [epsas@adsl-61-119-209.mia.bellsouth.net] has joined #tunes -:- SignOff nate37_: #TUNES (nate37_ has no reason) Hello peoples -:- smoke [smoke@15dyn170.delft.casema.net] has joined #tunes 12:20am -:- SignOff epsasnova: #TUNES (starting X) -:- NetSplit: fontana.openprojects.net split from tolkien.openprojects.net [12:52am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [fontana.openprojects.net] -:- Netjoined: fontana.openprojects.net tolkien.openprojects.net -:- smoke [smoke@15dyn170.delft.casema.net] has joined #tunes -:- NetSplit: varley.openprojects.net split from mccaffrey.openprojects.net [02:08am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [varley.openprojects.net] -:- Netjoined: varley.openprojects.net mccaffrey.openprojects.net -:- smoke [smoke@15dyn170.delft.casema.net] has joined #tunes -:- abi [nef@bespin.dhs.org] has joined #tunes -:- SignOff smkl: #TUNES (Ping timeout for smkl[glubimox.yok.utu.fi]) -:- smoke_ [smoke@vengeance.et.tudelft.nl] has joined #tunes -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- kala [kala@203.197.134.216] has joined #tunes -:- SignOff kala: #TUNES (Read error to kala[203.197.134.216]: Connection reset by peer) -:- dirt [mindfvck@niantic0320.mohawk.net] has joined #tunes -:- SignOff corey: #TUNES (Ping timeout for corey[net255ip95.parklink.com]) -:- SignOff smoke_: #TUNES (bbl) -:- Ghyll [karltk@msx-osl-16-26.ppp.cybercity.no] has joined #tunes -:- Kyle_L [kyle@cr168790-a.nmkt1.on.wave.home.com] has joined #Tunes eihrul: are you there? 06:30am -:- epsasnova [epsas@adsl-61-119-209.mia.bellsouth.net] has joined #tunes -:- hcf [nef@me-portland-us923.javanet.com] has joined #tunes -:- corey [coreyr@net255ip95.parklink.com] has joined #tunes -:- SignOff eihrul: #TUNES (Ping timeout for eihrul[usr5-ppp209.lvdi.net]) -:- lotik [lotik@cust213.tnt1.dial.cal1.uunet.ca] has joined #tunes wow.. lots of people on or maybe not -:- SignOff lotik: #TUNES (Leaving) -:- lotik [lotik@cust213.tnt1.dial.cal1.uunet.ca] has joined #tunes -:- lotik [lotik@cust213.tnt1.dial.cal1.uunet.ca] has left #tunes [] 08:50am -:- SignOff Ghyll: #TUNES (Ping timeout for Ghyll[msx-osl-16-26.ppp.cybercity.no]) -:- NetSplit: forward.openprojects.net split from sterling.openprojects.net [09:13am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [forward.openprojects.net] -:- SignOff dirt: #TUNES (Leaving) -:- Netjoined: forward.openprojects.net sterling.openprojects.net -:- epsasnova [epsas@adsl-61-119-209.mia.bellsouth.net] has joined #tunes -:- ruk [wrong@niantic0320.mohawk.net] has joined #tunes -:- NetSplit: fontana.openprojects.net split from tolkien.openprojects.net [09:27am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [fontana.openprojects.net] -:- Netjoined: fontana.openprojects.net tolkien.openprojects.net -:- smoke [smoke@15dyn170.delft.casema.net] has joined #tunes -:- SignOff epsasnova: #TUNES (BitchX: treats external genital warts!) -:- SignOff hcf: #TUNES (Ping timeout for hcf[me-portland-us923.javanet.com]) -:- hcf [nef@me-portland-us922.javanet.com] has joined #tunes -:- hcf has changed the topic on channel #tunes to: TUNES, Free Reflective Computing System: http://www.tunes.org/ || Slate Language: http://www.tunes.org/~water/slate-home.html anyone seen elysium? the project on sf? abi: elysium? elysium is a project that applies modern design techniques - such as participatory/cooperative design - to the design of a microkernel-based exokernel OS at http://elysium.sourceforge.net is it any fun? dunno 12:00pm -:- SignOff Kyle_L: #TUNES (Leaving) -:- Kyle_L [kyle@cr168790-a.nmkt1.on.wave.home.com] has joined #Tunes hohum 01:00pm -:- NetSplit: lackey.openprojects.net split from sterling.openprojects.net [01:01pm] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [lackey.openprojects.net] -:- SignOff Kyle_L: #TUNES (Read error to Kyle_L[cr168790-a.nmkt1.on.wave.home.com]: Connection reset by peer) -:- _ruiner_ [blah@ppp397.wi.centurytel.net] has joined #tunes -:- SignOff _ruiner_: #TUNES (Leaving) -:- SignOff hcf: #TUNES (Leaving) -:- ult [ult@user-37kbam5.dialup.mindspring.com] has joined #Tunes -:- SignOff ult: #TUNES (Leaving) -:- eihrul [lee@usr5-ppp74.lvdi.net] has joined #tunes * smoke/#tunes is interested in non-object oriented gui design.. any ideas? try fudgets or frantk or something like that 03:10pm -:- Kyle_L [kyle@cr168790-a.nmkt1.on.wave.home.com] has joined #Tunes Kyle_L: you wanted something last night? i fell asleep... Yes, please. welp, ask it now then :) I was asking about the diff between inlining and PE. well, inlining is a performance concern :) Water was implying that they have a common theme, but the only common theme I see is the fact they have to do with optimization, but diff types of optimization. My oriinal question was why is inlining such an early concern? Are their speed issues already? -:- Ghyll [karltk@msx-osl-15-47.ppp.cybercity.no] has joined #tunes well, slate is very abstract and allows for a lot of flexibility this flexibility has to be optimized away when it isn't needed (transparently though) to be atleast somewhere close wrt efficiency as inflexible alternatives :) inlining is only one part of that SO speed has not been an issue, but is expected to be very soon? uh... speed has always been an issue Slate is slow? if implemented naively yes, it would be very C code would be pretty slow if it wasn't optimized Is Slate slow now, with current implementation? not to the magnitude of slate, but it would still be measurably slower uh, what does it matter? the only implementations we have right now are toys I too have considered inlining code is my project. But I have not come across a situation, during prototyping, that needed it. 03:20pm * eihrul/#tunes sighs. there's a difference between needed and may benefit substantially from it i.e. no code really needs to be optimized but speed can benefit substantially from optimizing in the right places Do not get me wrong, I do know the value of inlining, but I am a lazy coder, and will not implement something that will have negligable effect. * eihrul/#tunes shrugs. you're not implementing slates compiler so what you want to do has no bearing on what i want to do :) and by not implementing these optimizations you force the programmer to do them explicitly (look at C, C++, etc for a horrifying example) The programmer only has to implement optimizations if they are needed. being not lazy in the compiler means you can be lazy in programs * eihrul/#tunes shrugs. even then, other people will need them to so sharing of optimizations becomes expedient rather than every single programmer that needs them implementing them himself i'm not trying to do every possible optimization in slate compiler All I am getting at is that slate is expected to be slow because it is very dynamic. To overcome this speed issue inlining is used. just ones that i feel can be implemented well immediately and, what's your point? OOpps!! gota go! eihrul: will the compiler be easily accessible from within the language ? that's something water and i already knew :) Ghyll: well, the goal is to write the compiler in it eventually so the compiler should be as accessable at the very least as any other code written in slate assuming the previous sentence eihrul: does this mean there will some sort of meta-object protocol where you could write your own customized code generator for special functions ? eihrul: more or less make a new compiler for specific object ? eihrul: object/objects certainly could be a possibility right now i'm just trying to enumerate what optimizations need to be done then speed issues would conceivably go away for even the hardiest of nitpickers. unless the target system for the compiler was fixed to a high-level machine specification. then i will think about a framework that allows them to be done and expanded upon :) Ghyll: if you want to help me and water with the compiler, you're welcome to :) which items do you have in your enum so far ? eihrul: I'd very much like that, but I don't feel like I'm enough of an expert on the slate design (yet). What documents water has put don't seem to the the be-all end-all of slate (not that I expect there to be such a document). -:- XeF4 [xef4@194.255.106.103] has joined #tunes 03:30pm constant propagation, inlining, strength reduction, partial redundancy elimination, register alloction via graph coloring, instruction scheduling, dead code elimination, stack allocation, and a few other things i can't recall off the top of my head :) ah, pretty much the standard stuff. also a number of dynamic optimizations register allocation via graph coloring? like run-time type feedback, loop unrolling of sensitive loops, straightening branches, etc btw, the graph coloring for register doesn't work too well on register starved computers, does it ? (or was the complete opposite ?) eihrul: very self-inspired :) yeah -:- SignOff smoke: #TUNES (z) inlining and constant propagation i want to be very dynamic but none of the expensive optimizations are ever going to happen immediately going to use self-like thresholds will the compiler work to a platform-independent VM ? only the compiler's intermediate language which may even be different across platforms ah, ok. this means in practice that all programs must be distributed in source form ? Ghyll: well, things like register coalescing can improve upon graph coloring schemes, and graph coloring is reasonably fast eihrul: I does sound like you are doing many optimizations. You plan for the compiler to be around for a while? i hope so :) Kyle_L: most of these optimizations are pretty necessary for any decent compiler. so long as it allows for extensible optimizations beyond those it should be around for a long time :) Thanks. Now I know why you are concerned with inlining. I assumed that a complete Slate compiler would be early in development, removing the need for the static compiler. you're familiar with ibm's montana compiler ? nope should i be? :) not necessarily. it's their c++ compiler used in visual age for c++. well, what is noteworthy about it? for a c++ compiler it's pretty nifty: you can hook into pretty much everything from the tokenizer to the .obj generator. so like pliant, but for c++? :) which means you can make a custom-compiler for you project, to fit your needs. not read about pliant. pliant lets you work on both the instruction language and the high level intermediate language abi pliant pliant is probably at http://pliant.cams.ehess.fr 03:40pm Kyle_L: are you inferring that it is not applicable in a dynamic compiler? eihrul: except that in montana, you have to make .so files to link into the compiler. there's no kind of meta-level language you can sprinkle around in the actual source. eek :) though, i'll still take a look there's only been some very sketchy papers on it over at acm.org. ugh, acm? that has been the death of many a good postscript hunt for me... Kyle_L: inlining is even more important in a dynamic compiler! how so ? acm? well, you need a membership! ah, well, I'm a member.. found out that getting the plethora of papers was really worth it. besides, I also have access through my uni. so if you have a list of papers you want, mail me at ghyll@iname.com, and I'll do what I can. well, i'm not in uni :) plus with cora i can usually find papers that aren't hoarded by the acm there was a time when I really thought that people would publish articles freely on the net. then www.graphicspapers.com was closed before it started, and I lost faith. then I joined acm.org and started leeching from their digital library as much as I could. well, cora and research index work for me i just try to avoid acm for now :) understandable. plus the thought of charging for such a research is kind of disgusting er resource I'm not really sure that I agree in this specific instance. 03:50pm I won't defend acm, but I know they've put a lot of money into the digital library. money that could get nowhere but from memberships. charging for the _right_ to access information? EVIL. most of the acm articles have been meticulously scanned from older paper releases. Fare: definitely ACM is EVIL. * Fare/#Tunes will never join the ACM as long as it practices such evil deeds. fare, eihrul: I do see the point, and I do also agree. But the situation is that somebody has to pay for the manhours gone into this... Sure, one has. Ghyll: sponsors? banner ads? That's what subscription to the ACM should pay that's what ACM conferences should pay Fare: it does. Fare: acm conferences cost acm money, they don't generate it. Anyway. IP is evil. eihrul: yes. heavy industry sponsoring would of course be ideal. and only fair. Fare: Amen! Fare: information hoarding and patents are evil. Ghyll: if the ACM would sell its conference books itself, instead of giving the exclusive copyright to evil publishers, it would make money. did I say that these publishers were EVIL? Fare: then the books would be poorer, more expensive, and acm probably wouldn't make as much money on it. publishers hoard ip. well, right now, i'm not getting any papers from acm :) and i'd imagine a lot of people aren't either... eihrul: sorry for the slow reply. I do agree that inlining is important in a dynamic compiler. 04:00pm why would the books be poorer? have any of you considered what dynamic recompilation will do to the instruction stack ? s/stack/cache/ Considering that the publishers do strictly NOTHING, bring 0 added value, then the ACM doesn't need them poorer in actual quality; they usually are when they're released on a small-time publisher. well, ok, they add the value of collecting the documents into one book. That's one man-day of work. The rest is printing, and any printer can do it; no need for a publisher. they do offer the articles in another medium. That's trivial to do. tat's not entirely true. if you've borrowed your share of books, you know that some printers do a good job, others don't. the large publishers usually have good printers. Ghyll: "instruction stack"? Reminder: in CS conferences, the authors do all the typesetting, etc. Publishers do NOTHING. They just add pagenumbers. I don't bother if the material is released on big evil publication houses, as long as they don't get exclusive publishing right. Ghyll: choosing a good printer isn't worth the price of going through a publisher eliminate the middle-man if you think this madness is bad, I only say eBooks. (worse, the publishers demand a ready-to-print copy, and delegate adding pagenumbers, etc, to the editors) when recompiling functions, won't the memory suddenly become fragmented much more easily ? Why more fragmented? Ghyll: you mean instruction cache? not with inlining The problem with instruction cache and dyn compilation is _flushing_ Ian told me that hurts badly on an ARM flushing the instr cache or the pipeline ? well, flushing should not happen too often in a dynamic compiler I think it also hurts badly on HP-PA, IA-64, Transmeta-foo, etc Ghyll: both, I presume. it usually does. Fare: well, again, does flushing a specific instruction sequence from the cache really happen that often? except for processors with short prefetch queues, like mips. 04:10pm Why would dyn. comp. be used so much that flushing is an issue? I would imagine the compliation would dwarf the flushing. I have no preconception on how much of the time will be spent recompiling, but as you point out, it should be neglible. eih: on many architectures, everytime you generate code, you must flush the i-cache Fare: not really (well, you must between the moment you generate and the moment you execute) the only time you need to flush the i-cache is a particular piece of memory is reused though determining reuse could get complicated :) will the compiler ever be recompiled ? :) Ghyll: sure that's why it might need a trampoline Fare: you could also do lazy flushing if the mmu was flexible enough I might have asked this before, but how small do you expect to be able to get a working slate implementation ? It all depends on the architecture. The i386 is nice (one of the few things it does nicely) well, depends on what a working slate implementation is :) some strict Harvard architecture RISCs are not nice at all. Ghyll: ask water about slate Fare: I get a point :) 04:20pm -:- hcf [nef@me-portland-us323.javanet.com] has joined #tunes -:- NetSplit: sterling.openprojects.net split from clarke.openprojects.net [05:04pm] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [sterling.openprojects.net] -:- Netjoined: sterling.openprojects.net clarke.openprojects.net -:- Fare [rideaufr@esmeralda.enst.fr] has joined #tunes -:- abi [nef@bespin.dhs.org] has joined #tunes -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- corey [coreyr@net255ip95.parklink.com] has joined #tunes -:- eihrul [lee@usr5-ppp74.lvdi.net] has joined #tunes -:- Ghyll [karltk@msx-osl-15-47.ppp.cybercity.no] has joined #tunes -:- XeF4 [xef4@194.255.106.103] has joined #tunes -:- hcf [nef@me-portland-us323.javanet.com] has joined #tunes -:- NetSplit: sterling.openprojects.net split from clarke.openprojects.net [05:23pm] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [sterling.openprojects.net] -:- Netjoined: sterling.openprojects.net clarke.openprojects.net -:- Fare [rideaufr@esmeralda.enst.fr] has joined #tunes -:- abi [nef@bespin.dhs.org] has joined #tunes -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- corey [coreyr@net255ip95.parklink.com] has joined #tunes -:- eihrul [lee@usr5-ppp74.lvdi.net] has joined #tunes -:- Ghyll [karltk@msx-osl-15-47.ppp.cybercity.no] has joined #tunes -:- XeF4 [xef4@194.255.106.103] has joined #tunes -:- hcf [nef@me-portland-us323.javanet.com] has joined #tunes -:- water [water@tnt-10-109.tscnet.net] has joined #tunes slate :) hi all 06:10pm lo hey icuc i figured out lambda-abstraction in slate: result meta-recursion care to elaborate? hm not just yet.... reading mail and such i've been really mulling over the proper use of the Big Four slots, as well mostly *starting from* the perspective that objects are function-applications that create the behaviors they provide * eihrul/#tunes is finding s(o)+ many papers on optimization. heh well, as soon as i get done with my busy-work here, i'll stop and really explain what i've been thinking on if only i could read these during school.... * water/#tunes is waiting for good strongARM-based pda's to come out water: why strongARM ? speed what do you want speed for ? and low-power consumption when i don't need the speed Squeak, silly :) of course. I forgot you were an avid squeaker.. squeak's end-user software is getting better lately good. last time I checked it, it was very buggy. 06:20pm and (cross my fingers), the JIT framework will be ported to the strongarm I've been seriously considering lending a hand to ef or perhaps japhar or kaffe. egads, then i still have the dyncomp hcf found yesterday to mow through heh i have 20 papers on redundancy elimination alone :) I've been stuck on the front-end part for too long now. Time to delve into the guts of a compiler/language implementation. cool Ghyll: you going to help me? :) eihrul: sure, when there's something to do. eihrul: I just have to clean up the top items of my project stack first. should only take a few weeks. wow, then slate project could even have three participants :) total world domination :) * water/#tunes cackles >:) I'll be the Good, you two fight over who gets to be the Bad and the Ugly :) heh sure ghyll: when did you last check out squeak (i.e. version#)? water: say about 1.5 months ago. oh it was squeak 2.7 yeah, too much of it is in flux same version (public) now seems to be the 23rd of October 1999 version. 2.7alpha. alpha? why did you get alpha code? that's what the .changes file say on the top. it might be changes _from_ the alpha version. the changes file is formatted strangely and is hard to make out. hm most likely uh? you read it with an ascii editor? * water/#tunes just uses the change-sorters it's obviously in mac format. yep so the lines never wrap here. 06:30pm * eihrul/#tunes hmms. "code optimization as a side effect of instruction scheduling," hmm hell, yes this guy has lots of nice papers :) still trying to leech them all... if i only had the attention span for them well, you read a lot, no? or is it for the specific subject? i read a lot, and the subject would distract from what i'm good for playing solitaire ? * Ghyll/#tunes is being off-topic again. apologizes. :P 06:40pm the papers never end... at 40 now hm a new developer's tool for smalltalk nice and modular, too for doing what specifically? here's the quote: Attached is the code for my GalleyViewer. I created it as part of my Sr. project. It is a flat class viewer, that contains the entire class within one window. From inside of this window, you can edit and compile your code. Enjoy. i can see how that would be useful :) * eihrul/#tunes likes viewing all the code at once to see how it interacts. you want the changeset? * Ghyll/#tunes imagines doing that with the linux kernel well, sadly, i haven't been doing much squeaking lately mostly gv'ing Ghyll: one page of linux code is sloppy enough... 06:50pm * eihrul/#tunes shudders. * Ghyll/#tunes yawns. the rest of the family will soon awaken. time to hit the sack.. hm at long last. some shithead has fixed lilo just a few years late. -:- SignOff Ghyll: #TUNES (rip) you don't mean when they put tetris into lilo do you? :) that was abrupt 07:00pm cool, found a paper on dynamo hey cool hm it seems i'll be going out a bit tonight getting drunk? well, to summarize the new ideas for slate stuff: hm most likely not until i get back and even then only one glass of wine anyway, slate... i'm perfectly satisfied with the ontology of the four main slots, with the exception of structural handling (which i'm still mulling over) structural handling being as in how objects themselves are represented? however, that doesn't mean that those four slot ideas can stand as is yep at various levels of course meta, parent, .., what am i missing? result oh, yeah :) well anyway, meta and .. relate two objects which are almost always totally unlike each other yep but parent reaches directly into the function-call expression that builds the object which means it's no ordinary slot in fact, it's just a user-interface (programmer) feature, in a sense 07:10pm anyway, i was considering that varying the notion of what an object is and where its parent begins dynamically might be really useful darn it, brb * eihrul/#tunes is loving links. links? oh you're doing the research-by-url thing abi: links is at http://artax.karlin.mff.cuni.cz/~mikulas/links/ heh no it isn't ;) 07:20pm yep, links supports multiple background downloads unlike lynx oic i can download 5 research papers and still keep looking for more :) ah very useful, then, for a terminal client -:- SignOff XeF4: #TUNES (Off) 54 papers and climbing 07:30pm hm i'm going to keep working on the ideas about the big four slots tonight hopefully, i'll wind up with a really clear picture on the Right Way to do lambda-abstraction in Slate 60 papers :) once that's done, if i tackle the symbol/quoting/namespace issue, i'll be able to complete my thoughts on Scheme/Common Lisp vs Slate you know we're pretty crazy, reading this much research well, why not? :) well, don't forget that 'foo is a short-hand for (quote foo) :) dunno, most people don't have the attention span bah :) yeah, where quote's primitive anyways (just to put it in perspective) maybe i should look at joy's unquoting again 07:40pm well, (eval) is pretty much "unquote" in lisp hm yes that makes sense despite finding all 60 of these papers slate seems to make quoting seem odd, since it already treats all its data as functions and vv i haven't found the single paper on performing partial redundancy elimination using ssa that i was originally looking for :) ask hcf :) hcf: umm, there? am now hm my http access is fubar eihrul: ur looking for a specific paper? know the author(s), title, etc? one sec lemme find it 07:50pm cooper, value-driven code motion also, simpson, value-driven redundancy elimination close, http://citeseer.nj.nec.com/did/66713 oh, well, there u go and http://citeseer.nj.nec.com/did/139496 linked to from the 2nd hcf: right paper, its just simpson co-authored with cooper :) 08:00pm hm squeak as a mail server just got better a squeak mail server? yep supposedly it'll be where the squeak mlist will move to hmm, i keep running out of hard drive space in the process of downloading papers :) and every squeak image distro will have a client window for newbies to ask questions and of course it will be squeak-enhanced email :) which will definitely be something to show off what exactly does squeak enhanced mail look like? :) oh, embedded morphs and such, mostly, as well as squeak scripts in protected namespaces (latter for security) of course it'll be highly-experimental for a while but it'd be great to have changesets shared dynamically instead of having to resort to using the os to get the plumbing done well, bbl tonight -:- SignOff water: #TUNES (The Tao went that-a-way!) 08:10pm -:- SignOff hcf: #TUNES (Ping timeout for hcf[me-portland-us323.javanet.com]) -:- _ruiner_ [DIY@ppp070.wi.centurytel.net] has joined #tunes -:- SignOff _ruiner_: #TUNES (destroy what destroys you) -:- rares [rares@nwhn-sh5-port72.snet.net] has joined #tunes wow thinned out 10:30pm -:- rares [rares@nwhn-sh5-port72.snet.net] has left #tunes [] -:- SignOff eihrul: #TUNES ([x]chat) [msg(TUNES)] newlog 2000.0428 IRC log ended Fri Apr 28 00:00:01 2000