LINKS
author Christian Urban <urbanc@in.tum.de>
Fri, 22 Nov 2019 16:41:45 +0000
changeset 323 1f8005b4cdf6
parent 266 ca48ac1d3c3e
child 330 c3d3461a5e77
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
266
ca48ac1d3c3e updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
     1
State by itself is quite harmless. However, mutable state is the big offender. Especially if it is shared. What exactly is mutable state? Any state that can change.
ca48ac1d3c3e updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
     2
ca48ac1d3c3e updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
     3
====================
ca48ac1d3c3e updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
     4
264
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
     5
Why functional programming?
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
     6
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
     7
Nice article and pictures of multicores.
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
     8
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
     9
https://sigma.software/about/media/pillars-functional-programming-part-1
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    10
265
59779ce322a6 updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    11
=====================
59779ce322a6 updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    12
Maven repository  for jars (par collections for example)
59779ce322a6 updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    13
59779ce322a6 updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    14
https://search.maven.org/search?q=g:org.scala-lang.modules%20a:scala-parser-combinators_2.13
264
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    15
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    16
=====================
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    17
lectures on scala
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    18
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    19
https://github.com/scalasummerschool/lectures
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    20
265
59779ce322a6 updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    21
=====================
59779ce322a6 updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    22
Scala course  at Lund University
264
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    23
265
59779ce322a6 updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    24
https://github.com/lunduniversity/introprog
59779ce322a6 updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    25
http://cs.lth.se/pgk/download/
264
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    26
=====================
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    27
an argument for pure functions and programming
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    28
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    29
https://dev.to/pietvandongen/pure-bliss-with-pure-functions-in-java-1mba
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    30
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    31
=====================
265
59779ce322a6 updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    32
Abstract syntax tree generation
59779ce322a6 updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    33
  
59779ce322a6 updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    34
https://stackoverflow.com/questions/10419101/how-can-i-find-the-statements-in-a-scala-program-from-within-a-compiler-plugin
59779ce322a6 updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    35
59779ce322a6 updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    36
59779ce322a6 updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    37
=====================
264
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    38
95 hardest sudoku problems
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    39
http://www.dos486.com/sudoku/top95.txt
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    40
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    41
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    42
=====================
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    43
code example (bar code decoder)
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    44
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    45
https://habr.com/en/post/439768/
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    46
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    47
=====================
ecd989eee8bd updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    48
251
3dd550b9b0e3 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    49
online tutorial for scala
3dd550b9b0e3 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    50
3dd550b9b0e3 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    51
https://hub.mybinder.org/user/sbrunk-almond-examples-yw61qxqu/lab
3dd550b9b0e3 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    52
=====================
3dd550b9b0e3 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    53
253
ec7a12806c3f updated
Christian Urban <urbanc@in.tum.de>
parents: 251
diff changeset
    54
Scala best practices 
ec7a12806c3f updated
Christian Urban <urbanc@in.tum.de>
parents: 251
diff changeset
    55
https://nrinaudo.github.io/scala-best-practices/index.html
ec7a12806c3f updated
Christian Urban <urbanc@in.tum.de>
parents: 251
diff changeset
    56
=====================
251
3dd550b9b0e3 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    57
194
060b081523de updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    58
codejudge
060b081523de updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    59
 
060b081523de updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    60
https://www.codejudge.net/docs/reference
060b081523de updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    61
060b081523de updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    62
060b081523de updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    63
Race Track game
060b081523de updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    64
Game of life
229
5549016ab10f updated
Christian Urban <urbanc@in.tum.de>
parents: 194
diff changeset
    65
5549016ab10f updated
Christian Urban <urbanc@in.tum.de>
parents: 194
diff changeset
    66
===================
5549016ab10f updated
Christian Urban <urbanc@in.tum.de>
parents: 194
diff changeset
    67
https://meta.plasm.us/posts/2013/03/28/better-scala-syntax-highlighting-for-hakyll/
194
060b081523de updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    68
060b081523de updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    69
===================
192
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    70
CS quotes
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    71
https://henrikwarne.com/2016/04/17/more-good-programming-quotes/
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    72
https://henrikwarne.com/2017/09/16/more-good-programming-quotes-part-2/
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    73
181
31ba76ce016d updated
Christian Urban <urbanc@in.tum.de>
parents: 177
diff changeset
    74
192
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    75
===================
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    76
“To have another language is to possess a second soul.”
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    77
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    78
― attributed Charlemagne, Emperor of the  Carolingian Empire (Western Europe)
191
f78b18c4c886 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    79
f78b18c4c886 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    80
192
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    81
-------------------
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    82
FP strongly discourages changing the state of a variable once initialized. This has a profound effect upon concurrency. If you can’t change the state of a variable, you can’t have a race condition. If you can’t update the value of a variable, you can’t have a concurrent update problem.
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    83
-------------------
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    84
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    85
8. Forced Null-Checks
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    86
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    87
In Java, the method signature of a public method does not tell you if
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    88
a returned value can be null or not. Take this signature for instance:
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    89
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    90
public List<Item> getSelectedItems()
181
31ba76ce016d updated
Christian Urban <urbanc@in.tum.de>
parents: 177
diff changeset
    91
192
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    92
What happens when no item is selected? Does this method then return
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    93
null? Or does it return an empty list? We do not know for sure without
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    94
looking into the implementation of this method (except we are very
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    95
lucky in this case that the signature has a good javadoc description
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    96
of the return type). There are two mistakes a developer could possibly
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    97
make: (1)fForgetting to check the return value for null when it can be
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    98
null, resulting in the famous NullPointerException, or; (2) checking
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    99
it for null although it never can be null, resulting in needless code.
181
31ba76ce016d updated
Christian Urban <urbanc@in.tum.de>
parents: 177
diff changeset
   100
192
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
   101
140
ecec79b9ab25 updated
Christian Urban <urbanc@in.tum.de>
parents: 137
diff changeset
   102
ecec79b9ab25 updated
Christian Urban <urbanc@in.tum.de>
parents: 137
diff changeset
   103
122
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   104
why functional programming matters
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   105
http://queue.acm.org/detail.cfm?id=2038036
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   106
192
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
   107
why pure functions
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
   108
http://www.deadcoderising.com/2017-06-13-why-pure-functions-4-benefits-to-embrace-2/
122
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   109
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   110
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   111
BufferOverflow
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   112
http://seclists.org/oss-sec/2017/q2/344
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   113
192
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
   114
============
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
   115
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
   116
wartremover
a112e0e2325c updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
   117
https://blog.knoldus.com/2017/06/15/remove-scala-warts-with-wartremover/
122
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   118
=========
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   119
Intro Videos
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   120
https://www.youtube.com/watch?v=ugHsIj60VfQ (30:00 slide about functions)
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   121
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   122
https://www.youtube.com/channel/UC1VAdzkoY7M2e3msbW9Ur8w/videos?shelf_id=0&view=0&sort=dd
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   123
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   124
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   125
===============
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   126
Scala warts
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   127
http://www.lihaoyi.com/post/WartsoftheScalaProgrammingLanguage.html
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   128
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   129
https://www.reddit.com/r/scala/comments/616n3y/could_anyone_recommend_scala_resources_that/
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   130
================
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   131
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   132
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   133
online compiler
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   134
https://scalafiddle.io/
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   135
http://www.scala-lang.org/blog/2017/05/19/scastie.html
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   136
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   137
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   138
------------------
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   139
Book
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   140
http://twitter.github.io/effectivescala/
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   141
-------------------
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   142
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   143
Very good explanation of what being functional programming means
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   144
https://dotboris.github.io/2017/04/07/functional-programming/
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   145
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   146
95
4fa7231fede7 added link file
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   147
Source of exercises
114
5378491337c0 updated
Christian Urban <urbanc@in.tum.de>
parents: 95
diff changeset
   148
    http://exercism.io
122
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   149
    https://www.scala-exercises.org/
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   150
    http://www.sofiacole.com/technology/adopting-scala-the-next-steps/
114
5378491337c0 updated
Christian Urban <urbanc@in.tum.de>
parents: 95
diff changeset
   151
5378491337c0 updated
Christian Urban <urbanc@in.tum.de>
parents: 95
diff changeset
   152
115
b35eff7f0f5a updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   153
https://medium.com/@markcanlasnyc/scala-saturday-functions-for-the-object-oriented-4218f9ed192b#.dw8x8zxvb
b35eff7f0f5a updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   154
b35eff7f0f5a updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   155
--------------------
b35eff7f0f5a updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   156
Map-Reduce in Scala
b35eff7f0f5a updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   157
b35eff7f0f5a updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   158
https://madusudanan.com/blog/scala-tutorials-part-9-intro-to-functional-programming/
b35eff7f0f5a updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   159
b35eff7f0f5a updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   160
b35eff7f0f5a updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   161
--------------------
b35eff7f0f5a updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   162
bash scripting
b35eff7f0f5a updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   163
b35eff7f0f5a updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   164
https://likegeeks.com/bash-script-easy-guide/
120
564b4baec85e updated
Christian Urban <urbanc@in.tum.de>
parents: 115
diff changeset
   165
https://likegeeks.com/linux-bash-scripting-awesome-guide-part3/
564b4baec85e updated
Christian Urban <urbanc@in.tum.de>
parents: 115
diff changeset
   166
564b4baec85e updated
Christian Urban <urbanc@in.tum.de>
parents: 115
diff changeset
   167
564b4baec85e updated
Christian Urban <urbanc@in.tum.de>
parents: 115
diff changeset
   168
-------------------
564b4baec85e updated
Christian Urban <urbanc@in.tum.de>
parents: 115
diff changeset
   169
collatz
122
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   170
http://codepen.io/benlorantfy/pen/KWzXoX
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   171
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   172
-------------------
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   173
cheat sheets
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   174
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   175
https://mbonaci.github.io/scala/
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   176
http://alvinalexander.com/downloads/scala/Scala-Cheat-Sheet-devdaily.pdf
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   177
http://homepage.cs.uiowa.edu/~tinelli/classes/022/Fall13/Notes/scala-quick-reference.pdf
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   178
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   179
https://www.youtube.com/watch?v=RZEZp8fqn_0
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   180
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   181
-------------------
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   182
scala books
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   183
http://underscore.io/training/
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   184
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   185
-------------------
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   186
dependent types in Scala
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   187
https://stepik.org/course/ThCS-Introduction-to-programming-with-dependent-types-in-Scala-2294/
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   188
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   189
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   190
--------------------
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   191
chess engine in scala
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   192
http://marianogappa.github.io/software/2017/03/24/ostinato-a-chess-engine-written-in-scala-that-runs-on-the-browser-docker-and-the-repl/
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   193
https://en.lichess.org
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   194
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   195
---------------------
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   196
scala code quality
90dd9c6162b3 updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   197
https://www.reddit.com/r/scala/comments/616n3y/could_anyone_recommend_scala_resources_that/