The portmanteau Reference Manual

This is the portmanteau Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sat Dec 03 20:32:59 2022 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 portmanteau

cl-portmanteau

Author

Sergey Polzunov <>

License

OSI approved 3-clause ’New BSD License’

Dependency

vom (system).

Source

portmanteau.asd.

Child Component

portmanteau.lisp (file).


3 Files

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


3.1 Lisp


3.1.1 portmanteau/portmanteau.asd

Source

portmanteau.asd.

Parent Component

portmanteau (system).

ASDF Systems

portmanteau.


3.1.2 portmanteau/portmanteau.lisp

Source

portmanteau.asd.

Parent Component

portmanteau (system).

Packages

portmanteau.

Public Interface

portmanteau (function).

Internals

4 Packages

Packages are listed by definition order.


4.1 portmanteau

Source

portmanteau.lisp.

Use List

common-lisp.

Public Interface

portmanteau (function).

Internals

5 Definitions

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


5.1 Public Interface


5.1.1 Ordinary functions

Function: portmanteau (word-a word-b &key max-win-size)

Calculate portmanteau of 2 input words

Package

portmanteau.

Source

portmanteau.lisp.


5.2 Internals


5.2.1 Special variables

Special Variable: *margin*
Package

portmanteau.

Source

portmanteau.lisp.

Special Variable: *min-word-size*
Package

portmanteau.

Source

portmanteau.lisp.


5.2.2 Ordinary functions

Function: calculate-max-window-size (word-a word-b)

Calulate max matching window size from the size
of input words by dividing length of the longest word by 3. The result must not be less than 3

Package

portmanteau.

Source

portmanteau.lisp.

Function: contains-vowel (word)
Package

portmanteau.

Source

portmanteau.lisp.

Function: filter-out-without-vowels (seq)
Package

portmanteau.

Source

portmanteau.lisp.

Function: find-matches (seq-a seq-b word-b-size)
Package

portmanteau.

Source

portmanteau.lisp.

Function: is-far-enough-from-end (idx elem word-len)

Check if the beginning of an element is placed no closer than *margin* from the end of the string

Package

portmanteau.

Source

portmanteau.lisp.

Function: is-far-enough-from-start (idx elem)

Check if the end of an element is placed no closer than *margin* from the beginning of the string

Package

portmanteau.

Source

portmanteau.lisp.

Function: is-long-enough (word &key size)
Package

portmanteau.

Source

portmanteau.lisp.

Function: merge-words (word-a index-a word-b index-b)
Package

portmanteau.

Source

portmanteau.lisp.

Function: run-moving-window (word size)
Package

portmanteau.

Source

portmanteau.lisp.

Function: valid-result (result word-a word-b)

Validate result word.
Criteria:
- result must not be smaller than one of the input words

Package

portmanteau.

Source

portmanteau.lisp.


Appendix A Indexes


A.1 Concepts