Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create tags for the workshop #18

Open
zainab-ali opened this issue Mar 16, 2020 · 1 comment
Open

Create tags for the workshop #18

zainab-ali opened this issue Mar 16, 2020 · 1 comment

Comments

@zainab-ali
Copy link
Contributor

I've been considering how we might show each stage of the workshop while continuing to work on it's development.

https://github.com/angular/angular-phonecat has a decent model of tagging each stage, and doing a checkout and diff between tags. This has the benefit of us not needing to tie stages to branches or version control - we'll just need to keep track of the tags.

We should create a tag for step-0 with the empty functions inside.

@zainab-ali
Copy link
Contributor Author

I think Day 1 could be an introduction to type parameters, abstraction and cats. We could have the following steps:

  • a functional, but not abstract solution (functional code, but no type parameters) to Day.Part1
  • a solution with a hand written typeclass
  • a solution with a cats typeclass (e.g. Monoid)
  • a functional, but not abstract solution to part 2
  • a solution to part 2 with monoids
  • a solution to part 1 with functors and foldables
  • a solution to part 2 with functors and foldables

Type constructors (higher kinded types) like F[_] are a lot more difficult to work with than types A, so we should make sure to introduce these too early.

We should also ensure that anyone who wants the functional, but not abstract solution can find and diff it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant