In this video, I talk about the Rename operator. The Rename operator renames a parameter of a function. This is useful when you want to delay the injection of a parameter to a later moment and decide that its current name might not be understandable in the context of the high level functions that the parameter will be bubbled up to.

You can try this example in the browser here: https://divex.dev/try-in-the-browser-cscompose/?sample=Rename

In this video, I demonstrate a larger example of DIVEX and Composition Language 1: The Document Translation example. Because this example is relatively large, it better demonstrates the benefits of DIVEX and Composition Language 1.

You can try this example in the browser using this link: https://divex.dev/try-in-the-browser-cscompose/?sample=DocumentTranslation

In this video, I talk about the Replace operator in DIVEX and Composition Language 1. The Replace operator allows you inject a function as a value provider for a parameter.

You can try the example in the browser here: https://divex.dev/try-in-the-browser-cscompose/?sample=Replace

In this video, I demonstrate how the Apply operator can be used in DIVEX to do partial application. I also demonstrate how using Composition Language 1, the syntax for partial application is very simple.

In this video, I demonstrate how the Apply operator can be used in DIVEX to do partial application. I also demonstrate how using Composition Language 1, the syntax for partial application is very simple.

You can try the example in the browser: https://divex.dev/try-in-the-browser-cscompose/?sample=Apply

In this video, I show you how DIVEX and Composition Language 1 can be used with object-oriented code.

An instance constructor of a class can be used as a function in DIVEX and this opens up the ability to do dependency injection with the ability to decide on certain dependencies of a class and leave other dependencies undecided.

You can try this example in the browser: https://divex.dev/try-in-the-browser-cscompose/?sample=Ctor1

I have created a video where I explain an example (the Logging Example) written in Composition Language 1.

DIVEX is a dependency injection tool that allows you to compose objects and functions in C# in a way that makes your code more maintainable.

One thing DIVEX is about, is the ability to decide on certain things and leave other things undecided. This is demonstrated in this example.

Composition Language 1 is language that is based in C# and that allows you to use DIVEX in a way that does not result in verbose code.

In this video, I show how DIVEX and Composition Language 1 can be used to compose potentially-pure functions.

A potentially-pure function is a function whose body is pure but that calls functions passed as parameters. Depending on the purity of passed functions, a potentially-pure function may be pure or impure.

Composing potentially-pure functions using DIVEX is great because it allows delaying the injection of impure dependencies to the last possible moment.

You can try this example in the browser here:

https://divex.dev/try-in-the-browser-cscompose/?sample=ComposePotentiallyPureFunctions

Read more about this topic:

https://divex.dev/knowledge-base/main/dependency-injection-can-be-functional/

Dependency injection can be functional if we compose potentially-pure functions and only inject impure functions at the last moment. This article is published in divex.dev. Here is the link: https://divex.dev/knowledge-base/main/dependency-injection-can-be-functional/