From 8a7379cf3bc0ebc27eb597c194c5101daba19d57 Mon Sep 17 00:00:00 2001 From: dff Date: Sun, 1 Feb 2026 15:15:53 +0000 Subject: [PATCH] Update README.md --- README.md | 46 ++++++---------------------------------------- 1 file changed, 6 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 8233782..fa3aa1d 100644 --- a/README.md +++ b/README.md @@ -1,42 +1,8 @@ -FFI -=== +**This is only a fork/migration of josh's elixir FFI. I updated the mixfile so it becomes usable even in recent version of elixir such as v1.19.0** +~ dff, 1st of February 2026 -*** Warning: Turns out this is a really bad idea, do not use! When the BEAM calls native functions it needs to know how many reductions should be used. Otherwise calling a long running function can break the scheduling completly, because with this approach a long running function is considered 1 reduction *** +Roadmap: +- actively maintain this project again +- renew the docs into a clean, polished, modernized standard -An easy way to call external functions (e.g. C functions) from [Elixir](https://github.com/elixir-lang/elixir). - -Inspired by [Ruby's FFI](https://github.com/ffi/ffi) - -** This is alpha software ** - -## Example Program - -```elixir -defmodule MyLib do - use FFI.Library, name: "libstdc++.so.6" - - attach_function :puts, [:string], :int -end - -MyLib.puts("Hello World from C stdlib") -``` - -## Installation - -The package can be installed by adding `ffi` to your list of dependencies in `mix.exs`: - -```elixir -def deps do - [{:ffi, git: "https://github.com/joshnuss/elixir-ffi.git"}] -end -``` - -## Running Examples - -```shell -mix run examples/basic.exs -``` - -## License - -MIT +The old & minimal README from [joshnuss]() can be found [here]().