This is a repository of essays and presentations by Reginald “Raganwald” Braithwaite
JavaScript Combinators, the “six” edition from NDC Conferences on Vimeo.
elsewhere
- about: Reginald “raganwald” Braithwaite
- contact: reg@braythwayt.com
- code: https://github.com/raganwald
- books: https://leanpub.com/u/raganwald/
- talks: http://braythwayt.com/talks.html
2016 essays
- From Mixins to Object Composition
- Why Are Mixins Considered Harmful?
- The Hubris of Impatient Sieves of Eratosthenes
- “We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris”
- “Programs must be written for people to read, and only incidentally for machines to execute”
- First-Class Commands (the annotated presentation)
2015 essays
- This is not an essay about 'Traits in Javascript' (updated)
- JavaScript Mixins, Subclass Factories, and Method Advice
- super() considered hmmm-ful
- An ES6 function to compute the nth Fibonacci number
- Solving a Coding Problem with Iterators and Generators
- Getters, Setters, and Organizing Responsibility in JavaScript
- Extension Methods, Monkey-Patching, and the Bind Operator
- Method Advice in Modern JavaScript
- Method Decorators in ECMAScript 2015 (and beyond)
- Using ES.later Decorators as Mixins
- Purely Functional Composition
- Functional Mixins in ECMAScript 2015
- Prototypes are Objects (and why that matters)
- Classes are Expressions (and why that matters)
- De Stijl: How necessary are var, let, and const?
- OOP, JavaScript, and so-called Classes
- Carnac the Magnificent
- Hilbert's Grand JavaScript School (2015 Edition)
- Left-Variadic Functions in JavaScript
- Partial Application in ECMAScript 2015
- The Symmetry of JavaScript Functions (revised)
- (unlikely to be) The Last Word on Interviewing for a JavaScript Job
- Interviewing for a JavaScript Job
- Lazy Iterables in JavaScript
- The Quantum Electrodynamics of Functional JavaScript
- Tail Calls, Default Arguments, and Excessive Recycling in ES-6
- Destructuring and Recursion in ES-6
older essays
- Why Why Functional Programming Matters Matters (2014)
- Fun with Named Functions in JavaScript (2014)
- 600 Months (2014)
- Chickens And Pigs (2014)
- I Can't Find Good Salespeople (2014)
- A JavaScript Constructor Problem, and Three Solutions (2014)
- Greenspunning Predicate and Multiple Dispatch in JavaScript (2014)
- Structs and ImmutableStructs (2014)
- Repost: Captain Obvious on JavaScript (2014)
- How to Trick the Gullible into Learning a New Programming Language (2014)
- JavaScript Values Algebra (2014)
- Mixins, Forwarding, and Delegation in JavaScript (2014)
- Class Hierarchies? Don't Do That! (2014)
- Future JS (2014)
- Writing OOP using OOP (2014)
- A Programmer's Story (2014)
- At home with the Bumblethwaites (2014)
- Private Methods In Ruby (2014)
- Prototypes Are Not Classes (2014)
- The New JavaScript Problem (2014)
- flavourize.js (2014)
- Type-Fu Fighting (2013)
- Defactoring (2013)
- The Predicate Module Pattern (2013)
- Leaky Greenspunned Abstractions (2013)
- I hated, hated, hated this CoffeeScript (2013)
- It's a Mad, Mad, Mad, Mad World: Scoping in CoffeeScript and JavaScript (2013)
- Yes, JavaScript is a Lisp (2013)
- Unfinished Work #1: Bind-by-Contract (2013)
- Happy Birthday To Me (2013)
- Functional's Greatest Accomplishment (2013)
- Inelegance (2013)
- config ||= config (2013)
- Did you ever take that test yourself? (2013)
- When FP? And when OOP? (2013)
- Explicit vs. Clever (2013)
- High Level Trampolining (2013)
- Trampolines in JavaScript (2013)
- My Literate CoffeeScript Blogging Workflow (2013)
- The Interview (2013)
- Zee Hackenbush Bird (2013)
- Arity and Partial Function Application (2013)
- Six Questions (2013)
- Counting Crows (diversion) (2013)
- A Surreal Encounter with a Winged Elephant (2013)
- A long time ago, in a village far, far away (2013)
- What's the difference between Currying and Partial Application? (2013)
- Two Brief Points About CoffeeScript 1.5 (2013)
- Implementing the Sieve of Eratosthenes with Functional Programming (2013)
- Hilbert's School Closed for Discriminatory Practices (2013)
- Hilbert's Grand JavaScript School (2013)
- Twenty Thirteen (2013)
- Solving the "Drunken Walk" problem with iterators (2013)
- The "Drunken Walk" Programming Problem (2013)
- Tortoises, Teleporting Turtles, and Iterators (CoffeeScript) (2013)
- Tortoises, Teleporting Turtles, and Iterators (JavaScript) (2013)
- Classes vs. Prototypes in JavaScript (2013)
- Practical Applications of Partial Application (2013)
- Effective JavaScript Reviewed (2013)
- Function and Method Decorators (2013)
- The Madness of King JavaScript (2013)
- More than you ever wanted to know about "this" in JavaScript, Part I (2013)
- More Combinator Recipes in JavaScript: Partial, Bound, Send and Fluent (2012)
- Combinator Recipes for Working With Objects in JavaScript (2012)
- Williams, Master of the COMEFROM (2011)
- Software's Receding Hairline (2011)
- OOP practiced backwards is "POO" (2010)
- Elegance and the Surreals (2009)
- A program to compute the nth Fibonacci number (2008)
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
