Blog posts tagged "functional-programming"
-
Shift left with CAP
In this post I posit that shifting left in our CAP based solutions is something that we should be striving to do.
-
Point free coding and function composition
In this post I explore and show examples of the concepts of point free coding, of chains of functions through which data flows, and of function composition.
-
FP, function chains and CAP model loading
Understanding functional programming approaches, no matter how trivial, can help in other areas. Here I explain how being comfortable with function chains helped in working out why a required (but unused) service was being loaded into the overall CDS model in a CAP project.
-
Array.prototype.reduce and the optional initial value
Today I learned about the subtlety of the optional initialValue parameter for the Array prototype's reduce method in JavaScript.
-
Functional programming resources
I've created quite a bit of FP related content in the past but it's somewhat scattered across different platforms and in different formats and I can't remember what or where it all is. So this is a meta post in which I point to all the resources (that I can remember that) I've created on the topic.
-
TASC Notes - Part 9
Notes on part 9 of The Art and Science of CAP, a mini series with Daniel Hutzel exploring the philosophy, the background, the technology history and layers that support and inform the SAP Cloud Application Programming Model.
-
TASC Notes - Part 8
Notes on part 8 of The Art and Science of CAP, a mini series with Daniel Hutzel exploring the philosophy, the background, the technology history and layers that support and inform the SAP Cloud Application Programming Model.
-
TASC Notes - Part 7
Notes on part 7 of The Art and Science of CAP, a mini series with Daniel Hutzel exploring the philosophy, the background, the technology history and layers that support and inform the SAP Cloud Application Programming Model.
-
Functions as first class citizens in SICP Lecture 1A
Exploring functions as first class citizens in SICP Lecture 1A and drawing parallels with queries in CAP.
-
TASC Notes - Part 4
Notes on part 4 of The Art and Science of CAP, a mini series with Daniel Hutzel exploring the philosophy, the background, the technology history and layers that support and inform the SAP Cloud Application Programming Model.
-
The elements of programming with respect to CDL and SICP
Drawing parallels between the elements of programming in SICP and CDS's Conceptual Definition Language.
-
TASC Notes - Part 3
Notes on part 3 of The Art and Science of CAP, a mini series with Daniel Hutzel exploring the philosophy, the background, the technology history and layers that support and inform the SAP Cloud Application Programming Model.
-
reduce - the ur-function
Why I think of reduce as the ur-function, a primitive building block from which other functions like map and filter can be constructed.
-
Highest value in JS - different ways
Exploring different ways to find the highest value in a JavaScript array as part of the Developer Challenge.
-
Curating a collection of jq functions
Curating a personal collection of jq functions and exploring how the jq module system works.
-
More on the comma as generator, and streaming with select in jq
Exploring the subtleties of the comma as a generator and streaming with select in jq.
-
Recognising patterns and embracing the stream
Refactoring a jq implementation of an LED number display by recognising patterns and embracing the stream-oriented nature of the language.
-
Learning from community solutions on Exercism - part 3
Dwelling on more small details in jq solutions to Exercism exercises.
-
Learning from community solutions on Exercism - part 2
Continuing to learn from community solutions on Exercism's jq track.
-
Learning from community solutions on Exercism - part 1
Learning from community solutions on the jq track in Exercism, starting with some interesting patterns.
-
Array push with autovivification in jq
Making a note about array push with autovivification in jq while working on Advent of Code.
-
Some thoughts on jq and statelessness
Reflecting on jq's stateless nature after reading about zq as an alternative.
-
Understanding jq's reduce function
Understanding jq's reduce function by relating it to the equivalent in JavaScript.
-
Using functions more
Exploring the benefits of using Bash functions more as a sweet spot between aliases and scripts.
-
ES6, reduce and pipe
In learning about functional programming, one thing that's worked for me is to take my time, and not rush over fundamental concepts. In fact, like a good beer or whisky, a fundamental concept is something to savour, to enjoy at a leisurely pace.
-
Monday morning thoughts: dynamic language
Musings on a particular function definition in JavaScript, and how it represents beauty and practicality in equal measure.
-
Monday morning thoughts: what not how
In this post, I think about how we program, about the way we describe what it is that we want the computer to do for us, and look at what has become for me the canonical example of the difference between 'what' and 'how'.
-
Monday morning thoughts: functions - what functions?
Musings on the concept of functions-as-a-service, what it means, and what it's good for.
-
Functional programming - baby steps
A gentle introduction to some core concepts in functional programming for those just starting out.
-
The beauty of recursion and list machinery
Exploring the beautiful patterns inherent in recursion and list processing in functional programming.
-
F3C Parts 9 and 10 - Functors
Exploring functors as part of my FunFunFunction Companion series.
-
F3C Part 8 - Promises
Exploring promises as part of my FunFunFunction Companion series.
-
F3C Part 7 - Recursion
Exploring recursion as part of my FunFunFunction Companion series.
-
F3C Part 6 - Currying
Exploring currying as part of my FunFunFunction Companion series.
-
F3C - A FunFunFunction Companion Series
Introducing my FunFunFunction Companion series on functional programming in JavaScript.
-
F3C Part 5 - Closures
Exploring closures as part of my FunFunFunction Companion series.
-
F3C Part 4 - Reduce advanced
Exploring advanced uses of reduce as part of my FunFunFunction Companion series.
-
F3C Part 3 - Reduce basics
Exploring the basics of reduce as part of my FunFunFunction Companion series.
-
F3C Part 2 - Map
Exploring the map function as part of my FunFunFunction Companion series.
-
F3C Part 1 - Higher-order functions
Exploring higher-order functions as part of my FunFunFunction Companion series on functional programming.
-
FOFP 2.1 A look at filter
Looking at the filter higher-order function as part of the fundamentals of functional programming.
-
FOFP Fundamentals of functional programming
Notes and resources for an introductory lecture on the fundamentals of functional programming at Xaverian College.
-
FOFP 1.5 Creating functions
Creating and composing functions as part of the fundamentals of functional programming.
-
FOFP 1.4 A different approach with map
Introducing the map function as a different approach to list processing.
-
FOFP 1.3 Some basic list processing
Exploring basic list processing with imperative and functional approaches.
-
FOFP 1.2 Trying things out
Setting up an environment to try out functional programming concepts interactively.
-
FOFP 1.1 Introduction
Introducing the fundamentals of functional programming with a definition and some context.
-
Language minutiae and learning to SWIM
Discovering small language details in Clojure while solving puzzles and learning to SWIM.
-
Finding a wonderland number
Solving a Wonderland Clojure Kata puzzle as a small evening exercise in functional thinking.
-
Enlightenment in action
On my journey to learn Clojure by solving 4Clojure challenges.
-
4Clojure Puzzle 66
Solving 4Clojure puzzle 66 on my journey to learning more Clojure through online puzzles.
-
Building blocks of language, structure and thought
As I travel on my path to perhaps what I deem as some sort of enlightenment, back in time via Clojure to one of the great ancestors of language, structure and computational thought (Lisp), I continue to come across a simple theme.
-
Coffee-time JavaScript recreation
In preparing for co-presenting a hands-on session at SAP TechEd EMEA this coming week in Barcelona, I came across a chunk of JavaScript. In this post I try to improve it with robustness and immutability in mind.
-
Breathing through the reduction meditation
In this post I look even more closely at a simple Clojure implementation of a reduce function.
-
My journey to Clojure
I'm learning Clojure. Slowly, but hopefully surely.
-
A meditation on reduction
Looking at a version of the reduce function written in Clojure, from Do Things: a Clojure Crash Course.
-
Functional Python - Itertools Exploration
Exploring functional programming concepts in Python through itertools as part of my ongoing 30-day challenges.
See all tags.