LSPRubyの静的型チェッカー、「Sorbet」がオープンソース化された。LSPも実装されており、これだけRubyもシェアがあるので、覇権を握れるのでは。手元にちょうど良いRailsプロジェクトが合ったため、導入してみた。Started通りに進めていく。initをするぐらいで一瞬で終わった。falseと書いてあるため、型チェックはされない。trueに変更してみると、例えばRailsのControllerなどでは大量にエラーが出るはず。これは、Railsが実行時にroutingなど動的に様々なシンボルを生成しているためで、このままだと使い物にならない...。Rails対応sorbet-railsというRails向けsorbetの型定義生成ツールがある。これを入れれば一通り開発ができるようになる。level(ファイルの先頭にあるtyped)を上げてくれる。trueとなり、型チェックが通るようになる。LSP導入せっかく静的型付けができるようになったので、LSPによる定義へジャンプや補完、型チェックを使いたい。LSP導入の方法は色々調べたがドキュメントが全くなく、自己流で導入した。(おそらく今後この辺のドキュメントも揃ってくると思う)まずは、公式レポジトリをクローンする。https://github.com/sorbet/sorbet次に、README通りにbazelや必要なライブラリのインストールを行う。macユーザで今までC++で開発をしたことがないユーザは、以下のコマンドも必要かもしれない。/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg準備ができたら、bazelでビルドを行う。この時、プロダクションビルドのオプションを指定する。いうバイナリができ上がる。このバイナリを以下のようなオプションをつけて、プロジェクトのルートで実行するとLSPとして待ち受けるようになる。.(--no-configを設定しているが、これは簡単のためであり、本来はプロジェクトごとの設定ファイル(sorbet/config)を読み込むべき)これをvimやVSCodeに設定すれば、補完や定義へジャンプが有効になり、快適なsorbetライフが送れるようになる。昨日書いた、Lisp学習日誌1の問題は解決した...2015-08-23Ghostをapache上に設置+αかっこいいGhostはかっこいいnode.jsを使っている。<p>wait0000さんは、はてなブログを使っています。<p>引用をストックできませんでした。<p>限定公開記事のため引用できません。