Hacker News new | ask | show | jobs
by ufo 3544 days ago
Why does every command start with a "$"?
1 comments

Because everything is an object, including built-in functions
Then why the $, you already know that it's an object.
Nope. The first token in a statement is treated the same way as those that come after it. This way, you can do stuff like this (i.e. imagine a dictionary that maps HTTP methods to hander functions):

    >>> $local functions [$list.new $puts $sleep]
    puts sleep
    >>> [$list.index $functions 0] hello
    hello
I think it might be better to special case the first word in the command, just like sh and tcl do. The list.index case you mentioned is much rarer than just calling a command directly.