I just committed 6f6559 that adds support for an experimental new driver called `flxc` that will support a REPL. It's got a ways to go, but here's what it can already do:
# build/debug/bin/flxc -I build/debug/lib --import nugram.flxh --import flx.flx >>> 1; ... PARSED: call 1 (); ... EXPANDED: call 1 (); ... DESUGARED: call 1 (); >>> (1 + 2) * 3; ... PARSED: call 1+2*3 (); ... EXPANDED: call 9 (); ... DESUGARED: call 9 (); >>> val x = 5; ... PARSED: val x = 5; ... EXPANDED: val x = 5; ... DESUGARED: val x: typeof(5); x := 5; >>> fun foo (x:int) (y:float) = { val z = x + 1; var w = y * 2.0f; val s = "hello "; return s + "world!"; } ... PARSED: fun foo(val x: int) (val y: float): <none> { val z = x+1; var w = y*2.0f; val s = "hello "; return s+"world!"; } ... EXPANDED: fun foo(val x: int) (val y: float): <none> { val z = (add (x, 1)); var w = (mul (y, 2.0f)); val s = "hello "; return (add (s, "world!")); } ... DESUGARED: generated curry fun foo(val x: int): <none> { body _rqs_foo = c"" requires _rqs_<input>; fun foo'2(val y: float): <none> { body _rqs_foo'2 = c"" requires _rqs_foo; val z: typeof((add (x, 1))); z := (add (x, 1)); var w: typeof((mul (y, 2.0f))); w := (mul (y, 2.0f)); val s: typeof("hello "); s := "hello "; return (add (s, "world!")); } return foo'2 of (float); } It even supports syntax extension: >>> syntax foo { requires statements; svar_def := "foo" sdeclname = sexpr ";" =># """ `(ast_var_decl ,_sr ,(first _2) ,(second _2) none (some ,_4)) """; }; ... PARSED: {/**/;} ... EXPANDED: ... DESUGARED: >>> open syntax foo; ... PARSED: {/**/;} ... EXPANDED: ... DESUGARED: >>> foo x = 5; ... PARSED: var x = 5; ... EXPANDED: var x = 5; ... DESUGARED: var x: typeof(5); x := 5; ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp as they present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language