Scala 的 Implicit 是怎么实现的?

问答 蔡呆呆 ⋅ 于 2019-07-10 17:40:13 ⋅ 最后回复由 晓月星稀 2019-07-15 13:38:08 ⋅ 97 阅读

觉得很酷,想知道是怎么实现的?是在 Type checking, inference 阶段直接根据 type hole 搜索所有 imported implicits 吗?一个现有的语言编译器需要做哪些改动才能支持?

成为第一个点赞的人吧 :bowtie:
回复数量: 2
  • 青牛 国内首批大数据从业者,就职于金山,担任大数据团队核心研发工程师
    2019-07-11 10:59:54

    implicits原理很简单 当编译器看到类型X而却需要类型Y,它就在当前作用域查找是否定义了从类型X到类型Y的隐式定义 ,现有的 比如java 你也可以自己在字节码中搜索当前堆里面的类和方法的继承关系 从而找到X的隐式定义

  • 晓月星稀
    2019-07-15 13:38:08

    @青牛请问 java怎么从字节码文件当中找x的隐式定义呢?

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter