The millet Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The millet Reference Manual

This is the millet Reference Manual, version 0.0.13, generated automatically by Declt version 3.0 "Montgomery Scott" on Fri Jun 26 11:45:40 2020 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

MILLET 0.0.12

Current lisp world

Alexandria covers many utilities.

Issues

Alexandria says never use implementation dependent features. But some utilities need to depend on it.

Proposal

Millet covers it.

Usage

(function-name #'car) => CAR
(lambda-list #'car) => (#:ARG0)
(global-symbolp 'pi) => T

From developer

Product's goal

?

License

MIT

Tested with


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 millet

Author

Shinichi Sato

License

MIT

Description

Wrapper for implementation dependent tiny utilities.

Long Description

# MILLET 0.0.12
## Current lisp world
Alexandria covers many utilities.
## Issues
Alexandria says never use implementation dependent features. But some utilities need to depend on it.
## Proposal
Millet covers it.

## Usage

“‘lisp
(function-name #’car) => CAR
(lambda-list #’car) => (#:ARG0)
(global-symbolp ’pi) => T
“‘

## From developer
### Product’s goal
?
### License
MIT

### Tested with
* SBCL/2.0.2
* CCL/1.12
* ECL/20.4.24
* CLISP/2.49

Version

0.0.13

Source

millet.asd (file)

Component

millet.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 millet.asd

Location

millet.asd

Systems

millet (system)


Previous: , Up: Lisp files   [Contents][Index]

3.1.2 millet/millet.lisp

Parent

millet (system)

Location

millet.lisp

Packages

millet

Exported Definitions
Internal Definitions

not-support-warning (function)


Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 millet

Source

millet.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

not-support-warning (function)


Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Functions

Function: function-name FUNCTION

# FUNCTION-NAME

## Description:
accept function, return its name.

“‘lisp
#?(function-name #’car)
=> CAR
“‘

### syntax
(FUNCTION-NAME function)
=> result

## Arguments and Values:
function := function, otherwise error.

“‘lisp
#?(function-name ’car)
:signals error
“‘
result := symbol

## Affected By:
none

## Side-Effects:
none

## Notes:
When lambda function comes, nil is returned.

“‘lisp
#?(function-name #’(lambda () (print :hoge)))
=> NIL
“‘
When local function comes, unspecified.

“‘lisp
#?(function-name (flet ((test () :hoge)) #’test))
=> unspecified
“‘

“‘lisp
#?(function-name (labels ((test () :hoge)) #’test))
=> unspecified
“‘
ECL needs above spec.
Without compile, it works.
But with compile.
not works.
ECL specific two tests above are as observer.
When failed, MILLET needs to change spec or impl.
# Comment out since above ECL specific needs.
; CCL specific issue. (macro) returns (:INTERNAL HOGE MACRO). #?(defmacro macro ()
(flet ((hoge ()))
‘’,(function-name #’hoge)))
=> MACRO
,:before (fmakunbound ’macro)

#?(macro)
=> HOGE

SBCL specific issue. FORMATTER returns e.g. "fmt$~A". When FORMATTER comes, return NIL.

“‘lisp
#?(function-name (formatter "~A"))
=> NIL
“‘
When setf function comes, (SETF NAME) is returned.

“‘lisp
#?(defclass foo () ((bar :accessor foo-bar)))
:satisfies (lambda ($arg)
(& (typep $arg ’standard-class)
(eq ’foo (class-name $arg))))
, :before
“‘

“‘lisp
#?(function-name (fdefinition ’(setf foo-bar)))
=> (SETF FOO-BAR)
, :test
“‘

## Exceptional-Situations:

Package

millet

Source

millet.lisp (file)

Function: global-symbol-p SYMBOL

# GLOBAL-SYMBOL-P

## Description:
tests arg is global-symbol or not.

“‘lisp
#?(global-symbol-p ’*package*)
=> T
“‘

“‘lisp
#?(let (local)
(declare (ignore local)) (global-symbol-p ’local))
=> NIL
“‘

“‘lisp
#?(global-symbol-p ’car)
=> NIL
“‘

“‘lisp
#?(global-symbol-p :key)
=> T
“‘

### syntax
(GLOBAL-SYMBOL-P symbol)
=> result

## Arguments and Values:
symbol := symbol which is global symbol. result := boolean

## Affected By:
none

## Side-Effects:
none

## Notes:

## Exceptional-Situations:

Package

millet

Source

millet.lisp (file)

Function: lambda-list ARG

# LAMBDA-LIST

## Description:
accept function, return its lambda-list

“‘lisp
#?(lambda-list #’lambda-list)
=> (MILLET::ARG)
, :test
“‘

### syntax
(LAMBDA-LIST arg)
=> result

## Arguments and Values:
arg := function designator, otherwise error

“‘lisp
#?(lambda-list :not-function-designator) :signals error
“‘
result := lambda-list

## Affected By:
none

## Side-Effects:
none

## Notes:

## Exceptional-Situations:

Package

millet

Source

millet.lisp (file)

Function: special-symbol-p SYMBOL

# SPECIAL-SYMBOL-P

## Description:
Tests arg is special symbol or not.

### syntax
(SPECIAL-SYMBOL-P symbol)
=> result

“‘lisp
#?(special-symbol-p ’*package*) => T
“‘

“‘lisp
#?(special-symbol-p ’car)
=> NIL
“‘

“‘lisp
#?(special-symbol-p :keyword) => NIL
“‘

## Arguments and Values:
symbol := symbol, otherwise error.

“‘lisp
#?(special-symbol-p "not symbol") :signals error
“‘
result := boolean

## Affected By:
none

## Side-Effects:
none

## Notes:

## Exceptional-Situations:

Package

millet

Source

millet.lisp (file)

Function: type-expand TYPE

# TYPE-EXPAND

## Description:
expand user defined type specifier.

“‘lisp
#?(deftype function-name ()
’(or function symbol))
=> FUNCTION-NAME
“‘

“‘lisp
#?(type-expand ’function-name)
=> (OR FUNCTION SYMBOL)
, :test
“‘

### syntax
(TYPE-EXPAND type)
=> result

## Arguments and Values:
type := type-specifier, otherwise return arg itself.

“‘lisp
#?(type-expand "not type specifier")
=> "not type specifier"
, :test
“‘
result := 2 values
1. type specifier which may expanded.
2. boolean which represents type specifier is expanded or not.

“‘lisp
#?(type-expand ’function-name)
:values ((OR FUNCTION SYMBOL)
T)
“‘

“‘lisp
#?(type-expand ’symbol)
:values (SYMBOL
NIL)
“‘

## Affected By:
none

## Side-Effects:
none

## Notes:

## Exceptional-Situations:

Package

millet

Source

millet.lisp (file)

Function: type-specifier-p TYPE

# TYPE-SPECIFIER-P

## Description:
Tests arg is type-specifier or not.

“‘lisp
#?(type-specifier-p ’function-name)
=> T
“‘

“‘lisp
#?(type-specifier-p :not-type-specifier)
=> NIL
“‘

“‘lisp
#?(type-specifier-p ’(unsigned-byte 8))
=> T
“‘

“‘lisp
#?(type-specifier-p ’(mod 4))
=> T
“‘

“‘lisp
#?(type-specifier-p ’(not symbol))
=> T
“‘

“‘lisp
#?(type-specifier-p ’(integer 4 9))
=> T
“‘

“‘lisp
#?(type-specifier-p ’(or symbol string))
=> T
“‘

“‘lisp
#?(type-specifier-p ’(eql 4))
=> T
“‘

“‘lisp
#?(type-specifier-p ’(satisfies listp))
=> T
“‘

“‘lisp
#?(type-specifier-p ’(and list (not null))) => T
“‘

#### Added due to CCL specific issue.

“‘lisp
#?(type-specifier-p ’(keyword string))
=> NIL
“‘

#### When CCL is Fixed, code should be modified.

### syntax
(TYPE-SPECIFIER-P type)
=> result

## Arguments and Values:
type := any lisp object.
result := boolean

## Affected By:
none

## Side-Effects:
none

## Notes:

## Exceptional-Situations:

Package

millet

Source

millet.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Functions

Function: not-support-warning API
Package

millet

Source

millet.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   M  
Index Entry  Section

F
File, Lisp, millet.asd: The millet․asd file
File, Lisp, millet/millet.lisp: The millet/millet․lisp file

L
Lisp File, millet.asd: The millet․asd file
Lisp File, millet/millet.lisp: The millet/millet․lisp file

M
millet.asd: The millet․asd file
millet/millet.lisp: The millet/millet․lisp file

Jump to:   F   L   M  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   F   G   L   N   S   T  
Index Entry  Section

F
Function, function-name: Exported functions
Function, global-symbol-p: Exported functions
Function, lambda-list: Exported functions
Function, not-support-warning: Internal functions
Function, special-symbol-p: Exported functions
Function, type-expand: Exported functions
Function, type-specifier-p: Exported functions
function-name: Exported functions

G
global-symbol-p: Exported functions

L
lambda-list: Exported functions

N
not-support-warning: Internal functions

S
special-symbol-p: Exported functions

T
type-expand: Exported functions
type-specifier-p: Exported functions

Jump to:   F   G   L   N   S   T  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables


Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   M   P   S  
Index Entry  Section

M
millet: The millet system
millet: The millet package

P
Package, millet: The millet package

S
System, millet: The millet system

Jump to:   M   P   S