diff options
author | Einhard Leichtfuß <alguien@respiranto.de> | 2025-05-19 22:44:12 +0200 |
---|---|---|
committer | Einhard Leichtfuß <alguien@respiranto.de> | 2025-05-19 22:44:12 +0200 |
commit | be854012a9e8eaaa010944141996c8f075c55daf (patch) | |
tree | 41f85ea21d5ce9229e4caf6cf3cc5f428b05a690 | |
parent | 36ae80ba404aef44dcc8d606e4d3b399ee05c6af (diff) |
Amend README
-rw-r--r-- | README.md | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -5,3 +5,25 @@ * SimpleShell compiles to POSIX sh, where the output is supposed to be human-readable. * The syntax is de facto a mixture of sh, C and Haskell. + + +## Variables + +* Variables are local to their function or procedure; there are no (nested) + variable scopes. +* All variables have static types. Same for function and procedure + signatures. + + +## Functions + +* Functions are pure; they compute a single value from a list of arguments. +* Compare pure Haskell functions. + + +## Procedures + +* Procedures are similar to POSIX sh functions. +* Procedures take a list of arguments, and return a pair of + exit code and return value. +* Procedures may receive data from stdin and write data to stdout and stderr. |