Programming Language Extension Without Obfuscation (BOBKonf 2024)

  Рет қаралды 1,166

The Pure State

The Pure State

Күн бұрын

Granted: A good programming language is typically much more than just the sum of its individual features. And yet, sometimes it’s worth taking a closer look: “Computation Expressions” (CEs) from F# are an existing language element that manages to combine flexibility and simplicity in an amazing way.
Sounds like a nice, theoretical little game? They certainly are - and much more: A practical and much-used concept in libraries and in the F# compiler itself. While similar ideas like the “do” notation known from Haskell provide language support for monads, CEs go much further. They allow to reinterpret idiomatic language constructs and give room to control the execution and evaluation for distinct computations themselves.
Compared to alternative concepts such as language macros or compiler plug-ins, CEs do not create “languages within the language” which tend to erode a common “basis of intelligibility” among participating developers. Rather, the original, intentional character of all language constructs from the user’s point of view remains untouched. Hence CEs are a powerful tool that lives in the sweet spot between versatility and quick and easy adoption.
*This is the 1st part of David's and my contribution to BOBKonf 2024*
Chapters
===
00:00 Computation Expressions (Theory)
05:48 Examples
09:44 See 'Vide: React-Like UIs for Avalonia' in Action
Links
===
The source code and solutions for the "Tutorial" part:
github.com/dawedawe/bobkonf2024
"Vide" - Vide offers a unique approach for writing state-aware functions and composing them in a convenient and easy way. It is used for UI libraries targeting various platforms and technologies, streaming / DSP, workflow engines and perhaps more.
github.com/vide-collabo/Vide
Socials
======
Twitter / X: / schlenkr
GitHub: github.com/SchlenkR
Threads: threads.net/@schlenkr.dev
👉 Don't forget to like, share, and subscribe for more content on modern programming concepts. Drop your questions and feedback in the comments section below and join our growing community of innovative programmers!
===
#csharp #dotnet #functionalProgramming #functionalCSharp #fsharp #dotnetconf #csharptutorial #csharpprogramming #typescript #moonads #programming #lambdaexpressions

Пікірлер: 4
@GianluigiConti
@GianluigiConti 19 күн бұрын
The video I was waiting for! Many thanks
@WillEhrendreich
@WillEhrendreich 19 күн бұрын
Awesome thanks!
@Fxplorer5000
@Fxplorer5000 18 күн бұрын
Where is the link to David's video??
@ThePureState
@ThePureState 15 күн бұрын
Davids Part was not recorded
The Death of Monads? Direct Style Algebraic Effects
17:13
Impure Pics
Рет қаралды 14 М.
everything is open source if you can reverse engineer (try it RIGHT NOW!)
13:56
Low Level Learning
Рет қаралды 1,2 МЛН
Balloon Pop Racing Is INTENSE!!!
01:00
A4
Рет қаралды 16 МЛН
😱СНЯЛ СУПЕР КОТА НА КАМЕРУ⁉
00:37
OMG DEN
Рет қаралды 1,8 МЛН
5/16/2024 - How to Map a Value Engine | Kyle Hendrix
1:19:57
White Label Suite
Рет қаралды 5
What the Heck Are Monads?!
21:08
ArjanCodes
Рет қаралды 66 М.
Building RAG at 5 different levels
24:25
Jake Batsuuri
Рет қаралды 8 М.
The purest coding style, where bugs are near impossible
10:25
Coderized
Рет қаралды 831 М.
WHY IS THE STACK SO FAST?
13:46
Core Dumped
Рет қаралды 126 М.
5 Rules For DTOs
17:56
Ardalis
Рет қаралды 34 М.
What is a Monad? - The Last Monad Intro You'll Ever Need
15:48
走歪的工程師James
Рет қаралды 13 М.
The Absolute Best Intro to Monads For Software Engineers
15:12
Studying With Alex
Рет қаралды 545 М.
ARRAYLIST VS LINKEDLIST
21:20
Core Dumped
Рет қаралды 42 М.
Вы поможете украсть ваш iPhone
0:56
Romancev768
Рет қаралды 578 М.
Наушники Ой🤣
0:26
Listen_pods
Рет қаралды 491 М.
Эволюция телефонов!
0:30
ТРЕНДИ ШОРТС
Рет қаралды 5 МЛН
APPLE УБИЛА ЕГО - iMac 27 5K
19:34
ЗЕ МАККЕРС
Рет қаралды 94 М.
M4 iPad Pro Impressions: Well This is Awkward
12:51
Marques Brownlee
Рет қаралды 6 МЛН
Обманет ли МЕНЯ компьютерный мастер?
20:48
Харчевников
Рет қаралды 68 М.