Re: negotiation by failure- list operations
- From: "Brian Hulley" <brianh@xxxxxxxxxxxx>
- Date: 14 Jun 2005 16:13:01 -0700
Bart Demoen wrote:
> Brian Hulley wrote:
>
> > My own Prolog (not yet released - www.metamilk.com):
>
> Please give more details about your own Prolog, how/why it differs
> from other Prolog systems, why it was worth to go through the trouble
> (of implementing another Prolog system), how ISO compliant it is, its
> performance, which platforms it will run on, whether it will be free
> to academia, whether we can obtain source code (for free !) and
> contribite with essential parts of a decent Prolog implementation that
> you are bound to be missing etc...
At the moment there are many aspects that are not finished. My main
interest is in the actual interactive environment for developing
programs, and in particular, to eliminate the concept of files and the
need to keep reconsulting.
In my system, the editing and code navigation are all done in the same
window. As soon as a clause is typed in it is instantly asserted into
the database and its colours change so the user can see the clause is
now asserted. Ie parsing conceptually happens on every keypress. The
current state of the parse causes relevant parts of code to be
highlighted eg singleton variables, and only when a clause is perfect
is it accepted. Thus there is no hanging about waiting for error
messages to appear and then having to track them down etc. If the user
then changes the clause the original clause is retracted. Eventually
the user will be able to hyperlink about in the code base using this
same full-screen editor window.
Elimination of files means that the code needs to be organised by the
system instead of the user, so I've opted for a hierarchical module
system with a one-to-one correspondence between modules and location of
file on permanent storage. The files are updated and directories
created/deleted as necessary behind the scenes so that all the user
needs be concerned about is the concepts of the programming language
itself (as in Smalltalk)
As far as I know there was no other free Prolog system with such a
module system to use. Also I've had to carefully design the module
system to allow clauses to be compiled in isolation. Hence things like
ISO metapredicates are unlikely to be possible since this would require
global recompilation or knowledge of modules which may not yet exist.
Also I'm not very good at understanding raw C, and since I had a copy
of Hassan Ait-Kaci's excellent WAM tutorial I started implementing it
myself, not quite realising that the tutorial only covers the tip of
the iceberg... However I've made use of SWI-Prolog to generate files of
C++ for various parts of my implementation from declarative
descriptions in Prolog eg the C++ code for cases for the switch
statement for unification are generated by a simple (but useful!)
prolog program.
I'm trying to make the core (ie without modules) as ISO compliant as
possible, with the exception of using '.' to specify module paths
instead of list cons but I think this is a relatively minor issue.
Currently compilation is to a modified WAM instruction set with the
usual optimizations, which seems to run quite fast although I haven't
done any benchmarks yet - the code generation aspect is only secondary
at the moment.
At the moment the only platform is Windows XP, and a graphics card is
required since the window system is completely written from scratch
using DirectX to get nice translucent windows etc. The purpose of the
implementation started out as a scripting language for a 3d mesh
generation program, although I'm now separating out these elements.
The hope is eventually to make it available on other platforms, but my
resources are limited at present.
As regards making it free to academia and/or releasing source code, my
ideal would be to make everything available free. However I don't have
any source of funding or even income at present so I don't think this
will be possible at the moment (unless anyone's willing to give me a
job!!!!)
>
> I have to admit that the amount of detail in
> http://www.metamilk.com/legal.html compared to the details in
> other sections in the metamilk site, is scaring me, but maybe you
> can reassure me ?
Please be reassured. I got very scared about the serious problem of
software patents (did you know even tab controls are supposedly
patented, and also the idea of making a menu appear when you type a
special character such as a dot for code completion etc. This is a
great pity as I'd have liked to have code completion in my system)
Thus the whole of the legal section is about disclaiming all possible
liabilities. As far as I'm concerned civilisation would be much
improved if people could grow out of the need for laws and just learn
to develop a proper understanding and acceptance of each other, but
I've had to have a legal section to cater for those people who don't
agree with me on this issue. In particular, the licence aims to try and
kill out software patenting/IPR but I don't know to what extent this
will work in practice since there are very powerful vested interests
(eg patent offices) working for the dark side...
So in summary, I've still got quite a lot to do before it will be
possible to release a version.
Cheers, Brian.
.
- References:
- negotiation by failure- list operations
- From: ne0
- Re: negotiation by failure- list operations
- From: Brian Hulley
- Re: negotiation by failure- list operations
- From: ne0
- Re: negotiation by failure- list operations
- From: Brian Hulley
- Re: negotiation by failure- list operations
- From: matthiasse
- Re: negotiation by failure- list operations
- From: Brian Hulley
- Re: negotiation by failure- list operations
- From: Brian Hulley
- Re: negotiation by failure- list operations
- From: Brian Hulley
- Re: negotiation by failure- list operations
- From: ne0
- Re: negotiation by failure- list operations
- From: Brian Hulley
- Re: negotiation by failure- list operations
- From: Brian Hulley
- Re: negotiation by failure- list operations
- From: matthiasse
- Re: negotiation by failure- list operations
- From: Brian Hulley
- Re: negotiation by failure- list operations
- From: Bart Demoen
- negotiation by failure- list operations
- Prev by Date: Re: negotiation by failure- list operations
- Next by Date: Re: cross-module asserting/retracting - is this a good thing?
- Previous by thread: Re: negotiation by failure- list operations
- Next by thread: Re: negotiation by failure- list operations
- Index(es):
Relevant Pages
|
|