Functional Programming Icon

Functional Programming

A programming paradigm that treats computation as the evaluation of mathematical functions.
7 Stories
All Topics

Go github.com

Fo = Functional Go

Go already supports many features that functional programmers might want: closures, first-class functions, errors as values, etc. The main feature (and in fact only feature for now) that Fo adds is type polymorphism via generics. Generics encourage functional programming techniques by making it possible to write flexible higher-order functions and type-agnostic data structures. People have been asking for Generics in Go since the beginning of time. (2009) At this time, Fo should be thought of primarily as an experiment or proof of concept. It shows what Go looks like and feels like with some new language features and allows us to explore how those features interact and what you can build with them. Perhaps Fo's author is hoping that enough traction/excitement around this project will convince the Go team to add Generics to the language.

read more...

Thoughtbot Icon Thoughtbot

The mechanics of Maybe

Joël Quenneville: Our world is full of uncertainty. This uncertainty bleeds into our programs. A common way of dealing with this is null/nil. Unfortunately, this leads to even more uncertainty because this design means any value in our system could be null unless we’ve explicitly checked it’s presence. Imagine how many developer-hours are wasted globally each year dealing with null/nil. The number would probably astound us. The major advantage of guard clauses is to suss out invalid inputs (often nils) at the perimeter of your program/module/function, so the rest of your code doesn't have to concern itself with these uncertainties. But Maybe there's another way... In Elm, all values are guaranteed to be present except for those wrapped in a Maybe. This is a critical distinction. You can now be confident in most of your code and the compiler will force you to make presence-checks in places where values are optional. Click through to learn the mechanics of it all.

read more...

The Changelog The Changelog #194

Elixir and the Future of Phoenix with José Valim

José Valim joined the show to talk about Elixir. We learned about the early days of José's start as a programmer. José took us back to the beginning of Elixir and shared why Erlang got him so excited, we broke down features of the language, we talked about functional programming, concurrency, developing for multi-core systems, we talked about the Elixir community, the future of Phoenix, Ecto, and more.

read more...
0:00 / 0:00