[Haskell-cafe] Re: Design your modules for qualified import
Peter Hercek
phercek at gmail.com
Sat Jun 7 09:18:03 EDT 2008
Andrew Coppin wrote:
> Until very recently, it was not at all clear to me that there is
> actually a very simple solution to this problem:
>
> import Text.ParserCombinators.Parsec as P
>
> Now I only have to write "P.runPaser", which is much shorter.
>
> This fact probably needs to be mentioned more loudly - I'm sure I'm not
> the only person to have overlooked it...
I have one efficient way to find all the needed language
features without reading the specification from the start to
the end or waiting till my questions get answered. The point
is that common sense will indicate you where the required
features should be logically located in the language grammar.
E.g. if you want something related to imported modules it is
logical to check all the alternatives available in import
declaration. Then I check the grammar how the production for
import declaration (impdelc) looks like (where it can be used
etc.). Mostly it is enough sometimes I need to check the
language specification since it is not obvious from the
grammar.
The result is that when I learn a new language the first thing
I'm looking for is the formal grammar. Luckily most languages
have it available. Some languages (like Haskell) are obsessed
with shortcuts and the result is that their grammar is a bit
cryptic; others (like VHDL) have it just great - production
names clearly indicate what they actually do. On the other
side haskell has nice online report :-)
Peter.
More information about the Haskell-Cafe
mailing list