我为类型为Int。
的类型类Ord定义了一个命名实现[mijnOrd] Ord Int where
compare n1 n2 = ...
如何导入此命名实现并将其用作"默认"
-
sort [1,5,2] -- output without importing as default: [1,2,5]
sort [1,5,2] -- output with importing as default: [5,2,1]
这可能在伊德里斯吗?
答案 0 :(得分:3)
这是可能的,因为Idris 0.12使用BTArrayAdapter.getItem(position).device //it is BluetoothDevice
- 阻止:
在一个模块中导出您的命名界面,例如using
:
MyOrd.idr
然后只需在另一个模块中导入它,并将应该使用它的所有内容包装在相应的module MyOrd
-- Reverse order for `Nat`
export
[myOrd] Ord Nat where
compare Z Z = EQ
compare Z (S k) = GT
compare (S k) Z = LT
compare (S k) (S j) = compare @{myOrd} k j
- 块中,如下所示:
using
这应该打印-- Main.idr
module Main
import MyOrd
using implementation myOrd
test : List Nat -> List Nat
test = sort
main : IO ()
main = putStrLn $ show $ test [3, 1, 2]
。