Related publications (179)

Scala 3 syntax rewriting

Mark Tropin

We present syntax rewriting rules that translate Scala 2 code into Scala 3. Two major syntactic changes are introduced: new control structure syntax and significant indentation. We describe the design and the implementation of these rules and evaluate thei ...
2024

When Subtyping Constraints Liberate A Novel Type Inference Approach for First-Class Polymorphism

Lionel Emile Vincent Parreaux, Aleksander Slawomir Boruch-Gruszecki

Type inference in the presence of first-class or "impredicative" second-order polymorphism a la System F has been an active research area for several decades, with original works dating back to the end of the 80s. Yet, until now many basic problems remain ...
Assoc Computing Machinery2024

Semantic Shape Editing with Parametric Implicit Templates

Uday Kusupati

We propose a semantic shape editing method to edit 3D triangle meshes using parametric implicit surface templates, benefiting from the many advantages offered by analytical implicit representations, such as infinite resolution and boolean or blending opera ...
2024

Cooperative Concurrency Control for Write-Intensive Key-Value Workloads

Babak Falsafi, Alexandros Daglis, Mark Johnathon Sutherland

Key-Value Stores (KVS) are foundational infrastructure components for online services. Due to their latency-critical nature, today’s best-performing KVS contain a plethora of full-stack optimizations commonly targeting read-mostly, popularity-skewed worklo ...
ACM2023

Unsupervised Electrofacies Clustering Based on Parameterization of Petrophysical Properties: A Dynamic Programming Approach

François Fleuret, Karthigan Sinnathamby

Electrofacies using well logs play a vital role in reservoir characterization. Often, they are sorted into clusters according to the self-similarity of input logs and do not capture the known underlying physical process. In this paper, we propose an unsupe ...
SOC PETROPHYSICISTS & WELL LOG ANALYSTS-SPWLA2023

A case for DOT: Theoretical Foundations for Objects with Pattern Matching and GADT-Style Reasoning

Yichen Xu, Lionel Emile Vincent Parreaux, Aleksander Slawomir Boruch-Gruszecki

Many programming languages in the OO tradition now support pattern matching in some form. Historical examples include Scala and Ceylon, with the more recent additions of Java, Kotlin, TypeScript, and Flow. But pattern matching on generic class hierarchies ...
New York2022

Robustness in deep learning: The good (width), the bad (depth), and the ugly (initialization)

Volkan Cevher, Grigorios Chrysos, Fanghui Liu, Zhenyu Zhu

We study the average robustness notion in deep neural networks in (selected) wide and narrow, deep and shallow, as well as lazy and non-lazy training settings. We prove that in the under-parameterized setting, width has a negative effect while it improves ...
2022

The effects of the tip clearance on the performance of small-scale turbopumps for ORC applications; analysis and modeling

Jürg Alexander Schiffmann, Sajjad Zakeralhoseini

In this paper, the influence of tip clearance on the performance of small-scale turbopumps is studied numerically on extensive parameter ranges suitable for organic Rankine cycle applications. A novel and fully parameterized design model is developed and u ...
Technical University of Munich2021

Formalizing GADT constraint reasoning in Scala

Mario Bucev

Generalized algebraic data types (GADTs) are a powerful tool allowing to express invariants leveraging the type system. Scala 3 considerably improves the support of GADTs with respect to its predecessor Scala 2. A unique feature of Scala 3, compared to lan ...
2021

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.