Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/svenvc/s-utils
A collection of Common Lisp utilities
https://github.com/svenvc/s-utils
Last synced: 9 days ago
JSON representation
A collection of Common Lisp utilities
- Host: GitHub
- URL: https://github.com/svenvc/s-utils
- Owner: svenvc
- Created: 2012-11-12T18:25:10.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2020-04-21T18:27:25.000Z (over 4 years ago)
- Last Synced: 2024-11-11T08:40:56.242Z (2 months ago)
- Language: Common Lisp
- Size: 10.7 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# S-UTILS
# A collection of Common Lisp utilities
`S-UTILS` is collection of Common Lisp utilities. This simple package is used as a building block in a number of other open source projects.
### Contents
- [Features](#features)
- [Status](#status)
- [News](#news)
- [Platforms](#platforms)
- [Downloading](#downloading)
- [Installation](#installation)
- [Usage](#usage)
- [API Reference](#api)
- [Mailinglist](#mailinglist)
- [Changelog](#changelog)
- [TODO](#tod)
- [FAQ](#faq)
- [Bugs](#bugs)
- [Authors](#authors)
- [Maintainers](#maintainers)
- [License](#license)
- [History](#history)
- [References](#references)### Features
`S-UTILS` helps in:
- manipulating directory pathnames
- copying streams
- doing some elementary parsing (tokenising)
- flexibly formatting dates, times and durations
- parsing integers more safely### Status
`S-UTILS` is considered stable code.
### News
*November 2005* - Created as a separate project.
### Platforms
`S-UTILS` is written in ANSI standard Common Lisp and should be portable
across any CL implementation.### Installation
The `S-UTILS` package is loaded using [ASDF](http://www.cliki.net/asdf).
There is an excellent [tutorial on
ASDF](http://constantly.at/lisp/asdf/) to get you started.CL-USER 1 > (asdf:oos 'asdf:load-op :s-utils)
Example of setting up and using ASDF to compile and load the package
### Usage
Usage of the functionality in `S-UTILS` is straightforward, as the
following examples demonstrate:CL-USER 1 > (in-package :s-utils)
#S-UTILS 2 > (defvar *timestamp* (get-universal-time))
*TIMESTAMP*S-UTILS 3 > (format-universal-time *timestamp*)
"Sat Nov 19 2005 18:08:51"S-UTILS 4 > (format-iso-gmt-time *timestamp*)
"20051119T170851"S-UTILS 5 > (format-universal-time *timestamp* :format +us-date-format+ :stream t)
Sat Nov 19 2005
NILS-UTILS 6 > (format-universal-time *timestamp* :format +us-time-format+ :timezone 0)
"Sat Nov 19 2005 17:08:51"S-UTILS 7 > (format-duration (- (get-universal-time) *timestamp*))
"5 minutes 18 seconds"S-UTILS 8 > (tokens *)
("5" "minutes" "18" "seconds")S-UTILS 9 > (tokens "1-2-3-4-5" :separators '(#\-))
("1" "2" "3" "4" "5")S-UTILS 10 > (parse-integer-safely "")
NILS-UTILS 11 > (parse-integer-safely "x" :default -1)
-1S-UTILS 12 > (parse-integer-safely "111" :default 123 :start 2)
1S-UTILS 13 > (parse-integer-safely "111" :default 123 :start 3)
123S-UTILS 14 > (parse-integer-safely "" :default -1)
-1S-UTILS 15 > (parse-integer-safely nil :default -1)
-1S-UTILS 16 > (parse-integer-safely "FF" :radix 16)
255S-UTILS 17 > (with-input-from-string (in "abcdefghi")
(copy-stream in *standard-output*)
(terpri))
abcdefghi
NILS-UTILS 18 > (make-subdirectory #p"/tmp/" '("foo" "bar"))
#P"/tmp/foo/bar/"S-UTILS 19 > (pathname-parent #p"/tmp/")
#P"/"S-UTILS 20 > (pathname-parent (make-subdirectory #p"/tmp/" "foo"))
#P"/tmp/"### API Reference
There is automatically generated documentation
available for the `S-UTILS` package in `doc/API.html`.### Mailinglist
There is no mailing list for this project.
### Changelog
Release Notes:
- release 1: moved `S-UTILS` into a seperate project under a new
structure### TODO
There is currently no TODO list.
### FAQ
Nothing appropriate.
### Bugs
There are no known bugs.
### Authors
`S-UTILS` was written by Sven Van Caekenberghe.
### Maintainers
`S-UTILS` is being maintained by Sven Van Caekenberghe.
### License
You are granted the rights to distribute and use this software as
governed by the terms of the Lisp Lesser General Public License
([http://opensource.franz.com/preamble.html](http://opensource.franz.com/preamble.html)),
also known as the LLGPL.### History
This is a new project.
### References
Thera are no references.
Copyright © 2004-2005 Sven Van Caekenberghe, Beta Nine BVBA. All Right
Reserved.