I hereby claim:
- I am franklinchen on github.
- I am franklinchen (https://keybase.io/franklinchen) on keybase.
- I have a public key ASDhVqCYgr6xkfxsfiM5OWYrkqFtO0Rc6P6wKgk8Mh8Xhwo
To claim this, I am signing this object:
| -- | Something for work, prototyped first in Haskell before turning | |
| -- into Scala | |
| {-# LANGUAGE DeriveFunctor #-} | |
| {-# LANGUAGE DeriveFoldable #-} | |
| {-# LANGUAGE DeriveTraversable #-} | |
| {-# LANGUAGE LambdaCase #-} | |
| import Test.Hspec | |
| import Control.Monad.State |
| {-# LANGUAGE RankNTypes, DeriveFunctor #-} | |
| {-# LANGUAGE FlexibleInstances, TypeSynonymInstances #-} | |
| module Main where | |
| import Criterion.Main (defaultMain, bench, bgroup, nf) | |
| -------------------------------------------------------------------------------- | |
| -- Fixed points of a functor | |
| newtype Mu f = Mu { muF :: f (Mu f) } |
| -- | http://stackoverflow.com/questions/14259229/streaming-recursive-descent-of-a-directory-in-haskell/14261710#14261710 | |
| -- | |
| -- Updated to latest Pipes 4. | |
| module Main where | |
| import Pipes | |
| import qualified Pipes.Prelude as P | |
| import Control.Monad (forM_) | |
| import System.Directory (doesDirectoryExist, getDirectoryContents) |
| use std::thread::{spawn, sleep_ms}; | |
| use std::sync::mpsc::channel; | |
| fn main() { | |
| // Names of attendees. | |
| let names = vec![format!("A"), format!("B"), format!("C"), format!("D"), format!("E")]; | |
| // Create a channel to communicate between attendees and the toaster. | |
| let (toaster_tx, toaster_rx) = channel(); |
| use std::sync::{Arc, Mutex}; | |
| use std::thread; | |
| struct Toaster { | |
| count: u32 | |
| } | |
| impl Toaster { | |
| fn new() -> Toaster { | |
| Toaster { count: 0 } |
| Homebrew build logs for shibboleth-sp on macOS 10.12 | |
| Build date: 2016-09-28 16:50:24 |
I hereby claim:
To claim this, I am signing this object: