首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

GHC语言扩展的源代码在哪里:"箭头"?

GHC语言扩展的源代码可以在GHC的官方GitHub仓库中找到。GitHub是一个全球最大的代码托管平台,提供了开源项目的代码仓库和版本控制功能。在GitHub上搜索GHC项目,可以找到GHC的官方仓库,其中包含了GHC的源代码以及相关的文档和工具。

GHC(Glasgow Haskell Compiler)是一个用于编译和执行Haskell语言的编译器。Haskell是一种函数式编程语言,GHC是Haskell语言的主要编译器之一,也是最常用的编译器之一。GHC提供了许多语言扩展,这些扩展可以扩展Haskell语言的功能和表达能力。

在GHC的源代码中,GHC语言扩展的实现通常位于"compiler"目录下的子目录中。具体而言,GHC语言扩展的源代码可以在"compiler/parser"目录下找到。在该目录下,每个语言扩展通常对应一个单独的源代码文件,文件名以扩展名作为后缀。

对于GHC语言扩展的源代码,可以通过以下步骤获取:

  1. 打开GitHub网站(https://github.com)。
  2. 在搜索框中输入"GHC",然后按下回车键进行搜索。
  3. 在搜索结果中找到GHC的官方仓库,点击进入该仓库页面。
  4. 在仓库页面中,可以找到"compiler"目录,点击进入该目录。
  5. 在"compiler"目录中,可以找到"parser"目录,点击进入该目录。
  6. 在"parser"目录中,可以找到对应GHC语言扩展的源代码文件。

需要注意的是,GHC的源代码是一个庞大的项目,包含了许多文件和目录。如果要查找特定的语言扩展源代码,可以使用GitHub提供的搜索功能,通过关键词进行搜索,以快速定位到目标文件。

推荐的腾讯云相关产品:腾讯云代码托管(https://cloud.tencent.com/product/codespaces)是一个提供代码托管和协作开发的云服务,可以帮助开发者更好地管理和共享代码。腾讯云代码托管支持Git版本控制系统,并提供了与GitHub类似的功能,可以方便地托管和管理GHC的源代码。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

GitHub趋势榜第一:超级命令行工具Semantic,比较解析源代码

新智元报道 来源:GitHub 编辑:大明 【新智元导读】作为开发者,天天都要与源代码打交道,面对不同版本,不同语言代码进行比较、分析,理顺开发流程往往是开发者日常。...近日,一款名为Semantic源代码分析比较工具一举登上了GitHub趋势榜榜首,一起来看看! 作为开发者,你是否对不同源代码段之间解析和比较困惑不已呢?...Semantic是一个Haskell库,也是一个用于分析和比较源代码命令行工具。 本文将从应用功能、语言支持、开发、技术和架构、许可等五个方面介绍Semantic这款工具。...Semantic利用了许多有趣算法和技术: Myers算法(SES)如论文An O(ND)差分算法及其变化所述 RWS-Diff:分层数据中灵活高效变化检测中描述RWS。...简要定义解释器(Abstracting Definitional Interpreters)实现。可扩展为基于语法术语单点表示。 关于授权许可 Semantic基于MIT许可。

83130

GitHub趋势榜第一:超级命令行工具Semantic,比较解析源代码

---- 新智元报道 来源:GitHub 编辑:大明 【新智元导读】作为开发者,天天都要与源代码打交道,面对不同版本,不同语言代码进行比较、分析,理顺开发流程往往是开发者日常。...近日,一款名为Semantic源代码分析比较工具一举登上了GitHub趋势榜榜首,一起来看看! 作为开发者,你是否对不同源代码段之间解析和比较困惑不已呢?...Semantic是一个Haskell库,也是一个用于分析和比较源代码命令行工具。 本文将从应用功能、语言支持、开发、技术和架构、许可等五个方面介绍Semantic这款工具。...Semantic利用了许多有趣算法和技术: Myers算法(SES)如论文An O(ND)差分算法及其变化所述 RWS-Diff:分层数据中灵活高效变化检测中描述RWS。...简要定义解释器(Abstracting Definitional Interpreters)实现。可扩展为基于语法术语单点表示。 关于授权许可 Semantic基于MIT许可。

61410

Ecplise使用练习

是一种可扩展开放源代码IDE(Integrated Development Environment集成开发环境)。     ...最初主要用于Java语言开发,通过安装不同插件,Eclipse可以支持不同计算机语言开发。   2:Eclipse特点描述(基础班使用) a.完全免费free:可免费使用。...b.完全开源free:开放源代码。 c.纯Java语言编写:早期是由Java开发人员使用Java语言编写,该工具所带来快捷帮助完全符合Java编程人员习惯。...d.免安装(绿色软件):由于使用Java语言编写,需要为其提供JDK与JRE。 e.扩展性强:工具本身不具有的功能,可以通过标准接口扩展添加功能。...就是一个标记,从哪里开始。 如何设置断点?     你想看哪里程序,你就在那个有效程序左边双击即可。 在哪里设置断点?     哪里不会点哪里

1K10

热爱函数式你,句句纯正 Haskell【类型篇】

我们从 wiki 上可以找到以下要点: Haskell 是一种标准化,通用纯函数式编程语言,有惰性求值和强静态类型; Haskell中,“函数是第一类对象”。...调试 目前 Haskell 主要编译器是 GHC,下载地址,你可以创建 .hs 文件,用 Notepad++ 打开。 GHCi 是 GHC 一部分,可以解析、调试 Haskell 程序。..." :r 用来重新导入当前源代码文件; :cd 改变当前GHCi路径; Prelude> :cd C:\Users\User\Desktop :edit 用默认文本编辑器编辑当前导入文件...Prelude> :t "str" "str" :: [Char] Int 有符号整数,它范围与操作系统和 GHC 位数有关。...; 小结 入门第一篇,类型程序语言中非常重要!

92830

Pandoc安装实现Markdown转PDF (CentOS6)

Pandoc简介 pandoc 是一种文档标记语言转换工具,可实现不同文档标记语言格式转换,由Haskell语言编写,以命令行形式实现与用户交互,可支持多种平台,windows\linux\mac...据说在出版行业也使用。...ghc是haskell编译器,cabal是一种包管理器,可以很方便自动安装各种包和依赖,pandoc就是使用cabal来安装,TeX是一种文档排版系统,texlive是like unix下一种TeX...,这个字体Centos上须要先安装好 -V geometry:margin=1in   指定上下左右空白尺寸 -o 指定输出文件名 总结 pandoc非常强大,可以对几乎所有的文档格式进行互转,比如...另外本文只介绍CentOS操作系统上比较合适安装方式,其他比如Ubuntu上可能有更好更方便安装方式,请参考Pandoc官方文档http://pandoc.org/installing.html

2.2K60

铁定不纯IO_Haskell笔记5

写在前面 一直有个疑惑,Haskell号称纯函数式语言,那么铁定不纯场景(肯定有副作用,或者操作本身就是副作用)如何解决?...(GHC.Prim.State# GHC.Prim.RealWorld -> (# GHC.Prim.State# GHC.Prim.RealWorld, a #))...-运算符把String取出来,赋值给line变量,为空则什么都不做(返回IO (),结束),否则把该行内容通过putStrLn输出到标准输出并换行,并递归执行main 其中,main表示入口函数(与C语言类似...’ I/O List场景(把m换成IO,t换成[]),参数类型约束是[IO a],返回值类型约束是IO [a],所以相当于: sequence' [] = do return [] sequence...在这之前操作都只是一种承诺,不得不做时候才要求兑现承诺,类似于JSPromise: function toUpperCase() { let io; let contents = new Promise

1.3K30

Java 常用开发工具介绍,重点是Eclipse使用及注意事项,很实用

) D:Eclipse 和 MyEclipse 区别 a:Eclipse 是一种可扩展开放源代码 IDE 。...b:Eclipse 特点描述 免费 纯 Java 语言编写 免安装 扩展性强 c:MyEclipse Eclipse 基础上追加功能性插件,对插件收费 WEB 开发中提供强大系统架构平台...网络配图 2、Eclipse 中 HelloWorld 案例以及汉化 A: 选择工作空间 工作空间 其实就是我们写源代码所在目录 B: 用 Eclipse 来完成一个 HelloWorld 案例 代码以项目为基本单位...注意:请只删除注释部分,不是注释部分不要删除。 C: 行号显示和隐藏 显示:代码区域最左边空白区域,右键 -- Show Line Numbers 即可。 隐藏:把上面的动作再做一次。...如何设置断点: 你想看哪里程序,你就在那个有效程序左边双击即可。 在哪里设置断点: 哪里不会点哪里。 目前:我们就在每个方法第一条有效语句上都加。

1.9K80

泛型和元编程模型:Java, Go, Rust, Swift, D等

我将从C这样不具备泛型系统语言如何解决这个问题开始,然后分别展示其他语言如何在不同方向上逐渐添加扩展,从而发展出各具特色泛型系统。...两个基础流派中每一个流派都有很多方向可以扩展,以增加额外能力或安全性,不同语言已经将两者带入了非常有趣方向。有些语言如Rust和C#甚至提供了这两种选择!...有很多不同方式可以在运行时实现并在语言中导出该功能,你可以同一种语言中使用多种方式。然而不同语言大多数采用某种特定方式实现,然后语言扩展则充分利用所选实现优势。...这种方式虽然被Haskell类型类使用,但GHCGHC是Haskell编译器)通过内联和特殊化,也可以做单态化优化。...生成源代码 单态化最简单方法就是源代码层面就进行复制。这样编译器甚至不需要支持泛型,C和Go等(编译器不支持泛型)语言用户有时会这样做。

3K30

MySQL主从复制详解

MySQL复制原理 (1).Slave服务器上执行start  slave命令开启主从复制开关,开始进行主从复制; (2).此时,Slave服务器I/O线程会使用通过master上已经授权可以进行复制操作用户连接...端I/O线程,返回信息中除了binlog日志内容外,还有Master服务器端记录binlog文件名称,以及binlog中下一个指定更新位置。...(3)MySQL复制带来优势在于:       扩展能力:       通过复制可以将MySQL性分到一个或多个slave上。...容灾能力:         可以物理距离较远另一个数据建立slave,保证主实例所在地区遭遇灾难时,另一个数据中心能快速恢复。   ...MySQL复制有三种核心格式 复制工作原理是数据库修改记录到bin log日志并传递到slave,然后slave本地还原过程。而时间记录到bin log格式会有所不同。

2.2K30

从惰性IO说起_Haskell笔记6

List,就像'a' : 'b' : 'c' : []“承诺”会有一个'a'开头List,这个List有多长,占多少空间,真正需要求值之前都是未知(也没必要知道,所以允许存在无限长List,而不用担心如何存储问题...) 但这种惰性并非十全十美,带来直接问题就是效率不高,尤其是巨长List场景(比如读文件),处理一个“承诺”(模拟场景里tail())成本可能不高,但如果积攒了一大堆“承诺”,处理这些“承诺...make sourceFile编译执行外,还有一种直接run源码方式: $ runhaskell testArgs.hs -b -c /absolute/path/to/ghc-8.0.1/bin/ghc...做法类似于C语言,要给个“种子”: random :: (Random a, RandomGen g) => g -> (a, g) 其中Random和RandomGen种子类型分别为: instance...\n")) 为了把file变量传入errorHandler,我们多包了一层,看起来蠢蠢,而且能保留现场信息很有限 所以,像其他语言一样,我们能够从异常对象身上取出一些错误信息,例如: exists'

2.3K30

Functor与Applicative_Haskell笔记7

但可以肯定是,I/O Action这个容器里装着一个值(不论这个值来自哪里),而fmap能够把函数作用于这个值,同样得到一个装着新值I/O Action 至此,盒子比喻仍然很恰当:纯环境下容器是木质宝箱...Functor ((->) r) -- Defined in ‘GHC.Base’ instance Functor ((,) a) -- Defined in ‘GHC.Base’ (注意:简单起见...一下 f Int -> f a -> f [a] 所以,lift就是方便让普通函数能够f语境里正常工作 P.S.类似的lift函数共有3个: liftA :: Applicative f => (a...实例就不一定了,因为这两条规则只是道德约束,没有强检查,所以实现自定义Functor实例时应该注意自觉遵守 三.Applicative functors 看名字叫加强版Functor,那么强在哪里?...,并将他升级成一个函数可以运作两个functor之上 这就是所谓lifting(升级?)

57330

IDA简单使用

,有符号文件,所以分析起来很方便,函数名都有: 箭头这块ctrl+f,出现搜索框,直接搜索main: 右边箭头位置按空格: 可以看到我们主函数代码,在这块按一下F5,就可以用到IDA中最强大方便功能...,俗称F5大法,会编译成成语言形式: 对照源代码,基本流程很清晰。...双击printf中参数a: 按一下shift+f12就是字符串信息: IDA其他页面都有名字,这里不再解释,接下来我们看一下没有符号文件时候IDA: 可以看到这里大部分函数名是sub_xxx...,搜索main函数也是搜不到: 这种情况我们只能从start开始找主函数,就像在OD里面找到主函数一样,当然也可以通过字符串叉查找。...首先通过字符串查找一下: 双击: 标记这串字符串,按ctrl+x,看看哪里引用了这段字符串: 然后就到了主函数这里: F5就可以查看伪代码,接下来我们靠特征找一下,函数名搜索框搜索start:

73640

不一样JavaScript

程序执行时CPU指令集上,编译型语言会在执行前被编译成可执行文件,所以必须强类型,而JavaScript则会在执行时动态编译和判定类型。...3.2.1 源代码 这里源代码是多模块,多文件联合包括框架特有语法糖、预编译样式、附件源文件(图片等)、标准JavaScript代码等众多复合元素,扩展名包含但不限于:.js,.vue,.scss,...附注:上图是VSCode中利用babylon工具对代码:var a = 123进行分词结果 分词规则:分词程序分析源代码时候,它会一个一个字母去读取源代码,直到遇到空白符、操作符或者其他特殊符号会认为是一个词结束...AST抽象语法树简写abstract syntax tree,上个章节V8执行JavaScript代码时会先将源代码编译成AST转成字节码执行,事实上,无论哪种语言,在编译时都会将源代码编译成AST...答案:借助ASTExploer工具,将源代码输入左侧,右侧AST中直接找到这段代码对应到AST中是什么,如下图: ?

45120

VsCode中使用Jupyter

(以前称为IPython Notebook)是一个开源项目,可让您轻松地一个名为Notebook画布上组合Markdown文本和可执行Python源代码。...pip安装库在这里 我这个地方install jupyter 因为有的人可能没有安装过 命令行行输入jupyter有反应,是哪里做出了反应找一下 果不其然都是exe可执行文件 这个命令是找powershell...-cookbook.readthedocs.io/zh_CN/latest/c10/p09_add_directories_to_sys_path.html 因为py是一种脚本语言,所以实现源代码有些透明...以后给你讲 注意:默认情况下,Visual Studio Code Python扩展名将在笔记本编辑器中打开Jupyter笔记本(.ipynb)。如果要禁用此行为,可以设置中将其关闭。...打开一个笔记本时,必须要与核心通信 点箭头 结果就出来了 信任笔记本电脑# Jupyter Notebook中可能包含恶意源代码

5.9K40

newtype_Haskell笔记8

一.ZipList与List List场景,xs ys表示从左侧xs中取出函数作用于右侧ys中每一项,有两种实现方式: 笛卡尔积 拉链式一一结对 分别对应[]和ZipList,例如: import...实际上,newtype所做事情只是创建新类型,把现有类型包装起来 类似的场景下,JS的话,我们会这么做: class ThisType { constructor(value) { this.value...不像type创建别名类型可以与原类型等价换用,newtype创建新类型与原类型是完全不同东西,唯一联系是新类型内部实际操作是原类型(通过持有原类型实例引用),通过这种方式在外层实现对原类型扩展...(typeclass)实现时 四.newtype与惰性计算 Haskell中大多数计算都是惰性(少数指的是foldl'、Data.ByteString之类严格版本),也就是说,计算只不得不算时候才会发生.../Err.hs:79:14 in base:GHC.Err undefined, called at :37:10 in interactive:Ghci17 而下面这种形式就不会被计算

59830

一款支持手绘风格开源图表工具—Excalidraw

前言 文章撰写中,我们常常需要配以图表或者图形来更加丰富呈现。...•⚒️ 提供广泛工具 - 矩形、圆形、菱形、箭头、线条、自由绘制、橡皮擦等。•️ 支持箭头绑定和标签箭头。• 支持撤销/重做。•支持缩放和平移。...功能 Excalidraw.com网站是使用Excalidraw可以构建内容最小展示。其源代码也是这个存储库一部分。该应用程序具有以下功能: •PWA支持(离线工作)。• 实时协作。...react-dom @excalidraw/excalidraw•或通过yarn:yarn add react react-dom @excalidraw/excalidraw 集成 •VScode扩展...使用语言 •TypeScript 88.0%•SCSS 4.8%•MDX 4.3%•JavaScript 2.6%•HTML 0.3%•CSS 0.0% 引用 更多详细内容大家可以看这里: https

65410

再看包括、扩展和泛化、继承

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。 我们知道包括和扩展是用例图中所特有的关系,而泛化和继承则不仅用于用例图,同一时候也适用于其它图,如类图。...这两对概念相信对于学习面向对象中我们来说是非常easy混淆,非常多时候自己都不知道包括和扩展箭头究竟该指向哪里,是虚线还是实线,泛化究竟跟继承什么关系?...当中>是扩展关系构造型,箭头指向基本用例。 (3) 泛化和继承 当多个用例共有一种类似的结构和行为时,能够将它们共性抽象成为父用例,其它用例作为泛化关系中子用例。...扩展用例事件流往往能够抽象为基本用例备选事件流,扩展关系中,能够依据一定条件来决定是否将扩展用例事件流插入到基本用例事件流中,而且插入点能够有多个。...实际应用中,非常少使用泛化关系,子用例特殊行为都能够作为父用例中备选事件流而存在。 实际工作中,要慎重选用这些关系。

1.1K10

Python简介 「建议收藏」

表面上来说,是的,但是,非常高抽象计算中,高级Python程序设计也是非常难学,所以,高级程序语言不等于简单。...举例:手机维持电量方式:内置电池和充电宝(充电宝就相当于第三方库) 4,Python缺点 第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你代码执行时会一行一行地翻译成...如果要发布你Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后机器码(也就是你Windows上常见xxx.exe文件)发布出去。...5,Python交互式环境是 三个箭头提示符 >>>这种形式,一个箭头>是Windows命令提示符。...数学处理:Numpy扩展库提供大量与许多标准数学库接口。 因此,python语言及其众多扩展库所构成开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。

51330
领券