@user Carp & Coalton made a bit of a splash at one point, but "statically-typed Lisp" is one of those things that a lot of people have set themselves to so you will find plenty out there
@Seggan ooh are we posting instances of lang dev going goofy? Because I just got a NILIT: points despite there is no such NILIT node in the generated AST with the value "points".
@MichaelHomer Ooh, Coalton looks quite interesting, though newer than Carp
I'd run into Carp before but none of the examples seem to have type annotations, which is what I'm interested in (or at least, I couldn't recognize any type annotations). Coalton's examples do have things that look recognizably like type annotations
Only at the end of a case. You only ever not break at the end of a case for flow through (unless of course you forgot to). That can be fixed with having combined cases
That's what I'm saying. How is it that no one managed to think of that back then? Like at the very least it should have been somewhat known that forgetting breaks would be a common problem
But, at the same time, it's unlikely that it was somewhat known, given that they were inventing the construct for the first time and there wasn't any programming experience using it
When you write the assembly by hand you do have to put the unconditional jumps in yourself
Many arguably poor design decisions in C come from simple term-by-term compilation strategies, where "suppress the jump if the case is preceded by continue" was unworkably complex
I have a survey question I'm interested in about an obscure paradigm (i.e. seeking instances of something in notable existing languages using that model), but because of the paradigm I'd like to include golfing languages in scope if they are notable within that context; I still don't want theorycrafting or people's pet projects. Is there a reasonable criterion I could specify that represents significant languages that people use, without creating a free-for-all?
@MichaelHomer depends on the paradigm, but for golflangs, anything with a rating >1400 here could be a good criteria, combined with star count on github
the golfing language tag on github could also be of interest
note that the tag wouldn't show golflangs like Jelly though
The reason I want to include them is it's a prime market for specifically stack-based languages where programs are written by people and especially for exploratory ones
@user16217248 I would certainly have fully-delimited cases in anything being designed from scratch, rather than just keywords to determine behaviour, and I think that's much more common in anything new than C-derived switch
@lyxal I would guess that switch was invented as a slightly higher-level way of writing a computed jump. The "skip the other jump targets" part is a separate construct in assembly and isn't even always desired
error: this arithmetic operation will overflow
--> <source>:3:5
|
3 | (254u8 + 3u8) / 2u8
| ^^^^^^^^^^^^^ attempt to compute `254_u8 + 3_u8`, which would overflow
|
= note: `#[deny(arithmetic_overflow)]` on by default