Paraphrase で FizzBuzz
この記事は「多言語FizzBuzz Advent Calendar 2022」カレンダー 2 の 12/14 分の記事です。
Paraphrase について
Paraphrase は逆ポーランド記法で有名な Forth という古のスタック志向の言語から強く影響を受けた、並列処理が容易に記述できる言語です。GitHub のページはこちらになります https://github.com/iigura/Paraphrase
Paraphrase による FizzBuzz プログラム
Parapharse は Forth 系なので、若干奇妙に見えるかもしれませんが、まず FizzBuzz というワード(他の言語でいうところの関数のようなもの)を定義し、その後 1 から 20 まで for+ ループを回して、それぞれの値において Fizz と Buzz を計算しています。ちなみに、左端の不等号は対話型インタプリタ(para)のプロンプトです。
Paraphrase 0.96-dev Copyright (C) 2018-2022 Koji Iigura <@paraphrase_lang>
> `FizzBuzz :
>> switch
>> case 15 % 0? -> "FizzBuzz"
>> case 5 % 0? -> "Buzz"
>> case 3 % 0? -> "Fizz"
>> dispatch
>> ;
ok.
> 1 20 for+ i FizzBuzz . next cr
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19
ok.
>
Paraphrase は Forth 系ですが、switch - case も実装されているので、比較的分かりやすいのではないかな、と思っています(が、どうでしょうか)。
以上、Paraphrase で FizzBuzz、でした。