public static Lambda Id() { var builder = new CodeBuilder(); builder.Parameter("$0"); builder.Variable("$0"); return(builder.Lambda()); }
public void ReturnValueFunction(string functionName, Value value, VisibilityType visibility = Public, bool _override = false, bool global = false, bool autoInvoke = false) { var inner = new CodeBuilder(); inner.Value(value); var lambda = inner.Lambda(); Function(functionName, lambda, false, visibility, _override, global); }
public static Lambda FPut() { var builder = new CodeBuilder(); builder.Parameter("$0"); builder.Variable("$0"); builder.Operator("|>"); builder.Variable("put"); return(builder.Lambda()); }
public static Lambda AddOne() { var builder = new CodeBuilder(); builder.Parameter("$0"); builder.Variable("$0"); builder.Operator("+"); builder.Value(1); return(builder.Lambda()); }
protected override void setValue(string name, Value value, VisibilityType visibility, bool overriding, bool allowNil, int index) { base.setValue(name, value, visibility, overriding, allowNil, index); if (value is InvokableReference) { return; } var builder = new CodeBuilder(); builder.Parameter("$0"); builder.AssignToField(name, new Variable("$0"), index); var lambda = builder.Lambda(); var setterName = SetterName(name); var invokableName = InvokableName(setterName); State.SetInvokable(invokableName, lambda); base.setValue(setterName, new InvokableReference(invokableName), VisibilityType.Public, false, false, index); removeAbstracts(name); }
public void Function(string functionName, CodeBuilder builder, bool multiCapabable = true, VisibilityType visibility = Public, bool _override = false) { Function(functionName, builder.Lambda(), multiCapabable, visibility, _override); }