functional programming languages
Recently Published Documents


TOTAL DOCUMENTS

119
(FIVE YEARS 14)

H-INDEX

12
(FIVE YEARS 1)

2021 ◽  
pp. 32-41
Author(s):  
Oleg Domanov

Situation semantics is an effective instrument for analysing semantical aspects of natural languages with explicit dependence on contexts, like referential opacity of belief contexts etc. Making use of type-theoretical approaches not only makes its formalism more practical in many ways, but also facilitates its migration to computer systems, specifically, the formalization in functional programming languages. The article deals with a prototype of the type theoretical language of situation semantics, implemented on the basis of the language Racket. It decribes principal approaches, methods of solving some problems of formal semantics as well as issues that need to be addressed.


Author(s):  
JOSEPH BOUDOU ◽  
MARTÍN DIÉGUEZ ◽  
DAVID FERNÁNDEZ-DUQUE ◽  
PHILIP KREMER

Abstract The importance of intuitionistic temporal logics in Computer Science and Artificial Intelligence has become increasingly clear in the last few years. From the proof-theory point of view, intuitionistic temporal logics have made it possible to extend functional programming languages with new features via type theory, while from the semantics perspective, several logics for reasoning about dynamical systems and several semantics for logic programming have their roots in this framework. We consider several axiomatic systems for intuitionistic linear temporal logic and show that each of these systems is sound for a class of structures based either on Kripke frames or on dynamic topological systems. We provide two distinct interpretations of “henceforth”, both of which are natural intuitionistic variants of the classical one. We completely establish the order relation between the semantically defined logics based on both interpretations of “henceforth” and, using our soundness results, show that the axiomatically defined logics enjoy the same order relations.


2021 ◽  
Vol 31 ◽  
Author(s):  
BHARGAV SHIVKUMAR ◽  
JEFFREY MURPHY ◽  
LUKASZ ZIAREK

Abstract There is a growing interest in leveraging functional programming languages in real-time and embedded contexts. Functional languages are appealing as many are strictly typed, amenable to formal methods, have limited mutation, and have simple but powerful concurrency control mechanisms. Although there have been many recent proposals for specialized domain-specific languages for embedded and real-time systems, there has been relatively little progress on adapting more general purpose functional languages for programming embedded and real-time systems. In this paper, we present our current work on leveraging Standard ML (SML) in the embedded and real-time domains. Specifically, we detail our experiences in modifying MLton, a whole-program optimizing compiler for SML, for use in such contexts. We focus primarily on the language runtime, reworking the threading subsystem, object model, and garbage collector. We provide preliminary results over a radar-based aircraft collision detector ported to SML.


Author(s):  
Patrick Baillot ◽  
Alexis Ghyselen

AbstractType systems as a technique to analyse or control programs have been extensively studied for functional programming languages. In particular some systems allow to extract from a typing derivation a complexity bound on the program. We explore how to extend such results to parallel complexity in the setting of the pi-calculus, considered as a communication-based model for parallel computation. Two notions of time complexity are given: the total computation time without parallelism (the work) and the computation time under maximal parallelism (the span). We define operational semantics to capture those two notions, and present two type systems from which one can extract a complexity bound on a process. The type systems are inspired both by size types and by input/output types, with additional temporal information about communications.


Author(s):  
Norihiro Yamada ◽  
Samson Abramsky

Abstract The present work achieves a mathematical, in particular syntax-independent, formulation of dynamics and intensionality of computation in terms of games and strategies. Specifically, we give game semantics of a higher-order programming language that distinguishes programmes with the same value yet different algorithms (or intensionality) and the hiding operation on strategies that precisely corresponds to the (small-step) operational semantics (or dynamics) of the language. Categorically, our games and strategies give rise to a cartesian closed bicategory, and our game semantics forms an instance of a bicategorical generalisation of the standard interpretation of functional programming languages in cartesian closed categories. This work is intended to be a step towards a mathematical foundation of intensional and dynamic aspects of logic and computation; it should be applicable to a wide range of logics and computations.


2020 ◽  
Vol 27 (3) ◽  
pp. 13-24
Author(s):  
André Rauber Du Bois ◽  
Rodrigo Ribeiro ◽  
Maycon Amaro

Unification is the core of type inference algorithms for modern functional programming languages, like Haskell and SML. As a first step towards a formalization of a type inference algorithm for such programming languages, we present a formalization in Coq of a type unification algorithm that follows classic algorithms presented in programming language textbooks. We also report on the use of such formalization to build a correct type inference algorithm for the simply typed λ-calculus.


Author(s):  
Igor Oblomov ◽  
Vyacheslav Rzhavin ◽  
Natalia Pervova ◽  
Alina Gerasimova

В статье рассматривается модель синтаксически управляемого перевода простых арифметических выражений и ее использование в процессе обучения. Атрибутно-транслируемая грамматика предполагает перевод последовательности актов в последовательность действий, которые, в свою очередь, будут являться исходными данными для следующих этапов трансляции. Раскрываются основные моменты обучения студентов декларативному языку программирования Пролог, делается упор на обработку множества символов действия. Дальнейшие исследования предполагают разработку моделей синтаксического анализа с помощью средств императивных и функциональных языков программирования с целью получения и анализа объективных оценок эффективности полученных моделей в процессе обучения будущих специалистов.This article discusses the model of syntactically controlled translation of simple arithmetic expressions and its use in the learning process. The attribute-translated grammar involves the translation of a sequence of acts into a sequence of actions, which will be the source data for the next stages of translation. The article reveals the main points of teaching students the Prolog programming language, focuses on the processing of many action symbols. Further research involves the development of models of syntactic analysis by means of imperative and functional programming languages in order to obtain and analyze the objective estimates of the effectiveness of the obtained models in the training of future specialists.


Author(s):  
Igor Oblomov ◽  
Vyacheslav Rzhavin ◽  
Vitaly Krasnov ◽  
Klara Fadeeva

Статья посвящена анализу проблем организации обучения логическому и функциональному языкам программирования и путей их решения. Авторами рассмотрены взгляды исследователей на изучение декларативных языков программирования. Обозначены актуальные проблемы преподавания декларативных языков программирования в высшей школе. Решение этих проблем существенно повышает уровень подготовленности будущего специалиста, расширяет его кругозор и совершенствует его навыки разработки сложных программных проектов в различных областях, в том числе в искусственном интеллекте.The article is devoted to the analysis of problems of organization of teaching logical and functional programming languages and the ways for the solution of those problems. The authors considered the views of the researchers on the study of declarative programming languages; identified the current problems of teaching declarative programming languages at universities; stated that the solution of the discussed problems increases the level of readiness of future specialists, expands their outlook and develops the skills of development of complex programming projects in various fields, including artificial intelligence.


2019 ◽  
Vol 53 (3 (250)) ◽  
pp. 191-202
Author(s):  
S.A. Nigiyan

The built-in functions of programming languages are functions with indeterminate values of arguments. The built-in McCarthy functions $ car $, $ cdr $, $ cons $, $ null $, $ atom $, $ if $, $ eq $, $ not $, $ and $, $ or $, are used in all functional programming languages. In this paper we show the $ \lambda $-definability of the built-in McCarthy functions as functions with indeterminate values of arguments. This result is necessary when translating typed functional programming languages into untyped functional programming languages.


Sign in / Sign up

Export Citation Format

Share Document