Headline

Modeling queries in Language:Haskell with the help of monoids

Characteristics

Several functional requirements are implemented while making explicit use the monoids. For instance, Feature:Total is implemented with the help of the sum monoid. Only those functional requirements are implemented that indeed may benefit from monoids as such. For instance, Feature:Cut is not implemented.

Illustration

Consider the implementation of Feature:Total:

Fragment not found

That is, lists of departments and employees are processed by the map function resulting in lists of intermediate results in the monoid's Sum type to be reduced accordingly by the monoid's mconcat operation, which, in turn, is uniformly defined by applying the fold function to the monoid's binary operation and its identity.

Relationships

Architecture

There are these modules:

Fragment not found
: a data model for Feature:Hierarchical company
Fragment not found
: a sample company
Fragment not found
: the implementation of Feature:Total
Fragment not found
: the implementation of Feature:Depth
Fragment not found
: the implementation of Feature:Ranking
Fragment not found
: a monoid for optional maxima
Fragment not found
: Tests

The types of

Fragment not found
implement Feature:Closed serialization through Haskell's read/show.

Usage

See https://github.com/101companies/101haskell/blob/master/README.md.


Kevin edited this article at Fri, 02 Jun 2017 00:10:09 +0200
Compare revisions Compare revisions

User contributions

    This user never has never made submissions.

    User edits

    Syntax for editing wiki

    For you are available next options:

    will make text bold.

    will make text italic.

    will make text underlined.

    will make text striked.

    will allow you to paste code headline into the page.

    will allow you to link into the page.

    will allow you to paste code with syntax highlight into the page. You will need to define used programming language.

    will allow you to paste image into the page.

    is list with bullets.

    is list with numbers.

    will allow your to insert slideshare presentation into the page. You need to copy link to presentation and insert it as parameter in this tag.

    will allow your to insert youtube video into the page. You need to copy link to youtube page with video and insert it as parameter in this tag.

    will allow your to insert code snippets from @worker.

    Syntax for editing wiki

    For you are available next options:

    will make text bold.

    will make text italic.

    will make text underlined.

    will make text striked.

    will allow you to paste code headline into the page.

    will allow you to link into the page.

    will allow you to paste code with syntax highlight into the page. You will need to define used programming language.

    will allow you to paste image into the page.

    is list with bullets.

    is list with numbers.

    will allow your to insert slideshare presentation into the page. You need to copy link to presentation and insert it as parameter in this tag.

    will allow your to insert youtube video into the page. You need to copy link to youtube page with video and insert it as parameter in this tag.

    will allow your to insert code snippets from @worker.