Paper, Coffee, Pencil


C ya

So I resumed hacking after a couple of months of distractions and
hard thinking. ...only to realize why I had unconsciously stopped
where I did. I had proven that my ideas regarding call-stack
hopping dynamic variables are solid, that first-class macros are
a good idea for various reasons (I'll get back to this in a future
post) and that I managed to write a purely continuation-passing
styled interpreter with a tiny FFI.

In short, I had achieved in Common Lisp what was hard wrapping my
head around during my previous attempts when I was knee-deep in
hokey C-code and my ambitions appeared light-years away.
So why don't I just stay in Common Lisp? Well, the chief reason is
that I want a tiny kernel that allow easy interfacing wih C.
And as I had gained the understanding of what I wanted and
how I wanted it, I feel that I'm better equipped in writing this
tiny kernel now.

Turns out that it wasn't only my lack of understanding my own vision
that kept me swamped. I'd never realized before how damn invested I
am in stupid, irrelevant details whenever I put my C-hat on.
I become this creature of premature optimization and up-front design
if I don't guard my own thoughts constantly. It sucks.

I guess it's a perfect storm of knowing too much about the underlying
hardware, having to write a lot of bootstrap code (I want as few
dependencies as possible), this being a leisure project and me being
an exploratory programmer.
{
  Addendum November 5th, 2017:
  I'd say that the single most important factor is not having a
  damn clue how to apply the knowledge that I have. Since this
  is a leisure project, I have no real boundaries of scope, which
  makes it hard to see what is relevant and what is not.
  There is no perfect storm -- it's just me being an idiot.
}

Oh well, I suppose that I will have to embrace naivité and accept
that code is suffering.
{
  Addendum November 5th, 2017:
  While "code is suffering" is a pretty nifty copy, I seriously
  have a hard time accepting my arrogant posturing here.
  What I should say is that I should just need to chill the fuck
  out and just code.
}