Scheme 48 Manual | Contents | Previous Chapter: Mixing Scheme 48 and C | Next Chapter: ASCII character encoding
Previous: Unsafe functions and macros | Next: Process primitives

Access to POSIX

This chapter describes Scheme 48's interface to the POSIX C calls [1]. Scheme versions of most of the functions in POSIX are provided. Both the interface and implementation are new and are likely to change in future releases. Section * lists which Scheme functions call which C functions.

Scheme 48's POSIX interface will likely change significantly in the future. The implementation is new and may have significant bugs.

The POSIX bindings are available in several structures:

posix-processes fork, exec, and friends
posix-process-data information about processes
posix-files files and directories
posix-i/o operations on ports
posix-time time functions
posix-users users and groups
posix-regexps regular expression matching
posix all of the above

Scheme 48's POSIX interface differs from Scsh's [10][11] in several ways. The interface here lacks Scsh's high-level constructs and utilities, such as the process notation, awk procedure, and parsing utilities. Scheme 48 uses distinct types for some values that Scsh leaves as symbols or unboxed integers; these include file types, file modes, and user and group ids. Many of the names and other interface details are different, as well.

  • Process primitives
  • Signals
  • Process environment
  • Users and groups
  • OS and machine identification
  • Files and directories
  • Time
  • I/O
  • Regular expressions
  • C to Scheme correspondence
  • Previous: Unsafe functions and macros | Next: Process primitives