(descending in severity, IMO)
Scala exposes runtime implementation details to users! See the pitfalls around catching Throwable: http://www.tzavellas.com/techblog/2010/09/20/catching-throwable-in-scala/
| package nl.mdj.fpinscala | |
| import akka.actor.Actor.Receive | |
| import akka.actor.{Props, Actor, ActorSystem, ActorRef} | |
| import akka.pattern.ask | |
| import akka.util.Timeout | |
| import nl.mdj.fpinscala.KeyValueStore.ListKeys | |
| import scala.concurrent.{Await, Future} | |
| import scala.concurrent.duration._ | |
| import scalaz._ |
(descending in severity, IMO)
Scala exposes runtime implementation details to users! See the pitfalls around catching Throwable: http://www.tzavellas.com/techblog/2010/09/20/catching-throwable-in-scala/
| #!/bin/bash -e | |
| bindir=`pwd`/bin-tmp | |
| mkdir -p $bindir | |
| export PATH=$bindir:$PATH | |
| function use_ld() { | |
| rm -f $bindir/ld | |
| ln -s $1 $bindir/ld | |
| echo "Using $1 for ld" | |
| } |
| object Exercise8 { | |
| def main(args: Array[String]):Unit = { | |
| Prop.run(maxProp) | |
| } | |
| def listOfGen[A](g: Gen[A]): Gen[List[A]] = Gen(sequence (List.fill(100)(g.sample))) |