husk-scheme-3.20: R5RS Scheme interpreter, compiler, and library.
CopyrightJustin Ethier
LicenseMIT (see LICENSE in the distribution)
Maintainergithub.com/justinethier
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Language.Scheme.Macro.Matches

Description

This module contains utility functions used to support macro processing, by storing and/or manipulating data involving 0-or-many matches.

Synopsis

Documentation

getData Source #

Arguments

:: LispVal

The nested list to read from

-> [Int]

Location to read an element from, all numbers are 0-based

-> LispVal

Value read, or Nil if none

Get an element at given location in the nested list

setData Source #

Arguments

:: LispVal

The nested list to modify

-> [Int]

Location to insert the new element, from top-most to the leaf. For example [1, 2] means add to the second top-most list, at its 3rd position.

-> LispVal

Value to insert

-> LispVal

Resulant list

Add an element to the given nested list