我剛開始學習Haskell,現在在我的課堂上,我們已經構建了一個Peano數字類,並將其實例化爲Num類型類。 在講座中,我的教授聲稱取決於您是否將繼承函數視爲S x = x + 1或S x = 1 + x,乘法定義的適當後繼案例將會不同。分別爲: x * S y = x * y + x
x * S y = x + x * y
此外,他聲稱,使用第一下列兩個選項中是可取的,因爲它是懶惰的,但
這是a question I asked almost two years ago的後續處理。我仍在嘗試使用類型系統編寫一個小型線性代數庫,其中向量/矩陣/張量的維度使用類型系統(使用Peano編號)進行編碼。這允許編譯器將二進制操作限制爲相應維度的對象。 它運行良好,但我必須手動指定每個維度類型。例如(使用shapeless natural numbers): type _1 = Succ[Na