Live data from Hacker News

Ante: A low-level functional language

antelang.org

151–160 of 226 posts

Re: Ante: A low-level functional language

#151

Earlier quoted context omitted.

The distinction isn't between functions and values in general, it's between the function being called and the arguments passed to the function being called . The difference isn't in the things themselves, it's in the role that they play in the specific expression we're reading.

This argument is rather strange. Maybe for people who never interacted with different -fix notations ? Human language binds concepts with arguments in all kinds of direction .. I'd be surprised this is enough to annoy people.

Natural language isn’t precise and a lot is inferred from context. Exact order does often not really matter. In formal languages, however, you want to be as unambiguous and exact as possible, so it makes sense to use syntax and symbols to emphasize when elements differ in kind.

Incidentally, that’s also why we use syntax highlighting. One could, of course, use syntax highlighting instead of symbols to indicate the difference between function and arguments (between operation and operands), but that would interfere with the use of syntax highlighting for token categories (e.g. for literals of different types).

Re: Ante: A low-level functional language

#152

Why, why, why with the significant whitespace? That makes it a non-starter for me.

Age of "var, val" is over. Now age of "significant whitespace". If seriously, seems like indent syntax is default to go nowadays. Python has way too big influence on language designers.

ML languages did it first.

Re: Ante: A low-level functional language

#153

How is this low level exactly?

low is relative :-D my thought exactly. IMO the only low level language is assembly. Everything else is some form of abstraction. C/C++ and the likes I tend to call lower, since in 2022 it is closer to the hardware, and then sugar languages like python, c#, js, and the likes I call high level.

Even assembly languages are abstractions.

Re: Ante: A low-level functional language

#154
post #151

Earlier quoted context omitted.

This argument is rather strange. Maybe for people who never interacted with different -fix notations ? Human language binds concepts with arguments in all kinds of direction .. I'd be surprised this is enough to annoy people.

Natural language isn’t precise and a lot is inferred from context. Exact order does often not really matter. In formal languages, however, you want to be as unambiguous and exact as possible, so it makes sense to use syntax and symbols to emphasize when elements differ in kind. Incidentally, that’s also why we use syntax highlighting. One could, of course, use syntax highlighting instead of symbols to indicate the di…

We also alternate between various positions in programming languages, so it's not a matter of formal precision.

Re: Ante: A low-level functional language

#155
post #58

Hello, author here! As the website says, the compiler itself is still in a very early state where basic things like functions, types, traits, inference, monomorphisation, and codegen are implemented. The fun stuff of algebraic effects, lifetime inference, and refinement types are not however. Though I can elaborate on implementation strategies of these for anyone curious. For example, algebraic effects in existing la…

I don't see a LICENSE file anywhere in the repo or the website. Nobody is allowed to use Ante?

Re: Ante: A low-level functional language

#156

This is cool! I really like the syntax for algebraic effects, which would be great for mocking. I also like the way that "impls" can be passed either explicitly or implicitly; the lack of global coherence seems like a reasonable tradeoff. Have you thought about using existential types to support dynamic dispatch (like Rust's "trait objects")? That said, I'm a bit skeptical of the utility of refinement types (and depe…

What is the specification problem? I don't think I've heard the term before.

Re: Ante: A low-level functional language

#157

Earlier quoted context omitted.

I'd really like to find "the low-level functional language" without "the fun stuff". Or at least it should have simple and boring subset that is usable without "the fun stuff". Something like Caml Light - precursor to Ocaml - but with translation to C instead of bytecode, so it will be fast and will have comfortable integration with C libraries.

This was basically my motivation when I designed the language I use for my day-to-day tasks where I program. I just wanted a ‘functional’ sort-of language that compiled to C. Even though I’ll never release it, it was a rewarding theoretical and practical exercise. As an aside, I really love how detailed and example-ful Ante’s site is. It looks like a ‘fun’ language and I hope the creator keeps working on it.

May be it is time for "coming out"? (Excuse me for the joke).

Really, perhaps your language is The Next One.

Re: Ante: A low-level functional language

#158

Earlier quoted context omitted.

I'd really like to find "the low-level functional language" without "the fun stuff". Or at least it should have simple and boring subset that is usable without "the fun stuff". Something like Caml Light - precursor to Ocaml - but with translation to C instead of bytecode, so it will be fast and will have comfortable integration with C libraries.

> fun stuff of algebraic effects, lifetime inference, and refinement types > I'd really like to find "the low-level functional language" without "the fun stuff" But current stable Ocaml has neither of the "fun stuff" mentioned and compiles to native code. So isn't that exactly what you want? It doesn't even need lifetime analysis because automatic garbage collection be praised. And algebraic effects are awesome. Sure…

Ocaml doesn't compile to C. Sometimes having translated C source is major gain.

I'm not Ocaml implementation expert, but I suppose Ocaml exception handling and garbage collector could be tricky to aware about when one extend or embed Ocaml.

To be honestly, my fellow did Ocaml embedding once. He made able to load natively-compiled plugins written in Ocaml into C based software. And it worked. I didn't dig into details, though. There was at least one bug regarding garbage collection (and it happens that I fixed it).

Re: Ante: A low-level functional language

#159
post #58

Hello, author here! As the website says, the compiler itself is still in a very early state where basic things like functions, types, traits, inference, monomorphisation, and codegen are implemented. The fun stuff of algebraic effects, lifetime inference, and refinement types are not however. Though I can elaborate on implementation strategies of these for anyone curious. For example, algebraic effects in existing la…

I don't see a LICENSE file anywhere in the repo or the website. Nobody is allowed to use Ante?

> Nobody is allowed to use Ante?

:eyeroll:

Re: Ante: A low-level functional language

#160
post #69

Earlier quoted context omitted.

Many counter examples to this, xargs for one.

xargs is not a counter example. It is not a shell builtin, it is a program that takes a bunch of string arguments like every other program a shell would call. xargs -0 -n1 bash -c 'mv $1 ${1//.js/.ts}' -- Everything to the right of xargs is a string argument passed to xargs.

So an identifier representing a function? Isn’t that the same for most languages?
Post reply on HN