• Stars
    star
    196
  • Rank 192,640 (Top 4 %)
  • Language
    Haskell
  • License
    MIT License
  • Created about 9 years ago
  • Updated 9 months 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

purescript-neon

⚡ī¸ A practical standard library for PureScript.
PureScript
47
star
11

cabal-gild

👑 Format Haskell package descriptions.
Haskell
39
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
25
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

haskell-snake-game

🐍 The snake game.
Haskell
17
star
25

monadoc-5

🔖 Better Haskell documentation.
Haskell
17
star
26

burrito

đŸŒ¯ Parse and render URI templates.
Haskell
16
star
27

imp

😈 Automatically import Haskell modules.
Haskell
16
star
28

haskell-knowledge-base

🕸ī¸ A knowledge map about Haskell powered by Obsidian.
Markdown
15
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

quartz

Lenses and optics for Elm.
Elm
6
star
45

h99

Ninety-Nine Haskell Problems
Haskell
6
star
46

list-singleton

1ī¸âƒŖ Easily and clearly create lists with only one element in them.
Haskell
6
star
47

haskell-packages

Dashboard of Haskell projects I maintain.
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

project-euler

Solutions to Project Euler problems.
Perl
5
star
52

atom-conceal

An Atom package that conceals text and replaces it with prettier alternatives.
CoffeeScript
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

titato

⭕ ❌ Tic tac toe game in Haskell.
Haskell
4
star
56

atom-haskell-scry

🔮 De-emphasize qualified Haskell identifiers.
CSS
4
star
57

bento

🍱 Manage stateful components.
Haskell
4
star
58

fregexample

An example Frege project.
Clojure
3
star
59

rocket-league-api

Haskell
3
star
60

gloop

🍮 SDL2 game loops.
Haskell
3
star
61

multi-line-string

Haskell
3
star
62

erudite

📚 Test interactive Ruby examples.
Ruby
3
star
63

threase

Plays Threes with ease.
Haskell
3
star
64

MadMinute

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

cod

🐟 Quickly generate Haskell documentation.
Haskell
2
star
66

storm

🌩ī¸ Parse and generate Fortnite replays.
Haskell
2
star
67

monadoc-6

🔖 Worse Haskell documentation.
Haskell
2
star
68

gizmo-gg

🚙 Rocket League stats.
Haskell
2
star
69

hutton

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

gizmo-gg-uploader

📤 Rocket League replay uploader.
JavaScript
2
star
71

purescript-thermite-example

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

endo

🏎ī¸ Parse and generate Rocket League replays.
Haskell
1
star
73

velma

👓 Automatically add files to exposed-modules and other-modules.
Haskell
1
star
74

disable-warnings

Haskell
1
star
75

bdbxml-jukebox

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

obsidian-publish-action

Publishes files to Obsidian.
JavaScript
1
star
77

piwik-openshift

Piwik on OpenShift.
Ruby
1
star
78

docker-i386-haskell

Dockerfile
1
star
79

advent-of-code-2022

🎅 My solutions to the 2022 Advent of Code puzzles.
F#
1
star
80

cherry-top

🚨 Controls BlinkSticks.
Haskell
1
star
81

dotfiles

Shell
1
star
82

ledger-react

1
star
83

beeswax

🐝 Encode and decode BSON in Haskell.
Haskell
1
star
84

advent-of-code-2023

🎅 My solutions to the 2023 Advent of Code puzzles.
Haskell
1
star
85

phong

A Pong game clone.
Haskell
1
star
86

caltrop

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

brittany-action

🖨ī¸ Checks that Haskell files are formatted with Brittany.
JavaScript
1
star
88

honeycrisp

🍎 A Haskell client for the Apple News API.
Haskell
1
star
89

ledger-api

1
star
90

jawa

Type definitions for JWP events.
Elm
1
star
91

glenda

🐰 Describes the Go programming language in Haskell.
Haskell
1
star
92

hslogger

Haskell
1
star
93

slurp

👅 A single liberal unified registry of Haskell packages.
Haskell
1
star