20 comments

[ 2.9 ms ] story [ 17.3 ms ] thread
According to http://gtello.pagesperso-orange.fr/hp200lx_f.htm turbo pascal works very well on HP 200LX.
Everything works on HP200LX. Except Emacs, but there was some C-script-based Emacs, which was OK. I think had Smalltalk and serial mouse at one time, as an extreme example.

HP200LX was my only computer 1993-1995, if I wanted to see some color pictures I went to see library computer. It was my travelling companion for 20 years upto 2010, mostly as an E-book reader.

I particularly like the keywordlessness of W's syntax. Virtually every other language divides identifiers into 2 arbitrarily defined classes: the somewhere from 20 to 100 special identifiers that mustn't be used, and all the others that can be used by the programmer. Because W's syntax uses punctuation and symbols for all its functionality, the programmer doesn't need to either remember which 50-ish identifiers not to ever use, or have a special IDE-like task running in the background to gives prompts whenever it detects an illegal identifier use. Very clean syntax!
I agree it's an interesting approach - but there is still a separation into two classes of lexical tokens: those made up of letters and numbers and those made from punctuation and other "special" characters.
..sorry but this is a non-problem. If you insist on not using an IDE, then the compiler will still catch any keyword clashes as errors. Also most languages use contextual keywords so it's even less of a problem.
Right. I think I've never wanted to name a variable "if".
But what about old, current, and new?

Or int?

Or class?

There is more then one project out there with klass.

I name variables 'old', 'current', and 'new' all the time. Just not in C++/Java.

And why would you want to name a variable 'int'?

Or in JS. Or in C#. That covers a lot of the big ones.

Perhaps you should name your language, so I can provide better examples.

Examples of what? Ways to name variables so they look like keywords? I don't need your help with that. Even if I used a language that used keywords like 'ssalc' and 'wen', you could contrive some reason to be upset that you can't use those words in your code. The advantage offered by keywords is readability, and it comes at the expense of your ability to use those words for other purposes. If that's unacceptable, then your priorities are probably misplaced.

Plus, you can always use a grammar that distinguishes between keyword rules and variable rules, and you'll never have any unambiguity. Even if popular languages don't do this, that's not a general problem for computer languages.

> Ways to name variables so they look like keywords? I don't need your help with that.

Oh good. My comment was in response to someone who doubt keywords would ever make good variable names (e.g. class).

> you can always use a grammar that distinguishes between keyword rules and variable rules, and you'll never have any unambiguity.

Yes, that is nice. And that's what W does. As an ancestor comment said, kudos for a "clean syntax"!

(NOTE: there are alternatives, e.g. Scala's backticks. But W's choice is a good one.)

new what? Usually you'd say newItem for example. Also, if you really want, in C# you can write @class.
See also k (http://kparc.com/k.txt) for keywordlessness, though a few keywords are added for kdb database functions.

Excerpt:

    20 primitives/verbs, 6 operators/adverbs and 3 system functions.
    1 control structure($) - rarely used - and no reserved words.
We've almost run out of single letter programming language names!
Assuming Wikipedia is up to date, we still have: A (there is however a A+ langugae),H,I,L,N,O,P,U,V,X,Y and Z left
>So why would anyone in his right mind would create a whole new programming language? Isn't BASIC or C++ good enough already?

Ha ha ha!