exercism / exercism/unison

HELP.md missing step to pull lib.base

Open
#101 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
5
Forks
22
PR merge metrics
No merged PRs in 30d

Description

With a fresh install of the current version of UCM, it appears that the base library is not included. It is required to run `pull unison.public.base.latest lib.base` at the UCM prompt, or else basic types (`Text` for example) are not found and nothing works.

I've never installed Unison, so I'm bumbling around with no clue in a strange system. Fortunately a kind soul left [a comment on Exercism's Youtube video](https://www.youtube.com/watch?v=4UMaaiJnWGY&lc=UgwPMYd1dxQVqVOGosJ4AaABAg) to help out.

Another comment mentions needing `fork .base lib.base`. That command caused an error for me, but fortunately it seems it's not needed. I don't know what the right procedure for getting started is, but it would be great to have it spelled out a bit more in HELP.md for the current version of Unison. To be fair, the Unison Quickstart guide also does not mention anything about it, despite what appears to be a significant effort to make the docs and system friendly to new users.

## How to repeat

```
quickstart/main> cd .exercism.hello_world

☝️ The namespace .exercism.hello_world is empty.

.exercism.hello_world>
.exercism.hello_world> ls

nothing to show

.exercism.hello_world> add

😶

There's nothing for me to add right now.

Hint: I'm currently watching for definitions in .u files under the
~/g/exercism/unison/hello-world directory. Make sure you've updated something there
before using the `add` or `update` commands, or use `load` to load a file explicitly.

.exercism.hello_world> load hello.u

I couldn't resolve any of these symbols:

2 | hello.hello : Text

Symbol Suggestions

Text No matches

.exercism.hello_world> fork .base lib.base

⚠️

The namespace .base doesn't exist.

.exercism.hello_world> pull unison.public.base.latest lib.base

Downloaded 779 entities.

Successfully pulled into lib.base, which was empty.

.exercism.hello_world> fork .base lib.base

⚠️

The namespace .base doesn't exist.

.exercism.hello_world> fork lib.base

`fork src dest`creates the namespace `dest` as a copy of `src`.

.exercism.hello_world> load hello.u

I found and typechecked these definitions in hello.u. If you do an `add` or `update`, here's
how your codebase would change:

⍟ These new definitions are ok to `add`:

hello.hello : Text

.exercism.hello_world> add

⍟ I've added these definitions:

hello.hello : Text

.exercism.hello_world> load hello.test.u

I found and typechecked these definitions in hello.test.u. If you do an `add` or `update`,
here's how your codebase would change:

⍟ These new definitions are ok to `add`:

hello.test : Test
hello.tests : [Result]

Now evaluating any watch expressions (lines starting with `>`)... Ctrl+C cancels.

6 | test> hello.tests = runAll [hello.test]

✅ Passed : Passed 1 tests.

.exercism.hello_world>
```

## System information

Arch Linux
Latest (releases/M5g) ucm-linux.tar.gz downloaded from https://github.com/unisonweb/unison/releases/download/release%2FM5g/ucm-linux.tar.gz

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading HELP.md and the Unison Quickstart guide, then compare their setup steps with the fresh-install transcript in this issue. Clarify the procedure for obtaining the base library, including the command that makes basic types available, and ensure the documented steps take a new user through a working hello-world example.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.