duplicates = multiple editions
A Classical Introduction to Modern Number Theory,Kenneth IrelandMichael Rosen
A Classical Introduction to Modern Number Theory,Kenneth IrelandMichael Rosen
data PrimExpr = | |
BinExpr BinOp PrimExpr PrimExpr | |
| UnExpr UnOp PrimExpr | |
| ConstExpr String | |
| IntExpr Int | |
| BoolExpr Bool | |
data BinOp = | |
OpEq | |
| OpAnd |
data Message = PlainText String | Encrypted String | |
send :: Message -> Recipient -> IO () | |
send (Encrypted m) recipient = some magic with m | |
send (PlainText _) _ = undefined | |
data Maybe a = Just a | Nothing | |
-- movin' to phantom types | |
data Message a = Message String |
{-# LANGUAGE OverloadedStrings #-} | |
import Data.Monoid | |
import Typed.Spreadsheet | |
celsius = spinButton "Celsius" 0.1 | |
convert c = "Fahrenheit: " <> display (c * 9 / 5 + 32) | |
main = textUI "Celsius to Fahrenheit converter" (fmap convert celsius) |
class CanQuack a where | |
quack :: a -> IO () | |
class HasFeathers a where | |
feathers :: a -> IO () | |
data Duck = Duck | |
data Person = Person | |
instance CanQuack Duck where |
scala> case class B[F, T](c: B[F, T] => (F => T)) extends (B[F, T] => (F => T)) { | |
| def apply(b: B[F, T]) = c(b); | |
| } | |
defined class B | |
scala> def Y[F, T] = (f: (F => T) => F => T) => | |
| B[F, T](x => f(x(x)(_)))(B(x => f(x(x)(_)))) | |
Y: [F, T]=> ((F => T) => (F => T)) => (F => T) |
scala> trait Exp { def eval() : Int } | |
defined trait Exp | |
scala> trait Lit extends Exp { | |
| val x : Int | |
| def eval() = x | |
| } | |
defined trait Lit | |
scala> trait Add extends Exp { |
scala> trait T[+A] { | |
| def flatMap[B](f: A => T[B]): T[B] // bind operation | |
| def map[B](f: A => B): T[B] | |
| } | |
defined trait T |
(ns fluokitty.core | |
(:use [uncomplicate.fluokitten core jvm])) | |
(map inc [1 2 3]) | |
(fmap inc [1 2 3]) | |
(fmap + [1 2 3] [1 2 3 4]) | |
(fmap + [1 2 3] (list 1 2 3)) |
A collection of a bunch of interesting PL links and papers.**