Sun Oct 5 21:16:50 CEST 2008

last couple of weeks

* MetaOcaml: I've been looking closer at MetaOcaml, trying to prepare
  for replacement of some PacketForth code by GCC offshored generated
  code.  Also been thinking about Mathlab/Simulink's
  Real-time-workshop and how this might fit together with MetaOcaml.

* PICkit2: programmer is working.  Getting closer to a standard 5-wire
  protocol for minimalist PIC programming.

* Documentation: saw the need to stabilize on two fronts: pure Forth
  without the Scheme stuff, and a Scheme side.

* Static analysis: some ideas about adding a type system and inference
  rules, but ran into problems with the dynamic nature of Scheme.  I'm
  not sure if this is worth it..  Maybe a "static core" that is
  translated to Ocaml or Haskell as a _test suite_ is a better
  approach.  The idea is: the fact that Staapl is dynamically typed is
  a plus as it makes things simpler, but it is important to keep an
  eye on how things would work would it be implemented in a static
  type system, to get more inspired compile-time and test-time checks.

* C analysis and synthesis, Plenty of stuff here: MetaOcaml + FrontC /
  CIL, Haskell's language.c and Ometa parser for PLT Scheme.  The
  latter might be interesting to solve the "quasiquotation" problem: a
  template language with the langauge's concrete syntax is easier to
  use than syntax trees.

* Transterpreter + CSP.  I've had little time for reading lately, but
  it would be nice to write the MC-303 ui application in a parallel
  Purrr dialect, one which has return stacks in RAM.

* Simulator simplification.  This triggered a lot of thinking about
  static analysis, since the simulator needs to know the number of
  elements consumed by the macro to be able to evaluate it.  The
  current mechanism doesn't give any information: it merely inspects
  the input and acts accordingly.  Alternatively, it might be easier
  to copy the entire stack, but this requires extra annotation for the