Simen Endsjø
9 innlegg
Gather, Aggregate, Decide, Act
A simple diff for date/time duration changes
A quick peek at lisp macros
Macros enable developers to extend a language to accomodate future or domain specific needs without waiting for language updates. In this post, we extend the control flow of the language.
Macros enable developers to extend a language to accomodate future or domain specific needs without waiting for language updates. In this post, we extend the control flow of the language.
A Functional Architecture Demo
When I first started learning functional programming, I had already been programming for many years, mostly in object oriented languages the last decade. How would the architecture for a functional program look like? How can we avoid mutation, which is a cornerstone of OOP? How can functions be used as an abstraction?
When I first started learning functional programming, I had already been programming for many years, mostly in object oriented languages the last decade. How would the architecture for a functional program look like? How can we avoid mutation, which is a cornerstone of OOP? How can functions be used as an abstraction?
Getting started with F#
F# is a fun and mature functional-first programming language for the .NET platform. Taking the first steps to learn a new language can be daunting, so in this post, we'll give some pointers on where to start.
F# is a fun and mature functional-first programming language for the .NET platform. Taking the first steps to learn a new language can be daunting, so in this post, we'll give some pointers on where to start.
Open ≠ Free ≠ Gratis
Software has become an integrated part of life. It's everywhere, and the complexity is increasing. As developers, we're standing on the shoulders of giants. Most of the software running in our applications is written by someone else. But do you know what you're allowed to use the software for? And what your obligations are when using the software? All software has a license, which means it contains legal talk which "authorize the use, performance, or release of (something)."
Software has become an integrated part of life. It's everywhere, and the complexity is increasing. As developers, we're standing on the shoulders of giants. Most of the software running in our applications is written by someone else. But do you know what you're allowed to use the software for? And what your obligations are when using the software? All software has a license, which means it contains legal talk which "authorize the use, performance, or release of (something)."
Map and bind - A hidden functional concept in C#
In this post, I'll show that C# implements the functional concepts map and bind. I'll further show that these are useful for other contexts than just collections with an example implementation for Task<T>. We'll then clean up a process by using map and bind to compose a new process of several smaller processes. Hopefully this will show that functional concepts both exists and are useful even in non-functional languages.
In this post, I'll show that C# implements the functional concepts map and bind. I'll further show that these are useful for other contexts than just collections with an example implementation for Task<T>. We'll then clean up a process by using map and bind to compose a new process of several smaller processes. Hopefully this will show that functional concepts both exists and are useful even in non-functional languages.
Iteration without for, foreach or while
Iteration is part of the bread and butter of any programming language, and this is the case in functional programming just as much as in imperative programming, but how is it possible to iterate without for, foreach or while?
Iteration is part of the bread and butter of any programming language, and this is the case in functional programming just as much as in imperative programming, but how is it possible to iterate without for, foreach or while?
The F of FP
Architecture in Functional Programming (FP) and Object Oriented Programming (OOP) is very different. While the class is the main abstraction in OOP, the function is the abstraction in FP. Looking over the fence, it seems impossible to solve problems using the other paradigm. In order to learn how to design program with functions, we must first learn how they work in FP as a function is not the same as a method.
Architecture in Functional Programming (FP) and Object Oriented Programming (OOP) is very different. While the class is the main abstraction in OOP, the function is the abstraction in FP. Looking over the fence, it seems impossible to solve problems using the other paradigm. In order to learn how to design program with functions, we must first learn how they work in FP as a function is not the same as a method.