Skip to content

Latest commit

 

History

History

ocaml

OCaml 🐫

OCaml은 Inria 연구소에서 오랫동안 개발중인 강력한 ML게열 범용 프로그래밍 언어입니다.

OCaml: The rehabilitation clinic for OO programmers.

-- OCaml Workshop 2021 Keynote - Xavier Leroy: 25 years of OCaml

학술적인 언어 중에서도 실용적인 언어로 손꼽히는 몇 안되는 언어로, 컴파일러, OS 같은 시스템 프로그래밍이나 안정적인 웹서버를 개발하는데 주로 사용됩니다.

OCaml의 강력한 타입 시스템과 모듈시스템, 패턴매칭 등의 기능은 F#, Scala, Rust 같은 다른 현대적인 언어들에 많은 직접적인 영향을 준것으로 알려져있습니다.

Setup

OCaml의 공식 패키지 매니저인 OPAM을 먼저 설치합니다.

# Homebrew
brew install opam

# asdf
asdf plugin add opam
## Check latest version via `asdf list all opam`
asdf install opam <version>
asdf global opam <version>

이 프로젝트는 OCaml 프로젝트용 빌드 시스템인 dune을 사용합니다. dune이 설치되어 있는 경우 바로 빌드해볼 수 있습니다.

dune build @install

하지만 OCaml 프로젝트는 버전 호환성에 다소 민감한 편입니다.

다행히 OPAM Switch 기능을 활용해서 프로젝트를 자체적으로 샌드박싱 할 수 있습니다.

make switch

Run tests

make test

Run solution

# make 먼저 실행
./_build/install/default/bin/aoc -d 1 -p 1 < input.txt