以数组语言思考(2022)

Hacker News Top 工具

摘要

ngn/k(一种数组编程语言)的全面教程,包含章节、词汇和练习,便于学习。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/05/22 21:26

razetime/ngn-k-tutorial

来源:https://github.com/razetime/ngn-k-tutorial

ngn-k-tutorial

这是关于 ngn/k(https://codeberg.org/ngn/k)的教程。

  • 网站:https://razetime.github.io/ngn-k-tutorial
  • PDF:https://razetime.github.io/ngn-k-tutorial/ngn_k_tutorial.pdf
  • EPUB:https://razetime.github.io/ngn-k-tutorial/ngn_k_tutorial.epub

如何使用本教程

本教程假定你具备一些基础的编程知识,并且对数组有基本的理解。

大多数章节末尾会有“词汇表”和“练习”部分。我建议你先熟悉词汇表,并完成各部分的练习,然后再进入下一课。

如果你对教程内容或练习感到困惑,欢迎加入 Matrix 上的 ngn/k 聊天室(https://app.element.io/#/room/#ngnk:matrix.org)(推荐),访问 APL Farm(https://aplwiki.com/wiki/APL_Farm),或者直接在此提交 issue。

如果你想对照我的练习答案,可以查看 code 文件夹。

进度

本教程已完整编写,除非 ngn/k 发生新的变化,否则不会增加更多章节。

之前列出的其他章节想法可能会在本教程之外的独立文章中涵盖。不过不保证哦 :)

致谢

  • ngn(https://codeberg.org/ngn/k)提供了关于 ngn/k 内部运作的许多趣闻和实用知识
  • @chrispsn、@Traws、@ColTim 为“序言”章节提供了思路和原始实现
  • @HoosierEE 协助校对并进行了许多有用的编辑
  • @DiscoDoug 为编写“数独”章节提供了大量帮助
  • /u/mandus(https://old.reddit.com/u/mandus)提醒我本教程中有练习题
  • @DestyNova 设置了网站、epub 和 pdf 所需的流程
  • @yakubin 在折叠(folds)和扫描(scans)的修正上提供了帮助

最后,感谢所有帮助我确保本书质量、并在两年多的写作过程中提供支持的校对者。

相似文章

对 APL 等数组语言的有原则性重新思考

Lobsters Hottest

本文提出了一种有原则性的方法来重新思考 APL 等数组语言,通过将变量建模为输入维度的函数,旨在相较于传统方法提高可读性和错误检查能力。

Show HN: Nibble

Hacker News Top

Nibble 是一种类 C 的系统编程语言,用 3000 行 C 代码实现,无需外部依赖或堆分配即可生成 LLVM IR。它支持 defer、递归、多种类型、结构体、指针,并包含图形演示。

空间语言:二维代码编写

Lobsters Hottest

本文探讨了二维代码编写的概念,通过垂直链式调用和三目中缀运算符简化某些表达式,并以鸡舍门控制器等实际案例为例。

Joy 非正式教程

Lobsters Hottest

关于 Joy 编程语言的教程,这是一种基于函数组合和组合子的函数式语言,采用后缀表示法和基于栈的执行方式。

让语言模型学会用代码思考

arXiv cs.CL

本文介绍了 ThinC(Thinking in Code,用代码思考)框架。在该框架中,语言模型在简短的自然语言规划步骤后,仅使用代码块进行推理,在数学基准测试中优于现有的工具集成推理基线。