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

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

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

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

표면파 기법을 이용한 자연지반 및 포장지반의 전단파 속도 분포 추정에 관한 연구 (Determination of Shear Wave Velocity Profiles of Natural Soils and Pavement Systems Using Surface Wave Technique)

  • 우제윤;김수일
    • 대한토목학회논문집
    • /
    • 제8권4호
    • /
    • pp.49-57
    • /
    • 1988
  • 본 연구에서는 표면과 시험으로부터 얻어지는 Rayleigh파의 분산곡선을 분석하여 자연지반 및 포장 구조체 각 층의 전단파 속도를 결정할 수 있는 새로운 해석적 역산기법을 개발하였다. 본 연구의 역산기법은 다층 탄성체에서 표면파의 분산에 관한 Haskell의 이론을 토대로 개발된 것이다. 델타 매트릭스 기법을 적용하여 주파수의 크기에 제약을 받지 않는 분산방정식을 유도하여 사용하였으며, Rayleigh파의 한 파장 깊이 이하를 반무한 강성층(rigid halfspace)으로 대치하는 해석방법을 적용하였다. 분산곡선의 역산을 위한 컴퓨터 프로그램을 개발하였으며 수치분석을 통하여 본 연구에서 개발한 새로운 해석적 역산기법의 타당성을 검증하였다.

  • PDF

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

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

리스트 컴프리헨션을 이용한 데이터베이스 접근 (Access to Database Using List Comprehension)

  • 박경순;우균
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 추계학술발표논문집 (중)
    • /
    • pp.655-658
    • /
    • 2003
  • 기존의 데이터베이스 응용 프로그램을 작성할 경우에 질의 언어와 개발 언어간의 이중 언어 정의 문제(impedance mismatch)가 발생한다. 이를 해결하기 위한 한가지 방법으로 본 논문에서는 Haskell의 리스트 컴프리헨션(list comprehension)을 이용한 데이터베이스 접근을 제안한다. 이 방식을 이용할 경우 문법 체계가 명확해 진다는 장점과 연속적인 집계연산자(aggregate operator)를 사용할 수 있다는 장점이 있다. 또한 앞에서 지적한 이중 언어 정의 문제를 해결할 수 있다.

  • PDF

분리가능 시스템의 지수 추이성과 변환 (Index Transitivity and Transformation of Separable Systems)

  • 변석우
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제31권5호
    • /
    • pp.658-666
    • /
    • 2004
  • 분리가능 시스템은 람다 계산법의 분리가능성을 따라서 정의된 항 개서 시스템이다. 본 연구에서는 기존 구성자 시스템에 한정되어 연구되었던 분리가능 시스템의 정의를 일반 항 개서 시스템으로 확장하고, 이 시스템의 특징을 전진 분지성 및 지수 추이성과 연관하여 설명한다. 분리가능성은 전진 분지성과 동일하며, 지수 추이성을 만족하는 강 순차성은 분리가능성을 갖는다. 이러한 특성에 따라 분리가능 시스템의 패턴 매칭 과정은 지수 트리 형태의 오토마타로 표현될 수 있고, 단순한 패턴을 갖고 있는 구성자 시스템으로 변환될 수 있는 장점을 갖고 있다. 특히, 분리가능 시스템은 람다 계산법으로 번역될 수 있다. ML이나 Haskell과 같은 함수형 언어들은 분리가능 시스템의 한 부류이므로, 본 연구는 함수형 언어의 의미를 람다 계산법으로 설명할 수 있도록 하는 이론적 기반으로도 이용될 수 있다.

프로그램 합성 관점에서 지연 함수형 언어의 예외처리 기법 (Exception Handling Technique in Lazy Functional Language from the Viewpoint of Program Synthesis)

  • 이동주;우균
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2006년도 가을 학술발표논문집 Vol.33 No.2 (B)
    • /
    • pp.586-589
    • /
    • 2006
  • 순수 함수형 언어에서 예외처리를 구현하는 것은 매우 까다로운 문제이다. 지연계산, 참조투명성과 같은 주요 특징은 예외 처리와 상반된 성질을 가지는 때문이다. 예외의 처리순서는 계산순서와 관계가 있고, 예외의 발생순서는 참조투명성과 밀접한 관계가 있다. 본 논문은 현재 하스켈(Haskell)에서 구현된 예외처리 방법의 분석을 통해, 프로그램 수행 시 효율적인 예외처리 방법에 대해서 제시한다. 합성된 프로그램에서 예외 발생할 때 예외가 전달되는 것을 사전에 차단하는 방법을 이용한다. 실제 예외가 발생한 프로그램을 작성하고, 프로파일링을 통하여 이 방법의 효율성을 점검한다.

  • PDF

귀납적 자료형의 이진화를 이용한 타입 레벨 프로그래밍 간소화 (Simplifying Type-level Programming by Booleanizing Inductive Types)

  • 차리서;최진영
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2006년도 가을 학술발표논문집 Vol.33 No.2 (B)
    • /
    • pp.571-574
    • /
    • 2006
  • Dependent type은 유리수, 리스트 함수, 행렬 곱 등 여러 가지 타입들의 제약 사항들을 충실히 표현하는 데에 필수적이기 때문에 이를 지원하는 타입 시스템을 탑재한 언어를 새로 개발하거나 기존 언어의 다른 특성들을 활용하여 이를 모의(simulate)하려는 시도가 다각도로 진행되고있으며, Haskell 타입 레벨 프로그래밍도 이런 모의 기법 중 하나다. 기존 타입 레벨 프로그래밍은 변별력의 손실이 없는 대신 이로 인해 관련 함수들의 타입이 복잡해지거나 확정하기 어려워지는 경우가 많아서 잘못된 프로그램을 작성할 위험 부담이 커진다. 실제로 dependent type이 필요한 경우들 중에는 매우 간단한 변별력만을 요구하는 경우가 많으므로, 귀납적 자료형을 이진 추상화하여 일부 변별력을 포기하는 대신 상대적으로 간단하게 dependent type과 관련 함수들의 타입을 확정하는 간소화된 타입 레벨 프로그래밍 기법을 제안한다.

  • PDF

Dynamic responses of a riser under combined excitation of internal waves and background currents

  • Lou, Min;Yu, Chenglong
    • International Journal of Naval Architecture and Ocean Engineering
    • /
    • 제6권3호
    • /
    • pp.685-699
    • /
    • 2014
  • In this study, the dynamic responses of a riser under the combined excitation of internal waves and background currents are studied. A modified Taylor-Goldstein equation is used to calculate the internal waves vertical structures when background currents exist. By imposing rigid-lid boundary condition, the equation is solved by Thompson-Haskell method. Based on the principle of virtual work, a nonlinear differential equation for riser motions is established combined with the modified Morison formula. Using Newmark-${\beta}$ method, the motion equation is solved in time domain. It is observed that the internal waves without currents exhibit dominated effect on dynamic response of a riser in the first two modes. With the effects of the background currents, the motion displacements of the riser will increase significantly in both cases that wave goes along and against the currents. This phenomenon is most obviously observed at the motions in the first mode.

천부 속도이상층이 레일리파 위상속도 및 수직변위 스펙트럼 진폭에 미치는 영향 (Rayleigh-wave Phase Velocities and Spectral Amplitudes Affected by Insertion of an Anomalous Velocity Layer in the Overburden)

  • 김기영;정진훈
    • 지구물리와물리탐사
    • /
    • 제15권4호
    • /
    • pp.155-162
    • /
    • 2012
  • 기반암의 상부 토양층에 협재하는 속도이상층이 레일리파 위상속도와 수직변위의 스펙트럼 진폭에 미치는 영향을 분석하기 위하여 Thomsen-Haskell 방법을 사용하였다. 기본모델은 횡파속도(${\nu}_s$) 300 m/s의 토양층이 9 m 두께로 ${\nu}_s$가 1000 m/s인 반무한 기반암 위에 쌓여 있다. 토양층 내에 두께 1, 2, 3 m, S파속도 150, 225, 375, 450 m/s인 삽입층은 지표부터 깊이 1 m 간격으로 놓여있다. 레일리파 위상속도($C_R$)는 4 ~ 30 Hz 주파수 구간에서 계산하였다. 삽입층 모델은 두께가 1 m일 때, 기본모델과 삽입모델의 위상속도 차이인 ${\Delta}C_R$에 민감하게 반응하는 주파수 대역은 8 ~ 20 Hz이며, 이 주파수 대역은 삽입층의 두께가 증가할수록 넓어진다. 1차 고차모드의 저주파 차단주파수 바로 위의 주파수 구간을 제외하면, 모든 모델에서 기본모드의 스펙트럼 진폭이 1차 고f차모드보다 크다.