0:07:41void_pointeremaczen: if you want to see how cffi-sys uses the features of whatever implementation it is on (out of a particular list), take a look at the different implementation specific files in https://github.com/cffi/cffi/tree/master/src
0:08:25luisemaczen: the 13 CFFI-SYS backends combined are 5k lines out of 20k lines in CFFI total
0:08:35luisso I wouldn't say most of it is portability :)
0:08:45void_pointeremaczen: for example, if you look in the SBCL one (https://github.com/cffi/cffi/blob/master/src/cffi-sbcl.lisp), you will see heavy use of the sb-sys package that is builtin to SBCL
0:09:14emaczenvoid_pointer: why wouldn't they use sb-alien?
0:09:49void_pointeremaczen: there are probably some uses of it there too. Just, sb-sys was what stood out to me just a minute ago.
0:09:59luisemaczen: because CFFI-SYS is quite low-level
0:11:46void_pointermost of the time one doesn't need to access it directly, and just use cffi which uses it in the background
1:32:24emaczenHow do cffi:defcvar cffi:defcfun and cffi:defcstruct work and how does C expose variables, functions and structs so that we can interface?
1:33:39Bikein the shared library. usually the lisp uses something like dlsym
1:43:22emaczenWould the information I am looking for be in the cffi-sys interface specification?
1:50:19luisThat's a bit of a broad question. Can you be more specific?
1:51:10jcowanWell, the spec is not a wretched hive of scum and villainy, if that's what you mean.
2:04:02Bikei don't know what information you're looking for
2:20:41p_lemaczen: usually whatever the operating environment has for dynamic symbol resolution, which gives back pointer, which is wrapper appropriately for the Lisp code
2:43:31emaczenI wish to know how defcvar defcstruct and defcfun work
2:44:06emaczenAnd what system facilities on the C side let them work