4 ms·
This is fantastic. AFAIK there are no Lisps our there that are designed with games in mind which is a huge shame because I often think how perfect it'd be for g
by acron0 10y ago
This is fantastic. AFAIK there are no Lisps our there that are designed with games in mind which is a huge shame because I often think how perfect it'd be for game dev (Arcadia and Nightmod spring to mind but imo they're shoehorns. Good ones, but still).
- larsbrinkhoff 10y agoThere's (or was) Game Oriented Assembly Lisp: https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp
- nickpsecurity 10y agoPreScheme was designed to replace C in general. It's just been sitting there with no love or further development. https://en.wikipedia.org/wiki/PreScheme https://en.wikipedia.org/wiki/PreScheme I imagine some techniques behind Chicken Scheme in area of optimization might help it too.
- rurban 10y agoThere are a couple of high-performance, low-latency lisps, either with a low-latency GC or refcounted or compiling to C as Carp does. ECL (also typed), Vicare, Larceny, Ypsilon, the new guile, Gambit-C, Chicken, Chez, Bigloo, stalin, Corman CL, or fast typed CL: sbcl, franz, lispworks and few more. Or the ones compiling to LLVM or JVM or .NET. Most prominent Clojure with a very unlispy syntax.
- rurban 10y agoAnd note that you simply get a low-latency GC with libgc (Boehm-Weiser) by using the incremental GC with GC_enable_incremental() and SMP with parallel marking phases -DPARALLEL_MARK. http://www.hboehm.info/gc/scale.html http://www.hboehm.info/gc/scale.html This is no voodoo nobody ever managed to do, even if most blog posts for popular not-invented-here languages state the opposite. Of course libgc is pretty simple and slow, good for foreign code (i.e. ffi's needed in games), slower than Cheney-2 finger copying allocators which I got down to 10ms, compared to 100-300ms for mark-sweep. But copying collectors need 2x memory, so not usable for small devices such as phones. And a bit complicated for foreign memory, which prefers conservative mark & sweep.