archives

Ocaml 3.12 released

This notice comes a little late, but the latest version of OCaml, version 3.12, has been released. Surprisingly, for a point release there's a lot of interesting new language features:

Some of the highlights in release 3.12 are:

  • Polymorphic recursion is supported, using explicit type declarations on the recursively-defined identifiers.
  • First-class modules: module expressions can be embedded as values of the core language, then manipulated like any other first-class value, then projected back to the module level.
  • New operator to modify a signature a posteriori: S with type t := tau denotes signature S where the t type component is removed and substituted by the type tau elsewhere.
  • New notations for record expressions and record patterns: { lbl } as shorthand for { lbl = lbl }, and { ...; _ } marks record patterns where some labels were intentionally omitted.
  • Local open let open ... in ... now supported by popular demand.
  • Type variables can be bound as type parameters to functions; such types are treated like abstract types within the function body, and like type variables (possibly generalized) outside.
  • The module type of construct enables to recover the module type of a given module.
  • Explicit method override using the method! keyword, with associated warnings and errors.

I'm especially intrigued by first-class modules, and the destructive signature operations, both of which should make it much easier to write libraries.

The Grafwegen Hi Compiler named Hic release 0.1

Just a short notice. I started a web-site around my personal pet hobby project, the Hi language, at:

      www.hi-language.org

You can follow my latest musings and get a prerelease slow, not fully complete, bootstrap compiler of the 'Grafwegen Hi Compiler named Hic, version 0.1, Not Even Wrong' there.

The bootstrap compiler is released as compiled C sources. The sources of the compiler itself are not available at the moment since I don't know how to license it, and well, it's in an embarrassing state at the moment. Really.