読者です 読者をやめる 読者になる 読者になる

SI単位系が使えるDSLを知りませんか

アイデア 与太話 いまさら訊けない

5.times
とかいうのではなくて、 5 Nm とか 5Km/h とかを扱えるDSL(Domain Specific Language)っす。Fowlerの本とかに出てくるかな。MATLABとかだとどうなんだっけかと本をめくってみても大した話は見つからなかった。
Wolfram Alphaのお作法とかはどうだったっけな。

10 newton * 2 m
が
10 N * 2 meters
で
20 Nm (newton meters)

という表記になるな。
parseする身としては、数字リテラルの後に来るものがメソッドじゃなければ組み込みのSI単位系として扱うとかするだけだからできそうだ。(5.5と 5.timesと5Nmと 5 Nm の区別をしたり 4/3や4.3Km/hとかの形式を処理する字句規則とか、本当に矛盾なく構築できるかな)