带乘法运算符的标准 ML Foldl/Foldr 函数?

Standard ML Foldl/Foldr function with multiplication operator?

对于标准 ML (SMLNJ),对于 foldr 和 foldl 函数,乘法运算符的正确使用方法是什么?

使用foldr (op *) 1 [1,2,3];会报错

Standard ML of New Jersey v110.78 [built: Thu Aug 31 03:45:42 2017]

  • stdIn:1.12 Error: unmatched close comment
  • stdIn:1.9-1.18 Error: syntax error: deleting OP INT LBRACKET

看来 * 有其他重载。

白色space 通常对 SMLNJ 无关紧要。但是对于乘法(星号)运算它确实

确保在星号和右括号 * ) 之间有一个 space,否则它将被解释为未打开的评论 *)

foldr (op * ) 1 [1,2,3];