Published January 16, 2024 | Version v0.43.0
Software Open

morloc-project/morloc: Nearly Useful

  • 1. Regeneron
  • 2. Fred Hutchinson

Description

The full influenza case study, a re-implementation of OctoFlu, is supported in this release. This proves that morloc can be used to solve non-trivial problems. Here are the main advancements of this release:

  1. Infer all concrete types directly from the general type
  2. Allow file inputs rather than only raw JSON -- this allows large data sets to be processed without hitting argument size limits
  3. Better (though still far from good) debugging options and error messages
  4. Clean import/export system with wildcards
  5. Support for eta-reduction
  6. Many bug fixes and greatly extended test coverage

However, the language is still weak in many areas:

  1. No type classes
  2. No effect handling (e.g., exceptions, mutations, non-determinacy)
  3. Weak record/table/object support
  4. No pattern matching or sum types
  5. No binary operator support (I'm getting a little tired of writing add rather than +)
  6. Limited debugging features
  7. Limited language support
  8. Slow compile times (due to one specific issue in the frontend type system)
  9. Inefficient serialization scheme (uses JSON currently, should convert to some sort of remote procedure call system)
  10. No formal specification of the type-system -- the conversions from general to concrete to serial, the resolution of ambiguous trees, the propagation of types through segmentation, the threading of arguments -- all this is very involved but not yet mathematically defined. I am not confident that it is all sound.
  11. No shiny paladin salesperson, only a grumpy morlock who thinks only about problems

Files

morloc-project/morloc-v0.43.0.zip

Files (592.2 kB)

Name Size Download all
md5:6e2f1a5da86a0f462566f5fb0641b9fe
592.2 kB Preview Download

Additional details

Related works