Logo

Blog Index

Functors and Monads - #30DaysofFP Week 3

September 3, 2019
abstract-water-rings
Functors and monads may sound like some dark secret ingredient from the recesses of functional programming. For our purposes we will begin to approach them as data types that follow a base set of rules. In this post we will dive into working definitions for functors and monads as well as a working example tying them all together. What is a functor A functor is a type which contains a function and adheres to several rules. At their core, they are containers which encapsulate a value. The map function reaches into the container, performs an operation on the inner value, and ultimately returns it back to the container. Arrays in JavaScript are actually functors. Surprise! The array type has a method which accepts a function to perform…
Read More

Linked List - 20190822

August 22, 2019
The Linked List is a collection of interesting articles that I have recently read and found beneficial. Today's links cover web accessibility, TypeScript adoption, and React Hooks. Hey Domino’s, You’re Not Delivering: Recently Domino's petitioned the United States Supreme Court saying that they did not need to make their website accessible. This post breaks down how the current website experience affects real people and callouts for areas of improvement. An Intro To Screen Reader Testing for Sighted Developers: This is a great article and introduction into using a screen reader for accessibility verification. Automated testing cannot catch all accessibility errors, including focus management. Getting some time using a screen reader is a…
Read More

What is a Side Effect Anyway? - #30DaysofFP Week 2

August 19, 2019
abstract-spiral-cannon-beach
Managing side effects is a core principle of functional programming. The existence of side effects can make a program more volatile, error prone, and harder to reason about. In this post, we'll dive into what side effects (and side causes) are, how to manage them, and functional purity. What is a Side Effect A side effect occurs when a function changes something outside of itself. This could be mutating a global variable, pushing data into an array, tracking application state, and more. An application must have side effects in order to run, or else there would be no feedback that it ran in the first place. Writing to the DOM, emitting a console.log, and making an API call are all side effects. As such they cannot be eliminated entirely…
Read More

An intro to Functional Programming - #30DaysofFP Week 1

August 12, 2019
rope-meshwork
1.5 weeks ago I set out to learn more about Functional Programming with a 30 day challenge. I started knowing little about functional programming, apart from the various array methods within JavaScript. Kyle Simpson's Functional Light JavaScript book, has been a great introduction of concepts and practical application. For those interested, the book can also be read for free on GitHub. In this post, I share some of the practical concepts of functional programming I have learned since starting this challenge, as well as refactor a code example using functional composition. There's lots of code examples and functional goodies along the way. Note: The code snippets include several functional programming helper functions. An example…
Read More

Personal Retrospective: Q2 2019

August 5, 2019
Retrospectives, when done well, can have a great impact on team environments and allow for various adjustments. These checkins become pivoting and adapting catalysts. Recently, I have been doing some self exploration leading to the desire for more focused learning. In talking with other developers and taking inspiration from Jason Lengstorf, I have decided to take on quarterly personal retrospectives. What are my goals for the remainder of 2019? An underlying theme I have noticed over the past month is the desire to be more intentional. This theme is also reflected in the three goals I have set for the next 5 months. I have settled in to the career transition and life has been finding its new equilibrium. I’m still discovering what I want…
Read More
2022 Skyler Lemay. All Rights Reserved.