| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
+---------------------+
| ┏ |
| ┏┓┏┓╋┏┓ |
| ┗┛┣┛┛╹┗ |
+---------------------+
an Operating Function
is a purely functional programming environment
virtual machine for constructing
resilient, distributed applications.
(Video) A basic web app demonstration leveraging an in-system HTTP server. All state is automatically persisted and computations can be paused and resumed: demo
You have two options: build a dev environment using Nix, or clone the repo and install a binary. The binary is supplied for convenience only and still requires the source code in order to function.
On Ubuntu or Debian-based systems:
sudo apt-get update && sudo apt-get install -y \
libgmp10 \
liblmdb0 \
zlib1gOn MacOS:
brew install gmp lmdb zlibYour browser may not prompt to download these files, in which case you can use cURL:
curl -L <URL of your choice here> -o pallas
Make it executable and move it somewhere on your path.
If all went well, you should see this:
$ pallas
Run a Pallas machine
Usage: pallas COMMAND
Pallas
Available options:
-h,--help Show this help text
Available commands:
sire Run a standalone Sire repl.
save Load a sire file and save a seed.
show Print a seed file.
repl Interact with a seed file.
start Resume an idle machine.
boot Boot a machine.Using Nix is the most straightforward way to install Pallas at this time. If your system doesn't support Nix or if you need further instruction (including instructions for Docker), refer to the documentation
git clone git@github.com:operating-function/pallas.gitcd pallasnix developThis will take some time. Perhaps upwards of 15 minutes, depending on your system.
stack build$ stack run pallas
Run a Pallas machine
Usage: pallas COMMAND
Pallas
Available options:
-h,--help Show this help text
Available commands:
sire Run a standalone Sire repl.
save Load a sire file and save a seed.
show Print a seed file.
repl Interact with a seed file.
start Resume an idle machine.
boot Boot a machine.Navigate to the root of this repository and run the commands below to see a simple demonstration of running a Pallas machine.
(The following demo uses /tmp as the location on the host filesystem to create a directory named counter to hold the event log of the machine. Feel free to use a different directory if you'd like.)
pallas boot /tmp/counter sire/demo_count_up.sire
pallas start /tmp/counterTake note of the final counter value and then Ctrl-C to kill the machine.
++ [%trk {2020-09-21T10:15:00.729241178Z}]
++ [{counter is at}=7]Now run pallas start /tmp/counter again. The counter picks up where it left off. You'll notice that there is no explicit saving or writing to disk or a database. You get persistence for free by writing application code.
(For more on how Pallas machines work, see the documentation).
At this stage in Pallas development, these are the types of contributions that are most appropriate:
That said, we encourage you to dive even deeper and submit PRs beyond these suggestions.
| Back | FazBrowse Home | New Git URL |