kawa.lang

Class Lambda

public class Lambda extends Syntax

The Syntax transformer that re-writes the lambda builtin.
Field Summary
ExpressiondefaultDefault
ObjectkeyKeyword
static KeywordnameKeyword
ObjectoptionalKeyword
ObjectrestKeyword
Method Summary
voidprint(Consumer out)
Expressionrewrite(Object obj, Translator tr)
voidrewrite(LambdaExp lexp, Object formals, Object body, Translator tr, TemplateScope templateScopeRest)
Higher-level constructor, that does the re-writing.
ObjectrewriteAttrs(LambdaExp lexp, Object body, Translator tr)
voidrewriteBody(LambdaExp lexp, Object body, Translator tr)
ExpressionrewriteForm(Pair form, Translator tr)
voidrewriteFormals(LambdaExp lexp, Object formals, Translator tr, TemplateScope templateScopeRest)
voidsetKeywords(Object optional, Object rest, Object key)
ObjectskipAttrs(LambdaExp lexp, Object body, Translator tr)

Field Detail

defaultDefault

public Expression defaultDefault

keyKeyword

public Object keyKeyword

nameKeyword

public static final Keyword nameKeyword

optionalKeyword

public Object optionalKeyword

restKeyword

public Object restKeyword

Method Detail

print

public void print(Consumer out)

rewrite

public Expression rewrite(Object obj, Translator tr)

rewrite

public void rewrite(LambdaExp lexp, Object formals, Object body, Translator tr, TemplateScope templateScopeRest)
Higher-level constructor, that does the re-writing.

Parameters: formals the formal parameter list (or symbol) body the body of the procedure tr the (Scheme) Translator

rewriteAttrs

public Object rewriteAttrs(LambdaExp lexp, Object body, Translator tr)

rewriteBody

public void rewriteBody(LambdaExp lexp, Object body, Translator tr)

rewriteForm

public Expression rewriteForm(Pair form, Translator tr)

rewriteFormals

public void rewriteFormals(LambdaExp lexp, Object formals, Translator tr, TemplateScope templateScopeRest)

setKeywords

public void setKeywords(Object optional, Object rest, Object key)

skipAttrs

public Object skipAttrs(LambdaExp lexp, Object body, Translator tr)