Skip to content

Instantly share code, notes, and snippets.

@bitraten
Last active August 29, 2015 14:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bitraten/5226607e04d6fd7e45f4 to your computer and use it in GitHub Desktop.
Save bitraten/5226607e04d6fd7e45f4 to your computer and use it in GitHub Desktop.
datatype_new ('k, 'v) trie = Trie "'v option" "('k, ('k, 'v) trie) alist"
(* Cannot define empty datatype *)
codatatype ('k, 'v) trie' = Trie "'v option" "('k, ('k, 'v) trie') alist"
datatype_new ('k, 'v) trie'' = Empty | Trie "'v option" "('k, ('k, 'v) trie'') alist"
datatype_new ('k, 'v) trie''' = Trie "'v option" "('k * ('k, 'v) trie''') list"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment