An S-Expression library for Go
Go Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE
Makefile
README
collect.go
collect_test.go
combine.go
combine_test.go
helpers.go
interfaces.go
iterate.go
iterate_test.go
partial_iterate.go
partial_iterate_test.go
reduce.go
reduce_test.go
sexp.go
sexp_benchmark_test.go
sexp_test.go
transform.go
transform_test.go

README

An S-Expression library written in Go.

S-Expressions can be modelled using a variety of structures. This package provides three implementations:

Slice uses an []interface{} as its backing store but is accessed via list semantics. As such it is suited to tasks
where breadth-first search and speed of element access are priorities;

All three S-Expression data structures store interface{} objects and as such can be used to store each other in
arbitrary numbers and to arbitrary depths.

An additional SliceValue type is provides which uses a reflect.Value containing a slice as its backing store. This
is not guaranteed to be usable as an S-Expression but provides a convenient way to reuse many of the functions
specified for S-Expressions on slices of any type.