Ocaml

OCaml(Objective Caml)은 ML 언어의 방언인 Caml 프로그래밍 언어의 주요 구현체로서 Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy 등의 사람들이 1996년에 작성하였다. OCaml은 INRIA에서 주도적으로 관리하고 유지하는 오픈 소스 프로젝트이다.

OCaml
Ocaml
패러다임멀티 패러다임: 함수형, 명령형, 객체 지향
설계자Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy, Ascánder Suárez
개발자INRIA
발표일1996년(28년 전)(1996)
최근 버전5.1.1 위키데이터에서 편집하기
최근 버전 출시일2023년 12월 8일 (3개월 전)
자료형 체계inferred, static, strong, structural
구현 언어OCaml, C
플랫폼IA-32, x86-64, 파워, SPARC, ARM 32-64
운영 체제크로스 플랫폼: 유닉스, macOS, 윈도우
라이선스LGPLv2.1
파일 확장자.ml, .mli
웹사이트ocaml.org
영향을 받은 언어
Caml, Standard ML, 파스칼
영향을 준 언어
ATS, Coq, Elm, F#, F*, Haxe, Opa, 리즌, 러스트, 스칼라

OCaml은 Caml 언어의 핵심 부분에 객체 지향 구조를 추가한 것이다.

OCaml의 특징은 정적 타입 시스템, 타입 추론, 파라메트릭 폴리모피즘, 패턴 매칭, 펑터, 예외 처리, 쓰레기 수집 등이다.

Ocaml 도구 모음에는 대화식의 톱 레벨(top level) 인터프리터, 바이트코드 컴파일러, 최적화 컴파일러 등이 포함되어 있다. 또한 많은 표준 라이브러리들이 포함되어 있고 탄탄한 모듈 방식 및 대형 소프트웨어에 적용 가능한 객체 지향 프로그래밍 구조 등을 가지고 있어서, 파이썬이나 과 같은 언어들로 응용 프로그램을 작성해야 하는 경우에 Ocaml도 충분히 유용하게 사용할 수 있다.

Ocaml은 Caml Light를 계승하였다. CAML은 Categorical Abstract Machine Language의 머리글자이지만, Ocaml은 abstract machine(추상 기계) 기능을 삭제하였다.

예제

print_endline "Hello World!" 
  • 피보나치 수 프로그램
let rec fib_aux n a b =   match n with   | 0 -> a   | _ -> fib_aux (n - 1) b (a+b) let fib n = fib_aux n 0 1 
let rec qsort = function    | [] -> []    | pivot :: rest ->        let is_less x = x < pivot in        let left, right = List.partition is_less rest in        qsort left @ [pivot] @ qsort right 

각주

외부 링크

Tags:

🔥 Trending searches on Wiki 한국어:

마루마루6.25 전쟁베릴륨볼츠만 상수아가동산 사건천연두기체 상수비밀의 여자벤조산최소제곱법구글 드라이브임진왜란하나님의교회 세계복음선교협회플러팅위르겐 클린스만루브르 박물관이소라의 프로포즈의 에피소드 목록이혜영 (1971년)지속가능 개발 목표최원석 (기업인)아프리카TV아일랜드김도현 (1977년)피어슨 상관 계수극성 (화학)대한민국 축구 국가대표팀DNA쌍반점마리 앙투아네트김동현 (격투기 선수)크로마토그래피프랑스고양이길랑-바레 증후군물의 증기압멕시코HTMLFIFA 랭킹스타크루이엔티한용운런던SBS 월화 드라마정상위황산러시아-우크라이나 전쟁유상범 (1966년)새마을금고중앙회차준환김을동중화 반응대한민국퀴라소 축구 국가대표팀해왕성정성일 (1980년)구미호뎐 1938동부 전선 (제2차 세계 대전)이마누엘 칸트대한민국의 인구순 성씨 목록류성현 (배우)제주특별자치도쉼표 (문장 부호)어쩌다 마주친, 그대오인혜이민우 (배우)하쿠나 마타타정다은 (아나운서)장현성신예은제주도이미연 (배우)4·19 혁명재생 가능 에너지웅남이백성현유비염소 (원소)잡코리아유월절🡆 More