• Stars
    star
    196
  • Rank 198,553 (Top 4 %)
  • Language
    Haskell
  • License
    MIT License
  • Created over 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ’ง Write more understandable Haskell.

Flow

Workflow Hackage Stackage

Write more understandable Haskell.

Flow is a package that provides functions and operators for writing more understandable Haskell. It is an alternative to some common idioms like ($) for function application and (.) for function composition.

Requirements

Flow requires a Haskell compiler. It is tested with recent versions of GHC, but older or different compilers should be acceptable. For installation with Cabal, Flow requires at least Cabal 2.2.

Installation

To add Flow as a dependency to your package, add it to your Cabal file.

build-depends: flow ==2.0.*

Usage

Flow is designed to be imported unqualified. It does not export anything that conflicts with the base package.

import Flow

Cheat sheet

Flow Base
x |> f x & f
f <| x f $ x
apply x f f x
f .> g f >>> g
g <. f g . f
compose f g x g (f x)
x !> f -
f <! x f $! x
apply' x f seq x (f x)

Converting existing code

If you want to uniformly use flow operators you can use HLint with the hlint-flow.yaml file. For easy use, it is best to extract the hlint-flow.yaml to your project directory and do

> hlint -h hlint-flow.yaml <source file>

or

> hlint --git -h hlint-flow.yaml

to check all Haskell source tracked by git.

For more information about Flow, please read the Haddock documentation.

More Repositories

1

rattletrap

๐Ÿš— Parse and generate Rocket League replays.
Haskell
137
star
2

haskeleton

๐Ÿ’€ A Haskell package skeleton.
Haskell
135
star
3

github-release

:octocat: Upload files to GitHub releases.
Haskell
102
star
4

rampart

๐Ÿฐ Determine how intervals relate to each other.
Haskell
77
star
5

witch

๐Ÿง™โ€โ™€๏ธ Convert values from one type into another.
Haskell
74
star
6

thran

Compile PureScript into Haskell.
PureScript
70
star
7

wuss

๐Ÿ”’ Secure WebSocket (WSS) clients in Haskell.
Haskell
68
star
8

hairy

๐Ÿ’‡ A JSON REST API built in Haskell.
Haskell
66
star
9

blunt

โœ๏ธ Convert between pointfree and pointful Haskell expressions.
Haskell
49
star
10

cabal-gild

๐Ÿ‘‘ Format Haskell package descriptions.
Haskell
48
star
11

purescript-neon

โšก๏ธ A practical standard library for PureScript.
PureScript
47
star
12

octane

๐Ÿš€ Parse Rocket League replays.
Haskell
39
star
13

strive

๐Ÿšด A Haskell client for the Strava V3 API.
Haskell
36
star
14

autoexporter

๐Ÿ“ค Automatically re-export Haskell modules.
Haskell
32
star
15

purescript-batteries

๐Ÿ”‹ A PureScript prelude with more features.
PureScript
32
star
16

splint

๐Ÿ—ž๏ธ HLint as a GHC source plugin.
Haskell
31
star
17

purple-yolk

๐Ÿฃ A Haskell IDE for Visual Studio Code.
TypeScript
26
star
18

evoke

๐Ÿ”ฎ A GHC plugin to derive instances.
Haskell
23
star
19

hs2048

๐Ÿ”ข A 2048 game clone in Haskell.
Haskell
22
star
20

lackey

๐Ÿ’Ž A Haskell library for generating Ruby consumers of Servant APIs.
Haskell
22
star
21

grotesque

An implementation of GraphQL in Haskell.
Haskell
21
star
22

tfausak.github.io

๐Ÿ“ Taylor Fausak's blog.
HTML
20
star
23

factory

๐Ÿญ An example Servant API.
Haskell
19
star
24

imp

๐Ÿ˜ˆ Automatically import Haskell modules.
Haskell
19
star
25

haskell-snake-game

๐Ÿ The snake game.
Haskell
17
star
26

monadoc-5

๐Ÿ”– Better Haskell documentation.
Haskell
17
star
27

haskell-knowledge-base

๐Ÿ•ธ๏ธ A knowledge map about Haskell powered by Obsidian.
Markdown
16
star
28

burrito

๐ŸŒฏ Parse and render URI templates.
Haskell
16
star
29

json-feed

๐Ÿ“ข JSON Feed in Haskell.
Haskell
13
star
30

grawlix

๐Ÿ’ฌ Comment on Haskell documentation.
Haskell
13
star
31

advent-of-code

My solutions to Advent of Code puzzles.
Haskell
12
star
32

hlint-action

๐Ÿ“ˆ Checks that Haskell files are linted with HLint.
JavaScript
12
star
33

exercism-solutions

Solutions to exercism assignments.
Haskell
11
star
34

ratel

๐Ÿฏ Notify Honeybadger about Haskell exceptions.
Haskell
11
star
35

saturn

๐Ÿช Handle POSIX cron schedules.
Haskell
10
star
36

advent-of-code-2020

๐ŸŽ… My Elm solutions to the 2020 Advent of Code puzzles.
Elm
9
star
37

delay

A Safari extension that delays the loading of time-wasting websites.
JavaScript
9
star
38

derulo

๐ŸŽ™๏ธ Parse and render JSON simply.
Haskell
8
star
39

haskell-package-checklist

โ˜‘๏ธ Write better Haskell packages
8
star
40

patrol

๐Ÿ“ถ A Sentry SDK for Haskell
Haskell
7
star
41

bombyard

A clone of the minesweeper game in Haskell.
Haskell
7
star
42

acme-mutable-package

โ˜ฃ๏ธ A mutable Haskell package.
Haskell
7
star
43

salve

๐Ÿ’‰ Semantic version numbers and constraints for Haskell.
Haskell
7
star
44

haskell-packages

Dashboard of Haskell projects I maintain.
6
star
45

list-singleton

1๏ธโƒฃ Easily and clearly create lists with only one element in them.
Haskell
6
star
46

h99

Ninety-Nine Haskell Problems
Haskell
6
star
47

quartz

Lenses and optics for Elm.
Elm
6
star
48

argo

โ›ต Parse and render JSON.
Haskell
6
star
49

types-design-yahtzee

Haskell
5
star
50

fr2048

A 2048 game clone in Frege.
Frege
5
star
51

atom-conceal

An Atom package that conceals text and replaces it with prettier alternatives.
CoffeeScript
5
star
52

project-euler

Solutions to Project Euler problems.
Perl
5
star
53

moxen

A Magic: the Gathering card database.
Python
5
star
54

ratel-wai

๐Ÿฏ Notify Honeybadger about exceptions via a WAI middleware.
Haskell
5
star
55

heptapod

๐Ÿฆ‘ Generate version 7 UUIDs in Haskell.
Haskell
4
star
56

titato

โญ• โŒ Tic tac toe game in Haskell.
Haskell
4
star
57

atom-haskell-scry

๐Ÿ”ฎ De-emphasize qualified Haskell identifiers.
CSS
4
star
58

bento

๐Ÿฑ Manage stateful components.
Haskell
4
star
59

scrod

๐ŸŸ Like Haddock but worse.
Haskell
3
star
60

fregexample

An example Frege project.
Clojure
3
star
61

rocket-league-api

Haskell
3
star
62

gloop

๐Ÿฎ SDL2 game loops.
Haskell
3
star
63

haddock-dingus

๐ŸŸ Easily preview Haddock markup.
Haskell
3
star
64

erudite

๐Ÿ“š Test interactive Ruby examples.
Ruby
3
star
65

threase

Plays Threes with ease.
Haskell
3
star
66

MadMinute

It's like math, but faster!
Objective-C
3
star
67

multi-line-string

Haskell
3
star
68

storm

๐ŸŒฉ๏ธ Parse and generate Fortnite replays.
Haskell
2
star
69

gizmo-gg

๐Ÿš™ Rocket League stats.
Haskell
2
star
70

cod

๐ŸŸ Quickly generate Haskell documentation.
Haskell
2
star
71

monadoc-6

๐Ÿ”– Worse Haskell documentation.
Haskell
2
star
72

hutton

A Haskell program for the button on Reddit.
Haskell
2
star
73

gizmo-gg-uploader

๐Ÿ“ค Rocket League replay uploader.
JavaScript
2
star
74

purescript-thermite-example

An example application using PureScript's Thermite on top of React.
PureScript
2
star
75

endo

๐ŸŽ๏ธ Parse and generate Rocket League replays.
Haskell
1
star
76

velma

๐Ÿ‘“ Automatically add files to exposed-modules and other-modules.
Haskell
1
star
77

bdbxml-jukebox

A web-based jukebox powered by PHP and Berkeley DB XML.
PHP
1
star
78

disable-warnings

Haskell
1
star
79

obsidian-publish-action

Publishes files to Obsidian.
JavaScript
1
star
80

piwik-openshift

Piwik on OpenShift.
Ruby
1
star
81

docker-i386-haskell

Dockerfile
1
star
82

advent-of-code-2022

๐ŸŽ… My solutions to the 2022 Advent of Code puzzles.
F#
1
star
83

cherry-top

๐Ÿšจ Controls BlinkSticks.
Haskell
1
star
84

dotfiles

Shell
1
star
85

ledger-react

1
star
86

beeswax

๐Ÿ Encode and decode BSON in Haskell.
Haskell
1
star
87

advent-of-code-2023

๐ŸŽ… My solutions to the 2023 Advent of Code puzzles.
Haskell
1
star
88

phong

A Pong game clone.
Haskell
1
star
89

brittany-action

๐Ÿ–จ๏ธ Checks that Haskell files are formatted with Brittany.
JavaScript
1
star
90

honeycrisp

๐ŸŽ A Haskell client for the Apple News API.
Haskell
1
star
91

jawa

Type definitions for JWP events.
Elm
1
star
92

caltrop

Experimental Haskell source code analyzer as a GHC plugin.
Haskell
1
star
93

glenda

๐Ÿฐ Describes the Go programming language in Haskell.
Haskell
1
star
94

hslogger

Haskell
1
star
95

ledger-api

1
star
96

slurp

๐Ÿ‘… A single liberal unified registry of Haskell packages.
Haskell
1
star