mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-17 13:27:30 +03:00
45 lines
745 B
Markdown
45 lines
745 B
Markdown
|
|
|||
|
```ucm
|
|||
|
.> builtins.merge
|
|||
|
|
|||
|
Done.
|
|||
|
|
|||
|
```
|
|||
|
```unison
|
|||
|
-- List.map : (a -> b) -> [a] -> [b]
|
|||
|
List.map f as =
|
|||
|
go acc = cases
|
|||
|
[] -> acc
|
|||
|
h +: t -> go (acc :+ f h) t
|
|||
|
go []
|
|||
|
```
|
|||
|
|
|||
|
```ucm
|
|||
|
|
|||
|
I found and typechecked these definitions in scratch.u. If you
|
|||
|
do an `add` or `update`, here's how your codebase would
|
|||
|
change:
|
|||
|
|
|||
|
⍟ These new definitions are ok to `add`:
|
|||
|
|
|||
|
List.map : (i ->{𝕖} o) -> as ->{𝕖} [i] ->{𝕖} [o]
|
|||
|
|
|||
|
```
|
|||
|
```ucm
|
|||
|
.> add
|
|||
|
|
|||
|
⍟ I've added these definitions:
|
|||
|
|
|||
|
List.map : (i ->{𝕖} o) -> as ->{𝕖} [i] ->{𝕖} [o]
|
|||
|
|
|||
|
.> view List.map
|
|||
|
|
|||
|
List.map : (i ->{𝕖} o) -> as ->{𝕖} [i] ->{𝕖} [o]
|
|||
|
List.map f as =
|
|||
|
go acc = cases
|
|||
|
[] -> acc
|
|||
|
h +: t -> go (acc :+ f h) t
|
|||
|
go []
|
|||
|
|
|||
|
```
|