見出し画像

プログラミング言語Disのプログラム(とリンク)集

ちな2024年6月4日の時点のやつ

本家のやつ

Ben Olmstead先生の提示したやつ
昔の本家のところとかミラーのところとか(2024年6月4日現在ではどちらもアーカイブされてるサイト)で配布されてる

プログラミング言語Disはパブリックドメインのもと配布されており、コード例も同様な感じ

そんでもって2種類のプログラム例と共に配布されてる

666.dis

666と出力するだけ。

*>>*|{{{!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!{**

cat.dis

標準入力のをそのまま標準出力に出すやつ

*^********************************}{*^*****!***

この解説版としてcat_expl.disもある

(Unix 'cat' in Dis.  This is the language test; I shall be working on a)
('Hello, world' program presently.  In the meantime, here's cat with   )
(explanation:                                                          )

    * (Set the data pointer to 42--from the ASCII code of '*')
    ^ (Jump to label 1, below, via the ! at the new data pointer.)

||||||||||||||||||||||||||||||||
      (Placeholders.)

      (label 1:)
   }{ (Read a character, write, automatically die on EOF.)
    * (Set data pointer back to 42.)
    ^ (Read character, write character, repeat.)
||||| (More placeholders.)
 !||* (Data for jump and data pointer instructions which are used
       elsewhere.)

Esolang(ウィキ)のやつ

このサイトの内容はCC0 public domain declarationで載ってるからここに載せても問題ない感じ

調べてみたけどそこまで載ってなさげだった

Disの仕様としては非公式なんだけどもしデータ用に自由に文字をロードできたらこんな風に書けてたHello, world!プログラム

Disの正統派の者として私からはこんなのDisじゃないとは思いました。それでもなお載せられちゃってるのは載せたままとして。

Hello worldのやつ

`Hello, world!`してくれる
しかも改行もしてくれる

^!|||||||||||||||||||||||||||||||||{!!!||||||||||||||||||||||||||||||||||||||||
||||||||||||||||*_>_*>|_*_>_*_>_*_>_*_>_*_>_*_>_*_>_*_>_*_>_*>__*|_>*__|*|||*__
>*>||*>_|*__>*__>*__>*__>*__>*__>*__>*{_>*>_|*>||*__>*>||*>||*__>*__>*__>*>_|*>
||*__>*__>*__>*__>*__>*__>*{__*>||*>_|*__>*__>*>||*>||*__>*>_|*>||*__>*__>*__>*
__>*__>*__>*__>*{{>*>||*>_|*__>*__>*__>*__>*__>*__>*__>*__>*__>*{_>*>_|*>||*__>
*>_|*>||*__>*__>*__>*__>*__>*__>*__>*__>*__>*{_>*>||*>_|*>|>*>||*>_|*__>*__>*__
>*__>*__>*__>*__>*__>*{_>*>|_*>||*>_|*__>*>||*>_|*__>*__>*>_|*>||*__>*__>*__>*_
_>*__>*__>*{__*>||*>_|*__>*>_|*>||*__>*>|_*>||*>_|*__>*__>*__>*__>*__>*__>*__>*
__>*{_>*>|_*>||*>||*__>*__>*__>*__>*__>*__>*__>*__>*__>*{_>*>|_*>||*>_|*__>*__>
*__>*__>*__>*__>*__>*__>*__>*{_>*__|*>__|*>__|*__|*__>*__>*__>*__>*__>*__>*__>*
__>*__>*>_|*>||*{_>*__|*>__|*>__|*{_|*__>*>||*>||*{!

見た感じ95番地以降をコード、34番地からの3つをデータ、37番地を34番地へのリターン用のやつにしてるっぽい
しかも全842文字ってすっげえなおい

Code Golf Stack Exchangeのやつ

このサイトに載せたやつは、投稿した時期によってCC-BY-SA 2.5だったり3.0だったり4.0でライセンスされるっぽい

一見するとヘロワに見えないけどヘロワするやつ

これ2011年12月6日のやつでCGCCにおけるDisのやつはこの投稿が初
そして私がアカウント作るまでそれ以外の投稿ないっぽい

私が前のアカウントで上げてからのやつ

私が2021年6月21日に上げるまで誰もDisで回答してなかったっぽい

出力なしの無限ループのやつ

Truth-machineのやつ
自信作

制約がトリプルスリーなやつ

たった2文字でcatするやつ

無限出力のやつ

`{`なしで`{`を出力するケイドロのやつ
スマホで作るの大変だった記憶あり

絶対正しいプログラムに入らない部分文字列のやつ

ダブルスピーク

前のアカウントで投稿したのこの2021年8月21日のやつが最後っぽい

今のアカウントからのやつ

逆から実行したら逆から実行してるってことがわかるやつ

奇数文字目を除去して偶数文字目を二倍にするやつ

素数判定のやつ
今日投稿した

まとめ:もっと制御フローに満ち溢れたDisプログラムを作っていきたい

こんな感じで纏めてみた

今迄めっちゃシンプルな問題への解答に特化しまくりすぎてもーちょい複雑なやつとかやれてなさげ

だからこそもーちょいCGCCでなんか頑張っていきたい

今例えばこういう、COBOLのコメントをなくしてく問題に取り掛かってる



この記事が気に入ったらサポートをしてみませんか?