Skip to content

对几个名词翻译的一点看法 #5

@yfzhe

Description

@yfzhe

之前本来也有一点翻译 Racket Guide 的想法,看到已经有人做了感觉很开心,感谢你们的工作!

简单看了一下术语表,对其中两个名词的中文翻译一点看法:

  1. curried function
    看到「咖喱函数」开始有些不明所以,于是去找了一下原文。这里 curried 应该 curry 的过去式(?),意思是通过这样的简写可以得到柯里化的函数声明。如果不了解柯里化的化,可以网上搜索了解一下,作为函数式编程的基本概念,网络上有很多相关的文章资料说明这个概念。
    与 Haskell 等函数式语言不同,Lisp 的传统是不会在函数定义时自动柯里化。而 Racket 继承了这个传统,又给了这样一个语法糖。总之,这里 curry 翻译成「咖喱」是不合适的,应该是「柯里(化)」或其他(对于 Curry 的人名)类似翻译。
  2. contract
    Racket 里的 contract 应该是来源于 Eiffel 语言的概念。而中文环境对于 design by contract 已经又有了翻译——「契约式设计」。所以个人感觉这里也采用「契约」来翻译可能会更合适。当然,现在也有「智能合约」这种称呼,所以这里用「合约」也可以。
  3. call-by-reference (16.1.8)
    更合适的翻译应该是「传引用调用」。

上面是一点拙见,有问题还请指出。

PS. 看前面的 issue 里也提到了,请问准备用 Scribble 格式吗?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions