카테고리 없음
[Ocaml] Ocaml 들어가기
우당탕탕코딩일기
2024. 3. 8. 11:10
OCaml 은 ML family 에 속하는 프로그래밍 언어이다.
ML 이란, 범용 프로그래밍 언어의 일종으로 안전한 타입 시스템이 특징이다.
OCaml 특징
- 함수형 프로그래밍 언어이다.
- 함수가 일등시민 !
- Strongly typed 언어이다.
- 모든 변수 및 표현식의 타입이 컴파일 시점에 결정됨.
- Type inference
- 타입은 있는데 타입을 우리가 쓸 필요없다. 컴파일러(타입 시스템)가 자동으로 표현식의 타입을 추론해줌.
- Polymorphism 지원
- 데이터 구조 및 알고리즘 일반적으로 구현된다.
- Pattern mathching
- Case 분석 지원
- 모듈 시스템
- 프로그램을 여러 모듈로 나누어 구현
- Ocaml 은 Caml 에 OOP 개념 추가하여 확장한 것.
OCaml 장점
- 함수형 언어라 간결함(깔끔함)
- C++, Java 에서의 람다식 도입
- 함수형 언어쓰면 알아보기 쉽다(명시적)
- Ocaml 은 함수형 언어의 대표격이다.
기타 특징들
Ocaml 은 확장자로 .ml 을 쓴다.
Ocaml 은 main 함수가 없다. (like python)
- c, java, c++ 은 main 있으나 ocaml 은 python 처럼 없음
Ocaml의 컴파일러는 ocamlc
- C/C++(gcc,clang),Java(javac)
Ocaml의 빌드 시스템은 dune
- C/C++(Bazel,CMake),Java(Maven,Gradle,Ant)
Ocaml 은 타입을 값의 집합으로 이해한다
타입을 값의 집합으로 이해함.
3 → int ( 3이라는 녀석이 int 라는 집합의 원소이다.)
변수 x → char (x 에 넣는 것, 혹은 x 에서 뺐을 때 그것은 char 집합의 원소임)
1+2 → int (1+2 계산 결과가 int 의 원소이기 때문에 int)
함수의 리턴타입 → void (함수의 반환 값이 공집합인 void 의 원소이다)
728x90