Hi,
You do not need a DSL at all, in fact. The simplest way to do this, if you use GHC, is to use the GHC api. This can compile everything for you, and return a value with type "Dynamic", from Data.Dynamic and Data.Typeable. It is type-safe, you can write within very little time (even if the documentation for the GHC api is not -- yet -- perfect), and use a real language whose users are still alive.
Cheers,
PE
ps : by the way, if you are interested by this kind of programming, I saw that someone was writing a shell in haskell, called hashell I think. If you want to help him...
Hello Café,
I don't know if you know
conky<http://en.wikipedia.org/wiki/Conky_%28software%29>.
It's a well-known open-source system monitor (a software that displays
information on the desktop, like CPU frequency, disk usage, network rate,
etc.).
It is quite good, but it's very descriptive, and even if you can call shell
commands it's clearly not made for being scripted.
What I would do is to make a similar system monitor, which base would be
compiled Haskell code, but that would be scriptable with some DSL, or
already existing interpreted language.
I've thought about a Lisp/Scheme language, since those languages are
functional, dynamically typed and simple (so enable a quick scripting) and
I'm not very keen on making my own DSL
What I would like to know is:
1) If you have other solutions
2) How do haskellers usually script their applications