タグ

ブックマーク / zenn.dev/mtshiba (2)

  • Language Server Protocol の仕様 及び実装方法

    Language Server Protocol通称LSPの仕様と、各機能をどうやって実装したら良いかの指針を示します。 対象読者 * 言語処理系を実装する人/したい人 * Language Serverを実装する/したい人 * LSPに興味がある人、日語のまとまった情報源を探している人 * Language Serverがエディタの裏でどのようなことをしているのか気になる人 書で解説される機能は以下の通りです。 * Diagnostics (検査) * Completion (補完) * Inlay hint * Hover * Goto definition (定義へ移動) * Find references (参照を表示/移動) * Rename (名前変更) * Code actions * Code lens * Signature help * Command * Docu

    Language Server Protocol の仕様 及び実装方法
    repon
    repon 2023/10/02
  • Python互換の静的型付け言語「Erg」

    承前 Ergは私が数年前から開発を始め、つい一昨日公開したばかりのプログラミング言語です。 のはずですが、 早速、qnighyさんに捕捉していただきました。ありがとうございます。 この記事ではそのErgがどのような言語なのかざっくりと解説していきたいと思います。なお、紹介した機能の一部は未実装です。実装途中の機能を含むコードには*を、完全に未実装の機能を含むコードには**をつけておきます。 はじめに Pythonは概ね素晴らしい言語です。 オフサイドルールを世に知らしめた(?)、その可読性の高い文法。Numpy, SciPyを始めとする機械学習、科学技術計算用の膨大なライブラリ。 しかしPythonにもいくつかの弱点が存在します。 まず、動的型付け であること。それ自体は弱点というより良し悪しなのですが、明らかに動的型付けでは手に余るPythonプロジェクトが世に溢れています。 次に、一貫

    Python互換の静的型付け言語「Erg」
    repon
    repon 2022/08/13
  • 1