Skip to content

Instantly share code, notes, and snippets.

#[derive(Debug)]
enum Coin {
FiftyCents
}
#[derive(Debug)]
enum Candy {
Lollypop
}
@janschultecom
janschultecom / munihac.hs
Created November 17, 2018 14:30
applicative example
module Test where
import Data.Maybe
import Data.List
--import Control.Applicative
func :: Maybe (Int -> String)
func = Just (\i -> show i)
object Singleton
case class PostalDE(code:Int)
case class City(name:String)
val zipToCity = Map(
PostalDE(40213) -> City("Düsseldorf"),
PostalDE(11011) -> City("Berlin"),
PostalDE(20095) -> City("Hamburg")
)
//zipToCity: scala.collection.immutable.Map[PostalDE,City] = Map(PostalDE(40213) -> City(Düsseldorf), PostalDE(11011) -> City(Berlin), PostalDE(20095) -> City(Hamburg))
val prefixes2 = Map( 40200 -> "Düsseldorf", 10117 -> "Berlin", 80331 -> "München", "SE1 7PB" -> "London")
// prefixes2: scala.collection.immutable.Map[Any,String] = Map(40200 -> Düsseldorf, 10117 -> Berlin, 80331 -> München, SE1 7PB -> London)
val city = prefixes.get(40200)
//city: Option[String] = Some(Düsseldorf)
val zipToCity = Map( 40200 -> "Düsseldorf", 10117 -> "Berlin", 80331 -> "München")
@janschultecom
janschultecom / Mysql - Add one date to another
Created March 25, 2014 12:38
Add a date to another date in mysql
CREATE FUNCTION `addDuration`(startDate DATE, duration DATE) RETURNS date
DETERMINISTIC
BEGIN
DECLARE endDate date;
SET endDate = startDate;
SELECT date_add(endDate, INTERVAL EXTRACT(YEAR FROM duration) YEAR) INTO endDate;
SELECT date_add(endDate, INTERVAL EXTRACT(MONTH FROM duration) MONTH) INTO endDate;
SELECT date_add(endDate, INTERVAL EXTRACT(DAY FROM duration) DAY) INTO endDate;
RETURN endDate;
END
@janschultecom
janschultecom / sbt assembly remove meta-inf directory
Last active August 29, 2015 13:57
sbt assembly -> discard meta-inf
val meta = """META.INF(.)*""".r
mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) =>
{
case PathList("javax", "servlet", xs @ _*) => MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith ".html" => MergeStrategy.first
case "application.conf" => MergeStrategy.concat
case meta(_) => MergeStrategy.discard
case x => old(x)
}