Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hongchangwu/ocaml-type-classes

OCaml Type Classes
https://github.com/hongchangwu/ocaml-type-classes

ocaml type-classes

Last synced: about 2 months ago
JSON representation

OCaml Type Classes

Awesome Lists containing this project

README

        

# OCaml Type Classes

[![Build Status](https://travis-ci.org/hongchangwu/ocaml-type-classes.svg?branch=master)](https://travis-ci.org/hongchangwu/ocaml-type-classes)

## Introduction

OCaml doesn't have built-in support for type classes, but it's possible
to emulate them. There is more than one way to do it. This project
shows one way using first-class modules.

## Quick Start

**Prerequisites**: `dune`, `ANSITerminal`, `higher`

To build the project

```
make
```

To run the demo

```
make run
```

## Further Reading
- [ML Modules and Haskell Type Classes: A Constructive Comparison](http://www.stefanwehr.de/publications/Wehr_ML_modules_and_Haskell_type_classes_SHORT.pdf)
- [Lightweight Higher-Kinded Polymorphism](https://ocamllabs.github.io/higher/lightweight-higher-kinded-polymorphism.pdf)