neco_quotient_certificate/rule_table

Types

表の中で二度以上現れる規則のリビジョン。

pub type DuplicateRule {
  DuplicateRule(rule_revision: String)
}

Constructors

  • DuplicateRule(rule_revision: String)

座標、観測、証拠から入力の射影ダイジェストを再計算する関数。 返す射影ダイジェストの列は射影の昇順に並べる。

pub type Rule(s, rev, c, obs, e) =
  fn(source.SourceRef(s, rev), c, obs, e) -> List(
    digest.ProjectionDigest,
  )

規則のリビジョンをキーとする規則の表。リビジョンは構築時に一意であることを検査する。

pub opaque type RuleTable(s, rev, c, obs, e)

Values

pub fn lookup(
  table: RuleTable(s, rev, c, obs, e),
  rule_revision: String,
) -> Result(
  fn(source.SourceRef(s, rev), c, obs, e) -> List(
    digest.ProjectionDigest,
  ),
  Nil,
)

リビジョンに対応する規則を探す。

pub fn new(
  entries: List(
    #(
      String,
      fn(source.SourceRef(s, rev), c, obs, e) -> List(
        digest.ProjectionDigest,
      ),
    ),
  ),
) -> Result(RuleTable(s, rev, c, obs, e), DuplicateRule)

規則のリビジョンと規則の組の列から表を構築する。二度目に現れた最初のリビジョンを DuplicateRule で拒否する。

✨ Search Document