自作if式モドキ
- ref. (:?) な三項演算子っぽいものを使う
lazyにすれば組み込みのifっぽい動きが出来るはず.
$ sml -Cparser.lazy-keyword=true (*起動*) open Lazy fun force ($ x) = x infix ? fun true ? (t,f) = force t | false ? (t,f) = force f
条件が偽の場合
- (1=0) ? (lprint($"foo\n"), lprint($"bar\n")); bar val it = () : unit
条件が真の場合
- (1=1) ? (lprint($"foo\n"), lprint($"bar\n")); foo val it = () : unit
出来ました!\(^-^)/
まぁでも結局はどっかで($)を付けることになるヨネー
fun lazy lprint s = $ (print(force s))
とくにオチはない