How to Contribute to the DataHaskell dh-core Project

Jun 7, 2022 | Data Science

If you’re looking to get involved with the DataHaskell dh-core project, you’ve come to the right place! This article will serve as a comprehensive guide on how to contribute, along with some troubleshooting tips to make your journey smooth. Let’s dive in!

What is the DataHaskell dh-core Project?

DataHaskell dh-core is a monorepo aimed at providing a native, end-to-end data science toolkit in Haskell. It encourages contributions from various professionals—engineers, scientists, programmers, visualization experts, and data journalists are all welcome to join.

Getting Started with Contributions

To contribute effectively, follow these steps:

  1. Open an issue on the GitHub Issues page with your proposed work (if it’s not already open).
  2. Assign or add yourself as a contributor to the issue.
  3. Pull from the dh-core:master branch, create a new git branch, and start adding your code.
  4. Make sure to add tests for your contributions.
  5. Update the changelog accordingly, briefly describing your changes and their potential impact.
  6. If you’re working on a contributed package, update the version number in the Cabal file.
  7. Make sure any version numbers are consistent in the Travis CI .yaml file.
  8. Send a pull request referencing the original issue.
  9. Only after another admin reviews and approves, the dh-core admin will merge your pull request.

Understanding the Code Structure

The project architecture is designed to allow flexibility in experimenting with interfaces. The main project lives in the dh-core subdirectory and contributes to efficiency in tracking progress. To aid in understanding the layout:


dh-core
└── dh-core
    ├── dh-core-accelerate
    └── ... (other components)

Think of the monorepo as a library where you keep all your favorite books organized on different shelves. Each shelf (subdirectory) holds books (packages) that are related, making it easy to manage your resources effectively.

Building and Testing Your Contributions

Once your modifications are ready, you need to build the project:


$ stack build

This command rebuilds the main project and any contributed packages. If you wish to develop while testing continuously:


$ stack build --test --ghc-options -Wall --file-watch

Testing Your Changes

Use the following command to run tests:


$ stack test core:doctest core:spec

These tests allow you to verify the integrity of your contributions, just like proof-reading an important document before submitting it.

Troubleshooting Tips

If you encounter issues during your development, consider the following troubleshooting ideas:

  • Check if your version of GHC and Stackage are compatible. The project has been tested against specific versions, which can lead to significant differences if you’re on something else.
  • Ensure all dependencies are correctly configured in the stack.yaml file.
  • Look for issues related to missing binaries or libraries. You might need to install zlib or curl, especially if you’re building on a new machine.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Conclusion

By contributing to the DataHaskell dh-core project, you’re not just helping build a data science toolkit—you’re also part of a vibrant community of developers and data enthusiasts. Every contribution counts, no matter how small. At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox