Replies: 2 comments
-
We use I'd almost be inclined to get rid of I'd also like to see the situations where it's awkward, since we are getting dedicated commands for common use cases, so maybe that will help too. Like to create a branch off of |
Beta Was this translation helpful? Give feedback.
-
I really like the idea of using Also, I think it will allow us to use For prior art: see Koka. It uses |
Beta Was this translation helpful? Give feedback.
-
Something that comes up repeatedly is that it's awkward that in ucm there isn't a way to reference the current namespace (without fully typing it out). It would be nice to be able to do something like
fork . .pr.thing
where the first.
is a hypothetical "current namespace" reference and.pr.thing
is a namespace outside of the current namespace.Many Unison developers will likely be familiar with Unix-style paths, where
.
refers to the current directory, and..
refers to the parent directory. The familiarity makes.
and..
promising candidates for ucm "current namespace" and "parent namespace" references. However, in Unison.
is used as the path separator for namespaces (ex:lib.base
), which clashes with using.
to reference the current namespace.Because of the ubiquitous nature of Unix conventions and ucm already embracing some of them (ex:
ls
,cd
), I propose adopting/
as the path separator and.
as the current namespace. This would be a pretty big change that would require updating lots of documentation and possibly messing with URIs (such as on Share). However, it seems to kind of be what people expect, and there isn't an obvious way to add a "current namespace" reference without going down this route.Unfortunately
/
is also a common operator name (ex: division, appending to a path), so we'd have to figure out how to still allow it as an operator name, which likely means escaping it with backticks or parens or something.Beta Was this translation helpful? Give feedback.
All reactions