Home » You searched for sagenschneider

## Monad with IoCC provides Process/Thread model

This is the final article in the series on looking at Inversion of Coupling Control (IoCC) composition.  The previous articles covered: First-Class Procedure type systemFirst-Class ModuleCode examples This article looks at providing a mathematical model to explain the composition. Just a little disclaimer that I’m not a mathematics boffin.  I’ve a degree in computer science but it did not cover ...

## Compose Cats, Reactor, ZIO, … Effects

This is the third in a series of articles looking at the type system for Inversion of Coupling Control to provide composition. The previous articles covered: First-Class Procedure type systemFirst-Class Module This article will look at taking the theory into practice.  It will use the concepts to build an application composing Effects from various Effect libraries. Note that the Effects ...

## First-Class Module Type System for Composition

This is the second in a series looking at the Inversion of Coupling Control type system for composition.  This article discusses a more general Module type system than the previous article’s First-Class Procedure Type. Note: some functional programming languages also attempt to define First-Class Modules.  The First-Class Modules defined in this article are created from inverted functions. First-Class Procedure To ...

## Functional Java by Example | Part 8 – More Pure Functions

This is part 8, the last instalment of the series called “Functional Java by Example”. The example I’m evolving in each part of the series is some kind of “feed handler” which processes documents. In the last instalment we’ve seen some pattern matching, using the Vavr library, and treated failures as data too, e.g. take an alternative path and return ...

## First-Class Procedure Type System for Composition

This is the first article in a series looking at the Inversion of Coupling Control type system for composition.  The series will demonstrate how the resulting type system allows for easy composition.  This avoids much of the complexity of Functional / Object-Oriented composition.  The resulting type system and it’s resulting composition is simple enough even for junior developers to comprehend. ...

## OfficeFloor IntelliJ Plugin

OfficeFloor is now available to develop within IntelliJ. While the plugin was originally developed for Eclipse, we have now isolated the functionality into IDE agnostic bundle.   This means with a bridging implementation, it is possible to port the OfficeFloor plugin to other IDEs. However, for now we are content with Eclipse and IntelliJ for OfficeFloor development. Though if you would ...

## Inverting Functions: Effect Thread binding for Stateless Actors

Functional programming can be perceived as “hard”. Yes, spend time with it and it gets simpler and the benefits make your code definitely better. However, when type errors can start spanning multiple lines, it does suggest the abstract concepts may be “hard” to see clearly. We really need to make it easier for junior developers to assist in functional programming ...