A friendly programming language from the future
OTHER License
Bot releases are hidden (Show)
Published by aryairani over 2 years ago
Here's a summary of what's new in Version M4:
Create your account at https://share.unison-lang.org and then push your code like so:
.projects.corla> push.create aryairani.public.corla
Then head over to https://share.unison-lang.org to see your rendered code and docs!
You can still upload to Github by wrapping the git repository location in git(...)
, like:
.projects.corla> push.create git([email protected]:aryairani/unison).corla
We've introduced the idea of self-contained namespaces to help keep things under control. Just fork
the libraries you want into lib
relative to the namespace you're working in, and the rest of the universe of code will stay out of your hair. Absolute paths are out.
The base
library has some new goodies. See the blog post for an overview.
do
parses as 'let
nowLoads of bugfixes, performance improvements, UI improvements.
For existing installations, Release M4 will perform an automated codebase upgrade. If prompted to upgrade, close any currently open copies of UCM, and then press Enter. Your existing codebase will be backed up automatically.
$ ucm
๐ I backed up your codebase to ~/.unison/v2/unison.sqlite3.1657826988
โ ๏ธ Please close all other ucm processes and wait for the migration to complete before interacting with your codebase.
Press <enter> to start the migration once all other ucm processes are shutdown...
๐จ Migrating codebase to version 4...
๐ 1148 / ~1148 entities migrated. ๐ง
Finished.
๐ Cleaning up unreachable branches and causals...
๐จ Migrating codebase to version 5...
๐ต๏ธ Checking codebase integrity...
Checking Namespace Integrity...
Checking Causal Integrity...
Cleaning up...
๐ Migration complete ๐
Let us know in Slack if you encounter any trouble with this.
UCM will automatically download the base library for new installations, but you can also get it manually with:
.> pull unison.public.base.releases.M4 .base
Thanks to everyone who helped with this release, either by writing code or docs or submitting bug reports. For unisonweb/unison, here's all the folks with commits in this release (alphabetically by Github full name):
ยป git shortlog -s --no-merges "release/M3".."release/M4" | cut -f 2- | sort -f
Alberto Flores
Alvaro Carrasco
Arya Irani
Chris Penner
Cody Allen
Dan Doel
Dan Freeman
Emil Hotkowski
iamevn
Jens Petersen
Karthik Ravikanti
Mitchell Rosen
Paul Chiusano
Phil de Joux
Rรบnar Bjarnason
Sgeo
Simon Hรธjberg
Travis Staton
A number of people contributed to the Unison base library. You can view author information for any definition using the links
command:
.> links base.List.filter Author
1. base.metadata.authors.pete_ts : Author
Tip: Try using `display 1` to display the first result or `view 1` to view its source.
% git log --oneline release/M3..release/M4 | grep 'Merge pull request #' | cut -d' ' -f 5- | sed -e 's/^/* /'
Published by aryairani over 2 years ago
Hi all, we have been hard at work on Unison.
UCM Milestone 3 includes:
Float
), by @runaroramaDoc
rendering improvements. In fact, all of the posts at http://unison-lang.org/blog are now Doc
values! (Including those that embed video! ๐)fzf
auto-completion in ucm
.gist
pushes a namespace to your remote codebase; for quickly sharing namespaces that you don't necessarily want to name.pull.without-history
, for when all you want is a squash merge.delete.namespace.force
allows you to delete a namespace that still has dependencies. (Use at your own risk, since the names will missing for the time being.)api
prints the UCM web api links for those who are developing against it.compile.output
is now compile
.trunk
into topic/rehash-codebase
by @aryairani in https://github.com/unisonweb/unison/pull/2873
!
syntax for ctor application (Any ()
and Some ()
, not !Any
or !Some
) by @pchiusano in https://github.com/unisonweb/unison/pull/2898
git status
output by @aryairani in https://github.com/unisonweb/unison/pull/2921
removeDirectoryRecursive
with removePathForcibly
by @aryairani in https://github.com/unisonweb/unison/pull/2937
stack exec
and don't use /
by @aryairani in https://github.com/unisonweb/unison/pull/2936
Full Changelog: https://github.com/unisonweb/unison/compare/release/M2l...release/M3
Published by aryairani over 4 years ago
A hotfix for pull
performance issues; and a few other nice fixes. ๐ฌ
pull
/merge
performance improvements:
FileCodebase
cache. #1549pull
. #1561UCM changes:
dependencies
and dependents
command now produce numbered arg output (#1543, thanks @pt2121)merge.squash
command which discards intermediate history when merging. #1465Bug fixes:
Term.Link
(e.g. unison docs). #1493io.IO.throw
. #1572debug.push-exhaustive
and debug.pull-exhaustive
. #1570Improved messages:
delete.link
docs (#1499, thanks @virusdave)-codebase <X> init
tip (#1529)pull-request.create
help example (#1555, thanks @ceedubs)ucm
version in welcome message (#1558, thanks @ceedubs)Published by aryairani over 4 years ago
A hotfix for ucm
. So hot!
Fixes:
.unisonConfig
parser was rejecting keys starting with underscores (#1469)Nat
,Int
}.complement
(#1466, thanks @atacratic!)Published by aryairani over 4 years ago
A quick bugfix for new M1j installs that also slurped up two other recent PRs. ๐ฌ
New features:
Int
/Nat
(#1456, thanks @stew!)Fixes:
base
(#1463)copy.patch src dest
was actually moving dest
to src
(#1458)Published by aryairani over 4 years ago
Thanks to @pete-ts, @noahhaasis, @stew, and @atacratic for their contributions to this release!
New features:
delete.term-replacement
and delete.type-replacement
commands (#1360)create.author
command (#1400)dependents
, dependencies
, debug.file
commands (#1401)view
/display
(#1241)##Int.shiftLeft
, ##Int.shiftRight
, ##Int.pow
, ##Nat.shiftLeft
, ##Nat.shiftRight
, ##Nat.pow
(#1427).unisonConfig
(#1432)Changed behavior:
builtins.merge
no longer includes the contents of IOSource.hs
; use builtins.mergeio
to get everything (#1411)Fixes for:
push
(#1374)update
to produce too many updates (#1382)git
output belched out by push
/pull
(#1387)putSymbol
growing hidden variable names with each reproduction (#1389)push
(#1317)Bytes
values (#1428)pull
importing more than necessary of the remote repo (#1439)Speed improvements:
Published by aryairani over 4 years ago
Thanks (in no particular order) to @pete-ts, @mitchellwrosen, @bontaq, @atacratic, @anovstrup, @pt2121, @anchpop, @dandandan, @moses-alexander, for your contributions to this release!
New features:
pull-request.create
and pull-request.load
commands to support PR workflows (#1328, #1197, #1209)alias.many
command lets you copy multiple definitions' relative names at once to a destination namespace. (#1236)back
command to jump to the namespace you last cd
ed from. (#1294):hide:all
option for unison
and ucm
fences in transcripts (#1167)Changed behavior:
case
/of
syntax to match
/with
(#1214)link
and unlink
argument order has flipped from link <metadata> <definition>
to link <def1> [<def2> ...] <metadata>
(#1208, #1127)cases
syntax to replace x -> case x of
(#1192)alias.type
/alias.term
/replace.type
/replace.term
(#1334)Fixes:
push
and pull
(#1281, #1302)add
/update
to create aliases without a big fuss (#1254)Published by aryairani over 4 years ago
Thanks (in no particular order) to @atacratic, @TomasMikula, @mitchellwrosen, @pt2121, @noahhaasis, @alvaroc1, @int-index, @matthewess, @anovstrup, and @pete-ts, for your contributions to this release!
New features:
Nat.toFloat
(#1012)bug : a -> b
and todo : a -> b
builtins, which print their arguments and terminate (#881)todo
calls will probably show up in the todo
ucm output in not too long)delete
command (#1036) (no longer need to distinguish between terms and types)delete
(#1068)load
command to manually load a .u file into ucm (#1099)Doc
literals (#994)diff.namespace
command which prints the diff between two namespaces (#1064).-save-codebase
flag is passed to the transcript
command. (#1155)Changed behavior:
handle e with h
syntax (#1159) instead of current handle h in e
..unisonConfig
from the directory that the codebase is in (i.e. your home dir) (#1031)Fixes:
Char
when it is part of a pattern (#1008)names
output (#1002)ucm run
(#1057)delete
tab completion wasn't including types (#1076)todo
output if there is nothing to do (#1088)Published by aryairani almost 5 years ago
Nat
instead of .base.Nat
when you only have one Nat
!resolve.term
and resolve.type
command to replace.term
and replace.type
(#988)Published by aryairani almost 5 years ago
Point release in the M1 series. No codebase format changes.
Doc
type with some special rendering in UCM (#914)push
/pull
syntax to support remote Unison paths (#935)Published by aryairani almost 5 years ago
ls
command (now distinct from find
) (https://github.com/unisonweb/unison/pull/808)resolve-edit
commandreflog
and reset-root
commands (https://github.com/unisonweb/unison/pull/858)find.patch
(Thanks @pt2121)(Let me know if I missed something!)
Published by aryairani about 5 years ago
Point release in the M1 series. No codebase format changes.
Published by aryairani about 5 years ago
Point release in the M1 series. No codebase format changes.
Fixes #668, an infinite loop if search results include a type name that referred to more than one definition, a name conflict which can occur after merging two namespaces.
Pro tip: If you are upgrading from earlier in the M1 series, and end up in a situation where you have to choose between getting rid of List##List
and List##Sequence
, get rid of List##List
. Sorry about that.
Published by aryairani about 5 years ago
Point release in the M1 series. No codebase format changes. Recommended action is to pull latest unisonbase after upgrade:
.> cd .
.> pull https://github.com/unisonweb/unisonbase.git
Fixes:
List
type name: List a
should be a synonym for [a]
but it wasn't in unisonbase.!
and '
prefix operators.Published by pchiusano about 5 years ago
Alpha testing release of Unison. Superseded by M1a, which has this important bugfix.
Published by pchiusano about 5 years ago
Alpha testing release of Unison. Instructions for getting started.