diff options
| author | bringert <bringert@cs.chalmers.se> | 2005-12-07 09:46:21 +0000 |
|---|---|---|
| committer | bringert <bringert@cs.chalmers.se> | 2005-12-07 09:46:21 +0000 |
| commit | 06c3d3e004425ba0e24b88217343b4146885f096 (patch) | |
| tree | 4ffd6b1ff28ecfcba2d2afead3ed4f0b099a0deb /doc/transfer-reference.txt | |
| parent | 67395b24d90c1cdd43393077de455ff6f5850ac0 (diff) | |
Transfer reference: added metavariable section and implementation status section.
Diffstat (limited to 'doc/transfer-reference.txt')
| -rw-r--r-- | doc/transfer-reference.txt | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/doc/transfer-reference.txt b/doc/transfer-reference.txt index dd16e2d39..a7d534363 100644 --- a/doc/transfer-reference.txt +++ b/doc/transfer-reference.txt @@ -2,7 +2,6 @@ Transfer language reference Author: Björn Bringert <bringert@cs.chalmers.se> Last update: %%date(%c) - % NOTE: this is a txt2tags file. % Create an html file from this file using: % txt2tags transfer.txt @@ -11,10 +10,6 @@ Last update: %%date(%c) %!options(html): --toc - - - - This document describes the features of the Transfer language. See the [Transfer tutorial transfer-tutorial.html] for an example of a Transfer program, and how to compile and use @@ -23,6 +18,16 @@ Transfer programs. Transfer is a dependently typed functional programming language with eager evaluation. +== Current implementation status == + +**Not all features of the Transfer language have been implemented yet**. The most +important missing piece is the type checker. This means that there are almost +no checks done on Transfer programs before they are run. It also means that +the values of metavariables are not inferred. Thus metavariables cannot +be used where their values matter. For example, dictionaries for overlaoded +functions must be given explicitly, not as metavariables. + + == Layout syntax== Transfer uses layout syntax, where the indentation of a piece of code @@ -401,9 +406,22 @@ String literals can be used as patterns. Integer literals can be used as patterns. -== Meta variables == +== Metavariables == + +Metavariable are written as questions marks: + +``` +? +``` + +A metavariable is a way to the the Transfer type checker that: +"you should be able to figure out what this should be, +I can't be bothered to tell you". + +Metavariables can be used to avoid having to give type variables +and dictionaries explicitly. -== Type classes == +== Overloaded functions / Type classes == == Operators == |
