[Haskell-cafe] Haskell and scripting

Limestraël limestrael at gmail.com
Tue May 4 04:45:31 EDT 2010


> A complete language needs a complete implementation.

No, Minh, I was not talking about re-implementing a whole Lisp/Scheme
language interpreter in Haskell. (I know there is BTW a Scheme interpreter
made in Haskell :
http://jonathan.tang.name/files/scheme_in_48/tutorial/overview.html).

But what I really wanted to know is how usually haskellers do to script
their applications.
For instance (as you say), many games made in C/C++ use Lua (for AI or for
configuration).
That is the kind of scripting I'm talking about : a compiled program (in
Haskell) reading an interpreting a script (in some already existing
interpreted language (*) or some DSL especially made for this purpose).

(*) functional language, because I want to keep the benefit of functional
programming for scripting. So no Lua, no Python...


> I may have misunderstood your goals and what you mean by "scripting". Our
DSEL is intended to be used for expressing all kinds of scripting tasks.

Martin, I did not understand your meaning of "scripting". IMO, a program can
be scripted if it provides a way to alter (a part of) its configuration
without having to recompile it entirely. If need be it recompiles the
configuration files, but I think it's better if those files are interpreted
(speeds up the program lauching, since it doesn't have to compile and link
again (*))

(*) Yi, for instance, takes a little time to recompile its configuration,
and when it re-links its executable, it weighs 38Mo! (and dynamic linking is
still not perfect in Haskell)
Plus, end-users have to install the compiler (GHC, which is not
lightweight), even if they have the statically-linked executable of the
application.

2010/5/4 minh thu <noteed at gmail.com>

> 2010/5/4 Limestraël <limestrael at gmail.com>:
> > ...
> >
> > Minh, Kyle, Gwern, the dyre approach seems to be very interesting too.
> > But if I understood well, we also have to recompile at run-time the
> > configuration haskell script?
> > So the final application (Yi, for instance) will need GHC to be installed
> to
> > run? Or did I miss something?
> > By the way, I had never heard of Yi, but can I deduce from its name its a
> > Vi(m)-like (which I am a big fan of)? Moreover, the idea of scripting my
> > editor in Haskell appeals me.
>
> Yes GHC is needed. But if your goal is to produce something with the
> benefits of a complete language for configuration, I think it's fine.
> Numerous games include for instance a complete Lua interpreter,
> SketchUp includes a ruby interpreter (or maybe it is python), Blender
> uses python, Common Lisp programs can use Common Lisp, and so on.
>
> A complete language needs a complete implementation.
>
> If you want to make your own (non-embedded) DSL, you will either
> provide less than a "complete" language or have to implement a lot of
> stuff.
>
> Cheers,
> Thu
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100504/1b3de115/attachment.html


More information about the Haskell-Cafe mailing list