Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Atom ¶
type Atom interface { SExpression TokenLiteral() string }
type ConsCell ¶
type ConsCell struct { CarField SExpression CdrField SExpression }
func (*ConsCell) Car ¶
func (cc *ConsCell) Car() SExpression
func (*ConsCell) Cdr ¶
func (cc *ConsCell) Cdr() SExpression
type IntegerLiteral ¶
func (*IntegerLiteral) String ¶
func (il *IntegerLiteral) String() string
func (*IntegerLiteral) TokenLiteral ¶
func (il *IntegerLiteral) TokenLiteral() string
type List ¶
type List interface { SExpression Car() SExpression Cdr() SExpression }
type ModifierFun ¶
type ModifierFun func(SExpression) SExpression
type Nil ¶
func (*Nil) Car ¶
func (n *Nil) Car() SExpression
func (*Nil) Cdr ¶
func (n *Nil) Cdr() SExpression
func (*Nil) TokenLiteral ¶
type PrefixAtom ¶
type PrefixAtom struct { Token token.Token Operator string Right SExpression }
func (*PrefixAtom) String ¶
func (pa *PrefixAtom) String() string
func (*PrefixAtom) TokenLiteral ¶
func (pa *PrefixAtom) TokenLiteral() string
type Program ¶
type Program struct {
Expressions []SExpression
}
type SExpression ¶
type SExpression interface {
String() string
}
func ModifyByMacro ¶
func ModifyByMacro(sexp SExpression, modifier ModifierFun, macroNames []string) SExpression
func ModifyByUnquote ¶
func ModifyByUnquote(sexp SExpression, modifier ModifierFun) SExpression
type SpecialForm ¶
func (*SpecialForm) String ¶
func (s *SpecialForm) String() string
func (*SpecialForm) TokenLiteral ¶
func (s *SpecialForm) TokenLiteral() string
type Symbol ¶
func (*Symbol) TokenLiteral ¶
Click to show internal directories.
Click to hide internal directories.