A typed interface to the Racket generic graph library.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.4 KiB

Typed Interface for the Generic Graph Library

This library provides an incomplete typed interface to the generic graph library.

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

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.