Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 193
  1. Choosing between collection functions

    There’s more to learning a new language than the language itself.

  2. In this post, we’ll look at how to calculate the “size”, or cardinality, of an algebraic type, and see how this knowledge can help us with design decisions.

  3. Map and Bind and Apply, a summary

    Series summary Well, this series turned out to be longer than I originally planned.

  4. Reinventing the Reader monad

    This post is the sixth in a series.

  5. This post is the fifth in a series.

  6. Understanding traverse and sequence

    This post is one in a series.

  7. Using the core functions in practice

    This post is the third in a series.

  8. Understanding bind

    This post is the second in a series.

  9. Understanding map and apply

    In this series of posts, I’ll attempt to describe some of the core functions for dealing with generic data types (such as Option and List).

  10. TL;DR; An experiment: you can use lots of domain modelling types at development time and swap them out for a more performant implementation later using compiler directives.

  11. What’s the difference between an introvert and extrovert mathematician?

  12. F# decompiled into C#

    The complete code for this post is available on GitHub A favorite trick of F# proponents is to take some F# code, compile it, and then decompile the result to C# using a tool such as ILSpy.

  13. Refactoring the Monadster

    UPDATE: Slides and video from my talk on this topic Warning!

  14. Completing the body of the Monadster

    UPDATE: Slides and video from my talk on this topic Warning!

  15. Dr Frankenfunctor and the Monadster

    UPDATE: Slides and video from my talk on this topic Warning!

  16. We don't need no stinking UML diagrams

    In my talk on functional DDD, I often use this slide (in context): Which is of course is a misquote of this famous scene.

  17. Happy F# Day!

    I’ve been thinking for a while that F# needs a “birthday” that we can celebrate as a community.

  18. Enterprise Tic-Tac-Toe, part 2

    UPDATE: Slides and video from my talk on this topic This post is one of series in I which I hope to close the gap between theory and practice in functional programming.

  19. Enterprise Tic-Tac-Toe

    UPDATE: Slides and video from my talk on this topic This post is one of series in I which I hope to close the gap between theory and practice in functional programming.

  20. As should be obvious, one of the goals of this site is to persuade people to take F# seriously as a general purpose development language.

  21. Using types as access tokens

    UPDATE: Slides and video from my talk on this topic In the previous posts (link, link) we looked at “capabilities” as the basis for locking down code.

  22. UPDATE: Slides and video from my talk on this topic In the previous post, we started looking at “capabilities” as the basis for ensuring that code could not do any more than it was supposed to do.

  23. A functional approach to authorization

    UPDATE: Slides and video from my talk on this topic In this series of posts, I’ll look at how you might handle the common security challenge of authorization.

  24. Choosing properties in practice, part 3

    In the previous two posts, we looked at applying property-based testing to lists and roman numerals.

  25. Choosing properties in practice, part 2

    In the previous post, we tested some list functions using various properties.

  26. Choosing properties in practice, part 1

    In the previous post, we looked at some common patterns for finding properties.

  27. UPDATE: I did a talk on property-based testing based on these posts.

  28. Understanding FsCheck

    UPDATE: I did a talk on property-based testing based on these posts.

  29. The Enterprise Developer from Hell

    This post is part of the F# Advent Calendar in English 2014 project.

  30. Calculator Walkthrough: Part 4

    In this series of posts, I’ve been developing a simple pocket calculator app.

  31. Calculator Walkthrough: Part 3

    In this post, I’ll continue developing a simple pocket calculator app.

  32. Calculator Walkthrough: Part 2

    In this post, I’ll continue developing a simple pocket calculator app, like this: In the previous post, we completed a first draft of the design, using only types (no UML diagrams!).

  33. Calculator Walkthrough: Part 1

    One comment I hear often is a complaint about the gap between theory and practice in F# and functional programming in general.

  34. This post is the conclusion of the series on low-risk and incremental ways to use F# at work.

  35. Using F# for database related tasks

    This post is a continuation of the previous series on low-risk and incremental ways to use F# at work.

  36. Using F# for testing

    This post is a continuation of the previous series on low-risk and incremental ways to use F# at work – how can you get your hands dirty with F# in a low-risk, incremental way, without affecting any mission critical code?

  37. This post is a continuation of the series on low-risk ways to use F# at work.

  38. So you’re all excited about functional programming, and you’ve been learning F# in your spare time, and you’re annoying your co-workers by ranting about how great it is, and you’re itching to use it for serious stuff at work… But then you hit a brick wall.

  39. Analysis of Roslyn vs. the F# compiler

    After a long wait, the Roslyn project (C# compiler and analysis tools) has finally been released to much excitement (HN and Reddit and introductory post here).

  40. I recently watched a video called “Roman Numerals Kata with Commentary”.

  41. Working with non-monoids

    In the previous posts in this series, we only dealt with things that were proper monoids.

  42. Monoids in practice

    In the previous post, we looked at the definition of a monoid.

  43. Monoids without tears

    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.

  44. As a follow up to the Railway Oriented Programming post, I thought I’d apply the same technique to the FizzBuzz problem, and compare it with other implementations.

  45. Cycles and modularity in the wild

    (Updated 2013-06-15.

  46. In the previous post, we looked at the concept of dependency cycles, and why they are bad.

  47. Cyclic dependencies are evil

    One of three related posts on module organization and cyclic dependencies.

  48. Organizing modules in a project

    Before we move on to any coding in the recipe, let’s look at the overall structure of a F# project.

  49. Why I won't be writing a monad tutorial

    “A ‘newbie’, in Haskell, is someone who hasn’t yet implemented a compiler.

  50. Railway oriented programming

    UPDATE: Slides and video from a more comprehensive presentation available here (and if you understand the Either monad, read this first!).