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

我正在寻找一种编程语言来编写数学课.我知道周围有很多很多,但是因为我下学期要开始学习数学,所以我认为这可能是一个很好的方法.深入了解我所学到的知识.

谢谢你的回复.

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

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

Like EFraim said,Haskell让这很简单:

% ghci
ghci> let a *-* b = (a*a) - (b*b)
ghci> :type (*-*)
(*-*) :: (Num a) => a -> a -> a
ghci> 4 *-* 3
7
ghci> 1.2 *-* 0.9
0.6299999999999999
ghci> (*-*) 5 3
16
ghci> :{
          let gcd a b | a > b     = gcd (a - b) b 
                      | b > a     = gcd a (b - a) 
                      | otherwise = 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

您可以使用中缀语法定义新的中缀运算符(仅符号).然后你可以使用
它们作为中缀运算符,或将它们包含在parens中以将它们用作正常函数.

您还可以使用常规函数(字母,数字,下划线和单引号)作为运算符把它们放在反叛中.

相关文章
相关标签/搜索