I wrote this ‘project’ (a portmanteau of PROLOG and Object) because
- 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.
- Logtalk doesn’t support qsave very well, which I generally make extensive use of (DON’T WRITE DEAD SYSTEMS! Seriously).
- 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.
- 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.