タグ

ブックマーク / qiita.com/ymtszw (2)

  • 「ADT, 直和・直積, State Machine」 - Qiita

    (タイトル字余り) この記事は筆者が社内勉強会で発表した内容を(個人的に出来が良いと思ったので)外部向けに再構成したものです。(大変長くなってしまった) 状況その1 いきなり以下のコードをご覧ください。 type Contact = { Name: PersonalName; EmailContactInfo: EmailContactInfo option; PostalContactInfo: PostalContactInfo option; } そして以下の仕様をご確認ください。 Business Rule: “A contact must have an email or a postal address” 出典と動機、課題 上掲コード及び仕様はDesigning with types: Making illegal states unrepresentable | F# for

    「ADT, 直和・直積, State Machine」 - Qiita
  • [Elm] Decoder a からいろいろ理解ってしまおう - Qiita

    [前提] Elm 0.19.1 (元は0.18時代に書かれましたが、更新済み) elm/json 1.1.3 1. ElmにおけるJSONのdecode Elmでは、公式organizationがアプリケーション開発において必須となるであろう標準的な機能をパッケージとして提供しています。JSONのdecode/encodeももちろん、elm/jsonの中でJson.DecodeおよびJson.Encodeとして提供されています。 ここで、Json.Decode.Decoder aという型が登場します。このDecoder aを組み合わせることによってElmアプリケーションの中でJSONのdecodeを実現するのですが。。。 1.1 Decoderの壁 大抵の言語は、初めて学ぶにあたって初期のつまづきポイントがいくつかあるものですが、例に漏れずElmにもあり、以下のようなラインナップになってご

    [Elm] Decoder a からいろいろ理解ってしまおう - Qiita
  • 1