GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Overview
  • API Index
  • clojure.core
  • clojure.data
  • clojure.datafy
  • clojure.edn
  • clojure.inspector
  • clojure.instant
  • clojure.java.basis
  • clojure.java.browse
  • clojure.java.io
  • clojure.java.javadoc
  • clojure.java.process
  • clojure.java.shell

This view

  • Original page
  • New address

GeezerVison is showing clojure.github.io — clojure.walk - Clojure v1.12.4 API documentation

Clojure

Clojure Core API Reference

Clojure v1.12.4 API
  • Overview
  • API Index
Namespaces
  • clojure.core
  • clojure.data
  • clojure.datafy
  • clojure.edn
  • clojure.inspector
  • clojure.instant
  • clojure.java.basis
  • clojure.java.browse
  • clojure.java.io
  • clojure.java.javadoc
  • clojure.java.process
  • clojure.java.shell
  • clojure.main
  • clojure.math
  • clojure.pprint
  • clojure.reflect
  • clojure.repl
  • clojure.set
  • clojure.stacktrace
  • clojure.string
  • clojure.template
  • clojure.test
  • clojure.tools.deps.interop
  • clojure.walk
  • clojure.xml
  • clojure.zip
Other Versions
  • v1.12.3 (stable)
  • v1.13 (in development)
  • v1.11.4 (legacy)
  • v1.10.3 (legacy)
  • v1.9 (legacy)
  • v1.8 (legacy)
  • v1.7 (legacy)
  • v1.6 (legacy)
  • v1.5 (legacy)
  • v1.4 (legacy)
  • v1.3 (legacy)
  • v1.2 (legacy)
  • v1.1 (legacy)
Clojure Home

Table of Contents

Overview
Vars and Functions
keywordize-keys
macroexpand-all
postwalk
postwalk-demo
postwalk-replace
prewalk
prewalk-demo
prewalk-replace
stringify-keys
walk

API for clojure.walk - Clojure v1.12.4 (stable)

by Stuart Sierra

Full namespace name: clojure.walk

Overview

This file defines a generic tree walker for Clojure data
structures.  It takes any data structure (list, vector, map, set,
seq), calls a function on every element, and uses the return value
of the function in place of the original.  This makes it fairly
easy to write recursive search-and-replace functions, as shown in
the examples.

Note: "walk" supports all Clojure data structures EXCEPT maps
created with sorted-map-by.  There is no (obvious) way to retrieve
the sorting function.

Public Variables and Functions



keywordize-keys

function
Usage: (keywordize-keys m)
Recursively transforms all map keys from strings to keywords.

    Added in Clojure version 1.1
Source


macroexpand-all

function
Usage: (macroexpand-all form)
Recursively performs all possible macroexpansions in form.

    Added in Clojure version 1.1
Source


postwalk

function
Usage: (postwalk f form)
Performs a depth-first, post-order traversal of form.  Calls f on
each sub-form, uses f's return value in place of the original.
Recognizes all Clojure data structures. Consumes seqs as with doall.

    Added in Clojure version 1.1
Source


postwalk-demo

function
Usage: (postwalk-demo form)
Demonstrates the behavior of postwalk by printing each form as it is
walked.  Returns form.

    Added in Clojure version 1.1
Source


postwalk-replace

function
Usage: (postwalk-replace smap form)
Recursively transforms form by replacing keys in smap with their
values.  Like clojure/replace but works on any data structure.  Does
replacement at the leaves of the tree first.

    Added in Clojure version 1.1
Source


prewalk

function
Usage: (prewalk f form)
Like postwalk, but does pre-order traversal.

    Added in Clojure version 1.1
Source


prewalk-demo

function
Usage: (prewalk-demo form)
Demonstrates the behavior of prewalk by printing each form as it is
walked.  Returns form.

    Added in Clojure version 1.1
Source


prewalk-replace

function
Usage: (prewalk-replace smap form)
Recursively transforms form by replacing keys in smap with their
values.  Like clojure/replace but works on any data structure.  Does
replacement at the root of the tree first.

    Added in Clojure version 1.1
Source


stringify-keys

function
Usage: (stringify-keys m)
Recursively transforms all map keys from keywords to strings.

    Added in Clojure version 1.1
Source


walk

function
Usage: (walk inner outer form)
Traverses form, an arbitrary data structure.  inner and outer are
functions.  Applies inner to each element of form, building up a
data structure of the same type, then applies outer to the result.
Recognizes all Clojure data structures. Consumes seqs as with doall.

    Added in Clojure version 1.1
Source
Copyright 2007-2025 by Rich Hickey
Logo & site design by Tom Hickey.
Clojure auto-documentation system by Tom Faulhaber.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.