dnikolovv / practical-haskell

A collection of Practical Haskell bits.
84 stars 4 forks source link

Template and/or specific guidelines #4

Open dschrempf opened 2 years ago

dschrempf commented 2 years ago

I think it would be advantageous to offer a template and/or specific guidelines with respect to directory structure, file naming, structure and content of the cabal files etc.

It might be that you already thought about this, and do not want to impose any restrictions on the "bits". If so, could you please provide your reasons?

If not, I suggest providing at least a project template with a basic cabal file (probably with all components: an executable, a library, a test, and a benchmark (probably others?)). I also saw that the projects all provide a stack.yaml file. This could be made mandatory (or not, depending on where we want to go).

I also thought that one could divide the bits into "applications", "libraries", etc. (but maybe some bits belong into neither of those categories). This is just a thought that came up. I do think though, that structure is going to help people find the "bit" they are looking for.

dnikolovv commented 2 years ago

Hey!

I've thought about it but unfortunately haven't sat down to actually write it down.

As for project templates, I'm not really sure as there are plenty already made. There are stack.yaml files because I'm just used to using stack, but maybe a nice guideline would be to have projects buildable both with cabal and stack. We can also add a CI pipeline to check for that.

Categorizing bits is also on my list, as well as labeling them like beginner, intermediate, advanced, etc.

Any ideas and contributions are welcome. I know it's a bit rough at the moment, but the feedback has been great so far, so there's definitely something of value to be created.