Documentation
¶
Overview ¶
Package ale provides a Lisp environment and interpreter implemented in Go. It includes a complete Lisp runtime with bytecode compilation, virtual machine execution, and standard library functions for building embedded Lisp applications.
Index ¶
Constants ¶
View Source
const ( // AppName is the name of the application AppName = "Ale (A Lisp Environment)" // Version is the current version Version = "0.3" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Type ¶ added in v0.3.0
type Type interface {
// Name identifies this Type
Name() string
// Accepts determines if this Type will accept the provided Type for
// binding. This will generally mean that the provided Type satisfies
// the contract of the receiver.
Accepts(Type) bool
// Equal determines if the provided Type is an equivalent definition
Equal(Type) bool
}
Type describes the type compatibility for a Value
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
ale
command
Package main provides the Ale command-line interface and REPL.
|
Package main provides the Ale command-line interface and REPL. |
|
ale/internal
Package internal provides the REPL implementation
|
Package internal provides the REPL implementation |
|
ale/internal/console
Package console provides console formatting utilities
|
Package console provides console formatting utilities |
|
ale/internal/docstring
Package docstring provides documentation access for core library functions
|
Package docstring provides documentation access for core library functions |
|
ale/internal/markdown
Package markdown provides markdown formatting for the REPL
|
Package markdown provides markdown formatting for the REPL |
|
core
|
|
|
bootstrap
Package bootstrap performs initial setup of the Ale runtime environment.
|
Package bootstrap performs initial setup of the Ale runtime environment. |
|
builtin
Package builtin provides core runtime functions implemented in Go that form the foundation of Ale's standard library.
|
Package builtin provides core runtime functions implemented in Go that form the foundation of Ale's standard library. |
|
source
Package source provides embedded Ale language source files that implement the core standard library.
|
Package source provides embedded Ale language source files that implement the core standard library. |
|
special
Package special provides Ale's special forms and compiler primitives that emit instructions during compilation.
|
Package special provides Ale's special forms and compiler primitives that emit instructions during compilation. |
|
Package data provides the fundamental value types and interfaces that form the core of Ale's type system.
|
Package data provides the fundamental value types and interfaces that form the core of Ale's type system. |
|
internal
Package internal provides utility types for the data package
|
Package internal provides utility types for the data package |
|
Package env provides namespace and binding management for the Ale runtime.
|
Package env provides namespace and binding management for the Ale runtime. |
|
Package eval provides the high-level evaluation interface for executing Ale code.
|
Package eval provides the high-level evaluation interface for executing Ale code. |
|
Package ffi provides Foreign Function Interface capabilities that enable seamless integration between Ale and Go code.
|
Package ffi provides Foreign Function Interface capabilities that enable seamless integration between Ale and Go code. |
|
maxkind
Code generated by gen_maxkind.go; DO NOT EDIT.
|
Code generated by gen_maxkind.go; DO NOT EDIT. |
|
internal
|
|
|
assert
Package assert provides testing utilities
|
Package assert provides testing utilities |
|
assert/helpers
Package helpers provides test helper functions
|
Package helpers provides test helper functions |
|
basics
Package basics provides utility functions
|
Package basics provides utility functions |
|
compiler
Package compiler provides compilation infrastructure
|
Package compiler provides compilation infrastructure |
|
compiler/asm
Package asm implements the Ale assembler
|
Package asm implements the Ale assembler |
|
compiler/encoder
Package encoder provides bytecode encoding
|
Package encoder provides bytecode encoding |
|
compiler/generate
Package generate provides code generation
|
Package generate provides code generation |
|
compiler/ir/analysis
Package analysis provides IR analysis
|
Package analysis provides IR analysis |
|
compiler/ir/optimize
Package optimize provides IR optimization
|
Package optimize provides IR optimization |
|
compiler/ir/visitor
Package visitor provides IR visitor patterns
|
Package visitor provides IR visitor patterns |
|
compiler/procedure
Package procedure provides procedure compilation
|
Package procedure provides procedure compilation |
|
debug
Package debug provides debugging utilities
|
Package debug provides debugging utilities |
|
lang
Package lang provides language definition, lexing, and parsing
|
Package lang provides language definition, lexing, and parsing |
|
lang/env
Package env provides environment definitions for the language.
|
Package env provides environment definitions for the language. |
|
lang/lex
Package lex provides the Ale lexer language tokenizer
|
Package lex provides the Ale lexer language tokenizer |
|
lang/params
Package params provides Ale language parameter parsing
|
Package params provides Ale language parameter parsing |
|
lang/parse
Package parse provides Ale language parsing functionality
|
Package parse provides Ale language parsing functionality |
|
runtime
Package runtime provides runtime infrastructure
|
Package runtime provides runtime infrastructure |
|
runtime/isa
Package isa provides instruction set architecture
|
Package isa provides instruction set architecture |
|
runtime/vm
Package vm provides virtual machine implementation
|
Package vm provides virtual machine implementation |
|
sequence
Package sequence provides sequence utilities
|
Package sequence provides sequence utilities |
|
stream
Package stream provides I/O stream utilities
|
Package stream provides I/O stream utilities |
|
strings
Package strings provides string utilities
|
Package strings provides string utilities |
|
sync
Package sync provides synchronization utilities
|
Package sync provides synchronization utilities |
|
types
Package types provides type system implementation
|
Package types provides type system implementation |
|
Package macro provides Ale's macro expansion system for compile-time code transformation.
|
Package macro provides Ale's macro expansion system for compile-time code transformation. |
|
Package read provides the reader interface for parsing Ale source code into abstract syntax trees.
|
Package read provides the reader interface for parsing Ale source code into abstract syntax trees. |
|
data
Package data provides a specialized reader interface for parsing pure data expressions without code evaluation.
|
Package data provides a specialized reader interface for parsing pure data expressions without code evaluation. |
|
internal
Package internal provides parsing and tokenization mechanisms
|
Package internal provides parsing and tokenization mechanisms |
Click to show internal directories.
Click to hide internal directories.