Sat Apr 20 09:02:59 EDT 2019

Start with Ring

- Basic arithmetic is expressed in a Ring.

- The ring can be "parameterized", which is mostly there to
  parameterize constants to be able to do autodiff.

EDIT: I have Ring and complex numbers over a ring.

The goal now is to express a complete Seq system using only these
abstractions, and have it generate C code.

I will need that first actual implementation to then generalize to
more complex things, to see how it all fits together in detail.

I need a little break before continuing, but here is the basic idea:

Create a C program that generates a damped complex oscillation.
Basically the generalized counter "hello world" program.

It is very important to be able to do things like this:

- have a class-level language that has a notion of exponential

- implement it using a polynomial or an update equiation

I just want very extreme modularity.
Haskell is a great substrate for that.