Idris Advent Calendar 2020 3日目の記事です。
2020年今年の言語に Idris を選んで年始に Hello, World していたのですが、見事にその後 Python をしていた1年でした(仕事で使うことになったので Python を覚える必要が出てきました)。
完全に Idris は初心者ですが、Idris 楽しんでいきたいと思います!
今回は Mac ユーザー向けに Idris の開発環境構築を紹介します。
- Idris とは
- 環境
- Idris のインストールをする
- VSCode の Extension を入れる
- idringen でプロジェクトを作ってみる
- Hello, World
- VSCode で開いてみる
- Idris の本
Idris とは
だいぶ雑に説明するなら、依存型つき Haskell です。詳しくは2020年 Idris Advent Calendar 1日目の記事をご覧ください。
環境
VSCode 上でコードが書けると安心できますね、ということで VSCode を使用する前提でいます。Idris は REPL が使えるので、それを利用するだけでも Hello, World くらいなら結構簡単にできますが。
Idris のインストールをする
Idris 自体を入れる
2つルートがあります。今回私は Homebrew を使用しました。一方で、公式には cabal によるインストール方法が記載されています。たぶんどちらでもいいと思います。
まず Homebrew から。
$ brew install idris
これが終わった後に、
$ idris --version
しましょう。私の環境では、
❯ idris --version 1.3.3
と返ってきました。Idris は1系と2系があり、2系は開発中なんだそうです。
cabal を入れる
cabal 自体はこのあと必要になるので、別途インストールしておきましょう。
$ brew install cabal-install
これを行ったあとにパスを通す必要があります。.zshrc
などに下記を書き足しましょう。
PATH = "$HOME/.cabal/bin:$PATH"
stack の場合は試したことはないです。
VSCode の Extension を入れる
プラグインのインストール
VSCode のプラグインを入れましょう。Extensions で「Idris」と検索すると出てきます。
この README にしたがって、idringen
というプロジェクトマネジメントツールを入れる必要がありそうです*1。プロジェクトマネジメントツールを入れるのは少々抵抗があるかもしれませんが、初心者の場合そもそも言語的なベストプラクティスも知らないと思うので、入れて勉強しようということで私は入れてみました。
最後のメンテが4年前だけど…
idringen を入れる
cabal を経由して入れます。
$ cabal install idringen
インストール後、下記を叩きます。
$ idrin --help
help コマンドは実装されていないらしい…。メンテのしがいがありそう。
❯ idrin --help idrin: not support subcmd --help yet CallStack (from HasCallStack): error, called at src/Idringen.hs:28:24 in drngn-0.1.0.3-b556eddc:Idringen
idringen でプロジェクトを作ってみる
sandbox プロジェクトを作りましょう。ちなみに、名前に「-
」を入れると生成後エラーになってビルドできません。ご注意を。
new
コマンドでプロジェクトを作成できます。
❯ idrin new sandbox Creating new project named sandbox
Hello, World
ビルドして…
❯ idrin build
実行しましょう。
❯ idrin run hello sandbox!
これで完了です!
VSCode で開いてみる
シンタックスハイライトもしっかりついていて完璧ですね!これで開発をスタートしていきましょう!
(これだけ見ると、めっちゃ Haskell ですね)
Idris の本
『Type-Driven Development with Idris』という本があって、いろいろ詳しく書かれているように思います。
PDF も存在していて、下記です。
12月中に時間があったら、この本からいくつかエクササイズして記事にしてみようかなと思っています。
*1:なんとExtensionの作者が作っています