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

Upgrade to Scala 2.12 ? #235

Closed
abo64 opened this issue Dec 12, 2016 · 15 comments
Closed

Upgrade to Scala 2.12 ? #235

abo64 opened this issue Dec 12, 2016 · 15 comments
Assignees

Comments

@abo64
Copy link
Contributor

abo64 commented Dec 12, 2016

Shall we upgrade to Scala 2.12, perhaps in Q1 2017 ?
This includes ScalaTest and other libraries like Monocle, of course.
A problem could be scala-parser-combinators?

Would be great if we find a way to simplify this for the future, ideally by just having to change only a single file?

@ErikSchierboom
Copy link
Member

I think we should. The main argument for me is that when people search for documentation, they will be led to the latest version's documentation. Ideally, our track should match that.

Weren't the parser combinators extracted to their own library? If so, we can just add the reference to the SBT config file, right?

@ricemery
Copy link
Member

ricemery commented Dec 12, 2016 via email

@ricemery
Copy link
Member

What order should we change the exercises to 2.12? I am thinking we should start at the last exercise in the series and move backwards to Hello World.

@abo64
Copy link
Contributor Author

abo64 commented Dec 13, 2016

I just saw that parser-combinators also has a 2.12 version, so it should be smooth sailing.

@ricemery Yes, moving backwards sounds like a good strategy.

Is there a way to use variables that are read from a single source in the root directory or so? Or do we have do go through all exercises again for the next major upgrade?

@ErikSchierboom
Copy link
Member

Is there a way to use variables that are read from a single source in the root directory or so? Or do we have do go through all exercises again for the next major upgrade?

Unfortunately, I don't think this is possible at the moment. There is a long-standing open issue on the CLI that would add support for this feature. It would be great if someone would implement that, but I don't know any Go unfortunately. The F# and C# tracks could also really benefit for it.

@abo64
Copy link
Contributor Author

abo64 commented Dec 21, 2016

@ricemery Just noticed that in Scala 2.12 Either is finally right-biased which should simplify things considerably.
So we might give the respective exercises a higher priority:

  • nucleotide-count
  • bowling
  • forth

@ricemery
Copy link
Member

ricemery commented Dec 22, 2016 via email

@ricemery
Copy link
Member

ricemery commented Dec 22, 2016

TODO

  • Hello World
  • Bob
  • Hamming
  • Word Count
  • Pangram
  • Anagram
  • Nucleotide Count
  • Phone Number
  • Grade School
  • Robot Name
  • Leap
  • Etl
  • Meetup
  • Space Age
  • Grains
  • Gigasecond
  • Scrabble Score
  • Difference Of Squares
  • Accumulate
  • Sublist
  • Rna Transcription
  • Triangle
  • Binary
  • Roman Numerals
  • Prime Factors
  • Raindrops
  • Allergies
  • Atbash Cipher
  • Bank Account
  • Crypto Square
  • Kindergarten Garden
  • Robot Simulator
  • Queen Attack
  • Binary Search Tree
  • Hexadecimal
  • Largest Series Product
  • Luhn
  • Clock
  • Matrix
  • House
  • Minesweeper
  • Ocr Numbers
  • Octal
  • Trinary
  • Wordy
  • Food Chain
  • Linked List
  • Custom Set
  • Nth Prime
  • Palindrome Products
  • Pascals Triangle
  • Pig Latin
  • Pythagorean Triplet
  • Saddle Points
  • Say
  • Secret Handshake
  • Series
  • Sieve
  • Simple Cipher
  • Connect
  • Parallel Letter Frequency
  • SGF Parsing
  • Acronym
  • Zipper
  • Forth
  • Lens Person
  • Bowling
  • alphametics
  • dominoes
  • zebra-puzzle
  • sum-of-multiples
  • bracket-push
  • change
  • all-your-base

@ricemery
Copy link
Member

@abo64 - I submitted pull requests for Bowling and Forth. I did not see where you wanted to use the new right biased property of Either. So, I didn't do anything with that. Though, I did simplify the unit tests for Bowling.

@abo64
Copy link
Contributor Author

abo64 commented Dec 22, 2016

@ricemery Thank you for you two PRs, they look good (+2 for %% in build.sbt). If @ErikSchierboom agrees they can be merged.

The main change will be in nucleotide-count: Both example.scala and HINTS.md need to be adapted.
I will create a PR for that one.

@ErikSchierboom
Copy link
Member

@abo64 @ricemery I've looked at all three PR's and they all look great. I especially like how the bowling test suite has become significantly simpler. Great work!

ricemery added a commit to ricemery/xscala that referenced this issue Dec 26, 2016
ricemery added a commit to ricemery/xscala that referenced this issue Dec 26, 2016
ricemery added a commit to ricemery/xscala that referenced this issue Dec 26, 2016
ricemery added a commit to ricemery/xscala that referenced this issue Dec 26, 2016
ricemery added a commit to ricemery/xscala that referenced this issue Dec 26, 2016
ricemery added a commit to ricemery/xscala that referenced this issue Dec 26, 2016
abo64 pushed a commit that referenced this issue Dec 27, 2016
* Update to scala 2.12.1 - refs #235

* Remove lens-law dependency
abo64 pushed a commit that referenced this issue Dec 27, 2016
@ErikSchierboom
Copy link
Member

That would be great! Fantastic work @ricemery

@ricemery
Copy link
Member

Thanks @abo64 and @ErikSchierboom .

I don't think we can close this one yet. I think there are 4-5 more exercises that need to be updated that were not on the check list.

Examples - zebra-puzzle and change.

I'll add the remaining exercises to the check list. And, update them soon.

-ric

ricemery added a commit to ricemery/xscala that referenced this issue Jan 26, 2017
ricemery added a commit to ricemery/xscala that referenced this issue Jan 28, 2017
…config.json - refs exercism#125. Change Suite to Test to remain consistent with other exercises.
ricemery added a commit to ricemery/xscala that referenced this issue Jan 28, 2017
…config.json - refs exercism#125. Change Suite to Test to remain consistent with other exercises.
ricemery added a commit to ricemery/xscala that referenced this issue Jan 28, 2017
ricemery added a commit to ricemery/xscala that referenced this issue Jan 28, 2017
ricemery added a commit to ricemery/xscala that referenced this issue Jan 28, 2017
ricemery added a commit to ricemery/xscala that referenced this issue Jan 28, 2017
ricemery added a commit to ricemery/xscala that referenced this issue Jan 28, 2017
ricemery added a commit to ricemery/xscala that referenced this issue Jan 28, 2017
@ricemery ricemery self-assigned this Jan 28, 2017
ErikSchierboom added a commit that referenced this issue Jan 29, 2017
Zebra - Update to Scala 2.12.1 - refs #235. Add topics to config.json…
ErikSchierboom added a commit that referenced this issue Jan 29, 2017
Dominoes - Update to Scala 2.12.1 - refs #235. Add topics to config.j…
ErikSchierboom added a commit that referenced this issue Jan 29, 2017
Sum of Multiples - Update to Scala 2.12.1 - refs #235.
ErikSchierboom added a commit that referenced this issue Jan 29, 2017
Bracket Push - Update to Scala 2.12.1 - refs #235. Add topics to conf…
ErikSchierboom added a commit that referenced this issue Jan 29, 2017
Change - Update to Scala 2.12.1 - refs #235. Add topics to config.jso…
ErikSchierboom added a commit that referenced this issue Jan 29, 2017
All your base - Update to Scala 2.12.1 - refs #235. Add topics to con…
ErikSchierboom added a commit that referenced this issue Jan 29, 2017
Build.scala - Update to Scala 2.12.1 - refs #235.
@ricemery
Copy link
Member

Done!!!

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

3 participants