01:16:26 billh left #tunes 02:38:15 smoke joined #tunes 03:31:04 jut joined #tunes 03:32:46 [QUIT] jut quit: [x]chat 03:38:54 [QUIT] billh quit: BitchX: use it, it makes hair grow in funny places! 03:55:48 eihrul joined #tunes 05:55:19 [QUIT] air quit: http://www.qzx.com/ :: 06:21:38 Ghyll joined #tunes 06:40:10 hey 06:41:54 hi 08:08:52 Nick2 joined #tunes 09:17:11 [QUIT] Nick2 quit: Ping timeout for Nick2[usr41.atil.net] 09:45:42 smklsmkl joined #tunes 09:45:54 [QUIT] smoke quit: Ping timeout for smoke[10dyn154.delft.casema.net] 09:47:24 smoke joined #tunes 10:13:48 [QUIT] Tril quit: [BX] Ping-pong timeout 11:05:25 [QUIT] eihrul quit: [x]chat 11:29:59 lar1 joined #tunes 11:54:26 water joined #tunes 11:54:35 hi all 11:58:48 does anyone have something to discuss? 12:07:31 water: do you suffer from familiary with postgresql ? 12:07:42 heh 12:07:51 no, but i do use sql quite a bit 12:08:31 in postgresql, you can add new basic types to the sql language 12:08:40 say, int64, or float128 12:08:46 water shrugs 12:08:49 and you can add functions and operators for them. 12:08:54 ah 12:09:11 in fact, postgresql is very much like a language environment unto its own. 12:09:19 that's nice 12:09:29 execpt you can't (yet) add these things using a built-in language. 12:09:35 it has to be compiled C code. 12:09:35 hm 12:09:39 eww 12:09:49 hmmm 12:09:57 I've been thinking of bridging the last river, there, just for the heck of it. 12:10:09 water contemplates if smalltalk could be bound to it 12:10:14 then you would have a lisp-alike database. 12:10:21 most certainly. 12:10:35 squeak already has a mySQL binding 12:10:39 there are bindings for python, perl, c, c++, etc, so integrating smalltalk into it should be possible. 12:11:07 of course, doing what I want would just be a silly hack. 12:11:38 tho it'd be nice to have a environment which was built on a real database, with replication and failover and all.. 12:11:49 hm 12:11:52 i dunno 12:11:58 could be an enviroment where all programmers worked together simultaneously. 12:12:05 in sort of a hierarchy. 12:12:12 passing live objects to each other. 12:12:12 i'd rather have database niceties as a special case of a more general framework 12:12:23 sure. 12:12:29 that's the ultimate goal. 12:12:34 or, rather, it would be. 12:12:35 and hierarchies of users SUCK :) 12:12:42 no. not hierarchies of users. 12:12:46 I should've said namespaces. 12:12:49 programmer=user 12:12:54 same thing 12:13:01 each user has his own namespace, to send things in and out of. 12:13:01 even with namespace 12:13:22 how would you avoid name clashes if you didn't impose a hierarchy ? 12:13:49 how would name clashes arise? :) 12:14:20 two people binding different objects to the same variable. 12:14:27 so? 12:14:39 and both wanting to use what they boud. 12:14:41 bound 12:14:41 if they have separate namespaces, there's no clash afaict 12:14:50 exactly. 12:15:03 oh. you're not against namespaces, just a hierarchy of them ? 12:15:03 but hierarchy is something different!! 12:15:10 yep :) 12:15:14 (see slate) 12:15:38 I don't have a definite opinion on that subject yet. 12:15:47 ok 12:16:09 then a few q's about slate.. 12:16:14 1) can you have inner classes ? 12:16:18 i've been developing my reasons for it ever since '95 when i first tried to make that tunes hll thing 12:16:27 classes? :) 12:16:43 classes are easy 12:17:02 but not necessary to the language 12:17:10 and yes you can "nest" anything 12:17:36 slate is just based on namespace graph rewrite 12:17:37 [QUIT] ink quit: bye all 12:18:06 then you do have something akin to hierarchical scoping 12:18:12 nope :) 12:18:42 because access to "outer" things is just another link ( called a slot) 12:19:05 the hierarchy-like form we have been working with initially is just provisional 12:19:08 when you in the "outer" space, you cannot see the "inner" slots ? 12:19:24 "see"? 12:19:26 nope 12:19:45 "foo bar baz" is a trace through three namespaces 12:20:23 hm 12:21:46 I see I've been away too long. Slate has actually been worked on... :) 12:22:02 yes slate needs a drastic update to its docs 12:22:15 btw eihrul's putting together a serious implementation 12:22:46 first step is an interpreter for slate called pidgin (because it borrows from the self implementation) 12:23:22 he's also been working on dynamic compilation/optimization stuff... but that will take longer 12:24:18 i'm doing more research into how to build really novel object systems 12:24:31 like the kind that tunes talks about 12:24:41 hm s/tunes/Fare/ 12:25:31 inspiring 12:25:39 heh 12:25:42 slow.... 12:25:50 my job is taking way too much time lately 12:26:18 you know Fare's going for VC now? 12:27:33 VC as in venture capital ? 12:27:36 yep 12:27:40 wow. 12:27:55 and tunes will get an abominable license ? 12:28:00 actually they approached him first 12:28:07 who knows 12:28:18 apparently he's still working out the business model 12:28:37 (yesterday in the logs has a discussion on it) 12:28:38 has he dropped any hints on what he's planned ? 12:28:42 oh. ok. 12:28:48 (i wasn't there... 40 hours at work :P) 12:30:19 wtf ? 12:30:24 what's up at work ? 12:30:26 crunch time ? 12:30:32 war ? 12:30:34 heh 12:30:42 we have to get the reactors re-certified 12:31:06 and an important group of technicians really royally screwed up 12:31:45 (not mine, though ;) 12:31:51 so you had leakage all over the place ? 12:31:56 no no no 12:32:16 this group is the one to do the reactor startup paperwork and tests 12:32:41 oh. a lot of paperwork mess, then ? 12:32:45 they kept making stupid tiny mistakes 12:32:47 sort of 12:33:02 like taking a switch to the wrong position 12:33:16 or writing info in the wrong block 12:33:29 it's really a long story 12:33:44 (which we were told again and again :P) 12:33:55 no wonder it took 40 hours :)) 12:34:11 [QUIT] lar1 quit: yay 12:34:14 and that's just the start of it 12:34:49 those technicians have to do two checks per reactor per day for the next week and then get re-certified 12:35:01 and each check takes ~10 hours 12:35:17 this delays a lot of work (but not all, thank heavens) 12:35:53 sounds like a heavy chore 12:36:02 yeah, but enough about work 12:36:24 heh. 12:36:34 seriously it depresses me 12:36:36 yes. I'm reading up on the slate papers again, looking for things that have change. 12:36:37 d 12:36:49 i haven't updated the site in months 12:36:53 however 12:37:06 there are a few new things at http://diktuon.arrow.cx 12:37:24 hm if it's up at all 12:37:39 it woke up here 12:37:54 yeah same here 12:40:22 however, there's a lot of unconnected nodes around.. 12:40:27 's/'re 12:40:34 yep 12:40:40 diktuon was down for a long time 12:41:02 it interrupted the writing process quite a bit 12:42:41 what kept you from using wikiwikiweb ? 12:43:01 water shrugs 12:43:06 too difficult to organize 12:43:49 i have enough trouble just trying to outline the ideas in an appropriate manner 12:52:38 there's some new stuff there I've not seen before.b 12:52:51 but it's all a bit of a haze for me. 12:52:57 yeah have you seen the updated old tutorial? 12:53:18 the syntax no longer relies on lisp's parentheses 12:54:34 none of this matters until i manage to get the full picture and document it properly 12:54:53 eihrul and i have been developing slate as part of our (private) discussions 12:55:35 aha. 12:56:11 I didn't see anything in the tutorial change on your home page 12:57:14 ah, yes. there's some changes. 12:59:30 the "."s don't all act the same 12:59:46 since they are just the apply phases of the meta-objects 13:01:12 ult joined #tunes 13:01:21 re ult 13:01:24 'lo 13:01:56 water: what are the implications of storing the state in the 'parent' slot ? 13:02:38 it turns the object into a data-flow value 13:02:55 could you elaborate ? 13:03:02 hm 13:03:45 the meta-object figures into this 13:03:56 why am I not surprised. 13:04:16 but basically the idea is that if "x" is supposed to have a state of 4.... 13:04:18 P 13:04:48 then it makes no difference whether when asking for "x" one gets 4 or a reference to 4 13:05:06 now, when trying to mute x's value.... 13:05:33 that's where the mo comes in, because you have to change the namespace structure 13:05:57 *how* that structure gets changed is what the MO's apply phase determines 13:06:28 basically, making "parent" work to emulate state is just simpler for meta-programming 13:07:01 I see what you're saying but I can't figure out the (implementation) details yet. 13:07:05 and it's one less syntactic primitive 13:07:10 hm 13:07:43 reducing the syntactic primitives is generally a Good Thing. 13:07:54 but does this clutter up the implementation noticably ? 13:08:06 not necessarily... 13:08:17 for example, we're starting from the self implementation ideas... 13:08:34 from the ideas, or from their implementation ? 13:08:35 where an object is just a map from slotnames to values 13:08:55 the implementations 13:09:13 so the first implementation(s) of slate will be based on the self code ? 13:09:19 in our case, we don't have to treat assignment as anything other than a case of general slot access 13:09:47 not really, eihrul's making it from scratch 13:09:54 ah, ok. now I follow you. 13:09:59 there's a lot of problems with the self VM code 13:10:17 is slate supposed to run in a VM ? 13:10:22 no 13:10:45 on that note, how do arrays figure into this ? 13:10:52 we want to self-host the compiler whenever possible 13:10:57 they would much like they do in lisp ? 13:11:04 much/work much 13:11:04 heh glad you asked :) 13:11:37 arrays have special hw types in pidgin, but at the language level, it's transparent (relatively) 13:12:10 basically you have an object whose meta-object allows you to use all of the integers as indexes 13:12:17 er... 13:12:25 the slot names are integers, rather 13:13:22 does that preserve the semantic notion that there are 5 slots beteen 0 and 7 ? 13:13:51 5? 13:14:02 6. 13:14:04 my mistake. 13:14:05 don't you mean 6? 13:14:08 oh :) 13:14:18 it depends 13:14:29 (I've been without medication for a few days, so I'm a bit groggy..) 13:14:33 the idea is that slot-lookup can be modified 13:14:49 so you can have either semantics 13:15:12 how do you image array lookups will perform in practice ? 13:15:15 well, any semantics, really, but only a few will be primitive in pidgin 13:15:36 hm 13:15:49 comparable to java or c ? 13:15:54 every object, when activated, will respond according to its MO 13:16:02 oh speed 13:16:07 i don't know 13:16:16 probably relatively slow at first 13:16:43 like bytecode vm speed for the first round 13:17:35 that doesn't tell me much :) 13:17:45 of course it doesn't 13:17:49 if you have to do a named lookup for every access, it'll be _slow_. 13:17:56 that's why i said " i don't know" 13:17:59 geez 13:18:13 yesyes. I'm on your team, remember ? :) 13:18:17 no, named access is not literal 13:18:44 it will get compiled into some IL that eihrul is working on 13:19:19 sounds promising 13:19:50 there's a lot of work and writing to do yet 13:19:54 and thinking 13:20:04 in how much detail can a meta-object go wrt the object layout in memory ? 13:20:19 potentially, unlimited 13:20:33 all it has to do is support the object model 13:20:58 will the meta-object ever be force to supply low-level IL code for its semantics ? 13:21:05 force/forced 13:21:10 hm 13:21:30 it depends on what stage of the implementation we are at 13:21:41 how do you mean ? 13:21:55 currently, all MOs if not primitive have to be compiled into IL 13:22:13 let's imagine the slate implementation is finished.. 13:22:14 and primitive MOs are ones written and compiled in C++ :) 13:22:46 what I'm interested in, is writing my own mo for array access, and expect it to be as fast as can be. 13:22:55 ie, as fast as native C code. 13:23:01 if it's finished, then the whole implementation is written in slate and compiles to native where needed (or to multiple ILs) 13:23:45 the idea is to have a fluid range of performance where you pick the point you want in a reflective interface 13:24:16 what do I have to trade to get performance ? 13:25:13 compile time 13:25:30 less interactivity over the span of the compile 13:25:49 (which will likely occur in a separate thread) 13:28:08 can I extend the compiler inside the language ? 13:28:21 once it's self-hosted, of course 13:28:55 I really hope all this can be pulled off in a timely manner. 13:29:04 we'll see 13:29:22 maybe Fare's new company will do some of the heavy work 13:29:24 I've mentioned it before and I mention it again, I'm willing to spend some time helping out with the implementation once the docs are more complete. 13:29:28 maybe not :) 13:30:43 ok 13:31:05 I'm in the fortunate position of working in a company that understands the open source philosophy. they've given us a go ahead to spend a few man months on adding functionality to postgresql because we need it. 13:31:16 in that case, once pidgin is ready to use, then docs will be created 13:31:32 cool 13:31:34 if I could convince the other developers we need slate, I guess I could get permission to work on it full time a day or two a week. 13:31:48 "need slate"? 13:31:58 although I'd have to come up with a project where other languages don't fit the bill. 13:31:59 that's a bit of a stretch 13:32:04 yes, I now :) 13:32:08 now/know 13:33:30 alternatively, I could make it my master thesis project to implement slate, but I don't think that would be proper. but at least I'd be available to do work on slate full time for about a year.. 13:33:45 hm 13:33:48 did somebody read robert glück's papers? 13:33:58 i also am going back to school 13:34:08 smkl: i forget, which are those? 13:34:08 smklsmkl: no. url ? subject ? 13:34:47 anyway. it's getting late over here, supper is long overdue. 13:34:52 ok 13:35:05 we'll talk later. 13:35:08 [QUIT] Ghyll quit: foo 13:35:09 sure 13:35:50 http://www.diku.dk/research-groups/topps/bibliography/1994.html#D-185 13:36:08 oh those 13:36:13 i haven't read them all yet 13:38:40 do they have anything interesting? 13:39:06 nothing earth-shaking, but yes 13:57:26 what's with abi's amnesia? 13:57:37 She's broken 13:57:41 hcf didn't have time to fix her 13:57:51 hcf was here? 13:57:57 yep 13:58:07 last night 13:58:10 where has he been? 13:58:22 for about 15 seconds, saying abi was broken and would stay so for the time being. 14:04:37 [QUIT] ult quit: Leaving 14:24:13 [QUIT] gREMLiNs quit: BitchX: coming soon to a theatre near you! 15:20:01 [QUIT] water quit: The Tao went that-a-way! 16:31:39 water joined #tunes 17:11:13 lar1 joined #tunes 17:12:26 [QUIT] smklsmkl quit: back tomorrow 18:28:32 ult joined #tunes 19:00:37 eihrul joined #tunes 22:14:55 frogman joined #tunes 23:46:19 water joined #tunes 23:46:42 re all 23:46:52 oo... an amphibian! :) 23:47:02 hi frogman 01:30:22 moebious joined #tunes