This is about starting to use functional programming paradigms that get used more and more?
It is mainly about rewriting a small test program (repclean) in a functional style, using immutablity, parallelism and async techniques.
Looking for hackers with the skills:
Nothing? Add some keywords!
This project is part of:
Hack Week 11 Hack Week 12
Activity
Comments
- 
  
- 
  about 11 years ago by yac | ReplyFYI: I'm not sure rep-clean is good choice for this as there is requirement that rep-clean runs on all the supported platforms (like sle9 through 12, some redhat systems, etc and then all the arches like s390, ppc variants etc). That's certainly not supported out-of-the box by SLE systems and I don't know how much effort would be required to be able to build & install haskell based rep-clean on those systems. However, that's probably only a packaging issue. What would be more problematic is if there is missing support in the haskell compilers for some of the platforms. 
- 
  about 11 years ago by yac | ReplyMonday - Follow up on rainbow https://github.com/ccampbell/rainbow/issues/169#issuecomment-59734163 
- Bug reports - cabal linking issue with sscce https://github.com/haskell/cabal/issues/2170
- https://github.com/simonmar/happy/issues/36
 
- Found cabal-install >= 1.18 is available in d:l:haskell:platform 
- Found tmux has no library to link against but the output can be get relatively safely with formatting and conditionals like:: - tmux ls -F '#{?sessionattached,,#{sessionname}}' 
- installed - FreeBSD test system
- opensuse 13.1 singularity test system
 
- Singularity - drafted RPMpackage promise and RPMPackageList getter
- hit issues with running cabal install. Turns out it's good idea torm -rf ~/.cabal ~/.ghcand re-install after ghc upgrade.
- also outside packages (~/.cabal and system ones) are visible
inside cabal sandbox.
- And weird things can happen in sandbox. I eg couldn't install
happywith really weird error messages but outside of the sandbox it installed fine. And then I could continue withcabal install hlint hspecinside the sandbox (which implies the above paragraph)
 
 Tuesday - Made os-release prototype https://github.com/yaccz/os-release 
- bug report https://github.com/haskell/hackage-server/issues/271 
- learn about haskell pattern matchin syntax to match only a field:: - fx (C { field = "foo" }) = ... 
 and bind the whole pattern match via:: fx (b @ (C { field = "foo"})) = field2 bWednesday - got prototype working https://github.com/yaccz/singularity 
- Added acceptance testsuite prototype to singularity. It distributes itself to the configured list of SUTs and executes itself there so it can be easily run wide range of systems 
 Thursday - Turns out some packages are required only for the binary they provide. Like package 'happy' and you need to ensure you have ~/.cabal/bin in your PATH yourself. Otherwise the dependers won't find the binary and fail to build with correct error message, it is confusin. 
- Turned the self-distributing acceptance testsuite into a CI server. https://github.com/yaccz/yac-build-server While ugly, it does the job for what I need right now. 
 Friday - parsing yaml is pretty cool https://github.com/yaccz/code-snippets/blob/master/haskell/parsing-yaml/main.hs 
- More progress on build server - Run jobs concurrently
- Handle exceptions at connection and thread level so they don't take down rest of the job / server.
- Configure the job via yaml file similar to travis-ci
 
 
Similar Projects
This project is one of its kind!
 
 
 
 
 
