racket/collects/honu-module/doc.txt
2005-05-27 18:56:37 +00:00

50 lines
894 B
Plaintext

>>> FOR NOW, THIS IS AN EXPERIMENTAL TOY <<<
> Everything is subject to change. <
Write a dynamically typed Honu program as
#honu dynamic
<defn-or-provide>
...
The syntax of a definition is much like Java, and type positions in
Java are roughly contract positions in dynamic Honu.
The only supported base "types" right now are
int - exact integer
obj - anything
string - character string
and the only "type constructor" is
(_ -> _)
where "_" is to be replaced with a "type". [Ok, "->" is not very Java
like...]
Every declaration must have a value, like this:
#honu dynamic
int v = 10;
int f(int x) {
return x + 1;
}
(int -> int) g() {
return f;
}
provide f, g;
The "return" keyword is optional, but allowed only for expressions in
tail position.
Assignment: =
Operators: + - * / %
Functions: stringToNumber numberToString