검색어 입력폼

Standard ML에 대하여

저작시기 2017.02 |등록일 2017.05.04 한글파일한컴오피스 (hwp) | 8페이지 | 가격 2,000원

목차

Ⅰ. 서론

Ⅱ. 본론
1. 개요
2. 코드 예

본문내용

Standard ML ( SML )은 프로그래밍 언어 ML 표준 내지 1 방언이다. The Definition of Standard ML에서 타이핑 규칙과 조작적 의미론을 부여하고 있다. 1990년에 초판이 간행되고 1997년에 단순화 된 개정판이 출간 되었다.

본론
1. 개요
Standard ML은 기본적으로 함수형 언어이다. Standard ML로 작성된 프로그램의 대부분은 값을 계산해야 식으로 구성되어 있다.
다른 함수형 언어와 마찬가지로 Standard ML의 핵심 기능은 함수이며, 이를 통해 추상화를 실시하고 있다. 예를 들어, 계승 함수는 다음과 같이 표현된다.

fun factorial x =
if x = 0 then 1 else x * factorial (x-1)

Standard ML의 컴파일러는 이와 같이 사용자가 완전히 데이터 유형을 지정하지 않은 계정에서 int -> int라는 형식을 정적으로 추론 할 필요가 있다. 즉, x가 정수의 식으로 밖에 사용되지 않기 때문에 자신도 정수라고 추론 함수의 식으로 만들어지는 값도 모두 정수 추론해야 한다.
같은 함수를 "절 함수 정의(clausal function definition)"로 표현 할 수 있다. 이 경우 if - then - else 조건 분기를 '|'로 구분 된 일련의 템플릿으로 대체하고 각 템플릿은 특정 값에 대해 평가된다. 각 템플릿은 순차적으로 시행되어 일치하는 것을 발견하게 된다.

fun factorial 0 = 1
| factorial n = n * factorial (n - 1)

국소 함수를 사용하여 이 함수를 끝 재귀로 고쳐 쓸 수도 있다.

fun factorial x =
let
fun tail_fact p 0 = p
| tail_fact pn = tail_fact (p * n) (n - 1)
in
tail_fact 1 x

참고 자료

없음
다운로드 맨위로