libera/#ecl - IRC Chatlog
Search
10:34:51
selwynning
though i did some more research over the weekend and i am starting to doubt whether what i want is possible
10:36:51
selwynning
otoh i got enough experience with emscripten that i am considering using ecl in the browser to make a browser based game (a separate hobby project)
10:37:10
jackdaniel
this is the most important piece I have regarding wasi and emscripten comparison: https://itnext.io/final-report-webassembly-wasi-support-in-ruby-4aface7d90c9
10:38:30
jackdaniel
and here are other links I've found insightful and/or useful while working on the port: http://turtleware.eu/static/paste/other-links.org
10:42:52
jackdaniel
(and since I don't know what you want I can't help with an answer whether it is possible :)
13:16:30
selwynning
i need a common lisp implementation in wasm that doesn't make wasi system calls or import functionality from e.g. an emscripten js runtime
13:17:34
selwynning
from my research, i believe that a wasm vfs, libc and libffi are probably enough
13:19:16
selwynning
i need to be able to invoke common lisp code using exported functions in the wasm module, that's what the ffi would be used for
13:23:01
selwynning
i plan to see if this ruby implementation will work on my runtime, if it does i will think about adapting their approach to ecl
13:24:41
jackdaniel
I have some work started (but not really advanced) with making ucl - basically a standalone ecl_min version that is useful on its own and that may be build up to full ecl
13:24:56
jackdaniel
I'm only saying that to hint that this is one of directions I'd want to push ecl to
13:27:15
jackdaniel
i.e I had to lower signaling abstraction so there was no need to incorporate full clos to handle errors and restarts
16:07:03
jackdaniel
and it worked at some point although it was before I took over (that will be a very useful contribution towards "minimal lisp" builds)
16:09:33
jackdaniel
I think that the biggest effort though (to make ecl run on wasi) would be simulating the stack with ascyntify
16:10:15
jackdaniel
I've planned to first port to emscripten and then start working on wasi (I think that I've mentioned that earlier)
16:10:41
jackdaniel
it is not silly; my plan was roughly to follow what ruby does and resurrect homegrown gc
16:11:08
jackdaniel
but using whatever ruby has doesn't sound silly (I just don't know how much work that would require)
16:36:39
jackdaniel
I don't really know because I have not started working on wasi. if I were to take a jab at it I'd start with adding a new target to configure (wasm64-none-wasi or whatever it is called for llvm)
16:37:06
jackdaniel
and try to cross compile ecl with it; there probably will be some issues with compilation like missing symbols or missing ifdef
16:37:46
jackdaniel
and I'd iterate from that until I hit the issue with building the callstack, then I'd take a closer look at that ruby article and think hard how to make that happen for ecl
16:47:53
jackdaniel
I'd start from wasi too, contribute it and then move forward to the wastelands ;)
17:29:49
jackdaniel
heh :) not one of my primary goals, but having ecl run without the operating system would be a cool selling point
17:32:55
jackdaniel
but that's not even properly put in motion, and that will definetely miss many features of cl
17:37:36
selwynning
a bare metal common lisp implementation seems like a useful thing to have anyway
17:38:35
jackdaniel
so the main motivation behind ucl is better dependency structure in the project and smaller web builds