rustler - Safe Rust bridge for creating Erlang NIF functions

  •        19

Rustler is a library for writing Erlang NIFs in safe Rust code. That means there should be no ways to crash the BEAM (Erlang VM). The library provides facilities for generating the boilerplate for interacting with the BEAM, handles encoding and decoding of Erlang terms, and catches rust panics before they unwind into C. The library provides functionality for both Erlang and Elixir, however Elixir is favored as of now.

https://docs.rs/rustler/
https://github.com/hansihe/rustler

Tags
Implementation
License
Platform

   




Related Projects

rustler - Safe Rust bridge for creating Erlang NIF functions

  •    Rust

Rustler is a library for writing Erlang NIFs in safe Rust code. That means there should be no ways to crash the BEAM (Erlang VM). The library provides facilities for generating the boilerplate for interacting with the BEAM, handles encoding and decoding of Erlang terms, and catches rust panics before they unwind into C. The library provides functionality for both Erlang and Elixir, however Elixir is favored as of now.

jason - A blazing fast JSON parser and generator in pure Elixir.

  •    Elixir

A blazing fast JSON parser and generator in pure Elixir. The parser and generator are at least twice as fast as other Elixir/Erlang libraries (most notably Poison). The performance is comparable to jiffy, which is implemented in C as a NIF. Jason is usually only twice as slow.

ffi - Ruby FFI

  •    C

Ruby-FFI is a ruby extension for programmatically loading dynamic libraries, binding functions within them, and calling those functions from Ruby code. Moreover, a Ruby-FFI extension works without changes on Ruby and JRuby. Discover why you should write your next extension using Ruby-FFI. On Linux systems running with PaX (Gentoo, Alpine, etc.) FFI may trigger mprotect errors. You may need to disable mprotect for ruby (paxctl -m [/path/to/ruby]) for the time being until a solution is found.

Haskell FFI Binding Modules Generator

  •    

A tool that auto-generates Haskell FFI declarations by parsing a C header file.

NIF File Format Library and Tools

  •    C++

NifTools aims to provide users with Tools to View, Edit, Create and Visualise 3D Models stored in the NetImmerse File Format. The NIF format is used by many popular games based on the NetImmerse/Gamebryo Game Engine such as Morrowind, Oblivion, Fallout 3, Fallout: New Vegas and Skyrim. We are creating a unified description of the NIF file format allowing our contributors to build tools and utilities, to facilitate user created content. The tools will allow users to: - View/Edit/Visualise t


pyo3 - Rust bindings for the Python interpreter

  •    Rust

Rust bindings for Python. This includes running and interacting with python code from a rust binaries as well as writing native python modules. A comparison with rust-cpython can be found in the guide.

php-ffi - PHP Foreign Function Interface

  •    C

FFI PHP extension provides a simple way to call native functions, access native variables and create/access data structures defined in C language. The API of the extension is very simple and demonstrated by the following example and its output. FFI::__constructor() takes two arguments (both are optional). The first one is a collection of C declarations and the second is DSO library. All variables and functions defined by first arguments are bound to corresponding native symbols in DSO library and then may be accessed as FFI object methods and properties. C types of argument, return value and variables are automatically converted to/from PHP types (if possible). Otherwise, they are wrapped in a special CData proxy object and may be accessed by elements.

elixir-phoenix-realworld-example-app - Exemplary real world application built with Elixir + Phoenix

  •    Elixir

Elixir (Phoenix) codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API. This codebase was created to demonstrate a fully fledged backend application built with Elixir and Phoenix including CRUD operations, authentication, routing, pagination, and more.

ElixirBooks - List of Elixir books

  •    

Official Elixir starting guide that will take you through the language foundations. You will also explore how to build projects with Mix and OTP, and it will introduce you to more advanvced techniques suchs as meta-programming. Adoption is more than programming. Elixir is an exciting new language, but to successfully get your application from start to finish, you’re going to need to know more than just the language. You need the case studies and strategies in this book. Learn the best practices for the whole life of your application, from design and team-building, to managing stakeholders, to deployment and monitoring. Go beyond the syntax and the tools to learn the techniques you need to develop your Elixir application from concept to production.

intellij-elixir - Elixir plugin for JetBrain's IntelliJ Platform (including Rubymine)

  •    Java

This is a plugin that adds support for Elixir to JetBrains IDEs. The plugin works both in the rich IDEs that allow alternative language SDK selection and small IDEs that are language specific. The rich IDEs work best for IntelliJ Elixir because only in the rich IDEs can have an Elixir SDK set as the Project SDK. In all small IDEs, the native language SDK is always there, which makes anything that uses the SDK, such as running elixir, erl, or mix more complicated both internally and externally in the configuration you have to setup.

lua-resty-core - New FFI-based API for lua-nginx-module

  •    Lua

This library is production ready and under active development.This pure Lua library reimplements part of the ngx_lua module's Nginx API for Lua with LuaJIT FFI and installs the new FFI-based Lua API into the ngx.* and ndk.* namespaces used by the ngx_lua module.

winapi-rs - Rust bindings to Windows API

  •    Rust

This crate provides raw FFI bindings to all of Windows API. They are gathered by hand using the Windows 10 SDK from Microsoft. I aim to replace all existing Windows FFI in other crates with this crate through the "Embrace, extend, and extinguish" technique. If this crate is missing something you need, feel free to create an issue, open a pull request, or contact me via other means.

rust-bindgen - Automatically generates Rust FFI bindings to C (and some C++) libraries.

  •    C++

impl period has been started! Join us at Gitter.im. bindgen automatically generates Rust FFI bindings to C (and some C++) libraries.

rust-bindgen - Automatically generates Rust FFI bindings to C (and some C++) libraries.

  •    C++

bindgen automatically generates Rust FFI bindings to C (and some C++) libraries.

elixir-ls - A frontend-independent IDE "smartness" server for Elixir

  •    Elixir

The Elixir Language Server provides a server that runs in the background, providing IDEs, editors, and other tools with information about Elixir Mix projects. It adheres to the Language Server Protocol, a standard for frontend-independent IDE support. Debugger integration is accomplished through the similar VS Code Debug Protocol. You may want to install Elixir and Erlang from source, using the kiex and kerl tools. This will let you go-to-definition for core Elixir and Erlang modules.

elixir-koans - Elixir learning exercises

  •    Elixir

Elixir koans is a fun way to get started with the elixir programming language. It is a tour of the most important features and idiomatic usage of the language. You need to have Elixir installed. Please refer to the official guide for instructions.

elixirscript - Converts Elixir to JavaScript

  •    Elixir

The goal is to convert a subset (or full set) of Elixir code to JavaScript, providing the ability to write JavaScript in Elixir. This is done by taking the Elixir AST and converting it into JavaScript AST and then to JavaScript code. This is done using the Elixir-ESTree library.

Elixir - Dynamic, Functional Language designed for building scalable and maintainable application

  •    Elixir

Elixir is a dynamic, functional language designed for building scalable and maintainable applications. Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.

grpc-elixir - The Elixir implementation of gRPC

  •    Elixir

The Elixir implementation of gRPC. You can start the gRPC server as a supervised process. First, add GRPC.Server.Supervisor to your supervision tree.

elixir-companies - A list of companies currently using Elixir in production.

  •    HTML

A curated list of companies using Elixir in production, organized by industry. Please see CONTRIBUTING for details.