Skip to content

Instantly share code, notes, and snippets.

@kennetpostigo
Last active July 19, 2018 21:56
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 kennetpostigo/cb06a40319aceaeae8fb1ee2b5cb0833 to your computer and use it in GitHub Desktop.
Save kennetpostigo/cb06a40319aceaeae8fb1ee2b5cb0833 to your computer and use it in GitHub Desktop.
ExistentialTypesExample from Universal and Existential Types blog post
/* link to playground: https://bit.ly/2uP4SgO */
module type Animal = {
type t;
let make: (string) => t;
let sprint: (t) => string;
};
module Animal: Animal = {
type t = string;
let make = (name) => name;
let sprint = a => {j|$a is running!|j};
};
let zebra = Animal.make("Zebra");
Js.log(Animal.sprint(zebra));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment