Skip to content

Instantly share code, notes, and snippets.

-- src/Data/Sum.purs
module Data.Sum where
import Data.Monoid
newtype Sum = Sum {getSum :: Number}
instance monoidSum :: Monoid Sum where
mempty = Sum 0
@michaelochurch
michaelochurch / fix.hs
Created July 7, 2014 22:18
Another non-exploding use of Haskell's fix
import Control.Monad.Fix
factorial :: Integer -> Integer
factorial = fix (\fct x -> if x == 0 then 1 else x * fct (x - 1))
main :: IO ()
main = putStrLn $ "5! = " ++ (show $ factorial 5)
@michaelochurch
michaelochurch / hackernews-banned-post
Created January 9, 2014 18:43
This is the reply I can't write on Hacker News, because PG is a fucking child and I get the "submitting too fast" error after ~3 posts per day.
In reply to: https://news.ycombinator.com/item?id=7031552
*People, as a group, really aren't interested in learning any more than the bare minimum they need to
get what they want. That's what MOOCs are really up against.*
True, and the people who are motivated tend to rely on each other, if not for support, at least to have
peers who are similarly interested. It's like the fact that people whose friends are obese are more likely
to gain weight.
If your motivation/work ethic/freedom-from-external-distraction level is 9-10, then you're fine working
@michaelochurch
michaelochurch / 911-real-estate-boom
Last active January 2, 2016 04:19
Explanation of NYC's 9/11 Boom.
Real estate (like oil in the short term, cf. "oil shocks" of the 1970s) is extremely supply-inelastic,
such that a 1% loss of supply might cause prices to go up *a lot* more than 1%-- possibly 10%, 20%,
even 2x. The result of this is that a destruction of real estate supply will actually increase the
*total* market value: a cataclysmic loss of 5% of NYC's real estate would drive prices through the roof
and make the price level look "healthy" (from the buyer-centric perspective common in the US when it
comes to housing). But no value was created! Much was destroyed.
The 2000s run-up in NYC's housing costs was driven largely by speculation after 9/11. While we
*actually* had 12+ subsequent years with no major domestic terror attacks, there were a large number of
(esp. foreign) speculators who expected future attacks in major cities and bought lots of RE in
@michaelochurch
michaelochurch / macro-negative-arity
Created September 30, 2013 00:19
Negative arity reproduction in Clojure macros.
user=> (defn foo [x y z w v] 5764)
#'user/foo
user=> (defmacro bar (foo))
IllegalArgumentException Don't know how to create ISeq from: clojure.lang.Symbol clojure.lang.RT.seqFrom (RT.java:505)
user=> (defmacro bar [] (foo))
#'user/bar
user=> (defmacro baz [] (foo 1))
#'user/baz
user=> (defmacro qux [] (foo 1 2))