Alex, Lennart's suggestion makes me think: Why not make SearchPath
into a preprocessor?  It could recognize a .ehs extension, and then do
some very simple preprocessing (adds pragmas according to user's
settings).

-- 
Robin Bate Boerop

On 22/11/2007, Lennart Augustsson <[EMAIL PROTECTED]> wrote:
> Or use a preprocessor that inserts a LANGUAGE pragma. :)
>
> On Nov 22, 2007 9:14 AM, Simon Marlow <[EMAIL PROTECTED]> wrote:
> >
> > Alex Jacobson wrote:
> >
> > > In any case, I'm pretty sure the correct answer is not 50 language
> > > pragmas with arbitrary spellings for various language features at the
> > > top of each source file.
> >
> > You probably won't like any of these, but there are many ways to avoid
> > writing out all the pragmas at the top of each file.
> >
> > 1. Use Cabal's extensions field.
> >
> > 2. Use CPP
> >
> > MyExtensions.h :
> >
> > {-# LANGUAGE TemplateHaskell, FlexibleInstances,
> >              OverlappingInstances, UndecidableInstances, CPP,
> >              ScopedTypeVariables, PatternSignatures, GADTs,
> >              PolymorphicComponents, FlexibleContexts,
> >              MultiParamTypeClasses, DeriveDataTypeable,
> >              PatternGuards #-}
> >
> > MyModule.hs:
> > {-# LANGUAGE CPP #-}
> > #include "MyExtensions.h"
> >
> > 3. Use a shell alias
> >
> > alias ghce='ghc -XTemplateHaskell -XFlexibleInstances ...'
> >
> > 4. use a script wrapper for GHC
> >
> > #!/bin/sh
> > exec ghc -XTemplateHaskell -XFlexibleInstances ... $*
> >
> > I'm sure there are more...
> >
> > Cheers,
> >        Simon
> >
> >
> >
> >
> > > -Alex-
> > >
> > > Simon Marlow wrote:
> > >> Alex Jacobson wrote:
> > >>> I'm fine with that as well.  I'm just opposed to being force to look
> > >>> up the precise names the compiler happens to use for each language
> > >>> extension I happen to use.  Having -fglasgow-exts turned on by
> > >>> default also works.
> > >>
> > >> -fglasgow-exts is a historical relic.  It's just an arbitrary
> > >> collection of extensions.  It doesn't contain all the extensions
> > >> provided by GHC, as many of them steal syntax and you probably don't
> > >> want them all on at the same time.  We're trying to move away from
> > >> -fglasgow-exts, which is why GHC 6.8.1 provides separate flags for all
> > >> the extensions we provide. Eventually we'll have a new standard
> > >> (Haskell' or whatever) that will collect many of the extensions
> > >> together, so you'll just have to write {-# LANGUAGE Haskell' #-}.
> > >>
> > >> Cheers,
> > >>     Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to