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