{"id":17992943,"url":"https://github.com/leostera/rust-nif-dojo","last_synced_at":"2025-09-11T10:36:33.306Z","repository":{"id":141534982,"uuid":"257844605","full_name":"leostera/rust-nif-dojo","owner":"leostera","description":"Small dojo to write Safe and Fast NIFs in Rust(ler)","archived":false,"fork":false,"pushed_at":"2020-04-22T08:50:08.000Z","size":884,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-09T16:16:50.719Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leostera.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-04-22T08:49:42.000Z","updated_at":"2020-04-23T11:14:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"bc89a04a-e401-42ef-b5d2-cd0dbabf5a3e","html_url":"https://github.com/leostera/rust-nif-dojo","commit_stats":null,"previous_names":["leostera/rust-nif-dojo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leostera%2Frust-nif-dojo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leostera%2Frust-nif-dojo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leostera%2Frust-nif-dojo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leostera%2Frust-nif-dojo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leostera","download_url":"https://codeload.github.com/leostera/rust-nif-dojo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247123103,"owners_count":20887260,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-29T20:09:41.377Z","updated_at":"2025-04-04T04:46:06.383Z","avatar_url":"https://github.com/leostera.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Safe and Fast NIFs with Rust(ler)!\n\nIn this tiny dojo repository we'll be exposed to the creation of [Natively\nImplemented Functions for the BEAM](http://erlang.org/doc/man/erl_nif.html)\nusing the [Rust programming language](https://www.rust-lang.org/) and the\n[Rustler project](https://github.com/rusterlium/rustler).\n\nThe core premise here is that Rust, being a performant, reliable, and\nproductive language, is an excellent choice for building libraries that require\nnative support, for those use-cases where executing Erlang or Elixir code is\njust not enough, or where a good Rust library is already available.\n\nIn particular, we will be creating a tiny module implementing a\ndynamically-sized binary buffer that is:\n\n* safe, and should never crash the BEAM, and\n* fast!\n\n## Prerequisites\n\nTo get started, please follow the installation guide from [Getting Started at\nRust-lang.org](https://www.rust-lang.org/learn/get-started). It should take a\ncouple of minutes, and the tooling is entirely self-contained. If you are on a\nUNIX-like, you'll end up running this installer:\n\n```sh\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n```\n\nYou will only be using `rustup` to manage the Rust toolchain, as the rest will\nbe handled via `mix`. Make sure you also have `mix`.\n\nWhile knowledge about systems programming and type-systems is useful, we will be\nlimiting the actual Rust code to the smallest possible examples.\n\n\n## Additional documentation\n\nIf you're interested in learning more about Rust, the [The Rust Programming\nLanguage book](https://doc.rust-lang.org/stable/book/) is a fantastic\nreference.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleostera%2Frust-nif-dojo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleostera%2Frust-nif-dojo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleostera%2Frust-nif-dojo/lists"}