two months of coastal living: coastML at two months
Today marks two months of coastal living; let’s checkout the running burndown chart:
✓ assignments
✓ functions
✓
case
forms❏ thread assignments into
case
forms (e.g.a = case x …
becomescase x | … { a = … }
)
✓
type
forms✓ Python generation
✓ decomposition in
case
forms✓ including pattern matching
❏ array pattern matching
❏ string pattern matching (this could get interesting…)
✓ accessors (both variables and lambdas) for
type
❏
gn
forms❏
fc
forms❏
mod
andsig
forms❏ an analog to SML’s
op
, using backticks❏ basis library (stubbed out, need to actually compile)
✓ basic basis stubs: some members of
array-
,string-</emphasis>
have been stubbed out❏ basis library modules (modular forms, e.g.
array-get
becomesArray::get
)
❏ code generation
❏ C
❏ C++
❏ Go
❏ type inference
❏ refinement types
❏ a compiler
❏ lambda lifter
❏ closure conversion
❏
pragma
to control certain aspects of compilation
bugs fixed
✓ nested arrays
[[[1] [2]] [[3] [4]]]
✓ missing
/
character in identifier/operator character sets✓ floating point numbers with two integral digits (e.g.
0.12
and1.12
worked but not10.12
)this was noticed when attempting to write some software to generate Julian dates
Not bad all told really, esp the bug fixes! This month, I plan on working on more of the compiler side, as well as more basis library functions. I’d like to get some more basic programs out of the way, and maybe a C++ or Golang compiler as well, at least the start thereof.