Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(1 edit)

In some of my deployment contexts I have found ECL (ie just a C lib) more often supported than cffi, and I am somewhat used to C (it's a domain specific language for working with C operating systems in lisp, right).

I guess the c2ffi autogenerated stuff is nice and complete, on the other hand I think a la carte is also nice (alright, maybe shouldn't call writing C nice...).

Edit: For example if I were to want to conditionally pledge my game on openbsd in ecl :

#+(and openbsd ecl)
(progn
 (ffi:clines "#include <unistd.h>")
 (let ((ret 0))
  (declare (:int ret))
  (ffi:c-progn (ret)
   "#0 = pledge(\"stdio rpath\", NULL);"
   (unless (zerop ret) (error "pledge"))))
(mapc 'print (directory #p"./*.*"))
(uiop:quit)

it's not clear to me that I would have gained a lot by dragging in https://github.com/cffi-posix/cffi-pledge . Though this example shows how gnarly sffi is too I guess !

(+1)

Ah, BSD pledge! This is so elegant, I never heard of it before. Once I used FreeBSD as the OS of my PC but uninstalled due to some lack of WiFi drivers reason, but I still remember the clean and tidy FreeBSD Handbook, quite nice.

"a la carte" is indeed nice, you could deliver your work in a thin and slim way, as for CFFI, I have to pack all those .so/.dylib/.dll with my game, which is kind of over "table d'hôte".

It's in the openBSD libc particularly but yes, it's very nice. Nobody actually wants to try using Security Enhanced Linux but every openbsd dev uses this (and then you describe your package as being pledged and unveiled). Now, can I actually add this to my game jam game release ;p