タグ

ブックマーク / blog.miz-ar.info (4)

  • 「型システム入門」の先へ:TypeScriptの型システムのいくつかの側面 | 雑記帳

    この記事は TypeScript Advent Calendar 2023 の8日目の記事です。言語実装勢にも役立つ内容を含んでいるかもしれないので、 言語実装 Advent Calendar 2023 にも登録しています。 TypeScriptで型システムに興味を持った人が「型システム入門」を読んだという話を時々聞きます。「型システム入門」は、Types and Programming Languages (TAPL) というの邦訳で、型システムに興味を持った人が読むのは自然なことです。 型システム入門 プログラミング言語と型の理論 | Ohmsha 型システム入門 サポートページ ですが、このの原著は2002年出版で、最近の話題がカバーされていなかったり、邦題に「入門」とあるように発展的な話題は扱っていなかったりします。一応続編的な感じのAdvanced Topics in Typ

  • トンデモに対する防衛術 | 雑記帳

    いわゆるトンデモに関して私が思うことを何点か書いておく。 何を問題にしているか ここで問題にするのは、例えば以下のような表現物である: 初心者にとって有害である。つまり、間違った理解を植え付ける。 誤りを修正したら何も残らない。 すべきではない対処 まず、作者に突撃して撤回させるのはあまり現実的ではない。指摘を受け入れて撤回するなら良いが、「自分の表現物が無意味あるいは有害だった」ことを受け入れられる表現者がどのくらいいるだろうか?あるいは、SNS上でバトルに発展した場合不毛な時間を費やすことになる。 第二に、作者に対する人格攻撃や侮辱的な表現は行うべきではない。具体的に言うと、2021年にプログラミング界隈を騒がせた件(「関数型プログラミングが『銀の弾丸』であるという非常識な常識2022」の感想の言及先)の作者を「漢字1文字+ひらがな1文字+漢字1文字」で呼んだはてなブックマークユーザー

  • Pythonについて思うこと | 雑記帳

    みなさん、Pythonは好きですか? この記事では、私がPythonという言語とそのエコシステムについて思うところを書いていきます。全体を通したストーリーみたいなのはなくて、トピックごとに書いています。 私のPython経験は3年弱です。Pythonについてまだまだ新米だという自覚はありますが、そこは有り余る才能でカバーしてこの記事を書いています。 静的型 Pythonには静的型がありません。型ヒントはありますが、インタープリターにとっては飾りにすぎません。 mypyとかの型チェッカーはありますが、「それさえあれば万事ハッピー」なものではなく、既存のコードを適宜書き換えないと型チェッカーでまともな結果を得るのは難しそうです。型検査を念頭に書かれていない(型ヒント付きの)コードをそのままmypyにかけても大量のエラー・警告が出てくるでしょう(ちなみに、型ヒントなしの関数はmypyのデフォルト

  • 執筆中:「Haskellでの型レベルプログラミング」 | 雑記帳

    最近、「Haskellでの型レベルプログラミング」という「」を執筆している。まだ完成ではないが、以下のリンクから読める: Haskellでの型レベルプログラミング なぜHaskellか 最近いろんな言語が出てきている中で、Haskellの強みとは何だろうか。人によって答えは色々あるだろうが、筆者にとってHaskellの魅力的な側面は強力な型システムである。どのくらい強力かというと、型レベルでプログラミングができ、依存型の模倣さえもできてしまう。 (依存型をやりたいなら最初から依存型のある言語を使えという意見は尤もだが、それはそれとして。) Haskellでの型レベルプログラミングの解説記事というのは、英語圏ではちらほら見かけるが、日語圏ではあまり見ない。2018年(原文は2017年)に公開された Haskellにおける型レベルプログラミングの基(翻訳) – Qiita が数少ない例で

  • 1