cost 249 ms
julia 是否对递归多态类型执行代码单态化? - Does julia perform code monomorphization for recursively polymorphic types?

我注意到在执行代码单态化的语言中实现多态递归类型(例如:C++、Rust 等)即使不是不可能也非常困难。 这通常是因为编译器需要为该类型的每个可能的实例化生成代码,这通常会导致无限递归。 支持这一点的语言通常使用类型擦除。 编译器不会尝试实例化下一个递归调用,因为它已经知道类型的布局。 Juli ...

为什么我可以在结构的类型参数中编写函数类型? - Why am I able to write a function type in the type parameter of a struct?

如果我理解正确的话,在 Rust 中,每个闭包类型都有一个无法写出的唯一类型。 我也认为这适用于函数,但是,我可以执行以下操作,其中我在get_struct_1和get_struct_2的返回类型中明确写入类型参数: struct FooStruct<F> where F: Fn(i32 ...

Haskell 隐式参数和多态递归 - Haskell Implicit parameters and polymorphic recursion

我对 GHC 用户指南的“ 隐式参数和多态递归”一章有疑问。 代码是 章节说在前一种情况下,len_acc1 在它自己的右手边是单态的,所以隐式参数?acc 没有传递给递归调用。 在后一种情况下,由于 len_acc2 具有类型签名,因此对多态版本进行递归调用,该版本将?acc 作为隐式参数。 问题 ...

单态地从任意 JavaScript 对象中检索一些元信息 (v8)? - Retrieve some meta information from the arbitrary JavaScript object monomorphically (v8)?

v8 专家的问题。 最近,我发现了v8 中多态的 情况。 多态性仅针对 4 个对象“形状”进行了良好优化,之后性能显着下降。 类和对象继承被忽略。 这是一个非常令人沮丧的发现,因为有这样的限制,结构良好的代码将无法执行。 自 2017 年以来,这似乎是一个众所周知的问题,并且在不久的将来不太可 ...

为什么JavaScript中的单态和多态问题? - Why do monomorphic and polymorphic matter in JavaScript?

我一直在阅读一些关于变化检测的文章,他们都说单态函数比多态函数快得多。 例如,这是一个引用: (..)原因是它必须以动态方式编写,因此无论模型结构如何,它都可以检查每个组件。 虚拟机不喜欢这种动态代码,因为它们无法对其进行优化。 它被认为是多态的,因为对象的形状并不总是相同的。 ...

算法W和单态强制 - Algorithm W and monomorphic type coercion

我正在尝试为一种玩具语言编写自己的类型推断算法,但是我遇到了麻烦-我认为算法W只能用于过于通用的类型。 以下是这些表达式: 输入规则很简单-我们继续使用类型变量进行抽象和应用。 这是所有可能的类型: 您可能已经猜到了ELit : TMono ,更具体地说,是EConc : ...

为什么多态性在haskell(GHC)中如此昂贵? - why polymorphism is so costly in haskell(GHC)?

我问与refernce这个问题该 SO问题。 Don Stewart接受的答案:第一行说“您的代码是高度多态的,将所有浮动变量改为Double ...”,它提供了4倍的性能提升。 我有兴趣在Haskell中进行矩阵计算,我应该养成编写高度单态代码的习惯吗? 但是有些语言很好地利用了 ...

避免在没有类型注释的情况下进行绑定的单态 - Avoiding monomorphism in let bindings without type annotation

我有一些代码使用类型消除实例的歧义(真正的代码使用GHC.TypeLits单例作为类型标签,但我不认为这是密切相关的)我想使用let绑定来避免文本级重复; 不幸的是,这使结果单形化。 以下是该问题的一个示例: 上面的代码没有编译(但是,当然,如果我输入annotate quux是 ...

基本的Haskell单态/多态问题(HList) - Basic Haskell monomorphism/polymorphism question (HList)

我是一个Haskell和一个Stackoverflow noob,这是我的第一个也许是非常基本的Haskell问题。 这是有道理的,即使r r&r2在r rPair中是多态的,也可以根据类型签名来对齐它们的r类型。 这种“对齐”是否有技术术语? 如果R传递的r在r中是单态的,则 ...

为什么F#函数返回“ val FunctionName:int-> int”的签名? - Why does F# function return a signature of “val FunctionName: int -> int”?

我在F#Wikibook上的高阶函数上关注了一些示例。 标题“ Composition Function”下的第二个代码段具有以下代码段。 我有问题的理解是 当我单独使用F#交互式外壳程序(fsi.exe)运行它时,得到以下签名。 但是,当我运行整个代码片段时 ...

子图同构和子图单态之间有什么区别? - What's the Difference Between Subgraph Isomorphism and Subgraph Monomorphism?

在我参与过的一个项目中,出现了同构与单态的主题。 一点背景:我不是图论的专家,也没有正式的培训。 但是这个主题在化学中非常重要,化学家期望在他们使用的结构搜索系统中进行特定类型的子图匹配。 如果目标图A具有n个节点和m个边,则化学家将接受子图匹配,其中查询图B具有n个节点和m-1个 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM