summaryrefslogtreecommitdiff
path: root/transfer/README
blob: ed31ae3f9509b0dd2422e91f2cb984538860db5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Some features of the Transfer language:

* Purely functional
* Dependent types
* Eager evaluation
* Generalized algebraic datatypes
* Metavariables
* Records with subtyping
* Overloading by explicit dictionary passing
* Pattern matching by case expressions

Additional features in the front-end language:

* Disjunctive patterns
* do-notation
* Hidden arguments (not implemented yet)
* Automatic derivation of some operations on user-defined GADTs:
  - Compositional maps and folds
  - Equality
  - Ordering
  - Showing
* Pattern equations
* Operator syntax for common functions, most are overloaded