Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
asdf
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
3
Merge Requests
3
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
asdf
asdf
Commits
b5141a39
Commit
b5141a39
authored
May 06, 2015
by
Francois-Rene Rideau
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Still uiop/README.md: can't mix code and url tags.
parent
98567572
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
15 deletions
+15
-15
README.md
uiop/README.md
+15
-15
No files found.
uiop/README.md
View file @
b5141a39
...
@@ -7,7 +7,7 @@ between operating systems, and between what the standard provides and
...
@@ -7,7 +7,7 @@ between operating systems, and between what the standard provides and
what programmers actually need, to write portable Common Lisp programs.
what programmers actually need, to write portable Common Lisp programs.
It is organized by topic in many files, each of which defines its own package
It is organized by topic in many files, each of which defines its own package
according to its topic: e.g
`[pathname.lisp](pathname.lisp)`
according to its topic: e.g
[
pathname.lisp
](
pathname.lisp
)
will define package
`UIOP/PATHNAME`
and contain utilities related to
will define package
`UIOP/PATHNAME`
and contain utilities related to
the handling of pathname objects.
the handling of pathname objects.
All exported symbols are reexported in a convenience package
`UIOP`
,
All exported symbols are reexported in a convenience package
`UIOP`
,
...
@@ -16,26 +16,26 @@ We recommend package `UIOP` be used to access all the symbols.
...
@@ -16,26 +16,26 @@ We recommend package `UIOP` be used to access all the symbols.
The files that constitute UIOP are, in dependency loading order:
The files that constitute UIOP are, in dependency loading order:
*
`[package](package.lisp)`
: deals with packages and their symbols, most notably including
*
[
package
](
package.lisp
)
: deals with packages and their symbols, most notably including
`define-package`
, a variant of
`defpackage`
capable of hot-upgrade, or
`define-package`
, a variant of
`defpackage`
capable of hot-upgrade, or
`symbol-call`
and
`find-symbol*`
that are also useful for use in
`.asd`
files
`symbol-call`
and
`find-symbol*`
that are also useful for use in
`.asd`
files
before packages have been defined.
before packages have been defined.
*
`[common-lisp](common-lisp.lisp)`
: lets you paper over various sub-standard implementations.
*
[
common-lisp
](
common-lisp.lisp
)
: lets you paper over various sub-standard implementations.
Big offenders are Corman, GCL, Genera, MCL, all of them unmaintained.
Big offenders are Corman, GCL, Genera, MCL, all of them unmaintained.
Supported without serious issues are:
Supported without serious issues are:
ABCL, Allegro, CCL, CMUCL, CLASP, CLISP, ECL, LispWorks, MKCL, SBCL, SCL, XCL.
ABCL, Allegro, CCL, CMUCL, CLASP, CLISP, ECL, LispWorks, MKCL, SBCL, SCL, XCL.
*
`[utility](utility.lisp)`
: provides macros and functions that do not involve I/O; it handles
*
[
utility
](
utility.lisp
)
: provides macros and functions that do not involve I/O; it handles
control-flow, (p)lists, characters, strings, functions, classes, conditions,
control-flow, (p)lists, characters, strings, functions, classes, conditions,
"stamps" (real number or boolean for +/- infinity), versions, etc.
"stamps" (real number or boolean for +/- infinity), versions, etc.
It also sports
`uiop-debug`
, a useful tool to help you debug programs.
It also sports
`uiop-debug`
, a useful tool to help you debug programs.
*
`[os](os.lisp)`
: extracts information from your environment, including
*
[
os
](
os.lisp
)
: extracts information from your environment, including
an ABI identifier, features that distinguish Unix vs Windows,
an ABI identifier, features that distinguish Unix vs Windows,
`getenv`
,
`hostname`
,
`getcwd`
and
`chdir`
, etc.
`getenv`
,
`hostname`
,
`getcwd`
and
`chdir`
, etc.
*
`[pathname](pathname.lisp)`
: overcomes the gruesome non-portability trap that are CL pathnames
*
[
pathname
](
pathname.lisp
)
: overcomes the gruesome non-portability trap that are CL pathnames
(and their lovecraftian "logical" variant), offering a vast array of
(and their lovecraftian "logical" variant), offering a vast array of
functions and a sensible, usable abstraction to specify relative pathnames.
functions and a sensible, usable abstraction to specify relative pathnames.
It has a function
`merge-pathnames*`
to use instead of
`merge-pathnames`
, or
It has a function
`merge-pathnames*`
to use instead of
`merge-pathnames`
, or
...
@@ -43,38 +43,38 @@ The files that constitute UIOP are, in dependency loading order:
...
@@ -43,38 +43,38 @@ The files that constitute UIOP are, in dependency loading order:
of functions for dealing with pathnames being directory vs file,
of functions for dealing with pathnames being directory vs file,
physical vs logical, absolute vs relative, and more.
physical vs logical, absolute vs relative, and more.
*
`[filesystem](filesystem.lisp)`
: provides portable access to the filesystem, inspecting it,
*
[
filesystem
](
filesystem.lisp
)
: provides portable access to the filesystem, inspecting it,
only using truename when desired, using native OS namestrings,
only using truename when desired, using native OS namestrings,
atomic file renaming, creating or deleting directories, etc.
atomic file renaming, creating or deleting directories, etc.
*
`[stream](stream.lisp)`
: portably deals with
`*stderr*`
vs
`*error-output*`
, character encodings
*
[
stream
](
stream.lisp
)
: portably deals with
`*stderr*`
vs
`*error-output*`
, character encodings
(external formats), element types, safe
`read`
ing and
`write`
ing, opening files
(external formats), element types, safe
`read`
ing and
`write`
ing, opening files
or temporary files, providing
`format`
-like designators for streams,
or temporary files, providing
`format`
-like designators for streams,
flushing output buffers, consuming or copying streams, concatenating streams
flushing output buffers, consuming or copying streams, concatenating streams
or files, copying files, etc.
or files, copying files, etc.
*
`[image](image.lisp)`
: portably deals with images, dumping them, restoring from them,
*
[
image
](
image.lisp
)
: portably deals with images, dumping them, restoring from them,
registering hooks to run at suitable events in the image lifetime,
registering hooks to run at suitable events in the image lifetime,
printing backtraces, handling fatal conditions, using or avoiding debug modes,
printing backtraces, handling fatal conditions, using or avoiding debug modes,
accessing command line arguments or quitting the process.
accessing command line arguments or quitting the process.
*
`[run-program](program.lisp)`
: portably spawns external processes and captures their output.
*
[
run-program
](
program.lisp
)
: portably spawns external processes and captures their output.
Can also capture error-output, inject input, or let it all be interactive.
Can also capture error-output, inject input, or let it all be interactive.
*
`[lisp-build](lisp-build.lisp)`
: portably compiles Common Lisp code, handles compilation results,
*
[
lisp-build
](
lisp-build.lisp
)
: portably compiles Common Lisp code, handles compilation results,
muffles uninteresting conditions, saves and restores deferred warnings,
muffles uninteresting conditions, saves and restores deferred warnings,
runs hooks around compilation (to e.g. control optimizations or syntax),
runs hooks around compilation (to e.g. control optimizations or syntax),
identifies the pathname of the current file, combines FASLs, etc.
identifies the pathname of the current file, combines FASLs, etc.
*
`[configuration](configuration.lisp)`
: portably locate and parse configuration files,
*
[
configuration
](
configuration.lisp
)
: portably locate and parse configuration files,
using best practices to define and validate syntax, search standard paths,
using best practices to define and validate syntax, search standard paths,
let users specify pathnames or pathname patterns, etc.
let users specify pathnames or pathname patterns, etc.
*
`[backward-driver](backward-driver.lisp)`
: provides backward-compatibility
*
[
backward-driver
](
backward-driver.lisp
)
: provides backward-compatibility
with earlier incarnations of this library
with earlier incarnations of this library
(i.e. ASDF internals that have leaked, ASDF-UTILS, or older versions of UIOP).
(i.e. ASDF internals that have leaked, ASDF-UTILS, or older versions of UIOP).
*
`[driver](driver.lisp)`
: reexports all the above utilities in a single package
`UIOP`
.
*
[
driver
](
driver.lisp
)
: reexports all the above utilities in a single package
`UIOP`
.
Documentation
Documentation
...
@@ -93,7 +93,7 @@ At this time, the interface is not great: it isn't obvious at all that you can i
...
@@ -93,7 +93,7 @@ At this time, the interface is not great: it isn't obvious at all that you can i
use a scrollbar on the right of the top left side panel to navigate the many packages;
use a scrollbar on the right of the top left side panel to navigate the many packages;
once you click on the package you're interested in, you can see its defined symbols:
once you click on the package you're interested in, you can see its defined symbols:
*
[
http://bimib.disco.unimib.it/people/Marco.Antoniotti/Projects/CL/HELAMBDAP/tests/asdf-uiop/docs/html/dictionary/dictionary.html
](
http://bimib.disco.unimib.it/people/Marco.Antoniotti/Projects/CL/HELAMBDAP/tests/asdf-uiop/docs/html/dictionary/dictionary.html
)
*
[
http://bimib.disco.unimib.it/people/Marco.Antoniotti/Projects/CL/HELAMBDAP/tests/asdf-uiop/docs/html/dictionary/dictionary.html
](
http://bimib.disco.unimib.it/people/Marco.Antoniotti/Projects/CL/HELAMBDAP/tests/asdf-uiop/docs/html/dictionary/dictionary.html
)
Another automated documentation tool is quickdocs, but unhappily, at the time of this writing,
Another automated documentation tool is quickdocs, but unhappily, at the time of this writing,
it only extracts information from the first package
it only extracts information from the first package
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment