Michael Fogus's Blog, page 20
September 2, 2011
Scala is for drivers
this post inspired by Volkswagen's excellent marketing campaign 'Drivers Wanted' An unfortunate meme1 dogging Scala is the notion that it is a notoriously complicated language. For better or worse, I do believe that the lion-share of this perception is fueled by both fear and lack of familiarity. That's not to say that Scala doesn't have [...]
Published on September 02, 2011 07:37
August 14, 2011
Perlis Languages
A language that doesn't affect the way you think about programming is not worth knowing. — Alan Perlis inspired by a LtU thread and the great post Programming Achievements: How to Level Up as a Developer by Jason Rudolph1 The philosopher Friedrich Nietzsche believed that all interactions and interpretations of the external world occurred through [...]
Published on August 14, 2011 08:40
July 29, 2011
Compiling Clojure to JavaScript, pt. 2 – Why No Eval?
By excluding eval the Clojure/core team was not acting miserly, but instead had valid reasons for its exclusion. This post will go over why eval was excluded and why it may never see the light of day in the core distribution.
Published on July 29, 2011 07:56
July 21, 2011
Compiling Clojure to Javascript
This is the first entry in an n-part series explaining the techniques and design principles of ClojureScript.
Published on July 21, 2011 05:56
July 17, 2011
I finally understand Quora
When Quora came on the scene I was excited by the prospect of a questions site that might prove useful. However, after spending some time exploring the site I simply couldn't find the motivation to stay. I would return from time to time to see what had changed and noticed that the populated data seemed [...]
Published on July 17, 2011 08:40
July 12, 2011
No Stinking Mutants
In the quest for programming nirvana developers are constantly trying to reduce complexities in their code. One source of confusion and complexity is mutation. This post is about the different faces of mutation and state change, and the ways that Clojure helps to alleviate the complexities surrounding them. This is not a comprehensive treatise by any means, but hopefully it serves as a survey.
Published on July 12, 2011 05:55
July 6, 2011
Atomic Hacker News
Here's the thing. Hacker News has not changed. I have.1 As a long-time member of Hacker News it appears that the relative quality and lack-thereof for the link submissions, questions, and commentary has remained stable. There are still very few links of interest to me, but those that are good tend toward great. However, I [...]
Published on July 06, 2011 06:14
June 20, 2011
Unk
unk is a memoization library for Clojure that provides an extension to the base capabilities. Using unk unk is easy to use. Leiningen [unk "0.9.0"] Maven unk unk 0.9.0 Source Unk is on the Githubs. Straight-up replacement unk can be used in place of clojure.core.memoize. (def slowly (fn [x] (Thread/sleep 3000) x)) (time [...]
Published on June 20, 2011 06:06
June 9, 2011
(first (rich-hickey))
Rich Hickey is the author of Clojure (take… is an on-going series of micro-interviews focused on Clojure. What was the first interesting program that you wrote? An early program I wrote that got me excited about the possibilities of computing was a simple evolution program. Bugs moved around on the screen looking for food, with [...]
Published on June 09, 2011 14:06
June 3, 2011
10 Haskell One Liners to Impress Your Friends
Following the meme… I would truly appreciate feedback from people whom actually know Haskell. As you may notice below, my grasp is not yet strong. Multiple Each Item in a List by 2 map (*2) [1..10] Sum a List of Numbers foldl (+) 0 [1..1000] -- or sum [1..1000] Verify if Exists in a String [...]
Published on June 03, 2011 05:51