One thing that is really nice about designing and implementing a programming language, is that you can define how it looks. Sounds simple, is simple - simply fun.
The problems start when you have to actually choose one of the possibilities. Today on my plate: assignment.
The assignment function (yes, function, not operator) will play a major role in my future programming language. As I have written before, it will basically be Forth-like. Which means, that it will have a dictionary. This dictionary (think “big hash map”) will contain everything - all the functions, all the global variables. Adding something to the dictionary will look something like this:
(ASSIGNMENT_SYMBOL "name" [code])
or like this (both variants will be possible):
[code] "name" ASSIGNMENT_SYMBOL
Now, it’s pretty clear that C’s
= will read pretty bad. In my language’s syntax, something denoting the word “store” would be more natural. However, typing
store over and over again is just silly.
Forth has a word named
! for storing things in memory. I think this is pretty sweet, but I’ve become too used to C using it for logical NOT.
: would be a better choice. But it looks stupid when it stands on its own. And looks are important, right?
So, here I am, thinking about what symbol to use for assignment for about an hour now. I really have to work on my time management, I guess.
Previously: Screenshot Monday 1
Next up: Introducing DadaDodoWeb
The machine thinks that the Web-Log entries Choices, 26th Ludum Dare - Postmortem, and Purely Functional Games might be related to the topic so eloquently discussed above. The machine is sometimes right.