Skip to content
/ Alaska Public

My playground for SBT, cats-effect, cats-parse and GitHub actions

Notifications You must be signed in to change notification settings

DLakomy/Alaska

Repository files navigation

Alaska

Scala CI codecov

Why the name Alaska? No idea, just sounds good.

I wanted to play with SBT multi-project builds (the way I split the project is not the best, but it's good enough for my purposes), custom tasks, typeclasses, cats-parse and cats-effect. This work is something similar to the job I had.

TODO:

  • readme
  • custom task generating a file similar to something I had to parse one day
  • csv serializer implemented as a typeclass
  • parser of the "strange format"
  • simple implementation of the fanout (raw Scala, no Cats Effect) UPDATE: for a file generated with genExampleFile 20000000 bigExample.lst it took 1 minute 40 seconds
  • implementation of the fanout with Cats Effect, as a practical exercise with this lib (streaming lib could be useful, but I want to reinvent the wheel, for science) UPDATE: for a file generated with genExampleFile 20000000 bigExample.lst it took 2 minutes 40 seconds (the task appears to be IO bound, so I didn't expect improvement; my implementation isn't the best possible, of course)
  • github actions (build + code coverage)

What the fanout is? See example-files. The task is to read a record, parse it and write different types of fields to separate files.

About

My playground for SBT, cats-effect, cats-parse and GitHub actions

Topics

Resources

Stars

Watchers

Forks

Languages