Skip to content

cwchentw/cl-portable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cl-portable

License: MIT

Write portable Common Lisp code.

System Requirements

One of the following Common Lisp implementations:

Among those implementations, SBCL is recommended for Lisp newcomers.

Install

$ cd path/to/quicklisp/local-projects
$ git clone https://github.com/cwchentw/cl-portable.git

Use the Library

Compiler

  • compile-program: compile a Common Lisp script in a portable way (ex)

Console

  • argument-vector: unprocessed command-line argument(s) as a list (Windows, Unix)
  • argument-script: command-line argument(s) as a list in scripting mode (Windows, Unix)
  • pwd: present working directory (ex)

System

  • env: to get an environment variable (ex)
  • platform: to detect the underlying OS in a portable way
    • :windows: a Windows family OS
    • :macos: macOS
    • :linux: GNU/Linux
    • :unix: a Unix other than macOS and GUN/Linux
  • quit-with-status: to quit in a portable way, returning an exit status code (ex)

Use the Wrappers

SBCL

  • Install SBCL
  • Copy the wrapper to a valid path of PATH (Windows, Unix)

Clozure CL

  • Download a binary tarball of Clozure CL
  • Add the root path of ccl to PATH
  • Copy the wrapper to the root path of ccl (Windows, Unix)

CLISP

For Windows users:

  • Download a binary tarball of CLISP
  • Add the root path of clisp to PATH
  • Copy the wrapper to the root path of clisp

For Unix users:

  • Install CLISP
  • Copy the wrapper to a valid path of PATH

ECL

For Windows users:

  • Download a source tarball of ECL
  • Compile ECL with MSVC
  • Add path\to\ecl\msvc to PATH
  • Copy the wrapper to path\to\ecl\msvc

For Unix users:

ABCL

  • Install OpenJDK 17
  • Download a binary tarball of ABCL
  • Add the root path of abcl to PATH
  • Copy the wrapper to the root path of abcl (Windows, Unix)

Copyright

Copyright (c) 2022 Michelle Chen. Licensed under MIT