{"repo":"mycweb/mycelium","free":true,"listed":false,"github":"https://github.com/mycweb/mycelium","clone":"git clone https://github.com/mycweb/mycelium.git","description":"Typed Formats for Storing & Transferring Data & Code","language":"Go","stars":36,"topics":["format","networking","protocol","web3"],"license":"MPL-2.0","category":"blockchain-web3","readme_excerpt":"Mycelium Mycelium is a set of typed formats for storing and transferring data, like Protocol Buffers or JSON. As you might expect it supports things like: - Bits - Arrays - Products) - Sums (Coproducts) - Lists But as you might not expect, it also has support for: - Refs (pointers) - Expressions - Functions/Procedures - Types Every value that you can specify in Mycelium has a Type (which is also a Value), and every Value can be stored or transferred. Values can be computed by evaluating Expressions. Expressions are also Values and can also be stored or transferred. Virtual Machine mvm1/ The Mycelium Virtual Machine (MVM) is an abstract machine model that defines what it means for a Mycelium Expression to be evaluated. It is not necessary to have an MVM implementation in order to send and receive Mycelium Values. A reference implementation of the MVM, written in Go, is available in the mvm1 directory. Here are some fast facts about the MVM: - All Values in the MVM are immutable. - The MVM models interprocess interactions as operations {Input, Output, Interact} on special Values called Ports . These are the only operations with effects. - Since all Values can be fingerprinted in constant time, it is very easy to add accelerators for known functions. e.g. the MVM has no addition operation, but a cannonical addition function is accelerated using the hardware's addition instruction. - The MVM operations are defined in spec/op.go . The design favors a small amount of powerful opera","default_branch":null,"files":null,"tree":[],"storefront":"/r/mycweb","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mycweb/mycelium/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}