Skip to content

l4e21/PROJECT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 

Repository files navigation

PROJECT : A Minimalist Metaobject Protocol for PROLOG

I wrote this ‘project’ (a portmanteau of PROLOG and Object) because

  1. I was tired of writing boilerplate over and over in PROLOG for what were essentially objects. PROLOG overuses ordinals IMO and this violates the third relational manifesto.
  2. Logtalk doesn’t support qsave very well, which I generally make extensive use of (DON’T WRITE DEAD SYSTEMS! Seriously).
  3. I was frustrated by XPCE’s lack of decent tooling, as well as its object system not being sufficiently introspective, as are many other declarative object systems.
  4. I wanted something lightweight + easy to understand for an expert user.

A basic metaobject protocol is provided with inheritance, good integration with PROLOG, and a simple dispatch shell. Memory is currently managed manually, but hopefully eventually I will add a garbage collector. There is no static inference or optimisation for now.

An example harness for example-driven development will be coming soon. An image is provided.

About

A Minimalist Metaobject Protocol for PROLOG

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages