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 :)
The current transcript doc states the following:
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 sinceFailure
is (for some reason???) defined within theio
namespace even thoughException
isn't. I triedbuiltins.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 :)