Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >类型推理机haskell

类型推理机haskell
EN

Stack Overflow用户
提问于 2016-04-04 05:32:06
回答 1查看 232关注 0票数 1

我正在做一个项目,要求我在Haskell中编写自己的类型推理机。

  1. 为什么统一算法对建立推理机很重要?
  2. 我可以用像C#这样的语言创建这种类型的推理机吗?谢谢
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-04 05:38:41

关于这个问题的一个很好的参考是马克琼斯的“Haskell in Haskell”。有一个标价版本转录由克里斯做,以及原版。此外,类型和编程语言还解释了经典算法W(底层Haskell和ML样式类型推断),并证明了其正确性。

请记住,类型推断作为一个问题,在很大程度上取决于您正在键入的源语言,语言级别上的小变化对语言有很大影响。例如:

  • 你已经泛化了吗?
  • 类型类?
  • 一种价值或一种形式的限制?
  • 任何类型的模块?

回答“是”或“否”这些问题将极大地改变您的类型推理算法。但是,在你的问题中需要更多的信息才能给你提供更多的具体资源。

在Haskell中键入Haskell时,也不会尝试处理真正的编译器可能需要处理的问题,比如生成一个带有注释的AST版本,以便将来的编译传递知道某些东西是如何键入的,而不仅仅是它是被键入的。如果您正在构建一个编译器,那么您几乎肯定会想要这样做。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36404153

复制
相关文章
类型_Haskell笔记3
::读作“类型为”(has type),告诉编译器变量name是String类型(即[Char]类型)的
ayqy贾杰
2019/06/12
9660
类型_Haskell笔记3
Haskell
这门语言在数学模型上有着很深的优势,虽然它有很多特性,让人很难接受,随着学习的深入,你才会发现这会多么有趣。
icepy
2019/06/24
9320
Haskell doctest
一定要注意格式 第一行很重要,-- |这行没有就不是一个 test。 可以对比 >>> 的个数 和 terminal里的 Examples 个数确认是否自己的所有 test 都测试了
莫听穿林
2022/05/20
3380
Haskell doctest
Haskell Platform安装
不懂了,明天写
云深无际
2020/11/03
1.1K0
Haskell Platform安装
haskell 求助
findBonding :: Eq a => (a -> a -> Bool) -> [a] -> Maybe [(a,a)]
用户6797589
2019/12/02
5860
热爱函数式的你,句句纯正的 Haskell【类型篇】
---- theme: github 每次看到干尸鬼鲛起舞,都有一种说不出的难受,不行,发出来,让大家一起难受难受~🐶 Haskell 是一门纯的函数式语言。 也就是说计算机主要是通过函数来完成的(像在数学中一样),而不是通过“先做这个,再做那个”的命令式操作顺序进行的(像在主流的编程语言中一样)。—— Simon Peyton Jones 初见😀 什么是 Haskell ?我们从 wiki 上可以找到以下要点: Haskell 是一种标准化的,通用的纯函数式编程语言,有惰性求值和强静态类型; 在H
掘金安东尼
2022/09/19
1.1K0
热爱函数式的你,句句纯正的 Haskell【类型篇】
模块_Haskell笔记2
hiding语法能够缓解命名冲突问题,但不很方便,对于存在大量命名冲突的模块,可以通过qualified保留命名空间来避免冲突
ayqy贾杰
2019/06/12
1.8K0
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(类型系统)
接上文 《从 Java 和 JavaScript 来学习 Haskell 和 Groovy(引子)》。
四火
2022/07/19
6170
本地使用 Haskell CodeWorld Locally
下载好之后注意看下载的版本,因为在之后的 .cabal 文件中要指定 codeworld-api 的版本
莫听穿林
2022/05/20
5310
本地使用 Haskell CodeWorld Locally
ubuntu 14.04 install haskell
haskell是一种函数编程式语言,ghc是Glasgow Haskell Compiler的简称,也是Haskell Platform的基础. 下面是安装ghc的步骤:
pydata
2018/08/02
7780
Monad_Haskell笔记10
从类型来看,Functor到Applicative再到Monad是从一般到特殊的递进过程(Monad是特殊的Applicative,Applicative是特殊的Functor)
ayqy贾杰
2019/06/12
8130
learn-haskell
引言 Haskell不同于Scala,是一门纯函数式语言,它强制使用者使用函数式语法而没有妥协。 是一门强类型定义的静态类型语言。它的**类型模型基于推断理论(in-ferred)**并被公认为是函数语言中最高效的类型系统之一。你会发现该类型系统支持多态语义并有助于人们作出十分整洁清晰的设计。 支持Erlang风格的模式匹配(pattern matching)和哨兵表达式。你也能在Haskell中发现Clojure风格的惰性求值(lazyevaluation)以及与Clojure和Erlang相同的列表推导
刘笑江
2018/05/28
1.2K0
Zipper_Haskell笔记13
数据结构不可变,所以对其进行增、删、改等操作的结果只能是重新创建一份新的数据结构,例如:
ayqy贾杰
2019/06/12
5400
Zipper_Haskell笔记13
基于jena的知识推理机复现「建议收藏」
因csdn语法支持与github不太一样,欢迎访问本文github版:https://github.com/JimXiongGM/KnowledgeBasedSearch/blob/master/知识推理机复现.md
全栈程序员站长
2022/08/31
9990
newtype_Haskell笔记8
在List场景,xs <*> ys表示从左侧xs中取出函数作用于右侧ys中的每一项,有两种实现方式:
ayqy贾杰
2019/06/12
6760
函数curry化(Haskell Curry)
当一个函数fn有多个参数时,可以先传入一部分参数,生成一个中继函数nextFn,然后在nextFn当中再传入剩下的参数。(一步curry化)
elson
2020/01/02
1.4K0
基础语法_Haskell笔记1
Haskell是一种纯函数式语言(purely functional programming language),其函数式特性的纯度没有争议
ayqy贾杰
2019/06/12
2K0
深入typeclass_Haskell笔记4
OOP中的Class是对象模板,用来描述现实事物,并封装其内部状态。FP中没有内部状态一说,所以Class在函数式上下文指的就是接口。派生自某类(deriving (SomeTypeclass))是说具有某类定义的行为,相当于OOP中的实现了某个接口,所以具有接口定义的行为
ayqy贾杰
2019/06/12
5310
Monoid_Haskell笔记9
数学世界里,0是加法单位元,1是乘法单位元(identity element),例如:
ayqy贾杰
2019/06/12
8600
Functor与Applicative_Haskell笔记7
常见的Functor类实例似乎都可以比作盒子(或者叫容器),比如Maybe/Either,List([]):
ayqy贾杰
2019/06/12
6110
Functor与Applicative_Haskell笔记7

相似问题

Haskell中的类型推理

14

Haskell,多元函数与类型推理

21

与Haskell类型推理的混淆

11

难以理解Haskell中的类型推理

11

带类型的Haskell函数变元类型推理

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档