• Title/Summary/Keyword: 함수형 언어

Search Result 88, Processing Time 0.022 seconds

Typed Separation Set Partitioning for Thread Partitioning of Non-strict functional Programs (비평가인자 함수 프로그램의 스레드 분할 향상을 위한 자료형 분리 집합 분할알고리즘)

  • Yang, Chang-Mo;Joo, Hyung-Seok;Yoo, Weon-Hee
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.8
    • /
    • pp.2127-2136
    • /
    • 1998
  • 비평가인자 함수 언어는 비평가인자 어의로 인하여 기존의 von Neumann 형 병렬기에서 효율적인 수행을 어렵게 하는 미세수준의 동적 스케줄링 단위로 병합하는 과정이 중요하다. 이러한 과정을 스레드 분할이라 한다. 본 논문에서는 비평가인자 함수 프로그램을 스레드로 분할하는 자료형 분리집합 분할이라는 스레드 분할 알고리즘을 제안한다. 자료형 분리 집합 분할 알고리즘은 자료형을 비교할 수 없는 입력명과 출력명 사이에는 잠재 종속이 존재할 수 없다는 사실을 이용하여 스레드 분할을 수행한다. 이 방법을 사용하면 기존의 스레드 분할 방법에서 실패하는 스레드의 병합이 가능하며, 기존의 분할 알고리즘보다 더 큰 스레드를 생성할 수 있다.

  • PDF

Compiling Haskell to Java via an Intermediate Code L (중간언어 L-코드를 이용한 Haskell-Java 언어 번역기 구현)

  • Choi, Kwang-Hoon;Han, Tai-Sook
    • Journal of KIISE:Software and Applications
    • /
    • v.28 no.12
    • /
    • pp.955-965
    • /
    • 2001
  • We propose a systematic method of compiling Haskell based on the spineless Tagless G-machine (STGM) for the Java, Virtual Machine (JVM) We introduce an intermediate language called L-code to identify each micro-operation of the machine by its instruction, Each macro operation of the machine is identified by a binding Each instruction of the L-code can be easily translated into Java statements. After our determination on representation and L-code program from a STG program is translated into Java program according to out compilation rules. Our experiment shows that the execution times of translated benchmarks are competitive compared with those in Haskell interpreter Hugs, particularly when Glasgow Haskell compiler's STG -level optimizations are applied.

  • PDF

Flowchart-C code Conversion System on Windows (Windows 상에서의 Flowchart-C 코드 변환 시스템)

  • 주윤희;이창우;손영선
    • Proceedings of the Korean Institute of Intelligent Systems Conference
    • /
    • 2003.09b
    • /
    • pp.57-60
    • /
    • 2003
  • 본 논문에서는 사용자가 Windows 상에서 자신의 알고리즘을 반영시킨 flowchart를 작성하면 그에 해당하는 C프로그램을 생성시켜 주는 시스템을 구현하였다. 사용자가 그린 flowchart 기호들과 흐름선 및 기호 안에 기술된 문자정보를 연결형 리스트를 사용하여 표현하였다. 기술된 문자 정보를 검색하여, 사용된 함수에 따라 해당 헤더 파일을 추가하고, 입ㆍ출력 함수에 대한 변환을 행한다. 그려진 flowchart기호에 대하여 흐름선의 개수나 연결기호를 이용한 변환 알고리즘을 적용하여 C코드로 변환하여 화면상에 출력시키고, 파일로 저장하였다. 본 시스템을 다양한 알고리즘에 적용시켜서 만족한 결과를 얻을 수 있었다.

  • PDF

A Design of Linear Categorical Circuits with Queues (큐를 활용한 선형고전논리 회로의 설계)

  • 신홍철;조혜원
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10c
    • /
    • pp.33-35
    • /
    • 1998
  • 선형논리는 Girard에 의해 소개되었으며, 고전논리의 확장이다. 최근에는 형할당 시스템으로 λ$\mu$-논리의 연구가 성행중이며 함수프로그래밍 언어가 발전할 수 있는 계기가 되었다. λ$\mu$-논리에서의 계산은 형추론 연역과정이다. λ$\mu$-논리의 카테고리로의 해석 λ$\mu$*-논리를 이용하여 분배카테고리를 일차적으로 구성하고 함수의 흐름을 구체적으로 나타내는 준함수로써 회로 카테고리Cir(CLL*)를 설계하였다. 특히 전산처리에서 흔히 사용하는 큐(Queues)로써 선형고전논리 기증을 온전히 발휘할 수 있음을 지적한다.

  • PDF

Parallelization of Recursive Functions for Recursive Data Structures (재귀적 자료구조에 대한 재귀 함수의 병렬화)

  • An, Jun-Seon;Han, Tae-Suk
    • Journal of KIISE:Software and Applications
    • /
    • v.26 no.12
    • /
    • pp.1542-1552
    • /
    • 1999
  • 자료 병렬성이란 자료 집합의 원소들에 대하여 동일한 작업을 동시에 수행하므로써 얻어지는 병렬성을 말한다. 함수형 언어에서 자료 집합에 대한 반복 수행은 재귀적 자료형에 대한 재귀 함수에 의하여 표현된다. 본 논문에서는 이러한 재귀 함수를 자료 병렬 프로그램으로 변환하기 위한 병렬화 방법을 제시한다. 생성되는 병렬 프로그램의 병렬 수행 구조로는 일반적인 형태의 재귀적 자료형에 대하여 정의되는 다형적인 자료 병렬 연산을 사용하여 트리, 리스트 등과 같은 일반적인 재귀적 자료 집합에 대한 자료 병렬 수행이 가능하도록 하였다. 재귀 함수의 병렬화를 위해서는, 함수를 이루는 각각의 계산들의 병렬성을 재귀 호출에 의해 존재하는 의존성에 기반하여 분류하고, 이에 기반하여 각각의 계산들에 대한 적절한 자료 병렬 연산을 사용하는 병렬 프로그램을 생성하였다.Abstract Data parallelism is obtained by applying the same operations to each element of a data collection. In functional languages, iterative computations on data collections are expressed by recursions on recursive data structures. We propose a parallelization method for data-parallel implementation of such recursive functions. We employ polytypic data-parallel primitives to represent the parallel execution structure of the object programs, which enables data parallel execution with general recursive data structures, such as trees and lists. To transform sequential programs to their parallelized versions, we propose a method to classify the types of parallelism in subexpressions, based on the dependencies of the recursive calls, and generate the data-parallel programs using data-parallel primitives appropriately.

A Web-based Intelligent Tutoring System for Learner-centered learning by Level (학습자 중심의 수준별 학습을 위한 웹기반 지능형 교수 시스템)

  • 양형정;최숙영
    • Proceedings of the Korea Society for Industrial Systems Conference
    • /
    • 2002.06a
    • /
    • pp.248-259
    • /
    • 2002
  • 최근의 새로운 교수 학습 형태인 웹기반 교육에서의 가장 중요한 요소는 시.공간적으로 떨어져 있는 학습자의 학습 상황을 파악하고 분석하여, 학습자에게 적절한 학습내용과 과정을 제시하는 하는 것이 무엇보다도 중요하다. 본 연구에서는 웹기반 교수 시스템에서 학습자의 수준에 맞는 적합한 학습 내용과 평가 문제를 제공하고, 그 평가 결과를 분석하여 반복학습 및 심화학습을 효과적으로 제공하고, 차기 학습을 할 경우에 이에 기초하여 적절한 학습이 이루어질 수 있도록 한다. 이를 위해 코스웨어를 설계시 학습목표의 중요도, 학습내용의 난이도, 학습목표와 학습내용과의 관련성과 각 항목의 가중치를 고려한 퍼지 함수에 의해 퍼지 소속성을 가진 퍼지 언어 변수로 각 프레임에 대한 수준을 표현한다. 또한, 학습의 평가도 문제의 난이도, 관련학습 자료의 난이도, 관련 학습목표의 중요도, 각각의 관련성을 고려하여 퍼지 함수에 의해 언어 변수로 평가된다. 이와 같이 퍼지 함수를 이용함으로써 학습자의 수준을 분석하고, 이에 적절한 학습 및 평가 내용을 제공하는데 여러가지 다양하고 불확실한 요소들을 고려하여 처리함으로써 보다 융통성 있고 효과적인 교수 학습 방법이 될 수 있다.

  • PDF

Tuning the Performance of Haskell Parallel Programs Using GC-Tune (GC-Tune을 이용한 Haskell 병렬 프로그램의 성능 조정)

  • Kim, Hwamok;An, Hyungjun;Byun, Sugwoo;Woo, Gyun
    • KIISE Transactions on Computing Practices
    • /
    • v.23 no.8
    • /
    • pp.459-465
    • /
    • 2017
  • Although the performance of computer hardware is increasing due to the development of manycore technologies, software lacking a proportional increase in throughput. Functional languages can be a viable alternative to improve the performance of parallel programs since such languages have an inherent parallelism in evaluating pure expressions without side-effects. Specifically, Haskell is notably popular for parallel programming because it provides easy-to-use parallel constructs based on monads. However, the scalability of parallel programs in Haskell tends to fluctuate as the number of cores increases, and the garbage collector is suspected to be the source of this fluctuations because it affects both the space and the time needed to execute the programs. This paper uses the tuning tool, GC-Tune, to improve the scalability of the performance. Our experiment was conducted with a parallel plagiarism detection program, and the scalability improved. Specifically, the fluctuation range of the speedup was narrowed down by 39% compared to the original execution of the program without any tuning.

A Java Implementation of the Generalization of Standard Manabe Form Using the Runge Kutta Methods and Genetic Algorithms (런지-커타 기법과 유전자 알고리즘을 이용한 Manabe형의 일반화에 관한 자바 구현)

  • 강환수;강환일;송영기
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.04b
    • /
    • pp.325-327
    • /
    • 2002
  • 진화 알고리즘은 생물의 유전적 진화 과정을 이용한 새로운 문제 해결의 방안으로 결정론적 방법으로 해결하지 못한 난제에 적합한 알고리즘으로 알려져 있다. 본 논문에서는 진화 알고리즘의 연구를 기반으로 전달함수 출력 파형 검출을 위만 기법에서 이용되고 있는 런지-커타(Runge-Kutta) 방법에서의 상미분방정식의 해를 구하는 기법에서 유전 알고리즘을 이용하여 그 결과를 찾아본다. 본 논문에서의 구현은 자바 언어를 이용하며, 자바 언어를 적용한 구현 방법과 유전 알고리즘의 효율적 기법을 제시한다.

  • PDF

두리틀(Dolittle) 프로그래밍 활동을 통한 함수 개념 형성에 관한 사례 연구

  • Jo, Yeong-Ju;Kim, Gyeong-Mi;Hwang, U-Hyeong
    • Communications of Mathematical Education
    • /
    • v.19 no.2 s.22
    • /
    • pp.363-378
    • /
    • 2005
  • 본 연구는 객체지향형 교육용 프로그래밍 언어인 두리틀(Dolittlee)을 수학교수-학습에 활용하기 위한 연구의 일부이다. 본 논문에서는 세 명의 고등학교 1학년 학생을 대상으로 7차 교육과정상의 중등 함수단원을 중심으로 함수의 그래프에 대한 두리틀 프로그래밍 활동을 안내적 교수법으로 진행하고 그 결과를 분석하여, 두리틀 프로그래밍 활동이 함수의 개념 형성에 미치는 영향을 관찰하고 컴퓨터 친밀도와 수학적 성향이 프로그래밍 학습에 어떠한 영향을 주는지에 관하여 고찰하였다. 연구 결과, 두리틀을 이용한 함수의 그래프 그리기 활동은 학생들에게 함수의 기본 개념과 그래프의 성질을 이해하는데 효과적이었으며, 두리틀 프로그래밍 탐구 활동에 있어 학생들의 수학 성취도보다는 수학에 대한 긍정적인 성향과 컴퓨터와의 높은 친밀도가 긍정적인 영향을 미친다는 사실을 확인하였다.

  • PDF

Transformation of Orthogonal Term Rewriting Systems based on Separability (분리성에 기반한 직교항 개서 시스템의 변환)

  • Byeon, Seok-U
    • Journal of KIISE:Software and Applications
    • /
    • v.28 no.8
    • /
    • pp.582-592
    • /
    • 2001
  • 직교항 개서 시스템은 함수형 언어와 그 구현 과정을 잘 반영하고 있다. 본 논문에서는 룰의 왼쪽 부분을 매우 간략한 형태로 된 flat 시스템으로 번역하는 기법에 대해서 논의한다. 직교항 개서 시스템의 한 부류인 transformable OTRSs를 정의하고, 이 시스템들은 flat 시스템으로 변환될 수 있음을 보인다. 이 변환은 람다 계산법에서 연구된 분리성 이론을 기반으로 하고 있는데, 본 논문에서는 직교항 개서 시스템에서의 분리성과 강력 순차성에 대한 연관성에 대해서도 논의하고 있다.

  • PDF