• Tue Feb 15 19:10:40 2000

    Misc: I honestly haven't had any time; I hope to try to finish up the first release of the gen gc stuff over the midterm break next week, but I'm not making any promises.

    Gc: Yeah, I'm pretty pissed off at that greg fellow for taking so long to get the bloody thing done, too ;). Most of what remained to be done at the end of the xmas break is still what needs to be done; that is, the promotion of structs needs to be dealt with, the stuff inside the gc itself needs to be finished (I've thrown a few lines of code at this whenever I've been able, so it has crept along a little). Anyways, have two midterms over the next two days, so I need to spend the token amount of time studying ;).


  • Tue Jan 25 00:05:51 2000

    Misc: busy busy busy. I really haven't even had time to follow the guile mailing list much, let alone work on code (lotsa stuff going on there, tho). I'll see if I can take another stab at the gc this weekend (hopefully it won't take as long to grade the papers this time around ;).


  • Sat Jan 15 19:39:47 2000

    Gc: fixed up most of the vectors stuff for the gengc; also, I'm going to implement a bit of a simpler solution for the structs & vtables stuff for now.

    Misc: been a bit busy, since classes have started up, and I've had to become familiar with a few new `languages' (matlab for a numerical methods course; java because I'm gonna be working as a marking drone this semester ;).


  • Sat Jan 8 12:19:03 2000

    Gc: fixed the popen bug for good (though it's slightly hackish; it adds a `without-gc thunk' thing for hooks, though this should be ok provided it's only used when necessary, and not abused to try to get over gc speed failings ;).

    Test suites: working on dynwind and throw test suites; shouldn't take too long.

    Misc: starting to look at gcc to see if I can figure out how to add an option to prevent the optimizations that are dangerous for conservative gc's. This might take a while, though, since I'm not entirely familiar with gcc's code. Also, a few other little things that'd take more time to write about than it will likely take to finish 'em ;).


  • Mon Jan 3 19:07:22 2000

    Actual stuff: I've finished the hash test suite (though I haven't posted yet, I want to give it a look over first) and I've mostly marked up the gc-mistakes file in texinfo. A little gc work, too. I'm sort of easing back and taking lotsa wrist breaks (no pain, yeah :).

    Misc: damn, no post-apocalyptic war zone; maybe I can return the Mad Max ensemble ;).


  • Mon Dec 27 11:05:07 1999

    Misc: mostly restin' and relaxin' (I hate it, really really hate it, though it's nice to be rid of that `icepicks in the wrists' sort of sensation). Small bits of work on the gc and test cases, but mostly just reading and doing some conditioning type stuff for my hands and wrists. Hope those of you who celebrate it had a Merry Xmas :). Now, let's hope that civilization as we know it is still around a week from now ;) No, I don't expect anything major, but you never can tell; of the varity of ways that we've conceived to destroy ourselves, though, wouldn't it be slightly ironic if we were destroyed by frugal programming? Imagine, the whole shebang for what boils down to two bytes. That really tickles the evil cynic in me ;).

    Misc misc: I'm allowed to entertain flights of fancy, it's my page, after all ;)


  • Fri Dec 24 03:01:05 1999

    Misc: the test suite for hash tables probably won't be finished tonight (I just finished texinfoizing a document on changelogs by Jim Blandy, and my hands & wrists are starting to get that tingly, painful sort of feeling; since I'd really like to still have the manual dexterity to wipe my own ass in 10 years, I'm going to let 'em rest for a bit ;).


  • Thu Dec 23 06:07:16 1999

    Misc: oops, that gc book is 700 km away. I was sure I had it here ;).

    Gc: unfortunately, I don't think the first release of the gengc will be out before civilization crumbles (so we'll all be testing it in rubble, I guess, trying to avoid looters and mimes ;). I know this makes the nth time I've delayed it to do something else, but at least the test cases are very likely to be used by other people (unlike all the stuff I did with thing, which had, what, one user ;)... it did make me more familiar with all of guile, though, so it is paying off in some ways). In any case, a full test suite will make it easier to get the gengc in verifiable working condition, so it's not a totally a move away from the gc. I do think that the test cases will provide a much larger immediate benefit than the gengc would (particularly if the gengc were really buggy due to not being rigourously tested). And yes, I would prefer to be working on the gc :)


  • Tue Dec 21 11:23:43 1999

    Misc: I've been mostly slacking since Saturday (I did spend a couple of hours on the gc last night, but that ended up being mostly seeing if I could squeeze out some cycles using asm (fun and stuff ;)). I was mostly planning on not doing much over the weekend, anyway, and I didn't end up having much of a choice; I screwed up something in my right hand Saturday morning when I was lugging around a big cs book before my exam, so I couldn't spend an awful lot of time typing over the past few days. (utterly stupid bit: I dropped off a big pile of books at the library just before the exam, and, wouldn't ya know it, they received a fairly new copy of Richard Jones' gc book as well, so I'm just about to go down to see if I can't shatter their happiness at the unintentional xmas gift ;).

    Gc: (likely) gonna implement structs as a two-cell object tonight, so that the gengc can find the vtable pointers without having to special case all over the place. Should also remove some code from the evaluator, and that never hurts :).


  • Fri Dec 17 18:59:26 1999

    Hmm... I thought I'd updated this at least once this week. Anyhow, there likely won't be a gengc release this weekend. I underestimated the amount of time I was going to have to spend on my term paper (and the volumnous discussion on the guile list ;), so I haven't quite got the gc to a place where it's ready. The stuff on the main page was updated last night; a short summary is that almost everything is done; there's still an outstanding problem with structs (i.e. they don't point directly towards their vtable, but at the vtable's mem, so I have to figure out how to track these things when the struct is tenured, if the vtable isn't; it shouldn't be likely to occur but that doesn't mean it won't, so something needs to be done).


  • Sun Dec 12 17:14:43 1999

    Misc: I'm almost through with all the crud I have to finish up this semester; only one exam left (and a fairly easy one), and one term paper to finish; unfortunately, I didn't get that done as quickly as I'd hoped, so I haven't had a chance yet to do more work with the gengc. The bulk of it hopefully should be finished tonight, and I'll get down to the gengc tommorrow or Tuesday. Note that it's going to diverge from the guile-core for a while on account of the large changes currently going on, so further releases will be tarballs.


  • Thu Dec 9 21:06:07 1999

    Misc: slowly inching towards the end of the semester :). Also, I've switched over to scwm. Exciting, eh?


  • Tue Dec 7 19:26:37 1999

    Misc: just a quick note before I dive back into the books; for those of you who don't follow the typical new sites (but you read this? How odd... seek help ;), 3dfx has made glide and their texture compression code open source... and (this is the huge bit) they've made the programming info for their cards freely available (and you don't even have to go through a `register for access' kind of deal... if you're listening, matrox, that really sucks goats... it's not like I was planning to start fabing chips in my bathroom)! Anyways, if you own a 3dfx card and always wanted to hack at the bugger :), check linux.3dfx.com.


  • Sat Dec 4 19:14:48 1999

    Misc: just a short pause in memory of Frank Zappa, who passed away on Dec 4, 1993. The new midi is "What's New in Baltimore" which is currently my favorite Zappa tune. He may not have been the nicest guy, in his collection of lyrics you can very likely find something to be deeply offended by, but man, could he ever write great music :) (and some of those lyrics are funny as hell, provided you take 'em with a grain of salt ;). A few good links for online zappa tunes:

    • FZ Mp3 page. Unreleased concert mp3's. The 5-25-88 concert (which I'm listening to as I write) is wildly funny (the rendition of Johnny Cash's "Ring of Fire" is definately worth the download ;). An excellent rendition of "What's new in Baltimore" can be found in the 5-21-82 concert. (note: buy the released albums, you cheapskates :)
    • The Frank Zappa Midi page; where I got all the midi files that you hear in the background here (if you have that sort of thing set to play automatically.. I don't either, btw, most ppl have lousy crap playing ;).
    • Chapters.ca has an excellent collection of Zappa cd's at good prices, and it's all in Canadian $'s with no shipping charges (I get absolutely nothing for mentioning this, but it's good to know if you're living in Canada, since the a Canadian dollar is worth about 5c 'merikan, so ordering from most online places will quickly bankrupt you ;). A lot of books there, too, and some software (no loki games, though :( ).

    Thanks to Frank, without whose music I'd spend more time coding and less time learning weird guitar parts :)


  • Fri Dec 3 18:01:50 1999

    Misc: looks like we will get a new guile maintainer (yea :). Maciej Stachowiak (of scwm fame... has been around for quite some time) has volunteered, and I don't see any good reason why he shouldn't be the maintainer (and a collective sigh of relief from everybody (including myself) who thought there was a possibility it would end up being me ;).

    Guile: got a little distracted doing the gc stuff and went halfway towards implementing full cow shared substrings; some of the code is still in there (SCM_TMP_CHARS, which allows you to fetch the chars of a string without creating a new heap object... this is really needed if you want to get the most out of shared substrings, since you don't need to promote them to full strings just to read them (see SCM_COERCE_SUBSTR)). I modified filesys.c to use these, and they work quite well. Also modified some of symbols to make the slots stuff a little more sensible (i.e, none of this pointing to the start of slots, since we already know exactly where they are).

    Gc: in alphabetical order, I'm down to print (and I've done symbols as well); the problematic bit is (as I'd anticipated) structs ;).

    The bad: I have two assignments to finish up, and finals starting next Thursday, so any possible release will come after next weekend.


  • Thu Dec 2 23:42:09 1999

    Gc: of course (for those who were reading and couldn't figure out what was going on ;) the undisclosed thing was the gengc (it's about time, you might be thinking... at least, I was thinking that ;). There are some progress materials on the main page. I've gotten enough done now that I think it's pretty safe to assume that it will be finished within the month (the pages are already out of date, actually, since I just finished working on symbols).

    Misc: I'm going to see what I can resurrect out of thing, just in case guile actually gets a new maintainer :)


  • Wed Dec 1 12:04:35 1999

    Mass exodus?: After Mikael Djurfeldt's announcement last week that he's stepping down as a guile developer comes Jim Blandy's announcement last night that he's stepping down as guile's maintainer. I wasn't so surprised about the last one (except maybe surprised that it took this long... Jim has had little time for guile for a quite a while, and it was inevitably going to happen sooner or later); Mikael's came as a surprise, though (I fully expected Mikael to become maintainer after Jim stepped down), so it looks like a little bit of disarray time for guile. Personally, I think that Gary Houston may be the best candidate for the new maintainer (if for no other reason than that he's the only developer who's actually been active).


  • Tue Nov 30 23:06:36 1999

    Gc: almost done modifying eval.c for some, as yet, undisclosed purpose >;') (really, I don't want to publicly announce it until it's close to release... it will (99.9% chance) be ready before new years, just to make that whole y2k thing look like a small glitch ;). There's a smaller chance it'll be ready much sooner, but this is shaping up to be a busy week, so I make no promises. Only Gregs are allowed to know the exact details >;')


  • Mon Nov 29 01:19:53 1999

    Gc: again, I must stress that I have only been neglecting this page, and not the gc ;). There've been a couple of gc releases, and some fun stuff a brewin' on my hard drive.


  • Mon Nov 22 12:58:58 1999

    Gc: did a lot of tweaking & tuning. There's now one explicit mark stack for all objects, I played with improving conservative scanning a little, and a bunch of other stuff; I'm going to finish up the 2 cell heap objects today and probably do a patch tonight or tomorrow.


  • Sat Nov 20 01:14:06 1999

    Gc: I think I've found the buggered bug that was causing so much joy >;'). Still needs some testing. Also found a graph package (and, at no extra cost, it has graph display :). It's ibm's graphvis package. It is open source, but not necessarily nicely gnu source (something similar to the current qt license; you can mod, distribute & sell, but you have to make the mods a patch against the distribution).


  • Mon Nov 15 10:10:03 1999

    Misc: usually when I don't update for a long time, it means I probably haven't been working on anything much ;), but that's not the case this time (woohoo!). All right, I might have been spending a little time playing half-life, too (and what a disappointment! I should've bought something from loki, or system shock 2).

    Gc: slowly tracking down the insidious bugs that're causing so much trouble with scwm and other systems. I'm also looking for a decent graph library (in c, preferably... I hate c++) to use for tracking conservative pointers, as a profiling option, obviously... it makes more sense to use a separate graph library, which is likely to be more efficient than something I'd slap together in a night or two, and which will hopefully provide some visualization features (which'd be nice and cool ;). More on this as it develops.

    Other guile stuff: the numbers stuff isn't in as bad a shape as I thought. I can almost get it to compile now (though no link, it still doesn't have a complete guile interface). I'll be releasing the almost working code (just have to get the rationals to compile) very soon. Hopefully someone will get a bug up their arse and pick this up ;) (note: actual bug in arse optional).

    Non-me written guile stuff: (what a stupid topic name) I've been looking at a pre-release of autogen (there's a link on the projects page, and I really like it. It'll change your life, so keep a look out for the announcement :). Also new is a decompiler project; more details can be found on the mailing list (subject: decompiler project (interested hackers?)).

    Other other stuff: I'm supposed to be in a cs class right now :).


  • Tue Nov 2 03:04:40 1999

    Gc: I was hoping to release this today, but I really screwed up something with the explicit mark stuff. Prolly tomorrow. (Update) Couldn't just sleep on it; this was actually a very stupid thing which had been around for a while; when it was marking glocs, it was just using the recursive mark macro, rather than scm_gc_mark; unfortunately, the argument was *++mem, which just makes you want to beat the c standard violently ;). Anyhows, it's fixed, I'll package it tomorrow.


  • Sun Oct 31 23:56:58 1999

    Gc: finished modifying the vector/weak vector/continuation marking code. The explicit mark stack now stays very small . I'm actually making sure this one works before unleashing on the world :) So far, it passes all the guile tests (keep forgetting 'bout those) and works for generating the projects page. Also, a few little potential optimizations. I'd like to make it so that only one mark stack is allocated, but I'm not entirely sure that's a good idea (though I guess, if we get os-level threads, the gc would have to change anyway). It would make smobs less of a problem, though, since they can't use the recursive marking (currently).


  • Sat Oct 30 12:12:59 1999

    Misc: I finally got around to listening to the midi that was here, and it was a horrible rendition (ick). A much better one is here now. And, I'm really going to try to get some more gc work done today.


  • Thu Oct 28 00:37:16 1999

    Everything: urgh. I'm not sure I can say much more. Urgh university stuff. Urgh

    Gc: I've actually done something with this (so, chop off an urgh, I guess). The explicit mark stack almost behaves sanely now (I just have to finish up the weak vector handling). Still, it's not nearly as much as I'd like.

  • Mon Oct 11 15:42:51 1999

    Misc: I totally suck. Answered few of the mails, barely looked at guile. I'm going to try to get something done today, but I don't know exactly what yet (maybe the profiling stuff for the gc, to find out how much actually is retained due to conservative marking).


  • Wed Oct 6 17:16:29 1999

    Misc: I've been way too busy lately. I should have some free time in a few days, though, so I'm going to definately try to get some guile work in (and answering all the emails that are building up in my draft box!).


  • Sun Sep 19 16:17:07 1999

    Gc: have a few benchmarks, haven't integrated them with the guile benchmark framework yet. Added some optimizations to marking and the debug freelist option that was discussed on the mailing list (haven't tested).


  • Sat Sep 18 11:47:16 1999

    Web: finally have a kerberos principle for gnu.org; now I just have to figure out how to get cvs to work with it *groan*.

    Gc: working on a few benchmarks; should be finished today.

    Numbers: I'm going to try to get a little more done with this, too.


  • Tue Sep 14 13:28:54 1999

    GC: doh! I finished up the gc patch, but forgot to put it up yesterday :'/. Anyhow, it's guile-gc-0.10.tar.gz. I'm going to do a few more things with this today, so another one should be coming out shortly.


  • Sun Sep 12 19:59:00 1999

    GC: ported over to the current code tree; some touchups are needed, which I should get to tonight before I go to bed.

    Web: a few little updates here; still no gnu site access, so nothing new there.


  • Fri Sep 10 17:33:15 1999

    Misc: I've been mostly busy since last Sunday (packing, moving, classes & junk), so there isn't much to mention. I hope to do a release of the gc this weekend.


  • Mon Aug 30 06:51:54 1999

    Web: @$%!*#@$$@*!!#@#$ (non-offensive profanity). I still don't have access to the guile site.

    Gc: I spent a little time cleaning up the malloc stuff and putting the support for malloc usable size back in. Haven't had a chance to test it yet, though. I'm hoping to get a bunch of things done in the next week, provided I don't end up spending a lot of time writing strange music ;). The biggest problem facing the gc right now is the tremendous amount of syncing required to get my source tree up to date with the current guile source tree (and, related, the changes to object types that I'd already had figured out). Mostly, it's just hard to get back working at it.


  • Sun Aug 22 18:04:10 1999

    Misc: much to the chagrin of everyone within earshot, I finally picked up the two Rammstein cd's, and a few Zappa cds to boot (in particular, Joe's Garage, which I've been meaning to get for years... it was worth the wait). In tribute, the new midi tune goin' on should sound something like "Fembot in a wet t-shirt" (I can't check it out right now... for all the `advanced' talk, ALSA is a pain in the ass to get working, and I can't seem to get the sequencer going). So, if it doesn't sound like `fembot', just pretend it does ;). On a side note, it's kinda fitting that FZ would be poking a sharp stick at $cientology, way back in '79.

    Web: still trying to get a kerberos principle for gnudist, which is why I haven't done any updates there since early July (ok, I probably wouldn't have done that much, given that I've been doing little besides writing silly little tunes, reading far too many books, etc...). When I'm able to, I'll add the scheme documentation links that appeared on the mailing list.


  • Fri Aug 20 06:32:26 1999

    Gc: I actually did a little something with this (gasp). Not much, but more than nothing.

    Numbers: spent bits and pieces of time on this. Basically, it's been sitting in the same boat as the gc; I either haven't had the energy, or haven't had the inclination to spend time on it.


  • Mon Aug 16 07:48:23 1999

    Numbers: the answer to ``what breaks'' is: quite a bit.

    Gc: ya know, it'd be really cool if I actually had something to say about this. Alas, I've done sfa.


  • Thu Aug 12 14:45:44 1999

    I: totally suck >;')

    Gc: soon, soon, soon.

    Numbers: I'm going to try to build this into guile tonight and see what it breaks. Maybe something useful over the next few days.

    Misc: still haven't gotten around to getting gnu access again (I'll send that stuff off again today).


  • Fri Jul 30 04:44:12 1999

    Gc: slowly creeping back to this. I'm going to fix up some of the more annoying bits of the current gc.

    Web: I don't currently have access to the gnu site (I dragged my feet on getting a keberos thingy going, and I'm still waiting for some kind of response on this).

    Misc: we can put shit on Mars, but apparently we can't create a coffee maker that lasts longer than a few years. This really pisses me off, especially when they break down after all the stores are closed and I've gotta switch to instant (ugh) (shudder) (cluck).


  • Wed Jul 21 16:44:39 1999

    Misc: I have been feeling better... however, I've also been feeling quite irresponsible and in more of a mood to enjoy summery things, play that newly aquired copy of quake for linux, and generally not looking at guile at all. I'll get back to everything once the guilt gets too great, but it's not quite there yet, so I'm off to blow some more shit up :)


  • Mon Jul 12 13:30:06 1999

    Misc: retroactively censoring myself, so this place ain't so much of a downer ;). I'm definately going to do some gc stuff at some point today :)

    GC: I've been poking at it, but nothing really significant (it keeps giving that baleful look, so I feel guilty and stop poking it... it then runs off to the corner and gibbers quite happily).

    Web: well, I updated this page, putting a little bit of thought into giving the gc animal characteristics (what's the official word for that again... umm stupidity?).

    Totally offtopic: I finally saw the new Star Wars film (snip of reference to movie as ``The Phantom Anus'', because that's really cheap and I'd never stoop so low as to call it something like ``The Phantom Anus'' or even ``The Phantom Penis''). I wasn't expecting much and even I was disappointed. As expected (or at least, as I expected) Darth Maul was the lamest villain in the history of cinema... through extensive dialog and actions, he developed a personality on a par with that guy in the funny hat who pulled the lever for the Death Star. Anyways, how could you feel animosity towards a fellow who dances so divinely (oh, I wish I were joking; lets just say that the duels between the Jedi and the ``Sith with two lines'' had an odd, Riverdance-ish quality, mostly because of Maul's great impression of a `lord a-leaping'. I don't care how cool taking on two Jedi is supposed to be, the intensity of it all suffers somewhat when the bad guy looks like he'd be more at home in Swan Lake, albeit without all the horns and shit). Overall, it just felt long and directionless, with long sequences tacked in for the express purpose of merchandising (ahem... Pod Racing game... ahem); kind of like this news entry, but a whole lot more expensive (hmm... maybe I should start charging; for six bucks a pop, I could do a pretty mean pirroette... very mean... damaging to look at, in fact. On the plus side, I could only do it once).


  • Fri Jul 9 16:11:27 1999

    Misc: I should be back at everything soon (the one cool thing is you can't feel like crap forever ;). If you've submitted something for the projects list and it isn't up yet, it'll be up tomorrow (I have to hunt down a little bug that tends to wipe out the database... maybe that's not so little; luckily, I was really paranoid when I set it up, so there's a few dozen db backups :).


  • Wed Jul 7 18:59:57 1999

    Misc: my net access just came back, after being down since Sunday, so there's a big backlog o' stuff.

    GC: I have been chipping away at it as much as possible... generational sweeping for a few different kinds of objects has been implemented.


  • Fri Jul 2 05:23:52 1999

    Web: finally finished modifying the projects stuff for gnu.org. You can check it out here.

    Gc: right now I'm far too thick to figure out the exact bits of structs I need to change. I'll get back at this later on today, after I've consumed a great deal more coffee.

    Misc: a lot of activity on the mailing list lately, which is rather cool.


  • Wed Jun 30 06:22:30 1999

    Misc: I've been busy with other stuff (I haven't even checked my mail in the past few days), so there's no significant amount of new code.

    GC: not an awful lot; some more merging of generational stuff.

    Web: argh! Still no slimmed down projects page for gnu.org; this is partially because it's a very tedious thing to do, but that's not much of an excuse.


  • Fri Jun 25 00:28:44 1999

    GC: implemented automatic size tracking for obj allocation again. This one should work pretty much everywhere, and not have problems with alignment. Next for this is to add support back in for glibc (where it's very easy to get at the size of any given malloc chunk); then I'll make the last thing release before the gengc.

    Web: oops, still haven't done the projects list stuff for gnu.org. This was sidelined by the gc, since there's nothing like a mega-consing program to point out bugs ;). Tonight or tomorrow.

    Hockey: the NHL awards were tonight, so I figured I'd make a last hockey entry here until next season. A few bits:

    • It was a goal; thankfully, they're going to chuck the punkass goal crease review rule next season.
    • Chris Drury won the Caulder cup (woohoo, he was my pick :).
    • Dallas winning the cup is kinda like a groundhog seeing his shadow; now we can look forward to 6 more years of big, boring, defense-oriented teams. I hear the NHL is planning to start offering free root canals during the games to make 'em more exciting (at the very least, it's more likely to keep you awake than a bunch of 230 pound goons standing around hugging each other).

  • Tue Jun 22 22:11:08 1999

    GC: been paying more attention to this than updating the news page :). Fixing bugs with lazy sweeping and the explicit mark stack.

    Web: I'm going to fix up the projects stuff tonight so that a striped down page containing only free software can be generated for gnu.org can be generated.


  • Fri Jun 18 14:58:50 1999

    Misc: if you don't check out the linux game tome, there's some bad news there for the gc; I just won a copy of the new linux release of Quake :)


  • Tue Jun 15 21:28:08 1999

    Gc: I've done a lot of cleaning up with it... to some extent, the overwhelming pile of macros has been removed; also, I've simplified some bits of the generational stuff to make it easier to keep track of inptrs, and changed the way the heap is laid out for the gengc.


  • Tue Jun 15 03:57:42 1999

    Gc: I was a bit over optimistic about the state of the current sweep stuff ;). I'm starting to get back into the gc groove, though, so it shouldn't take very long. What needs to be done is to implement the reaping for the youngest generation (this is actually just the current sweep, with a slight modification), and to implement it for the rest, which is slightly more complicated, since they have to be checked for pointers to younger objects. Also, there's still the slight iffyness of what to do about constituent pointers where you can't figure out what object they actually belong to (a pointer in a vector is the best example)... the problem with these is that we can't take them out of an inptr list when we advance a chunk... but it's probably just as well to leave 'em in, and fix them when that generation is traced.

    Numbers: anyone interested yet?

    Web: I've written a partial resources page for the official site, that I have up temporarily here. More definately needs to go into that (I'm not happy that I have the only guile website listed... I'm also not happy that it's so small).

    Misc: spent a far too large amount of time today trying to get someone's scanner working under the evil o$... there's a cure for sanity, in case you're looking.


  • Sun Jun 13 17:17:49 1999

    Long time, no update. I was a bit busy :)

    GC: I've finally started doing more work on the gengc (half of which was figuring out what I'd already done). The current status is

    1. Marking: finished.
    2. Sweeping: 80% finished, and really needs checking.
    3. Write barrier: pretty much complete, not optimized yet.
    4. Guardians and weak vectors: the major bits left to do.
    5. Modifying the rest of guile to use the writebarrier: pricele^H^H^H^H^H^H^H (oops)... mostly complete, except for the incomplete bits I don't know about.

    Numbers: If anyone's interested in finishing this up, let me know (it's going to take a while, because I'm concentrating on the gc). There's not an awful lot left to be done, but I think it really needs someone who enjoys working on the numbers bits, rather than someone doing it because the alternative is the current implementation ;). Sometime tonight I'm putting up the second revision here.


  • Wed Jun 9 22:38:19 1999

    Misc: spent a big pile of time getting a patch of the non-controversial stuff ready for jimb... and about 5 minutes after I finished, found out that he'd just checked in Gary Houston's ports patch. Doh! I tried to skip most of the ports stuff, anyway, but it's probably leaning towards useless right about now.

    Web: started up a resources page for the official guile site.

    Projects: started bugging the people who've announced projects but haven't sent in anything for the projects list ;).


  • Mon Jun 7 17:52:26 1999

    GC: I've played with the explicit stack some more... surprisingly, it's no faster in terms of gc time (it does seem to slightly cut down run time, but that's more to do with alignment, I would think). The contributing factor here is that the x86 architecture absolutely blows goats (so none of the stuff can really be inlined, since the benefit of not doing a function call is hosed by the increased register pressure, particularly when it's built as a shared lib... something could probably be done by writing some of the bits in asm, but that's way overkill ;).


  • Sun Jun 6 14:44:38 1999

    GC: the explicit stack is implemented (though not in the most robust way... it tries to handle running out of stack space by just reallocating, and can't cope if this fails... the typical required stack space is around 8kb, which I think is much cheaper than all the recursive calls (for each of those objects, scm_gc_mark would be called recursively... for long lists, that's an awful lot of stack space)... eventually, though, it needs to deal with totally running out of space). thing now beats cvs guile + expmem on gc time for startup, which I think is pretty cool (the actual startup in user time is about half of guile's). The next bits to do are lazy sweeping and moving the marks totally out of the heap... on the heap is easier, but off the heap will likely provide better performance. Also, the profile stuff is now optional.

    Numbers: getting back to those presently. About halfway through the glue, so a second prerelease (that works!) should soon be forthcoming.


  • Sat Jun 5 15:52:29 1999

    Numbers: still working on the glue. All the bitwise functions are now implemented.

    GC: Fiddling around with a few ideas (explicit stack for marking, mostly... again, it comes up against the typical trying to free something on the stack problem *sigh*)

    Hockey: Colorado went out with a wimper last night. That just sucks.


  • Thu Jun 3 19:01:19 1999

    Thing: moved a few more functions from boot.scm to c sources (read-line & pals... the only one left in scheme is read-delimited, but that's mostly because I don't feel like untangling it at the moment :). I'm planning on a new release very soon.

    Projects: damnit, I've gotta get around to changing the categories!

    Misc: Picked up a copy of the thread listing for the mail archive to start picking out some links for the thread references on my main page, and out of curiosity slapped together a few commands to do a count on the frequency of posts by each person (cat guile-news-threads.html | grep '<EM>.*</EM>' | sed -e 's/<EM>\(.*\)<\/EM>/\1/g' | sed -e 's/<\/LI>//g' | sort | uniq -c | sort -n, for those interested :)... I have the second biggest mouth, apparently ;)... mdj elbowed me out by 9. The thread references are on the main page now.


  • Thu Jun 3 00:50:11 1999

    Numbers stuff: added support for exponents and more funky stuff into the from_string function.

    Misc: not much else... been doing a lot of reading on linux memory management and the stuff present in the current breed of intel processors, to see what kind of cool stuff might be possible for the gengc.

    Hockey: Colorado played one of their infamous 30 minute games last night, so the final game goes on Friday in Dallas. They've gotta be the most frustrating good team to root for.


  • Tue Jun 1 00:49:11 1999

    The first prerelease of the numbers is up here. Still lots to do, but at least I've finally let it breathe free the electrons for a little while :)

    *sigh* Toronto's Cinderella run ended tonight. It's too bad they had to be such literalists and wear glass slippers on the ice, but they are a young team, and bound to make a few mistakes. So, the hope for an exciting Cup final between Toronto and Colorado, two teams who like to play smothering defense about as much as they like wearing colostomy bag helmets, is shot down. I guess it doesn't matter much who Colorado has to beat to get the cup, tho ;'7

    In life, there come few very special moments, and when they do come, you must cherish them. So let us pause for a moment and wonder at the free-association that gave us `colostomy bag helmets'.


  • Mon May 31 13:24:00 1999

    Damn, I wanted to do a prerelease of numbers last night, but didn't end up getting enough finished in time. It's very likely to be today or tomorrow; the first release is only going to be for the very brave, who like to look at code and stuff :) (I'll still need to finish off all the interfaces that guile currently wants).

    Colorado is leading their series with Dallas 3-2... woohoo!

    I've got a few spiffy ideas brewing for the gc, which is why I'm trying to push out the numbers stuff ;'7


  • Thu May 27 16:28:53 1999

    I'm into the testing of various bits of the new numbers. The parser seems to work, so string->number is happening. More glue is still needed.

    I finally got a copy of Richard Jones' gc book. It's nice to not have to spend so much time poking through a few hundred tech reports :)... it's quite well written, too.


  • Tue May 25 17:42:11 1999

    A new midi file (Colorado lost a road game, the bastards!). Another Zappa one from One Size Fits All... for some reason, these seem to be the best sequenced Zappa files... tho this one isn't as good as Andy.

    Pop quiz: what do you get when you add:

    • One visit from distant relatives (time to show off the latest cousin).
    • One cat, nervous from the appearance of unfamiliar people and with a tendancy to dart at the slightest sound.
    • One clumsy programmer, thinking about what needs to be done to finish off an implementation of the scheme numerical tower for guile and walking down a set of stairs to get a glass of water.

    To paraphrase the immortal Ralph Wiggum: my head hurts and my back hurts... I have two ouwies (hrm... odd kind of thing to spell, that one).

    I pretty much finished up the stuff dealing with actual numbers before that little spill, though; I'm a bit too dizzy and tired to work on the glue right now, though... but it is looking pretty good for an alpha version sometime this week or the weekend.

    Cats may also be the root of all evil ;')


  • Sun May 23 00:11:35 1999

    Spent most of the past few days brushing up on math stuff (and fiddling with numbers, not necessarily in that order).

    Colorado wins another one. Even with the theft of a goal, the Avs fought back to end the game on a 2-1 tally. It wasn't as boring as the score sounds (though I may be a bit subjective here ;).


  • Thu May 20 12:53:00 1999

    I actually finished the rationals! Just the reals and the interface to guile to go (which I've already started, and I'm going back to after I finish this).

    I still can't think of anything new I want to add to the official guile site. I was thinking about a resources page, but most everything is unacceptable for the gnu site (the fact of the matter is, you're much less likely to get a free manual than you are a free project, because manuals are such a f$*#@!# PITA to write ;). Anyways, any suggestions would be appreciated (maybe a bug tracking system?).

    Still no new look. I really suck at this whole html thing ;)


  • Wed May 19 01:38:30 1999

    If I was to write that I'd been working on the numbers stuff, would you be surprised? Thought not :)

    Colorado justified the song, dropping the fatal blow on Detroit tonight in a 5-2 victory.

    Oops... the song's "We Are The Champions", for those of you without a midi plugin (that actually includes me... I haven't bothered with it ;).

  • Tue May 18 00:23:52 1999

    Toronto's sharing the song, taking the series in overtime during the sixth game. Woohoo!

    It's a conspiracy, I tell ya! Loki Games just announced the next three games they'll be porting to linux... one of those is Railroad Tycoon II. This is almost as much a time eating threat as Alpha Centauri ;)


  • Mon May 17 12:38:20 1999

    Ok, I'm definately going to finish rationals today (well, almost definately... baring a sudden attack of exploding chickens).

    You'll notice the music has changed... maybe a bit premature, but after the lousy second game, Colorado has absolutely owned (the hated >;) Red Wings.


  • Sat May 15 22:09:48 1999

    Numbers stuff, tried to muddle through the problems with Irix. I've started in on the modules documentation, too.

    Still a total absence of a new look... sigh.


  • Thu May 13 16:35:28 1999

    If you have a plugin for playing midi, you should be hearing one of the coolest Frank Zappa midis I've been able to find (cool in that it's very true to the original recording... the tune is ``Andy'', from ``One size fits all''). This and more Zappa midi's can be found at, of all places, the Frank Zappa Midis page. Eventually I'll get around to sequencing the gc segfault song to assault your ears ;) (anyone really want to donate a midi guitar? ;).

    I'm planning to document the module stuff after I finish with this (it annoys me when I have to look for complex solutions to problems that're already solved ;).

    I'm also doing a writeup on outstanding number problems, which will probably be posted to the guile-numerical list pretty soon.


  • Wed May 12 20:39:23 1999

    Still no new look... I have found a few really cool Zappa midi's I'm probably going to add, though :)

    Other than that, I spent a lot of time playing around with threads and modules, trying to figure stuff out (this mostly sparked by a thread on the mailing list). I wonder about the semantics of something like dynamic-wind in the presense of threads, tho.

    Colorado left the stink home in Denver, apparently.


  • Tue May 11 13:30:30 1999

    No new look yet... I'm still trying to figure out how other sites do it (I know so little html, it's kinda sad and funny).

    Finally got the strop diff into guile cvs... it only took, what, 4 months! ;)

    Yep, still working on the numbers stuff. I'd give an expected date, but that's mostly a pointless endevour, 'cause it would I'd either rush it, or release a non-working pile of code. Anyhow, I hope to get most of rationals implemented today, and rewrite the number parser (that's one of those pieces of code that I know, just thinking about it, is going to be rewritten a half dozen times before I'm happy with it ;)

    Colorado's really starting to stink up the ice against Detroit.


  • Sat May 8 15:10:53 1999

    Been working on an improved website... expect a new look RSN.


  • Fri May 7 15:39:19 1999

    Since my little search on arbitrary precision numbers brought me to cln, I figured I might as well give clisp a look again... jeez! I remember when a clisp download only took 2 megs!

    On the numbers topic, what I'm probably going to do is try to crib some things from cln, and add them to a strict module, which should be selectable at compile time (and maybe run time, on dynamic linking platforms). The issue isn't so much the strict gpl on cln, as the fact that it's written in c++ (urg).


  • Thu May 6 20:02:50 1999

    Was just browsing around for numerical algorithms, and came across the cln package by Bruno Haible (of clisp fame :). It has a much more complete set of operations than gmp, but there are two problems:

    1. It has it's own garbage collection. I can probably hack around that, though ;)
    2. It's strict GPL. Doesn't bother me, but it's likely to make it unusable in the core guile distribution.

  • Thu May 6 17:00:46 1999

    Started working in earnest on the rational and real number implementation. The first release is only likely to have the four (rationals via mpq_t in gmp, reals as doubles). I've been looking at other scheme implementations, and their number parsers are really ugly, too ;)

    The second round of the playoffs starts tonight.


  • Wed May 5 16:05:12 1999

    Wow, r5rs' numbers syntax really blows goats. I guess I'm just a purist, but I really hate it when you hit something that is almost totally foreign to the design of the rest of the system, and the number syntax really fits in here. What makes more (schemely) sense?

    #i34333
    (exact->inexact 34333)
    

    It's also a bit gross to write something to grok that number syntax, and since that's what I'm doing today, I feel a little grouchy about the whole thing ;). There are good reasons why you want it (so that you can write and read the numbers, and get back the same thing) but parsing them's a pain in the ass.

    After the first round of the playoffs, I'm batting .750 (Pittsburgh also screwed me over last night by winning ;). As for correct predictions of the number of games as well, that's at .375

    A big pile of discussion on the guile list currently, which started on defined? (again, I dislike the non-predicate predicateness of that... defined is better), and is now in the realms of direction and future, so ya know it's gonna go on for a while ;). Since I'm grouchy, I'll be cynical and predict that there'll be a lot of talk about what guile should be, what direction it should take, and in the end very little will come of it, 'cept maybe a pretty full mailbox for a few days (if you want to see something happen, you've gotta actually do it... no amount of talk will make the code magically appear, which is why I try not to bitch about anything I'm not prepared to put the time into fixing... unfortunately, that means that I've got a lot of crap to do, because there's a great deal in guile I like to bitch about ;).


  • Tue May 4 14:24:20 1999

    I bet you thought I was gonna mention that Colorado won last night, thereby fulfilling my prediction of Colorado in 6, and, as a Colorado fan, making me quite happy. Well, you were right.

    Been playing around with a few different bugs, and occasionally throwing a little code at the numbers stuff.


  • Mon May 3 00:02:45 1999

    Just a quick update: Toronto moves on to the second round! After saying that Colorado could make me right about one, two teams went out tonight and made me look good. Though nobody really cares ;), here were my picks for the first round series that've ended (also available here, at the playoff pool page, so ya know I'm not just doing a bandwagon jumping thing :)

    • Ottawa in 7: they lost in 4, so I totally screwed that one.
    • Dallas in 5: they won in 4. I really thought Edmonton was good for a game (and they actually should've had one, so I wasn't really far off here... blame the punkass goal crease rule).
    • Detroit in 5: they won in 4. I thought that Kariya and Selani (no way I'm going to spell his name right... just pretend that that's the correct way to spell the name of that magical little Fin :) were good for at least 1.
    • Boston in 6: they proved me right tonight!
    • Toronto in 6: woohoo!

    Now, you may be saying "Damnit! What the hell does this have to do with guile?!?!". And I have one thing to say to that: *phbbbt* ;')


  • Sun May 2 20:10:39 1999

    (On q3) That should've been 1st person shooter, of course. For those of you keeping score at home, that's another one for Brain Fart, with Typo drawing the only assist.

    Final Score: Greg 2, Stupid Errors 35

    In that vein, Colorado finally broke out of their playoff malaise on home ice (likely helped by the embarrasing 7-3 drubbing on Friday) to lay the hurt on San Jose last night. Colorado leads the series 3-2, with a game Monday night in San Jose (and, even cooler, if Colorado wins it, I'll have at least one correct first round prediction! :).


  • Sun May 2 12:16:42 1999

    Still with the numbers stuff...

    Tried out the q3arena test... looks cute. Well, that's about it, really, another good looking 3rd person shooter. *Yawn*

    Something I didn't know is that there's a Dave Barry page at the Miami Herald site, where they have an archive of his articles for your reading enjoyment (try it, it doesn't hurt, and the guy's really quite funny). A sample:

    For years, ``officials'' told us that marijuana was an evil criminal drug. Now they tell us that it has ``important medical benefits warranting further investigation, but first let's order a pizza.''

    Ok, now back to coding ;)


  • Fri Apr 30 12:26:52 1999

    Missed another day!

    Here's a bit of detailed status on the numbers reimplementation: the generic implementation of r5rs primitives is done; immediate integers and bignums are (almost) done (there are a few tiny holes with bignums, which I'll get at after I finish this). Rationals (to some extent) and reals (almost totally) still need to be done. I'm probably going to leave out complex numbers initially, since you can have a functioning number system without them; they'll come after I iron out any problems with the system. This is ignoring the little bits that'll have to be changed all around (removing the asubr type from eval, for example). A few more days...

    Woke up yesterday and said: "Hey! I've still got two days left in April! I can still get an alpha gengc out in time!" Then I thought of numbers, shuddered, and figured that I'd have to let it slide. In case you're wondering, these are the reasons the gc is taking so bloody long (in no particular order):

    1. Waiting for commentary... I hate to put it on anybody else, but I have been waiting for some comments on the gc stuff I've already released for quite a while now (particularly since the commenteur (that's probably not a word) expressed some reservations about the technical merits of the approach, so it seems better to not put a lot of time into something that might have to change radically). There've been a couple of times I've held up work on the gc for a few weeks to wait on something that never arrived. This is a known bug that'll hopefully be fixed soon :)
    2. The eyes bigger than the stomach syndrome... this is totally my fault, because I keep doing a pile of other stuff when I should be working on the gc ;)
    3. And, of course, the uncontrollable urge to run around with bananas and chocolate sauce on my head, shouting "I'm ice cream!". That's quite a bit more distracting than you'd think.

    The ``Greg is a banana split'' foundation is now accepting donations of money, whipped cream, and, of course, bananas.


  • Wed Apr 28 18:53:02 1999

    Oops, did miss a day!

    Been banging out some ideas for the numbers stuff; many thanks to Dirk Herrmann for the suggestions and ideas :)

    Actually did a very small amount of work on the official guile web pages at gnu.org; it was only a little bit of correction and additional pointers for Jim's idea page. I've been thinking about adding a guile news page there, but I'm afraid there'll be embarrasingly little to report.

    Ottawa was swept in four straight, totally screwing my playoff predictions (doh!). I knew there was a reason why I don't put money on this stuff ;).

    I was a bit surprised to find that anyone actually reads this (I thought all the hits were from spiders and bilkers). Maybe I should spend more time thinking about what I put here?

    Naw, let the reader beware ;')


  • Mon Apr 26 23:49:10 1999

    Oops, almost missed a day!

    A little more numbers work, and merging Gary's latest port patch into guile; mostly, it's been a sucky day, so I've been trying to take it a little easy.

    The best description I've heard (though I can't say how accurate it actually is) for Fibromyalgia: "It's like Rheumatoid arthritis, but without the deformity." It's always nice to avoid that deformity thing ;). Anyhows, that's a good word (Fibromyalgia) to do a search on when you feel annoyed about the slow birth of the gc, among other things (anyone willing to swap bodies should drop me an email :).


  • Sun Apr 25 11:39:56 1999

    Still working on the numbers stuff :)

    Finally, a team I was rooting for actually won a bloody game! (Toronto 2-1 over Philly, the two goals coming in the last two minutes of the game). Of course, my main team Colorado also won, but that's to be expected >;')


  • Sat Apr 24 11:16:04 1999

    My main guile page topped 1000 hits yesterday... excluding robots, address harvesters and me, that's almost 10 hits! :)

    I've been in sort of a `download & play with stuff' kinda mood; my icq number is 37181463 ;) (tho probably not all that useful, since I'm online sporadically at best).

    Still working on numbers stuff; just to clarify things, I'm not much concerned about the numeric performance, as I am with reimplementing it cleanly. For the curious, my approach is to go a similar route as smobs and ports, by having one type, and an index into a structure of numbers functions; this basically implements the numeric tower by having any operation on two numbers call the function associated with the higher number (where higher is towards the top of the numeric tower). For example, doing (+ inum inum) will call the inum addition, while (+ inum complex) will call the complex addition; it means that handling the various types of numbers is confined to the more complicated numbers (so an inum addition does very little testing). A lot can be optimized eventually, but I'm more interested right now in just having a smaller mess ;).

    Ottawa lost again, albeit in the second overtime period. That just sucks.


  • Fri Apr 23 11:37:58 1999

    Still working on reimplementing numbers. I should finish up integers (immediates and bignums) sometime today.

    Toronto lost the game last night (doh!)... looked like nerves (same thing with Ottawa, actually; they had more than enough scoring chances, but were trying so hard they were fumbling all over the place).


  • Thursday, sometime

    I'd planned to do the (seemingly very) simple task of finishing the SCM -> pointer thing (and fixing configuration for it, making it clean and sensible); mostly, this should've been a mindless task of compiling, fixing the places where it went wrong, fixing those, compiling... you know, shit work. And it was going pretty well, until I came up against my old nemesis, numbers.c . I've been trying to avoid that particular little gem; partly because that code's in the blindness inducingly ugly category, and partly because I know that having to deal with it much more is going to force me to rewrite it. From the tangled mess, to the free and easy swapping of longs and SCM's, I was quite happy when the hockey game started, giving me a good excuse to leave it be for today ;)

    Planning to start re-writing numbers.c next, using gmp.

    Currently, Ottawa's tied with Buffalo; the high points of the first period included an almost total domination by Ottawa, and the spontanious the birth of the Senator victory cry ``Take that, you Czech bitch!'' (I'm so articulate whilst watching hockey). Alas, the Sabres just went up by a goal. Also, the two ref's are going batshit with penalties.


  • Tue Apr 20 15:12:40 1999

    Fiddling about with some gc docs, doing some changes to thing (like moving SCM from a long to a pointer to an undefined struct, which should allow a lot of warning in places where a SCM is used interchangably with an integer).

    The final results in the Usenet/WWW Hockey Draft are out. The Weinerdogs placed 60 out of 311, which wasn't too bad, given that I barely looked at it for a few months.

    On another hockey related note, the playoffs start tomorrow: Go Avs!

    And, of course, since I'm supposed to be working on some website stuff, I'm slapping together my own personal markup language in guile ;).


  • Mon Apr 19 20:52:41 1999

    Not much news, I'm afraid. It's been total suckage the past few days (Jim jinxed me with his comment about my energy ;). I've taken a look over a few source files, and tinked with designing a new logo for guile, but given that my master work is ``Portrait of the Artist as a Stick Man'', it's probably destined to suck ;).


  • Sun Apr 18 00:04:26 1999

    I've finally gotten around to making my net setup sane (it only took, what, two years ;). It's not easy finding info for getting a coherent dynamic-ip setup that can have both an unofficial hostname and work with sendmail (no more 30 second pauses, which often coincided with me shutting down the link, which is why my mail occasionally seems like a blast from the past).

    Looks like I'm a guile webmaster now (be afraid, be very afraid ;').

    In case you've been living in a cave, Wayne Gretzky announced his retirement on Friday. It's kind of an odd feeling, actually; even though I haven't been a hockey fan all of my life, Wayne Gretzky was a constant (after all, he's been playing since before I can remember); he was also the rare class-act, in an era where sports stars seem to prefer rolling around in piles of money than actually performing in their sport.


  • Fri Apr 16 02:38:47 1999

    More gengc... mostly modifying things to work and stuff ;).


  • Wed Apr 14 02:39:12 1999

    Finally getting around to all those niggling little bugs in thing/guile, like the time thing (you see something and you say 'I'll look at that in a little bit when I've got some time to think about it', and then it's two months later and that mail is still sitting there unread :( ).


  • Tue Apr 13 00:26:01 1999

    Nothing new to download today; I've implemented updating for the project list stuff (my life: 100% easier, I'm going to add the licenses for the stuff I know about in a little while), made the html it generates almost readable (and legal), and revamped some of the gengc code (the way I'm going at it now should be more efficient, since it doesn't need any really large lists of possible pointers, and it makes it very easy to advance any particular set of objects).


  • Mon Apr 12 00:08:19 1999

    A new thing tarball. Lots of guile compatability stuff, bug fixes, and slight cleaning (major cleaning starts soon after I finish this ;').


  • Sun Apr 11 06:12:53 1999

    A new thing patch. Fixed bugs with numbers functions (exposed while messing with goops, which is a whole lotta fun :').


  • Sun Apr 11 01:23:19 1999

    I've recovered quite nicely from excessive consumption of Canadian lager.

    I'm back to figuring out the various bits of guile that I haven't looked at closely yet (i.e. biting the bullet and diving into eval... if I come out with sanity intact, it'll bode well for the gengc ;).

    Some potentially very bad news; in an irc interview with Brian Reynolds of Firaxis software (makers of Sid Meier's Alpha Centauri, which I've mentioned here previously), says

    [DanQ] Will there be a Linux version? 
    [Brian_] Certainly a Mac version; I'm assuming a Linux version too
    though that hasn't been finalized... 
    

    Can you say ``time eater''? I'm almost hoping it doesn't happen ;)


  • Fri Apr 9 00:09:36 1999

    Some people celebrate a birthday spending time with family and friends; others quietly contemplate the year before and the year ahead; and still others buy a bunch of marked down Easter chocolate, drink beer, and play with Garnet. It probably doesn't take much detective work to figure out which category I occupy ;) (if only they'd based it on clos... *sigh*)

    I'm not trying to be slashdot here, but there's an interesting little article about M$ considering releasing source that peaked my interest (again, that's the beer talking, I guess ;). For those of us who do like to play games every once and a while, this would be excessive coolness (not to mention the benefit for Wine). Of course, this will result in a lot of people's belief systems being completely shattered (M$ is evil... no, it's beautiful... no... argh! *head exploding sound*).

    After a freshmeat announcement, I've taken a little look at Icon; that is one spiffy language. I've been smitten, I think ;).

    And no, I didn't do much work with guile stuff today... I'm a drunken birthday boy fulla chocolate, damnit ;)


  • Thu Apr 8 01:10:15 1999

    Happy Birthday to me!

    The gengc was notable in it's absence of stuff I worked on today (looking at moving the current module stuff to c, some other clean up type stuff, and the project list stuff). Apologies to everyone waiting anxiously for it (am I hearing crickets? ;).

    New project list tarball here. Mostly improves the entries in the database, and generates proper code for html special characters.


  • Wed Apr 7 17:08:41 1999

    The first stab at an auto-generated projects page is up here. The code and the `database' is in guile-projects-0.1.tar.gz.


  • Tue Apr 6 01:11:22 1999

    There's a patch for the new thing here, which fixes all the bugginess resulting from the weak vector changes.


  • Mon Apr 5 21:16:08 1999

    It was definately a good thing that I decided to wait on the thing announcement for a day (no pun intended ;). There were a few really horrid bugs with the weaks, which I've been hammering out. A new dist, and a patch to yesterday's version will be up later tonight.

    Second recipient of the `cool enough to give you an ice cream headache' award; Thien-Thi Nguyen (usually just uses Thi), for submitting a renderer and a partial mail groker for the projects list format (an html generator is only a little work, and this will hopefully be reality in a day or two). I'll package these up, plus the stuff I've finished later tonight; as well, I've almost completely finished rewriting the stuff on the temporary projects page in the alist format, and that'll be up shortly as well.

    Finished documenting the queue module for the qdocs (aka q in official guile, which is a really shitty name, IMNSHO ;). This one's been done in texinfo, and it's most likely that all future stuff will be texi.

    Off-island connectivity is toasted right now... somehow, the day just doesn't feel complete unless I take a look at freshmeat ;). So if anyone's been having any problems getting through to the website, this is probably the reason.


  • Sun Apr 4 19:09:07 1999

    Taking a little break from putting a few finishing touches into thing; the announcement will be sometime tonight, and it will be available here. Even with a little polishing, though, this is likely to be the most fragile release, since a few new & possibly dangerous things have gone in (a mod to weak vectors to accomidate the gengc, Maciej Stachowiak's init patch); other bits include more documentation (including a list of things that really need someone to work on them).

    Spent a little time becoming refamiliar with elk; their gen collector is a good example of why using an os-based write barrier sucks, actually (still a nice little system, though... well documented (nudge)).

    A good day for once! I'm shocked, I tell ya (even more so, since I spent most of last night watching hockey and drinking beer ;).


  • Sat Apr 3 19:09:01 1999

    I'm back for a few moments with some advice:

    1. Do not repartition one of your hard drives on a whim.
    2. If you ignored 1, back up everything important (like that source tree you were packaging up for release).
    3. If you ignored 1 & 2, at least write down the cylinders of each partition before you get started, so that it's easy to get things back to the way they were.
    4. If you ignored all of the above, you're about as stupid as me ;)

    Luckily, it didn't take too too long to get things back working (with much trial and error of cylinder numbers... I got a break in that I knew exactly where one partition was, and could remember enough of the layout to get everything working again). The worst bit was that both the thing source tree and my cvs directory were the important bits on the two partitions affected. I certainly hope I've learned my lesson.

    Other than that, I've been toying with guile-gtk+, and wondering how hard it would be to write a little browser for the projects list (which look like they're, at least initially, going to be based on your basic `file with a bunch of alists').


  • Sat Apr 3 16:08:09 1999

    Updating this page when I'm supposed to be working on the gengc is something I really should avoid ;).

    Speaking of thing, should be a new one tommorrow, with the ``don't eat my main'' patch, and a little more stability to the new ports. I'm not sure if I'll include the current work on the gengc yet (probably not, since it doesn't really do much). Also, it may not include the qdocs this time around, since that'll require a bit of delving into that autogenerated mess that is automake/autoconf.

    Need to follow up a few interesting things that people mentioned (particularly the profiling patch).


  • Fri Apr 2 13:20:33 1999

    Yep, most of yesterday's entry was a limp April Fool's joke (BSOD was a dead giveaway, of course... basically, in order to get someone, you actually have to have something that would cause some type of anguish ;).

    Spent a little time on the projects software (which I'm absolutely not doing anymore, looking for someone else to do); I didn't get an awful lot done, due to the paradox.

    My brain hurts!


  • Thu Apr 1 00:53:59 1999

    I've decided to quit doing stuff for Guile, and start a company producing commercial software for Windows.

    I intend to call it 'BSOD Inc'.

    Winter strikes back, with about a foot of snow over the past two days. And, of course, cold weather = slow me, so not a lot of real guile news to talk about, 'cept a little bit of gengc stuff, and yet more time spent on the popen module (it's like an addiction trying to figure out all the little oddities that thing exposes ;).


  • Tue Mar 30 12:16:34 1999

    Spent most of yesterday doing ``Misc'' (tinkering here and there; fixing small bugs, etc).

    Probably gonna drive Gary Houston batshit with fixes to my fixes of the popen module from his ports patch ;)... it should work right this time... honest!

    Other than that, no big news. Actually spent some time outdoors yesterday, hanging around in the sun with the cats :)


  • Mon Mar 29 08:22:39 1999

    Didn't get nearly as much done over the weekend as I wanted. Spent most of Sunday watching hockey (Colorado laid a beating down on LA, which was cool) and playing with a demo of Alpha Centauri (also cool... thankfully, exchange rates are horrid, so I won't be buying that anytime soon ;).

    Of course, after saying that I was giving up the projects software for a while, I spent a lot of time working on the projects software... I'm so weak ;)

    Just for the record, Bruce Korb is the one looking at writing the page generating software for the projects list. I sent him a simple test case yesterday with three project entries.

    And finally, the long awaited (ok, maybe not) debut of Futurama (Matt Groening's new show) was last night... it was ok (the Leonard Nemoy bit was hilarious); around the quality of current Simpsons, which isn't terrible, but not as good as the Simpsons in it's prime.


  • Sat Mar 27 14:54:19 1999

    I've been a little lax here, but then again, I don't think anyone but me reads this page ;).

    • Looks like I've got a taker for the page generator for the projects list. I'm putting together a little test set for him.
    • I spent most of Thursday's guile time massaging the texinfo qdocs into something that could generate info as well. For the nth time, I'd like to point out that Dale Smith (who did the initial translation) is an official recipient of the ``cool enough to give you an ice cream headache'' award :)
    • Most of Friday I spent feeling lousy, so not too much of things guileish 'cept a little documentation.
    • And today, it's almost too nice to be cooped up inside in front of a computer, but that's never stopped me before ;). I mean to take a look at Jost Boekemeier's guile snapshot with the new module stuff, and do just enough to the mail module to get it to actually mail; it won't be pretty, but it should be enough for what the projects software will need, and, of course, more frowning at the gengc code ;).

  • Wed Mar 24 22:01:24 1999

    More slaving in the gc mines. In theory, the generational stuff should now work with conses and vectors, though the real test will be when the generational stuff is all in. I've found another little complication (pointers that don't actually have a generation or a parent... an example is the root, though that should actually always be traced I think (we can always skip if the object it points to is too old), but it is a class of objects that'll surely come up).

    I'm trying to subcontract the projects software ;)

    The weather is being totally funky (from sunshiny to near zero rain); a bit of advice for anyone with a circulation problem (among other things; I'm not going to get into it... let's just say my wetware totally sucks): do not live in a Northern climate!

    On a related note, anyone want to offer me a job in Arizona? Will work for room, board, cat food and inet access ;)... will even program in Basic... on a c64... wearing mickey mouse ears and a tutu... (note: the cat food would be for Tiger... I'm not *that* desparate :).


  • Sun Mar 21 16:13:45 1999

    More generational work. It's coming along pretty well. I've again split up the gc into separate files by category (because a 2000+ line file is a hassle to work with... I'm going to stay like this for good, I think... the only reason I went back to gc.c was to make it easier to contribute changes for the official guile, but given that providing a change for official guile is often not much more than time wasted trying to put together the patch, it doesn't make much sense to make my life harder).

    The rfc882 thing will load up a file, and correctly separate headers from body, and let you access separate fields. Pretty spiffy, though I still need to test it with a real mail (and provide some decent defaults for dealing with and structured fields).


  • Sat Mar 20 21:18:27 1999

    The mail module can now grok headers pretty well, and creates an alist of header/contents things. It still needs to deal with folding a bit better (but I wasn't working on this much today).

    I've actually started going through the source and adding the generational bits :) I'm raring to go right now, but I'm a bit to tired to be trusted with it, so I'll be at it tomorrow morning.

    After much procrastination, I've finally set up a backup system with my tape drive. Really, I should've done this after my first hard drive went flop, but I've been lazy. Luckily, nothing bad has happened since then, and a report of a recent thump on the crystal space list made me a little paranoid.

    Watched `There's Something About Mary' today (waiting for the backup... I'm using the dos software, since I'm really not in the mood for ftape hassles again)... the first Hollywood comedy I've seen in a long time that really made me laugh; recommended viewing if you aren't easily offended ;)

    Finally, it's been a month since I said that I was trying to quit smoking and... dumdududa! I still haven't quit smoking. I am, however, still on the same can of tobacco (so I've cut down to, at most, 1/4 of what I was smoking before... which is pretty cool).


  • Fri Mar 19 15:19:06 1999

    Not a lot of note; I've almost finished the mail module, so that should be up in the next few days; I've added some more profiling bits to the garbage collector, though nothing interesting showed up (most of the time is in marking, wadda surprise, eh?). Also, the mail system here is likely to get a bit funky (my isp has heard of having redundancy, and wants no part of it apparently), so a few messages might bounce.


  • Wed Mar 17 10:16:42 1999

    A few new releases (yeehaw!)

    • A new textbuffers and thing are available from the main guile page. Some cool stuff made it into thing, so give it hell!
    • Some complete fuckwit has been using tical.net to bomb the linux kernel list with 80k messages.
    • Mon Mar 15 12:41:29 1999

      Since I find myself still waiting for one thing or another to download, figured it diddle on the page ;)

      • I've started working on the programs for the guile projects list; the first will be the simple parser/db entry generator; then the html backend and the verification system. I'm hoping this won't take long, though I'm still not sure which db to base it on (postgreSQL seems the most likely; even though it's probably not the fastest or the most lightweight, it's at least under a usable license).
      • Did you know: the human brain weighs about 5 pounds, and more than half of that is silly putty?
      • On a related note: do you know that you really shouldn't believe everything you read on web pages?

    • Mon Mar 15 11:08:04 1999

      Another batch of stuff:

      • I've moved thing into a local cvs, and I'm learning how to use pcl-cvs.
      • A lot of catch up with cvs guile.
      • Got the problems with Gary Houston's ports worked out.
      • I didn't think it was possible, but Nortel was dicking with the phone lines this morning and actually made them worse. This just chafes my nipples, it does.
      • I'm trying (rather fruitlessly) to pick up the latest ac patch for linux 2.2.3. The blazing speed of both the phone lines, and the overseas connection really gives you a feel for what it must be like to watch a brontosaurus mate.
      • I've been thinking a lot about the gen gc, if not actually writing the code.

    • Fri Mar 12 06:12:44 1999

      Another fairly active day, so let's dive right in:

      • I posted the second draft for the submission format for the guile projects list.
      • Jim Blandy posted a long document on the future implementation of environments, which should definately be read.
      • Looks like Mikael Djurfeldt has merged the goops branch with the trunk in cvs; not gigantic changes, but hopefully this means goops will be sooner rather than later.
      • More tuning and twiddling with my tree; I've backed out a few patches, though a few should be put back in soon. I'm workng on cleaning a few bits up.
      • I know what the problem with readline+the ports diff is, but I'm not quite sure what the best way to fix it is. Essentially, readline requires two FILE * to be set: rl_instream & rl_outstream; now, with the previous ports implementation this was easy, since all the ports were were wrappers around stdio ports. Now, however, we don't have a file stream, so it needs to either:
        • Change the file descriptor given for the outstream to a FILE * (which might play havoc with the actual port).
        • Reimplement rl_redisplay in a way that works with the current ports. This is probably the best method, but it's also the most involved.

        Actually, there is the third option of registering our ports with the c library, but I think that's only a gnu feature, so not very portable.

      • Thu Mar 11 10:22:15 1999

        I've finished porting Gary Houston's diff to my tree; so far, I haven't given it extensive testing (and, in fact, it does break readline, which I'll look at shortly), but a quick, out of curiosity performance test of thing vs guile looks pretty good for thing ;)

        I did a very simple, startup speed test, where both guile and thing we're run as time guile -l test.scm; test.scm used the syncase module, then quit.

        Guile gives "real 0m1.835s user 0m1.820s sys 0m0.010s" (I'm being kind, this is about the best speed guile had).

        Thing (with init-seg = 65536 & seg-size = 65536) gives "real 0m0.984s user 0m0.710s sys 0m0.010s" (this wasn't the best speed)

        Thing (with init-seg = 16384) "real 0m0.884s user 0m0.700s sys 0m0.030s" (neither was this... toldja I was being kind ;)

        sys pretty much hung around the same place (which was expected, since neither should really require any more system time than the other). In terms of the actual time it took to boot up, though, thing is twice as fast (there is a noticable startup time increase on a k6-2 300mhz). Simply put, I rock >;')


      • Thu Mar 11 02:09:55 1999

        I really need a nice news page. Seems like there's a whole swath of stuff to cover now, so I'll dive right in.

        • I've been working on a formal submission spec for the guile projects page. The next one should be posted on the mailing list shortly, and will appear here. It's starting to get to an implementable and flexible system that won't require much human intervention.
        • I've been toying with some alternate ideas for the garbage collector. What I'm thinking is that we could take advantage of either intermediate representations (the rtl of gcc) or asm code itself to implement the write barrier. This removes the need to modify a whole lot of code, and could also allow much of the analysis of when and where a write needs to be recorded to take place at compile time (for example, a store into a register never needs to be recorded; neither does a store into the stack, since that's always scanned). I guess this could possibly be implemented jit as well, but it seems simpler to do it this way. Also of note is that most of the assigments that need to be tracked should be occuring through things like SCM_SETCDR, so it might be possible to work things into that (tho I'm thinking that the evaluator will still be a little bit tricky).
        • For some non-news, I cut my hair the other day. It's shoulder-length now, and really funky and puffy. I know no one cares, no need to point it out ;).

      • Mon Mar 8 04:12:16 1999

        I've been pleasantly surprised by the response to the initial projects list I put up. There's a lot of cool stuff going on out there for guile.

        Sort of on that note, I spent most of the non-updating the list time today working on porting Gary Houston's new port buffering implementation to my modified sources. This is actually one thing that worries me about the future of guile... given that it takes quite a while to get changes in, we're likely to end up with a lot of people with big changes that just aren't compatable with each other, turning into an administrative nightmare (and a lot of unnecessary work). I'll probably bring this up on the list soon, but I have a bit too much I really want to get done to get into a big discussion of this right now.

        I'm still hovering around that half-pack marker... actually, the increased amount of stuff I've had to do with the list has made it somewhat harder to go lower (whenever I'm responding to email, I always get an urge to smoke for some reason... maybe I'm just really weird ;).


      • Fri Mar 5 04:35:38 1999

        As opposed to yesterday, observers could truthfully note: "Hey, that guy's doing dick!" (ok, maybe that's a bit grosser than anticipated). I've been trying to whip those nasty textbuffers into shape, squashing more than a few very large, glaring, fanged bugs. I'm starting to get the hang of hacking without smoking, which is good, 'cause there's a shitload of stuff I need to do.

        I've found at least one potential package for a guile projects page, called catalog (I'll need to fish out the url soon). More about this after I actually read the documentation.

        I'm down under half a pack a day (not only will it save my lungs, but my monitor as well ;).

        Other than that, it was a quiet guile day (a few changes in cvs, but nothing to get all hot&bothered about).


      • Wed Mar 3 18:02:29 1999

        Really, I haven't done dick. Thankfully, this isn't the case for everybody :)

        A new release of guile-gtk. Now supports v1.2 & 1.3 (and 1.0 & 1.1 support has been dropped).

        Ok, maybe I have done a little; it looks like the ball is rolling towards getting a guile projects page up.

        I'm down to about half a pack a day and I'm basically a gibbering mess, so it'll probably take a week or so until I'm actually able to sit down and write/code for longer than 15 minutes (cross fingers).


      • Mon Mar 1 16:28:31 1999

        A long time between updates, but that's just 'cause there isn't really any news to tell. I've worked some on the gengc (and figured out a few new things, which should cut down mem usage, and hopefully make things easier) and the textbuffers, and I'm meaning to start ripping into the load mechanism to see if I can't get it going at a decent speed (isn't someone working on this? I really want to start up an ongoing projects page, because the current state of things is far too stupid).

        I have a few patches queued to go on the patches page (Christian Lynbech's load patch, and Maciej Stachowiak's patch to remove the need of guile to eat your main). I do need to finish at least partially describing these, though, so sometime tonight, hopefully.

        The new thing actually should've been put up a week ago, but I just haven't gotten around to it yet, and now I'm thinking I'll wait until I try integrating a few of the more important patches into the tree, and try ripping into load first.

        Really, I've spent far too much time blowing shit up lately, thanks to a new Voodoo2 vid-card (for you quake2 fans who haven't tried it, the effect of a deathmatch player with the quad will knock your socks off... but don't stare too long, or else you'll get a lot more than your socks knocked off ;).


      • Sun Feb 21 13:58:41 1999

        Given the almost total non-gcness of news here, it's now my guile news, which is broad enough to cover most of what I tend to put here. Anyhow, I'll try to keep up with other news outside of my own guile stuff, so here's some of the more recent tidbits:

        • Release of 1.3.2 is tenatively scheduled for sometime in mid-March.
        • I've been killed 2012 times (276 suicides ;) and killed 1078 times on my favorite q2 server (with an average ping of 426!). I suck :)

      • Sat Feb 20 18:50:52 1999

        Jeez, I've been taking my time updating this. I'll see how brief I can be here:

        • All the various changes I've made to the guile sources are now folded into one big diff against the current tree (the gc is conceptually at r10 now).
        • I'm trying desparately to get thru the humongous number of papers lying about (on gc and other stuff... not to mention the other school crud I have to get back up to speed on).
        • More qdocs... I'm starting to move into the important bits now, since I've started in on the gengc stuff, and I really need to figure out how to get all this things to mesh.
        • I've started fiddling with a few other things that I don't want to announce just yet, since I'm not sure how far I'm likely to get with 'em.
        • And, I'm trying to quit smoking, which is making it very hard to concentrate on anything but trying not to concentrate on having a smoke (which is like trying not to look at a purple elephant).

        Outside of that, I've been spending maybe a little too much time getting gibbed on q2 servers around the net ;)


      • Fri Jan 29 00:44:39 1999

        Garbage collector news? On my garbage collector news page? Who woulda thunk it!?! Anyhow, r7 of the guilegc is up now, which adds an after-gc-hook.


      • Mon Jan 25 04:00:29 1999

        I've quite officially decided that I despise automake. It's not that I was a big fan of it before, but I think that things are starting to get to a point where it's easier for the programmer *and* the user to just have a simple makefile to edit (just try to build things when something doesn't want to behave). I guess I'm just being testy, but the combined annoyance of the configuration tools and guile's lousy handling of dynamic objects is really ticking me off... maybe I should take a little break and play some angband for a change :). Interestingly enough, this doesn't have anything to do with the gc, either. The hooks are almost ready, though, I just have to figure a little bit out about the behaviour of asynchs


      • Sun Jan 24 00:42:24 1999

        Ok, one more day for the buffers (this being Saturday night, actually). The main reason is because I'd underestimated what was left to be done. Documentation is finished, there are a few little features that need to be added (forward-line is about the only one that comes to mind... that and proper end of buffer reporting)... there are some complications with the module facilities (i.e. guile's module facilities blow goats >;), so the first release isn't likely to be a pretty thing.


      • Fri Jan 22 02:20:56 1999

        Again with the buffers... anyhow, looks like they might not be ready until Saturday, since I ended up doing some more overhaul of it. Still needs some slight tweeking, my "Buffer the vampire slayer" test showed a little oddness.


      • Wed Jan 20 19:25:22 1999

        Still no new gc stuff... I've rewritten the emacs buffers (correctly this time ;). There's still a slight amount of flakiness in bits, but it's not nearly the nightmare it was on the first go round.


      • Tue Jan 19 01:24:35 1999

        Not much news on the gc front, I'm afraid. Mostly, I've been working on a few other things (the qdocs, emacs buffers), and letting the code lie for a bit. There isn't much else that can really be done with the current collector, so I'm going to see about getting it merged with the current cvs version of guile.


      • Tue Jan 19 01:24:35 1999

        Not much news on the gc front, I'm afraid. Mostly, I've been working on a few other things (the qdocs, emacs buffers), and letting the code lie for a bit. There isn't much else that can really be done with the current collector, so I'm going to see about getting it merged with the current cvs version of guile.


      • Fri Jan 15 03:18:50 1999

        Another two revision stretch without an update. The current one is here. This fixes a stupid bug with stats, and muddles with a few other things, though nothing significant. I've been meaning to do a hard profile, but trying to coax all the automatically generated files to do the right thing is a royal pain in the ass.


      • Tue Jan 12 01:36:37 1999

        Oops, two revisions before I got around to updating this (with a fifth coming tomorrow [um.. today, actually ;)], most likely). The current one is Revision 4, and you'll have to use the changelog to really find out what's changed. The fifth is actually finished (which includes an experimental mark change, which isn't guarenteed to help with much of anything ;).


      • Fri Jan 8 11:59:56 1999

        Revision 2 was put up yesterday. It restores the ability to create heap segs with ncells == 2, and cleans up a bit.


      • Wed Jan 6 13:51:12 1999

        Updating a dozen little docfiles, news files & emails, all pretty much the same. A new revision of the gc is here. The changes are detailed in the README and the ChangeLog in the tarball. There seems to be a little bug, but it isn't breaking anything, so I'm not wildly concerned. I have scwm up and running ( - the gay default colours ;). A better gc is definately needed.

        Other bits:

        • I really should get back to working on the emacs-style buffers.
        • Even more important, I should probably stop diddling with the current gc, and get back to the gen gc ;).

      • Sun Jan 3 14:08:40 1999

        The merging of chunklets with the current gc is finished, and should be up very soon here.


      • Thu Dec 31 20:34:35 1998

        Back to slaving in the gc mines >;). Mostly been backporting some bits into guile's gc (the chunklets, and some better sweeping methods). Should be available very soon.


      • Sun Dec 20 04:44:15 1998

        Still trudging along with the write barrier. I've been toying a bit more with the library idea for the gc, and looking for some good (and well documented ;) parsing code for scheme.


      • Fri Dec 18 02:36:42 1998

        The write barrier stuff is starting to get done. So far, the stuff to keep track of the generational pointers and things is pretty much done.

        Other notes: I've looked briefly at xlint, but it is suffering from the unfortunate fact that it's completely netbsd dependant. I've given a half-hearted attempt to port it to linux, but not too much has come of it yet. What I have been wondering at is if there's a lint out there that allows you to write new tests. This might actually be a cool project for guile and the currently rotting syntax stuff, although it does get to a nice chicken-egg sort of deal.

        Also, there's a few newer versions of hobbit floating about on red-bean (haven't looked there in a while)... there appears to be some module support, but it still can't compile any arbitrary bit of code :(


      • Sun Dec 13 18:57:53 1998

        The rgc is officially finished. I don't think it's generally useful as an alternative to the current gc, and I'm moving on to the generational garbage collector. There are too many limitations to the approach to make it worthwhile.


      • Sun Dec 13 03:25:10 1998

        I've done a little testing with the thing (+ an addon to segment selection that factors in the last time the segment was collected, this is probably not very useful, though). As expected, in a situation where it has similar seg sizes to the current gc, it (slightly) outperforms for typical create garbage, destroy, create some more operations. For very big allocations, though, it grinds to a halt (make-list 100000 takes infinately longer than the current system, which is to be expected, since the rgc prefers collection to allocation by default, and suffers very badly if it can't get any free storage). Note that, for this particular case, we probably should be letting the gc know that we are getting all that storage, and that until (at least) that operation is done, it won't be collecting any storage. This is only an issue for very large allocations, since in this case, the rgc is collecting more, and getting back no more storage than the current gc.


      • Sat Dec 12 17:33:04 1998

        I've moved the November stuff out of this file. I really need to get a nicer way of dealing with this. Other than that, I intend to start working on the rgc again tonight, starting with the segment selection stuff.


      • Thu Dec 10 15:44:12 1998

        The first alpha release was yesterday. I'm going to let that one sit for a day or two while I do some documentation and look at xlint from netbsd.


      • Tue Dec 8 02:27:22 1998

        Ok, it doesn't crash anymore, it just runs forever... a mixed blessing, I guess. I've changed back to a traditional mark/remove marks method. I've felt a little iffy about this, because i can always see how an unmarked object could be considered marked (though no marked objects should get considered unmarked). Anyhow, this way's a bit simpler, though somewhat more work. The other method should be workable with more than one bit per object, but for now, I'll stick with the straightforward way.


      • Mon Dec 7 21:31:06 1998

        One down, as I've discovered where the out of heap marks are attempted. (the vcell of structs, which isn't always a cell). I'm still trying to track the freecell on scm_symhash... an interesting thing I've noticed is that option.doc strings are being freed, so it may be one of options.c or symbols.c causing the problems... the gc doesn't appear to have anything glaringly wrong.


      • Sun Dec 6 20:42:56 1998

        Removed the SCM_CARLOC things (it aparently wasn't so stupid... in fact, it doesn't make much sense to use CARLOC, since a scm value is either an immediate or a pointer to a cell, so that it's not going to be marked, or it's pointing to the location in the heap that needs to have a mark associated). Other than that, it's been more stepping through with gdb (and may I say, gross... it really needs a better command language).


      • Sun Dec 6 17:45:38 1998

        Ok, I know where the out of heap mark is coming from (scm_permobjs, not mark locations). I still need to find the cause, though, and this probably means checking out all the places that create permanent objects (ugh).


      • Sun Dec 6 14:01:22 1998

        Second release of the rgc. This should fix weaks, but the mark of an object outside the heap is still causing difficulties. Also, some of the legacy bits that don't make sense with the new gc (GC8 marks) have been removed from the gc (other code will wait until the gc actually works, although the only other place it's used in guile is gdbint).


      • Sat Dec 5 12:12:40 1998

        I've put up a very early release of the rgc. Doesn't work, but it will hopefully get a few extra pairs of eyes looking at the code ;')


      • Sat Dec 5 11:16:42 1998

        Posted a little patch to add an option to gc after each cell allocation. Fixed an error in the bitvector stuff that could have been causing most of my grief, though I'm still working on cleaning up the new gc code, so I haven't tested it yet.


      • Thu Dec 3 03:22:56 1998

        Oh, ugh, ugh, ugh, El Stupido isn't even close to harsh enough. A lot of the insidious bugs are mostly traceable to the fact that a mark would set the mark on x, rather than SCM_CARLOC(x), completely screwing everything (i.e, the mark wasn't going anywhere near the right place, could be outside the heap, etc). It still crashes, but I'm too tired to go through and find every mess up that's likely related to this (it just occurred to me while drifting off in a post-Av victory euphoria, I figured I'd document it for the world before going back to bed ;). Hopefully, this means something working and testable sometime over the weekend, although I should've learned by now not to set any kind of estimated date on this thing.


      • Tue Dec 1 11:35:09 1998

        In Spain, I'm known as El Stupido... one major bug was cropping up on account of the new definition of GCCDR(x) being x. It still really wants to free alists in scm_symhash, though.


      When you get to the bottom you go back to the [TOP] of the slide.

      What's with this lumpy crap?


      By Greg Harvey
      <Greg.Harvey@thezone.net>
      My ICQ#: 60927702 Copyright (c)1997, 1998, 1999

      Last modified Wed Mar 22,2000

      Contains some annoyances for page harvesters >;^).


      4035 total hits since Saturday March 9. 0 hits today.
      Last access on Thursday November 20 at 21:15:09 from 92.241.182.23
      Page was last updated on Wednesday March 22, 2000 at 12:50:42