"Kiama is a Scala library for language processing. It enables convenient analysis and transformation of structured data. The programming styles supported by the library are based on well-known formal language processing paradigms, including attribute grammars, tree rewriting, abstract state machines, and pretty printing."
Scaladoc Index
Much like Hoogle for Haskell, Scalex lets you find Scala functions quickly.
Names and Types
Searches can be either textual (a list of words), or by type (a type signature) or both.
A search is considered a text search unless it contains a combination of text and symbols, or if it starts with :.
To search for both a type and a name, place a : between them, for example size: List[A] => Int
Example queries
map Search for the text map
list map Search for the text list and the text map
list[a] => (a => boolean) => list[a] Search for the type List[A] => (A => Boolean) => List[A]
: list[a] => a Search for the type List[A] => A
conserve: List[a] => (a => b) => List[b] Search for the text conserve and the type List[A] => (A => B) => List[B]
"The main intent of this tool is to create reproducible analysis using Scala, Apache Spark and more.
This is achieved through an interactive web-based editor that can combine Scala code, SQL queries, Markup or even JavaScript in a collaborative manner.
The usage of Spark comes out of the box, and is simply enabled by the implicit variable named sparkContext.
You should also check the website, http://spark-notebook.io."
ScalaMeter is a microbenchmarking and performance regression testing framework for the JVM platform that allows expressing performance tests in a way which is both simple and concise.
It can be used both from Scala and Java.
write performance tests in a DSL similar to ScalaTest and ScalaCheck
specify test input data
specify how test results are collected
organize performance tests hierarchically
Me expresé muy mal, muy desde el punto de vista de un programador java... el asunto en realidad no es "cómo reemplazar DI" sino qué patrones de diseño hicieron que nunca fuera necesario el uso de DI en los lenguajes del paradigma funcional y cómo se pueden aplicar en scala.