ehaskell

like eruby, ehaskell is embedded haskell.

http://homepage3.nifty.com/salamander/second/projects/ehaskell/index.xhtml

Latest on Hackage:0.7

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

LicenseRef-GPL licensed by Yoshikuni Jujo
Maintained by [email protected]

You can embed haskell in Text file. You can use in html, haskell source, and so on.

<%%   ... %%> : <%% import Some.Module %%> <%% h = "hello" %%>
<%    ...  %> : <% ln <- getLine %>
<%    ... -%> ... <%- ... -%> ... <%- ... %>: <% if b then -%>Yes<%- else -%>No<%-%>
<%=   ...  %> : <%= "hello" %>
<%==  ...  %> : <%== getLine %>
<%=$  ...  %> : <%=$ 123 %>
<%==$ ...  %> : <%==$ getClockTime %>

You can put code at top level by <%% ... %%>.

You can put code in do-notation by <% ... %>.

You can get args by <% ... -%> ... <%- ... -%> ... <%- ... %>.

If you write <% func -%>abc<%- def -%>ghi<% jkl %>mno<%- pqr %>,

translate in "func (putStr "abc") def (putStr "ghi") jkl (putStr "mno") pqr" and execute.

You can put dinamic String by <%== .. %>.

And rests (<%= ... %>, <%==$ ... %>, <%=$ ... %>) are just syntax sugar.

<%= some %> == <%== return some %>

<%==$ some %> == <%== some >>= return . show %>

<%=$ some %> == <%== return $ show some %>