我是哈斯克尔的新手。诸如 monad 和 monoid 之类的概念及其相应的类型类非常有趣,但高度抽象和遥远。我想知道这些先进的概念如何使事情更容易实施。一些独立的具体例子很高兴看到。
在示例中,hs 从 std 重新导出 HashSet。但它编译时没有错误或警告。为什么?
#![no_std]
pub use hs::HashSet;
pub fn new() -> HashSet<usize> {
HashSet::new()
}
pub fn insert(a: &mut HashSet<usize>, v: usize) {
a.insert(v);
}
Run Code Online (Sandbox Code Playgroud)