Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
什么是代数数据类型 (ADT)?
我听到人们在函数式编程中谈论了很多代数数据类型 不要与 抽象数据类型 混淆 我所知道的是 ADT 指的是某种复合 通常是递归 数据类型 例如树或数学表达式 In 维基百科 https en wikipedia org wiki Algebr
functionalprogramming
algebraicdatatypes
OCaml 数据类型定义中的方括号“[”和“]”是什么意思?
I saw 下列 https coq github io doc v8 11 api coq Genarg index html type rlevel type rlevel rlevel 但我以前从未见过这种情况 并且 ADT 代数数据
ocaml
algebraicdatatypes
定义 ADT 时案例对象 T 和案例类 T() 之间的区别?
假设在 scala 中我有一个 ADT 如下所示 sealed trait Animal object Animal case class Lion name String extends Animal case class Elephan
scala
singleton
algebraicdatatypes
Maybe 应该用来保存错误消息吗?
我有一个 Haskell 函数 它接受用户输入 还有另一个函数验证此输入 当然 验证可能会失败 在这种情况下 我想返回一条错误消息 提供有关错误操作的一些反馈 我知道有很多方法可以做到这一点 根据我的一点经验 似乎最好的方法是使用Eithe
Haskell
types
algebraicdatatypes
回流类型密封时的满射性检查
当密封类型上的模式匹配不详尽时 Scala 会发出警告 但是当返回类型被密封时 我们是否可以检查函数是否返回所有情况 例如 考虑以下 ADT sealed trait Foo case object Bar extends Foo case
scala
patternmatching
algebraicdatatypes
nonexhaustivepatterns
具有 ADT 和 Aux 模式的类型安全
我正在使用 ADT 和 Aux 模式设计类型安全代码 并且无法摆脱一些asInstanceOf 这是示例 sealed trait Source case object FileSystem extends Source case obje
scala
typesafety
algebraicdatatypes
C++ 相当于代数数据类型?
假设我有这个 Haskell 代码 data RigidBody RigidBody Vector3 Vector3 Float Shape position velocity mass and shape data Shape Ball
c
Haskell
algebraicdatatypes
是否可以在 GHCi 中定义新的 ADT
在评论 ghci 的新功能时 我希望 ghci 能够声明类型声明并声明新的 ADT 类型 有人告知这确实是可能的 经过搜索我发现这一页 https stackoverflow com questions 3093133 how to pro
Haskell
types
interpreter
ghci
algebraicdatatypes
代数类型数据构造函数的“模式匹配”
让我们考虑一个具有许多构造函数的数据类型 data T Alpha Int Beta Int Gamma Int Int Delta Int 我想编写一个函数来检查是否使用相同的构造函数生成两个值 sameK Alpha Alpha Tru
Haskell
types
patternmatching
algebraicdatatypes
滥用代数数据类型的代数 - 为什么这有效?
对于具有数学背景的人来说 代数数据类型的 代数 表达式看起来非常具有启发性 让我尝试解释一下我的意思 定义了基本类型 Product Union 辛格尔顿X Unit 1 并使用简写X for X X and 2X for X X等等 然后
Haskell
functionalprogramming
algebraicdatatypes
miranda
在 Haskell 代数数据类型中进行选择
当键入X定义为 data X X sVal String I iVal Int B bVal Bool 我想要Int里面一个X值 如果有则为一 否则为零 returnInt X gt Int 我如何确定是哪种类型X论据returnInt i
datastructures
Haskell
types
algebraicdatatypes
在 XML XSD 中定义递归代数数据类型
想象一下我有一个递归代数数据类型 http en wikipedia org wiki Algebraic data type像这样 Haskell 语法 data Expr Zero One Add Expr Expr Mul Expr
xml
xsd
algebraicdatatypes
是否存在使用代数数据类型或多态性的 OOP 抽象类的 Haskell 等效项?
在Haskell中 是否可以编写一个带有签名的函数 该函数可以接受两种不同 尽管相似 的数据类型 并根据传入的类型进行不同的操作 一个例子可能会让我的问题更清楚 如果我有一个名为myFunction 以及两种名为MyTypeA and My
case类中的var成员会影响case类的相等性吗?
我在代码中大量使用了案例类 响应案例类的底层相等定义以确保行为正确 然后现在我发现我需要向案例类添加另一个字段成员 所以如果我添加一个var案例类中的字段成员 是否会弄乱案例类的相等属性 如果 1 是 那么如果我只改变var字段值一次 之后
scala
equality
caseclass
algebraicdatatypes
如何查看 Typescript 类型的完整扩展合约?
如果我有一个看起来有点像这样的类型集合 type ValidValues string number null type ValidTypes text time unknown type Decorated name string nul
typescript
VisualStudioCode
algebraicdatatypes
代数数据类型的计数
我正在阅读 收听 Chris Taylor 关于代数数据类型的演示 http chris taylor github io blog 2013 02 10 the algebra of algebraic data types 还有一个关于
Haskell
Theory
algebraicdatatypes
为什么“代数数据类型”在名称中使用“代数”?
当我学习 Scala Haskell 时 我看到有一个概念代数数据类型 我已经阅读了维基百科的解释 但我仍然有一个问题 为什么它的名称中使用 代数 一词 它和 代数 有什么关系吗 简而言之 我们必须考虑代数和类型之间的关系 Haskell
functionalprogramming
algebraicdatatypes