Re:Show HN: Koda, a typesafe functional toolkit for Python
by ReleaseCandidat on Monday February 07, 2022 @01:41PM
(#30249103)
The original Railway:
https://fsharpforfunandprofit.com/rop/
And his 'Against Railway-Oriented Programming':
https://fsharpforfunandprofit.com/posts/against-railway-orie...
Re:Show HN: Koda, a typesafe functional toolkit for Python
by IshKebab on Tuesday February 08, 2022 @04:17AM
(#30256357)
Ok
if a is None:
raise Exception()
if a.b is None:
raise Exception()
if a.b.c is None:
raise Exception()
One of the advantages of Python/Typescript style type hinting is that it avoids the mega-nested `if`s that you often have to resort to in Rust. In Rust the above would not work: if a.is_none() {
bail!();
}
if a.b. // nope! a is still Option<>.
It may be possible to fix that when enum variants are distinct types but as it stands you often have to do lots of indenting.
Re:Show HN: Koda, a typesafe functional toolkit for Python
by impoppy on Monday February 07, 2022 @01:59PM
(#30249358)
How is this different from match case ok case err or from if result.val?
Re:Show HN: Koda, a typesafe functional toolkit for Python
by hackandtrip on Monday February 07, 2022 @02:34PM
(#30249826)
Well, the most basic pro is to avoid indentation and have pure function which are clear and have less assumption to take into account; if I know that my pipes always return me a result such as the one I want, and the "bad path" is discarded automatically, code is way cleaner.
Imagine a code without `if result is not None` basically!
0: https://www.greenbird.com/news/railway-oriented-programming-....