The cl-dsl Reference Manual

Table of Contents

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

The cl-dsl Reference Manual

This is the cl-dsl Reference Manual, version 0.1, generated automatically by Declt version 2.4 "Will Decker" on Wed Jun 20 11:04:08 2018 GMT+0.


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

1 Introduction

cl-dsl

Easily define domain specific languages.

    ;; define auxillary macros and functions
    MY-PACKAGE> (defmacro foo () ...)
    MY-PACKAGE> (defun bar () ...)
    ;; define a master-macro of your DSL
    MY-PACKAGE> (defmacro dsl (with-macrolets (foo) (with-flets (bar) ....)))
    ;; now it can be used like this, no need to explicitly import FOO
    CL-USER>    (my-package:dsl (foo 1 2 3))
    ;; Outside MY-PACKAGE:DSL FOO may well mean something else.
    CL-USER>    (foo "blah blah blah")

Domain specific language usually consists of a set of certain macros and functions. Usually almost all of these macros and functions make sense only when used inside a "master-macro" form (Characteristic example of this is ITERATE - domain specific language for iteration).

If one wants to deploy his newly written DSL as a package, one faces a problem: how to make all these symbols accessible in other packages.

There are several obvious choices:

This package provides third, I believe, smarter, choice. It exports two utility functions - WITH-MACROLETS and WITH-FLETS. Then you define your DSL as follows:


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 cl-dsl

Author

Alexander Popolitov <popolit@gmail.com>

License

GPL

Description

Easily define domain specific languages

Version

0.1

Source

cl-dsl.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 cl-dsl.asd

Location

cl-dsl.asd

Systems

cl-dsl (system)


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

3.1.2 cl-dsl/package.lisp

Parent

cl-dsl (system)

Location

package.lisp

Packages

cl-dsl


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

3.1.3 cl-dsl/cl-dsl.lisp

Dependency

package.lisp (file)

Parent

cl-dsl (system)

Location

cl-dsl.lisp

Exported Definitions

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

4 Packages

Packages are listed by definition order.


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

4.1 cl-dsl

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions

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 Functions

Function: with-flets WOULD-BE-FLETS BODY
Package

cl-dsl

Source

cl-dsl.lisp (file)

Function: with-macrolets WOULD-BE-MACROLETS BODY
Package

cl-dsl

Source

cl-dsl.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   C   F   L  
Index Entry  Section

C
cl-dsl.asd: The cl-dsl<dot>asd file
cl-dsl/cl-dsl.lisp: The cl-dsl/cl-dsl<dot>lisp file
cl-dsl/package.lisp: The cl-dsl/package<dot>lisp file

F
File, Lisp, cl-dsl.asd: The cl-dsl<dot>asd file
File, Lisp, cl-dsl/cl-dsl.lisp: The cl-dsl/cl-dsl<dot>lisp file
File, Lisp, cl-dsl/package.lisp: The cl-dsl/package<dot>lisp file

L
Lisp File, cl-dsl.asd: The cl-dsl<dot>asd file
Lisp File, cl-dsl/cl-dsl.lisp: The cl-dsl/cl-dsl<dot>lisp file
Lisp File, cl-dsl/package.lisp: The cl-dsl/package<dot>lisp file

Jump to:   C   F   L  

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

A.2 Functions

Jump to:   F   W  
Index Entry  Section

F
Function, with-flets: Exported functions
Function, with-macrolets: Exported functions

W
with-flets: Exported functions
with-macrolets: Exported functions

Jump to:   F   W  

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

A.3 Variables


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

A.4 Data types

Jump to:   C   P   S  
Index Entry  Section

C
cl-dsl: The cl-dsl system
cl-dsl: The cl-dsl package

P
Package, cl-dsl: The cl-dsl package

S
System, cl-dsl: The cl-dsl system

Jump to:   C   P   S