1
私はIdrisの構文と戦っているようです。普通の再帰的なデータ型のインターフェイスを実装する
module Test
data Nat = Z | S Nat
Eq Nat where
Z == Z = True
S n1 == S n2 = n1 == n2
_ == _ = False
これは、次のエラー(V1.1.1)で文句を言う:
.\.\Test.idr:5:8: error: expected: "@",
"with", argument expression,
constraint argument,
function right hand side,
implicit function argument,
with pattern
Eq Nat where
^
Type checking .\.\Test.idr
私は基本的にドキュメントと同じ構文を使用し、なぜ、私は理解していません。
のようなカスタム非再帰型のEq
実装を書くと、うまくコンパイルされます。
ああ、もちろん、私はHaskellで同じにしてください。 Idrisのように見えるのは、まだコンパイラエラーの点で長い道のりです:) –
@SebastianGrafはい、Idrisのエラーメッセージはあまり大きくはありません。Idrisパーサと同様に、私は推測します。しかし、状況は改善しています。この言語のコミュニティが十分に大きくなり、生態系が劇的に改善されることを願っています:) – Shersh