[GHC] #7870: Compilation errors break the complexity encapsulation on DSLs, impairs success in industry
GHC
cvs-ghc at haskell.org
Sat Apr 27 10:59:12 CEST 2013
#7870: Compilation errors break the complexity encapsulation on DSLs, impairs
success in industry
-----------------------------+----------------------------------------------
Reporter: agocorona | Owner:
Type: feature request | Status: new
Priority: normal | Component: Compiler (Type checker)
Version: 7.7 | Keywords: DSL, Error,
Os: Unknown/Multiple | Architecture: Unknown/Multiple
Failure: None/Unknown | Blockedby:
Blocking: | Related:
-----------------------------+----------------------------------------------
From the paper "Scripting the Type Inference Process" -Bastiaan Heeren
Jurriaan Hage S. Doaitse Swierstra:
... Combinator languages are a means of defining domain specific languages
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.
...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.
Definitively this is probably the biggest barrier for the acceptance of
Haskell on Industry. We need to start with something not as sophisticated
as the Helium paper "Scripting the Type Inference Process", but maybe a
partial implementation of the techniques mentioned, so that the
development can be enhanced in the future.
Maybe some kind of library that permits postprocessing of GHC errors
and/or the identification of points in the current type checker where some
kind of rules can be defined by the programmer can be the first step.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7870>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list