COPYING | ||
info.rkt | ||
main.rkt | ||
manual.scrbl | ||
README.md |
Utilities for composing functions in Typed Racket
Typed Racket's compose
only takes two arguments, because in general it is difficult to
specify that the return types and the argument types should be the
same for two successive functions in the argument list. This package
defines some further utilities to allow compose
-ing more than two
functions more comfortable in Typed Racket.
This package is distributed under the GNU GPLv3 licence.
Contributing
Contributions, comments, bug reports, etc. are very welcome!
For ethical reasons, I prefer not to host this package on GitHub. Luckily, Git allows creating and submitting patches by E-mail very easily. Here is a simple workflow that you can use to contribute to this library.
Submitting patches
Start by checking out this repository:
git clone https://git.marvid.fr/scolobb/typed-compose.git
cd typed-compose
Start a new branch my-contribution
for you contribution:
git checkout -b my-contribution
Hack hack hack, do a couple commits, maybe take a look at a list of
the commits your branch my-contribution
contains:
git log --pretty=oneline master..my-contribution
Now create one patch file for every commit added to branch
my-contribution
, which is new with respect to master
:
git format-patch master
This should produce one patch file for commit,
e.g. 0001-Commit-1.patch
, 0002-Commit-2.patch
, etc. Send all of
these files to me to scolobb
at marvid.fr
, or to any other address
you think you can contact me at. I will give you feedback and we will
work together towards getting your changes in, which is a fancy way of
saying that I will probably take in your changes without too much
hassle if they follow some very basic style guidelines. Speaking of
which:
Style guidelines
When submitting changes, try to make them as similar as possible in style to the existing code, which approximately follows the style used across the Racket code base. If you use Emacs with Racket Mode or DrRacket, you should be fine with default settings.
When adding new code, please consider updating the Scribble
documentation manual.scrbl
accordingly. I believe that good
documentation is more important than good code, because with good docs
you can at least know how to fix the whole thing.
License
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.