The unit-formula Reference Manual

Table of Contents

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

The unit-formula Reference Manual

This is the unit-formula Reference Manual, version 0, generated automatically by Declt version 2.3 "Robert April" on Tue Jan 09 15:58:36 2018 GMT+0.


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

1 Introduction

Overview

This is a library for unit conversions and defining formulas with automated unit consistency checking and conversions. This is similar to [http://www.cs.utexas.edu/users/novak/units95.html], but written with ease of implementation over optimization. In other words, I understand how mine works better. Most of the actual unit data is taken from that program, which is why this is under GPLv2.

This is not yet well tested. Any comments are welcome.

Dependencies

Usage

Unit definition language

Units are described by s-expression. Units are identified by symbols, but interpreted by symbol name, so the package is irrelevant. There is significant number of units already defined in unit-data.lisp, check there or keys of units-formula::*units* hashtable for a list. Units can be constructed from those by use of * / expt sqrt & formula operators. In a list with a unit name as first element * is implied. Numbers might be included in unit definition, they will be combined into contant factor.

Reference

Function reduce-unit unit-spec turns the list in above format to an unit object, which can be used in any place where unit definition can be used, to avoid repeated reduction of unit definition.

Function convert-unit unit-from unit-to takes two unit objects and returns a conversion factor between them, or :incorrect-conversion if the units do not match.

Example:

CL-USER> (unit-formulas:convert-unit '(/ parsec fortnight) '(/ km second)) 2.5487764e7

numbers can be included, as mentioned above, to convert between values, rather than to obtain conversion factor:

CL-USER> (unit-formulas:convert-unit '(5 kg) 'pound) 11.023113

Function same-unit-p unit1 unit2 takes two units and returns true if they are compatible. If key argument :factor is true, then equality between constant factors is also checked.

Function dimensionless-p unit returns t if the unit is dimensionless (ie. only the constant factor is relevant). It's value can be retrieved with (convert-unit dimensionless-value nil)

Macro define-operators list-of-operators kind-keyword allows definition of operators allowed in formulas. Right now only :agree and :dimensionless kinds are present, which require all arguments to be the same unit or dimensionless respectively.

Macro defformula name (&rest in-spec) formula-expression defines a formula. This creates a function named name, which takes a &rest argument forming an association list of form (name value unit) or (name unit-with-value). Argument in-spec is a list of form (name unit) or (name unit value). The second form creates a named constant which will be folded into the formula. Note that this has to literal number because this is folded at macroexpansion stage. Units in in-spec would in most cases be base units, which have synonym symbols with the name of what it is an unit of.

Formula-expression consists of operators defined in units-formula::*operators* hash table, which must have directly corresponding functions defined. Other allowed expressions are: symbol, naming first a binding defined in in-spec, which will be replaced either by function argument or constant value, if provided, a literal constant, either a number, an unit name, or (number unit-definition).

Created function returns an unit object, which can be converted to value in desired units with convert-unit, or queried directly with query-unit.

Example:

CL-USER> (unit-formulas:defformula K-np 
                                   ((effective-mass mass)
                                    (delta-e energy)
                                    (h-bar (/ (m m kg) s) #.(/ 6.62d-34 (* 2 pi)))
                                   (f electric-field))
               (/ (/ (* 4 (sqrt (* 2 effective-mass (expt delta-e 3))))
                     (abs f))
		      (* 3 elementary-charge h-bar)))
K-NP
CL-USER> (k-np '(effective-mass 0.2 electron-mass) '(delta-e 0.8 eV) '(f 0.09 (/ V (nano m))))
#<UNIT-FORMULAS::UNIT 24.309902549224955d0 >

Function query-unit unit returns a property list with unit value and exponents of base SI units forming an unit.

Function identify-unit unit tries to find a quantity with the same units, and if found returns a keyword naming it.

Macro defformula* defines a formula using positional arguments, with much less error checking. If the wrong units are passed it will still fail, because symbols will be checked by the formula.

Macro defformulae* operates like defformula*, but formula-expression allows nesting of formulas defined using defformulae*. This is useful if you have formulas based on other formulas.

Macro define-units accepts unit-definitions as a list of ((unit-names) unit-definition) where unit-names is a list of synonyms for the unit and unit-definition defines a relationship to a base unit. The relationship definition can be a base-unit, a multiple of a base unit (ie. * / expt sqrt), or a list in the form of (formula :convert-to [formula-symbol-name] :convert-from [formula-symbol-name]). The latter defines the unit in terms of a formula defined by defformulae*, which allows for more complex unit definitions.

Example:

CL-USER> (unit-formulas:defformulae* celsius-to-kelvin ((c unity))
   (* (+ c 273.15) kelvin))
CELSIUS-TO-KELVIN
CL-USER> (unit-formulas:defformulae* kelvin-to-celsius ((k kelvin))
   (- k (273.15 kelvin)))
KELVIN-TO-CELSIUS


CL-USER> (unit-formulas:define-units ((celsius centigrade)
   (unit-formulas:formula :convert-to celsius-to-kelvin
	                  :convert-from kelvin-to-celsius)))
    NIL


CL-USER> (unit-formulas:convert-unit '(100 celsius) 'kelvin)
373.15d0
CL-USER> (unit-formulas:convert-unit '(0 kelvin) 'centigrade)
-273.15d0

In the above example two formulae were defined. The first allows a dimensionless unit to be converted into kelvin. The second formula converts from kelvin back to celsius. In the second case we are not concerned with units since convert-unit calls this formula and will be returning a unitless float.

The third form defines two synonyms celsius and centigrade that are units that use our formulae to convert-to and from a base unit instead of the defaults, which are * and /.


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 unit-formulas

Maintainer

<ramarren@cignet.higersbergernet>

Author

<ramarren@cignet.higersbergernet>

License

GPLv2

Description

Formulas with unit checking and conversion

Version

0

Dependencies
Source

unit-formulas.asd (file)

Components

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 unit-formulas.asd

Location

unit-formulas.asd

Systems

unit-formulas (system)


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

3.1.2 unit-formulas/package.lisp

Parent

unit-formulas (system)

Location

package.lisp

Packages

unit-formulas


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

3.1.3 unit-formulas/unit-printer.lisp

Dependency

package.lisp (file)

Parent

unit-formulas (system)

Location

unit-printer.lisp

Internal Definitions

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

3.1.4 unit-formulas/unit-class.lisp

Dependencies
Parent

unit-formulas (system)

Location

unit-class.lisp

Exported Definitions

unit (class)

Internal Definitions

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

3.1.5 unit-formulas/unit-query.lisp

Dependencies
Parent

unit-formulas (system)

Location

unit-query.lisp

Exported Definitions
Internal Definitions

*quantities* (special variable)


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

3.1.6 unit-formulas/unit-definitions.lisp

Dependencies
Parent

unit-formulas (system)

Location

unit-definitions.lisp

Exported Definitions

define-units (macro)

Internal Definitions

define-factors (macro)


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

3.1.7 unit-formulas/unit-operations.lisp

Dependencies
Parent

unit-formulas (system)

Location

unit-operations.lisp

Exported Definitions
Internal Definitions

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

3.1.8 unit-formulas/unit-data.lisp

Dependencies
Parent

unit-formulas (system)

Location

unit-data.lisp

Internal Definitions

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

3.1.9 unit-formulas/formulas.lisp

Dependencies
Parent

unit-formulas (system)

Location

formulas.lisp

Exported Definitions
Internal Definitions

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

4 Packages

Packages are listed by definition order.


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

4.1 unit-formulas

Source

package.lisp (file)

Use List
Exported Definitions
Internal Definitions

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


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

5.1.1 Special variables

Special Variable: *convert-unit-behaviour*
Package

unit-formulas

Source

unit-operations.lisp (file)


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

5.1.2 Macros

Macro: defformula NAME (&rest IN-SPEC) FORMULA-EXPRESSION
Package

unit-formulas

Source

formulas.lisp (file)

Macro: defformula* NAME (&rest IN-SPEC) FORMULA-EXPRRESSION

This creates a formula using positional arguments, with much less error checking. If wrong unit is passed it will still fail, because symbol will be passed to the formula.

Package

unit-formulas

Source

formulas.lisp (file)

Macro: defformulae* NAME (&rest IN-SPEC) FORMULA-EXPRESSION

This creates a formula using positional arguments, with much less error checking. If wrong unit is passed it will still fail, because symbol will be passed to the formula. Formula-expression allows for nesting of formulas.

Package

unit-formulas

Source

formulas.lisp (file)

Macro: define-operators &body OPERATORS
Package

unit-formulas

Source

formulas.lisp (file)

Macro: define-units &rest UNIT-DEFINITIONS
Package

unit-formulas

Source

unit-definitions.lisp (file)

Macro: make-unit VALUE UNIT-DESCRIPTION

Makes an unit object with value and unit description. The second one is not evaluated.

Package

unit-formulas

Source

unit-operations.lisp (file)


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

5.1.3 Functions

Function: convert-unit UNIT-FROM UNIT-TO
Package

unit-formulas

Source

unit-operations.lisp (file)

Function: identify-unit UNIT

Returns a keyword designating a physical quantity the unit is of, or nil if none can be identified , as only those directly defined can be.

Package

unit-formulas

Source

unit-query.lisp (file)

Function: query-unit UNIT

Return a plist of unit value and unit exponents

Package

unit-formulas

Source

unit-query.lisp (file)

Function: reduce-unit UNIT-DESCRIPTION
Package

unit-formulas

Source

unit-operations.lisp (file)


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

5.1.4 Generic functions

Generic Function: dimensionless-p UNIT
Package

unit-formulas

Source

unit-operations.lisp (file)

Methods
Method: dimensionless-p (UNIT unit)
Method: dimensionless-p UNIT
Generic Function: same-unit-p UNIT1 UNIT2 &key FACTOR
Package

unit-formulas

Source

unit-operations.lisp (file)

Methods
Method: same-unit-p (UNIT1 unit) (UNIT2 unit) &key FACTOR
Method: same-unit-p UNIT1 UNIT2 &key FACTOR
Method: same-unit-p (UNIT1 unit) UNIT2 &key FACTOR

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

5.1.5 Classes

Class: unit ()
Package

unit-formulas

Source

unit-class.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

variable-with-unit (class)

Direct methods
Direct slots
Slot: factor
Initargs

:factor

Initform

1

Readers

factor-of (generic function)

Writers

(setf factor-of) (generic function)

Slot: units
Initargs

:units

Initform

(make-array (length unit-formulas::*base-units*) :initial-element 0)

Readers

units-of (generic function)

Writers

(setf units-of) (generic function)

Slot: convert-to
Initargs

:convert-to

Initform

unit-formulas::*default-convert-to*

Readers

convert-to (generic function)

Writers

(setf convert-to) (generic function)

Slot: convert-from
Initargs

:convert-from

Initform

unit-formulas::*default-convert-from*

Readers

convert-from (generic function)

Writers

(setf convert-from) (generic function)


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

5.2 Internal definitions


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

5.2.1 Special variables

Special Variable: *base-units*
Package

unit-formulas

Source

unit-printer.lisp (file)

Special Variable: *default-convert-from*

The default operation used to convert from units, typically this is division.

Package

unit-formulas

Source

unit-class.lisp (file)

Special Variable: *default-convert-to*

The default operation used to convert to units, typically this is multiplication.

Package

unit-formulas

Source

unit-class.lisp (file)

Special Variable: *formulae*

A hashtable that holds a list of registred formulae.

Package

unit-formulas

Source

unit-class.lisp (file)

Special Variable: *operators*
Package

unit-formulas

Source

formulas.lisp (file)

Special Variable: *quantities*

List of symbols naming unit synonyms for base quantities

Package

unit-formulas

Source

unit-query.lisp (file)

Special Variable: *unit-print-list*
Package

unit-formulas

Source

unit-printer.lisp (file)

Special Variable: *units*
Package

unit-formulas

Source

unit-class.lisp (file)


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

5.2.2 Macros

Macro: define-factors UNIT &rest FACTOR-DEFINITIONS
Package

unit-formulas

Source

unit-definitions.lisp (file)

Macro: import-novak-derived DEFINITIONS
Package

unit-formulas

Source

unit-data.lisp (file)

Macro: import-novak-simple UNIT DEFINITIONS
Package

unit-formulas

Source

unit-data.lisp (file)


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

5.2.3 Functions

Function: add-units UNITS
Package

unit-formulas

Source

unit-operations.lisp (file)

Function: divide-units UNITS
Package

unit-formulas

Source

unit-operations.lisp (file)

Function: expt-units UNIT POWER
Package

unit-formulas

Source

unit-operations.lisp (file)

Function: make-argument-list IN-SPEC

Eliminate constants and sort in-spec (same thing as create env above).

Package

unit-formulas

Source

formulas.lisp (file)

Function: make-formula-environment VARIABLE-SPECS
Package

unit-formulas

Source

formulas.lisp (file)

Function: multiply-units UNITS
Package

unit-formulas

Source

unit-operations.lisp (file)

Function: print-unit-vector UNIT-VECTOR STREAM
Package

unit-formulas

Source

unit-printer.lisp (file)

Function: reduce-argument-list ARGS ARGLIST

Take arguments and argument list and match them, returning a list of properly sorted argument values, and error if units don’t match.

Package

unit-formulas

Source

formulas.lisp (file)

Function: replace-formula-terminals FORMULA &key IN-FORMULA

Take unitified environment and transform it into list passable to defun, with all units conversions in place.

Package

unit-formulas

Source

formulas.lisp (file)

Function: sqrt-units UNIT
Package

unit-formulas

Source

unit-operations.lisp (file)

Function: strip-constants-from-spec IN-SPEC
Package

unit-formulas

Source

formulas.lisp (file)

Function: subtract-units UNITS
Package

unit-formulas

Source

unit-operations.lisp (file)

Function: unitify-formula-terminals FORMULA ENV

Takes variable/constant bindings in env and replaces them in formula

Package

unit-formulas

Source

formulas.lisp (file)

Function: verify-formula FORMULA

Takes unitified formula and returns it’s return unit, if correct, signals error if not.

Package

unit-formulas

Source

formulas.lisp (file)


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

5.2.4 Generic functions

Generic Function: additive-unit-p UNIT
Package

unit-formulas

Methods
Method: additive-unit-p (UNIT unit)
Source

unit-class.lisp (file)

Generic Function: convert-from OBJECT
Generic Function: (setf convert-from) NEW-VALUE OBJECT
Package

unit-formulas

Methods
Method: convert-from (UNIT unit)

automatically generated reader method

Source

unit-class.lisp (file)

Method: (setf convert-from) NEW-VALUE (UNIT unit)

automatically generated writer method

Source

unit-class.lisp (file)

Generic Function: convert-to OBJECT
Generic Function: (setf convert-to) NEW-VALUE OBJECT
Package

unit-formulas

Methods
Method: convert-to (UNIT unit)

automatically generated reader method

Source

unit-class.lisp (file)

Method: (setf convert-to) NEW-VALUE (UNIT unit)

automatically generated writer method

Source

unit-class.lisp (file)

Generic Function: factor-of OBJECT
Generic Function: (setf factor-of) NEW-VALUE OBJECT
Package

unit-formulas

Methods
Method: factor-of (UNIT unit)

automatically generated reader method

Source

unit-class.lisp (file)

Method: (setf factor-of) NEW-VALUE (UNIT unit)

automatically generated writer method

Source

unit-class.lisp (file)

Generic Function: formula-unit-p UNIT
Package

unit-formulas

Methods
Method: formula-unit-p (UNIT unit)
Source

unit-class.lisp (file)

Generic Function: name-of OBJECT
Generic Function: (setf name-of) NEW-VALUE OBJECT
Package

unit-formulas

Methods
Method: name-of (VARIABLE-WITH-UNIT variable-with-unit)

automatically generated reader method

Source

formulas.lisp (file)

Method: (setf name-of) NEW-VALUE (VARIABLE-WITH-UNIT variable-with-unit)

automatically generated writer method

Source

formulas.lisp (file)

Generic Function: units-of OBJECT
Generic Function: (setf units-of) NEW-VALUE OBJECT
Package

unit-formulas

Methods
Method: units-of (UNIT unit)

automatically generated reader method

Source

unit-class.lisp (file)

Method: (setf units-of) NEW-VALUE (UNIT unit)

automatically generated writer method

Source

unit-class.lisp (file)

Generic Function: value-of OBJECT
Generic Function: (setf value-of) NEW-VALUE OBJECT
Package

unit-formulas

Methods
Method: value-of (VARIABLE-WITH-UNIT variable-with-unit)
Method: (setf value-of) NEW-VALUE (VARIABLE-WITH-UNIT variable-with-unit)

Value of constant, if constant

Source

formulas.lisp (file)


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

5.2.5 Classes

Class: variable-with-unit ()
Package

unit-formulas

Source

formulas.lisp (file)

Direct superclasses

unit (class)

Direct methods
  • print-object (method)
  • value-of (method)
  • value-of (method)
  • name-of (method)
  • name-of (method)
Direct slots
Slot: name
Initargs

:name

Readers

name-of (generic function)

Writers

(setf name-of) (generic function)

Slot: value

Value of constant, if constant

Initargs

:value

Readers

value-of (generic function)

Writers

(setf value-of) (generic function)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   F   L   U  
Index Entry  Section

F
File, Lisp, unit-formulas.asd: The unit-formulas<dot>asd file
File, Lisp, unit-formulas/formulas.lisp: The unit-formulas/formulas<dot>lisp file
File, Lisp, unit-formulas/package.lisp: The unit-formulas/package<dot>lisp file
File, Lisp, unit-formulas/unit-class.lisp: The unit-formulas/unit-class<dot>lisp file
File, Lisp, unit-formulas/unit-data.lisp: The unit-formulas/unit-data<dot>lisp file
File, Lisp, unit-formulas/unit-definitions.lisp: The unit-formulas/unit-definitions<dot>lisp file
File, Lisp, unit-formulas/unit-operations.lisp: The unit-formulas/unit-operations<dot>lisp file
File, Lisp, unit-formulas/unit-printer.lisp: The unit-formulas/unit-printer<dot>lisp file
File, Lisp, unit-formulas/unit-query.lisp: The unit-formulas/unit-query<dot>lisp file

L
Lisp File, unit-formulas.asd: The unit-formulas<dot>asd file
Lisp File, unit-formulas/formulas.lisp: The unit-formulas/formulas<dot>lisp file
Lisp File, unit-formulas/package.lisp: The unit-formulas/package<dot>lisp file
Lisp File, unit-formulas/unit-class.lisp: The unit-formulas/unit-class<dot>lisp file
Lisp File, unit-formulas/unit-data.lisp: The unit-formulas/unit-data<dot>lisp file
Lisp File, unit-formulas/unit-definitions.lisp: The unit-formulas/unit-definitions<dot>lisp file
Lisp File, unit-formulas/unit-operations.lisp: The unit-formulas/unit-operations<dot>lisp file
Lisp File, unit-formulas/unit-printer.lisp: The unit-formulas/unit-printer<dot>lisp file
Lisp File, unit-formulas/unit-query.lisp: The unit-formulas/unit-query<dot>lisp file

U
unit-formulas.asd: The unit-formulas<dot>asd file
unit-formulas/formulas.lisp: The unit-formulas/formulas<dot>lisp file
unit-formulas/package.lisp: The unit-formulas/package<dot>lisp file
unit-formulas/unit-class.lisp: The unit-formulas/unit-class<dot>lisp file
unit-formulas/unit-data.lisp: The unit-formulas/unit-data<dot>lisp file
unit-formulas/unit-definitions.lisp: The unit-formulas/unit-definitions<dot>lisp file
unit-formulas/unit-operations.lisp: The unit-formulas/unit-operations<dot>lisp file
unit-formulas/unit-printer.lisp: The unit-formulas/unit-printer<dot>lisp file
unit-formulas/unit-query.lisp: The unit-formulas/unit-query<dot>lisp file

Jump to:   F   L   U  

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

A.2 Functions

Jump to:   (  
A   C   D   E   F   G   I   M   N   P   Q   R   S   U   V  
Index Entry  Section

(
(setf convert-from): Internal generic functions
(setf convert-from): Internal generic functions
(setf convert-to): Internal generic functions
(setf convert-to): Internal generic functions
(setf factor-of): Internal generic functions
(setf factor-of): Internal generic functions
(setf name-of): Internal generic functions
(setf name-of): Internal generic functions
(setf units-of): Internal generic functions
(setf units-of): Internal generic functions
(setf value-of): Internal generic functions
(setf value-of): Internal generic functions

A
add-units: Internal functions
additive-unit-p: Internal generic functions
additive-unit-p: Internal generic functions

C
convert-from: Internal generic functions
convert-from: Internal generic functions
convert-to: Internal generic functions
convert-to: Internal generic functions
convert-unit: Exported functions

D
defformula: Exported macros
defformula*: Exported macros
defformulae*: Exported macros
define-factors: Internal macros
define-operators: Exported macros
define-units: Exported macros
dimensionless-p: Exported generic functions
dimensionless-p: Exported generic functions
dimensionless-p: Exported generic functions
divide-units: Internal functions

E
expt-units: Internal functions

F
factor-of: Internal generic functions
factor-of: Internal generic functions
formula-unit-p: Internal generic functions
formula-unit-p: Internal generic functions
Function, add-units: Internal functions
Function, convert-unit: Exported functions
Function, divide-units: Internal functions
Function, expt-units: Internal functions
Function, identify-unit: Exported functions
Function, make-argument-list: Internal functions
Function, make-formula-environment: Internal functions
Function, multiply-units: Internal functions
Function, print-unit-vector: Internal functions
Function, query-unit: Exported functions
Function, reduce-argument-list: Internal functions
Function, reduce-unit: Exported functions
Function, replace-formula-terminals: Internal functions
Function, sqrt-units: Internal functions
Function, strip-constants-from-spec: Internal functions
Function, subtract-units: Internal functions
Function, unitify-formula-terminals: Internal functions
Function, verify-formula: Internal functions

G
Generic Function, (setf convert-from): Internal generic functions
Generic Function, (setf convert-to): Internal generic functions
Generic Function, (setf factor-of): Internal generic functions
Generic Function, (setf name-of): Internal generic functions
Generic Function, (setf units-of): Internal generic functions
Generic Function, (setf value-of): Internal generic functions
Generic Function, additive-unit-p: Internal generic functions
Generic Function, convert-from: Internal generic functions
Generic Function, convert-to: Internal generic functions
Generic Function, dimensionless-p: Exported generic functions
Generic Function, factor-of: Internal generic functions
Generic Function, formula-unit-p: Internal generic functions
Generic Function, name-of: Internal generic functions
Generic Function, same-unit-p: Exported generic functions
Generic Function, units-of: Internal generic functions
Generic Function, value-of: Internal generic functions

I
identify-unit: Exported functions
import-novak-derived: Internal macros
import-novak-simple: Internal macros

M
Macro, defformula: Exported macros
Macro, defformula*: Exported macros
Macro, defformulae*: Exported macros
Macro, define-factors: Internal macros
Macro, define-operators: Exported macros
Macro, define-units: Exported macros
Macro, import-novak-derived: Internal macros
Macro, import-novak-simple: Internal macros
Macro, make-unit: Exported macros
make-argument-list: Internal functions
make-formula-environment: Internal functions
make-unit: Exported macros
Method, (setf convert-from): Internal generic functions
Method, (setf convert-to): Internal generic functions
Method, (setf factor-of): Internal generic functions
Method, (setf name-of): Internal generic functions
Method, (setf units-of): Internal generic functions
Method, (setf value-of): Internal generic functions
Method, additive-unit-p: Internal generic functions
Method, convert-from: Internal generic functions
Method, convert-to: Internal generic functions
Method, dimensionless-p: Exported generic functions
Method, dimensionless-p: Exported generic functions
Method, factor-of: Internal generic functions
Method, formula-unit-p: Internal generic functions
Method, name-of: Internal generic functions
Method, same-unit-p: Exported generic functions
Method, same-unit-p: Exported generic functions
Method, same-unit-p: Exported generic functions
Method, units-of: Internal generic functions
Method, value-of: Internal generic functions
multiply-units: Internal functions

N
name-of: Internal generic functions
name-of: Internal generic functions

P
print-unit-vector: Internal functions

Q
query-unit: Exported functions

R
reduce-argument-list: Internal functions
reduce-unit: Exported functions
replace-formula-terminals: Internal functions

S
same-unit-p: Exported generic functions
same-unit-p: Exported generic functions
same-unit-p: Exported generic functions
same-unit-p: Exported generic functions
sqrt-units: Internal functions
strip-constants-from-spec: Internal functions
subtract-units: Internal functions

U
unitify-formula-terminals: Internal functions
units-of: Internal generic functions
units-of: Internal generic functions

V
value-of: Internal generic functions
value-of: Internal generic functions
verify-formula: Internal functions

Jump to:   (  
A   C   D   E   F   G   I   M   N   P   Q   R   S   U   V  

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

A.3 Variables

Jump to:   *  
C   F   N   S   U   V  
Index Entry  Section

*
*base-units*: Internal special variables
*convert-unit-behaviour*: Exported special variables
*default-convert-from*: Internal special variables
*default-convert-to*: Internal special variables
*formulae*: Internal special variables
*operators*: Internal special variables
*quantities*: Internal special variables
*unit-print-list*: Internal special variables
*units*: Internal special variables

C
convert-from: Exported classes
convert-to: Exported classes

F
factor: Exported classes

N
name: Internal classes

S
Slot, convert-from: Exported classes
Slot, convert-to: Exported classes
Slot, factor: Exported classes
Slot, name: Internal classes
Slot, units: Exported classes
Slot, value: Internal classes
Special Variable, *base-units*: Internal special variables
Special Variable, *convert-unit-behaviour*: Exported special variables
Special Variable, *default-convert-from*: Internal special variables
Special Variable, *default-convert-to*: Internal special variables
Special Variable, *formulae*: Internal special variables
Special Variable, *operators*: Internal special variables
Special Variable, *quantities*: Internal special variables
Special Variable, *unit-print-list*: Internal special variables
Special Variable, *units*: Internal special variables

U
units: Exported classes

V
value: Internal classes

Jump to:   *  
C   F   N   S   U   V  

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

A.4 Data types

Jump to:   C   P   S   U   V  
Index Entry  Section

C
Class, unit: Exported classes
Class, variable-with-unit: Internal classes

P
Package, unit-formulas: The unit-formulas package

S
System, unit-formulas: The unit-formulas system

U
unit: Exported classes
unit-formulas: The unit-formulas system
unit-formulas: The unit-formulas package

V
variable-with-unit: Internal classes

Jump to:   C   P   S   U   V