haskell - 如何在 D 中实现 Haskell *Maybe* 构造?

标签 haskell d construct

我想在 D 中实现来自 Haskell 的 Maybe,只是为了它。
这是我到目前为止所得到的,但不是那么好。任何想法如何改进它?

class Maybe(a = int){ }  //problem 1: works only with ints

class Just(alias a) : Maybe!(typeof(a)){ }

class Nothing : Maybe!(){ }


Maybe!int doSomething(in int k){

  if(k < 10)
    return new Just!3;  //problem 2: can't say 'Just!k'
  else
    return new Nothing;
}

Haskell 也许定义:
data  Maybe a = Nothing | Just a

最佳答案

看看 std.typecons.Nullable 。它与 Haskell 中的 Maybe 不完全相同,但它是一种类型,可以选择保存实例化的任何类型的值。因此,实际上,它就像 Haskell 的 Maybe ,尽管在语法上有所不同。如果你想看的话,来源是 here

关于haskell - 如何在 D 中实现 Haskell *Maybe* 构造?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8487124/

相关文章:

异常类中的 php 父构造函数

Python 构造 - 解析可变数量的可变长度记录

haskell - 在未装箱的向量中

range - 如何在 D 中实现范围

d - 如何将c字符串转换为d字符串?

c - 如何在 C 程序中链接 D 库?

c++ - 为什么我无法构建此正则表达式

haskell - 为什么 Haskell 中的 seq 必须对底部有特殊的规则?

generics - 具有唯一 ID 的 Haskell 泛型

Haskell 安全复制示例