HaskellDemo¶
HaskellDemo is a companion project to /Users/scottpeterson/Dev/FunctionalProgrammingTriads/Scott.FunctionalProgrammingTriads.
It keeps the same teaching intent as the C# and LanguageExt repository, but shows what those ideas look like in a purely functional language.
Live Docs¶
Published site:
What This Site Covers¶
- how the current Haskell examples map back to the C# ADRs
- how the same ideas shift when
Maybe,Either,Reader,State, andIOare native tools - five deeper feature-level triads that go beyond small function examples
Start Here First¶
If you want the strongest feature-level comparison right away, begin with End-to-End Registration. Then follow it with Password Reset Feature to see the same architectural ideas in a recovery-style workflow. After that, Retry And Backoff Policy and Resource Cleanup Boundary are good next stops for resilience-oriented orchestration and scoped cleanup.
Best First Code Files To Read¶
If you want to move from the docs into the code quickly, start with these files:
/Users/scottpeterson/Dev/PurelyFunctional/HaskellDemo/src/Shared/FeatureRegistration.hs/Users/scottpeterson/Dev/PurelyFunctional/HaskellDemo/src/Baseline/FeatureRegistration.hs/Users/scottpeterson/Dev/PurelyFunctional/HaskellDemo/src/HaskellStyle/FeatureRegistration.hs/Users/scottpeterson/Dev/PurelyFunctional/HaskellDemo/test/Spec.hs
Those four files give you the clearest view of the deepest triad in the project: shared domain, baseline implementation, Haskell-style implementation, and test expectations. After that, the password reset triad is the best second feature to read.
Compare With The C# Repo¶
| HaskellDemo focus | Main counterpart in Scott.FunctionalProgrammingTriads |
Best starting point |
|---|---|---|
| Feature-level workflow | ADR 0043 end-to-end registration triad | End-to-End Registration |
| Recovery-style workflow | Feature-level effect-boundary and composition concerns | Password Reset Feature |
| Composition and environment flow | ADR 0046 composition root triad | Comparing With C# |
| Effect boundaries | ADR 0008 effect boundaries | Comparing With C# |
| New contributor workflow | Repo workflow and CI checks | Contributing |
Good Starting Points¶
- Getting Started
- Runnable Comparisons
- Propose A Triad
- End-to-End Registration
- Password Reset Feature
- Configuration Startup Feature
- Retry And Backoff Policy
- Resource Cleanup Boundary
- Configuration Source Acquisition
- Configuration Loading Before Validation
- Configuration Typed Decoding
- Comparing With C#