The search functionality is under construction.
The search functionality is under construction.

Author Search Result

[Author] Daeseong KANG(2hit)

1-2hit
  • Bounded-Choice Statements for User Interaction in Imperative Programming

    Keehang KWON  Jeongyoon SEO  Daeseong KANG  

     
    LETTER-Software System

      Pubricized:
    2015/11/27
      Vol:
    E99-D No:3
      Page(s):
    751-755

    Adding versatile interactions to imperative programming - C, Java and Android - is an essential task. Unfortunately, existing languages provide only limited constructs for user interaction. These constructs are usually in the form of unbounded quantification. For example, existing languages can take the keyboard input from the user only via the read(x)/scan(x) statement. Note that the value of x is unbounded in the sense that x can have any value. This statement is thus not useful for applications with bounded inputs. To support bounded choices, we propose new bounded-choice statements for user interation. Each input device (keyboard, mouse, touchpad, ...) naturally requires a new bounded-choice statement. To make things simple, however, we focus on a bounded-choice statement for keyboard - kchoose - to allow for more controlled and more guided participation from the user. We illustrate our idea via CBI, an extension of the core C with a new bounded-choice statement for the keyboard.

  • Choice Disjunctive Queries in Logic Programming

    Keehang KWON  Daeseong KANG  

     
    LETTER

      Pubricized:
    2022/12/19
      Vol:
    E106-D No:3
      Page(s):
    333-336

    One of the long-standing research problems on logic programming is to treat the cut predicate in a logical, high-level way. We argue that this problem can be solved by adopting linear logic and choice-disjunctive goal formulas of the form G0 ⊕ G1 where G0, G1 are goals. These goals have the following intended semantics: choose the true disjunct Gi and execute Gi where i (= 0 or 1), while discarding the unchosen disjunct. Note that only one goal can remain alive during execution. These goals thus allow us to specify mutually exclusive tasks in a high-level way. Note that there is another use of cut which is for breaking out of failure-driven loops and efficient heap management. Unfortunately, it is not possible to replace cut of this kind with use of choice-disjunctive goals.