I'm currently investigating means of providing a DSL in our project. Currently options have been narrowed down to embedding Frege or providing a very trivial extended lambda calc. like DSL using "Implementing functional programming languages" as a basis. That right now seems like the best option but the biggest prevailing concern is that we will undoubtedly end up implementing a much richer lang. and hence the case for just starting with a full env. to begin with.
Looking at Frege, it seems like the perfect fit for this. Having looked at https://github.com/Frege/frege-repl I think we can take that apart and embed Frege in a similar way. If we are to do that, is that how you'd recommend doing it? Are there any recommendations in that regard (embedding that is)? Importantly, are there any reasons why we shouldn't embed Frege (effectively turning it into an interpreter)? The use case is such that: Some client will submit expressions (there's a concern here of isolation, it looks like it'll have access to the entire JVM environment). We validate it (run it through Frege interpreter, make sure it parses, all fns used exist etc) At some later point (mins, hours, days later), some event occurs which triggers execution of the expression. Given the clear difference between the submission and later execution of the expressions, I'm wondering if it's feasible to use the Frege compiler to actually generate code and keep reference to the compiled expression that is then executed later when some event triggers it. From reading https://github.com/Frege/frege/wiki/Compiler-Manpage however I get the impression that's probably not practical because Frege's compiler's generating Java which will need to be compiled after. If that's the case, what does the REPL do, how's it able to "compile" Frege and run in the same session? Any suggestions/comments/advice on or around the above will be appreciated. Places I've looked at while researching this: https://groups.google.com/forum/#!searchin/frege-programming-language/embed%7Csort:date/frege-programming-language/p9gXVbmsgiE/E2-4MH0LVBIJ https://github.com/Frege/frege/wiki/Calling-Frege-Code-from-Java http://mmhelloworld.github.io/blog/2013/07/10/frege-hello-java/ https://github.com/Frege/frege/wiki/Calling-Frege-from-Java-(from-release-3.24-on) -- You received this message because you are subscribed to the Google Groups "Frege Programming Language" group. To unsubscribe from this group and stop receiving emails from it, send an email to frege-programming-language+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.