0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WindowsでOCamlを使う方法

Posted at

インストール環境

OS Windows 11 Home 23H2
コマンドライン シェル PowerShell

Visual Studio Build Toolsのインストール

プログラムのビルドを行えるようにするためのもの。

winget install Microsoft.VisualStudio.2019.BuildTools --override "--wait --passive --installPath C:\VS --addProductLang En-us --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"

スクリーンショット 2024-04-11 200624.png

Gitのインストール

winget install Git.Git

ソース管理システムのこと。すでにインストールされている人は当然スキップ。

DkMLのインストール

Windows環境下でOCamlをインストールするためのインストーラー。
OCaml公式ドキュメントでは、別に新しくターミナルを起動したうえでインストールを実行することを推奨している。

dkml init --system

スクリーンショット 2024-04-11 212622.png

OPAMの初期化

先ほどDkMLをインストールしたことでOPAMというOCamlのパッケージマネージャーをインストールすることができた。
今度はそのOPAMを以下のコマンドで初期設定する。

opam init --disable-sandboxing --bare --switch=playground --shell=pwsh  -a

OCamlの実行

以下のコマンドを入力することで、OCamlの対話環境に入ることができる。

ocaml

スクリーンショット 2024-04-11 221301.png

以下が実行例

スクリーンショット 2024-04-11 232522.png

OCamlの開発で使えるツールのインストール

以下のツールをインストールすることで、より高度な開発環境を構築することができる。

UTop: モダンな対話型システム (REPL: Read-Eval-Print Loop)
Dune:高速かつ高機能ビルドシステム
ocaml-lsp-server:言語サーバプロトコルを実装し、VS Code, Vim, Emacs などのエディタで OCaml をサポートするもの。
odoc:OCaml コードからドキュメントを生成するもの。
OCamlFormat:OCamlコードを自動的にフォーマットするもの。

https://ocaml.org/docs/installing-ocaml より引用(筆者が翻訳済)

opam install ocaml-lsp-server odoc ocamlformat utop

インストール完了まで筆者の環境ではかなり時間がかかった。

VSCodeでOCamlを扱う

VSCodeのOCaml Platformという拡張機能をインストールすることで、VSCodeをOCamlのエディターとして使うことができる。
なおこの拡張機能を使うには、先程紹介したocaml-lsp-serverとOCamlFormatが必要になる点は注意である。
この2点は以下のコマンドでインストールできる。

opam install ocaml-lsp-server ocamlformat 

image.png

最後に

いかがだっただろうか。
OCamlという比較的かなりマイナーな言語な上に、Windowsでの導入方法が記載された記事はなかなか出てこなかったので、今回取り上げさせてもらった。
筆者の大学やその他いくつかの大学ではOCamlを授業内で取り扱っているようなので、Windows民でどうしてもローカル環境で動かしたい、WSLなどを使わずに直接Windows環境で動かしたいなどといった方々にとって、少しでも有益な記事になっていることを願う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?