Dc (UNIX)
dc では [ と ] で囲まれたものを文字列値として扱う。文字列も数値と同様にスタックにプッシュしたりレジスタに格納したりできる。a コマンドはスタックから要素をポップし、それが数値である場合は下位バイトを ASCII 文字に変換してプッシュし、文字列の場合は最初の 1 文字をプッシュする。文字列を x コマンドでマクロとして実行したり P コマンドで表示することはできるが、文字列を構築したり文字列操作を行う方法はない。
また、dc では # から行末までをコメントとして扱い、実行には影響を及ぼさない。
dc にも quine が存在する。
これもまた Michel Charpentier によって書かれた:
短くすると:
より高速なものでは (200 bit の数 2 200 − 1 {\displaystyle 2^{200}-1} で試すなら 2 200^1- を入力する):
これを更に高速化するには、定数へのアクセスをレジスタへのアクセスに置き換える:
マクロの仕組みを利用して条件分岐を行うことができる。=r コマンドはスタックから要素を 2 つポップし、それらの値が等しいときにレジスタ r に格納されているマクロを実行する。以下に示すのはスタックの先頭に 5 があるときに Equal と表示する例である:
その他にも、> (もともとの先頭が大きい場合にマクロ実行)、!> (大きくない場合)、< (小さい場合)、!< (小さくない場合)、!= (等しくない場合) がある。