packages feed

libhbb 0.4.0.1 → 0.4.0.2

raw patch · 4 files changed

+52/−9 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

+ CHANGELOG.md view
@@ -0,0 +1,23 @@++Version 0.4.0.2+---------------++ - Fixing a bug in the modes *inline* and *smart-inline* which caused them to+   produce a wrong representation for small functions that have no leading case+   expression. The parameters of these function were always aggregated to+   tuples.+ - Adding CHANGELOG.md and README.md to cabal package.++Version 0.4.0.1+---------------++ - The modes *locate*, *inline* and *smart-inline* are now able to+   inline/locate functions that are defined in infix notation.++Version 0.4.0.0+----------------++ - Added the integration mode *apply-ttree*.+ - The modes *inline* and *smart-inline* are now able converting a *where*+   expression to a *let* expression if this makes it possible to omit a leading+   *case* expression. The result is a much shorter lambda function.
Language/Haskell/HBB/Internal/InternalTTreeCreation.hs view
@@ -302,18 +302,20 @@                                          foldArg (curOffs,acc) curSpn =                                              let curTree = TTree (Display curSpn) []                                              in  (curOffs+1,(IncInline $ pointBufSpan 1 curOffs,curTree):acc)-                                     in case length patterns of+                                     in case (length patterns,notationStyle) of                                         -- Have a look at the comment [Bindings                                         -- with zero matches] for examples of                                         -- zero-parameter bindings that should                                         -- be supported.-                                        0 -> (0,[])-                                        1 -> foldl foldArg (1                        ,[]) patternspans-                                        _ -> foldl foldArg (2 {- 2 means after "(" -},[]) patternspans-                        topLvlAddition = case length patterns of-                                         0 -> ""-                                         1 -> ""-                                         _ -> "(" ++ (replicate ((length patterns) - 1) ',') ++ ")"+                                        (0,_)                     -> (0,[])+                                        (1,_)                     -> foldl foldArg (1                        ,[]) patternspans+                                        (_,LongNotationWithWhere) -> foldl foldArg (2 {- 2 means after "(" -},[]) patternspans+                                        (_,ShortNotationStyle)    -> foldl foldArg (1                        ,[]) patternspans+                        topLvlAddition = case (length patterns,notationStyle) of+                                         (0,_) -> "" -- a value binding+                                         (1,_) -> ""+                                         (_,LongNotationWithWhere) -> "(" ++ (replicate ((length patterns) - 1) ',') ++ ")"+                                         (_,ShortNotationStyle)    ->        (replicate ((length patterns) - 1) ' ')                     in  TTree (Addition [topLvlAddition]) childs         let isValueBinding = (length patterns) == 0         grhssTree <- toTTree (isValueBinding,grhss,notationStyle)
+ README.md view
@@ -0,0 +1,15 @@+# **hbb**: Extraordinary Haskell programming++This project aims to create a tool which should be easily embeddable in text+editors to assist them to provide extraordinary editing features for the+Haskell programming language. To archieve this, the tool is based on the+library of the Glasgow Haskell Compiler (GHC).++The name **hbb** is short for *h*askell *b*usy *b*ee and should remind one of+the programmers using it. It consists of the library *hbb* and a command line+tool which has the name *libhbb-cli*. *libhbb-cli* has been chosen because in+another repository the features of (the library) *hbb* and *ghc-mod* are merged+into an executable *hbb* which provides (many more) features than *libhbb-cli*.++One outstanding feature of *hbb* is is the possibility to inline a function+binding.
libhbb.cabal view
@@ -9,7 +9,7 @@ -- PVP summary:      +-+------- breaking API changes --                   | | +----- non-breaking API additions --                   | | | +--- code changes with no API change-version:             0.4.0.1+version:             0.4.0.2  -- A short (one-line) description of the package. synopsis:            Backend for text editors to provide better Haskell editing support.@@ -54,6 +54,9 @@  -- Constraint on the version of Cabal needed to build this package. cabal-version:       >= 1.8++extra-source-files:  README.md+                     CHANGELOG.md  source-repository head     type:            git