English
Related papers

Related papers: Fluent Session Programming in C#

200 papers

In this era of diverse and heterogeneous computer architectures, the programmability issues, such as productivity and portable efficiency, are crucial to software development and algorithm design. One way to approach the problem is to step…

Mathematical Software · Computer Science 2012-07-10 Mauro Bianco , Ugo Varetto

The development of the SJ Framework for session-based distributed programming is part of recent and ongoing research into integrating session types and practical, real-world programming languages. SJ programs featuring session types…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-10-20 Nuno Alves , Raymond Hu , Nobuko Yoshida , Pierre-Malo Deniélou

Oftentimes, there is a need to experiment with different programming languages and technologies when designing software applications. Such experiments must be reproducible and share-able within a team workplace, and manual effort should be…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-05-05 Ayaz Hafiz , Kevin Jin

All formalizations of session types rely on linear types for soundness as session-typed communication channels must change their type at every operation. Embedded language implementations of session types follow suit. They either rely on…

Programming Languages · Computer Science 2023-03-03 Peter Thiemann

Fluent API is an object-oriented pattern for elegant APIs and embedded DSLs. A smart fluent API can enforce the API protocol or DSL syntax at compile time. As fluent API designs typically rely on function overloading, they are hard to…

Programming Languages · Computer Science 2023-03-13 Ori Roth , Yossi Gil

This paper proposes iblock, a comprehensive C++ library for Bitcoin simulation, designed for OMNeT++. iblock offers superior efficiency and scalability with respect to state-of-the-art simulators, which are typically written in high-level…

Cryptography and Security · Computer Science 2025-12-24 Niccolò Scatena , Pericle Perazzo , Giovanni Nardini

Although blockchains have become widely popular for their use in cryptocurrencies, they are now becoming pervasive as more traditional applications adopt blockchain to ensure data security. Despite being a secured network, blockchains have…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-12-10 Faisal Haque Bappy , Tariqul Islam , Tarannum Shaila Zaman , Md Sajidul Islam Sajid , Mir Mehedi Ahsan Pritom

The growing adoption of distributed data processing frameworks in a wide diversity of application domains challenges end-to-end integration of properties like security, in particular when considering deployments in the context of…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-05-07 Aurélien Havet , Rafael Pires , Pascal Felber , Marcelo Pasin , Romain Rouvoy , Valerio Schiavoni

In this paper, we introduce Continuation Passing C (CPC), a programming language for concurrent systems in which native and cooperative threads are unified and presented to the programmer as a single abstraction. The CPC compiler uses a…

Programming Languages · Computer Science 2012-11-15 Gabriel Kerneis , Juliusz Chroboczek

Session types describe the structure of communications implemented by channels. In particular, they prescribe the sequence of communications, whether they are input or output actions, and the type of value exchanged. Crucial to any language…

Logic in Computer Science · Computer Science 2023-06-22 Dimitris Mostrous , Vasco T. Vasconcelos

We propose a type-based analysis to infer the session protocols of channels in an ML-like concurrent functional language. Combining and extending well-known techniques, we develop a type-checking system that separates the underlying ML type…

Programming Languages · Computer Science 2016-04-14 Carlo Spaccasassi , Vasileios Koutavas

Modern web programming involves coordinating interactions between browser clients and a server. Typically, the interactions in web-based distributed systems are informally described, making it hard to ensure correctness, especially…

Programming Languages · Computer Science 2021-01-13 Anson Miu , Francisco Ferreira , Nobuko Yoshida , Fangyi Zhou

Non-volatile random access memory (NVRAM) offers byte-addressable persistence at speeds comparable to DRAM. However, with caches remaining volatile, automatic cache evictions can reorder updates to memory, potentially leaving persistent…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-08-20 Yuanhao Wei , Naama Ben-David , Michal Friedman , Guy E. Blelloch , Erez Petrank

The need for computational resources grows as computational algorithms gain popularity in different sectors of the scientific community. This search has stimulated the development of several cloud platforms that abstract the complexity of…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-01-18 Henrique C. T. Santos , Luciano S. de Souza , Jonathan H. A. de Carvalho , Tiago A. E. Ferreira

Purposely modular, this protocol enables customization of several protocol properties, including the consensus properties implemented, blockchain type, the roots used, and virtual machine opcodes, among others. These modules enable…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-12-20 Jovonni L. Pharr

We build on a fine-grained analysis of session-based interaction as provided by the linear logic typing disciplines to introduce the SAM, an abstract machine for mechanically executing session-typed processes. A remarkable feature of the…

Programming Languages · Computer Science 2024-01-22 Luís Caires , Bernardo Toninho

Session types are types for specifying protocols that processes must follow when communicating with each other. Session types are in a propositions-as-types correspondence with linear logic. Previous work has shown that a multiparty session…

Programming Languages · Computer Science 2021-02-10 Marco Carbone , Sonia Marin , Carsten Schürmann

- In this paper a session based symmetric key encryption system has been proposed and is termed as Permutated Cipher Technique (PCT). This technique is more fast, suitable and secure for larger files. In this technique the input file is…

Cryptography and Security · Computer Science 2009-08-04 Manas Paul , Tanmay Bhattacharya , Suvajit Pal , Ranit Saha

This paper improves the session typing theory to support the modelling and verification of processes that implement federated learning protocols. To this end, we build upon the asynchronous ``bottom-up'' session typing approach by adding…

Logic in Computer Science · Computer Science 2026-03-27 Ivan Prokić , Simona Prokić , Silvia Ghilezan , Alceste Scalas , Nobuko Yoshida

High Performance Computing is notorious for its long and expensive software development cycle. To address this challenge, we present Bind: a "partitioned global workflow" parallel programming model for C++ applications that enables quick…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-06-16 Alex Kosenkov , Matthias Troyer