mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-11 02:25:39 +03:00
This is for consistency with the `cmark` style. Now the blocks we still pretty-print ourselves will match the bulk of them that `cmark` produces.
42 lines
746 B
Markdown
42 lines
746 B
Markdown
# The empty codebase
|
|
|
|
The Unison codebase, when first initialized, contains no definitions in its namespace.
|
|
|
|
Not even `Nat` or `+`\!
|
|
|
|
BEHOLD\!\!\!
|
|
|
|
``` ucm
|
|
scratch/main> ls
|
|
|
|
nothing to show
|
|
|
|
```
|
|
Technically, the definitions all exist, but they have no names. `builtins.merge` brings them into existence, under the current namespace:
|
|
|
|
``` ucm
|
|
scratch/main> builtins.merge lib.builtins
|
|
|
|
Done.
|
|
|
|
scratch/main> ls lib
|
|
|
|
1. builtins/ (469 terms, 74 types)
|
|
|
|
```
|
|
And for a limited time, you can get even more builtin goodies:
|
|
|
|
``` ucm
|
|
scratch/main> builtins.mergeio lib.builtinsio
|
|
|
|
Done.
|
|
|
|
scratch/main> ls lib
|
|
|
|
1. builtins/ (469 terms, 74 types)
|
|
2. builtinsio/ (643 terms, 92 types)
|
|
|
|
```
|
|
More typically, you'd start out by pulling `base`.
|
|
|