Comment

Comment by mrkeen

This language looks super promising. With the exceptions of 'no type inference' and 'no arithmetic precedence', I really like its anti-features list.

With regard to 'no arithmetic precedence', I tried

    printLn((1 + 2) + 3);
and

    printLn(1 + 2 + 3);
Sure enough, the first one compiles, but the second doesn't.

Also, (n-1) is a parse error unless you put a space after the minus.

I got curious if recursion was properly handled, given it wasn't in the anti-features list, but no luck:

    module body Foo is

        function go(acc: Nat64, n: Nat64): Nat64 is
            if n = 0 then
                return acc;
            else
                return go(acc + n, n - 1);
            end if;
        end;

        function main(): ExitCode is
            printLn(go(0, 135000));
            return ExitSuccess();
        end;

    end module body.
yields

    Segmentation fault (core dumped)
parent mrkeen 3 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton