Coder Social home page Coder Social logo

changelog-diff's Introduction

changelog-diff

Generates changelogs of functions between two different versions of Haskell packages.

Usage

./changelog-diff-exe packageOldVersion.hoo packageNewVersion.hoo

Example output

./changelog-diff-exe cassava.0.1.0.1.hoo cassava.0.4.4.0.hoo

outputs:

Data.Csv
    + QuoteAll :: Quoting
    + QuoteMinimal :: Quoting
    + QuoteNone :: Quoting
    + encIncludeHeader :: EncodeOptions -> !Bool
    + encUseCrLf :: EncodeOptions -> !Bool
    + encodeDefaultOrderedByName :: [a] -> ByteString
    + encQuoting :: EncodeOptions -> !Quoting
    + encodeDefaultOrderedByNameWith :: EncodeOptions -> [a] -> ByteString
    + headerOrder :: a -> Header
    + header :: [ByteString] -> Header
    + index :: Record -> Int -> Parser a
    + unsafeIndex :: Record -> Int -> Parser a
    + lookup :: NamedRecord -> ByteString -> Parser a
    
    - EncodeOptions :: {-# UNPACK #-} !Word8 -> EncodeOptions
    
    ~ encode :: [a] -> ByteString
                Vector a -> ByteString
    ~ encodeWith :: EncodeOptions -> [a] -> ByteString
                    EncodeOptions -> Vector a -> ByteString
    ~ encodeByName :: Header -> [a] -> ByteString
                      Header -> Vector a -> ByteString



Data.Csv.Builder
    + encodeRecord :: a -> Builder
    + encodeDefaultOrderedNamedRecord :: a -> Builder
    + encodeHeader :: Header -> Builder
    + encodeRecordWith :: EncodeOptions -> a -> Builder
    + encodeDefaultOrderedNamedRecordWith :: EncodeOptions -> a -> Builder
    + encodeHeaderWith :: EncodeOptions -> Header -> Builder
    + encodeNamedRecord :: Header -> a -> Builder



Data.Csv.Incremental
    + HasHeader :: HasHeader
    + NoHeader :: HasHeader
    + PartialH :: (ByteString -> HeaderParser a) -> HeaderParser a
    + Done :: [Either String a] -> Parser a
    + encodeDefaultOrderedByName :: NamedBuilder a -> ByteString
    + encode :: Builder a -> ByteString
    + decodeHeader :: HeaderParser ByteString
    + FailH :: !ByteString -> String -> HeaderParser a
    + Fail :: !ByteString -> String -> Parser a
    + Many :: [Either String a] -> (ByteString -> Parser a) -> Parser a
    + encodeRecord :: a -> Builder a
    + DoneH :: !Header -> a -> HeaderParser a
    + encodeNamedRecord :: a -> NamedBuilder a
    + decode :: HasHeader -> Parser a
    + encodeDefaultOrderedByNameWith :: EncodeOptions -> NamedBuilder a -> ByteString
    + encodeWith :: EncodeOptions -> Builder a -> ByteString
    + encodeByName :: Header -> NamedBuilder a -> ByteString
    + decodeHeaderWith :: DecodeOptions -> HeaderParser ByteString
    + decodeWith :: DecodeOptions -> HasHeader -> Parser a



Data.Csv.Parser
    ~ name :: Word8 -> Parser Name
              Word8 -> Parser Field



Data.Csv.Streaming
    + Nil :: (Maybe String) -> ByteString -> Records a
    + Cons :: (Either String a) -> (Records a) -> Records a
    + decode :: HasHeader -> ByteString -> Records a


Todo:

  • Document code for Haddock
  • Create testing suite
  • HTML output support
  • One command to download packages from Hackage and produce a diff

changelog-diff's People

Stargazers

David J. Gordon avatar

Watchers

Emily avatar David J. Gordon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.