Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify implementation details for Lagoon. #64

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions UIPS/UIP-0127.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,8 @@ At the current time, Lagoon defines the following operators, a handful of which

The IEEE 754 rounding mode is a property of the operation rather than of the value(s) involved. To effect this correctly, `/lib/lagoon` implements a `++lake` wrapper in a door-like pattern to modify the core's behavior. This information propagates to gates.

The Lagoon implementation is available in the branch [`sigilante/lagoon-reals`](https://github.com/urbit/urbit/pull/6971).

### Jetting

Jets will resolve at the level of (e.g.) `++add` rather than `++bin-op`.
Expand All @@ -173,6 +175,8 @@ In the long run, as more possibilities for userspace jets become available, `/li

Lagoon will jet `/lib` into the `non` chapter and place corresponding jets in `/i`.

The Vere implementation is available in the branch [`lagoon-jets`](https://github.com/urbit/vere/pull/638).

### Rationale for `%real`

IEEE 754 `%real`s are a well-understood, well-vetted component in the numerical ecosystem for scientific computing and Urbit's `@r` affordances.
Expand All @@ -182,12 +186,12 @@ We have comprehensive unit test coverage of `/lib/lagoon` and SoftBLAS, lending
Taken together, these lead us to believe that introducing `%real` to the developer community first is a conservative assay to roll out or try several new features:

1. Jetted `/lib`.
2. Tetchy hardware–software coupling
3. Linear algebra interface and affordances
2. Tetchy hardware–software coupling.
3. Linear algebra interface and affordances.

## Resources

Primary development is taking place in [`urbit/numerics`](https://github.com/urbit/numerics).
Primary development is taking place in [`urbit/numerics`](https://github.com/urbit/numerics). The results of this are synced into Urbit and Vere via the above links.

Details are available in `~mopfel-winrux/numeric-computation-and-machine-learning` and [in summary form](https://gist.github.com/sigilante/f9b0d6b5d5a7675f96415e35c0b22d95).

Expand Down