-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1ff9702
commit f6928c6
Showing
12 changed files
with
632 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
name: Haskell Integration | ||
|
||
on: | ||
push: {} | ||
|
||
pull_request: | ||
branches: | ||
- master | ||
|
||
schedule: | ||
- cron: "0 17 * * *" | ||
|
||
jobs: | ||
BuildAndTest: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
ghc: | ||
- "9.2.1" | ||
- "9.0.1" | ||
- "8.10.7" | ||
- "8.8.4" | ||
- "8.6.5" | ||
may-fail: | ||
- false | ||
continue-on-error: ${{ matrix.may-fail }} | ||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.cabal/packages | ||
~/.cabal/store | ||
dist-newstyle | ||
key: ${{ runner.os }}-${{ matrix.ghc }} | ||
|
||
- uses: haskell/actions/setup@v1.2 | ||
with: | ||
ghc-version: ${{ matrix.ghc }} | ||
|
||
- run: cabal configure --disable-documentation --enable-tests --disable-optimization | ||
|
||
- run: cabal build --dependencies-only all | ||
|
||
- run: cabal build all | ||
|
||
- run: cabal test all | ||
|
||
HLint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.cabal/packages | ||
~/.cabal/store | ||
dist-newstyle | ||
key: ${{ runner.os }}-hlint | ||
|
||
- uses: haskell/actions/setup@v1.2 | ||
with: | ||
ghc-version: "latest" | ||
|
||
- name: Install HLint | ||
run: cabal install --installdir=. hlint --constraint 'hlint >= 3.3' | ||
|
||
- name: Run HLint | ||
run: ./hlint . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
/dist | ||
/dist-newstyle |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,267 @@ | ||
# stylish-haskell configuration file | ||
# ================================== | ||
|
||
# The stylish-haskell tool is mainly configured by specifying steps. These steps | ||
# are a list, so they have an order, and one specific step may appear more than | ||
# once (if needed). Each file is processed by these steps in the given order. | ||
steps: | ||
# Convert some ASCII sequences to their Unicode equivalents. This is disabled | ||
# by default. | ||
# - unicode_syntax: | ||
# # In order to make this work, we also need to insert the UnicodeSyntax | ||
# # language pragma. If this flag is set to true, we insert it when it's | ||
# # not already present. You may want to disable it if you configure | ||
# # language extensions using some other method than pragmas. Default: | ||
# # true. | ||
# add_language_pragma: true | ||
|
||
# Format record definitions | ||
# - records: {} | ||
|
||
# Align the right hand side of some elements. This is quite conservative | ||
# and only applies to statements where each element occupies a single | ||
# line. All default to true. | ||
- simple_align: | ||
cases: false | ||
top_level_patterns: false | ||
records: false | ||
|
||
# Import cleanup | ||
- imports: | ||
# There are different ways we can align names and lists. | ||
# | ||
# - global: Align the import names and import list throughout the entire | ||
# file. | ||
# | ||
# - file: Like global, but don't add padding when there are no qualified | ||
# imports in the file. | ||
# | ||
# - group: Only align the imports per group (a group is formed by adjacent | ||
# import lines). | ||
# | ||
# - none: Do not perform any alignment. | ||
# | ||
# Default: global. | ||
align: group | ||
|
||
# The following options affect only import list alignment. | ||
# | ||
# List align has following options: | ||
# | ||
# - after_alias: Import list is aligned with end of import including | ||
# 'as' and 'hiding' keywords. | ||
# | ||
# > import qualified Data.List as List (concat, foldl, foldr, head, | ||
# > init, last, length) | ||
# | ||
# - with_alias: Import list is aligned with start of alias or hiding. | ||
# | ||
# > import qualified Data.List as List (concat, foldl, foldr, head, | ||
# > init, last, length) | ||
# | ||
# - with_module_name: Import list is aligned `list_padding` spaces after | ||
# the module name. | ||
# | ||
# > import qualified Data.List as List (concat, foldl, foldr, head, | ||
# init, last, length) | ||
# | ||
# This is mainly intended for use with `pad_module_names: false`. | ||
# | ||
# > import qualified Data.List as List (concat, foldl, foldr, head, | ||
# init, last, length, scanl, scanr, take, drop, | ||
# sort, nub) | ||
# | ||
# - new_line: Import list starts always on new line. | ||
# | ||
# > import qualified Data.List as List | ||
# > (concat, foldl, foldr, head, init, last, length) | ||
# | ||
# Default: after_alias | ||
list_align: after_alias | ||
|
||
# Right-pad the module names to align imports in a group: | ||
# | ||
# - true: a little more readable | ||
# | ||
# > import qualified Data.List as List (concat, foldl, foldr, | ||
# > init, last, length) | ||
# > import qualified Data.List.Extra as List (concat, foldl, foldr, | ||
# > init, last, length) | ||
# | ||
# - false: diff-safe | ||
# | ||
# > import qualified Data.List as List (concat, foldl, foldr, init, | ||
# > last, length) | ||
# > import qualified Data.List.Extra as List (concat, foldl, foldr, | ||
# > init, last, length) | ||
# | ||
# Default: true | ||
pad_module_names: false | ||
|
||
# Long list align style takes effect when import is too long. This is | ||
# determined by 'columns' setting. | ||
# | ||
# - inline: This option will put as much specs on same line as possible. | ||
# | ||
# - new_line: Import list will start on new line. | ||
# | ||
# - new_line_multiline: Import list will start on new line when it's | ||
# short enough to fit to single line. Otherwise it'll be multiline. | ||
# | ||
# - multiline: One line per import list entry. | ||
# Type with constructor list acts like single import. | ||
# | ||
# > import qualified Data.Map as M | ||
# > ( empty | ||
# > , singleton | ||
# > , ... | ||
# > , delete | ||
# > ) | ||
# | ||
# Default: inline | ||
long_list_align: inline | ||
|
||
# Align empty list (importing instances) | ||
# | ||
# Empty list align has following options | ||
# | ||
# - inherit: inherit list_align setting | ||
# | ||
# - right_after: () is right after the module name: | ||
# | ||
# > import Vector.Instances () | ||
# | ||
# Default: inherit | ||
empty_list_align: inherit | ||
|
||
# List padding determines indentation of import list on lines after import. | ||
# This option affects 'long_list_align'. | ||
# | ||
# - <integer>: constant value | ||
# | ||
# - module_name: align under start of module name. | ||
# Useful for 'file' and 'group' align settings. | ||
# | ||
# Default: 4 | ||
list_padding: 2 | ||
|
||
# Separate lists option affects formatting of import list for type | ||
# or class. The only difference is single space between type and list | ||
# of constructors, selectors and class functions. | ||
# | ||
# - true: There is single space between Foldable type and list of it's | ||
# functions. | ||
# | ||
# > import Data.Foldable (Foldable (fold, foldl, foldMap)) | ||
# | ||
# - false: There is no space between Foldable type and list of it's | ||
# functions. | ||
# | ||
# > import Data.Foldable (Foldable(fold, foldl, foldMap)) | ||
# | ||
# Default: true | ||
separate_lists: true | ||
|
||
# Space surround option affects formatting of import lists on a single | ||
# line. The only difference is single space after the initial | ||
# parenthesis and a single space before the terminal parenthesis. | ||
# | ||
# - true: There is single space associated with the enclosing | ||
# parenthesis. | ||
# | ||
# > import Data.Foo ( foo ) | ||
# | ||
# - false: There is no space associated with the enclosing parenthesis | ||
# | ||
# > import Data.Foo (foo) | ||
# | ||
# Default: false | ||
space_surround: false | ||
|
||
# Move 'qualified' keyword after imported module name. | ||
post_qualify: true | ||
|
||
# Language pragmas | ||
- language_pragmas: | ||
# We can generate different styles of language pragma lists. | ||
# | ||
# - vertical: Vertical-spaced language pragmas, one per line. | ||
# | ||
# - compact: A more compact style. | ||
# | ||
# - compact_line: Similar to compact, but wrap each line with | ||
# `{-#LANGUAGE #-}'. | ||
# | ||
# Default: vertical. | ||
style: vertical | ||
|
||
# Align affects alignment of closing pragma brackets. | ||
# | ||
# - true: Brackets are aligned in same column. | ||
# | ||
# - false: Brackets are not aligned together. There is only one space | ||
# between actual import and closing bracket. | ||
# | ||
# Default: true | ||
align: false | ||
|
||
# stylish-haskell can detect redundancy of some language pragmas. If this | ||
# is set to true, it will remove those redundant pragmas. Default: true. | ||
remove_redundant: true | ||
|
||
# Language prefix to be used for pragma declaration, this allows you to | ||
# use other options non case-sensitive like "language" or "Language". | ||
# If a non correct String is provided, it will default to: LANGUAGE. | ||
language_prefix: LANGUAGE | ||
|
||
# Replace tabs by spaces. This is disabled by default. | ||
- tabs: | ||
# Number of spaces to use for each tab. Default: 8, as specified by the | ||
# Haskell report. | ||
spaces: 2 | ||
|
||
# Remove trailing whitespace | ||
- trailing_whitespace: {} | ||
|
||
# Squash multiple spaces between the left and right hand sides of some | ||
# elements into single spaces. Basically, this undoes the effect of | ||
# simple_align but is a bit less conservative. | ||
# - squash: {} | ||
|
||
# A common indentation setting. Different steps take this into account. | ||
indent: 2 | ||
|
||
# A common setting is the number of columns (parts of) code will be wrapped | ||
# to. Different steps take this into account. | ||
# | ||
# Set this to null to disable all line wrapping. | ||
# | ||
# Default: 80. | ||
columns: 100 | ||
|
||
# By default, line endings are converted according to the OS. You can override | ||
# preferred format here. | ||
# | ||
# - native: Native newline format. CRLF on Windows, LF on other OSes. | ||
# | ||
# - lf: Convert to LF ("\n"). | ||
# | ||
# - crlf: Convert to CRLF ("\r\n"). | ||
# | ||
# Default: native. | ||
newline: native | ||
|
||
# Sometimes, language extensions are specified in a cabal file or from the | ||
# command line instead of using language pragmas in the file. stylish-haskell | ||
# needs to be aware of these, so it can parse the file correctly. | ||
# | ||
# No language extensions are enabled by default. | ||
language_extensions: | ||
- TypeOperators | ||
- ExistentialQuantification | ||
|
||
# Attempt to find the cabal file in ancestors of the current directory, and | ||
# parse options (currently only language extensions) from that. | ||
# | ||
# Default: true | ||
cabal: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# simpoole | ||
|
||
### 0.0.0 | ||
|
||
This is the root version. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
Copyright (c) Ole Krüger | ||
|
||
All rights reserved. | ||
|
||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions | ||
are met: | ||
|
||
* Redistributions of source code must retain the above copyright | ||
notice, this list of conditions and the following disclaimer. | ||
* Redistributions in binary form must reproduce the above copyright | ||
notice, this list of conditions and the following disclaimer in the | ||
documentation and/or other materials provided with the distribution. | ||
* Neither the name of the author nor the | ||
names of its contributors may be used to endorse or promote products | ||
derived from this software without specific prior written permission. | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | ||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY | ||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
[![Hackage](https://img.shields.io/hackage/v/simpoole)](http://hackage.haskell.org/package/simpoole) | ||
![Hackage-Deps](https://img.shields.io/hackage-deps/v/simpoole) | ||
[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/vapourismo/simpoole/Haskell%20Integration)](https://github.com/vapourismo/simpoole/actions?query=workflow%3A%22Haskell+Integration%22) | ||
|
||
# simpoole | ||
|
||
Simple pool |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
import Distribution.Simple | ||
main = defaultMain |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
packages: simpoole.cabal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
cradle: | ||
cabal: |
Oops, something went wrong.