unisonweb / unisonweb-org

Source for the unisonweb.org website
https://unisonweb.org
Other
40 stars 61 forks source link

transcript doc: suggest builtins.merge? #288

Open ceedubs opened 3 years ago

ceedubs commented 3 years ago

The current transcript doc states the following:

Note that unlike the default behavior of initializing a new codebase with the UCM codebase-create argument, transcripts do not contain the base library. If you would like your codebase to run against a codebase with the base library in scope, you can add a ucm block which issues a pull command for your desired base library.

I'd like it to be super fast/simple for people to be able to create transcripts to play around with the language or submit bug reports. Pulling in base really slows down a transcript. But it feels kind of wrong that by default you can't even reference Nat in a transcript.

Should we add a piece to the document about how if you aren't pulling in base you might want to add .> builtins.merge to the top of your document so you can use builtin types?

It also feels off that you might have to separately do .> builtins.mergio if you want those types as well. Especially since Failure is (for some reason???) defined within the io namespace even though Exception isn't. I tried builtins.update which sounded like it should do what I wanted, but it gave an error saying that it's not implemented yet.

I almost wonder if transcripts should merge builtins by default and you can use a flag to disable the behavior if you are going to bring in base. But this might be confusing for users.

@aryairani @rlmark what do you think? Honestly I don't know whether this is an issue for the website or for ucm itself :)