New Open Source project: Join and learn

We have a group of 5 Haskllers, (some quite experienced, some not so much) joining together to work on a new open source project. The overall goal is to create something that is a useful/valuable addition to the ecosystem while improving our Haskell skills.

We have just begun and are deciding what the project will be (some ideas below) and are looking for additional collaborators. All levels of contribution are welcome including suggestions on what the project should be.

Here are our initial thoughts so far:

  • A parallel library to go’s bubbletea but written in Haskell. Maybe even a naive rewrite?
  • A database library. Unfortunately database libraries are very common in Haskell
  • Some kind of contribution to/iteration on dear-imgui
  • A reference project of sorts in full-stack Haskell. Website/game etc.
  • A declarative language for REST apis that generates encoding/decoding code in various programming languages. See servant-elm for example.
  • A generic package manager. A lot of people in Haskell write their own programming languages. Maybe we could provide an easy way to set up a package manager/documentation for some arbitrary programming language.

Please post here if you would like to join or if you just want to contribute a project idea. We will be having a video call in the coming weeks to discuss.

Current discussion members
@andreabedini @santiweight @odcameron @niko @klequis

8 Likes

Re. bubbletea, you might want to check out Haskell’s brick package, which I really like.

I like the idea of a reference project in full-stack Haskell, that showcases a bunch of the nicest Haskell packages like lens, diagrams, foldl, megaparsec, streamly, servant, etc etc packaged up in a web game or similar, but focuses on being beautifully documented and transparent.

3 Likes

brick doesn’t support windows, btw. That’s also a problem for ghcup.

3 Likes

I’ve looked at Windows support for vty and by extension brick. I don’t think it is particularly difficult. Although I don’t have that much time to work on it.

1 Like

I think brick can still be used a starting point. bubbletea seems to follow the same MVU pattern as brick.

1 Like

If I may plug my coworkers’ work: reflex-vty. Same underlying stuff as reflex-dom. Not sure what other pair of libraries allow one to do same handling of interactivity for web and terminal alike :).

1 Like

I’d suggest trying to contribute to existing libraries instead. Pretty much everything is understaffed. For example amazonka has several issues open blocking an v2 release, persistent doesn’t support UUID’s out of the box or data-pool doesn’t even have tests!

This isn’t as exciting as creating your own library, but it would likely have a bigger impact.
Furthermore, maintainers are often knowledgeable domain experts who happily share their wisdom.

11 Likes

I don’t think it is particularly difficult. Although I don’t have that much time to work on it.

No-one does, alas. It would be a great contribution to the Haskell ecosystem.

https://kowainik.github.io/ - connect with these folks

2 Likes

I’d love to try this out, but are there any code examples anywhere as a how-to for a very simple reflex-vty application? Looking at the hackage page, I had some trouble working out how to use the library.

@klequis I have been looking for open-source projects at initial progress for few months now. I would be happy, if you can add me as your team member.

1 Like

Check out the example app: reflex-vty/src-bin at develop · reflex-frp/reflex-vty · GitHub

Ah, somehow I missed that. Thanks!

Happy to have you! We haven’t set our next meeting yet, maybe next week. I’ll keep you up to date.

1 Like

I can report back and add that reflex-vty is extremely cool and the example was pretty clear. Building a simple version of something like Python’s panel library, using reflex, where you do interactive/live plotting, would be a super cool project IMO.

3 Likes

If you want to make an impact, working on core libraries is the safest way. For example, here is a list of newcomers-friendly bytestring issues: Issues · haskell/bytestring · GitHub

8 Likes

Please add me to you mailing list, I can follow up any updates easily

Will do!
(and some extra chars to get up to req min of 20 :slight_smile: )

@klequis when you say “All levels of contribution are welcome”, does this include those really new to haskell (as I am)?

1 Like

I’m still a beginner so yes. We have only met once so far and have no final plan yet so don’t know how things will go. I’ll add you to the group and we will see together how things work out.

What is you approach to learning … books, courses, etc?

Cheers,
Carl