lunatic VS yatima-lang-alpha

Compare lunatic vs yatima-lang-alpha and see what are their differences.

lunatic

Lunatic is an Erlang-inspired runtime for WebAssembly (by lunatic-solutions)

yatima-lang-alpha

A programming language for the decentralized web (by yatima-inc)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
lunatic yatima-lang-alpha
86 9
4,525 450
0.6% -
5.7 0.0
29 days ago about 1 year ago
Rust Rust
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

lunatic

Posts with mentions or reviews of lunatic. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-14.

yatima-lang-alpha

Posts with mentions or reviews of yatima-lang-alpha. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-06-07.
  • Yatima: A programming language for the decentralized web
    16 projects | news.ycombinator.com | 7 Jun 2021
    Absolutely accepting contributions, come join our matrix channel: #yatima:matrix.org https://matrix.to/#/!bBgWgXJqeKuDuiUYWN:matrix.org?via=matri...

    This issue (on improving the test-suite) is a particularly good starter issue: https://github.com/yatima-inc/yatima/issues/37

    16 projects | news.ycombinator.com | 7 Jun 2021
    Some random questions to the developers regarding motivation 2 at [0]:

    1. Do you have plans to make Yatima a usable theorem prover?

    2. If so, how will people typically quotient things (e.g. does it have quotient types)?

    3. How far does the type theory depart from classical mathematics?

    [0]: https://github.com/yatima-inc/yatima#motivation

    16 projects | news.ycombinator.com | 7 Jun 2021
    Sure, so I do use petgraph for actually visualizing the lambda DAG graphs, since it's got a very nice graphviz integration: https://github.com/yatima-inc/yatima/blob/059b0abccd0ca54b9a....

    You can see the output of that here: https://i.redd.it/94zg24fboyv61.png

    (N.B. We removed that module from the language core since we're trying to make that no_std, but we're adding it back to our utils crate soon: https://github.com/yatima-inc/yatima/issues/70)

    But we can't use petgraph for the actual computational lambda-DAG because of performance. For example, one thing we get by using pointers is constant-time insertion and removal of of parent nodes (every node in the graph points to their parent). We actually wrote our own Doubly-Linked-List in Rust (it can be done!) to store pointers to the parents for this reason: https://github.com/yatima-inc/yatima/blob/main/core/src/dll.....

    There's also memory concerns, given that the lambda-DAG collects its own garbage, freeing space allocated for nodes when no longer in use, whereas I believe petgraph is just `Vec` internally, which would require shrinking, and that would also be slow.

    All this low-level pointer manipulation was, tbh, a huge amount of work, but the end result is a performant lazy lambda-calculus reducer with sharing in a few thousand lines of Rust, which means fast lambdas on wherever WASM runs.

    (That said, I'm a little bit concerned about cache misses with all the pointer chasing we do, but I haven't yet gotten around to profiling different Yatima expressions to measure this. Would be a great project for an OSS contributor too, so I'll probably make a GH issue for it!)

    16 projects | news.ycombinator.com | 7 Jun 2021
    Totally a fair point. Honestly I'm not sure the Yatima's actually ready for on-boarding language users, as distinct from language contributors, just yet. Like, if you want to hack on a Rust implementation of a functional language and can figure out a lot stuff from the source, we're just about ready for you. If you want to use the language to build software that's useful for some other purpose, I don't think we're quite there yet. We don't even have IO yet!

    But you're definitely right that once we're ready for people who aren't contributors to use the language we'll need code examples, tutorials, a web repl (it's in progress! https://github.com/yatima-inc/yatima/tree/main/web), and all that good stuff. 100% agree on that

    16 projects | news.ycombinator.com | 7 Jun 2021

What are some alternatives?

When comparing lunatic and yatima-lang-alpha you can also consider the following projects:

spin - Spin is the open source developer tool for building and running serverless applications powered by WebAssembly.

hyperscan - High-performance regular expression matching library

actix - Actor framework for Rust.

wit-bindgen - A language binding generator for WebAssembly interface types

wasmCloud - wasmCloud allows for simple, secure, distributed application development using WebAssembly components and capability providers.

bastion - Highly-available Distributed Fault-tolerant Runtime

tui-rs - Build terminal user interfaces and dashboards using Rust

fengari - 🌙 φεγγάρι - The Lua VM written in JS ES6 for Node and the browser

Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications

lumen - An alternative BEAM implementation, designed for WebAssembly

async-wormhole

tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...