An implementation of the Urbit runtime
Go to file
barter-simsum 8c0cc71127 specify up to 33 bits (8G) with --loom
Unsure how we should ultimately do this. Specifying 33 bits should be
conditional on the loom having compressed pointers obviously.

P.S. Having implemented the migration by now, the migration is not optional, so
this is fine.
2023-02-28 12:07:37 -05:00
.github Merge branch 'master' into develop 2023-02-14 14:31:00 -03:00
bazel address peter's comments 2023-02-09 12:05:41 -05:00
doc/spec Remove lingering artifacts from old build system (#144) 2023-02-01 15:18:23 -05:00
docker Updated Readme.md 2023-02-14 10:49:25 -05:00
pkg specify up to 33 bits (8G) with --loom 2023-02-28 12:07:37 -05:00
.bazelrc c3_dessert -- debug assert (breakpoint trap) 2023-02-17 14:43:32 -05:00
.gitignore .gitignore ignore tag files 2023-02-17 14:43:32 -05:00
.RELEASE_DESCRIPTION.md Add .RELEASE_DESCRIPTION.md 2023-02-08 09:48:24 -05:00
BUILD.bazel address peter's comments 2023-02-09 12:05:41 -05:00
CONTRIBUTING.md generate compile_commands.json for use by language servers like clangd (#196) 2023-02-10 06:28:43 -08:00
INSTALL.md Add debug configuration to build system (#142) 2023-02-01 11:16:44 -05:00
LICENSE.txt Restore toplevel LICENSE.txt file. 2020-01-28 13:24:39 -08:00
MAINTAINERS.md Update MAINTAINERS.md 2023-02-07 09:47:07 -08:00
PACE Improve versioning scheme for soon and edge trains (#96) 2023-01-11 15:13:18 -05:00
README.md Build with musl instead of glibc on Linux (#27) 2023-01-09 13:54:11 -05:00
VERSION bump version from 1.21 to 1.22 2023-02-14 14:32:21 -03:00
WORKSPACE.bazel address peter's comments 2023-02-09 12:05:41 -05:00

Urbit Runtime

Urbit is a personal server stack built from scratch. This repository contains Urbit's runtime environment, the lowest layer of the Urbit stack, which includes the Nock virtual machine, I/O drivers, event log, and snapshotting system.

Getting Started

For basic Urbit usage instructions, head over to urbit.org. For a high-level overview of the salient aspects of Urbit's architecture, visit developers.urbit.org. You might also be interested in joining the urbit-dev mailing list.

Packages

Urbit's runtime is broken down into a few separate layers, each of which is defined in its own package:

  • pkg/c3: A set of basic utilities for writing Urbit's style of C.
  • pkg/ent: A cross-platform wrapper for getentropy(2).
  • pkg/urcrypt: A standardized interface for calling various cryptographic functions used in the Urbit runtime.
  • pkg/ur: An implementation of jam and cue, Urbit's bitwise noun serialization and deserialization algorithms, respectively.
  • pkg/noun: The Nock virtual machine and snapshotting system.
  • pkg/vere: The I/O drivers, event log, and main event loop.

Build

See INSTALL.md.

Contributing

Contributions of any form are more than welcome. Please take a look at our contributing guidelines for details on our git practices, coding styles, how we manage issues, and so on.