Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Tree: 427cfd9d9e
Fetching contributors…

Cannot retrieve contributors at this time

45 lines (35 sloc) 1.581 kB
Vacietis is a C to Common Lisp compiler inspired by the Zeta-C
compiler for Lisp Machines
( and TCC
The goal of Vacietis is to enable loading and running C code in a
Common Lisp application. To this effect Vacietis uses the host CL
calling convention for C functions and the CL package system for
function and variable names, in essence treating the host CL runtime
as a virtual machine.
Vacietis uses the memory model of Common Lisp as is, so sizeof of the
primitive data types (char, int, float etc.) is all 1. This shouldn't
be a problem for most C code, but some C programs claim to be portable
while making assumptions that things can be cast into an array of
chars to be manipulated. These programs won't work under Vacietis.
Source code is available at
Portions of the Vacietis libc may be derived from Zeta-C.
Vacietis is authored by Vladimir Sedach <>
There is a Vacietis mailing list on the web:
Vacietis is licensed under the LLGPL (see the file LICENSE included
with the distribution for details).
* struct accessors
* enums
* function pointers
* libc stdio: printf/scanf, binary streams, error codes, fread/fwrite
* libc stddef: offsetof
* libc signal
* libc stdlib: div/ldiv, srand, atof, strtod, strtol, exit cleanup
* libc string
* libc time
* libc setjmp
Things that probably won't be supported:
* trying to cast arrays of chars to other types (mmap)
* any kind of GCC extension
Jump to Line
Something went wrong with that request. Please try again.