Jihyeok's Blog OCaml 작동시키기 (Up and Running with OCaml)
Jihyeok's Blog
Cancel

OCaml 작동시키기 (Up and Running with OCaml)

이 문서는 원문 내용을 기반으로 작성자의 보충설명이 추가되어 있습니다.

이 글에서는 프로그래밍 언어인 OCaml을 작동시키기 위해서 필요한 일들을 설명하고자 합니다.

설치 (Installing OCaml)

리눅스와 맥OS (For Linux and macOS)

OCaml은 opam이라는 OCaml package manager를 이용해서 설치할 수 있고, 이를 이용해서 third-party 라이브러리도 설치할 수 있습니다. opam은 다음과 같이 맥에서는 brewport를 이용해서, 리눅스에서는 apt-get을 통해서 설치할 수 있습니다.

  • For macOS
1
2
3
4
5
# Homebrew
$ brew install opam

# MacPort
$ port install opam
  • For Linux
1
$ apt-get install opam

더 세부적인 항목은 이 링크에서 확인하길 바랍니다.

그리고 OCaml 컴파일러(compiler)는 다음과 같이 설치할 수 있습니다.

1
2
3
4
5
6
7
# environment setup
$ opam init
$ eval `opam env`

# install given version of the compiler
$ opam switch create 4.11.1
$ eval `opam env`

이 때, 변경된 설정값을 적용하기 위해서 터미널을 재시작하거나 source 명령어를 이용할 필요가 있습니다 (e.g., source ~/.zshrc)

이러한 과정을 통해 설치를 진행하고 나면, 다음과 같이 OCaml을 실행할 수 있습니다.

1
2
3
4
5
$ which ocaml
/Users/frank/.opam/4.11.1/bin/ocaml

$ ocaml -version
The OCaml toplevel, version 4.13.1

윈도우 (For Windows)

윈도우는 현재 공식으로 지원을 하지 않기에 WSL2를 이용해야 합니다.

OCaml의 top level (The OCaml top level)

다음과 같이 ocaml 명령어를 바로 사용하면 매우 불친절한 형태의 top-level, 혹은 다른 표현으로는 Read-eval-print loop (REPL)가 실행됩니다.

1
2
$ ocaml
       OCaml version 4.13.1
1
2
3
# 1 + 2 * 3;;
- : int = 7
# exit 0;;

그렇기에, 더 나은 top level 실행 환경을 위해서는 다음과 같이 utop을 사용하는 것이 좋습니다.

1
2
$ opam install utop
$ utop

빌드 시스템 설치 (Installing the Dune build system)

Dune은 OCaml의 빌드 시스템으로 OCaml 컴파일 과정의 매우 낮은 단계까지도 담당합니다.

1
$ opam install dune

첫 프로젝트 (A first project)

이제 dune으로 한번 새로운 프로젝트를 만들어 봅시다.

1
2
3
4
$ mkdir tutorial
$ cd tutorial/
$ dune init proj helloworld
$ cd helloworld

그리고 다음과 같이 빌드를,

1
$ dune build

테스트를,

1
$ dune test

그리고 실행을 할 수 있습니다.

1
$ dune exec helloworld

이 때, 실제 실행파일은 _build/default/bin/main.exe에 위치합니다.

에디터 지원 (Editor support for OCaml)

OCaml은 Visual Studio Code와 같이 Language Server Protocol (LSP)를 제공하는 에디터(editor)를 위해 OCaml 서버(server) 또한 제공합니다.

1
$ opam install ocaml-lsp-server

Vim을 위해서는, Merlin 시스템을 설치해서 사용할 수도 있습니다.

1
$ opam install merlin
This post is licensed under CC BY 4.0 by the author.
Trending Tags