gpt4 book ai didi

programming-languages - 真正的声明性语言?

转载 作者:行者123 更新时间:2023-12-03 11:45:29 25 4
gpt4 key购买 nike

有谁知道真正的声明性语言?我正在寻找的行为类似于 Excel 所做的,我可以在其中定义变量和公式,并在输入更改时更改公式的结果(无需自己再次设置答案)
我正在寻找的行为最好用这个伪代码显示:

X = 10     // define and assign two variables
Y = 20;

Z = X + Y // declare a formula that uses these two variables

X = 50 // change one of the input variables

?Z // asking for Z should now give 70 (50 + 20)
我已经在 F#、python、matlab 等很多语言中尝试过这个,但每次我尝试这个时,他们都会给出 30 而不是 70。从命令的角度来看这是正确的,但我正在寻找一个如果你知道我的意思,更多的声明性行为。
而这只是一个非常简单的计算。当事情变得更加困难时,它应该自动处理递归和内存等事情。
下面的代码显然可以在 C# 中工作,但对于这项工作来说代码太多了,我正在寻找一些更重要的东西,而不需要所有“技术噪音”
class BlaBla{
public int X {get;set;} // this used to be even worse before 3.0
public int Y {get;set;}
public int Z {get{return X + Y;}}
}

static void main(){
BlaBla bla = new BlaBla();
bla.X = 10;
bla.Y = 20;
// can't define anything here
bla.X = 50; // bit pointless here but I'll do it anyway.
Console.Writeline(bla.Z);// 70, hurray!
}
这看起来就像没有添加任何内容的代码、花括号和分号。
是否有执行此操作的语言/应用程序(Excel 除外)?也许我在提到的语言中做得不对,或者我完全错过了一个可以做到这一点的应用程序。
我制作了一种语言/应用程序的原型(prototype)(以及其他一些东西),并且正在考虑将其产品化。我简直不敢相信它还没有。不想浪费我的时间。

最佳答案

任意 Constraint Programming系统会为你做到这一点。
具有关联语言的 CP 系统示例是 ECLiPSe , SIICSTUS Prolog/CP 包, Comet, MiniZinc, ...

关于programming-languages - 真正的声明性语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2990775/

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