-
Notifications
You must be signed in to change notification settings - Fork 2
Scala Links
Vlad Patryshev edited this page Aug 10, 2024
·
56 revisions
- single command scala setup
- Mateusz Kubuszok, Things you need to know about JVM (that matter in Scala)
- Parboiled PEG parser
- bloop
- Scala toolkit
- Scala CLI slides
- Scalag, a GPU library
- Annoying things in Scala 2 that’ll be (mostly) gone in Scala 3
- dotty docs
- Romero, categories in dotty
- Wampler, Exploring Inline
- docs for version 2.x
- zio akka quickstart
- zio http on youtube
- ZIO HTTP, Tushar's talk
- zio akka quickstart
- ZIO on scala consultants
- Generalized Type Constraints in Scala
- Scala Generalized Type constraints
- J. de Goes, typeclasses, 2020, youtube
- Time to encourage meaningful type parameter names
- Chris Sachs, Designing with Abstract Types
- Patryshev, combining variance in scala collections
- Existential types in Scala
- Scala Types are objects of Cartesian Closed Category
- Martin Odersky, Guillaume Martres, Dmitry Petrashko, Implementing Higher-Kinded Types in Dotty
- Builder Pattern in Scala with Phantom Types
- Cache is a product of stream and time
- Opaque Types to Infinity
- Kit Langton, Neotype
- Scala style guide
- Implicit Design Patterns in Scala
- What do <:<, <%<, and =:= mean in Scala 2.8, and where are they documented?
- Scala Zen
- whilst
- Functions passing
- Hidden features of Scala
- list of scala magic functions
- Implicits in Scala 3
- Scala Matters
- simplify via implicits, my gist
- InnerProduct.com
- Essential Effects book
- Scala Workflow
- Scala Love 2020
- Michid, Json Jerk: a flexible JSON parser
- typelevel.org
- typelevel/frameless, for spark
- return on first some in list
- Lihaoyi, fastparse
- Modular Domain-Specific Language Components in Scala
- zraffer, LinVect
- Chymyst: declarative concurrency in Scala
- Bjarnason, Stackless Scala with Free Monads
- MIX in Scala
- R.Shevchenko, Scala Gopher
- Dummy app for Android
- Greg Meredith, Agents and Agency on the Internets
- A Scala DSL for Rust code generation
- Free: back with a vengeance by Régis Kuckaertz (free profunctors)
- Aux Pattern Evolution
- the evolution of a scala programmer
- Fun(c) 2018.6: Bartosz Milewski - Free Monoidal Functors
- http://www.slideshare.net/rssh1/scala-gopher2014?utm_source=slideshow&utm_medium=ssemail&utm_campaign=upload_digest
- http://www.slideshare.net/tsarevoleg/scidb-42136034?utm_source=slideshow&utm_medium=ssemail&utm_campaign=upload_digest
- http://www.slideshare.net/ScottWlaschin/fp-patterns-ndc-london2014
- Kit Langdon's Macros book
object closable {
type Closable = { def close }
class Autoclose[A <: Closable](c: A){
def foreach(f: A => Unit) = {
try { f(c) }finally { c.close }
}
}
implicit def autoClosable[A <: Closable](c: A) = new Autoclose(c)
//...
case class Connection(name:String) {
def close = println("closing " + this)
}
case class Statement(c: Connection,q :String){
def close = println("closing " + this)
def exec = println("executing " + q + " on " + c)
}
def test = for(c <- Connection("conn");
st <- Statement(c,"select * from table")){
st.exec
}
}