borar
borar.bsky.social
borar
@borar.bsky.social
Not in general.
September 29, 2025 at 7:21 AM
What I meant is the term "railroad" is specifically conceived in the F# "world" so it's logical that one does not find it elsewhere. CEs are a concrete language feature which, although similar to do notation, is unique enough. So similarly normal to not see it elsewhere :)
August 28, 2025 at 11:24 AM
The first two are F#-specific.
August 25, 2025 at 6:30 AM
11 years for me...
June 5, 2025 at 10:58 AM
What was the problem or question to solve?
May 8, 2025 at 9:08 AM
This is another formulation of my point. Unfortunately the "human factor" seems to be somehow a notion in the software industry. But it is nonsensical in other engineering disciplines. Rightly so, because it comes down to individualistic anti-intellectual stance and that learning is special.
April 3, 2025 at 11:40 AM
The "needs" are indeed relevant when we deal with different categories of applications: F# is not better for systems or embedded or game programming, Rust, C, etc. are better. But F# and C# are the same category so the "needs" are the same.
April 2, 2025 at 1:35 PM
I am guessing you mean something like "if/when the last F# programmer leaves"? This is very unlikely, either there are more remaining or others who can pick it up. People can learn things :)
March 13, 2025 at 6:43 PM
The right answer is indeed "you don't need to hire F# programmers".
March 13, 2025 at 6:14 PM
Even more so, given that the seminal paper on F# computation expressions just uses the monad and monoid terminology extensively, as it should.
March 12, 2025 at 2:48 PM
Seq does have bind though, it's only called differently.
March 12, 2025 at 11:28 AM
The best language for the Web!
March 10, 2025 at 2:44 PM
And then there is PureScript as well.
February 28, 2025 at 6:57 AM
Usually the "mini applications" are easy to recognize and define unambiguosly. Evolution of long-lived business applications follows this as well: a new (business) capability needs to be added, which clearly belongs to the application, but is stand-alone within the problem domain.
February 27, 2025 at 9:55 PM
Persistence is also, in general, shared. Some DB tables can be used by multiple components, some are specific to one. With #eventsourcing the journal and the record type is shared.
February 27, 2025 at 9:52 PM
Every vertical component has its own data access interfaces (remember, Onion), URL handlers, data access implementation, tests, etc. Vert. components can also share types and functions from "common modules" which are at the "base" of the vert. components. For example the common User type. 🔽
February 27, 2025 at 9:50 PM
All use-cases for stock management of scheduling are two other vertical components. Multiple vertical components can have their own models of the same domain notion, tailored at their purpose. A User type appears everywhere, but is more extensive/different in the user management vert. component. 🔽
February 27, 2025 at 9:48 PM
A vertical slice, which I usually call a vertical component, is a cake piece going through all layers of the Onion. It is a mini application on its own, in a way, focusing on a set of related use-cases. Not too fine-grained, for example all use-cases of user management is one vert. component. 🔽
February 27, 2025 at 9:46 PM