Interpreters for an Imperative Language Using State Monad
Sugwoo Byun
Abstract
Sugwoo Byun
Abstract
본 연구에서는 명령형 언어의 동작 의미론과 명시적 의미론을 순수 함수형 언어 Haskell을 이용하여 인터프리터로 구현하는 과정을 논의한다. Haskell을 이용함으로써 의미론의 구현을 간결하고 직접적으로 코딩할 수 있음을 보인다. 또한 동작 의미론의 상태 변환을 상태 모나드 기법을 적용하여 구현되는 기법을 다룬다. 상태 모나드는 핵심적 모나드로서, 상태 모나드를 이해하는 것은 유사한 구조를 가지고 있는 입출력 모나드나 파서 모나드 등의 다른 모나드를 이해하는 데 도움을 줄 수 있다. 본 연구의 목적은 추상적이고 이론적인 프로그래밍 언어의 의미론을 모나드로 구현함으로써 이 두 분야의 이해도와 접근성을 용이하게 하는 데 있다. 다양한 구현 방법과 이들의 비교는 이 목적 달성을 위한 효과적 방법이라고 보여진다.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
본 연구에서는 명령형 언어의 동작 의미론과 명시적 의미론을 순수 함수형 언어 Haskell을 이용하여 인터프리터로 구현하는 과정을 논의한다. Haskell을 이용함으로써 의미론의 구현을 간결하고 직접적으로 코딩할 수 있음을 보인다. 또한 동작 의미론의 상태 변환을 상태 모나드 기법을 적용하여 구현되는 기법을 다룬다. 상태 모나드는 핵심적 모나드로서, 상태 모나드를 이해하는 것은 유사한 구조를 가지고 있는 입출력 모나드나 파서 모나드 등의 다른 모나드를 이해하는 데 도움을 줄 수 있다. 본 연구의 목적은 추상적이고 이론적인 프로그래밍 언어의 의미론을 모나드로 구현함으로써 이 두 분야의 이해도와 접근성을 용이하게 하는 데 있다. 다양한 구현 방법과 이들의 비교는 이 목적 달성을 위한 효과적 방법이라고 보여진다.
Key concepts: Haskell, Monad (category theory), Programming language, Interpreter, Computer science, Functional programming, State (computer science), Mathematics