English
Related papers

Related papers: Towards a Java Subtyping Operad

200 papers

Wiring diagrams, as seen in digital circuits, can be nested hierarchically and thus have an aspect of self-similarity. We show that wiring diagrams form the morphisms of an operad $\mcT$, capturing this self-similarity. We discuss the…

Databases · Computer Science 2013-05-03 David I. Spivak

Context. An extension method is a method declared in a package other than the package of its host class. Thanks to extension methods, developers can adapt to their needs classes they do not own: adding methods to core classes is a typical…

Programming Languages · Computer Science 2017-08-08 Guillermo Polito , Camille Teruel , Stéphane Ducasse , Luc Fabresse

Resolution and subtyping are two common mechanisms in programming languages. Resolution is used by features such as type classes or Scala-style implicits to synthesize values automatically from contextual type information. Subtyping is…

Programming Languages · Computer Science 2020-10-19 Koar Marntirosian , Tom Schrijvers , Bruno C. d. S. Oliveira , Georgios Karachalias

We present OBJS, a new transpiler project featuring the implementation of typified variables and functions call management in Javascript, as well as several new operators and syntax patterns that could make coding more agile and versatile.…

Programming Languages · Computer Science 2024-11-14 Alessandro Rosa

A reasonable C++ Java Native Interface (JNI) technique termed C++ Wrappered JNI (C++WJ) is presented. The technique simplifies current error-prone JNI development by wrappering JNI calls. Provided development is done with the aid of a C++…

Software Engineering · Computer Science 2007-05-23 Craig Bordelon

We demonstrate a method to infer polymorphically principal and subtyping-minimal types for an ML-like core language by assigning ranges within a lattice to type variables. We demonstrate the termination and completeness of this algorithm,…

Programming Languages · Computer Science 2013-08-14 Eli Gottlieb

Comments are an integral part of software development; they are natural language descriptions associated with source code elements. Understanding explicit associations can be useful in improving code comprehensibility and maintaining the…

Computation and Language · Computer Science 2019-12-17 Sheena Panthaplackel , Milos Gligoric , Raymond J. Mooney , Junyi Jessy Li

This paper describes a reduction from the halting problem of Turing machines to subtype checking in Java. It follows that subtype checking in Java is undecidable, which answers a question posed by Kennedy and Pierce in 2007. It also follows…

Programming Languages · Computer Science 2016-11-08 Radu Grigore

The null-type is a major source of faults in Java programs, and its overuse has a severe impact on software maintenance. Unfortunately traditional mutation testing operators do not cover null-type faults by default, hence cannot be used as…

Software Engineering · Computer Science 2020-04-10 Ali Parsai , Serge Demeyer

A general notion of operad is given, which includes as instances, the operads originally conceived to study loop spaces, as well as the higher operads that arise in the globular approach to higher dimensional algebra. In the framework of…

Category Theory · Mathematics 2007-05-23 Mark Weber

The Dependent Object Types (DOT) calculus formalizes key features of Scala. The D$_{<: }$ calculus is the core of DOT. To date, presentations of D$_{<: }$ have used declarative typing and subtyping rules, as opposed to algorithmic.…

Programming Languages · Computer Science 2017-09-29 Abel Nieto

We revisit occurrence typing, a technique to refine the type of variables occurring in type-cases and, thus, capturesome programming patterns used in untyped languages. Although occurrence typing was tied from its inceptionto set-theoretic…

Programming Languages · Computer Science 2022-02-25 Giuseppe Castagna , Victor Lanvin , Mickaël Laurent , Kim Nguyen

Haskell provides type-class-bounded and parametric polymorphism as opposed to subtype polymorphism of object-oriented languages such as Java and OCaml. It is a contentious question whether Haskell 98 without extensions, or with common…

Programming Languages · Computer Science 2007-05-23 Oleg Kiselyov , Ralf Laemmel

Operads are algebraic devices offering a formalization of the concept of operations with several inputs and one output. Such operations can be naturally composed to form bigger and more complex ones. Coming historically from algebraic…

Combinatorics · Mathematics 2021-04-27 Samuele Giraudo

This paper presents an approach that exploits Java annotations to provide meta information needed to automatically transform plain Java programs into parallel code that can be run on multicore workstation. Programmers just need to decorate…

Programming Languages · Computer Science 2013-06-11 Patrizio Dazzi

This is an expository article about operads in homotopy theory written as a chapter for an upcoming book. It concentrates on what the author views as the basic topics in the homotopy theory of operadic algebras: the definition of operads,…

Algebraic Topology · Mathematics 2022-01-04 Michael A. Mandell

The theory of operads (May, cyclic, modular, PROPs, etc) is extended to include higher dimensional phenomena, i.e. operations between operations, mimicking the algebraic structure on varieties of arbitrary dimensions, having marked…

Quantum Algebra · Mathematics 2010-12-16 Dennis Borisov

Java's type system mostly relies on type checking augmented with local type inference to improve programmer convenience. We study global type inference for Featherweight Generic Java (FGJ), a functional Java core language. Given generic…

Programming Languages · Computer Science 2022-05-20 Andreas Stadelmeier , Martin Plümicke , Peter Thiemann

Reference immutability is a type based technique for taming mutation that has long been studied in the context of object-oriented languages, like Java. Recently, though, languages like Scala have blurred the lines between functional…

Programming Languages · Computer Science 2023-11-14 Edward Lee , Ondřej Lhoták

Session types, types for structuring communication between endpoints in distributed systems, are recently being integrated into mainstream programming languages. In practice, a very important notion for dealing with such types is that of…

Programming Languages · Computer Science 2023-06-22 Mario Bravetti , Marco Carbone , Julien Lange , Nobuko Yoshida , Gianluigi Zavattaro