繁体   English   中英

设计语言功能以允许使用自定义分配器是否值得?

[英]Is it worth it to design language features to allow use of custom allocators?

让程序员能够为他们的用例使用不同的分配策略是否有用? 即使没有像默认通用属性通用别名之类的任何帮助程序,语言当然也可以管理,但是它使创建好的分配器 API 变得不那么方便和值得。 我从 Rust 中得到这个想法,其中Vec用两个通用参数定义,其中第二个参数是分派分配方法的零大小结构。 不过,您不必提及第二个参数,因为该参数具有默认值Global (allocator)。

我正在研究的语言metaflow旨在拥有简单快速的编译器,可以使用用户代码(在 metaflow 中)进行扩展。 我总是考虑给定的功能是否必须由编译器实现,并且不能用标准库中的宏来完成。

默认参数和通用别名与通用实例化相混淆,就我的想法 go 而言,这不能以任何合理有效的方式用宏来实现。

我应该投资这些功能吗? 源代码已经超过 10k 行标记,到目前为止编译器可以将相当复杂的代码编译成可执行文件。 例子:

attr linkage(import, printf), call_conv(platform)
fun print(s: &u8)

attr entry
fun hello:
  print("Hello in meta!")

尽管语言具有C + generics的功能级别。 Jit 编译的宏与 go 相比还有很长的路要走。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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