Initial commit

Setup a nix flake for an ocaml setup with mruby dependency
This commit is contained in:
2026-07-25 22:00:25 +01:00
commit 4cbacf7172
12 changed files with 211 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
(executable
(name main)
(libraries ctypes-foreign)
(flags :standard
-cclib -Wl,--export-dynamic
-cclib -L%{env:MRUBY_LIB=../libs/mruby/build/host/lib}
-cclib -Wl,--whole-archive
-cclib -lmruby
-cclib -Wl,--no-whole-archive))
+20
View File
@@ -0,0 +1,20 @@
open Ctypes
open Foreign
type mrb = unit ptr
let mrb : mrb typ = ptr void
let mrb_open = foreign "mrb_open" (void @-> returning mrb)
let mrb_close = foreign "mrb_close" (mrb @-> returning void)
let mrb_load_string =
foreign "mrb_load_string" (mrb @-> string @-> returning void)
let () =
let mrb_instance = mrb_open () in
print_endline "Executing Ruby code from OCaml:";
let _ = mrb_load_string mrb_instance "puts 'hello1234'.match?(/hello\\d+/)" in
mrb_close mrb_instance;
print_endline "mruby instance closed successfully."