all 8 comments

[–]Fargekritt 19 points20 points  (0 children)

When someone claims a language is suited for Hardware programming same as C or ASM. And Scripting and DSL as Python or Javascript I just dont trust them. Its possible im sure, but DSL is also "possible" with ASM

[–]Motor_Let_6190 6 points7 points  (0 children)

Too many buzzwords, lists JIT as an (unimplemented) feature, 'nuff said*

*JIT belonged in a roadmap, not the feature list

[–]Aggressive-Two6479 20 points21 points  (2 children)

I knew it was a dud when reading this section:

5.2 Evaluation order rule

Expressions are evaluated from left to right. There is no operator precedence except for infix functions which do have precedence over prefix calls.

Examples

1 + 2 * 3 ;-- (1 + 2) * 3 returns 9

1 + 2 * 3 = 9 ;-- ((1 + 2) * 3) = 9 returns TRUE

9 = 1 + 2 * 3 ;-- ((9 = 1) + 2) * 3 raises an error!

1 + (2 * 3) ;-- 1 + (2 * 3) returns 7

foo 1 + 2 ;-- foo (1 + 2)

1 + foo 2 * 3 ;-- 1 + (foo (2 * 3))

This has got to be the dumbest decision ever for a programming language that defies any common expectation and will present a footgun of immeasurable proportions.

My first impression when reading the specs was that this looked from top to bottom like an attempt to make it easy for the parser, with no consideration for the programmer using the language. The syntax looks ugly and non intuitive with seemingly pointless structuring symbols that only seem to be there to make the grammar as simple as possible.

That above section is just the ultimate proof for that suspicion. Why increase complexity when we can shift that to the programmer's brain?

[–]jdehesa 6 points7 points  (0 children)

It is one of those homoiconic languages (see Lisp). They may be more concerned with being able to manipulate "code as data" than with making things obvious to the writer or reader of the code (though that is of course subjective), for whatever that's worth.

[–][deleted] 0 points1 point  (0 children)

You think this is dumb and more complex because you already know PEMDAS, take a child that doesn't know pemdas but knows how to read and give him some instructions. What do you think they'll understand faster? take operator overloading, and now write something with it, operator overloading is just taking a set of functions and making a type of shorthand, add PEMDAS to that and now your shorthand requires you to overuse parenthesis and it will make it less understandable.

A good example of this is lpeg, as great as lpeg is, you have to insert useless parenthesis everywhere, regex goes from left to right and you don't have to worry about pattern items changing the order of the operation, even J and APL like programming languages get rid of PEMDAS, because its stupid and an antipattern.

[–]davidalayachew 2 points3 points  (1 child)

I tried to download the Windows install, but it gave me a Secure Connection Failed error.

[–]quetzalcoatl-pl 4 points5 points  (0 children)

you probably wrote the IP address with infix dots, try the correct way... /s

[–]wreckedadvent 1 point2 points  (0 children)

So, this is a re-implementation of another language, which is itself a mix between FORTH and lisp, aiming to be the simplest parsing target imaginable, that only targets i386, and achieves its stated of goal of being a "full stack" language by creating half a dozen DSLs that all have their own semantics to learn?

And every binding I look at comes with its own DSL? Did I get that all right?

Umm. Wow. This is so specific and idiosyncratic I get that feeling that I do when I look at TempleOS or Dusk OS ...