private DefineNode convertDefine(ListSyntax syntax, Namespace ns) { MumblerList<? extends Syntax<? extends Object>> list = syntax.getValue(); SymbolSyntax symSyntax = (SymbolSyntax) list.cdr().car(); FrameSlot nameSlot = ns.getIdentifier(symSyntax.getValue().name).b; MumblerNode valueNode = convert(list.cdr().cdr().car(), ns); DefineNode node = DefineNodeGen.create(valueNode, nameSlot); node.setSourceSection(syntax.getSourceSection()); if (valueNode instanceof LambdaNode) { // TODO : not good enough. if there's an error in the lambda, // the name won't be used. Have to pass name LambdaNode lambda = (LambdaNode) valueNode; lambda.setName(nameSlot.toString()); } return node; }