23 lines
572 B
Go
23 lines
572 B
Go
// Package "saccharine" provides a simple language built on top of λ-calculus,
|
|
// to facilitate productive coding using it.
|
|
package saccharine
|
|
|
|
import (
|
|
"git.maximhutz.com/max/lambda/pkg/saccharine/token"
|
|
)
|
|
|
|
// Convert a piece of valid saccharine code into an expression.
|
|
func Parse(code string) (Expression, error) {
|
|
tokens, err := token.Parse(code)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return parse(tokens)
|
|
}
|
|
|
|
// Convert a parsed saccharine expression back into source code.
|
|
func Stringify(expression Expression) string {
|
|
return stringifyExpression(expression)
|
|
}
|