/CLCXX-ECL

ECL lisp interface for C++

Primary LanguageC++OtherNOASSERTION

CLCXX

It is forked from julia language libcxxwrap This is the C++ library to be used with ecl such as boost.python

It uses dev-branch of ECL

done

  • C++ function, lambda and c functions auto type conversion.

TODO:

  • support classes
  • replace ECL with SBCL

compilation

    mkdir build
    cd build
    cmake ..
    make

then open ecl

(defmacro load-foriegn-package (f_name lib_path)
           "Load foreign package"
           (let ((c-name (coerce "clcxx_init" 'base-string))
                 (f_name (coerce f_name 'base-string)))
             `(progn
               (ffi:def-function (,c-name clcxx) ((name :object) (path :object))
                  :module ,lib_path)
               (clcxx ,f_name ,lib_path))))

the try functions defined in src/test.cpp

    (load-foriegn-package "SHIT" #p"path/to/build/lib/libclcxx.so")
    (shit::hi "CLCXX")
    (shit::greet)