GOOL: A Generic Object-Oriented Language (extended version)

11/26/2019
by   Jacques Carette, et al.
0

We present GOOL, a Generic Object-Oriented Language. It demonstrates that a language, with the right abstractions, can capture the essence of object-oriented programs. We show how GOOL programs can be used to generate human-readable, documented and idiomatic source code in multiple languages. Moreover, in GOOL, it is possible to express common programming idioms and patterns, from simple library-level functions, to simple tasks (command-line arguments, list processing, printing), to more complex patterns, such as methods with a mixture of input, output and in-out parameters, and finally Design Patterns (such as Observer, State and Strategy). GOOL is an embedded DSL in Haskell that can generate code in Python, Java, C# and C++.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/17/2021

Reducing Programs to Objects

C++, Java, C#, Python, Ruby, JavaScript are the most powerful object-ori...
research
09/05/2022

Detecting unanticipated mutual recursion using Elegant Objects representation of object-oriented programs

Elegant Objects (EO) is a variation of the object-oriented programming p...
research
02/17/2018

Generating Python Code From Object-Z Specifications

Object-Z is an object-oriented specification language which extends the ...
research
12/05/2022

Proving False in Object-Oriented Verification Programs by Exploiting Non-Termination

We looked at three different object-oriented program verifiers: Gobra, K...
research
08/27/2018

AutoFrame: Automatic Frame Inference for Object-Oriented Languages

Automatic program verification has made tremendous strides, but is not y...
research
11/29/2017

An Abstract Method Linearization for Detecting Source Code Plagiarism in Object-Oriented Environment

Despite the fact that plagiarizing source code is a trivial task for mos...
research
02/01/2019

Shallow EDSLs and Object-Oriented Programming: Beyond Simple Compositionality

Context: Embedded Domain-Specific Languages (EDSLs) are a common and wid...

Please sign up or login with your details

Forgot password? Click here to reset