[Haskell-beginners] Haskell code as DSL
rosarioenzoluca.borda at gmail.com
Sat Mar 22 20:38:43 UTC 2014
Thank You so much for yours replies.
1. Very simple and promising. However an interesting feature of Haskell is
its proximity to the natural language, especially from an educational point
of view. Many important keywords (if then else, case of, type, do, where
...) aren't translatable in this approach.
2. Very interesting. Perhaps it would need a compiler, rather than a
translation "words based"?
3. I followed this path with ghc, duplicating keywords to maintain
compatibility with external modules. Many modules compiled, but not all due
to words conflict.
4. I don't know how, any reference for Haskell?
A DSL choice allow to import external modules and isolate italian code. I
was wondering if there is an approach that allow to utilize the code of ghc
compiler for a DSL.
Many thanks for yours much appreciated help.
2014-03-22 18:56 GMT+01:00 Kim-Ee Yeoh <ky3 at atamo.com>:
> On Sun, Mar 23, 2014 at 12:37 AM, Mateusz Kowalczyk <
> fuuzetsu at fuuzetsu.co.uk> wrote:
>> If you really want to go with 'translate everything' approach, what are
>> you going to do about error messages?
> That's a good point. A fully language-native Haskell environment seems to
> be sought-after here, and that's a major undertaking.
> TH, if anything, could blow up with even more error messages when fed
> slightly off syntax. These are primary schoolchildren, yes?
> To summarize, the choices available include:
> 1. nativize Prelude, let children grapple with English keywords
> 2. use sed scripts or some editor feature to translate italian .ihs to .hs
> before feeding into interpreter/compiler.
> 3. nativize Prelude & keywords by recompiling with necessary tweaks to the
> keyword table. But errors still in English tho.
> 4. full i18n
> If GHC isn't a must, option 3 just might be a 10-minute job for hugs.
> -- Kim-Ee
> Beginners mailing list
> Beginners at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Beginners