gpt4 book ai didi

functional-programming - 摆弄无点代码?

转载 作者:行者123 更新时间:2023-12-04 11:31:05 25 4
gpt4 key购买 nike

我一直在学习 Factor 和 J 语言来尝试无点编程。这些语言的基 native 制似乎很清楚,但是要了解如何进行算法设计是一个挑战。

对我来说,一个特别的困惑来源是应该如何构造代码,以便轻松地尝试不同的参数。我的意思是 Mathematica 和 Matlab 非常擅长的那种东西。您设置了一个算法,然后操纵变量并观察会发生什么。

如果没有显式变量,你如何做到这一点?也许我在想这一切都是错的。我应该如何在无点编程中解决这个问题?

最佳答案

以下是我发现在处理串联范式时非常有用的三个重要建议(在我的案例中适用于 Factor 编程语言):

  • 无情地分解你的代码 .编写极小的函数:如果堆栈参数超过 3-4 个,也许你可以把它分成更小的部分。
  • 花时间学习数据流组合器 (bi, tri, cleave, spread, ...)。它们允许表达常见的数据流模式,同时无需复杂的堆栈改组。
  • 从其他报价中学习建立报价 .使用 currying 技术(curry, with, ...)从堆栈参数构建简单的引用,当事情变得太复杂时使用 Fried 引用(“fry”词汇)。它们允许从模式轻松构建复杂的嵌套引用,而无需任何堆栈改组。

  • 和往常一样,阅读并“走进”现有代码。在 Factor 中,很容易探索运行时并查看事情是如何工作的。

    对于您的具体混淆来源,如果您的算法中有很多输入参数,最重要的是研究如何使用它们。收集数据流模式。您必须真正考虑在最小的相关参数集上"dispatch"操作的最佳方式。

    这是一次相当艰难的经历,但当它成功时,它也是一种真正的返回。在那之后我们感觉自己像一个人类编译器..

    祝你好运!

    关于functional-programming - 摆弄无点代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3592141/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com