サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
fsharpforfunandprofit.com
This page contains links to the slides and code from my talk “Reinventing the Transaction Script”. Here’s the blurb for the talk: The Transaction Script pattern organizes business logic as a single procedure. It has always been considered less sophisticated and flexible than a layered architecture with a rich domain model. But is that really true? In this talk, we’ll reinvent the Transaction Scrip
This post is part of the 2019 F# Advent Calendar. Check out all the other great posts there! And special thanks to Sergey Tihon for organizing this. Six and half years ago, I wrote a post and did a talk on what I called “Railway Oriented Programming”. It was a way for me to explain to myself and others how to use Result/Either to for chaining together error-generating functions. To my surprise, th
Part one of a series, starting with partial application. This post is part of the F# Advent Calendar in English 2016 project. Check out all the other great posts there! And special thanks to Sergey Tihon for organizing this. UPDATE: This post is superceded by a newer one here. For people who are learning functional programming techniques, one of the more common questions is: “how do you do depende
UPDATE: Slides and video from my talk on this topic In this series, we’ll look at how so-called “applicative parsers” work. In order to understand something, there’s nothing like building it for yourself, and so we’ll create a basic parser library from scratch, and then some useful “parser combinators”, and then finish off by building a complete JSON parser. Now terms like “applicative parsers” an
Slides and videos explaining a functional approach to error handling This page contains links to the slides and code from my talk “Railway Oriented Programming”. Here’s the blurb for the talk: Many examples in functional programming assume that you are always on the “happy path”. But to create a robust real world application you must deal with validation, logging, network and service errors, and o
Or, I want to use PBT, but I can never think of any properties to use UPDATE: I did a talk on property-based testing based on these posts. Slides and video here. In the previous two posts, I described the basics of property-based testing, and showed how it can save a lot of time by generating random tests. But here’s a common problem. Everyone who sees a property-based testing tool like FsCheck or
Slides and video from my talk "Domain Modeling Made Functional with the F# Type System" This page contains links to the slides, video and code from my talk “Domain Modeling Made Functional”. Here’s the blurb for the talk: Statically typed functional programming languages like F# encourage a very different way of thinking about types. The type system is your friend, not an annoyance, and can be use
If you are coming from an OO background, one of the more challenging aspects of learning functional programming is the lack of obvious design patterns. There are plenty of idioms such as partial application, and error handling techniques, but no apparent patterns in the GoF sense. In this post, we’ll look at a very common “pattern” known as a monoid. Monoids are not really a design pattern; more a
Do you want to understand what all the fuss about functional programming is about? This site will introduce you to F# and show you ways that F# can help in day-to-day development of mainstream commercial business software. On the way, I hope to open your mind to the joys of functional programming – it really is fun! If you have never heard of F#, it is a general purpose functional/hybrid programmi
UPDATE: Slides and video from a more comprehensive presentation available here (and if you understand the Either monad, read this first!). UPDATE 2: This is one of my most popular posts, and it is a useful approach to error handling, but please don’t overuse the idea! See my post on “Against Railway-Oriented Programming”. In the previous post, we saw how a use case could be broken into steps, and
Are you fed up with all the hype about functional programming? Me too! I thought I’d rant about some reasons why sensible people like us should stay away from it. Just to be clear, when I say “statically typed functional programming language”, I mean languages that also include things such as type inference, immutability by default, and so on. In practice, this means Haskell and the ML-family (inc
Although F# is great for specialist areas such as scientific or data analysis, it is also an excellent choice for enterprise development. Here are five good reasons why you should consider using F# for your next project. F# is not cluttered up with coding “noise” such as curly brackets, semicolons and so on. You almost never have to specify the type of an object, thanks to a powerful type inferenc
In this series, we’ll look at some of the ways we can use types as part of the design process. In particular, the thoughtful use of types can make a design more transparent and improve correctness at the same time. This series will be focused on the “micro level” of design. That is, working at the lowest level of individual types and functions. Higher level design approaches, and the associated de
このページを最初にブックマークしてみませんか?
『F# for fun and profit』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く