• 제목/요약/키워드: 모나드

검색결과 15건 처리시간 0.026초

모나드를 이용한 어셈블리 언어 인터프리터 개발 (Development of an Assembly Language Interpreter Using Monad)

  • 변석우
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제37권5호
    • /
    • pp.403-410
    • /
    • 2010
  • 하스켈의 모나드는 순수 함수형 프로그래밍뿐만 아니라 명령형 형태의 프로그래밍도 가능케 하고 있다. 본 연구에서는 순수 함수형 프로그래밍 방식으로 코딩된 어셈블리 언어 인터프리터 구현을 모나드 방식으로 재 구성함으로써 모나드 추상화와 프로그래밍 기법의 특성을 부각시킨다. 모나드 프로그래밍은 스택과 심볼 테이블에 상태 모나드를 적용하는 것과, 이 모나드들을 상태 모나드 트랜스포머를 이용하여 통합 구성하는 두 단계로 이루어진다. 결과적으로, 모나드 프로그래밍에 의한 코드는 순수 함수형 스타일의 코드보다 훨씬 더 간결하고 직관적임을 볼 수 있다.

모나드를 이용한 비결정적 컴파일러 구현 (Implementation of Nondeterministic Compiler Using Monad)

  • 변석우
    • 한국컴퓨터정보학회논문지
    • /
    • 제19권2호
    • /
    • pp.151-159
    • /
    • 2014
  • 본 연구에서는 Haskell의 모나드 기법을 이용한 명령형 언어의 컴파일러 구현에 대해 논의한다. 이 컴파일러는 한 생성 룰이 입력 스트링의 파싱을 실패할 때 다른 생성 룰로써 파싱하는 backtracking 기능의 비 결정적 Recursive Descent Parser를 포함한다. Haskell은 파싱에 필요한 우수한 기능들을 가지고 있다. Haskell의 대수적 타입은 추상구문트리를 자연스럽게 표현할 수 있으며, 모나드 파싱을 적용한 프로그램 코드는 매우 간결하여 가독성이 좋고, 타 언어에 의해 구현된 것에 비해 코드의 양이 획기적으로 감소된다. 이 컴파일러의 목적 코드는 스택 머신을 기반으로 한 Stack-Assembly 언어로서 이것을 위한 코드 생성과 어셈블러 실행 환경에 대해서도 논의한다.

함수형 모나드 프로그래밍 (Functional Monadic Programming)

  • 변석우
    • 한국정보통신학회논문지
    • /
    • 제5권1호
    • /
    • pp.192-201
    • /
    • 2001
  • 순수 함수형 언어의 선언적 특성과 지인 계산의 특성을- 유지하면서 side-effect, 입출력, 예외처리, 비절정성 등을 프로그래밍 하는 것은 순수 함수형 프로그래밍 연구의 오랜 숙제였다. 1989년에 개발된 모나드 프로그래밍 기법은 이 문제를 해결할 수 있는 가능성을 제시하고 있다. 본 고에서는 함수형 모나드 프로그래밍의 기본원리와 순수 함수형 언어 Haskell을 이용한 여러 응용 프로그래밍 기법에 대해서 소개한다.

  • PDF

Feasibility Study Of Functional Programming In Scala Language By Implementing An Interpreter

  • Sugwoo, Byun
    • 한국컴퓨터정보학회논문지
    • /
    • 제28권2호
    • /
    • pp.111-119
    • /
    • 2023
  • 본 논문에서는 스칼라 언어의 함수형 프로그래밍 기능의 타당성에 대해서 검토한다. 주된 관심사는 스칼라가 어느 정도까지 람다 식, 고차 함수, 제너릭 타입, 대수적 타입, 모나드 등 함수형 프로그래밍의 주요 특성을 표현할 수 있는 가에 있다. 이 목적을 위하여 명령형 프로그래밍 언어의 인터프리터를 구현한다. 동일한 함수형 프로그래밍 기법을 적용하여 인터프리터를 하스켈과 스칼라로 구현한 다음, 이 두 버전의 구현을 비교 분석한다. 명령형 프로그래밍 언어의 추상 구문트리는 스칼라의 제너릭스를 갖는 대수적 타입과 enum 클래스로서 표현되고, 명령형 프로그래밍의 상태 변환은 상태 모나드를 이용하여 구현된다. 또한 스칼라의 새로운 기능인 extension과 given도 사용된다.

라이프니츠에서 물체적 실체의 문제 (2): 물체적 실체는 하나의 실체인가? (The problem of corporial substance by Leibniz (2): Is the corporial substance a substance?)

  • 윤선구
    • 철학연구
    • /
    • 제94호
    • /
    • pp.53-87
    • /
    • 2011
  • 모나드를 근본적인 실체로 삼고 있는 라이프니츠는 동시에 모나드들로 구성된 물체적 실체를 또 '하나의 실체'라고 부르고 그것이 그 자체로의 단일성을 가짐을 증명하고자 한다. 그러나 라이프니츠의 이러한 입장은 모나드론과 모순되어 보이기 때문에 많은 연구자들은 물체적 실체가 하나의 실체라는 라이프니츠의 주장을 단순히 무시하거나, 중기 실체론에서 일시적으로 주장하다가 철회한 것으로 간주하기도 한다. 본 논문은 라이프니츠가 물체적 실체가 하나의 실체라는 주장을 중간에 일시적으로 유보하고 있기는 하지만 생애 말기까지 계속해서 주장한다는 것을 보이고, 또 물체적 실체가 진정한 단일성을 갖는다는 주장을 입증하기 위하여 실체적 형상 및 실체적 연결 끈 등의 개념을 사용하고 있지만, 실체적 연결 끈은 라이프니츠가 생애 말기까지 견지했던 입장임에도 불구하고 그의 체계와 조화될 수 없으며, 그러나 물체적 실체가 그 자체로의 단일성을 갖는다는 사실을 설명하기 위해서는 실체적 형상과 예정조화설만으로도 충분함을 보이고, 그럼에도 불구하고 물체적 실체가 하나의 실체라는 주장은 모나드가 하나의 실체라는 주장과 조화될 수 없으며, 물체적 실체가 하나의 실체라는 주장만 포기하면 물체적 실체에 관한 이론은 라이프니츠의 범유기체론의 토대가 됨을 밝힌다.

애로우를 이용한 오류 처리 기법 (Error Handling Technique Using Arrows)

  • 이동주;지정훈;장한일;우균
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2006년도 한국컴퓨터종합학술대회 논문집 Vol.33 No.1 (B)
    • /
    • pp.397-399
    • /
    • 2006
  • 모나드의 일반화 버전인 애로우(Arrow)는 모나드에 비해 효율적이며, 프로그램 합성을 위한 직관적인 인터페이스를 제공한다. 여러 프로그램을 합성할 때 합성된 전체 프로그램의 오류 처리는 매우 중요한 문제이다. 각각의 프로그램에서 오류 처리를 일일이 기술하는 것은 매우 번거로우며 비효율적인 작업이기 때문이다. 본 논문에서는 애로우 인터페이스를 이용하는 프로그램을 합성할 때 효율적으로 오류를 처리하기 위한 방법을 제시한다. 모든 애로우 타입에 대하여 오류를 처리하기 위해 새로운 애로우를 정의하며 이를 프로그램 합성 단위로 이용하여 전체적인 프로그램의 오류를 처리한다. 또한 애로우를 이용한 타입 검사 프로그램을 통하여, 논문에서 제시한 오류 처리 기법을 적용하여 효율성을 평가한다.

  • PDF

Haskell Eval 모나드와 Cloud Haskell 간의 성능 비교 (Performance Comparison between Haskell Eval Monad and Cloud Haskell)

  • 김연어;안형준;변석우;우균
    • 정보과학회 논문지
    • /
    • 제44권8호
    • /
    • pp.791-802
    • /
    • 2017
  • 최근 CPU 시장은 단일 코어의 속도 상승에서 코어의 수를 늘려가는 방향으로 변하고 있다. 이러한 상황에서 매니코어 프로세서의 자원을 최대한 사용할 수 있는 병렬 프로그래밍에 관한 관심이 높아지고 있다. 이 논문에서는 병렬 프로그래밍에 적합한 Haskell을 이용하여 매니코어 환경에 적합한 병렬 프로그래밍 모델을 확인하고자 한다. 이를 위해 이 논문에서는 Eval 모나드와 Cloud Haskell을 이용하여 표절 검사 병렬 프로그램과 K-평균 병렬 프로그램을 개발하였다. 그리고 개발된 프로그램을 대상으로 32코어 환경, 120코어 환경에서 성능을 측정하였다. 측정 결과 적은 코어 수에서는 Eval 모나드가 유리한 것으로 나타났다. 하지만 코어 수가 늘어남에 따라 Cloud Haskell이 실행 시간 기준으로 37%, 확장성 기준으로 134% 더 우수한 것으로 나타났다.

바로크 건축과 미술에 표현된 공간의 심연성 연구 - 라이프니츠의 모나드론의 중심으로 - (A Study on Spatial Abyss Expressed in Baroque Architecture and Art - Focus on the Monade Theory of Gottfried Leibniz -)

  • 한명식
    • 한국실내디자인학회논문집
    • /
    • 제21권1호
    • /
    • pp.59-67
    • /
    • 2012
  • Eugenio D'Ors, the writer of 'Lo Barroco' called Baroque in the 17th century as the ultimate nostalgia of humanity we can see anywhere, and when our exclusive mental state, classic consciousness, is weakened, countless things within self get to be expressed without limitation. He defines this as Baroque ego. In other words, the abyss of a being is expressed within self, and it gets to come into the abyss of art and be settled in it. Thereupon, this study focuses on the characteristics of such effects of abyss expressed in Baroque art to amplify the depth of space in art and architecture and also its productive effects and considers in what types the abyss gets to be expressed in art and architecture. As a result, it shows nonlinear characteristics whose outline of the model and structural body is invisible, depth resulted from overlapping, unity from formal repetition, and temporal continuity from movement. In other words, formative elements which extend the unit area of space conceptually can be summed up by nonlinearity, overlapping, unity, and movement. Also, in art and architecture, this accelerates men's emotional functions and at the same time, has productive effects to extend space visually. Baroque abyss can be seen as a proper solution to overcome problems which modern architecture implies ultimately, that is, the limitations of area definition.

  • PDF

모나드론 관점에서 본 현대건축공간에 나타나는 펼침의 특성에 관한 연구 - 주름 개념에서 펼침의 관점을 중심으로 - (A study on the characteristics of unfolding in comtemporary architecture space from Monadological perspective - Based on the unfolding in the concept of Fold -)

  • 정원욱;김개천
    • 한국실내디자인학회논문집
    • /
    • 제21권4호
    • /
    • pp.68-76
    • /
    • 2012
  • Contemporary architecture has a tendency to concretely approach based on the concept of Deuleuze's 'fold' diversity problems creating continuously potential diversities within Post-structural paradigm. Contemporary architecture relates to human life through its relation with human being. The research investigates through case study the possible relation of the concept of Deulezue's 'fold', one of his concepts of 'unfolding' based on Monadology, with logic of creation that constructs a space in contemporary architectural space. Eight contemporary architectural spaces since 1990 with architectural embodiment of Deulezue's 'fold' concept have been selected as cases. Based on the fact that the potential possibility of a space can be embodied by the thinking of 'fold', the research draws four physical activities such as 'properties connection', 'beyond border', 'diversity of circulation' and 'potential opportunity', through which it studies on the principle of actualization of space creation. Consideration of metaphysical theory as a pre-modern and outdated one may lose a huge potentiality. Leibniz's metaphysics can be rediscovered as a model that provides diverse potentiality. The concept of 'fold' in Monadology needs be reconsidered because it possibly suggests a methodology that embodies through the actualization of space the meanings underlain in contemporary architectural space.

  • PDF