I previously wrote about typing elliptic fourier series; my Apple compiler is now capable of computing the offsets and also the relevant coefficients.
To compute a 7-day moving average:
As I wrote about previously I am working on a typed array language with the case of elliptic Fourier series as an example.
Compilers are written as a pipeline: in particular, instruction selection and register allocation are different phases. GHC, for instance, uses maximal munch for instruction selection and a variety of register allocators. However, on x86-64 (for instance), register allocation constrains the particular instruction encodings, which affects the cost of some instructions.
Writing a practical JIT is somewhat complicated and in fact depends on the
assembler; here I present a full example in Haskell. Notably this JIT/assembler
is capable of calling procedures in system libraries (i.e. malloc
, free
)