The mutility Reference Manual

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

The mutility Reference Manual

This is the mutility Reference Manual, version 0.5, generated automatically by Declt version 4.0 beta 2 "William Riker" on Wed Jun 15 05:23:42 2022 GMT+0.

Table of Contents


1 Introduction

#+TITLE: mutility

modula's many-multi mega-miscellaneous meta-modulated macro-mutated utilities

A collection of various utility functions and macros I use in my libraries.

This is mostly for deduplication of code so I don't have to keep several copies of these functions across different projects. I don't really recommend depending on this library in your code since I may rename, rearrange, or remove things without warning. That being said, if you have any issues or need help with the library, please don't hesitate to let me know.

All exported symbols are documented via their docstrings, which are of course accessible via Lisp's standard ~documentation~ and ~describe~ functions.

* Noteworthy features

** Sugar

*** ~a~ macro

Quickly generate lists containing repeated items or numeric series.

#+BEGIN_SRC lisp
;; four 4s:
(a 1 4!4 2) ;=> (1 4 4 4 4 2)

;; 10 random numbers:
(a 'hello (random 10)!10 'goodbye) ;=> (HELLO 2 5 3 9 5 0 9 1 9 6 GOODBYE)

;; series from -2 to 2:
(a 'foo -2..2 'bar) ;=> (FOO -2 -1 0 1 2 BAR)
#+END_SRC

*** ~fn~ macro

A sweeter way to write ~lambda~. Underscore (~_~) is treated as the argument of the lambda.

#+BEGIN_SRC lisp
(fn (random 10))
;; is the same as
(lambda () (random 10))

;; and
(fn (+ 2 _))
;; is the same as
(lambda (_) (+ 2 _))
#+END_SRC

*** ~keys~ generic

Get a list of the keys of hash tables, plists, and anything else that defines a method for it. For example, [[https://github.com/defaultxr/cl-patterns][cl-patterns]] defines a method for its ~event~ class.

#+BEGIN_SRC lisp
(keys '(:foo 1 :bar 2)) ;=> (:FOO :BAR)

(keys (alexandria:plist-hash-table (list :this 1337 :that 69))) ;=> (:THIS :THAT)
#+END_SRC

** Strings

*** ~concat~

Concatenate its non-nil inputs together into a string, similar to the elisp function of the same name.

#+BEGIN_SRC lisp
(defun say-hello (name &optional ask)
  (concat "Hello, " name "!" (when ask " How are you doing today?")))

(say-hello "Allison" t) ;=> "Hello, Allison! How are you doing today?"
(say-hello "Gordon" nil) ;=> "Hello, Gordon!"
#+END_SRC

*** ~parse-boolean~

Parse a string as a boolean by looking for common true/false inputs like y/n, 1/0, on/off, true/false, enable/disable, etc. If the input is not a known boolean-like string, defaults to the specified default value

#+BEGIN_SRC lisp
(parse-boolean "1") ;=> t
(parse-boolean "0") ;=> nil
(parse-boolean "y") ;=> t
(parse-boolean "N") ;=> nil
(parse-boolean "blah" t) ;=> t ;; "blah" can't be interpreted as a boolean, so it defaults to the provided value of t.
#+END_SRC

*** "friendly string" functions

A few functions to generate more human-readable strings from numeric values.

#+BEGIN_SRC lisp
;; turn improper fractions into proper ones:
(friendly-ratio-string 13/4) ;=> "3 1/4"
(friendly-ratio-string 99/13) ;=> "7 8/13"

;; turn a number of seconds into the typical time notation:
(friendly-duration-string 67) ;=> "1:07"
;; 3600 seconds is one hour:
(friendly-duration-string 3600) ;=> "1:00:00"
#+END_SRC

** Math

*** ~wrap~

Wrap a number within a range like ~cl:mod~ but taking into account a lower bound as well.

*** rounding functions
Round, floor, or ceiling to the nearest multiple of a given number with ~round-by~, ~floor-by~, and ~ceiling-by~.

#+BEGIN_SRC lisp
(round-by 0.39 0.2) ;=> 0.4
(round-by 97 25) ;=> 100

(floor-by 0.39 0.2) ;=> 0.2
(floor-by 97 25) ;=> 75

(ceiling-by 0.22 0.2) ;=> 0.4
(ceiling-by 27 25) ;=> 50
#+END_SRC

** Sequences

*** ~length-upto~

Count the number of items in a list, not counting beyond a specified number.

#+BEGIN_SRC lisp
(length-upto (make-list 2000) 20) ;=> 20
#+END_SRC

*** ~most~

Get the most X item in a list, where X can be any comparison function. Similar to the standard ~reduce~ function, except that the ~key~ argument is only used for comparison, and the actual item from the list is still returned.

#+BEGIN_SRC lisp
;; get the item with the smallest car:
(most '< '((2 :bar) (3 :baz) (1 :foo)) :key 'car) ;=> (1 :FOO)

;; compare this to `reduce', which returns the result of calling KEY on the item, instead of returning the item itself:
(reduce 'min '((2 :bar) (3 :baz) (1 :foo)) :key 'car) ;=> 1
#+END_SRC

*** ~flatten-1~

Like ~alexandria:flatten~ but only flattens one layer.

*** ~subseq*~

Like the standard ~subseq~, but the START and END parameters can be negative to represent indexing from the end of the list.

#+BEGIN_SRC lisp
(subseq* (list 0 1 2 3 4 5) -3) ;=> (3 4 5)
(subseq* (list 0 1 2 3 4 5) -3 -1) ;=> (3 4)
#+END_SRC

*** ~left-trim~

Like ~string-left-trim~ but for lists instead of strings.

# FIX: describe +.x when it's fully implemented
# *** ~+.x~

** Randomness

*** ~random-coin~

*** ~random-range~

*** ~exponential-random-range~

*** ~random-gauss~

** Hash Tables

*** save and restore

** Miscellaneous

*** ~open-url~

*** ~generate-temporary-file-name~

** Swank Extensions

** Ranges

Functionality for mapping numbers from one range to another.

** ~defgeneric*~

** ~defclass*~

** Looping

Looping functionality is in the "loopy" subsystem; run ~(ql:quickload :mutility/loopy)~ to load it.

*** ~mapcar*~ and ~dolist*~

Like the standard ~mapcar~ and ~dolist~, but includes the current index into the list.

*** ~while~ macro

Your standard "while" loop that repeats its body as long as its test condition is true. Additionally, it will return the last non-nil value it processed in the body or the test.

*** ~do-while~ macro

Like ~while~, but the body is run before the test condition is checked; i.e. the body is always run at least once.

*** ~until~ macro

The opposite of ~while~; runs its body as long as its test condition is false.

*** ~accumulating~ macro

Efficiently append to a list, which is then returned.

#+BEGIN_SRC lisp
(accumulating (dotimes (n 5) (accumulate (random 10)))) ;=> (0 2 3 4 1)
#+END_SRC

* Sub-systems

- ~mutility/loopy~ is a small collection of various looping constructs like ~dolist*~, ~while~, ~do-while~, etc.
- ~mutility/generic-cl~ defines a few extensions to the [[https://github.com/alex-gutev/generic-cl][generic-cl]] library.
- ~mutility/test-helpers~ includes a few functions that are mostly useful for test suites.
- ~mutility/tests~ is the FiveAM-based test suite for the library.

* Tour

All source files are in the ~src/~ directory.

- [[file:src/package.lisp][package.lisp]] - the package definition file.
- [[file:src/mutility.lisp][mutility.lisp]] - mutility's "standard" functionality.
- [[file:src/sugar.lisp][sugar.lisp]] - syntax shorteners and sweeteners.
- [[file:src/ringbuffer.lisp][ringbuffer.lisp]] - ringbuffer implementation.
- [[file:src/ranges.lisp][ranges.lisp]] - define and translate between different types of ranges.
- [[file:src/test-helpers.lisp][test-helpers.lisp]] - a few introspection functions to make testing easier.
- [[file:src/loopy.lisp][loopy.lisp]] - various looping primitives.
- [[file:src/scrapyard.lisp][scrapyard.lisp]] - failed experiments, old versions, and other code refuse.

Mutility also includes a few extensions for other systems in ~src/extensions/~:

- [[file:src/extensions/generic-cl-extensions.lisp][generic-cl-extensions.lisp]] - extensions to the generic-cl library. FIX
- [[file:src/extensions/cl-org-mode-extensions.lisp][cl-org-mode-extensions.lisp]] - extensions to the cl-org-mode library. FIX
- [[file:src/extensions/swank-extensions.lisp][swank-extensions.lisp]] - extensions to swank. FIX

The test suite is located in ~t/~. To run the tests:

#+BEGIN_SRC lisp
(asdf:test-system :mutility)
#+END_SRC

* Future
Ideas, and things that need to be done.

- Come up with a better name for the ~a~ macro.
- Remove/rename ~accumulate~ to prevent clashes with generic-cl's ~accumulate~ function.
- Write functions to parse docstrings (i.e. to extract example code from them so they can be treated as tests).
- Write more tests for everything.
- Test docstring examples with the docstring-parsing function once it's written.
- Write a test to check for symbol clashes against various other libraries: ~alexandria~, ~serapeum~, ~cl-patterns~, ~thundersnow~, etc.
- Maybe split out stuff into subsystems? i.e. ~sugar~, ~files~, etc.
- Allow ~fn~ to accept more than one argument.


2 Systems

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


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

2.1 mutility

modula’s utilities

Author

modula t.

Contact

defaultxr at gmail dot com

Home Page

https://github.com/defaultxr/mutility

Source Control

(GIT git@github.com:defaultxr/mutility.git)

Bug Tracker

https://github.com/defaultxr/mutility/issues

License

MIT

Version

0.5

Dependencies
  • alexandria (system).
  • local-time (system).
  • closer-mop (system).
  • sb-introspect (system)., required, for feature :sbcl
Source

mutility.asd.

Child Components

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   [Contents][Index]

3.1.1 mutility/mutility.asd

Source

mutility.asd.

Parent Component

mutility (system).

ASDF Systems

mutility.


3.1.2 mutility/package.lisp

Source

mutility.asd.

Parent Component

mutility (system).

Packages

mutility.


3.1.3 mutility/mutility.lisp

Dependency

package.lisp (file).

Source

mutility.asd.

Parent Component

mutility (system).

Public Interface
Internals

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

3.1.4 mutility/ringbuffer.lisp

Dependency

mutility.lisp (file).

Source

mutility.asd.

Parent Component

mutility (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


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

4.1 mutility

Source

package.lisp.

Use List
  • alexandria.
  • common-lisp.
Public Interface
Internals

5 Definitions

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


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

5.1 Public Interface


5.1.1 Macros

Macro: a (&rest args)

Quickly and conveniently generate lists. Use ! to denote repetition of the previous element, or .. to denote a range.

Inspired by similar functionality in SuperCollider.

Examples:

;; (a 3!3)
;; => (3 3 3)
;;
;; (a -5 (random 3)!5 9 10)
;; => (-5 0 2 2 1 2 9 10)
;;
;; (a 2..9)
;; => (2 3 4 5 6 7 8 9)

See also: ‘repeat-by-!’, ‘expand-ranges’

Package

mutility.

Source

mutility.lisp.

Macro: affixnew (place thing)

Affix THING to the end of PLACE if it’s not already a member.

See also: ‘alexandria:appendf’, ‘cl:pushnew’.

Package

mutility.

Source

mutility.lisp.

Macro: cut (func &rest args)

The cut macro; notation for specializing parameters without currying, as described in SRFI 26.

https://srfi.schemers.org/srfi-26/srfi-26.html

Examples:

;; (cut ’/ 1 <>) ;=> (lambda (x) (/ 1 x))
;; (cut <> 1 2) ;=> (lambda (func) (funcall func 1 2))
;; (cut ’+ <> <>) ;=> (lambda (x y) (+ x y))

See also: ‘fn’

Package

mutility.

Source

mutility.lisp.

Macro: define-dictionary (name &key name-type include-errorp errorp-default define-class-functions find-function-name)

Define a "dictionary" named NAME that maps symbols to objects. Defines the *NAME-dictionary* hash table and several functions for access to said table and the associated objects.

Functions defined:

- NAME-p - Test whether an object is an instance of NAME (if NAME is a class).
- find-NAME - Find the object in the dictionary with the specified name.
- (setf find-NAME) - Set the object in the dictionary with the specified name.
- all-NAMEs - Get a list of all of the objects in the dictionary.
- all-NAME-names - Get a list of all symbols defined in the dictionary.
- NAME-names - Get a list of all names in the dictionary that point to the specified object, optionally including aliases.
- If NAME is the name of a class and DEFINE-CLASS-FUNCTIONS is true, also define methods specializing on symbols for each of that class’s accessors, which look up the object pointed to by that symbol and return the value of that method being called on said object.

Options:

- NAME-TYPE - The type that a NAME dictionary name (key) can be; typically symbol, string, or string-designator.
- INCLUDE-ERRORP - Whether to include the errorp keyword argument for find-NAME.
- ERRORP-DEFAULT - The default value for find-NAME’s errorp argument.
- DEFINE-CLASS-FUNCTIONS - If t, define functions and methods for the class named NAME and error if no such class exists. If :if-class-exists, define methods if the class exists but don’t error otherwise. If nil, don’t define any methods even if the class exists. - FIND-FUNCTION-NAME - The name that should be used to define the find-NAME function. Defaults to find-NAME.

Example:

;; (define-dictionary foo)
;;
;; (setf (find-foo ’bar) (list 1 2 3))
;;
;; (find-foo ’bar) ;=> (1 2 3)

See also: ‘make-hash-table’, ‘find-class’, ‘do-symbols’

Package

mutility.

Source

mutility.lisp.

Macro: do-ringbuffer ((var ringbuffer &optional result-form) &body body)

Execute BODY once for each element in RINGBUFFER from least to most recent, with VAR bound to the element, returning RESULT-FORM.

See also: ‘ringbuffer-elt’, ‘ringbuffer-push’, ‘ringbuffer-pop’, ‘ringbuffer-size’, ‘ringbuffer-index’, ‘ringbuffer-length’, ‘ringbuffer’

Package

mutility.

Source

ringbuffer.lisp.

Macro: dprint (&rest args)

Easy macro to get debug output for a list of variables, ARGS. For each argument in ARGS, print the argument itself, then print what it evaluates to. Returns the last value.

Example:

;; (dprint (random 10) (+ 2 2))

...prints something like the following:
(RANDOM 10): 6; (+ 2 2): 4;
...and returns the value 4.

Package

mutility.

Source

mutility.lisp.

Macro: fn (&body body)

Syntax sugar for making ‘lambda’s. BODY is the function body. Underscores in the body can be used to represent the argument to the function.

See also: ‘cut’

Package

mutility.

Source

mutility.lisp.

Macro: with-access (slots instance &body body)

Deprecated; recommended to use metabang-bind’s "bind" macro instead.

Like ‘with-accessors’ and ‘with-slots’ combined; any slots provided as symbols are assumed to refer to both the variable name and the accessor. If no such accessor exists, just grab the slot as per ‘with-slots’.

Example:

If FOO is a function and BAR is not:

;; (with-access (foo bar) blah
;; (format t "~s ~s~%" foo bar))

...is the same as:

;; (with-accessors ((foo foo)) blah
;; (with-slots (bar) blah
;; (format t "~s ~s~%" foo bar)))

See also: ‘cl:with-accessors’, ‘cl:with-slots’

Package

mutility.

Source

mutility.lisp.


5.1.2 Compiler macros

Compiler Macro: length-upto (&rest args)
Package

mutility.

Source

mutility.lisp.

Compiler Macro: my-intern (&rest args)
Package

mutility.

Source

mutility.lisp.

Compiler Macro: reintern (&rest args)
Package

mutility.

Source

mutility.lisp.

Compiler Macro: round-by-direction (&rest args)
Package

mutility.

Source

mutility.lisp.

Compiler Macro: split-string (&rest args)
Package

mutility.

Source

mutility.lisp.

Compiler Macro: un-intern (&rest args)
Package

mutility.

Source

mutility.lisp.


5.1.3 Ordinary functions

Function: approx= (number1 number2 &optional max-dist)

Test whether NUMBER1 and NUMBER2 are "approximately" equal, i.e. within MAX-DIST of each other.

See also: ‘near-zero-p’

Package

mutility.

Source

mutility.lisp.

Function: ceiling-by (number &optional by)

Round NUMBER up to the next multiple of BY.

See also: ‘cl:ceiling’, ‘floor-by’, ‘round-by’

Package

mutility.

Source

mutility.lisp.

Function: concat (&rest objects)

Concatenate all non-nil OBJECTS together into a string.

See also: ‘cl:concatenate’, ‘uiop:strcat’

Package

mutility.

Source

mutility.lisp.

Function: current-seconds ()

Get the number of seconds that Lisp has been running for.

Package

mutility.

Source

mutility.lisp.

Function: elt-wrap (sequence n)

Get the Nth item in SEQUENCE, wrapping the index if out of range. Returns the number of times "wrapped" as a second value.

Much like ‘elt’, this function can be used on any sequence. However, because this function calls ‘length’ to determine the wrapped index, it may be slow when used on large lists. Consider using ‘nth-wrap’ in those cases instead.

See also: ‘nth-wrap’

Package

mutility.

Source

mutility.lisp.

Function: exponential-random-range (low high)

Generate a random number between LOW and HIGH, with exponential distribution.

See also: ‘random-range’, ‘random-gauss’

Package

mutility.

Source

mutility.lisp.

Function: find-any (items list &key test)

Returns the first item from ITEMS that is found in LIST, or nil if none.

See also: ‘find-if*’

Package

mutility.

Source

mutility.lisp.

Function: find-if* (predicate sequence)

Like ‘find-if’, but return the index of the found item as a second value.

See also: ‘find-any’

Package

mutility.

Source

mutility.lisp.

Function: flatten-1 (list)

Like ‘alexandria:flatten’, but only flattens one layer.

Example:

;; (flatten-1 ’(1 (2 (3 4) 5) 6))
;; ;=> (1 2 (3 4) 5 6)

See also: ‘alexandria:flatten’

Package

mutility.

Source

mutility.lisp.

Function: floor-by (number &optional by)

Round NUMBER down to the previous multiple of BY.

See also: ‘cl:floor’, ‘ceiling-by’, ‘round-by’

Package

mutility.

Source

mutility.lisp.

Function: fold (number &optional bottom top)

Fold numbers outside BOTTOM and TOP back into the range.

Examples:

;; (fold -1 0 1) ;=> 1
;; (fold 5 0 10) ;=> 5
;; (fold 8 0 7) ;=> 6

See also: ‘wrap’, ‘cl:mod’, ‘alexandria:clamp’

Package

mutility.

Source

mutility.lisp.

Function: friendly-duration-string (seconds &key include-ms)

Format a number of seconds as a more human-readable string. For now, hours are the biggest unit considered.

Example:

;; (friendly-duration-string 300) ;=> "5:00"
;; (friendly-duration-string 3600) ;=> "1:00:00"

See also: ‘friendly-ratio-string’

Package

mutility.

Source

mutility.lisp.

Function: friendly-ratio-string (ratio &optional separator)

Format a ratio as a more human-readable string.

Example:

;; (friendly-ratio-string 5/4) ;=> "1 1/4" ;; (friendly-ratio-string 9/7) ;=> "1 2/7"

See also: ‘friendly-duration-string’

Package

mutility.

Source

mutility.lisp.

Function: friendly-string (input)

Return INPUT as a string with all non-letter, non-number, and non-hyphen characters removed.

Example:

;; (friendly-symbol "foo’s bar, baz, and qux") ;=> :FOOS-BAR-BAZ-AND-QUX

See also: ‘friendly-symbol’, ‘parse-boolean’, ‘friendly-ratio-string’, ‘friendly-duration-string’

Package

mutility.

Source

mutility.lisp.

Function: friendly-symbol (input &optional package)

Return INPUT as a symbol with all non-letter, non-number, and non-hyphen characters removed.

Example:

;; (friendly-symbol "foo’s bar, baz, and qux") ;=> :FOOS-BAR-BAZ-AND-QUX

See also: ‘friendly-string’, ‘parse-boolean’, ‘friendly-ratio-string’, ‘friendly-duration-string’

Package

mutility.

Source

mutility.lisp.

Function: function-arglist (function)

Get the signature of FUNCTION.

Package

mutility.

Source

mutility.lisp.

Function: generate-temporary-file-name (&key name directory extension)

Generate a string representing a full path to a new temporary file. The file name defaults to a timestamp. Will automatically create DIRECTORY if it doesn’t exist. Will also attempt to generate a new name if a file with that name already exists.

Example:

;; (generate-temporary-file-name :name "foo" :directory "/tmp/lisp/" :extension "wav")
;; => "/tmp/lisp/foo.wav"

;; (generate-temporary-file-name :directory "/tmp/lisp/" :extension :flac)
;; => "/tmp/lisp/2020-04-20-06-09-00.flac"

Package

mutility.

Source

mutility.lisp.

Function: insert-if (function list item)

Destructively insert ITEM into LIST at the position where FUNCTION is true. If the function doesn’t return true, the item is inserted at the end of the list. Similar to ‘nreverse’, the result is returned ;; FIX

Example:

;; (insert-if #’plusp (list -2 -1 1 2) 0)
;; ;; => (-2 -1 0 1 2)

See also: ‘insert-sorted’

Package

mutility.

Source

mutility.lisp.

Function: insert-sorted (list number)

Destructively insert NUMBER into LIST in order.

Example:

;; (insert-sorted (list 1 2 3 4) 2.5)
;; ;; => (1 2 2.5 3 4)

See also: ‘insert-if’

Package

mutility.

Source

mutility.lisp.

Function: left-trim (bag list &key test)

Trim anything from BAG from the start of LIST.

See also: ‘cl:string-left-trim’

Package

mutility.

Source

mutility.lisp.

Function: length-upto (list &optional max)

Deprecated and renamed to ‘list-length-upto’.

Package

mutility.

Source

mutility.lisp.

Function: lisp-connections ()

Get a list of the current connections to this Lisp image.

Package

mutility.

Source

mutility.lisp.

Function: list-length-upto (list &optional max)

Get the length of LIST, not counting above MAX.

Example:

;; (length-upto (make-list 200) 20) ;=> 20

See also: ‘alexandria:length=’

Package

mutility.

Source

mutility.lisp.

Function: list-length> (list n)

True if LIST is more than N in length.

See also: ‘list-length>=’, ‘alexandria:length=’

Package

mutility.

Source

mutility.lisp.

Function: list-length>= (list n)

True if LIST is at least N in length. Probably more efficient than doing something like (>= (length list) n).

Example:

;; (list-length>= (make-list 300) 10) ;=> T

See also: ‘list-length>’, ‘list-length-upto’, ‘alexandria:length=’

Package

mutility.

Source

mutility.lisp.

Function: locate-dominating-file (directory name)

Starting at DIRECTORY, look for a file named NAME in the current directory and successive parents, returning the first one found or nil if none.

Similar to the Emacs function "locate-dominating-file".

Package

mutility.

Source

mutility.lisp.

Function: make-ringbuffer (size &optional initial-element)

Make a ‘ringbuffer’ object of the specified size and the specified initial element.

See also: ‘ringbuffer-size’, ‘ringbuffer-index’, ‘ringbuffer-initial-element’, ‘ringbuffer-push’, ‘ringbuffer-elt’, ‘ringbuffer-pop’, ‘ringbuffer-get’, ‘ringbuffer’

Package

mutility.

Source

ringbuffer.lisp.

Function: most (function list &key key)

Get the most FUNCTION item in LIST by comparing the KEY of each item with FUNCTION. Unlike ‘reduce’, this function returns the whole item from LIST, even when KEY is provided.

Example:

;; get the item in the list with the smallest car:
;; (most ’< ’((2 :bar) (3 :baz) (1 :foo)) :key ’car) ;=> (1 :FOO)

See also: ‘cl:reduce’, ‘cl:find-if’

Package

mutility.

Source

mutility.lisp.

Function: my-intern (string &optional package)

Deprecated alias for ‘upcase-intern’.

Package

mutility.

Source

mutility.lisp.

Function: near-zero-p (number &optional max-dist)

True if NUMBER is within MAX-DIST of zero. Helps guard against division by zero.

See also: ‘approx=’

Package

mutility.

Source

mutility.lisp.

Function: nth-wrap (n list)

Get the Nth item in LIST, wrapping the index if out of range. Returns the number of times "wrapped" as a second value.

Much like ‘nth’, this function can only be used on lists. Use ‘elt-wrap’ to index into any kind of sequence. However, keep in mind that ‘elt-wrap’ may be slower when used on large lists.

See also: ‘elt-wrap’

Package

mutility.

Source

mutility.lisp.

Function: open-url (url)

Open a URL via the OS’s default application.

Package

mutility.

Source

mutility.lisp.

Function: output (&rest objects)

Concatenate (as per ‘concat’) and print OBJECTS, returning the last one.

See also: ‘concat’

Package

mutility.

Source

mutility.lisp.

Function: parse-boolean (string &optional default)

Parse STRING as a boolean, returning either t or nil, or DEFAULT if it is not a known boolean string.

Package

mutility.

Source

mutility.lisp.

Function: pathname-designator-p (object)

True if OBJECT is a ‘pathname-designator’, i.e. a string or pathname.

Package

mutility.

Source

mutility.lisp.

Function: pretty-print-tree (tree &optional indent)

Pretty print TREE, indenting the elements of each sublist.

Package

mutility.

Source

mutility.lisp.

Function: random-coin (&optional probability)

Randomly return true with a probability of PROBABILITY/1.

Package

mutility.

Source

mutility.lisp.

Function: random-gauss (mean standard-deviation)

Generate a random number from a normal (Gaussian) distribution.

See also: ‘random-range’, ‘exponential-random-range’, ‘alexandria:gaussian-random’

Package

mutility.

Source

mutility.lisp.

Function: random-range (low &optional high)

Return a random number between LOW and HIGH, inclusive. If HIGH is not provided, act the same as (random LOW).

See also: ‘exponential-random-range’, ‘random-gauss’

Package

mutility.

Source

mutility.lisp.

Function: reintern (symbol &optional package)

Deprecated function; recommend using ‘alexandria:ensure-symbol’ instead.

Package

mutility.

Source

mutility.lisp.

Function: replace-all (string part replacement &key test)

Get a new string in which all the occurences of the part is replaced with replacement.

See also: ‘cl-ppcre:regex-replace-all’

Package

mutility.

Source

mutility.lisp.

Function: restore-hash-table (filename &rest make-hash-table-args)

Restore a hash table from a file saved with the ‘save-hash-table’ function.

Example:

;; (restore-hash-table "/home/user/blah.hash")
;; ;=> #<HASH-TABLE ...>

See also: ‘save-hash-table’

Package

mutility.

Source

mutility.lisp.

Reader: ringbuffer-array (instance)

The actual array object that contains the ringbuffer data.

See also: ‘ringbuffer-size’, ‘ringbuffer-index’, ‘ringbuffer-length’, ‘ringbuffer-initial-element’

Package

mutility.

Source

ringbuffer.lisp.

Target Slot

array.

Writer: (setf ringbuffer-array) (instance)
Package

mutility.

Source

ringbuffer.lisp.

Target Slot

array.

Function: ringbuffer-elt (ringbuffer &optional index)

Get the element at INDEX in RINGBUFFER. Defaults to the most recent element pushed.

See also: ‘ringbuffer-get’, ‘ringbuffer-push’, ‘ringbuffer-size’, ‘ringbuffer-index’, ‘ringbuffer-initial-element’, ‘ringbuffer’

Package

mutility.

Source

ringbuffer.lisp.

Function: (setf ringbuffer-elt) (ringbuffer &optional index)
Package

mutility.

Source

ringbuffer.lisp.

Function: ringbuffer-get (ringbuffer)

Get the oldest element from RINGBUFFER, removing it in the process.

See also: ‘ringbuffer-pop’, ‘ringbuffer-elt’, ‘ringbuffer-push’, ‘ringbuffer-size’, ‘ringbuffer-index’, ‘ringbuffer-initial-element’, ‘ringbuffer’

Package

mutility.

Source

ringbuffer.lisp.

Reader: ringbuffer-index (instance)

The current index into the ringbuffer that new elements will be pushed to.

See also: ‘ringbuffer-length’, ‘ringbuffer-size’, ‘ringbuffer-initial-element’

Package

mutility.

Source

ringbuffer.lisp.

Target Slot

index.

Writer: (setf ringbuffer-index) (instance)
Package

mutility.

Source

ringbuffer.lisp.

Target Slot

index.

Reader: ringbuffer-initial-element (instance)

The initial element that each cell in the ringbuffer defaults to, and is set to when the cell is ‘ringbuffer-pop’ped or ‘ringbuffer-get’ed.

See also: ‘ringbuffer-size’, ‘ringbuffer-index’, ‘ringbuffer-length’

Package

mutility.

Source

ringbuffer.lisp.

Target Slot

initial-element.

Writer: (setf ringbuffer-initial-element) (instance)
Package

mutility.

Source

ringbuffer.lisp.

Target Slot

initial-element.

Reader: ringbuffer-length (instance)

The length of the ringbuffer, i.e. the number of items currently in it. It is always a number in the range from 0 to ‘ringbuffer-size’.

See also: ‘ringbuffer-index’, ‘ringbuffer-size’, ‘ringbuffer-initial-element’

Package

mutility.

Source

ringbuffer.lisp.

Target Slot

length.

Writer: (setf ringbuffer-length) (instance)
Package

mutility.

Source

ringbuffer.lisp.

Target Slot

length.

Function: ringbuffer-pop (ringbuffer)

Get the element most recently pushed to RINGBUFFER, removing it and decreasing the ‘ringbuffer-index’ to point at the next most recent element.

See also: ‘ringbuffer-get’, ‘ringbuffer-elt’, ‘ringbuffer-push’, ‘ringbuffer-size’, ‘ringbuffer-index’, ‘ringbuffer-initial-element’, ‘ringbuffer’

Package

mutility.

Source

ringbuffer.lisp.

Function: ringbuffer-push (ringbuffer &optional object)

Add OBJECT to RINGBUFFER.

See also: ‘ringbuffer-pop’, ‘ringbuffer-get’, ‘ringbuffer-elt’, ‘ringbuffer-size’, ‘ringbuffer-index’, ‘ringbuffer-initial-element’, ‘ringbuffer’

Package

mutility.

Source

ringbuffer.lisp.

Reader: ringbuffer-size (instance)

The maximum size of the ringbuffer.

See also: ‘ringbuffer-length’, ‘ringbuffer-index’, ‘ringbuffer-initial-element’

Package

mutility.

Source

ringbuffer.lisp.

Target Slot

size.

Function: round-by (number &optional by)

Round NUMBER to the nearest multiple of BY.

Examples:

;; (round-by 1 2) ;; => 0
;; (round-by 1.1 0.5) ;; => 1.0
;; (round-by 6 10) ;; => 10

See also: ‘cl:round’, ‘floor-by’, ‘ceiling-by’

Package

mutility.

Source

mutility.lisp.

Function: round-by-direction (number &optional by)

Deprecated; use either ‘floor-by’, ‘ceiling-by’, or ‘round-by’ instead.

Package

mutility.

Source

mutility.lisp.

Function: save-hash-table (hash filename &key if-exists)

Save a hash table to a file. See ‘restore-hash-table’ to load the saved table.

Example:

;; (save-hash-table *my-hash* "/home/user/blah.hash" :if-exists :rename)

See also: ‘restore-hash-table’

Package

mutility.

Source

mutility.lisp.

Function: split-sequence (sequence delimiter)

Split SEQUENCE by DELIMITER.

Package

mutility.

Source

mutility.lisp.

Function: split-string (&rest rest)

Deprecated alias for ‘string-split’.

Package

mutility.

Source

mutility.lisp.

Function: string-designator-p (object)

True if OBJECT is a string-designator, i.e. a string or symbol.

See also: ‘alexandria:string-designator’

Package

mutility.

Source

mutility.lisp.

Function: string-split (string &key max-num char-bag include-empty)

Split STRING into a list of substrings by partitioning by the characters in CHAR-BAG, optionally to a list of maximum size MAX-NUM. If INCLUDE-EMPTY is true, include empty strings in the resulting list (and length count); otherwise exclude them.

Example:

;; (split-string "this that the other thing")
;; ;=> ("this" "that" "the" "other" "thing")

;; (split-string " foo bar baz qux " :max-num 2)
;; ;=> ("foo" "bar baz qux ")

See also: ‘split-sequence’, ‘str:split’, ‘split-sequence:split-sequence’

Package

mutility.

Source

mutility.lisp.

Function: subseq* (sequence start &optional end)

Like subseq, but allows start and end to be negative.

Package

mutility.

Source

mutility.lisp.

Function: un-intern (symbol)

Deprecated alias for ‘string-downcase’.

Package

mutility.

Source

mutility.lisp.

Function: upcase-intern (string &optional package)

Uppercase and convert STRING into a symbol.

See also: ‘alexandria:ensure-symbol’, ‘string-downcase’

Package

mutility.

Source

mutility.lisp.

Function: vowel-char-p (char)

True if CHAR is a vowel character (i.e. a, e, i, o, or u). Y and w are not tested.

See also: ‘cl:alpha-char-p’, ‘cl:digit-char-p’, ‘cl:graphic-char-p’, ‘cl:standard-char-p’

Package

mutility.

Source

mutility.lisp.

Function: wrap (number &optional bottom top)

Wraps a number between BOTTOM and TOP, similar to ‘cl:mod’.

Examples:

;; (wrap 2 0 1) ;; => 0
;; (wrap 5 0 10) ;; => 5
;; (wrap 15 0 10) ;; => 4

See also: ‘fold’, ‘cl:mod’, ‘alexandria:clamp’

Package

mutility.

Source

mutility.lisp.


5.1.4 Generic functions

Generic Function: keys (object)

Get the keys of OBJECT, whether it be a plist, hash table, etc.

Package

mutility.

Source

mutility.lisp.

Methods
Method: keys ((object hash-table))
Method: keys ((object cons))
Method: keys ((object null))
Generic Reader: no-dictionary-entry-dictionary (condition)

The dictionary object itself.

Package

mutility.

Methods
Reader Method: no-dictionary-entry-dictionary ((condition no-dictionary-entry))
Source

mutility.lisp.

Target Slot

dictionary.

Generic Reader: no-dictionary-entry-dictionary-name (condition)

The name of the dictionary.

Package

mutility.

Methods
Reader Method: no-dictionary-entry-dictionary-name ((condition no-dictionary-entry))
Source

mutility.lisp.

Target Slot

dictionary-name.

Generic Reader: no-dictionary-entry-entry (condition)

The name of the entry being looked up.

Package

mutility.

Methods
Reader Method: no-dictionary-entry-entry ((condition no-dictionary-entry))
Source

mutility.lisp.

Target Slot

entry.


5.1.5 Conditions

Condition: no-dictionary-entry

Condition for when a dictionary entry is not found.

Package

mutility.

Source

mutility.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: entry

The name of the entry being looked up.

Initargs

:entry

Readers

no-dictionary-entry-entry.

Writers

This slot is read-only.

Slot: dictionary-name

The name of the dictionary.

Initargs

:dictionary-name

Readers

no-dictionary-entry-dictionary-name.

Writers

This slot is read-only.

Slot: dictionary

The dictionary object itself.

Initargs

:dictionary

Readers

no-dictionary-entry-dictionary.

Writers

This slot is read-only.


Next: , Previous: , Up: Public Interface   [Contents][Index]

5.1.6 Structures

Structure: ringbuffer

A ringbuffer, also known as a circular buffer. Items can be pushed onto it and popped from it just like a regular stack, except that has a finite size. After SIZE elements are pushed to it, the next push overwrites the least recent element.

Package

mutility.

Source

ringbuffer.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: size
Type

integer

Initform

10

Readers

ringbuffer-size.

Writers

This slot is read-only.

Slot: index
Type

integer

Initform

0

Readers

ringbuffer-index.

Writers

(setf ringbuffer-index).

Slot: length
Package

common-lisp.

Type

integer

Initform

0

Readers

ringbuffer-length.

Writers

(setf ringbuffer-length).

Slot: initial-element
Readers

ringbuffer-initial-element.

Writers

(setf ringbuffer-initial-element).

Slot: array
Package

common-lisp.

Readers

ringbuffer-array.

Writers

(setf ringbuffer-array).


Previous: , Up: Public Interface   [Contents][Index]

5.1.7 Types

Type: pathname-designator ()

An object that can be used to designate a pathname, i.e. a string or pathname.

Package

mutility.

Source

mutility.lisp.


5.2 Internals


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

5.2.1 Special variables

Special Variable: *deprecated-function-style-warning-length-upto-notified-p*
Package

mutility.

Source

mutility.lisp.

Special Variable: *deprecated-function-style-warning-my-intern-notified-p*
Package

mutility.

Source

mutility.lisp.

Special Variable: *deprecated-function-style-warning-reintern-notified-p*
Package

mutility.

Source

mutility.lisp.

Special Variable: *deprecated-function-style-warning-split-string-notified-p*
Package

mutility.

Source

mutility.lisp.

Special Variable: *deprecated-function-style-warning-un-intern-notified-p*
Package

mutility.

Source

mutility.lisp.

Special Variable: *deprecated-function-warning-round-by-direction-notified-p*
Package

mutility.

Source

mutility.lisp.


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

5.2.2 Ordinary functions

Function: %make-ringbuffer (&key size index length initial-element array)
Package

mutility.

Source

ringbuffer.lisp.

Function: copy-ringbuffer (instance)
Package

mutility.

Source

ringbuffer.lisp.

Function: expand-ranges (list)

Expand ranges denoted by a..b in list.

Example:

;; (expand-ranges ’(0..5 -2..2)) ;; => (0 1 2 3 4 5 -2 -1 0 1 2)

Package

mutility.

Source

mutility.lisp.

Function: prepend-list-to-sublists (list)

Prepend the symbol ’list to LIST and all of its sublists.

Package

mutility.

Source

mutility.lisp.

Function: random-range.new (low &optional high)

Return a random number between LOW and HIGH, inclusive. If HIGH is not provided, act the same as (random LOW).

Package

mutility.

Source

mutility.lisp.

Function: repeat (item num)

Get a list containing NUM ITEMs. If ITEM is a function, return a list of NUM of the result of that function.

Example:

;; (repeat (lambda () (random 10)) 10)
;; ;=> (7 0 6 6 7 9 8 1 9 8)

Package

mutility.

Source

mutility.lisp.

Function: repeat-by (object repeats &optional add-list)

Returns a list of object repeated REPEATS times. If REPEATS is a list of multiple numbers, recursively repeat the generated lists.

When ADD-LIST is true, prepend ’list to each generated list.

Example:

;; (repeat-by 3 3)
;; => (3 3 3)
;;
;; (repeat-by 3 ’(3 2))
;; => ((3 3 3) (3 3 3))

See also: ‘repeat-by-!’, ‘a’

Package

mutility.

Source

mutility.lisp.

Function: repeat-by-! (list &optional add-list)

Given LIST, repeat items marked with ! by the number after the !.

When ADD-LIST is true, prepend ’list to each generated list. This is useful if you’re using this function in a macro, such as the ‘a’ macro, which this function does all the heavy lifting for.

Examples:

;; (repeat-by-! ’(1!2))
;; => (1 1)
;;
;; (repeat-by-! ’(1!2!3))
;; => ((1 1) (1 1) (1 1))
;;
;; (repeat-by-! ’(1 (* 2 3)!2))
;; => (1 (* 2 3) (* 2 3))

See also: ‘repeat-by’, ‘a’

Package

mutility.

Source

mutility.lisp.

Function: ringbuffer-p (object)
Package

mutility.

Source

ringbuffer.lisp.

Function: split-by-! (string)

Split STRING up by exclamation points.

Package

mutility.

Source

mutility.lisp.


Appendix A Indexes


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

A.1 Concepts


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

A.2 Functions

Jump to:   %   (  
A   C   D   E   F   G   I   K   L   M   N   O   P   R   S   U   V   W  
Index Entry  Section

%
%make-ringbuffer: Private ordinary functions

(
(setf ringbuffer-array): Public ordinary functions
(setf ringbuffer-elt): Public ordinary functions
(setf ringbuffer-index): Public ordinary functions
(setf ringbuffer-initial-element): Public ordinary functions
(setf ringbuffer-length): Public ordinary functions

A
a: Public macros
affixnew: Public macros
approx=: Public ordinary functions

C
ceiling-by: Public ordinary functions
Compiler Macro, length-upto: Public compiler macros
Compiler Macro, my-intern: Public compiler macros
Compiler Macro, reintern: Public compiler macros
Compiler Macro, round-by-direction: Public compiler macros
Compiler Macro, split-string: Public compiler macros
Compiler Macro, un-intern: Public compiler macros
concat: Public ordinary functions
copy-ringbuffer: Private ordinary functions
current-seconds: Public ordinary functions
cut: Public macros

D
define-dictionary: Public macros
do-ringbuffer: Public macros
dprint: Public macros

E
elt-wrap: Public ordinary functions
expand-ranges: Private ordinary functions
exponential-random-range: Public ordinary functions

F
find-any: Public ordinary functions
find-if*: Public ordinary functions
flatten-1: Public ordinary functions
floor-by: Public ordinary functions
fn: Public macros
fold: Public ordinary functions
friendly-duration-string: Public ordinary functions
friendly-ratio-string: Public ordinary functions
friendly-string: Public ordinary functions
friendly-symbol: Public ordinary functions
Function, %make-ringbuffer: Private ordinary functions
Function, (setf ringbuffer-array): Public ordinary functions
Function, (setf ringbuffer-elt): Public ordinary functions
Function, (setf ringbuffer-index): Public ordinary functions
Function, (setf ringbuffer-initial-element): Public ordinary functions
Function, (setf ringbuffer-length): Public ordinary functions
Function, approx=: Public ordinary functions
Function, ceiling-by: Public ordinary functions
Function, concat: Public ordinary functions
Function, copy-ringbuffer: Private ordinary functions
Function, current-seconds: Public ordinary functions
Function, elt-wrap: Public ordinary functions
Function, expand-ranges: Private ordinary functions
Function, exponential-random-range: Public ordinary functions
Function, find-any: Public ordinary functions
Function, find-if*: Public ordinary functions
Function, flatten-1: Public ordinary functions
Function, floor-by: Public ordinary functions
Function, fold: Public ordinary functions
Function, friendly-duration-string: Public ordinary functions
Function, friendly-ratio-string: Public ordinary functions
Function, friendly-string: Public ordinary functions
Function, friendly-symbol: Public ordinary functions
Function, function-arglist: Public ordinary functions
Function, generate-temporary-file-name: Public ordinary functions
Function, insert-if: Public ordinary functions
Function, insert-sorted: Public ordinary functions
Function, left-trim: Public ordinary functions
Function, length-upto: Public ordinary functions
Function, lisp-connections: Public ordinary functions
Function, list-length-upto: Public ordinary functions
Function, list-length>: Public ordinary functions
Function, list-length>=: Public ordinary functions
Function, locate-dominating-file: Public ordinary functions
Function, make-ringbuffer: Public ordinary functions
Function, most: Public ordinary functions
Function, my-intern: Public ordinary functions
Function, near-zero-p: Public ordinary functions
Function, nth-wrap: Public ordinary functions
Function, open-url: Public ordinary functions
Function, output: Public ordinary functions
Function, parse-boolean: Public ordinary functions
Function, pathname-designator-p: Public ordinary functions
Function, prepend-list-to-sublists: Private ordinary functions
Function, pretty-print-tree: Public ordinary functions
Function, random-coin: Public ordinary functions
Function, random-gauss: Public ordinary functions
Function, random-range: Public ordinary functions
Function, random-range.new: Private ordinary functions
Function, reintern: Public ordinary functions
Function, repeat: Private ordinary functions
Function, repeat-by: Private ordinary functions
Function, repeat-by-!: Private ordinary functions
Function, replace-all: Public ordinary functions
Function, restore-hash-table: Public ordinary functions
Function, ringbuffer-array: Public ordinary functions
Function, ringbuffer-elt: Public ordinary functions
Function, ringbuffer-get: Public ordinary functions
Function, ringbuffer-index: Public ordinary functions
Function, ringbuffer-initial-element: Public ordinary functions
Function, ringbuffer-length: Public ordinary functions
Function, ringbuffer-p: Private ordinary functions
Function, ringbuffer-pop: Public ordinary functions
Function, ringbuffer-push: Public ordinary functions
Function, ringbuffer-size: Public ordinary functions
Function, round-by: Public ordinary functions
Function, round-by-direction: Public ordinary functions
Function, save-hash-table: Public ordinary functions
Function, split-by-!: Private ordinary functions
Function, split-sequence: Public ordinary functions
Function, split-string: Public ordinary functions
Function, string-designator-p: Public ordinary functions
Function, string-split: Public ordinary functions
Function, subseq*: Public ordinary functions
Function, un-intern: Public ordinary functions
Function, upcase-intern: Public ordinary functions
Function, vowel-char-p: Public ordinary functions
Function, wrap: Public ordinary functions
function-arglist: Public ordinary functions

G
generate-temporary-file-name: Public ordinary functions
Generic Function, keys: Public generic functions
Generic Function, no-dictionary-entry-dictionary: Public generic functions
Generic Function, no-dictionary-entry-dictionary-name: Public generic functions
Generic Function, no-dictionary-entry-entry: Public generic functions

I
insert-if: Public ordinary functions
insert-sorted: Public ordinary functions

K
keys: Public generic functions
keys: Public generic functions
keys: Public generic functions
keys: Public generic functions

L
left-trim: Public ordinary functions
length-upto: Public compiler macros
length-upto: Public ordinary functions
lisp-connections: Public ordinary functions
list-length-upto: Public ordinary functions
list-length>: Public ordinary functions
list-length>=: Public ordinary functions
locate-dominating-file: Public ordinary functions

M
Macro, a: Public macros
Macro, affixnew: Public macros
Macro, cut: Public macros
Macro, define-dictionary: Public macros
Macro, do-ringbuffer: Public macros
Macro, dprint: Public macros
Macro, fn: Public macros
Macro, with-access: Public macros
make-ringbuffer: Public ordinary functions
Method, keys: Public generic functions
Method, keys: Public generic functions
Method, keys: Public generic functions
Method, no-dictionary-entry-dictionary: Public generic functions
Method, no-dictionary-entry-dictionary-name: Public generic functions
Method, no-dictionary-entry-entry: Public generic functions
most: Public ordinary functions
my-intern: Public compiler macros
my-intern: Public ordinary functions

N
near-zero-p: Public ordinary functions
no-dictionary-entry-dictionary: Public generic functions
no-dictionary-entry-dictionary: Public generic functions
no-dictionary-entry-dictionary-name: Public generic functions
no-dictionary-entry-dictionary-name: Public generic functions
no-dictionary-entry-entry: Public generic functions
no-dictionary-entry-entry: Public generic functions
nth-wrap: Public ordinary functions

O
open-url: Public ordinary functions
output: Public ordinary functions

P
parse-boolean: Public ordinary functions
pathname-designator-p: Public ordinary functions
prepend-list-to-sublists: Private ordinary functions
pretty-print-tree: Public ordinary functions

R
random-coin: Public ordinary functions
random-gauss: Public ordinary functions
random-range: Public ordinary functions
random-range.new: Private ordinary functions
reintern: Public compiler macros
reintern: Public ordinary functions
repeat: Private ordinary functions
repeat-by: Private ordinary functions
repeat-by-!: Private ordinary functions
replace-all: Public ordinary functions
restore-hash-table: Public ordinary functions
ringbuffer-array: Public ordinary functions
ringbuffer-elt: Public ordinary functions
ringbuffer-get: Public ordinary functions
ringbuffer-index: Public ordinary functions
ringbuffer-initial-element: Public ordinary functions
ringbuffer-length: Public ordinary functions
ringbuffer-p: Private ordinary functions
ringbuffer-pop: Public ordinary functions
ringbuffer-push: Public ordinary functions
ringbuffer-size: Public ordinary functions
round-by: Public ordinary functions
round-by-direction: Public compiler macros
round-by-direction: Public ordinary functions

S
save-hash-table: Public ordinary functions
split-by-!: Private ordinary functions
split-sequence: Public ordinary functions
split-string: Public compiler macros
split-string: Public ordinary functions
string-designator-p: Public ordinary functions
string-split: Public ordinary functions
subseq*: Public ordinary functions

U
un-intern: Public compiler macros
un-intern: Public ordinary functions
upcase-intern: Public ordinary functions

V
vowel-char-p: Public ordinary functions

W
with-access: Public macros
wrap: Public ordinary functions

Jump to:   %   (  
A   C   D   E   F   G   I   K   L   M   N   O   P   R   S   U   V   W  

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

A.3 Variables

Jump to:   *  
A   D   E   I   L   S  
Index Entry  Section

*
*deprecated-function-style-warning-length-upto-notified-p*: Private special variables
*deprecated-function-style-warning-my-intern-notified-p*: Private special variables
*deprecated-function-style-warning-reintern-notified-p*: Private special variables
*deprecated-function-style-warning-split-string-notified-p*: Private special variables
*deprecated-function-style-warning-un-intern-notified-p*: Private special variables
*deprecated-function-warning-round-by-direction-notified-p*: Private special variables

A
array: Public structures

D
dictionary: Public conditions
dictionary-name: Public conditions

E
entry: Public conditions

I
index: Public structures
initial-element: Public structures

L
length: Public structures

S
size: Public structures
Slot, array: Public structures
Slot, dictionary: Public conditions
Slot, dictionary-name: Public conditions
Slot, entry: Public conditions
Slot, index: Public structures
Slot, initial-element: Public structures
Slot, length: Public structures
Slot, size: Public structures
Special Variable, *deprecated-function-style-warning-length-upto-notified-p*: Private special variables
Special Variable, *deprecated-function-style-warning-my-intern-notified-p*: Private special variables
Special Variable, *deprecated-function-style-warning-reintern-notified-p*: Private special variables
Special Variable, *deprecated-function-style-warning-split-string-notified-p*: Private special variables
Special Variable, *deprecated-function-style-warning-un-intern-notified-p*: Private special variables
Special Variable, *deprecated-function-warning-round-by-direction-notified-p*: Private special variables

Jump to:   *  
A   D   E   I   L   S