[ Reference Manual | Alphabetic Index ]

# library(apply_macros)

Utilities to apply a predicate to all elements of a list resp. all subterms of a term [more]

## Predicates

> applist(+Pred, +List)
>   Apply a predicate to all list elements
> appnodes(+Pred, +Term)
>   Call Pred on all Subterms of Term (depth-first and left-to-right order)
> checklist(+Pred, +List)
>   Apply a predicate to all list elements
> fromto(+From, +To, +Step, +Pred)
>   Call Pred with the numbers From..To in increments of Step
> mapargs(+Pred, +TermIn, ?TermOut)
>   Create new term by applying a predicate to all arguments
> maplist(+Pred, +ListIn, ?ListOut)
>   Create new list by applying a predicate to all list elements
> mapstream(+Pred, ?ListIn, ?ListOut)
>   Like maplist/3, but delays if ListIn is not complete
> selectlist(+Pred, +ListIn, ?ListOut)
>   Creates output list of all list elements that pass a given test
> sumargs(+Pred, +Term, ?AccIn, ?AccOut)
>   Call Pred on all arguments of Term and collect a result in Accumulator
> sumlist(+Pred, +List, ?AccIn, ?AccOut)
>   Call Pred on all element of List and collect a result in Accumulator
> sumnodes(+Pred, +Term, ?AccIn, ?AccOut)
>   Call Pred on all Subterms of Term and collect a result in Accumulator

## Description

Note that this library is largely superseded by the do-loop construct!

A collection of utilities to apply a predicate to all elements of a list resp. all subterm of a term. To avoid performance degradation due to apply/2, they are implemented as macros, i.e. they are specialized into auxiliary predicates without metacalls, and the calls are translated into calls of the auxiliary predicates.

## About

- Author: Joachim Schimpf, ECRC Munich
- Copyright © Cisco Systems, Inc
- Date: $Date: 2016/07/24 19:34:44 $

Generated from apply_macros.eci on 2020-02-26 22:26