libera/#ecl - IRC Chatlog
Search
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
19:28:11
selwynning
i thought that this might be a weekend hack thing and i could present it as a lightning els talk
19:35:59
jackdaniel
I've written a live compilation preview for ecl (so you see C code besides the lisp code), and instead of a weekend hack it ended with rewriting text gadgets in mcclim ;p
19:36:06
jackdaniel
turtleware.eu/static/paste/f2978a60eeba81025f27a1b0f778f6bcf119b2e2-gadgets.webm
19:37:29
jackdaniel
(the live preview to easier incorporate fast generic function dispatch into the compilation process, the thing is basically done for half a year I think and the finishing touches are not in place)
1:48:51
psilord
I was curious about how to expose C functions, through the C interface, into ECL's lisp environment.
1:49:43
psilord
Basically, if I have a 'cl_object foo(cl_object a, cl_object b)` C function, how to I insert it into ECL environment so on the lisp side I can call (foo 1 2) and get back whatever cl_object foo created and returned?
1:50:21
psilord
There is a chunk of code one can find on the internet using ecl_def_c_function, but it is undocumented and doesn't immediately look like it handles a return value.
1:51:17
psilord
ALso to be clear, this is in the C code itself, I'd like to expose the C function into ECL's lisp environment.
1:52:34
psilord
I don't prefer a solution where I have to write lisp FFI forms into a lisp file, lead it, and expose the C functions that way.