-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
It would be cool to compile lisp core file into .so #31
Comments
Guys, if you think it is a good idea, I'm ready to experiment with that. |
It's definitely of interest. We definitely don't want a separate core file (by default) in the long term. We'd need to ensure it works for Win, Mac, and Linux. |
This is a good idea. We've thought about the issue a bit, and I'll dump some thoughts here: It would be good to not force a specific distribution model for users. Rather, we should provide/document different ways to do distribution, which will fit downstream users use-cases as needed. (Each have their associated trade-offs). These different models include:
Currently, we don't know of any good way to provide the ability to do 1, i.e. embedding the core into a shared library file. It is easy for users to currently choose between distribution models 2. 3. and 4. by playing with the linker, potentially after building The main issue with embedding the core into a shared library is that even given an operating system or toolchain agnostic way to convert the core into a shared library (one portable method being by dumping the core into an array textually and compiling that into static data), we'd probably need to dump that back out into disk on-load somehow before initialization since The other thing is that currently, users explicitly initialize the Lisp runtime with a core file pathname, again because of the nature of |
I think that is a nice summary, @karlosz Regarding the specific case of (1), i.e. stuffing a core into a
At present, |
This will make it easier to distribute lisp libraries.
Here I found an article showing how to link a binary file into the library and access it's data:
https://balau82.wordpress.com/2012/02/19/linking-a-binary-blob-with-gcc/
The text was updated successfully, but these errors were encountered: