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 [...]
 •  0 comments  •  flag
Share on Twitter
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 [...]
1 like ·   •  0 comments  •  flag
Share on Twitter
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.
 •  0 comments  •  flag
Share on Twitter
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.
 •  0 comments  •  flag
Share on Twitter
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 [...]
 •  0 comments  •  flag
Share on Twitter
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.
 •  0 comments  •  flag
Share on Twitter
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 [...]
 •  0 comments  •  flag
Share on Twitter
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 [...]
 •  0 comments  •  flag
Share on Twitter
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 [...]
 •  0 comments  •  flag
Share on Twitter
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 [...]
 •  0 comments  •  flag
Share on Twitter
Published on June 03, 2011 05:51