Jordan Marr
banner
jordanmarr.bsky.social
Jordan Marr
@jordanmarr.bsky.social
Spreading the gospel of F#
https://github.com/JordanMarr
I’ll do Dec 22.
November 16, 2025 at 3:07 PM
Glad it helped!
Sounds like an interesting idea.
October 22, 2025 at 10:49 PM
Long files in F# don’t bother me. But I am always open to the idea of refactoring if it makes sense.

One thing i hate in most C# codebases is having code split between so many files.

F# makes it easier to have less files which I think is usually better.
October 14, 2025 at 12:22 AM
I think that you generally do want to keep the view stuff in the view fn rather than in the update fn. However, I have become more pragmatic over the years, and Elmish does include Cmds / effects for a reason.

Also, I don’t want to clutter my model with transient toast message mechanisms.
October 14, 2025 at 12:14 AM
I see toasts as a feedback mechanism to make the page more responsive. They are transient and not necessarily part of a requirement.

OTOH, I add less transient results to the model, like for example an ImportSummary. Usually results that are part of a requirement or that I want to test.
October 13, 2025 at 11:49 PM
Your thread inspired me to create a blog post on the subject.
Hopefully it helps!

bsky.app/profile/jord...
October 5, 2025 at 7:40 PM
I think you chose a good path using Fable-to-TS. Bindings are a tradeoff that I think *can* be worth it for FT, long term projects if you don’t mind occasionally adding here and there as needed. But as always - it just depends.
October 5, 2025 at 4:35 PM
Maybe Glutinum can get it close enough for Claude to take over?
October 5, 2025 at 12:38 PM
I test my Fable Elmish logic on the. NET side.
October 5, 2025 at 3:58 AM
Here is an excerpt from CC's `init` generated markdown summary:

Key Patterns:
Functional Core, Imperative Shell: F# domain logic with C# AutoCAD adapters
Domain-Driven Design: Rich domain models with business logic encapsulated
Immutable transformations: Raceway modifications return new instances
July 14, 2025 at 5:26 PM
I totally agree. Claude Code has been amazing with F#.
Creating a spec to modify domain code can be an added layer of indirection, and is less precise than just writing the code.
F# domain logic is so expressive that it is a spec unto itself. This is evidenced by how well CC summarized my project.
July 14, 2025 at 5:26 PM
Cool! How did you work around the directives? Which project was it?
July 13, 2025 at 11:43 PM
Funny enough, I considered using the FS+ lenses recently until I noticed the Fable target had been commented out. (Which of fine since I ultimately decided against using lenses anyway.)
July 13, 2025 at 3:07 PM
I think the the maintainer should do whatever they think is best for the project. People have the option to use an older version or fork it.
OTOH, dropping targets will likely cause consternation for some users.
I saw this recently in a project that dropped support for netstandard (for no reason).
July 13, 2025 at 3:07 PM