Using logic programming languages has seen a resurgence in the domain of static program analysis. Such languages like Datalog, while useful, suffer from limitations in expressivity and real-world applicability. This dissertation explores tackling these limitations from different angles. \emph{Slog} extends Datalog with nested facts. By allowing facts to reference other facts, Slog becomes a Turing-complete language, allowing it to express a wider range of analyses. Moreover, Slog has been designed with an eye towards automatic non-shared-memory parallelization. \emph{Ascent} embeds a logic programming language like Datalog in Rust, a high-performance, type-safe programming language. By embedding Ascent in Rust, a wealth of Rust-provided ab...
This paper describes two techniques for Datalog query evaluation and their application to object-ori...
Functional languages can be enriched with logic variables to provide new computational features suc...
LogicBlox is a platform for the rapid development of enterprise applications in the domains of decis...
This article presents an overview of applications of logic programming, classifying them based on th...
Book synopsis: Logic programming continues to develop by broadening its foundations, exploring new l...
Rust is a modern systems programming language that offers improved memory safety over traditional la...
An accident of implementation may be responsible for the fact that Logic Programming, Deductive Data...
Generally logic programs are considered more abstract than programs written in other paradigms. Yet ...
1 Introduction The importance of profiling in improving the performance of programs is widelyrecogni...
We describe an approach to logic programming where the execution of a pure logic program is ordered ...
. This paper argues that for many algorithms, and static analysis algorithms in particular, bottom-...
The increasing available parallelism of computers demands new programming languages that make parall...
AbstractProgramming environments are essential for the acceptance of programming languages. This sur...
Abstract. Logic programming can be given a foundation in sequent calculus, viewing computation as th...
Software Product Lines (SPLs) allow software engineering teams to develop families of products toget...
This paper describes two techniques for Datalog query evaluation and their application to object-ori...
Functional languages can be enriched with logic variables to provide new computational features suc...
LogicBlox is a platform for the rapid development of enterprise applications in the domains of decis...
This article presents an overview of applications of logic programming, classifying them based on th...
Book synopsis: Logic programming continues to develop by broadening its foundations, exploring new l...
Rust is a modern systems programming language that offers improved memory safety over traditional la...
An accident of implementation may be responsible for the fact that Logic Programming, Deductive Data...
Generally logic programs are considered more abstract than programs written in other paradigms. Yet ...
1 Introduction The importance of profiling in improving the performance of programs is widelyrecogni...
We describe an approach to logic programming where the execution of a pure logic program is ordered ...
. This paper argues that for many algorithms, and static analysis algorithms in particular, bottom-...
The increasing available parallelism of computers demands new programming languages that make parall...
AbstractProgramming environments are essential for the acceptance of programming languages. This sur...
Abstract. Logic programming can be given a foundation in sequent calculus, viewing computation as th...
Software Product Lines (SPLs) allow software engineering teams to develop families of products toget...
This paper describes two techniques for Datalog query evaluation and their application to object-ori...
Functional languages can be enriched with logic variables to provide new computational features suc...
LogicBlox is a platform for the rapid development of enterprise applications in the domains of decis...