yatima-lang-alpha

A programming language for the decentralized web (by yatima-inc)

Yatima-lang-alpha Alternatives

Similar projects and alternatives to yatima-lang-alpha

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better yatima-lang-alpha alternative or higher similarity.

yatima-lang-alpha reviews and mentions

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 has received a Web 3.0 Grant!
    1 project | /r/yatima | 13 Aug 2021
  • Yatima: A programming language for the decentralized web
    1 project | /r/SOLID | 7 Jun 2021
    1 project | /r/patient_hackernews | 7 Jun 2021
    1 project | /r/hackernews | 7 Jun 2021
    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!)

  • A note from our sponsor - WorkOS
    workos.com | 23 Apr 2024
    The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →

Stats

Basic yatima-lang-alpha repo stats
9
450
0.0
about 1 year ago

yatima-inc/yatima-lang-alpha is an open source project licensed under MIT License which is an OSI approved license.

The primary programming language of yatima-lang-alpha is Rust.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com