I love dash; I've been using it for years. A small wishlist: - ClojureDocs: http://clojuredocs.org/ - Hoogle integration: http://www.haskell.org/hoogle/ - BroPages: http://bropages.org/
I do this sort of thing sporadically in my free time too... it's still good to go back and do stuff smarter when you learn better rather than accepting whatever they taught you in CS101 as the end of the story.
Given the guys programming in Javascript and not using arbitrary precision arithmetic, he's always using 64 bits and representing his numbers as floating point, so I don't think you are reasoning correctly about the…
Why not try to implement the iterative O(ln(n)) Fibonacci from SICP (Ex 1.19), rather than the old O(n) one? Or the Matrix exponentiation solution (he'd probably want to implement iterative matrix exponentiation too...…
If you like doing this sort of thing, there are a million little CS problems like this codewars.com One cool feature of the site is that you can vote on solutions; this lets you see a lot of neat solutions to problems,…
There are a couple of GCD algorithms that have better asymptotic performance than Euclid's (an old one is due to Knuth): http://www.ams.org/journals/mcom/2008-77-261/S0025-5718-07-0... I'm surprised the author didn't…
Not corecursive, but here's the SICP O(ln(n)) algorithm: fibonacci = fib 1 0 0 1 where fib a b p q n | n == 0 = b | even n = fib a b p' q' (n `div` 2) | otherwise = fib a' b' p q (n - 1) where p' = p*p + q*q q' = 2*p*q…
Functional Programming is a vast subject. I've really never needed an abstraction for semigroups, monoids, meet-semi-lattices, monads, comonads, arrows or catamorpisms in Clojure, Common Lisp, Scheme, or Hy. These…
Well, frankly you can get along not knowing the "Gang of Four" design patterns and write Java. By the same token, you don't need to know about iterables and comprehensions to write Python, smart pointers to write C++,…
> It's a long road from "gee, I changed something, better copy everything" to something as good as FFTW or ATLAS. CUDA implementations of FFTs and matrix operations are faster than both FFTW and ATLAS, and they are…
> Why should I learn Haskell? http://stackoverflow.com/questions/1604790/what-is-haskell-a... For my own 2-cents, once I learned QuickCheck[1] and Parsec[2], I found myself slowly rewriting them for every language I…
Microsoft's relationship with linux is actually a bit more complicated. It was a top 5 [1] contributor to the linux kernel in 2011 and a top 20 [2] contributor in 2012. The reason here is because linux virtualization is…
Albert-Laszlo Barabasi talked about this sort of fear a few years ago in his boot Bursts[1]. He figured Google would be the one to do it. Even with dropouts occurring when someone goes into a bus, people's movements…
I love dash; I've been using it for years. A small wishlist: - ClojureDocs: http://clojuredocs.org/ - Hoogle integration: http://www.haskell.org/hoogle/ - BroPages: http://bropages.org/
I do this sort of thing sporadically in my free time too... it's still good to go back and do stuff smarter when you learn better rather than accepting whatever they taught you in CS101 as the end of the story.
Given the guys programming in Javascript and not using arbitrary precision arithmetic, he's always using 64 bits and representing his numbers as floating point, so I don't think you are reasoning correctly about the…
Why not try to implement the iterative O(ln(n)) Fibonacci from SICP (Ex 1.19), rather than the old O(n) one? Or the Matrix exponentiation solution (he'd probably want to implement iterative matrix exponentiation too...…
If you like doing this sort of thing, there are a million little CS problems like this codewars.com One cool feature of the site is that you can vote on solutions; this lets you see a lot of neat solutions to problems,…
There are a couple of GCD algorithms that have better asymptotic performance than Euclid's (an old one is due to Knuth): http://www.ams.org/journals/mcom/2008-77-261/S0025-5718-07-0... I'm surprised the author didn't…
Not corecursive, but here's the SICP O(ln(n)) algorithm: fibonacci = fib 1 0 0 1 where fib a b p q n | n == 0 = b | even n = fib a b p' q' (n `div` 2) | otherwise = fib a' b' p q (n - 1) where p' = p*p + q*q q' = 2*p*q…
Functional Programming is a vast subject. I've really never needed an abstraction for semigroups, monoids, meet-semi-lattices, monads, comonads, arrows or catamorpisms in Clojure, Common Lisp, Scheme, or Hy. These…
Well, frankly you can get along not knowing the "Gang of Four" design patterns and write Java. By the same token, you don't need to know about iterables and comprehensions to write Python, smart pointers to write C++,…
> It's a long road from "gee, I changed something, better copy everything" to something as good as FFTW or ATLAS. CUDA implementations of FFTs and matrix operations are faster than both FFTW and ATLAS, and they are…
> Why should I learn Haskell? http://stackoverflow.com/questions/1604790/what-is-haskell-a... For my own 2-cents, once I learned QuickCheck[1] and Parsec[2], I found myself slowly rewriting them for every language I…
Microsoft's relationship with linux is actually a bit more complicated. It was a top 5 [1] contributor to the linux kernel in 2011 and a top 20 [2] contributor in 2012. The reason here is because linux virtualization is…
Albert-Laszlo Barabasi talked about this sort of fear a few years ago in his boot Bursts[1]. He figured Google would be the one to do it. Even with dropouts occurring when someone goes into a bus, people's movements…