[Haskell] Running haskell from within Haskell
Donald Bruce Stewart
dons at cse.unsw.edu.au
Tue Jan 18 21:51:24 EST 2005
> Dear All,
> I have a parser which has entries for each word, such as:
> ate = s \ np / np : ^x y.did(eat y x);
> so each word has a type (s \ np / np) and a semantics (the
> lambda term ^x y.did(eat y x)).
> Currently I parse the semantics into lambda terms and use my
> own lambda-interpreter to do evaluation.
> "I ate a python programmer" would be evaluated as:
> did(eat I (a python programmer))
> What I would like to be able to do is actually use haskell
> functions in the semantic slot for each word. This requires
> parsing a fragment of a file into haskell and then making it
> available as code within my program.
> Is this possible?
> for example:
> kicked = s \ np / np : \x y -> case x of
> (the bucket) = did(die
> _ = did(k
> ick y x);
> Thanks in advance.
You may be able to use the eval functions provided by hs-plugins
A number of mini-edsl-interpreters for Haskell have been written this
eval :: Typeable a => String -> [Import] -> IO (Maybe a)
An example of an interpreter for Haskell, using this mechanism, is at:
More information about the Haskell