This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.
If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.
This page is maintained in the package's github repository.
This implements miscellaneous functions and macros that make Chicken more compatible with Scheme->C. Some of this comes from from Jeff Siskind's QobiScheme. Much of this functionality is redundant with that offered by other Chicken eggs but is offered with a Scheme->C-compatible API and naming scheme.
- lines stringprocedure
Combine a list of lines into a string separated by newlines.
- unlines lprocedure
Split a string into a list of lines.
- words stringprocedure
Split a string into words.
- unwords lprocedure
Combine a list of words into a string separated by spaces.
- read-object-from-file pathnameprocedure
- write-object-to-file object pathnameprocedure
Read/write a single scheme object to/from a file. This is not the same as chicken's read-file.
- strip-directory pathnameprocedure
- has-extension? pathnameprocedure
- extension pathnameprocedure
- strip-extension pathnameprocedure
- default-extension pathname extensionprocedure
- replace-extension pathname extensionprocedure
- has-directory? pathnameprocedure
- get-directory pathnameprocedure
- c-docolordither pic24 w h rdisp gdisp bdisp idisp maplenprocedure
- ylookupstring event #!rest optprocedure
- xallocnamedcolor3 dpy cmap colornameprocedure
- xquerypointer2 dpy wprocedure
- tmp pathnameprocedure
- with-temporary-file prefix fprocedure
Call f with a unique filename that will be removed once f returns. The extension of prefix is honored, but not its base filename.
- bit-not nprocedure
- bit-and nprocedure
- bit-or nprocedure
- bit-lsh n offsetprocedure
- bit-rsh n offsetprocedure
- c-byte-ref ptr offprocedure
- c-byte-set! ptr off valprocedure
- c-double-ref ptr offprocedure
- c-double-set! ptr off valprocedure
- c-float-ref ptr offprocedure
- c-float-set! ptr off valprocedure
- c-int-ref ptr offprocedure
- c-int-set! ptr off valprocedure
- c-longint-ref ptr offprocedure
- c-longint-set! ptr off valprocedure
- c-longunsigned-ref ptr offprocedure
- c-longunsigned-set! ptr off valprocedure
- c-s2cuint-ref ptr offprocedure
- c-s2cuint-set! ptr off valprocedure
- c-shortint-ref ptr offprocedure
- c-shortint-set! ptr off valprocedure
- c-shortunsigned-ref ptr offprocedure
- c-shortunsigned-set! ptr off valprocedure
- c-unsigned-ref ptr offprocedure
- c-unsigned-set! ptr off valprocedure
- pointer-pointer-ref ptr-to-ptrprocedure
- pointer-pointer-set! ptr-to-ptr valprocedure
- c-string->string bufprocedure
- c-null-separated-strings->strings c-stringsprocedure
Access buffers containg various standard types. s2cuint is the same size as a pointer.
- c-array->list array get-element element-size nr-elementsprocedure
- c-array->vector array get-element element-size nr-elementsprocedure
- c-exact-array->list array element-size nr-elements signed?procedure
- c-exact-array->vector array element-size nr-elements signed?procedure
- c-inexact-array->list array element-size nr-elements signed?procedure
- c-inexact-array->vector array element-size nr-elements signed?procedure
- list->c-array array l set-element element-sizeprocedure
- list->c-exact-array array l element-size signed?procedure
- list->c-inexact-array array l element-size signed?procedure
- vector->c-array array v set-element element-sizeprocedure
- vector->c-exact-array array v element-size signed?procedure
- vector->c-inexact-array array v element-size signed?procedure
Various functions to convert to and from C arrays.
- c-sized-int-ptr-ref size signed?procedure
- c-sized-int-ptr-set! size signed?procedure
- c-sized-inexact-ptr-ref size signed?procedure
- c-sized-inexact-ptr-set! size signed?procedure
Return functions which access arrays with elements of given sizes.
- with-alloc x fprocedure
- with-buffer-stream f buffer size modeprocedure
- with-c-string str fprocedure
- with-file-stream f filename modeprocedure
- with-array elements element-size fprocedure
- with-c-pointers f vprocedure
- with-vector->c-array f set-element element-size vprocedure
Perform many of the operations above automatically cleaning up once the procedure returns.
- exact-round xprocedure
- exact-ceiling xprocedure
- exact-floor xprocedure
Round/floor/ceiling and inexact->exact.
- unsigned-list->unsigneda lprocedure
- panic format-string #!rest &restprocedure
- xor a bprocedure
- read-from-string stringprocedure
(read) from a string.
with-temporary-file is wrong! It ignores the prefix and more importantly its extension and will lead to breakage.
Copyright 1993-1995 University of Toronto. All rights reserved. Copyright 1996 Technion. All rights reserved. Copyright 1996 and 1997 University of Vermont. All rights reserved. Copyright 1997-2001 NEC Research Institute, Inc. All rights reserved. Copyright 2002-2012 Purdue University. All rights reserved.
Contact Andrei Barbu, email@example.com.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses.