LINKS
author Christian Urban <urbanc@in.tum.de>
Fri, 01 Nov 2019 23:14:35 +0000
changeset 302 b15e7260e9be
parent 266 31e5218f43de
child 330 c5f89ee12d25
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
266
31e5218f43de 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.
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
     2
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
     3
====================
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
     4
264
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
     5
Why functional programming?
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
     6
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
     7
Nice article and pictures of multicores.
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
     8
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
     9
https://sigma.software/about/media/pillars-functional-programming-part-1
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    10
265
2692329287bb updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    11
=====================
2692329287bb updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    12
Maven repository  for jars (par collections for example)
2692329287bb updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    13
2692329287bb 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
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    15
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    16
=====================
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    17
lectures on scala
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    18
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    19
https://github.com/scalasummerschool/lectures
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    20
265
2692329287bb updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    21
=====================
2692329287bb updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    22
Scala course  at Lund University
264
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    23
265
2692329287bb updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    24
https://github.com/lunduniversity/introprog
2692329287bb updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    25
http://cs.lth.se/pgk/download/
264
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    26
=====================
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    27
an argument for pure functions and programming
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    28
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    29
https://dev.to/pietvandongen/pure-bliss-with-pure-functions-in-java-1mba
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    30
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    31
=====================
265
2692329287bb updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    32
Abstract syntax tree generation
2692329287bb updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    33
  
2692329287bb 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
2692329287bb updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    35
2692329287bb updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    36
2692329287bb updated
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    37
=====================
264
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    38
95 hardest sudoku problems
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    39
http://www.dos486.com/sudoku/top95.txt
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    40
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    41
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    42
=====================
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    43
code example (bar code decoder)
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    44
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    45
https://habr.com/en/post/439768/
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    46
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    47
=====================
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 253
diff changeset
    48
251
a0bd77103898 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    49
online tutorial for scala
a0bd77103898 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    50
a0bd77103898 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    51
https://hub.mybinder.org/user/sbrunk-almond-examples-yw61qxqu/lab
a0bd77103898 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    52
=====================
a0bd77103898 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    53
253
4da8550b2d0b updated
Christian Urban <urbanc@in.tum.de>
parents: 251
diff changeset
    54
Scala best practices 
4da8550b2d0b updated
Christian Urban <urbanc@in.tum.de>
parents: 251
diff changeset
    55
https://nrinaudo.github.io/scala-best-practices/index.html
4da8550b2d0b updated
Christian Urban <urbanc@in.tum.de>
parents: 251
diff changeset
    56
=====================
251
a0bd77103898 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    57
194
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    58
codejudge
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    59
 
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    60
https://www.codejudge.net/docs/reference
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    61
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    62
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    63
Race Track game
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    64
Game of life
229
cfcaf4a5e5b4 updated
Christian Urban <urbanc@in.tum.de>
parents: 194
diff changeset
    65
cfcaf4a5e5b4 updated
Christian Urban <urbanc@in.tum.de>
parents: 194
diff changeset
    66
===================
cfcaf4a5e5b4 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
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    68
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 193
diff changeset
    69
===================
192
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    70
CS quotes
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    71
https://henrikwarne.com/2016/04/17/more-good-programming-quotes/
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    72
https://henrikwarne.com/2017/09/16/more-good-programming-quotes-part-2/
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    73
181
5b889c263b6b updated
Christian Urban <urbanc@in.tum.de>
parents: 177
diff changeset
    74
192
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    75
===================
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    76
“To have another language is to possess a second soul.”
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    77
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    78
― attributed Charlemagne, Emperor of the  Carolingian Empire (Western Europe)
191
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    79
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    80
192
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    81
-------------------
cd2a9c969ef2 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.
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    83
-------------------
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    84
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    85
8. Forced Null-Checks
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    86
cd2a9c969ef2 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
cd2a9c969ef2 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:
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    89
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    90
public List<Item> getSelectedItems()
181
5b889c263b6b updated
Christian Urban <urbanc@in.tum.de>
parents: 177
diff changeset
    91
192
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    92
What happens when no item is selected? Does this method then return
cd2a9c969ef2 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
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    94
looking into the implementation of this method (except we are very
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    95
lucky in this case that the signature has a good javadoc description
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    96
of the return type). There are two mistakes a developer could possibly
cd2a9c969ef2 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
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
    98
null, resulting in the famous NullPointerException, or; (2) checking
cd2a9c969ef2 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
5b889c263b6b updated
Christian Urban <urbanc@in.tum.de>
parents: 177
diff changeset
   100
192
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
   101
140
aac534649b27 updated
Christian Urban <urbanc@in.tum.de>
parents: 137
diff changeset
   102
aac534649b27 updated
Christian Urban <urbanc@in.tum.de>
parents: 137
diff changeset
   103
122
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   104
why functional programming matters
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   105
http://queue.acm.org/detail.cfm?id=2038036
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   106
192
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
   107
why pure functions
cd2a9c969ef2 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
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   109
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   110
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   111
BufferOverflow
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   112
http://seclists.org/oss-sec/2017/q2/344
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   113
192
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
   114
============
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
   115
cd2a9c969ef2 updated
Christian Urban <urbanc@in.tum.de>
parents: 187
diff changeset
   116
wartremover
cd2a9c969ef2 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
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   118
=========
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   119
Intro Videos
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   120
https://www.youtube.com/watch?v=ugHsIj60VfQ (30:00 slide about functions)
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   121
40147ad17bdf 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
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   123
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   124
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   125
===============
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   126
Scala warts
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   127
http://www.lihaoyi.com/post/WartsoftheScalaProgrammingLanguage.html
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   128
40147ad17bdf 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/
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   130
================
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   131
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   132
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   133
online compiler
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   134
https://scalafiddle.io/
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   135
http://www.scala-lang.org/blog/2017/05/19/scastie.html
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   136
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   137
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   138
------------------
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   139
Book
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   140
http://twitter.github.io/effectivescala/
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   141
-------------------
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   142
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   143
Very good explanation of what being functional programming means
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   144
https://dotboris.github.io/2017/04/07/functional-programming/
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   145
40147ad17bdf 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
67cf25d2ec0d updated
Christian Urban <urbanc@in.tum.de>
parents: 95
diff changeset
   148
    http://exercism.io
122
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   149
    https://www.scala-exercises.org/
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   150
    http://www.sofiacole.com/technology/adopting-scala-the-next-steps/
114
67cf25d2ec0d updated
Christian Urban <urbanc@in.tum.de>
parents: 95
diff changeset
   151
67cf25d2ec0d updated
Christian Urban <urbanc@in.tum.de>
parents: 95
diff changeset
   152
115
57f4faf5b336 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
57f4faf5b336 updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   154
57f4faf5b336 updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   155
--------------------
57f4faf5b336 updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   156
Map-Reduce in Scala
57f4faf5b336 updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   157
57f4faf5b336 updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   158
https://madusudanan.com/blog/scala-tutorials-part-9-intro-to-functional-programming/
57f4faf5b336 updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   159
57f4faf5b336 updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   160
57f4faf5b336 updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   161
--------------------
57f4faf5b336 updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   162
bash scripting
57f4faf5b336 updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   163
57f4faf5b336 updated
Christian Urban <urbanc@in.tum.de>
parents: 114
diff changeset
   164
https://likegeeks.com/bash-script-easy-guide/
120
06124dc6c020 updated
Christian Urban <urbanc@in.tum.de>
parents: 115
diff changeset
   165
https://likegeeks.com/linux-bash-scripting-awesome-guide-part3/
06124dc6c020 updated
Christian Urban <urbanc@in.tum.de>
parents: 115
diff changeset
   166
06124dc6c020 updated
Christian Urban <urbanc@in.tum.de>
parents: 115
diff changeset
   167
06124dc6c020 updated
Christian Urban <urbanc@in.tum.de>
parents: 115
diff changeset
   168
-------------------
06124dc6c020 updated
Christian Urban <urbanc@in.tum.de>
parents: 115
diff changeset
   169
collatz
122
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   170
http://codepen.io/benlorantfy/pen/KWzXoX
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   171
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   172
-------------------
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   173
cheat sheets
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   174
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   175
https://mbonaci.github.io/scala/
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   176
http://alvinalexander.com/downloads/scala/Scala-Cheat-Sheet-devdaily.pdf
40147ad17bdf 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
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   178
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   179
https://www.youtube.com/watch?v=RZEZp8fqn_0
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   180
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   181
-------------------
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   182
scala books
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   183
http://underscore.io/training/
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   184
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   185
-------------------
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   186
dependent types in Scala
40147ad17bdf 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/
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   188
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   189
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   190
--------------------
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   191
chess engine in scala
40147ad17bdf 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/
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   193
https://en.lichess.org
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   194
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   195
---------------------
40147ad17bdf updated
Christian Urban <urbanc@in.tum.de>
parents: 120
diff changeset
   196
scala code quality
40147ad17bdf 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/