gpt4 book ai didi

math - 是否存在允许您定义新运算符的强类型编程语言?

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

我目前正在寻找一种编程语言来编写数学类(class)。我知道周围到处都有很多,但是由于我将在下学期开始学习数学,因此我认为这可能是一种不错的方法深入了解我所学到的知识。

多谢您的回覆。

顺便说一句:如果您想知道我想问什么:

“是否有一种强类型的编程语言可以让您定义新的运算符?”

最佳答案

Like EFraim said,Haskell使这个变得很容易:

%ghci
ghci>让a *-* b =(a * a)-(b * b)
ghci>:type(*-*)
(*-*)::(数字a)=> a-> a-> a
ghci> 4 *-* 3
7
ghci> 1.2 *-* 0.9
0.6299999999999999
ghci>(*-*)5 3
16
ghci>:{
让gcd a b | a> b = gcd(a-b)b
| b> a = gcd a(b-a)
|否则= a
:}
ghci>:type gcd
gcd::(Ord a,Num a)=> a-> a-> a
ghci> gcd 3 6
3
ghci> gcd 12 11
1个
ghci> 18`gcd` 12
6

您可以使用infix语法定义新的infix运算符(仅符号)。然后,您可以使用
将它们用作中缀运算符,或将它们括在括号中以将它们用作常规函数。

您还可以使用普通函数(字母,数字,下划线和单引号)作为运算符
通过将它们括在反引号中。

关于math - 是否存在允许您定义新运算符的强类型编程语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1184511/

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