mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 11:19:32 -06:00
Transfer reference: added metavariable section and implementation status section.
This commit is contained in:
@@ -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 ==
|
||||
|
||||
== Type classes ==
|
||||
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.
|
||||
|
||||
== Overloaded functions / Type classes ==
|
||||
|
||||
== Operators ==
|
||||
|
||||
|
||||
Reference in New Issue
Block a user