[Haskell-cafe] ANNOUNCE: haskell-src-exts 1.14.0

Dag Odenhall dag.odenhall at gmail.com
Tue Aug 20 16:58:36 CEST 2013


Wouldn't it be better to only enable Haskell2010 and XmlSyntax and then
rely on LANGUAGE pragmas? I guess optimally we want to add support for
-Xoptions to
hsx2hs but in the mean time…

BTW I think hsx2hs is in fact affected by these backwards-incompatible
changes, and lacks an upper bound on its HSE dependency!

Is hub.darcs.net the official location of the hsx2hs repository these days?


On Tue, Aug 20, 2013 at 4:49 PM, Niklas Broberg <niklas.broberg at gmail.com>wrote:

> HSE parses based on pragmas by default. This can be configured through the
> ParseMode [1].
>
> But your question regards HSP, Haskell Server Pages, which indeed just
> enables most extensions by default. Right now there's no way to configure
> that, but it shouldn't be hard for a skilled programmer to fix. Patches
> most welcome.  :-)
>
> Cheers, Niklas
>
> [1]
> http://hackage.haskell.org/packages/archive/haskell-src-exts/1.13.5/doc/html/Language-Haskell-Exts-Parser.html#t:ParseMode
>  On 20 Aug 2013 12:57, "Dag Odenhall" <dag.odenhall at gmail.com> wrote:
>
>> Good stuff!
>>
>> Is there any way, or plans for a way, to parse a file based on its
>> LANGUAGE pragmas? Last I checked e.g. HSP simply enabled all extensions
>> when parsing, which can cause code to be parsed incorrectly in some cases.
>>
>>
>> On Tue, Aug 20, 2013 at 10:15 AM, Niklas Broberg <
>> niklas.broberg at gmail.com> wrote:
>>
>>> Fellow Haskelleers,
>>>
>>> I'm pleased to announce the release of haskell-src-exts-1.14.0!
>>>
>>> * On hackage: http://hackage.haskell.org/package/haskell-src-exts
>>> * Via cabal: cabal install haskell-src-exts
>>> * git repo: https://github.com/haskell-suite/haskell-src-exts<http://code.haskell.org/haskell-src-exts>
>>>
>>> There are two primary reasons for this release, and a number of smaller
>>> ones.
>>>
>>> The first primary reason is technical: haskell-src-exts 1.14 revamps the
>>> Extension datatype, among other things to allow turning extensions on and
>>> off (similar to what Cabal allows). We also introduce the concept of a
>>> Language, separate from a set of extensions. This is the only
>>> backwards-incompatible change in this release.
>>>
>>> The second reason is structural: haskell-src-exts is now part of a
>>> larger context -- the Haskell Suite. The package has a new home on github
>>> (see above), alongside its new cool friends: haskell-names and
>>> haskell-packages. There is also a really nice issue tracker there - please
>>> help me fill it, or better yet, empty it!
>>>
>>> What this release does *not* cover is support for the extensions added
>>> to GHC in recent time (with the exceptions of CApiFFI and
>>> InterruptibleFFI). Work is in progress on many of these, and there will be
>>> another major release not far off in the future.
>>>
>>>
>>> This release owes many thanks to Roman Cheplyaka in particular, as well
>>> as Erik Hesselink, Simon Meier and David Fox. Thanks a lot!
>>>
>>>
>>> Complete changelog:
>>>
>>> 1.13.6 --> 1.14.0
>>> ===============
>>>
>>> * Modernize the Extension datatype in L.H.E.Extension, following the lead
>>>   of Cabal, to allow negative and positive extension modifiers (turning
>>>   features on and off). You need to worry about backwards-incompatible
>>>   changes if any of the following pertains to you:
>>>   1) If you use the Extension datatype programmatically - it has changed
>>>      significantly (see documentation).
>>>   2) The ParseMode record now has one more field
>>>      (baseLanguage :: Language), which might give you a type error.
>>>   3) The behavior of the (extensions :: [Extension]) field has changed,
>>>      which could bite you if you pass custom extensions in the
>>> ParseMode.
>>>      Previously, the ParseMode defaulted to the list of extensions
>>> accepted
>>>      by Haskell2010, and if you set the list explicitly you would
>>> override
>>>      this. Now, the defaults are { baseLanguage = Haskell2010,
>>> extensions = [] },
>>>      and explicitly setting a list of extensions will be interpreted on
>>> top of
>>>      Haskell2010. See further the documentation for L.H.E.Extension.
>>>
>>> * Add support for the 'capi' calling convention. It is enabled with the
>>> CApiFFI
>>>   extension. It's been included since GHC 7.4, and advertised since 7.6.
>>>
>>> * Add support for the 'interruptible' FFI safety annotation, enabled with
>>>   the InterruptibleFFI extension.
>>>
>>> * Give better error message when lexing newline fails. In particular,
>>> fix the bug
>>>   when the parser would crash if the file didn't end with a newline.
>>>
>>> * Support unboxed tuple expressions and patterns.
>>>
>>> * Fix bug in lexing of primitive integer literals in hex or octal
>>> notation.
>>>
>>> * Disallow negative primitive word literals
>>>   (such as W# (-0x8000000000000000##)).
>>>
>>> * Allow phase control for SPECIALIZE pragma.
>>>
>>> * Derive Foldable and Traversable instances for all annotated AST types.
>>>
>>> * Fix bug with pretty-printing WARNING and DEPRECATED pragmas.
>>>
>>>
>>> Cheers, Niklas
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Haskell Server Pages" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to haskell-server-pages+unsubscribe at googlegroups.com.
>>> To post to this group, send email to
>>> haskell-server-pages at googlegroups.com.
>>> Visit this group at http://groups.google.com/group/haskell-server-pages.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Haskell Server Pages" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to haskell-server-pages+unsubscribe at googlegroups.com.
>> To post to this group, send email to
>> haskell-server-pages at googlegroups.com.
>> Visit this group at http://groups.google.com/group/haskell-server-pages.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Haskell Server Pages" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to haskell-server-pages+unsubscribe at googlegroups.com.
> To post to this group, send email to haskell-server-pages at googlegroups.com
> .
> Visit this group at http://groups.google.com/group/haskell-server-pages.
> For more options, visit https://groups.google.com/groups/opt_out.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130820/72576fb4/attachment.htm>


More information about the Haskell-Cafe mailing list