ExLisp.Package (exlisp v0.1.2)

Copy Markdown

ANSI Common Lisp Package System for ExLisp. Supports:

  • defpackage, in-package, find-package, make-package, delete-package, rename-package
  • export, unexport, import, shadow, shadowing-import, use-package, unuse-package
  • intern, find-symbol, unintern, symbol-package
  • package-name, package-nicknames, package-use-list, package-used-by-list, package-shadowing-symbols, list-all-packages
  • package-qualified symbols (pkg:sym, pkg::sym, :keyword)

Summary

Functions

current_package()

defpackage(name_desig, options \\ [])

delete_package(pkg_designator)

ensure_tables()

export(symbols, pkg_desig \\ nil)

find_package(pkg_designator)

find_package!(pkg_designator)

find_symbol(name_desig, pkg_desig \\ nil)

Finds a symbol in package without creating it. Returns [:_values_, [symbol, status]] or [:_values_, [nil, nil]].

import(symbols, pkg_desig \\ nil)

init_standard_packages()

intern(name_desig, pkg_desig \\ nil)

Finds or creates a symbol in the specified package. Returns [:_values_, [symbol, status]] where status is :internal, :external, :inherited, or nil.

list_all_packages()

make_package(name_designator, options \\ [])

package_name(pkg_designator)

package_nicknames(pkg_designator)

package_shadowing_symbols(pkg_designator)

package_use_list(pkg_designator)

package_used_by_list(pkg_designator)

packagep(pkg)

rename_package(pkg_designator, new_name_desig, new_nicknames_desig \\ [])

resolve_qualified_symbol(pkg_name_str, sym_name_str, internal_allowed? \\ false)

Resolves a package-qualified symbol like MY-PKG:FOO or MY-PKG::BAR. strict_external: true requires exported symbol if single colon.

set_current_package(pkg_designator)

shadow(symbols, pkg_desig \\ nil)

shadowing_import(symbols, pkg_desig \\ nil)

symbol_package(sym_desig)

unexport(symbols, pkg_desig \\ nil)

unintern(symbol_desig, pkg_desig \\ nil)

unuse_package(packages_to_unuse, pkg_desig \\ nil)

use_package(packages_to_use, pkg_desig \\ nil)