The macro-level Reference Manual

Table of Contents

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

The macro-level Reference Manual

This is the macro-level Reference Manual, version 1.0.1, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 04:16:30 2018 GMT+0.


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

1 Introduction

Project's home: http://www.hexstreamsoft.com/projects/macro-level/


MACRO-LEVEL is an embarassingly trivial convenience macro that saves
on indentation while being more concise and direct.


(macro-level
  ...)
==
;; Canonical indentation. MACRO-LEVEL saves 11 spaces.
(macrolet ((m ()
             ...))
  (m))
==
;; "Miser" indentation. MACRO-LEVEL saves 5 spaces.
(macrolet
    ((m ()
       ...))
  (m))


When used as part of a macroexpansion, MACRO-LEVEL also conveniently
relieves the macro implementor from naming and using a gensym for the
one-shot macro when compared to writing out a MACROLET by hand, in
addition to the other advantages.


To use MACRO-LEVEL, simply (macro-level:macro-level ...) after loading
the ASDF system, as this macro is not used that often and the length
won't have any effect on the indentation:

(macro-level:macro-level
  ...)
VS
(macro-level
  ...)

Simply (:import-from #:macro-level #:macro-level) in your DEFPACKAGE
if you prefer the latter form. Don't (:use)!


Support could eventually be added to Slime so that interactive
macroexpansion of MACRO-LEVEL calls with C-c C-m (slime-expand-1)
would show the same expansion as interactively macroexpanding (m ...)
after (defmacro m () ...), assuming the lexical context is not
important.


This library is in the Public Domain.
See the UNLICENSE file for details.


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 macro-level

Author

Jean-Philippe Paradis <hexstream@gmail.com>

License

Public Domain

Description

MACRO-LEVEL is an embarassingly trivial convenience macro that saves on indentation while being more concise and direct. (macro-level ...) == (macrolet ((m () ...)) (m))

Version

1.0.1

Source

macro-level.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 macro-level.asd

Location

macro-level.asd

Systems

macro-level (system)


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

3.1.2 macro-level/package.lisp

Parent

macro-level (system)

Location

package.lisp

Packages

macro-level


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

3.1.3 macro-level/main.lisp

Dependency

package.lisp (file)

Parent

macro-level (system)

Location

main.lisp

Exported Definitions

macro-level (macro)


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

4 Packages

Packages are listed by definition order.


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

4.1 macro-level

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions

macro-level (macro)


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

5 Definitions

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


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

5.1 Exported definitions


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

5.1.1 Macros

Macro: macro-level &body BODY
Package

macro-level

Source

main.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, macro-level.asd: The macro-level<dot>asd file
File, Lisp, macro-level/main.lisp: The macro-level/main<dot>lisp file
File, Lisp, macro-level/package.lisp: The macro-level/package<dot>lisp file

L
Lisp File, macro-level.asd: The macro-level<dot>asd file
Lisp File, macro-level/main.lisp: The macro-level/main<dot>lisp file
Lisp File, macro-level/package.lisp: The macro-level/package<dot>lisp file

M
macro-level.asd: The macro-level<dot>asd file
macro-level/main.lisp: The macro-level/main<dot>lisp file
macro-level/package.lisp: The macro-level/package<dot>lisp file

Jump to:   F   L   M  

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

A.2 Functions

Jump to:   M  
Index Entry  Section

M
Macro, macro-level: Exported macros
macro-level: Exported macros

Jump to:   M  

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
macro-level: The macro-level system
macro-level: The macro-level package

P
Package, macro-level: The macro-level package

S
System, macro-level: The macro-level system

Jump to:   M   P   S