Skip to content

Standard ML

Yongku cho edited this page Dec 29, 2019 · 24 revisions

소개

Standard ML(SML; "Standard Meta Language")

Standard ML는 모듈식, 함수형 프로그래밍 언어이고, 컴파일 타임에 타입 체크와 타입 유추를 한다.

모듈식 프로그래밍

https://en.wikipedia.org/wiki/Modular_programming

모듈식 프로그래밍은 프로그램 기능을 독립적이고 상호 교환 가능한 모듈로 분리하는 것을 강조하는 소프트웨어 설계 기법이다. 각 모듈에는 원하는 기능의 한 측면만 실행하는 데 필요한 모든 것이 포함된다.

개발 환경 설치

Step 1. 인스톨러 패키지 다운로드

  1. Standard ML of New Jersey에 접속한다.
  2. Downloads 링크를 클릭한다.
  3. Software Links 링크를 클릭한다.
  4. PC의 OS에 맞게 패키지를 설치한다.

Step 2. Mac OS 환경변수 추가

패키지가 설치되면 /usr/local/smlnj로 설치된다. 해당 폴더에 있는 bin 폴더를 환경변수에 추가한다.

  1. 터미널에서 환경변수를 추가한다.
$ vi ~/.bash_profile
  1. 환경변수 추가 후 sml 명령어로 확인한다.
$ sml
Standard ML of New Jersey (64-bit) v110.96 [built: Fri Dec 13 14:59:34 2019]
-
  1. Control-D 단축키로 종료한다.
$ sml
Standard ML of New Jersey (64-bit) v110.96 [built: Fri Dec 13 14:59:34 2019]
- ^D
$

개발 환경 사용 방법

http://www.smlnj.org/doc/interact.html

문법

:: operator

단일 값을 리스트 첫번째에 추가한다. Lisp에서는 the cons operator로 불린다.

val numbers = [1, 2, 3]
var more_numbers = 4 :: numbers (* [1, 2, 3, 4] *)
cons operator

https://en.m.wikipedia.org/wiki/Cons

두 인자를 병합하여 리스트로 만든다. 인자는 값이나 포인터가 될 수 있다.

NIL

Not In List의 약자로 List 자료구조의 빈 상태를 나타낸다.

raise

예외 발생시 처리될 값을 정의한다.

참고자료

Clone this wiki locally