2018年12月21日のブックマーク (3件)

  • Trifecta で拡張可能な構文解析パーサを作る - Qiita

    はじめに この記事では,パーサライブラリの1つである Trifecta を使用する場合の,パーサの作成方法を紹介する.また, 前回の記事 で紹介した recursion schemes for higher algebra を使用したAST表現を利用して,拡張可能な再帰的パーサの簡易的な作成手法を提案する. なお,以下のものを想定している. GHCのバージョン: 8.6.3 前提とするGHC拡張 BlockArguments ConstraintKinds DataKinds FlexibleInstances FlexibleContexts GeneralizedNewtypeDeriving GADTs LambdaCase MultiParamTypeClasses OverloadedLabels PolyKinds QuantifiedConstraints RankNType

    Trifecta で拡張可能な構文解析パーサを作る - Qiita
    lotz84
    lotz84 2018/12/21
    パーサーのデバッグ大変だからエラーメッセージがデフォルトで読みやすTerifectaは手軽に使う用途ではとても良さそう
  • Haskellの型クラスについて | mrsekutの備忘録

    NewsLearn more about the company, PR and product updates here.

    Haskellの型クラスについて | mrsekutの備忘録
    lotz84
    lotz84 2018/12/21
    説明分かりやすいなぁ
  • HaskellでDammアルゴリズムを実装する - Qiita

    はじめに 記事はHaskellアドベントカレンダー(その2)20日目の記事です。 最初にお断りしておきますが、Haskell要素はめちゃめちゃ薄いです。「ワンライナー」レベル。 お題は「Haskellで二次元配列のアクセスはどう書く?」といったところです。 記事を書くきっかけとなったDammアルゴリズムを紹介します。 Dammアルゴリズムは「チェックデジットの計算」に利用できるアルゴリズムです。チェックデジットとは、なにかを識別する数字の並び(シリアルナンバーやJISコードなど)が「正しい数字の並び」であるかを検査できるための数字です。 近年導入されたマイナンバーにも使用されているのですが、マイナンバーに導入されているチェックデジットは残念ながら容易に検査漏れが起こってしまうような作りになっているようです。 Dammアルゴリズムは、こういった数字の並びを検査するものとしては、「簡単な処

    HaskellでDammアルゴリズムを実装する - Qiita
    lotz84
    lotz84 2018/12/21
    検出可能な誤りが多いDammアルゴリズム!気になってたやつだ( 'ω')