Added philosophy.md

This commit is contained in:
Yehuda Katz 2019-06-06 10:58:39 -07:00
parent f31c08e941
commit 1ba1d6cb2a

30
docs/philosophy.md Normal file
View file

@ -0,0 +1,30 @@
> This document contains philosophical notes about nu.
# Bare Words
In Nu, bare words work the same way they do in most shells.
In most shells, bare words serve two purposes:
```
$ ls
# ^^ the name of a command
$ cat Cargo.toml
# ^^^^^^^^^^ a string
```
Nu adopts this shell idiom.
Consequences:
- Bare words cannot also refer to variables. Variable names are prefixed with `$`.
- Bare words, in almost all contexts, cannot be keywords.
- Numbers and operators aren't bare words.
# One Screen
The utility of a command's output drops off extremely rapidly after a screenful of content.
By default, Nu prefers to present output that can fit into a screen rather than more complete output that spans many screens.
For example, this is the rationale for `ls` returning a flat table containing the files in the current directory, rather than presenting a tree of data by default.