|
![](/i/fill.gif) |
>> Just for giggles, I'm designing this language. So far I've implemented
>> half the standard libraries with it. The results are... interesting. The
>> code becomes 85% more verbose, but I wonder if it makes any difference
>> to the level of comprehendability.
>
> It absolutely depends on the keywords you use.
>
> If you choose them to match the strict technical terms, then you're lost.
>
> If you manage to choose them in a way that common people can relate to them,
> then you may have a fair chance - even if that means picking words that would
> be technically imprecise or even outright wrong.
Yeah, indeed.
I've come up with a language I'm calling Hax. I haven't finished
figuring out what it looks like or how it works yet. It's basically
Pascal with a few tweaks. And by "tweaks" I mean that the similarity
between Hax and Pascal is like Java vs C++. Superficially, it looks the
same. But if you investigate for more than 5 seconds, you'll discover
that they're actually TOTALLY UNRELATED! >_<
In particular, many of the things that are implicit in Haskell are
explicit in Hax. (E.g., allocating memory is always explicit, no
implicit constructor functions, no currying...) And I'm trying to make
the syntax as non-weird as possible. (No whitespace layout, no obscure
symbols, no little ASCII-art arrows and zigzags.)
Additionally, some of the weirder features of Haskell are missing. (No
more curried functions, no lambda functions, no pattern matching...) It
makes the language less expressive, but no less powerful. And it makes
it far more similar to familiar languages. CASE expressions now look
more like Pascal or C, but with some extra super-powers. Literally, if
you go "hey, this is basically Pascal, but it lets you do these EXTRA
THINGS..." it comes across is kinda neat.
...or I'm delusional, of course. I have noticed that I code certain
examples, look at them and go "hmm, there's no way a regular programmer
would do it THAT way..." We'll see.
Oh, and "monads" are now called "procedures". ;-) This does not
accurately reflect what they are and what they do, but it's far more
intuitive to explain.
Post a reply to this message
|
![](/i/fill.gif) |