• 제목/요약/키워드: Monad

검색결과 25건 처리시간 0.021초

모나드를 이용한 어셈블리 언어 인터프리터 개발 (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 언어로서 이것을 위한 코드 생성과 어셈블러 실행 환경에 대해서도 논의한다.

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% 더 우수한 것으로 나타났다.

한국산 노루발과(Pyrolaceae)의 화분분류학적 연구 (Palynotaxonomic Study on the Korean Pyrolaceae)

  • 정규영;남기흠;박명순
    • 한국자원식물학회지
    • /
    • 제20권2호
    • /
    • pp.193-200
    • /
    • 2007
  • 국내 분포하는 것으로 알려진 노루발과 7분류군의 화분에 대하여 분류학적 가치를 파악하기 위하여 광학현미경과 주사전자현미경으로 관찰하였다. 성숙한 화분의 단위(pollen unit)는 Pyrola속의 호노루발[P. dahurica(Andres) Kom.], 분홍노루발[P. incarnata(DC.) Fisch. ex Kom.], 노루발(P. japonica Klenze ex Alefeld), 주걱노루발(P. minor L.), 콩팥노루발(P. renifolia Max.)에서 사립(tetrad), Orthilia속의 새끼노루발[P. secunda(L.) House]에서 단립(monad), Chimaphila속의 매화노루발(C. japonica Miq.)에서 사립들이 엉성하게 모여 다립(polyad)을 형성하였다. 이와 같이 노루발과의 성숙한 화분의 단위는 과내 속을 구분하는 중요한 형질로 판단되었으며, 이를 근거로 새끼노루발의 학명은 Pyrola secunda L.보다는 Orthilia secunda(L.) House가 적합한 것으로 생각되었다. 화분의 크기와 삼공구형(tricolporate)인 발아구의 크기, 표벽 무늬는 분류군 간에 다소 차이를 나타냈으며, 호노루발과 콩팥노루발, 분홍노루발, 주걱노루발의 표면무늬는 기존 보고와 다소 상이하였다. 본 연구에서 취급된 분류군들의 화분은 성숙한 화분의 구성단위가 각기 사립에서 단립과 다립으로, 발아구의 형태가 공구형에서 공형으로의 진화경향성을 추론할 수 있었다.

아산만 식물플랑크톤의 계절별 군집 분포 특성 (Seasonal Characteristics of Phytoplankton Distribution in Asan Bay)

  • 이상현;신용식;양성렬;박철
    • Ocean and Polar Research
    • /
    • 제27권2호
    • /
    • pp.149-159
    • /
    • 2005
  • 결론적으로 전체 식물플랑크톤과 소형식물플랑크톤의 생체량이 높았던 2월에는 규조류 S. costatum과 Thalassiosira spp.가 우점하였으며 특히 내측해역에서 높은 농도를 보였는데 이는 2월의 낮은 수온과 내측해역의 풍부한 규산염에 의한 영향으로 판단된다. 5월에는 전체 식물플랑크톤과 소형식물플랑크톤이 상당히 감소하였는데 이는 영양염의 감소 특히 인산염 제한에 의한 것으로 사료된다. 5월에는 미소형식물플랑크톤의 기여율이 높게 나타났고 규조류 Rhizosolenia spp.와 Pseudo-nitzschia spp.가 우점하였으나 2월에 비해 낮은 chlorophyll a 농도를 나타내고 있으며 이는 낮은 농도의 영양염 특히 DIN:DIP와 Si:DIP의 분포를 통해서도 알 수 있듯이 인산염의 농도가 크게 작용한 것으로 판단된다. 담수 유입으로 인해 내측해역의 염분이 낮았던 7월에는 소형식물플랑크톤이 평균 58.4%의 기여율을 보였으며, 미소형식물플랑크톤은 평균 32.6%의 기여율을 보여주고 있다. 또한 내측해역에서 monad type의 phytoflagellate와 남조류 Oscillatoria spp.가 우세하였고 외측해역에서는 S. costatum이 우세하게 나타났다. 9월에는 7월과 마찬가지로 염분이 낮은 내측해역에서는 미소형식물플랑크톤의 기여율이 높았으며 monad type의 phytoflagellate가 우점하였고 외측 해역에서는 소형식물플랑크톤의 기여율이 높았으며 규조류 Chaetocems spp.가 새로운 우점속으로 출현하였다. 이와 같이 아산만의 환경적인 변화에 따라서 우점속의 변화를 가져왔으며 이런 우점속의 변화는 식물플랑크톤 군집의 계절적 변화를 나타내었다. 본 연구결과는 식물플랑크톤 군집에 대한 연구가 부족했던 아산만의 식물플랑크톤 역학을 이해하는데 기여할 것으로 기대된다.

르네상스 수도원 체르토사의 공간 구성에 관한 연구 - 체르토사 디 파비아의 셀 공간을 중심으로 - (A Study on the Space Composition of Renaissance Monastery Certosa - Based on the Cell Space in Certosa di Pavia)

  • 임종엽
    • 한국실내디자인학회논문집
    • /
    • 제34호
    • /
    • pp.106-113
    • /
    • 2002
  • Certosa, a representative Monastic Architecture of Renaissance era, has been well preserved. And it has worked as a symbol of the space form & style revealed by monad, sell, arcade and court, which are characteristic of a monastery. A court is divided into large court and small one, and it connects each units and each sells through the annex with clarifying each space identities. And arcade and pillar is not only to derive a unitary space from entire space, but also to try openness and extension applying a different height in spite of physical closure of style. Especially planned by monad and cell, the routine space of monks, a structure of rational space is a yardstick of moderation and frugality, showing affluent space which occupy essential areas without extra space. And the space appears self-sufficiency, honest poverty, and affluence with order and eternity based on elementary principles of the Cartusio order in composition and plan of the space. Keeping strong linking with entire sells in the monastery, Each sell symbolizes entire sells, and the inverse is the same. And it is the universe advocating eternity and it is also a small city which provides the monks with accurate modules and scales in the very recluse space.

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

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

Deterministic Parallelism for Symbolic Execution Programs based on a Name-Freshness Monad Library

  • Ahn, Ki Yung
    • 한국컴퓨터정보학회논문지
    • /
    • 제26권2호
    • /
    • pp.1-9
    • /
    • 2021
  • 본문에서는 순수 함수형 언어인 하스켈로 작성된 심볼릭 실행의 병렬화를 위한 상태 모나드 기반의 라이브러리에 결정적 병렬화를 적용하기 편리한 API를 설계/구현하고 멀티코어 컴퓨터에서 벤치마크를 통해 실제 성능을 향상을 확인해 본다. 일반적으로 순수 함수형 프로그램은 병렬화가 쉽다고 알려져 있으나 실제 구현에서 핵심 알고리듬 외적인 부분에서 의도치 않은 순차적 데이터 의존성의 발생으로 병렬화가 어려워질 수 있다. 심볼릭 실행 구현에서는 지금껏 사용했던 변수와 겹치지 않는 새 이름을 생성함으로써 서로 다른 범위의 이름이 같은 변수끼리 혼동하는 착오를 피하는 방식을 종종 활용한다. 그런데 이를 순차적 상태 관리로 구현한 경우가 많아 병렬화에 걸림돌이 된다. 이 논문에서는 하스켈의 범용적 이름 관리 라이브러리인 unbound-generics의 새 이름 생성 기능에 순차적 의존성을 회피할 수 있는 확장 기능을 제공함으로써 병렬적 심볼릭 실행 구현을 간소화하는 데 기여하였다. 우리가 구현한 병렬화 확장의 특징은 기존 unbound-generics 라이브러리의 내부 구현을 그대로 유지한 상태의 확장이라는 점으로, 기존에 unbound-generics로 작성된 순차적 심볼릭 실행기의 성능 저하 우려가 전혀 없다는 점이다. 따라서 병렬화가 필요한 부분에만 확장 기능을 적용하는 방식으로 활용하여 성능을 개선할 수 있다.

모빌리티와 장소 현상학, 대중서사 연구의 한 관점 -데이비드 시먼의 『삶은 장소에서 일어난다』를 중심으로 (Mobilities and Phenomenology of Place, A Perspective for the Popular Narrative Studies -David Seamon's Life Takes Place)

  • 김태희
    • 대중서사연구
    • /
    • 제25권4호
    • /
    • pp.469-506
    • /
    • 2019
  • '장소'에 주목하는 기존의 대중서사 연구들에서는 공간과 장소의 구별을 이론적 토대로 하는 경향이 있다. 이에 따르면 한마디로 공간은 이동적이고 장소는 정주적이다. 그렇다면 고도 모빌리티 시대, 즉 이동의 공간이 정주의 장소를 빠르고 광범위하게 잠식하는 것처럼 보이는 시대에도 이러한 의미의 장소에 주목하는 대중서사 연구는 여전히 유효할 것인가? 이 글은 데이비드 시먼(David Seamon)의 저서 『삶은 장소에서 일어난다: 현상학, 생활세계들, 그리고 장소 만들기(Life Takes Place: Phenomenology, Lifeworlds, and Place Making)』를 중심으로 고도 모빌리티 시대에 장소에 주목하는 대중서사 연구의 가능성을 모색한다. 이 책은 현상학적 방법론에 기초하여 장소를 탐구하기 위해, 통합적 관계성(synergistic relationality)을 디딤돌로 하여 이른바 전진적 점근(progressive approximation)이라는 이론적 틀을 활용한다. 이에 따르면 장소는 먼저 하나의 전체, 즉 단자(monad)로 연구되어야 한다. 하나의 전체로서의 장소 단자에 대한 현상학적 연구는 장소가 인간의 근본 조건임을 식별한다. 그 다음 연구의 '전진적' 순서에 따라, 장소를 이항대립들의 결합체인 양자(dyad)로서 연구한다. 이에 따르면 운동/정지, 내부성/외부성, 평범함/비범함, 내향성/외향성, 본향/이향이 다섯 가지의 양자로 식별된다. 그러나 이러한 이항대립을 넘어서기 위해 이제 연구는 장소 삼자(triad)라는 상위 차수(order)로 이행하는데, 여기에는 장소상호작용, 장소 정체성, 장소 해방, 장소 실현, 장소 강화, 장소 창조가 포함된다. 이를 통해 장소에 대한 연구는 장소의 본질을 향해 전진적으로 점근하여 가는 것이다. 이 풍부하고 통찰적인 책의 저자는 고도 모빌리티 시대의 장소라는 물음을 스스로 제기하면서, 이에 대해 장소가 여전히 인간의 근본 운명이라는 답변을 제출한다. 그러나 이러한 답변은 여전히 공간/장소 및 이동/정주라는 이항대립에 머물러 있는 듯 보인다. 이 글에서는 이러한 이항대립을 넘어설 가능성, 그리고 이동의 실천을 통해 '장소 만들기'를 수행할 가능성을 대안적 답변으로 제시하고, 이러한 관점에서 대중서사 연구가 어떻게 이루어질 수 있는지 사례를 제시하고자 한다.

우리나라 자생나리의 종별 화분형태 분석 (Classification of the Genus Lilium Native to Korea by Pollen Size)

  • 남유경;박기배;이진희
    • 화훼연구
    • /
    • 제18권1호
    • /
    • pp.62-65
    • /
    • 2010
  • 한국산 나리속 7종의 화분 관찰에 의한 나리속의 종간 유연관계를 구명하고자 본 실험을 수행하였다. 화분 표면을 주사전자현미경으로 관찰한 결과 모두 단립(monad)으로 발아구가 한 개인 장형(prolate)을 띠었다. 화분 길이와 폭의 비율은 종별로 차이를 나타내어서 말나리가 2.59로 제일 큰 장타원형을 나타냈고, 하늘말나리는 1.82로서 원형에 가까운 타원형을 나타냈다. 화분의 길이와 폭은 참나리가 각각 115.90와 $46.54{\mu}m$로 가장 컸으며 하늘말나리는 길이와 폭이 각각 $70.33{\mu}m$$38.72{\mu}m$로 가장 작았다. 외막의 표면 무늬는 망상(reticulate)으로서 망강(lumen)은 형태가 일정하지 않은 다각형으로 7종 모두 유사한 것으로 나타났다. 나리속의 종간 분류는 말나리와 중나리가 오차범위 내에서 유사한 화분 크기를 지니고 있었다. 한편, 나머지 종들의 화분 길이는 뚜렷한 차이를 나타내어 이러한 결과를 바탕으로 화분의 길이를 통한 나리속의 분류는 외막 모양이나 화분의 단면적보다는 화분 크기가 유용할 것으로 생각된다.