David MacQueen on his Ideas for Successor ML

See https://github.com/dmacqueen/NewFrontEnd and https://standardml.zulipchat.com.

9:33 On disallowing static declarations within expressions: from MLFW2025.txt:

1.3. [Core] No static (type/module) declarations within expressions

  Moto: "Keep the core and module levels separate", or "no static declarations within
  dynamic expressions".

  What does it, or should it, mean to have a (statically generative) datatype declaration
  in the body of a recursive function.

  [Karl Crary (and Bob Harper?) won't like this, since definition of modules within
  expressions is a feature of his dialect of (S)ML. It also appears to be supported in
  Moscow ML. The CMU (Harper, Crary, etc.) view of the static semanatics of (S)ML seems to
  base on some fundamental "type theoretic" notion of a _module_ that seems to be
  different from my own intuitive understanding of the module system of (S)ML. Their ideas
  are described in papers such as Harper-Stone and Sterling-Harper (?). In their view,
  modules are fundamental and the Core constructs are secondary or definable.
  
  Crary talks about "old" and "new" type theoretic definitions of the semantics of (S)ML,
  but I don't yet know what he is referring to.] 

I suspect this is because Bob Harper has big plans for generalising the notion of phase distinction and perhaps then it applies in some dynamical contexts. See System Fω And ML Module Semantics and Bob Harper's Course on Principles of Programming Languages.

See also his ideas about data types as modules in his 2021 OPLSS talk on the ML Module System (first mentioned at 1:04:49). 

The playlist of ML language talks is here. Another excellent talk was by Mizuki Arata implementing a transpiler from Standard ML to lua and JavaScript.

This is written in Standard ML and is self-hosting. See https://github.com/minoki/LunarML. This is much closer to my idea, which was to take seriously the idea of a Standard Metalanguage and see how far you can get by using Standard ML '97 to define various successor MLs. Then the ideas of meta-programming runtime environments and eventually the whole Operating System can be bootstrapped from there. See On Getting Machines to do Stuff and A New Kind of Science.

Subscribe to ACM SIGPLAN.


Comments

Popular posts from this blog

Steven Johnson - So You Think You Know How to Take Derivatives?

How Could One Unify CMU and MIT

Tensor Fields and Simplicial Complexes