Skip to content

Commit 5d65a2e

Browse files
author
Owen Shepherd
committed
Merge branch 'develop' into factorable-sum
# Conflicts: # src/Reflex/Adjustable/Class.hs # src/Reflex/Network.hs
2 parents 0352d5d + 3b8a112 commit 5d65a2e

233 files changed

Lines changed: 23835 additions & 1510 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
-- This is a GHC environment file written by cabal. This means you can
2+
-- run ghc or ghci and get the environment of the project as a whole.
3+
-- But you still need to use cabal repl $target to get the environment
4+
-- of specific components (libs, exes, tests etc) because each one can
5+
-- have its own source dirs, cpp flags etc.
6+
--
7+
clear-package-db
8+
global-package-db
9+
package-db /home/owen/.cabal/store/ghc-8.6.5/package.db
10+
package-db dist-newstyle/packagedb/ghc-8.6.5
11+
package-id reflex-0.6.2.4-inplace
12+
package-id MemoTrie-0.6.9-8zY1JbeVzGvsbhcVCLlip
13+
package-id base-4.12.0.0
14+
package-id ghc-prim-0.5.3
15+
package-id rts
16+
package-id integer-gmp-1.0.2.0
17+
package-id newtype-generics-0.5.3-6UOHIAuTtziBWehsMC0qS4
18+
package-id transformers-0.5.6.2
19+
package-id bifunctors-5.5.3-CxBbY0hGul56YrkCP3bZTk
20+
package-id base-orphans-0.8-2hO32oBX2gy32lPSRilDYG
21+
package-id comonad-5.0.4-CfUDvK0fM3o3gQjXsmwpbS
22+
package-id containers-0.6.0.1
23+
package-id array-0.5.3.0
24+
package-id deepseq-1.4.4.0
25+
package-id contravariant-1.5-F3dGhR4lhnFB6K0va0cOu0
26+
package-id StateVar-1.1.1.1-2ewTKofpCGhC2np5dyFIaR
27+
package-id stm-2.5.0.0
28+
package-id distributive-0.6-KSBqnyfU90c1sptSOvKudm
29+
package-id tagged-0.8.6-EiJ2F18RuD68LSMkg0Ly4r
30+
package-id template-haskell-2.14.0.0
31+
package-id ghc-boot-th-8.6.5
32+
package-id pretty-1.1.3.6
33+
package-id semigroups-0.18.5-6T2lH5F6zyQIdwR3JYKMO3
34+
package-id transformers-compat-0.6.2-IT1pgM4Lod5B9rerVXsOk7
35+
package-id th-abstraction-0.2.11.0-DAhuCgi08HTBWsDjm9nrOq
36+
package-id constraints-extras-0.3.0.1-ElqE8ZEueSbDZyXNyvIbuy
37+
package-id constraints-0.10.1-Ge0oUKujDl5JFbRA6MC749
38+
package-id binary-0.8.6.0
39+
package-id bytestring-0.10.8.2
40+
package-id hashable-1.2.7.0-3Td3QPpYpP355exFvEAGjQ
41+
package-id text-1.2.3.1
42+
package-id mtl-2.2.2
43+
package-id data-default-0.7.1.1-LTjBtjLvKGK2UBTHiM9KVF
44+
package-id data-default-class-0.1.2.0-FeIQ5tLoVZBHMSgrT9zptQ
45+
package-id data-default-instances-containers-0.0.1-9yvw8HF06tiAXuxm5U8KjO
46+
package-id data-default-instances-dlist-0.0.1-LIRSqaQLAnD9zvxNpqPc5w
47+
package-id dlist-0.8.0.5-FMMQwM1hD2kK7b7715Z2vG
48+
package-id data-default-instances-old-locale-0.0.1-GRzcBvmea5LLGj3CNDMpIw
49+
package-id old-locale-1.0.0.7-D4Rn5zPhtMJBwwirPJNu78
50+
package-id dependent-map-0.3-8T0Q74nqGk3BvzDcWTzlnJ
51+
package-id dependent-sum-0.6.2.0-DfZzs5WvVkfLNvfMOWNHZf
52+
package-id exception-transformers-0.4.0.7-6IkV6CjEJU5BGxyjUrDnHG
53+
package-id haskell-src-exts-1.21.0-1MqMUIJU7y29AVS9NHxlR4
54+
package-id haskell-src-meta-0.8.2-6FpJnzwbNozIUTxPdhjFDj
55+
package-id syb-0.7-8OHoa6XfXrB5PPoB0H7POz
56+
package-id th-orphans-0.13.6-4fprWqsu1Zg2nne2HAd7tV
57+
package-id th-lift-0.7.11-hZJVZ2zmXw59mRAYP9RXW
58+
package-id th-lift-instances-0.1.12-7ErLaqpNM4M6ZI4vzbEcTE
59+
package-id vector-0.12.0.2-AoZ9EwUsgIW1yrOc105QXH
60+
package-id primitive-0.6.4.0-ILgywxtLpvnAOlEISPpP5b
61+
package-id th-reify-many-0.1.8-HnJg08Hsq3q4zgVlksa6iN
62+
package-id safe-0.3.17-6NAurGt3qCrL1bVFh29Owv
63+
package-id th-expand-syns-0.4.4.0-JJJC0BlUtveGlxXaCaUH0k
64+
package-id lens-4.17-AoHvfafWcnn1fl5JMgr0bk
65+
package-id call-stack-0.1.0-6JeY2gtocDgBo2y7QzQaJD
66+
package-id exceptions-0.10.0-14KCO06p6in59SsPqNrx7l
67+
package-id filepath-1.4.2.1
68+
package-id free-5.1-LU83tWlGajCAxLkVlHHqYh
69+
package-id profunctors-5.3-1LzggvL6mvS34LpG9TKvy4
70+
package-id semigroupoids-5.3.2-IPtfeEgsxTf6bYG7zEUetP
71+
package-id unordered-containers-0.2.9.0-DHGIJuoYmZw582l4SNN8rX
72+
package-id transformers-base-0.4.5.2-FanPsn4y0Pw6qXgRixCk97
73+
package-id kan-extensions-5.2-3KN2oqNy0VOJofm6ZCGs55
74+
package-id adjunctions-4.4-I9DpOfKzPZSJ2UBUD1iYww
75+
package-id void-0.7.2-25eAk552UtQA9vusJY0zCu
76+
package-id invariant-0.5.1-3Wx8m8qRXoTIuMeWnsAnE3
77+
package-id parallel-3.2.2.0-EGl5SOk48TWHAD161C93aQ
78+
package-id reflection-2.1.4-E9VXTbXoqHZ5rulgGPZOrF
79+
package-id monad-control-1.0.2.3-EdXpRzw5t49bbotgsxoFF
80+
package-id monoidal-containers-0.6-FmoaV48AwVeLGrYATGxIXa
81+
package-id aeson-1.4.2.0-7yK3GqBIskeGYdLXiHaTFp
82+
package-id attoparsec-0.13.2.2-FS10ndSmMwuKnecmDnUags
83+
package-id scientific-0.3.6.2-LafykZRn9WH8upIymNFJ3S
84+
package-id integer-logarithms-1.0.2.2-IT1M1moCo0mIobW8LfdrSC
85+
package-id base-compat-0.10.5-FRXoAxOVtbG2qLNIZm1tTr
86+
package-id unix-2.7.2.2
87+
package-id time-1.8.0.2
88+
package-id time-locale-compat-0.1.1.5-Et2KuIqhniaDySS0uBEPko
89+
package-id uuid-types-1.0.3-DcKfDLH26WcEOcAKdcDixS
90+
package-id random-1.1-3ypV4EIycgb35PKjTYYr5q
91+
package-id newtype-0.2-I9xMGod6wpEBsBPdaJXf9q
92+
package-id semialign-1-2JrnZFa2W6pEgyBZKAsND5
93+
package-id these-1-Lv5CnrkyX4NL7wHSrkFYuQ
94+
package-id QuickCheck-2.12.6.1-JyVWDgZJAFGJC5rmVxfUSm
95+
package-id erf-2.0.0.0-ExhHoenPosmHlOroBQQced
96+
package-id tf-random-0.5-IjFVdJXpGgq3hBuRJiaT27
97+
package-id assoc-1-686bCGpnMLjLCMVv3cunID
98+
package-id prim-uniq-0.1.0.1-D75JKKBZDmuADvWWa8CGIl
99+
package-id ref-tf-0.4.0.1-6otS07lPtcm2p5TIx8ks0R
100+
package-id unbounded-delays-0.1.1.0-7ulHERuvlgAKyhaTH4vNZc
101+
package-id witherable-0.3-1xsX6QC8kE49eKfUvnd7e8
102+
package-id these-lens-1-JKcyCh3l8NA9dhlmptj30M
103+
package-id directory-1.3.3.0
104+
package-id filemanip-0.3.6.3-4gIDkmoap4z2kDIgJy5hH
105+
package-id unix-compat-0.5.1-7L4ZE9qc5MBJa5Jne6W69O
106+
package-id hlint-2.2.2-9DW3qFHDIDx9mU0rIkLsV0
107+
package-id ansi-terminal-0.8.2-LZ54B5ErqCiIlNwOVvnj65
108+
package-id colour-2.3.4-BYzTQyKoQ9LK29pbkBo2SY
109+
package-id cmdargs-0.10.20-EiFbtpfcdyUCuIuL5dHJuW
110+
package-id process-1.6.5.0
111+
package-id cpphs-1.20.8-DevT7HkEKU3DDQgUoHVnJY
112+
package-id old-time-1.1.0.3-2XkcGgLYS3G4Bt8PCBG9iL
113+
package-id polyparse-1.12.1-FeZxex5koKh2BIaglzjzIj
114+
package-id extra-1.6.14-22umsfNV1L4GYDsAAhiwEu
115+
package-id clock-0.7.2-6GYCAXixqb8FuS0ooeoDbD
116+
package-id ghc-lib-parser-8.8.0.20190723-JAtheQxRztq8b4NiIcZ5ld
117+
package-id hpc-0.6.0.3
118+
package-id haskell-src-exts-util-0.2.5-90Dej4Kotj9AN1CNW4KGMw
119+
package-id uniplate-1.6.12-5jY4kwgUm4FYrSzkrgwIB
120+
package-id hscolour-1.24.4-BEI90NJLSwF5tw227AM1ae
121+
package-id refact-0.3.0.2-1sV84vP3OHo15p4d2xAoYA
122+
package-id yaml-0.11.0.0-I1P6K4duuUiB9XtGHug2Dc
123+
package-id conduit-1.3.1.1-47X9ud5YVzCDqkAV1V2WnC
124+
package-id mono-traversable-1.0.11.0-3LXfAFldzuQ27QqqkshSXK
125+
package-id split-0.2.3.3-CwXUcGD2U4I4pJUogujB5u
126+
package-id vector-algorithms-0.8.0.1-1IsWwfvXHi37z3RePwG982
127+
package-id resourcet-1.2.2-7olNYHp9yNzFSqTGVHDyn8
128+
package-id unliftio-core-0.1.2.0-DmlZdkLzX278vkyONsp8WQ
129+
package-id libyaml-0.1.1.0-9QYjfboShhg1xO5bYS6Vkd
130+
package-id ansi-wl-pprint-0.6.8.2-9mA7ckPlKRf5aGqviJvBkZ
131+
package-id parsec-3.1.13.0
132+
package-id optparse-applicative-0.14.3.0-GwyNPNsVIGd8cKk3PdDU1e

.travis.yml

Lines changed: 167 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,173 @@
1-
# Cache Buster: 0
2-
language: nix
1+
# This Travis job script has been generated by a script via
2+
#
3+
# haskell-ci '--config=cabal.haskell-ci' 'cabal.project'
4+
#
5+
# For more information, see https://github.com/haskell-CI/haskell-ci
6+
#
7+
# version: 0.3.20190814
8+
#
9+
language: c
10+
dist: xenial
11+
sudo: required
12+
git:
13+
# whether to recursively clone submodules
14+
submodules: false
315
cache:
416
directories:
5-
- /nix
17+
- $HOME/.cabal/packages
18+
- $HOME/.cabal/store
19+
before_cache:
20+
- rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log
21+
# remove files that are regenerated by 'cabal update'
22+
- rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.*
23+
- rm -fv $CABALHOME/packages/hackage.haskell.org/*.json
24+
- rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache
25+
- rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar
26+
- rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx
27+
- rm -rfv $CABALHOME/packages/head.hackage
628
matrix:
729
include:
8-
- env: COMPILER=ghc7103
9-
- env: COMPILER=ghc821
10-
- env: COMPILER=ghc802
11-
- env: COMPILER=ghcjs
30+
- compiler: ghcjs-8.4
31+
addons: {"apt":{"sources":["hvr-ghc"],"packages":["cabal-install-3.0"]}}
32+
- compiler: ghc-8.8.1
33+
addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.8.1","cabal-install-3.0"]}}
34+
- compiler: ghc-8.6.5
35+
addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.5","cabal-install-2.4"]}}
36+
- compiler: ghc-8.4.4
37+
addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.4.4","cabal-install-2.4"]}}
38+
- compiler: ghc-8.2.2
39+
addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.2.2","cabal-install-2.4"]}}
40+
- compiler: ghc-8.0.2
41+
addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.0.2","cabal-install-2.4"]}}
42+
before_install:
43+
- |
44+
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
45+
sudo add-apt-repository -y ppa:hvr/ghcjs;
46+
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
47+
sudo apt-add-repository 'https://deb.nodesource.com/node_8.x xenial main'
48+
sudo apt-get update;
49+
sudo apt-get install $CC cabal-install-3.0 nodejs;
50+
fi
51+
- HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
52+
- WITHCOMPILER="-w $HC"
53+
- |
54+
if echo $CC | grep -q ghcjs; then
55+
GHCJS=true
56+
HC=${HC}js
57+
WITHCOMPILER="--ghcjs ${WITHCOMPILER}js"
58+
else
59+
GHCJS=false;
60+
fi
61+
- if $GHCJS ; then sudo apt-get install -y ghc-8.4.4 ; fi
62+
- if $GHCJS ; then PATH="/opt/ghc/8.4.4/bin:$PATH" ; fi
63+
- HCPKG="$HC-pkg"
64+
- unset CC
65+
- CABAL=/opt/ghc/bin/cabal
66+
- CABALHOME=$HOME/.cabal
67+
- export PATH="$CABALHOME/bin:$PATH"
68+
- TOP=$(pwd)
69+
- "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')"
70+
- echo $HCNUMVER
71+
- CABAL="$CABAL -vnormal+nowrap+markoutput"
72+
- set -o pipefail
73+
- |
74+
echo 'function blue(s) { printf "\033[0;34m" s "\033[0m " }' >> .colorful.awk
75+
echo 'BEGIN { state = "output"; }' >> .colorful.awk
76+
echo '/^-----BEGIN CABAL OUTPUT-----$/ { state = "cabal" }' >> .colorful.awk
77+
echo '/^-----END CABAL OUTPUT-----$/ { state = "output" }' >> .colorful.awk
78+
echo '!/^(-----BEGIN CABAL OUTPUT-----|-----END CABAL OUTPUT-----)/ {' >> .colorful.awk
79+
echo ' if (state == "cabal") {' >> .colorful.awk
80+
echo ' print blue($0)' >> .colorful.awk
81+
echo ' } else {' >> .colorful.awk
82+
echo ' print $0' >> .colorful.awk
83+
echo ' }' >> .colorful.awk
84+
echo '}' >> .colorful.awk
85+
- cat .colorful.awk
86+
- |
87+
color_cabal_output () {
88+
awk -f $TOP/.colorful.awk
89+
}
90+
- echo text | color_cabal_output
91+
install:
92+
- ${CABAL} --version
93+
- echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
94+
- node --version
95+
- echo $GHCJS
96+
- TEST=--enable-tests
97+
- BENCH=--enable-benchmarks
98+
- BENCH=--disable-benchmarks
99+
- HEADHACKAGE=false
100+
- rm -f $CABALHOME/config
101+
- |
102+
echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config
103+
echo "remote-build-reporting: anonymous" >> $CABALHOME/config
104+
echo "write-ghc-environment-files: always" >> $CABALHOME/config
105+
echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config
106+
echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config
107+
echo "world-file: $CABALHOME/world" >> $CABALHOME/config
108+
echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config
109+
echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config
110+
echo "installdir: $CABALHOME/bin" >> $CABALHOME/config
111+
echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config
112+
echo "store-dir: $CABALHOME/store" >> $CABALHOME/config
113+
echo "install-dirs user" >> $CABALHOME/config
114+
echo " prefix: $CABALHOME" >> $CABALHOME/config
115+
echo "repository hackage.haskell.org" >> $CABALHOME/config
116+
echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
117+
- cat $CABALHOME/config
118+
- rm -fv cabal.project cabal.project.local cabal.project.freeze
119+
- travis_retry ${CABAL} v2-update -v
120+
- if $GHCJS ; then (cd /tmp && ${CABAL} v2-install -w ghc-8.4.4 happy) ; fi
121+
# Generate cabal.project
122+
- rm -rf cabal.project cabal.project.local cabal.project.freeze
123+
- touch cabal.project
124+
- |
125+
echo "packages: ." >> cabal.project
126+
- |
127+
- cat cabal.project || true
128+
- cat cabal.project.local || true
129+
- if [ -f "./configure.ac" ]; then (cd "." && autoreconf -i); fi
130+
- ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} | color_cabal_output
131+
- "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'"
132+
- rm cabal.project.freeze
12133
script:
13-
- set -e
14-
- nix-build -E "with (import <nixpkgs> {}); pkgs.haskell.packages.$COMPILER.callPackage ./default.nix { }"
15-
- nix-collect-garbage -d # This is important to do right before 'script' ends so the cache gets GCed
134+
- DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
135+
# Packaging...
136+
- ${CABAL} v2-sdist all | color_cabal_output
137+
# Unpacking...
138+
- mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/
139+
- cd ${DISTDIR} || false
140+
- find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \;
141+
- find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \;
142+
- PKGDIR_reflex="$(find . -maxdepth 1 -type d -regex '.*/reflex-[0-9.]*')"
143+
# Generate cabal.project
144+
- rm -rf cabal.project cabal.project.local cabal.project.freeze
145+
- touch cabal.project
146+
- |
147+
echo "packages: ${PKGDIR_reflex}" >> cabal.project
148+
- |
149+
- cat cabal.project || true
150+
- cat cabal.project.local || true
151+
# Building...
152+
# this builds all libraries and executables (without tests/benchmarks)
153+
- ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all | color_cabal_output
154+
# Building with tests and benchmarks...
155+
# build & run tests, build benchmarks
156+
- ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output
157+
# Testing...
158+
- if ! $GHCJS ; then ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output ; fi
159+
# cabal check...
160+
- (cd ${PKGDIR_reflex} && ${CABAL} -vnormal check)
161+
# haddock...
162+
- if ! $GHCJS ; then ${CABAL} v2-haddock $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output ; fi
163+
# Constraint sets
164+
- rm -rf cabal.project.local
165+
# Constraint set no-th
166+
- ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --constraint='reflex -use-template-haskell' all | color_cabal_output
167+
# Constraint set old-these
168+
- if $GHCJS || ! $GHCJS && [ $HCNUMVER -lt 80800 ] ; then ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --constraint='these <1' all | color_cabal_output ; fi
169+
# Constraint set old-witherable
170+
- ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --constraint='witherable <0.3.2' all | color_cabal_output
16171

172+
# REGENDATA ["--config=cabal.haskell-ci","cabal.project"]
173+
# EOF

CONTRIBUTING.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Contribution Guide
2+
3+
Contributions and issue reports are encouraged and appreciated!
4+
5+
- [Opening Issues](#opening-issues)
6+
- [Submitting Changes](#submitting-changes)
7+
- [Guidelines for Commit Messages](#guidelines-for-commit-messages)
8+
- [Guidelines for Pull Requests](#guidelines-for-pull-requests)
9+
- [Code Quality](#code-quality)
10+
- [Documentation](#documentation)
11+
12+
## Opening Issues
13+
14+
Before opening an issue, please check whether your issue has already been reported. Assuming it has not:
15+
16+
* Describe the issue you're encountering or the suggestion you're making
17+
* Include any relevant steps to reproduce or code samples you can. It's always easier for us to debug if we have something that demonstrates the error.
18+
* Let us know what version of reflex you were using. If you're using a github checkout, provide the git hash.
19+
* Describe how you're building reflex (i.e., via reflex-platform, cabal install, stack, obelisk, etc.). If you're using reflex-platform or obelisk, provide the git hash of your checkout.
20+
21+
## Submitting Changes
22+
23+
### Guidelines for Commit Messages
24+
25+
#### Summary Line
26+
The summary line of your commit message should summarize the changes being made. Commit messages should be written in the imperative mood and should describe what happens when the commit is applied.
27+
28+
One way to think about it is that your commit message should be able to complete the sentence:
29+
"When applied, this commit will..."
30+
31+
#### Body
32+
For breaking changes, new features, refactors, or other major changes, the body of the commit message should describe the motivation behind the change in greater detail and may include references to the issue tracker. The body shouldn't repeat code/comments from the diff.
33+
34+
### Guidelines for Pull Requests
35+
36+
Wherever possible, pull requests should add a single feature or fix a single bug. Pull requests should not bundle several unrelated changes.
37+
38+
### Code Quality
39+
40+
#### Warnings
41+
42+
Your pull request should add no new warnings to the project. It should also generally not disable any warnings.
43+
44+
#### Build and Test
45+
46+
Make sure the project builds and that the tests pass! This will generally also be checked by CI before merge, but trying it yourself first means you'll catch problems earlier and your contribution can be merged that much sooner!
47+
48+
#### Dependencies
49+
50+
Include version bounds whenever adding a dependency to the library stanza of the cabal file. Note that libraries added to reflex.cabal also need to be added to default.nix.
51+
52+
### Documentation
53+
54+
#### In the code
55+
We're always striving to improve documentation. Please include [haddock](https://haskell-haddock.readthedocs.io/en/latest/index.html) documentation for any added code, and update the documentation for any code you modify.
56+
57+
#### In the [Changelog](ChangeLog.md)
58+
Add an entry to the changelog when your PR:
59+
* Adds a feature
60+
* Deprecates something
61+
* Includes a breaking change
62+
* Makes any other change that will impact users
63+
64+
#### In the [Readme](README.md)
65+
The readme is the first place a lot of people look for information about the repository. Update any parts of the readme that are affected by your PR.
66+

0 commit comments

Comments
 (0)