Hacker News 中文摘要

RSS订阅

基于土耳其语语法格的编程语言 -- A programming language based on grammatical cases of Turkish

文章摘要

Kip是一种实验性编程语言,基于土耳其语的语法格设计,将土耳其语的名词格和元音和谐融入类型系统。该项目旨在探索语言学与类型理论的交叉领域,并非生产级语言。提供土耳其语和英语教程,语法和功能可能随时变更。示例程序展示了如何用Kip打印斐波那契数列。

文章总结

Kip编程语言简介

Kip(土耳其语意为"语法语气")是一款实验性编程语言,其特色在于将土耳其语语法格融入类型系统。该项目旨在探索语言学与类型理论的交叉领域,属于研究/教育性质,并非生产级编程语言。

核心特性

  1. 土耳其语法格作为类型
    语言采用土耳其语名词格(如主格、宾格、与格等)来标记函数参数关系,例如:

    • 宾格:sayıyı(数字+宾格后缀)
    • 与格:sayıya(数字+与格后缀)
  2. 灵活的参数顺序
    由于语法格已明确参数关系,以下两种调用等效: kip (5'le 3'ün farkını) yaz. (3'ün 5'le farkını) yaz.

  3. 代数数据类型
    支持用土耳其语法定义数据类型: kip Bir doğal-sayı ya sıfır ya da bir doğal-sayının ardılı olabilir.

  4. 模式匹配
    使用条件后缀-sa/-se进行模式匹配: kip (bu doğruluğun) tersi, bu doğruysa, yanlış, yanlışsa, doğrudur.

开发环境

  • 依赖工具:需安装Foma(有限状态形态学工具包)和Haskell Stack
  • 运行方式bash # 启动REPL stack exec kip # 执行文件 stack exec kip -- --exec 文件路径.kip

示例程序

kip (* 计算前n个斐波那契数 *) (bu tam-sayıyı) (şu tam-sayıyı) (o tam-sayıyı) işlemek, (onla 0'ın eşitliği) doğruysa, durmaktır, yanlışsa, bunu yazıp, şunu (bunla şunun toplamını) (onla 1'in farkını) işlemektir.

项目结构

主要模块包括: - AST.hs:抽象语法树 - TypeCheck.hs:语法格验证的类型检查器 - Foma.hs:通过FFI绑定土耳其语形态分析器TRmorph

注意事项

  • 实验性项目,语法可能变更
  • 提供土耳其语和英语教程
  • 浏览器版Playground可通过WASM运行

该项目通过自然语言形态学(特别是土耳其语名词格和元音和谐)探索编程语言设计的新范式。

(注:原文中关于字节码缓存、测试目录结构等次要技术细节已精简,保留核心语言特性和关键使用信息)

评论总结

评论内容总结:

  1. 对土耳其语特性的赞赏
  • 认为土耳其语的格系统使其适合这种编程语言设计 "Haha I can read some casual Turkish and this made my day!" "Funny how the case system of Turkish is both strong and standardized enough for this to work well."
  1. 对项目实用性的讨论
  • 开发者分享项目进展和在线体验地址 "here's the browser-based playground we have so far" "The work on JavaScript transpilation just started today"
  1. 与其他语言的比较
  • 提到类似项目如Perligata和Logos lang "Reminds me a bit of Lingua::Romana::Perligata." "Check out Logos lang, would love to chat sometime"
  1. 对语言设计的疑问
  • 质疑与现有记录类型的区别 "I'm having a hard time seeing how this is much different from record types" "you're limited to only eight fixed record field names"
  1. 个人项目分享
  • 多位用户分享自己的类似项目 "I also experimented on a similar idea a few years ago" "doing something similar at https://logicaffeine.com/studio"
  1. 对非英语编程语言的兴趣
  • 表达对这类创新语言设计的喜爱 "I love this kind of stuff - non-English programming languages" "love when the 'language' part of programming languages doesn't get left behind"
  1. 幽默评论
  • 调侃LLM可能难以处理这种语言 "A language an LLM can choke on!"

注:所有评论均无评分显示,因此无法评估认可度。总结保持了不同观点的平衡,并保留了关键引用。