The arrow-macros Reference Manual

Table of Contents

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

The arrow-macros Reference Manual

This is the arrow-macros Reference Manual, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 02:54:51 2018 GMT+0.


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

1 Introduction

Arrow-macros

Arrow-macros provides clojure-like arrow macros (ex. ->, ->>) and diamond wands in swiss-arrows (https://github.com/rplevy/swiss-arrows).

Build Status

Examples

(-> 1 (+ 2 3) #'1+ 1+ (lambda (x) (+ x 1)) (1+)) ; => 10
(->> (list 1 2 3 4 5)
  (mapcar #'1+)
  (reduce #'+)) ; => 20
(-<> "abcdefghijklmnopqrstuvwxyz"
  (ppcre:scan-to-strings "j.*q" <>)
  (sort #'string>)
  (string-upcase :end 1)) ; => "Qponmlkj"
(-> (get-some-webpage-uri id)
  drakma:http-request
  babel:octets-to-string
  json->list)

APIs

Clojure-like macros

These macro functions are equivalent to clojure's ones.

Diamond wands

These wonderful macros are developed in clojure's library swiss-arrows (https://github.com/rplevy/swiss-arrows). These macro functions are equivalent to them too.

Installation

(ql:quickload :arrow-macros)

Notes

(June 2015)

Build verified on sbcl, ccl, abcl, allegro, clisp. But diamond-wand tests fail on abcl, allegro, clisp. Failed on ecl while loading hu.dwim.walker. Not tested on cmucl. (contributed by guicho271828, thanks!)

(May 7, 2015)

On sbcl for windows, arrow-macros can be built now.

(April 9, 2015)

If you use sbcl on windows, this library could not be built on your system. Because this library uses hu.dwim.util (via hu.dwim.walker) on current version (see issue #1) and the quicklisp dist update in April 2015 has not included hu.dwim.util latest updates. This would be resolved in the next month quicklisp dist update, probably. But if you want to use this library on sbcl for windows immediately, version 0.2.1 is available. (This version has issue #1 problem, but it is edge case, I think)

License

Arrow-macros is under the MIT License, see LICENSE file.


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 arrow-macros

Author

hipeta

License

MIT

Description

arrow-macros provides clojure-like arrow macros and diamond wands.

Dependency

hu.dwim.walker

Source

arrow-macros.asd (file)

Component

arrow-macros.lisp (file)


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 arrow-macros.asd

Location

arrow-macros.asd

Systems

arrow-macros (system)

Packages

arrow-macros-asd


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

3.1.2 arrow-macros/arrow-macros.lisp

Parent

arrow-macros (system)

Location

arrow-macros.lisp

Packages

arrow-macros

Exported Definitions
Internal Definitions

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

4 Packages

Packages are listed by definition order.


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

4.1 arrow-macros-asd

Source

arrow-macros.asd

Use List

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

4.2 arrow-macros

Source

arrow-macros.lisp (file)

Use List

common-lisp

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


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

5.1.1 Macros

Macro: -<> INIT &body EXPS
Package

arrow-macros

Source

arrow-macros.lisp (file)

Macro: -<>> INIT &body EXPS
Package

arrow-macros

Source

arrow-macros.lisp (file)

Macro: -> INIT &body EXPS
Package

arrow-macros

Source

arrow-macros.lisp (file)

Macro: ->> INIT &body EXPS
Package

arrow-macros

Source

arrow-macros.lisp (file)

Macro: as-> INIT VAR &body EXPS
Package

arrow-macros

Source

arrow-macros.lisp (file)

Macro: cond-> INIT &body EXPS
Package

arrow-macros

Source

arrow-macros.lisp (file)

Macro: cond->> INIT &body EXPS
Package

arrow-macros

Source

arrow-macros.lisp (file)

Macro: some-<> INIT &body EXPS
Package

arrow-macros

Source

arrow-macros.lisp (file)

Macro: some-<>> INIT &body EXPS
Package

arrow-macros

Source

arrow-macros.lisp (file)

Macro: some-> INIT &body EXPS
Package

arrow-macros

Source

arrow-macros.lisp (file)

Macro: some->> INIT &body EXPS
Package

arrow-macros

Source

arrow-macros.lisp (file)


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

5.2 Internal definitions


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

5.2.1 Functions

Function: arrow-macro INIT EXPS &optional >>-P SOME-P
Package

arrow-macros

Source

arrow-macros.lisp (file)

Function: cond-arrow-macro INIT EXPS &optional >>-P
Package

arrow-macros

Source

arrow-macros.lisp (file)

Function: diamond-wand INIT EXPS ENV &optional SPEAR-P SOME-P
Package

arrow-macros

Source

arrow-macros.lisp (file)

Function: has-diamond FORM ENV

Return true when the form uses <> as a variable reference.

Package

arrow-macros

Source

arrow-macros.lisp (file)

Function: has-diamond% FORM ENV
Package

arrow-macros

Source

arrow-macros.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   A   F   L  
Index Entry  Section

A
arrow-macros.asd: The arrow-macros<dot>asd file
arrow-macros/arrow-macros.lisp: The arrow-macros/arrow-macros<dot>lisp file

F
File, Lisp, arrow-macros.asd: The arrow-macros<dot>asd file
File, Lisp, arrow-macros/arrow-macros.lisp: The arrow-macros/arrow-macros<dot>lisp file

L
Lisp File, arrow-macros.asd: The arrow-macros<dot>asd file
Lisp File, arrow-macros/arrow-macros.lisp: The arrow-macros/arrow-macros<dot>lisp file

Jump to:   A   F   L  

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

A.2 Functions

Jump to:   -  
A   C   D   F   H   M   S  
Index Entry  Section

-
-<>: Exported macros
-<>>: Exported macros
->: Exported macros
->>: Exported macros

A
arrow-macro: Internal functions
as->: Exported macros

C
cond->: Exported macros
cond->>: Exported macros
cond-arrow-macro: Internal functions

D
diamond-wand: Internal functions

F
Function, arrow-macro: Internal functions
Function, cond-arrow-macro: Internal functions
Function, diamond-wand: Internal functions
Function, has-diamond: Internal functions
Function, has-diamond%: Internal functions

H
has-diamond: Internal functions
has-diamond%: Internal functions

M
Macro, -<>: Exported macros
Macro, -<>>: Exported macros
Macro, ->: Exported macros
Macro, ->>: Exported macros
Macro, as->: Exported macros
Macro, cond->: Exported macros
Macro, cond->>: Exported macros
Macro, some-<>: Exported macros
Macro, some-<>>: Exported macros
Macro, some->: Exported macros
Macro, some->>: Exported macros

S
some-<>: Exported macros
some-<>>: Exported macros
some->: Exported macros
some->>: Exported macros

Jump to:   -  
A   C   D   F   H   M   S  

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

A.3 Variables


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

A.4 Data types

Jump to:   A   P   S  
Index Entry  Section

A
arrow-macros: The arrow-macros system
arrow-macros: The arrow-macros package
arrow-macros-asd: The arrow-macros-asd package

P
Package, arrow-macros: The arrow-macros package
Package, arrow-macros-asd: The arrow-macros-asd package

S
System, arrow-macros: The arrow-macros system

Jump to:   A   P   S