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.

Reply via email to