Hiun Kim



To programmer to do more. My research is on overcome scale and complexity of modern software by creating new way of design and implementation of software to provides more abstraction and freedom to programmer.


To achieve the mission, I build things that enable people the power to solve more high-level problems by improve productivity and abstraction to modern software creation through new design and implementation of programming languages, computer systems and software engineering methodology.


Self-composable Programming(Self) is a way of programming for constructing reusable software patterns. Self introduces a concept of abstract and specific behavior by bringing hierarchical relationship with two attribute, Self-composability to refining abstract behavior into specific behavior and Multi-level inheritance to localising cross-cutting concerns by parental abstract behavior. Self provides these attribute in a direct semantical way which is a contrast to previous research of inheritance in AOP. We design Self by following well establishes idioms of OOP, Abstraction Layer and UNIX Philosophy. Self is practical programming technique to resolves scattering and tangling of similar patterns in software, while also addresses the programming benefits from the right way of modeling a behavior in the real world. We think accurately modeling and simplifying control of behavior is key to open new abstraction in software just like OOP did for things in 50 years ago.
Homepage »    Publications »