Sha256: e60539ea0775fb70c6c1acf0a6f810734eb378a0d60cc428ab541d899f6ea10c

Contents?: true

Size: 606 Bytes

Versions: 1

Compression:

Stored size: 606 Bytes

Contents

# {AST} is a library for manipulating abstract syntax trees.
#
# It embraces immutability; each AST node is inherently frozen at
# creation, and updating a child node requires recreating that node
# and its every parent, recursively.
# This is a design choice. It does create some pressure on
# garbage collector, but completely eliminates all concurrency
# and aliasing problems.
#
# See also {AST::Node}, {AST::Processor} and {AST::Sexp} for additional
# recommendations and design patterns.
#
module AST
  require_relative "ast/node"
  require_relative "ast/processor"
  require_relative "ast/sexp"
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ast-1.0.1 lib/ast.rb