From 426d9c9977489f7adba7f4b554e8466a47e520f1 Mon Sep 17 00:00:00 2001 From: Leo Tenenbaum Date: Wed, 29 Jan 2020 11:37:25 -0500 Subject: made #foreign a part of the language --- docs/00.html | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'docs/00.html') diff --git a/docs/00.html b/docs/00.html index b8c961c..cd0c352 100644 --- a/docs/00.html +++ b/docs/00.html @@ -30,7 +30,7 @@ x := 0.0; when no type is specified, it defaults to an int, whereas 0.0 defaults to a float.

-

Here are all of toc’s builtin types and their ranges of values:

+

Here are all of toc's builtin types and their ranges of values:

-

At the moment, it is not technically guaranteed that f32/float is actually 32-bit and that f64 is actually 64-bit; they are platform dependent. Perhaps someday there will be a version of toc which does not compile to C, where that could be guaranteed.

To make declarations constant, use :: instead of :. e.g.

-x ::= 5+3; +x ::= 5+3;
y :: float = 5.123;

-

Here, “constant” means constant at compile time, not read-only as it does in C. One interesting thing about toc is that normal functions can run at compile time, so pretty much any expression is a valid initializer for a constant, e.g. doing x ::= some_function(); runs some_function at compile time, not at run time.

+

Here, "constant" means constant at compile time, not read-only as it does in C. One interesting thing about toc is that normal functions can run at compile time, so pretty much any expression is a valid initializer for a constant, e.g. doing x ::= some_function(); runs some_function at compile time, not at run time.

-- cgit v1.2.3