Haskell Platform 2010.1.0.0 Windows installer RC3

Krasimir Angelov kr.angelov at gmail.com
Tue Mar 30 07:32:02 EDT 2010


The directory were in the path but Haskell\bin is before Haskell
Platform\bin in the path and I had older versions of happy and alex in
Haskell\bin. Still it would be nicer if all executables and all
libraries were in the same place but this is minor issue.

One more issue. When I am compiling Happy grammar I get warnings like
the one bellow. This suggests that maybe the templates for Happy
should be updated.



templates\GenericTemplate.hs:110:15:
    Warning: Bindings containing unlifted types must use an outermost
bang pattern:
                 { new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))
 }
             *** This will be an error in GHC 6.14! Fix your code now!
    In a case alternative:
        n -> happyShift new_state i tk st
          where
              new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))
    In the expression:
        case action of {
          0# -> happyFail i tk st
          -1# -> happyAccept i tk st
          n | (n Happy_GHC_Exts.<# (0# :: Happy_GHC_Exts.Int#))
            -> (happyReduceArr Happy_Data_Array.! rule) i tk st
            where
                rule = (Happy_GHC_Exts.I#
                          ((Happy_GHC_Exts.negateInt#
                              ((n Happy_GHC_Exts.+# (1# ::
Happy_GHC_Exts.Int#))))))
          n -> happyShift new_state i tk st
            where
                new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) }
    In the definition of `happyDoAction':
        happyDoAction i tk st
                        = case action of {
                            0# -> happyFail i tk st
                            -1# -> happyAccept i tk st
                            n | (n Happy_GHC_Exts.<# (0# ::
Happy_GHC_Exts.Int#))
                              -> (happyReduceArr Happy_Data_Array.!
rule) i tk st
                              where
                                  rule = (Happy_GHC_Exts.I#
                                            ((Happy_GHC_Exts.negateInt#
                                                ((n
                                                Happy_GHC_Exts.+#
                                                  (1# ::
Happy_GHC_Exts.Int#))))))
                            n -> happyShift new_state i tk st
                              where
                                  new_state = (n Happy_GHC_Exts.-# (1#
:: Happy_GHC_Exts.Int#)) }
                        where
                            off = indexShortOffAddr happyActOffsets st
                            off_i = (off Happy_GHC_Exts.+# i)
                            check = if (off_i
                                      Happy_GHC_Exts.>=#
                                        (0# :: Happy_GHC_Exts.Int#)) then
                                        (indexShortOffAddr happyCheck
off_i Happy_GHC_Exts.==# i)
                                    else
                                        False
                            action | check = indexShortOffAddr happyTable off_i
                                   | otherwise = indexShortOffAddr
happyDefActions st


More information about the Libraries mailing list