Hurl、例外的な言語
概要
- Hurlは、例外処理を唯一の制御フローとして使う言語を探究するために作られた言語。
- この言語は、Nicole Tietz-Sokolskaya と Recurse Center の友人たちとの会話から始まった。
- このサイトでは、Hurl の使用に関するドキュメント、サンプル、デバッグガイド、FAQ を提供している。
インストールと使い方
- Hurl のソースコードは Hurl のリポジトリで提供されている。
- バグや不具合を見つけた場合、メールでのパッチ提出は歓迎されるが、パッチに関するすべての権利を譲渡する必要がある。
- これは再ライセンスおよび商用ライセンスを維持するため。
Hurl の文法と哲学
- Hurl は例外処理を中心に据えた言語。
- 制御フローは例外処理だけで実装される。
一般的なパターン
- 例外処理を通じて制御フローを管理する。
- 従来の制御構造(例: if、for)は使わない。
標準ライブラリ
- Hurl は標準ライブラリを提供する。
- 例外処理を基盤にしたさまざまな機能を含む。
サンプル
- さまざまなサンプルコードが提供されている。
- サンプルコードを通じて Hurl の使い方を簡単に理解できる。
デバッグとエラー
- デバッグガイドが提供されている。
- エラーを効果的に処理する方法を説明している。
FAQ
- よくある質問への回答を提供している。
- Hurl の利用時に発生しうる一般的な問題を扱っている。
Hurl への賛辞
- Erika Rowland: 「この怪物は美しいし、絶対に触りたくない。自分の名前がこれと結び付けられるのは望まない。」
- Nicole Tietz-Sokolskaya: 「この言語を現実のものにすると決めた。ごめんなさい。」
- Mary McGrath: 「🤮」 (引用として使える?)
- nate (@nmoo@mas.to): 「認定済みの異常™!」
ソースコード
- Hurl とこのサイトのソースコードは Hurl のリポジトリで提供されている。
- メールでのパッチ提出は歓迎されるが、すべての権利を譲渡する必要がある。
ライセンス
- このプロジェクトは次の3つのライセンスのいずれかで利用可能:
- AGPL-3.0
- GAL-1.0 (Gay Agenda License)
- 商用ライセンス
- 3つのライセンスのうち1つを選んで利用できる。
GN⁺の意見
- 例外処理中心の言語: Hurl は例外処理を制御フローの中心に据え、従来の制御構造を置き換える独特なアプローチを取っている。これは開発者に新しい考え方を求める。
- 教育的価値: Hurl は例外処理の重要性と活用方法を深く理解する助けになる可能性がある。特に、例外処理を誤用した場合の問題点を明確に示している。
- 実用性の問題: 実務で Hurl を使うのは挑戦的かもしれない。従来の制御構造に慣れた開発者にとっては大きな障壁になりうる。
- コミュニティとの協力: Hurl のソースコードはオープンソースとして提供されており、コミュニティの参加を促している。これはプロジェクトの発展とバグ修正に前向きな影響を与える可能性がある。
- ライセンスの選択: 複数のライセンスを提供することで、ユーザーの選択肢を広げている。これはプロジェクトの柔軟性向上に寄与する。
1件のコメント
Hacker Newsの意見
Hacker News コメントまとめ要約
プログラミング言語設計では、名前空間とインポートを強制することが重要
例外処理に関する意見
tossの使用例tossは、関数から複数の値を返すときに主に使われる。Hurl言語と条件システム
.wtfドメイン拡張子の使用.wtfドメイン拡張子を使えば、世界はよりよくなる気がする。代数的効果に似た言語
Hurl言語に対する複雑な感情
tossとhurlの違いhurlは捕捉できるが、tossは捕捉できない。tosserと呼ばれるのではないかと心配になる。tossの言語構造tossは、例外ハンドラーを見つけるためにスタックを探索し、何事もなかったかのように実行を再開する。tossは「tossハンドラー」を使う。