P# is a compiler which facilitates
interoperation between a concurrent superset of the Prolog
programming language and C#. This enables Prolog to be used
as a native implementation language for Microsoft's .NET
platform. P# compiles a linear logic extension of
Prolog to C# source code.
- P# can create C# objects from Prolog and use
C#'s graphical, networking and other libraries.
- P# adds language constructs on the Prolog side
which allow concurrent Prolog code to be written.
- P# adds a primitive predicate which evaluates a Prolog
structure on a newly forked thread. Communication
between threads is based on the unification of
variables contained in such a structure. It is also
possible for threads to communicate through a globally
accessible table.
- All of the new features are available to the
programmer through new built-in Prolog
predicates.
- P# itself can be compiled with Mono, the
open-source C# compiler developed by Ximian.
Mono C# version 0.26.0.0 and higher can compile
the C# code generated by P#.
P# has been developed by Jon Cook in the
Laboratory for Foundations of Computer Science in The
University of Edinburgh and is based on Prolog
Café, a Prolog to Java compiler.
|