7:11:16galex-713can ECL produce native shared objects, with only native code, and no type-check nor runtime polymorphism?
7:12:07pjbYou can define callbacks in ECL FFI, so I would say yes. You would still have to link with libecl, either dynamically with libecl.so, or statically with libecl.a
7:12:49pjbAnd your API may need to specify intializations and termination so you can initialize and terminate the lisp environment if you want to hide that.
7:13:38pjbHowever, this no type-check nor runtime polymorphism would be only at the interface. The common lisp code you write would still perform run-time type checks and polymorphism. It's the nature of lisp.
8:51:10galex-713pjb: thank you for your answers :)
8:51:52galex-713(afaik there are optimization declarations to remove type checks and polymorphism from compiled native programs)
8:53:30pjbgalex-713: you wouldn't want to use Common Lisp to produce security bugs like in sudo?
8:57:34galex-713mmh, I wouldn’t use unsafe optimisations in a security program, ofc
8:57:50galex-713sudo could be slow as fuck, if that improves security, that’s for good
8:58:36galex-713but there are lot of convenience programs out there, which are otherwise written in C, which would be better optimized unsafely once carefully tested