base64-bytestring VS lunatic

Compare base64-bytestring vs lunatic and see what are their differences.


Fast base64 encoding and decoding for Haskell. (by haskell)


Lunatic is an Erlang-inspired runtime for WebAssembly (by lunatic-solutions)
Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
base64-bytestring lunatic
1 56
41 2,839
- 1.9%
2.3 9.1
2 months ago 7 days ago
Haskell Rust
GNU General Public License v3.0 or later Apache License 2.0
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.


Posts with mentions or reviews of base64-bytestring. 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 | | 7 Jun 2021
    Sure, if you consider Haskell's runtime (I know that technically GHC /= Haskell, but in practice it's the only Haskell that matters, except maybe something like Asterius) all the primitives are backed by C libraries:

    Likewise with conventions around pointers, arrays, etc. to the point where if you want to do anything really low-level or performance sensitive in Haskell, you're essentially punching a hole into C. As a random example, within the fast base64bytestring library, you find lots of use of `malloc`, `ForeignPtr` etc.: And of course because this is C there aren't really many safety guarantees here.

    The plan with Yatima with its primitives, and eventually when we write an FFI is to integrate with Rust in the same way that Haskell uses C. My hope is that with Yatima's affine types we might even be able to FFI to and from safe Rust (since the borrow checker uses affine types), but this is a little bit of a research project to see how much that works. Even to unsafe Rust though, we have better safety guarantees than C, since unsafe Rust's UB is still more restricted than C's is.


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 2022-08-06.

What are some alternatives?

When comparing base64-bytestring and lunatic you can also consider the following projects:

hyperscan - High-performance regular expression matching library

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

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

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

actix - Actor framework for Rust.

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

asn1-encoding - ASN1 Raw/BER/DER/CER reader/writer in haskell

bastion - Highly-available Distributed Fault-tolerant Runtime

data-lens - Haskell 98 Lenses

msgpack - Haskell implementation of MessagePack /[Haskell]

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

cassava-conduit - Conduit interface for cassava [Haskell]