[Haskell-cafe] Haskell compilation errors break the complexity encapsulation on DSLs

Alberto G. Corona agocorona at gmail.com
Tue Apr 23 21:41:37 CEST 2013


Stephen

The paper is very interesting. We need something like that:

... As a result, the beginning programmer is likely to be discouraged from
pro-gramming in a functional language, and may see the rejection of
programs as a nuisance instead of a blessing. The experienced user might
not look at the messages at all.

*The problem is exacerbated in the case of combinator languages. Combinator
languages are a means of defining domain specific lan-guages embedded within
an existing programming language, using the abstraction facilities present
in the latter. However, since the domain specific extensions are mapped to
constructs present in the underlying language, all type errors are reported
in terms of the host language, and not in terms of concepts from the
combinator library. In addition, the developer of a combinator library may
be aware of various mistakes which users of the library can make, something
which he can explain in the documentation for the library, but which he
cannot make part of the library itself.*
In the meantime maybe we can have a simpler solution like a postprocessing
of errors in some way


2013/4/23 Stephen Tetley <stephen.tetley at gmail.com>

> Helium - Utrecht University's simplified Haskell - had scriptable
> "Type inference directives" so the creator of an EDSL was able to
> augment the type checker to provide better error messages, see:
>
> Scripting the Type Inference Process
> Bastiaan Heeren Jurriaan Hage S. Doaitse Swierstra
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>



-- 
Alberto.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130423/1cb2037a/attachment.htm>


More information about the Haskell-Cafe mailing list