IRC log started Thu Mar 2 00:00:00 2000 like in postscript * eihrul/#tunes notices that water bandied about the "C"-word in the logs. hm eih: well it's not like i complimented it :) embedded in documents and files, right? also in apps [msg(TUNES)] permlog 2000.0302 like CadForth (the first forth i ever learned) any ideas though? not off the top of my head well... tell me if you think of something. eih: done with school work? finished the novel will leave it at that for the night wow it's been a while since i used forth nate: ever used geos? water: nah, what it? * eihrul/#tunes still needs to look at forth's meta-programming facilities. abi geos? i don't know, nate37_ its an os with a good gui and apps that runs on 16-bit x86 * eihrul/#tunes shudders. free? no too bad? can I download it at all? most likely that first '?' was supposted to be a '.' open source at all? just say "s/?/./" no how old is it? water: reading through the hybrid paper, now eih: k nate: at least 12 years iirc 12:10am any good, small, 8086/80286/8088 OSs that are open source? (besides minix) hm freedos? :) elks? i suppose cp/m is open source by now any GUIs? nate37: otherwise, have you looked around on the OS review sub-project? elks uses nano-x a little, but not much. which also has microwindows (a Win32 [shudder] layer above nano-x) I'm trying to come up with a OS that is like linux but it's main interface is GUI. designed to run atop elks umm, that's evil.... you replace one limiting concept with another :P :-p good god 64-bit forth on a cray y-mp that's really screwed up not quite.... so long as the compiler is intelligent enough you could get some decent intermediate code out of it abi cray? nate37_: bugger all, i dunno a single stack language on a cray?!? have you learned nothing from self? :P you can optimize away the stack! bah and i've been recently informed that there's a forth compiler that does exactly that forth's stack should never get bigger than 32k Is there any good online reference on parelle ports specs? and aliased stack values to registers otherwise something is terribly wrong -:- _ruiner_ [DIY@ppp115.wi.centurytel.net] has joined #tunes hm water: the size of the stack is not the issue... it's that registers happen to be faster :) yeah i know it's just too weird a concept to have a stack language whose stack gets optimized away umm... to have a meta-programmable language whose meta-object protocol gets optimized away :) not quite dude compilers remove a lot more abstraction than they used to... you over-estimate forth's reflection abilities water: Is there any good online reference on parelle ports specs? (pins out, etc..) nate: yes there is this one site with excellent info water: and secondly, i don't see there needing to be any correspondence between the language and what the processor actually executes, so long as its transparent within the language itself eih: whatever, just read water: what's the url? nate: don't recall gah... :) >-( 12:20am nate: do a net search "programming ieee-1384" or something like that heh. turn that old 286 into a bovine rc-5 node :D :-p or just serve up web pages it only has a 40 MB hard drive ;-) so? not to many web pages. and slow. bah this sounds suspiciously like apertos (or a vanilla thread migration model) only the first 6-7 pages are worth reading i liked it because it explained how the idea worked btw, www.forth.org is run by forth have you considered overclocking your 286, btw? :) * eihrul/#tunes thwaps water over the head with the 286 Architecture Manual. i've heard that if done right, a 6502 can handle 5mhz 8) no. hm a parser generator for forth 12:30am it is a 10mhz, but the turbo switch in software, so I think it is only running at about 7mhz :-( eih: are you thinking what i'm thinking? :) hm i doubt you can get a 286 manual online who me? well you might have to look around a bit yes why do I need one? and how do I overclock (by what 2mhz?) to figure out how to trigger the turbo switch you mentioned yeah. I have some manual somewhere... it's a NEC PowerMate. -:- SignOff air: #TUNES (http://www.qzx.com/ :: sleep) eih? was reading oh well there's this parser generator for forth :) ? * eihrul/#tunes boggles. just thought you'd like to know how about overclocking? hell if i know water: hmmm.... i see what you could well be thinking.... yes a nice small implementation based on a language many tunesers find cool eerily enough... self's intermediate representation is a stackish language :) 12:40am water: i've heard rumors of a native forth compiler as well... yep page 8 yeah they have a wierd idea of delegation yes... -:- nate37_ [nate37@ppp-206-117-27-156.dialup.pcmagic.net] has left #tunes [] though the term delegation does loosely apply..... sure * eihrul/#tunes abuses punctuation. 12:50am but it boils down to a synchronous wait which specifically waits to be notified of when a target has performed and completed servicing a message only... its more convoluted heh oh, not even close.... instead of blocking, it allows another message to be serviced at the price of managing many execution contexts for each delegation 01:00am i don't even consider their delegation mechanism worth thinking about, honestly yes, because it's quite odd like i said, pages 1-6 or so it amounts to cooperative threading yep atop the activity mechanism they already have... just ignore it, man well, have to go to sleep anyway :P ok -:- SignOff eihrul: #TUNES (sleep so that i may awake to nightmares) 01:10am you still there? <_ruiner_> yeah Anybody know how I would overclock a 286? <_ruiner_> nope <_ruiner_> why bother? water: didn't you mention it before? I don't know. -:- SignOff water: #TUNES (Ping timeout for water[tnt-10-98.tscnet.net]) 01:30am -:- SignOff nate37: #TUNES (Leaving) -:- SignOff _ruiner_: #TUNES (destroy what destroys you) -:- smoke_ [smoke@vengeance.et.tudelft.nl] has joined #tunes -:- SignOff Fufie: #TUNES (Leaving) -:- SignOff smoke_: #TUNES (Read error to smoke_[vengeance.et.tudelft.nl]: EOF from client) -:- SignOff smkl: #TUNES (Ping timeout for smkl[glubimox.yok.utu.fi]) -:- smoke_ [smoke@vengeance.et.tudelft.nl] has joined #tunes -:- SignOff Plundis: #TUNES (Ping timeout for Plundis[130.238.23.252]) -:- SignOff smoke_: #TUNES (One day sheep will rule the world) -:- Plundis [plundis@130.238.23.252] has joined #tunes -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- Kaufmann [newbie@200.224.105.86] has joined #tunes Foo hey, Microsoft invented symlinks 08:50am the question is - are they really symlinks or is more involevd smoke, well, it's symlinks plus a program that hashes file contents and goes around looking for files with duplicate hashes. 09:00am Just like half a dozen Unix FSs already do. tsc. URLs are really really stupid. -:- rares [rares@204.60.55.80] has joined #tunes rares, don't you think URLs are stupid? Universal good thing I don't have to buy ana apop for every little resource like off internet porn dial-up ana apop =- an app WTF is ana apop? ah Resource broad good Locator well what else would I do with it the idea is good, but the implementation is terrible K' it's just like unix www.whatever.com? WTF is that? great idea never finished exactly just the kind of thing that one would expect from the Unix crowd Gakuk Kukag? just passing by, but not kukag yet Fare: can you send me a log of last weekend on #lambda or something? there's a #lambda? how come I didn't get the memo? K' actually the top level domains are a left over feature of the Nuclear Network protection system DARPA was TLDs are stupid smkl: I have no separate log, unhappily smkl: only a one huge mess of a log not just TLDs... the whole idea of basing the whole system on necessarily unique ASCII strings just reeks of New Jersey. then on what should it be based silly phone numbers IP addresses? are you on channels that you don't want to give me logs? no K the Internet == New York l;earn to live in New York reap the benefits you mean, like, #teensex, #crAk1dw@r3z, or suches? 09:10am heh Fare rares, no... each resource would be registered with a local name or ID under a server or container, and the contents of servers would be indexed and available for public query by naming services. check the latest from MS on slashdot or perhaps #terrorist_hideout rares, I was just talking about it with smoke unfucking believABLE Kaufmann: what? you mean binary formats? who wants to write the bash script w/ me Fare rthey invented symlinks Kaufmann: but who can handle and debug binary formats, when the common language is C ? Fare, I'm just saying that the whole concept of a locator string isn't necessary in a better thought out architecture Fare, exactly and who can base standards on anything but C, in a world where you have to interoperate with proprietary software and proprietary hardware? K the Internet == New York learn to live in New York reap the benefits Locator's should be a general purpose infrastructure easy to build and understand making them specialized woiuld choke the net second rares, here's an example of what I have in mind, in pseudo-Scheme: (let* ((ns (naming-service-connect "192.168.0.1")) (rh (naming-service-query ns "Jimi Hendrix"))) (map display rh)) See? how exactly do you suppose the naming services would be handled Kaufmann: that's the purpose of such things as "ORB"s K that's too tightly wound Fare, yes, but again, the implementation is terrible, and again, it's New Jersey's fault :) for instance, my lab has developed that flexible ORB infrastructure, Jonathan in, urg, Java how would you deal with other languages scalability gets real difficult sorry K NJ can't be the root of everything even though I deal w/ NJ everyday who wants to write the bash script w/ me (auto symlinks) what's NJ ? :-> New Joysee rares, if "Locator's should be a general purpose infrastructure easy to build and understand", then how come the DNS system as is today is such a horrible mess? How come we have all the problems with NSI and ICANN? The fact is, there are better kinds of locators than one-dimensional ASCII strings. urgh s/one-dimensional/unique/ the New Joy is the Old Sorrow? New Jersey 09:20am rares, actually, I would use Perl to do it K because of .com .org .net and .blah we have problems rares, "NJ can't be the root of everything" - uh? Fare: can you try to moderate #lambda ? how that, "moderate" ? /mode #lambda +m couldn't you? rares, the proposed Scheme binding is just that - a Scheme binding. The actual implementation would be language-independent. K there's a problem rares, which is? K: to most people, "language independence" means "low-level language binding, and everyone else can try to fix the mess" you would have to have public multicasting cpabilities and no anonimity Fare, well, thankfully that's not the case with this one :) rares, how so? you would have to search all servers at once to find info rares, not necessarily... you could do something like Freenet, where if a NS doesn't find a given piece of data, it passes the request on to others K you're trying to open the treasure chest with the key in your hand and the lock on the inside of the chest rares, why is that? how do you index the NS's what do you mean by "index the NS's"? Naming Services are located how? the problem for me is I want any fool to be able to be an ISP I am sick and tired of the elitism going on elitism as opposed to skill and competition competition? haha! and if there's no competition, there's no need for skill. rares, you can't really expect to index all NS's. There'll be independent NS's, just like there are independent NNTP servers nowadays, despite the fact that there is "the" NNTP network - namely USENET 09:30am no one in one's right mind would use BIND for anything else than Internet-wide DNS it's such a horror Fare, well, yes hey - who was it that invented BIND again? Everything is a service over the Internet USENET is a 7-bit weakling rares, so? the only thing that matters is a protocol as for that comment about unfinished unix... heh the reason unix sucks compared to a non existent perfect system is because they gave up the faith actually, Freenet comes quite close to what I want this to be. My only real problem with it is the fact that the reference implementation is in Java. but in all other respects, it's a very good idea. you have /dev/dsp /dev/tty* no /dev/video? K I was on the list for 6 months :) 09:40am I know it's a great idea ...that, and the fact that Freenet "objects" aren't actual _objects_ kukag K do they really need to be at this stage? Fare, finally! :) rares, well, it'd certainly be nicer than enforcing permanent data serialisation in other words, I think it's better to implement these data objects as actual objects in the system than to make them simple blobs of data to be pushed around it's the Lisper in me talking :) nothing that (read) wouldn't take care of dude I care more about full access to the features for everybody plus censorproofing uh? censorproofing is the main reason Freenet exists yeah, I know brb back 09:50am methinks I'll write a Web interface to Freenet :) I think that would be cool at the very least it'd make Freenet more accessible I want freenet for ISPs dammit ... which is where the other point comes in. In a Tunes-like system (even in Squeak (or Native Oberon, from what I've seen)), the Freenet node would just be another object, integrated to the rest of the system and accessible in all the standard ways. But in today's systems, it's a completely separate and different program and if you want to access it, you have to download and compile a specific client I'm overdosing on ambition I need to code something before my head pops compilationm should be limited to interfaces not objects granted make is easy :) 10:00am make?!? *head pops* and all this time I've been compiling by hand using vi on hex mode and K&R, even "you sissy boy! _I_ edit the inodes by hand... with a magnet!" 10:10am nah I'll use the incoming cosmic rays to precise corrupt my data into useful programs won't the resulting software be filled with Heisenbugs? no I will perform native American Heisenbuerg compensation rituals 10:20am aaah makes more sense now just have to figure out what the hell those pesky superstrings have to do with it. http://www.segfault.org/story.phtml?mode=2&id=37a48b53-051fa9a0 superslikies are better slinkies even LOL makes sense -:- SignOff rares: #TUNES (Ping timeout for rares[204.60.55.80]) -:- rares_ [rares@204.60.30.39] has joined #tunes -:- rares_ is now known as rares abi, CORBA? CORBA is an open standards document which describes how to make remote objects work together, independent of programming language. at http://www.omg.org and http://www.corba.org abi, databases databases suck hehe I read yesterday a heartwarming critique of relational databases 10:30am abi, relational databases? bugger all, i dunno, kaufmann abi, relational? abi, relational? kaufmann: bugger all, i dunno kaufmann: no idea * Kaufmann/#tunes kicks abi abi, lag? kaufmann: bugger all, i dunno tsc abi, rdbms abi, relational databases are brain-damaged abi, lag is something that only happens to you abi, lag? i heard lag was something that only happens to you ah well, I'm off -:- SignOff Kaufmann: #TUNES (A stranger is just an asshole you haven't met yet.) cya 10:40am -:- SignOff rares: #TUNES (KVirc 1.0.0 Millennium BETA 3) -:- Fufie [stig@tunnel-44-14.vpn.uib.no] has joined #tunes -:- SignOff smoke: #TUNES (Ping timeout for smoke[16dyn155.delft.casema.net]) -:- smoke [smoke@16dyn155.delft.casema.net] has joined #tunes morning smoke :) hi :) * smoke/#tunes is coding a rotozoomer 01:40pm -:- SignOff Fufie: #TUNES (Ping timeout for Fufie[tunnel-44-14.vpn.uib.no]) -:- Fufie [stig@tunnel-44-38.vpn.uib.no] has joined #tunes a rotozoomer? yes, you know them? it's something that's not very well possible in lisp :) I don't know them :) (esp. because they're not very well possible in lisp ;) 01:50pm hehe :) a rotozoomer is a demo effect in which a picture (typically 256x256, 8bpp) is rotated and zoomed onto the screen (typical 320x200 at 8bpp) in realtime the goal is to make it draw 70 frames a second to get fluent animation asm job in other words no i've done it in pure c in asm it would be easier, since you have more control, but for some stupid reason i stuck to c :) fufie: have you ever seen a demo? what can I answer to that? I have been young once.. ;) but it's many years ago :) yes, i've seen second reality yes, i've seen a demo to a cool game no how old are you now then, if i may ask? :) when did I say that? the first quote doesn't sound like something I would say you didn't say that, i made it up for you to cut&paste your favourite answer :) the second quote sounds like a sarcastic remark I could make :) if you have some time, visit http://www.oldskool.org/demos/explained/ 02:00pm but I dropped out of the scene eight years ago I am 24 _8_ years ago? :) must've been a500 or c=64 then :) a500 and c=64 was chic 12-15 years ago :) i am 22 and of course still young :) yes, that's how the world works.. how young you are have nothing to do with age ;) -:- hcf [nef@me-portland-us311.javanet.com] has joined #tunes last thing i released in DOS was in 1995, and now in linux everything is reviving and i'm having fun again :) heh :) -:- SignOff hcf: #TUNES (Leaving) why is my desk always so messy? 02:10pm is anyone here actively following TeXmacs development ? -:- eihrul [lee@usr5-ppp86.lvdi.net] has joined #tunes 02:50pm *shrug* eh? 03:00pm -:- lar1 [larman@63.27.225.46] has joined #tunes -:- Kaufmann [newbie@200.224.105.251] has joined #tunes Foo Bar so what's up? Quux! ah, Lee... always the odd one out :) Lee to MIT! ;) so I've finally got a reason to start working on a new OS 03:30pm I'm thinking of something between Retro and Squeak. Low-level in Forth. lar1: actually, cmu first... :P but stallman probably doesn't have pull there :) heh well, considering that the current MIT administration is in love with Microsoft, he probably doesn't have much pull there either well, CMU is better anyway :) it's expensive too But Lee to CMU doesn't rhyme right... well, Lee is lucky. Try rhyming with "Rafael". that is, once you decide how the hell to pronounce it in English! Heh Like the dude in teenage mutant ninja turtles! "Ray-phee-eel"? "Rah-phah-ehl"? so many choices... :) "Rah-phee-ell" is how I proniunce it. Although looking at the spelling... my pronounciation makes little sense I'm thinking of changing my name to Tzvi Muchnik Heh, why? 03:40pm "Muchnik" was my greatgrandfather's family name... "Tzvi" was my grandfather's Hebrew first name i have to go with "ra-fa-yell" eihrul: Yeah, that looks better then mine Kaufmann: also the guy who wrote acd&i eihrul, speaking of which, do you have a copy? uh, yeah wanna lend it to me? I'll pay for the postal fare i'm still reading it.... :P and secondly, you could buy it for as much as the postage Whats acd&i????? advanced compiler design and implementation Ah. eihrul, I think not. I used to order shitloads of books from Amazon all the time, and the postage was never outrageous. usually on the order of $10/book -:- SignOff smoke: #TUNES (z) ACDI is going for what, $60? books are heavy to carry around must be cheap workers who carry a book all the way to brazil for $10 :) though, remember that amazon is to be boycotted.. don't use amazon LOL yeah, I know "type noamazon.com instead" "gee, but I've already got it bookmarked" the wonders of point-and-click 03:50pm >>> Kaufmann [newbie@200.224.105.251] requested PING 952041514 from #tunes -:- tcn [tcn@cci-209150250061.clarityconnect.net] has joined #tunes Hey tcn hey Tom tcn's name is Tom? Tom Novelli, IINM IINM? if I'm not mistaken Ah or is this a completely different tcn? I should hope not! heh yeah, it's me what's up? not much\ I've got a legitimate reason for writing a new integrated OS, and I'm thinking of doing something similar to Retro 04:10pm (by "legitimate reason", I mean excuse) hmm.. a lisp os? maybe I'll adopt _some_ kind of Lisp as the HLL, but the LLL will be Forth and what's your excuse? :) I'm working on a design for a new brand network computer, which will need a completely new OS ... instead of going the Oracle way and simply cashing in on the "Linux" craze is this a job or hobby, may I ask? 50/50 :) as soon as a VC shows up, it'll be a job :) haha I had some computer designs too.. never really took it anywhere I wrote a general design doc some six months ago... it's at http://www.osopinion.com/Opinions/RafaelKaufmann/RafaelKaufmann3.html ok As far as the OS goes, I'm thinking of something halfway between Retro and SqueakOS (plus the obligatory JVM implementation bolted on) brb 04:20pm back a single-user, client machine hrrm? well, that'll save ya lots of trouble.. what? *blinks* not being a server ah bah.. make it easy for yourself and use a freenix and CL atop it LOL Fufie... with that kind of mentality, where would we be today? :) here.. ;) tcn, well, even so, with a bit of tweaking I could hack up a server version of the system I'm a firm believer in smart design as a panacea say.. if you can get this off the ground you'll create a market for MY computer design :) * Fufie/#tunes is a very firm believer in the fact that he is going to bed very soon :) heh The Right Thing and all that I was working on massively parallel... problem is, hardly anyone needs more than one CPU 04:30pm The Right Thing is a good thing to chase for.. but always have a backup plan to meet the deadline tcn, well, "needs" is very subjective ok, if they weren't using windows or unix any decent programmer who is given a five hour programming task will use four and a half hour writing a tool to do the job for him and use the last half an hour to use the tool.. it could be argued that most people's needs would be fulfilled much better with, say, an eight-way system of 25 MHz stack processors, than with a Pentium II Fufie, hell yeah hehe the normal programmer will use his five hours to program a normal solution and maybe leave work half an hour early (note that 25 MHz stack processors are what, $10 apiece?) If stack processors had been developed earlier, we'd have had chips with 8 or 16 CPUs on 1 chip, at 16mhz, instead of the 386 tcn, that's what I like to think the wannabe-smart programmer starts to design an OS and delivers his solution three years late ;) not to mention that functional and declarative languages are perfect for parallel stack machinesw how many transistors in a 386? dunno * Fufie/#tunes crawls to bed g'night Fufes later fufie later! I know the latest chips have about 10 million.. or, if the F21 is 1 mm square, and the P3 is 10 mm, you could fit 100 F21's on it :) this computer will probably end up as a 4-way 403 (main station; plus another one in the display module for control of the video and 3D boards) heh I think it's a rather nice design. I just want to figure out how to write an OS to run on it i've seen 3d video cards using PPCs anyway all I've come up with so far is disparate ideas, and generally of the very high-level varietyu I'd probably benefit from a very simple OS design you've built some machines, right? 04:40pm and just taking advantage of Forth's extensibility by equating OS modules with Forth dictionary entries tcn, not really I've done only a bit of actual engineering work heh. I have a hardware project I never work on... it's a stack machine built from low-scale TTL chips sounds fun :) if I'd just pick up some tri-state latches for the internal busses, I could finish it.. ah well yeah got any tips and general thoughts on OS design? keep it simple, is all I can say yeah hrrrm Forth is basically a way of storing and looking up WORDS, and you can use that functionality again and again.. yes without any complex object-orientation schemes I'm thinking of a very simple system in a Forth with multiple vocabularies, it acts like a filesystem or object hierarchy yeah, I considered something of the sort... implementing the object database (w/ orthogonal persistence) as an augmented Forth dictionary 04:50pm maybe you could take that 'vocabularies' concept and try it with a different language... maybe "linear LISP" since you like stacks :) yeah brb back "linear" in what sense? If you'll always have less than 2^32 bytes of total storage, you can get away with a very simple persistent storage scheme.. One of henry baker's papers describes Linear LISP.. (it has "The Forth Shall Be First" in the title) It's a more forth-like lisp wait, nevermind... sounds familiar heh speaking of Henry Baker, I read something by him yesterday Linear LISP assumes a machine that can roll the stack efficiently... but you won't find that machine.. a heartwarming critique of relational databases oh cool, where? "critique" isn't quite the word... more "bash" i'd think joy is a more modern same kind pf approach btw, you should still check out linear lisp.. it might inpire you I hate fucking relational databases! so do I... those outer joins are so hard to disrobe :) the aforementioned critique is at the new(er) LangCrit page and SQL.. christ! RDBMS lets you take the easy way out on garbage collection, making it easy to create something like MS Access, but really painful to do anything complicated with it langcrit? no help from abi :( lemme find the URL 05:00pm http://www.people.Virginia.EDU/~sdm7g/LangCrit/ well, Letterman is on... so I'm off * eihrul/#tunes ponders. letterman and kaufmann are mutually exclusive? uh-oh, they've figured out my secret identity * Kaufmann/#tunes scrams -:- SignOff Kaufmann: #TUNES (A stranger is just an asshole you haven't met yet.) sounds like baker was inventing another kinds of databases 05:10pm eh? the critique i'm gonna show Baker's letter to my managers it's exactly how I feel only Baker has a lot more credentials than I do 05:20pm -:- air [brand@p0wer.qzx.com] has joined #tunes hey air -:- SignOff lar1: #TUNES (Leaving) -:- water [water@tnt-9-97.tscnet.net] has joined #tunes hello again delegate (water.greeting); heh how goes it? popping a few ibuprofen then soon it will be better, i suppose :) -:- tcn is now known as earth 06:00pm hi tcn so eihrul, do you have anything to say about concurrency? well, the current contender seems to be a standard migration/fork-ish system ok however, if you went with something like hydra but how much can we get that idea to do? you have another notion of 'space' hydra? oops wrong system :) hybrid heh * eihrul/#tunes knows too many h-names. because then you have the domain of an activity but i'm not sure hybrid went too deeply into scheduling matters -:- earth is now known as tcn could this notion of 'space' be implemented as a simple version of our namespace idea? oh, hello water.. I forgot I was in osdev water: well, the domain of an activity is orthogonal to a namespace heh its a graph of objects yeah that seems intuitively true a control-flow graph but it wouldn't seem to hard to have a graph as a bunch of references (clones) to the original objects and make it just a simple type of object-as-namespace it is a namespace 06:10pm however... it can span many real namespaces yes that's what cloning does for you (a point i have wanted to bring up) actually, scheduling isn't an issue in hybrid hm why not? well, if an activity is powered by a dedicated processor if the activities are time-shared, then it is an issue well sure i mean, we'd never have to schedule if there were only one object (activity) per processor i don't see that as unique to hybrid at all unfortunately, most people only have one... i suppose well, they probably made hybrid for one of those 1000 processor monstrosities research centers are so fond of hm in fact, even self doesn't support multiple activities (not without explicitly 'emulating' them) well... as a simple off-the-top-of-mind brainstorm given computation stream er given computation streams (threads) a time-sharing object would consult with the stream over what they would do with a given quantum of time this being orthogonal to true parallelism hm that looks like it spells "overhead" well... its basically an abstract description of a scheduler :) that exists in every time-sharing operating system known to geek... no i disagree "consulting with the stream" is definitely not the semantics of a scheduler 06:20pm well, not consult in the literal sense more like just sending a message notifying it (poor choice of wording) hm ok you mean the thread "says" when it wants a bigger slice? eih: care to explain? :) rmmm, it's just a scheduler :) i'd say the answer is "yes" 06:30pm hm no response well, in that case i'll elaborate you could probably compile the results of such message-sends into the generated code, so that there's only the usual small number of bits passed around to get the scheduler code to cooperate foo so, eihrul, how would you like to handle forking and migration, particularly syntax-wise? 06:40pm * eihrul/#tunes hmms. good question two ways to do it... semantically you could make a message fork the execution path or make lazy computations not only be 'forceable' but 'forkable' so maybe we could add another slot besides 'return' for forking? * eihrul/#tunes ponders avoiding school tomorrow and staying home to read more papers. well, is 'return' the equivalent of 'force' basically, yes but not quite n/m just "yes" the fork message would implicitly just include a send of 'return' to the object * eihrul/#tunes nods. though * eihrul/#tunes ponders what environment a forked process evaluates in. er... computation :) yeah brb it is a whole new stack hm now if we're doing this with the intention of expressing it only as migration... then it's simple to see what the return value is 06:50pm and the stack gets reclaimed by the memory manager hm that still only tells us what namespace the computation runs in i'm thinking you have a different idea about environments... care to share? hello? was in another window * water/#tunes doesn't usually hang out in windows ;) well, actually, its a closure so no problem i don't quite see quite see what? you're saying it's as simple as "no environment change" on fork? rmm, i'm saying its a closure yeah that's a pretty clear concept hm ok so it executes in the namespaces its bound to right just like a bound message :) cool 07:00pm though are these namespaces the namespaces in which the closure is defined? (as in other languages) well you can clone to migrate okay which introduces all the problems that dynamic scoping has in other languages, of course but it's something that has to be *done* explicitly to be used so do we have a 'fork' slot in Root or not? but what would it mean to just fork an object? to go about getting the 'result' in a new thread it's just an idea well, it could work but Root is starting to get bulky :) the fork returns the value like a rendezvous yes i suppose rendezvous? blocking!? well, if the rest of the computation finishes before the forked computation has the needed return value, i don't see any alternative to blocking besides, you could look at blocking as a special case of lazy eval in this case blocking defeats parallelism :) not necessarily and it's not really a block i mean, what else do you do with a computation that's waiting on a value? 07:10pm well, i think waiting should be explicit make it "pretend" that it has it already? fork and join are two separate operations how so? fork could return some object denoting the computation in progress or thread or whatever if the original thread so chooses the way i have it, "myObject fork" is just a value expression that happens to be remote it may voluntarily wait for the computation to finish by using a join operation well that's a migration not a fork as a fork literally 'forks' the control-flow how would you do fork/join with messages? you'd do it with a closure closure being a bound message yes so every message-send is a fork :) and fork returns a computation-in-progress that is parallel/asynchronous * eihrul/#tunes digs around for a particular apertos paper. well this seems very different from self it better behave well well, it does POSIX threads happens to use this particular model :) why? it's asynchronous, for crying out loud! :P well, parallelism... posix threads can kiss my a** just because it's posix doesn't mean it belongs as the default for a high-level language well, i don't see how you can express true parallelism otherwise i think that it's possible and i'm not resorting to "use posix because it works and i can't think of anything different" for a pure oo language especially not for something that is supposed to give tunes a shot in the arm so there :P :) well... the one thing this eliminates is waiting for the result -:- SignOff tcn: #TUNES (tcn has no reason) that sounds impossible to me 07:20pm how could i continue evaluating without return values? well, it's a fork :) "well, it's a spoon" :) and actually which means what? rmm, fork just creates a new activity/domain *ahem* what does this mean in slate? to the evaluator actually, it means too much and why is it better than "demand-driven distribution/concurrency"? it isn't so why are we discussing it? because it is vaguely similar to demand-driven concurrency but actually an abstraction over * water/#tunes feels a bit perplexes at where the discussion has gone over what? demand-driven concurrency how so? fork just happens to create a new evaluator that exists alongside the current evaluator how does ddc not do this? it does then what does forking add? with ddc you have a certain quantity of evaluators (geez this is like pulling teeth ;) and 'join' is just placing a demand 'fork' itself is superfluous so ddc wins out... hm can you elaborate on "certain quantity"? 07:30pm an initial quantity, i.e. processors or computers or what-not :) nodes er i disagree i see the new threads made as having virtual processors sure or virtual evaluators that's the general idea which is like adding nodes but that's why i said 'fork' itself is superfluous :) ok because you can implement it as an abstraction over what is there, time-sharing so what are we going to add to our objects to support this? but physical evaluators are only added to the graph by some guy tweeking the hardware :) screw physical graphs * eihrul/#tunes sighs. we can always run slate on the internet :) no node limit there ;) well, then the physical is very important routes especially i agree its important to implementation but not semantics * eihrul/#tunes nods. brb but its some change performed by objects in the outside world the meta-meta-system :) uh wtf? i thiink the ibuprofen is getting to you nope look, what i'm going for here is a language spec well, then concurrency is more an implementation issue what are you getting at with this? * eihrul/#tunes shrugs. all i need are semantics that are very flexible and simple to implement making slate distributed in actual implementation can wait for later * eihrul/#tunes things concurrency can wait as well. just keep in mind that i'd like to have a good deal of orthogonality to the distribution aspect well at least we have a concurrency framework within the language 07:40pm all we have to do is provide a protocol for controlling it at the meta-level everything else could be ddc do we agree? -:- _ruiner_ [blah@ppp100.wi.centurytel.net] has joined #tunes not quite sure at this point still thinking about that protocol part :) ok though i think one part of this protocol would inevitably be: demand: value From: node er node demand: value :) uh (that was the ibuprofen) node of what? a domain a what? as described in the ddc paper talk to me like i'm reading the future "slate language tutorial" well i don't think i like their terms an evaluator and i don't even see any mention of domain in the paper i guess would be the most adequate term i can come up with at this point well, i don't quite remember how they termed it all they say actually is "processor" oh great, you're making up terms so yes, an evaluator would correspond to a processor afaik so you're saying the protocol would be based on stepping the evaluators 'stepping'? if i don't make them up, someone else will -:- SignOff _ruiner_: #TUNES (Leaving) yeah, me :) stepping = iterating through 'result's * eihrul/#tunes hmms. data-flow graph node where would demanding actually happen? grrr grrr what? what aspect of where are you talking about? it's a perfectly valid rhetorical question heh rhetorical well, the key part of demand-driven concurrency is of course demands yeah, message-sends via 'result' * water/#tunes whacks eihrul with the Slate documentation 07:50pm ok, good enough when you read a paper like that, you have to think "what does my language do that corresponds to concept x?" otherwise you won't ve able to map the paper's results to your own work not quite as simple as that it can be i'm a programmer, i look for complex solutions to simple problems :P i can create a hell of a lot of concepts from other proglangs using a few lines of smalltalk (mostly because of the large class library) hm cloning is the only way to use results multiple times in slate, i think no wait, you can re-use it many times in the enclosing namespace though, ddc paper does not necessarily specify how multiple sources of demand arise no it didn't which means it's nice an abstract a/an/and/ since i can plug in the slate methods for re-using values without affecting the content of the idea "This, combined with explicit thread based concurrency..." yeah in the abstract "the explicit representation of demand," that is conspicuous as well so? 08:00pm monads, dude multiple sources of demand.... and for slate, monads are objects so? * eihrul/#tunes hmms. memoisation provides multiplexing of results transparently especially for lazy languages ;) 08:10pm so have we addressed this? sure warm fuzzies and all? snow flakes why? because ddc has little signifigance on the language spec well, that's why i like it :) so why did we bother? :P to make sure we knew how to do concurrency in slate oh, ok and distribution i'm looking at eventually having slate systems act as well as beowulfs yeah i know "beowulf" is a buzzword now so, that means we have yet to treat maths etc, macros, and rewrite which i'd like to discuss (now that i've given it some thought) hm 08:20pm perhaps i should pass you another paper :) this one i found rather interesting i have plenty, though it's short and to the point, i believe there's a whole group of papers addressing this idea that i've been reading mostly using category theory and functional programming language ideas but this one is oo damn no page-numbering. i really hate that at least it's only 5 pages long tell me what you think when you've read it in other papers, the author describes an implementation of a functional language where factoring shape type info helped optimize the code even more than a version in C * eihrul/#tunes hmms. well, immutability is a great boon to an optimizing compiler brb 08:30pm back * eihrul/#tunes hmms. it's definitely not the sort of thing you see in ordinary cs research well, isn't this a cs research paper? of course well, then it's ordinary CS research... * eihrul/#tunes cackles * water/#tunes ignores that comment * eihrul/#tunes thwaps water with a rolled-up hard-wood sense of humor. say something humorous and i might respond :) 08:40pm seriously i could see that joke coming a mile away it didn't help that it took you two minutes to deliver it ;) deterministic jokes lol with non-deterministic delivery now that's funny i guess that i can't guarantee that you won'r hang in the middle of joke delivery, then ;) so what do you think of this shape idea? questions... notice it has a nice way of looking at syntax trees k in a situation where you have a shape containing a nested shape... there must be a datum buffering the two, no? or else they become a single shape? like a binary tree hm it depends on whether the shape considers its parts to be further shapes or data which i think can be varied, but i'll check well, one possible interpretation is a datum can present an interface, and a shape can represent the implementation of it (atleast in my mind) s/implementation/representation abi shape? water: i haven't a clue 08:50pm abi shape is at http://linus.socs.uts.edu.au/~shape/shape.html is there any more shapeful information? one step ahead of me yeah inductive shape types are supported no co-inductive shape types? :) not until slate makes 'em ;) they mention using shape for parallelism in some of the papers emphasis on "mention" as opposed to "describe" just passed 90 MB of post script passed? yes exceeded abi FISh is functional=imperative+shape programming language at http://www-staff.mcs.uts.edu.au/~cbj/FISh/ ...but fish is give a man a fish, feed him for a day, teach him how to fish, feed him for a lifetime... abi forget fish water: I forgot fish abi FISh is functional=imperative+shape programming language at http://www-staff.mcs.uts.edu.au/~cbj/FISh/ i'm just under 100mb well, on this computer i haven't trolled thorugh my laptop's stuff in a while * eihrul/#tunes ponders whether to go to school tomorrow or to read shape papers. 09:00pm * water/#tunes whacks eihrul with a Big Clue Stick (TM) go to school well, i may be actually ill :) heh well if you can pull that off, be my guest note: read the "intro to categories in computing" paper how many MB of postscript is a PhD? :) i'm assuming your not familiar with category theory yeah, i got them all s/your/you're/ only in name and vaguely through mentioning of it via irc, tunes, etc it's not a theory to be taken lightly it's up there with model theory and set theory any more shapers? nope only that small group of people work on it brb 09:10pm ok would you like to get into these slate issues? "these"? rewrite, maths etc, macros that's why i brought up the shape stuff in the first place so where do they come in? :) well i've been considering the effects of using objects as sets instead of slot-vectors -:- lar1 [larman@dialup-209.245.138.110.SanJose1.Level3.net] has joined #tunes Hey using the natural numbers as slot-names, for instance, helps describe linear sequences hi lar you could also describe the contents of an object declaratively which frees you from the limits of inductive definitions but i digress as a simple example, a cons cell is just an object with a 'car' and 'cdr' slot more complex examples could specify refinements of this construct 09:20pm like context-sensitive syntax would restrict the type of objects it references by examining its enclosing namespaces' data, which happen to be syntactic keywords you could also use the co-inductive style for declarative specifications of simple things like graphs such as specifying that the arrow objects within a namespace only refer to node objects within that namespace of course, i don't have a "pat" answer to how this should be implemented, but i'm working out some ideas the point is that you could describe lots of concepts at an abstract meta-structural level going to go lay down, feeling somewhat dizzy oh :( though if you have any things to add feel free, i read the logs :) nah i explain things better interactively bblt -:- SignOff eihrul: #TUNES ([x]chat) hey lar1 i'm on #{} 09:30pm water? 10:00pm -:- SignOff lar1: #TUNES (Leaving) -:- SignOff air: #TUNES (Ping timeout for air[p0wer.qzx.com]) * water/#tunes -> afk -:- nate37 [______@ppp-206-117-27-142.dialup.pcmagic.net] has joined #tunes hi nate hi. anything new? 11:30pm in the last 24 hours? :) yes a little, i suppose geez... it has only been 24 hours.. thought it was more. -:- nate37_ [nate37_@ppp-206-117-27-142.dialup.pcmagic.net] has joined #tunes why? I don't know, just wondering. Don't have much else to say. why do you need two users, btw? I'm running in windows, and I have MS Chat... oh And mIRC so I can do /msg identify stuff... oic I can't to it in MS Chat, but MS Chat is a little easier on the eyes :) well, today i managed to work out most of the semantics and syntax for distribution and concurrency basis in slate cool. and i worked out some more details of the basis for the literal system and rewrite/macro system (which is what arrow will be built upon) interesting. hm i seem to be getting sleepy ok. i'll be around for a bit, but less active (sometimes i doze off while on-line this late) HAHA. 11:40pm -:- SignOff nate37: #TUNES (Leaving) -:- nate37 [______@ppp-206-117-27-142.dialup.pcmagic.net] has joined #tunes um... so what is a arrow? you said it was like a byte... but what the difference? [msg(TUNES)] newlog 2000.0303 IRC log ended Fri Mar 3 00:00:00 2000