Skip to content

Instantly share code, notes, and snippets.

@jroesch
Created August 27, 2016 05:06
Show Gist options
  • Save jroesch/d76b77a0384a93bca930db7a403c2e63 to your computer and use it in GitHub Desktop.
Save jroesch/d76b77a0384a93bca930db7a403c2e63 to your computer and use it in GitHub Desktop.
-- module
structure Map :=
(M : Type -> Type)
(K : Type)
(V : Type)
(read : K -> V)
(insert : K -> V -> M K V -> M K V)
-- where refinement
definition int_map := { map | map.M = nat }
-- Another module
structure Hasher (T : Type) :=
(Out : Type)
...
-- A functor
definition HashMapFunctor (T : Type) (H : Hasher T) : Map := ..
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment