Author Archives: taylodl

About taylodl

I'm an enterprise architect/developer who enjoys programming, math, music, physics, martial arts and beer

Functional JavaScript – Tail Call Optimization and Babel

Introduction It’s been two years since I wrote the post Functional JavaScript—Tail Call Optimization and Trampolines where I describe how to implement and use a trampoline to overcome JavaScript’s lack of tail call optimization (TCO) and nothing much has changed … Continue reading

Posted in HTML5, JavaScript | 5 Comments

Making Music with Clojure – An Introduction to MIDI

Introduction This post takes a break from Functional JavaScript and has a little fun making music. We’re going to be using Clojure, a Lisp language for the JVM, so that we can utilize the JVM’s MIDI implementation. No experience with … Continue reading

Posted in Clojure | Tagged , | 4 Comments

Functional JavaScript – Currying

Introduction Simply put, currying is the means for reducing the arity of a function. That’s it. If prior to currying a function accepted n parameters then after currying a new function will have been created accepting fewer than n parameters. … Continue reading

Posted in Development, JavaScript | Tagged | 2 Comments

It all starts with CONS

Introduction My son wrote a post List Processing in C which he noted can be used down the road to implement a Lisp interpreter. Which got me thinking, how difficult would it be to write a list processor, a la … Continue reading

Posted in Development, Lisp | Tagged , | Leave a comment

Functional JavaScript – Tail Call Optimization and Trampolines

Introduction The JavaScript Memoization series introduced a recursive Fibonacci sequence generator. Memoization, a method of caching results, was used to enhance performance. Performance can also be enhanced by tail call optimization. Tail Call Optimization Tail call optimization is a compiler … Continue reading

Posted in Development, JavaScript | 10 Comments

What Hackers Never Learned About the Presidential Candidates

After all the primaries and all the debates we find that several questions that have been on our minds have never been answered (in no particular order): Are you a Mac or PC? It’s silly, but fanboys everywhere want to … Continue reading

Posted in Uncategorized | Leave a comment

Functional JavaScript – Memoization, Part II

Introduction In Part 1 of this series we looked at a simple function generator for memoizing functions. Recall memoized functions are functions that cache their results; once the value is determined for a particular input the value is placed into … Continue reading

Posted in JavaScript | Tagged | 1 Comment