Skip to content

Dromedary is an experimental subset of OCaml, using constraint-based type inference!

License

Notifications You must be signed in to change notification settings

johnyob/dromedary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d7f009e · Oct 25, 2024
Oct 25, 2024
Oct 25, 2024
Jun 13, 2022
Oct 25, 2024
Oct 25, 2024
May 10, 2022
Oct 25, 2024
Oct 25, 2024
Oct 25, 2024
Apr 16, 2022
Nov 4, 2021
Oct 15, 2021
Oct 25, 2024
Oct 25, 2024
Oct 25, 2024
Oct 25, 2024
Apr 7, 2022
Oct 25, 2024
Oct 25, 2024

Repository files navigation

🐪 Dromedary

An experimental subset of OCaml, using constraint-based type inference!

Coverage Status

What is Dromedary?

Dromedary is a work-in-progress implementation of a constraint-based type checker for a large subset of OCaml. It is largely based on the work of François Pottier's Hindley-Milner elaboration in an applictive style and the constraint language presented in The Essence of ML Type Inference.

Features

Dromedary implements significantly more features than the language presented in Pottier's paper, including:

  • Algebraic data types and pattern matching
  • Mutually recursive let bindings
  • Side-effecting primitives and the value restriction
  • GADTs
  • Polymorphic variants
  • Semi-explicit first-class polymorphism (record fields only)
  • Type abbreviations
  • Structures

For a description of the thoery of these extensions in a constraint-based setting, see the accompanying dissertation.

About

Dromedary is an experimental subset of OCaml, using constraint-based type inference!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages