• Title/Summary/Keyword: functional programming language

Search Result 40, Processing Time 0.02 seconds

A Survey of Automatic Code Generation from Natural Language

  • Shin, Jiho;Nam, Jaechang
    • Journal of Information Processing Systems
    • /
    • v.17 no.3
    • /
    • pp.537-555
    • /
    • 2021
  • Many researchers have carried out studies related to programming languages since the beginning of computer science. Besides programming with traditional programming languages (i.e., procedural, object-oriented, functional programming language, etc.), a new paradigm of programming is being carried out. It is programming with natural language. By programming with natural language, we expect that it will free our expressiveness in contrast to programming languages which have strong constraints in syntax. This paper surveys the approaches that generate source code automatically from a natural language description. We also categorize the approaches by their forms of input and output. Finally, we analyze the current trend of approaches and suggest the future direction of this research domain to improve automatic code generation with natural language. From the analysis, we state that researchers should work on customizing language models in the domain of source code and explore better representations of source code such as embedding techniques and pre-trained models which have been proved to work well on natural language processing tasks.

Clinical Comparative Analysis of Characteristics of Computer Programming Languages and their Development Environments for Basic Programming Education (기초적인 프로그래밍 교육을 위한 컴퓨터 언어의 특성 및 개발 환경의 임상적 비교 분석)

  • Kang, Dae-Ki
    • Journal of Engineering Education Research
    • /
    • v.15 no.3
    • /
    • pp.66-71
    • /
    • 2012
  • In this paper, we try to explore basic factors that defines easy-to-learn programming language and easy-to-learn development environments for novice students who have not been exposed to computer programming language education. For these purpose, we investigate and analyze computer programming languages that are widely used in industrial environments, and present the summary and analyzed results. From the experimental results, most novice programmers understand computer programming languages in terms of procedural programming languages rather than in terms of functional programming languages or object oriented programming languages. Furthermore, we have found that, for effective education of basic level programming languages, factors of development environments are much more important than factors of programming paradigms that the computer programming languages are based on.

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

  • Sugwoo, Byun
    • Journal of the Korea Society of Computer and Information
    • /
    • v.28 no.2
    • /
    • pp.111-119
    • /
    • 2023
  • In this paper, we investigate the feasibility of functional programming in the Scala language. The main issue is to what extent Scala is able to handle major properties of functional programming such as lambda expression, high-order functions, generic types, algebraic data types, and monads. For this purpose, we implement an interpreter of an imperative language. In this implementation, the same functional programming techniques are applied to both Haskell and Scala languages, and then these two versions of implementations are compared and analyzed. The abstract syntax tree of an imperative language is expressed as algebraic data types with generics and enum classes in Scala, and the state transition of imperative languages is implemented by using state monad. Extension and given, new features of Scala, are used as well.

Apply A Pure Functional Language for Game Programming (게임 프로그래밍을 위한 순수 함수형 언어의 활용)

  • Lee Dong-Ju;Byun Suk-Woo;Woo Gyun
    • Proceedings of the Korea Contents Association Conference
    • /
    • 2005.05a
    • /
    • pp.464-469
    • /
    • 2005
  • The imperative programming language like C language is Generally used when we develop the game program. But there is the need of much effort and time on low-level-details in order to express the game program that has complicated and varied motion. I will try to take measures to use the pure functional language, Haskell as the method of simplifying complex game program. The pure functional programming language like Haskell has excellence of technology and it has become specific in many domains. In this paper I'll discuss the difference between The two languages and merits and demerits in the game development aspect. Also discuss the possibility of putting Haskell to practical use in the future.

  • PDF

Real-Time Functional Reactive Program Translator for Embedded Systems (임베디드 시스템을 위한 실시간 함수형 반응적 프로그램 변환기)

  • Lee, Dong-Ju;Woo, Gyun
    • The KIPS Transactions:PartA
    • /
    • v.13A no.6 s.103
    • /
    • pp.481-488
    • /
    • 2006
  • FRP(Functional Reactive Programming) is a kind of embedded language in Haskell, it declaratively program reactive system based on two essential high-order types named behavior and events. This Paper design and implementation RT-FRP(Real-time Functional Reactive Programming) translator for using FRP in embedded systems with many constraints. The RT-FRP translator generates a C Program from an RT-FRP program according to the operational semantics of the RT-FRP language. To show the effectiveness of the RT-FRP translator, we loaded and executed the test program generated by the translator onto a real embedded system, LEGO Mindstorm. According to the experimental result, the reactive system software can be programmed more concisely using RT-FRP than using an imperative counter part although the size of the binary code is rather increased.

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

  • Byun, Sug-Woo
    • Journal of KIISE:Software and Applications
    • /
    • v.37 no.5
    • /
    • pp.403-410
    • /
    • 2010
  • Monad in Haskell allows one to do imperative-style programming as well as pure functional programming. In this work, we characterize monadic abstraction and its programming technique by restructuring an assembly language interpreter coded in pure functional style into the one by the monadic style. Monad programming consists of two phases; the State monad is applied to a stack and a symbol table, and then a State Monad Transformer integrating these two monads is constructed. As a result, we can see that the program code by monad programming is much clearer and more intuitive than one written in the pure functional style.

A Development of Task-oriented Programming System for the Application of Robot (로봇 응용을 위한 공정 지향적인 프로그래밍 시스템 개발)

  • Park, H.S.
    • Journal of the Korean Society for Precision Engineering
    • /
    • v.13 no.4
    • /
    • pp.34-42
    • /
    • 1996
  • Robot programming has been discussed in detail during the recent years. Numerous studies in particular presented relevance, solution concepts and implementation of off-line programming. In this paper a new user-friendly robot programming method is introduced, which permits the implicit description and programming of assembly process. On the functional level of programming, the assembly processes are described in terms of their operational functions. On the language level, the individual functions are then translated into commands for the robots.

  • PDF

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

  • 변석우
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.5 no.1
    • /
    • pp.192-201
    • /
    • 2001
  • It has been a long standing problem in research of pure functional programming to program side-effect, input/output, exception handling, nondeterminism, and etc, preserving declarative property and lazy-evaluation of pure functional languages. Being introduced in 1989, Monadic approach has been suggested as a solution to this problem. In this paper, we introduce the principle of functional monadic programming and its various application techniques using the Pure functional language Haskell.

  • PDF

Formalization of the Meta-Theory of a Programming Language with Binders (프로그래밍 언어 메타이론의 정형화 및 변수 묶기)

  • Lee, Gye-Sik
    • Journal of KIISE:Software and Applications
    • /
    • v.35 no.12
    • /
    • pp.800-807
    • /
    • 2008
  • We introduce some well-known approaches to formalization and automatization of the meta-theory of a programming language with binders. They represent the trends in POPLmark Challenge. We demonstrate some characteristics of each approach by showing how to formalize some basic notations and concepts of Lambda-calculus using the proof assistant Coq.

Development of a G-machine Based Translator for a Lazy Functional Programming Language Miranda (지연함수언어 Miranda의 G-기계 기반 번역기 개발)

  • Lee, Jong-Hui;Choe, Gwan-Deok;Yun, Yeong-U;Gang, Byeong-Uk
    • The Transactions of the Korea Information Processing Society
    • /
    • v.2 no.5
    • /
    • pp.733-745
    • /
    • 1995
  • This study is aimed at construction of a translator for a functional programming language. For this goal we define a functional programming language which has lazy semantics and develop a translator for it. The execution model selected is the G-machine-based combinator graph reduction. The translator is composed of 4 phases and translates a source program to a C program. The first phase of the translator translates a source program to a enriched lambda- calculus graph, the second phase transforms a lambda-calculus graph into supercombinators, the third phase translates supercombiantors to a G program and the last phase translates the G program to a C program. The final result of the translator, a C program, is compiled to an executable program by C compiler. The translator is implemented in C using compiler development tools such as TACC and Lex, under the UNIX environments. In this paper we present the design and implementation techniques for developing the translator and show results by executing some test problems.

  • PDF