SML 是否支持对匹配表达式中的模式进行保护?

Does SML support guards on patterns within match expressions?

我想到了类似于 here 中描述的 F# 机制的东西。 在调查过程中,我没有发现任何明确说明它会或不会。

1990 年的标准 ML 定义和 1997 年的标准 ML 定义(修订版)都没有定义模式守卫。

已经有一些支持它们的提议——分别参见 https://github.com/SMLFamily/Successor-ML/wiki/Summary-of-proposed-changes — but I think the only implementation that does so is 'HaMLeT S'. In particular, neither MLton nor SMLNJ seems to support them (see http://mlton.org/SuccessorML and https://smlnj.org/doc/features.html