homenowpostsprojects

Weekly log 2019, week 12

Estimated reading time: 4 minutes

So yeah, I want to try to get myself to start a weekly series of tiny posts, because it takes too long to write very detailed posts, and I’m not good with “microbloging” either so it might be a nice middle ground.

I still want to try the longer format from time to time though, but I don’t want to pressure myself to only do that.

I’m not sure if it will last, I might skip some weeks, but I will try not to. I should probably write a bit every day. If you have advice on light bloging, send them my way!

This week I trained on my cello a lot, I got back in the habit on practicing every day! 4:12 of practice this week.

I’ve seen some friends I hadn’t seen in a long while, it was really nice. One of them showed me his gear for his new hobby: making beer. Pretty impressive stuff! He’s really serious about it!

On the CHICKEN Scheme side of things, this week has been really busy!

The readability improvement for type warnings patches, from Megane, have finally been merged! I think it’s more in line with what people expect from compiler warnings, even though I personally think it’s a bit too spaced out. Here’s an example showing the old and new messages for the same piece of code (car 42):

From this:

Warning: at toplevel:
  (example.scm:1) in procedure call to `car', expected argument #1 of type `pair' but was given an argument of type `fixnum'

To this:

Warning: Invalid argument
  In file `example.scm:1',
  At the toplevel,
  In procedure call:

    (scheme#car 42)

  Argument #1 to procedure `car' has an invalid type:

    fixnum

  The expected type is:

    pair

  This is the expression:

    42

  Procedure `car' from module `scheme' has this type:

    ((pair 'a19 *) -> 'a19)

An other great patch, again from Megane, was also merged. It changes an internal procedure that is related to module loading, that was previously quadratic and is now linear, thanks to the use of hash tables. In my tests, it reduced the compilation time of a very simple example from hypergiant (that is very module heavy) from 5 minutes to 20 seconds! Thanks Megane, you’ve removed quite a big pain! I also tried a follow-up change that reduces this even further, to 4 seconds, but I have to tidy things up before I submit it.

Apart from feature patches, we experienced a weird bug creeping up, that prevented a lot of eggs from compiling properly, but a bug fix was swiftly devised by Felix.

I also finished porting Hypergiant! We now have the full suite of OpenGL eggs available in CHICKEN 5! Perfect timing for the Lisp Game Jam next month.

A lot of CHICKEN eggs have been released this week! Awesome!

I finally took some time to setup salmonella on the broken Mac OS laptop a friend gave me. Results can be seen here and should soon appear in the official listing.

Oh and, SaarCHICKEN is in two weeks! I’m really excited!

That’s it for this week! Please let me know what you think of this new, more laid back format. It certainly is far easier for me to write, but I hope it’s still interesting.