typed-graph/README.md
2021-10-10 17:41:05 +02:00

70 lines
2.4 KiB
Markdown

# Typed Interface for the Generic Graph Library
This library provides an incomplete typed interface to the [generic
graph library](https://docs.racket-lang.org/graph/index.html).
As the name says it, the graph library relies on Racket generics quite
a bit, which are not supported by Typed Racket as of 2021-10-10.
Furthermore, the graph library defines a number of cool and elegant
macros, which I haven't figured out how to get working with Typed
Racket yet.
Contributions, comments, bug reports, etc. are very welcome!
## Submitting patches
Start by checking out this repository:
```
git clone https://git.marvid.fr/scolobb/typed-graph.git
cd typed-graph
```
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.
## License
Like the generic graph library, this library is licensed under the
Apache License, Version 2.0 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of the
License at
[http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an @bold{"as is" basis, without warranties
or conditions of any kind}, either express or implied. See the License for the
specific language governing permissions and limitations under the License.