Paul Tarau
Research Publications
Software
Research Interests: Natural Language
Processing, Logic Programming, Deep Learning, Type Inference and Theorem
Proving, Compilers and Abstract Machines, Tree-based Arithmetic Systems, Combinatorics of Lambda Terms
Personal
Links:
My wife Brenda Luderman and our kids Dylan Tarau and Siena Tarau
.
Extended CV with full list of publications (PDF).
Online papers: browse, references to papers
Academic
position: Professor
Education: Ph.D.
Univ. of Montreal, Canada (Computer Science), M.Sc. Univ. Laval, Canada
(Computer Science), B.Sc. Univ. of Bucharest, Romania, (Mathematics)
NSF supported research projects: Arithmetic
Algorithms and Applications of Hereditarily Binary Numbers. Papers and code
on these new tree-based numbering systems are here. NLP-related
collaborative NSF
project. Research
project on a data transformation framework
that allows morphing between data types sharing the same information content. This paper
describes bijections between fundamental data types. On lambda
calculus and combinators in logic programming: draft paper (70p) and code here.
Research Talks, papers and
slides
My Open Source Software, here is a
selection of (recent) favorites:
DeepLLM:
Full Automation of Goal-driven LLM Dialog Threads with And-Or Recursors and Refiner Oracles
Natlog:
Lightweight Prolog-like Interpreter and nested tuple store for
unification-based tuple mining in Python
iProlog:
A Prolog Interpreter, in Java, derived from first principles (as described here)
Stanza Graph: Multilingual
STANZA-based Summary and Keyword Extractor and Question-Answering System using
Text Graphs and Neural Networks
TypesAndProofs: Theorem provers and combinatorial
testers for intuitionistic propositional logic and type inhabitation problems
in Prolog
DeepRank:
Python and Prolog-based summary, keyphrase and
relation extractor from text documents using dependency graphs.
PythonProvers:
Theorem provers and combinatorial testers for intuitionistic propositional
logic and type inhabitation problems in Python
Styla: a
Prolog interpreter in Scala, also here,
Jinni Prolog: a Java-based
compiler and runtime system,
BinProlog:
a C-based compiler and runtime system,
Arithmetic operations with
tree-based natural and rational numbers in Scala,
Bijective Goedel Numberings in Scala,
Kernel Prolog: a Prolog
interpreter in Java.
Logic Transformers: ransformers from Horn Clause Programs to Code Running on
Lightweight Python, Swift, Julia and C-based Virtual Machines
Contact
Information
E-mail
: myfirstname.mylastname@unt.edu
WWW : https://ptarau.github.io
Address: Department of Computer Science and Engineering,
University of North Texas, 1155 Union Circle
#311366 Denton, Texas 76203-5017, USA
Phone
: +1-940-565-2806, +1-940-565-2767
Program
committees: FLOPS 2024, ICLP 2023, PADL 2023, ICLP 2022, PADL 2022,
PPDP 2021, ICLP 2021, ICLP 2020, PADL 2019, ICLP 2018 (program chair), ICLP 2017,
PADL 2018, PADL 2017, PADL 2016, LATA
15, ICLP 2014,TextGraphs
13, LOPSTR 13, ACM SAC 13, CICLOPS 12,
GPCE 12 , TextGraphs-7, FLOPS 2012,
ACM SAC 12, PPDP 11, DSL 11, CICLOPS 11, ACM SAC 09,
CICLOPS 08, ICLP 07, ACM SAC 06,
ICLP
04, PADL 04, INAP 04, SONA 04, PADL 03, PADL 02, CICLOPS2002, PPDP 2000,
CL2000,JFPLC 2000, ESAW 2000,MAS 99, COCL 99,IDL 99,DIPLCLP 99,WETICE 98, JICSLP 98,JFPLC 98,COCL 98,
ILPS 97, JICSLP 96, JFPL 96, ICLP 95, LOPSTR 95
Workshops organized:
CICLOPS 2009 at ICLP 09, IDL 99 at PLI 99, DIPLCL
99 ICLP 99
ICLP 97: 2nd International Workshop on Logic
Programming Tools for Internet Applications JICSLP
96:
ILPS 94: Implementation of Logic Programming
Languages
ICLP 93: Blackboard Based Logic Programming
Courses taught at UNT:
CSCE 5210 Fundamentals of Artificial Intelligence
CSCE 3110 Data Structures and Algorithms
CSCE 4430 Programming Languages
CSCE 5430 Software Engineering
CSCE 5400 Automata Theory
CSCE 3030 Parallel Programming
CSCE 5160 Parallel Processing and Algorithms CSCE 5450 Programming Languages
CSCE 5290/4930 Natural Language
Processing
CSCE 5150-2 Analysis of Algorithms
CSCE 6933 Logic and Knowledge Processing in Computer Science
CSCE 2100 Foundations of Computing
CSCE 5450 Programming Languages
CSCE 4010-002 Social Issues in Computing.
CSCE 3220 Human Computer Interfaces
CSCE 3210 Symbolic Processing
Advanced Object Oriented and Functional Programming in Scala
CSCE 5430 Topics in Software Engineering
CSCE 5420: Software Development
CSCE 6933 Topics in Computational Mathematics
CSCE 5170: Graph Theory
CSCE 3600: Principles of System Programming CSCE
CSCE 5210: Artificial Intelligence
CSCI 4410: Introduction to Artificial Intelligence
CSCI 3400: - Data Structures
CSCI 6330: Advanced Topics in Software Agents
CSCI 5540: - Operating Systems
CSCI 4250 Survey of Computer Languages
CSCI 6330 Advanced Internet Programming
Policy on directed studies, projects and reference letters: I will consider
requests for directed studies and projects only for students working
with me on a PhD or MSc thesis. Otherwise, I believe that regular
classes, involving team work and presentations are likely to provide a more
complete learning experience. Requests to work as a TA should be
addressed directly to the department. Reference letters from me
are not needed as the priority list is built independently by the department. I
will provide reference letters for job or grant applications to students with
which I worked directly as member of their thesis committees.