[00:34] *** Davbo has joined #kamaelia
[10:32] *** Davbo has joined #kamaelia
[10:56] < ms-afk> morning
[12:50] < ms-afk> hm. no-one's bothered to think about trying to make prolog type things simpler
[12:50] < ms-afk> simpler for people to use that is
[12:51] < ms-afk> Nor taken into account that whilst prolog is nice, most facts are non-atomic
[12:52] < ms-afk> well, I'm sure they have taken it into account, but very few people understand how
[12:56] < ms-afk> Also, I think that the more I look back at prolog, the more I realise that adding (user modifiable) rules into the database for a web app which also accepts user data *AND* (crucially) runs queries based on those rules
[12:56] < ms-afk> does mean that I've implemented a mini-prolog core.
[12:56] < ms-afk> (having looked at 3 prolog implementations in python now)
[12:57] < ms-afk> It's completely sub-optimal though
[12:57] < ms-afk> tis amusing though.
[12:58] < ms-afk> (relevant to kamaelia since I'll be adding the rule engine, as I've been referring to it, to kamaelia at some point since I need it to be able to run continuously, and K is an easy way to achieve that)
[12:59] < Davbo> sounds interesting ms-afk
[13:00] < ms-afk> Davbo: Well the thing I've done is been doing some digging after last night and found up why micro-prolog was easier to learn than traditional prolog
[13:00] < ms-afk> and its for 2 key reasons
[13:01] < ms-afk> firstly it used a more human friendly syntax - which just naturally assists comprehension of what's going on
[13:01] < ms-afk> The other though was that rather than just coming back with "No" or "False"
[13:02] < ms-afk> if it would fail because of insufficient information, it's default would be to a) tell you that by b) asking you for the information it needs
[13:02] < ms-afk> That by definition would assist with writing more programs. (And also give you interactivity for free)
[13:03] < ms-afk> eg define a term in normal prolog:
[13:03] < ms-afk> citizen(X,Y) :- born(X,Y).
[13:03] < ms-afk> and then query:
[13:04] < ms-afk> ?- citizen(john, X).
[13:04] < ms-afk> ERROR: citizen/2: Undefined procedure: born/2
[13:04] < ms-afk> In microprolog, becomes
[13:04] < ms-afk> % X citizen-of y if x born-in y
[13:04] < ms-afk> User then goes:
[13:04] < ms-afk> % User: where John citizen-of x?
[13:04] < ms-afk> system then responds:
[13:04] < ms-afk> where john born-in x?
[13:04] < ms-afk> user responds:
[13:04] < ms-afk> England
[13:04] < ms-afk> Machine response with:
[13:04] < ms-afk> John citizen-of England.
[13:05] < ms-afk> It's not a *huge* amount better, but it's definitely more person friendly
[13:05] < Davbo> That's a lot better to the "No" we normally get
[13:05] < ms-afk> indeed
[13:06] < ms-afk> Well, given that concurrency is now easy to work with, I have to think about what to add in next
[13:06] < ms-afk> :-)
[13:07] < ms-afk> And also I am working on something where I've got some form of very simplistic data/rule/query system based on json objects
[13:07] < ms-afk> so that seems a logical thing to bear in mind
[13:07] < ms-afk> Also, the system I'm dealing with does also have the mechanism of being able to pose questions to people to gather the data necessary...
[13:08] < ms-afk> OK, wandering off for a while now
[13:08] < ms-afk> back later
[14:44] < Davbo> http://www.linux.com/feature/149992 "Will Richard Stallman insist that the baby be called GNU/Linux?"
[15:18] *** vmlemon_ has joined #kamaelia
[16:26] *** vmlemon_ has joined #kamaelia
[19:14] *** Davbo has joined #kamaelia
[19:49] *** vmlemon_ has joined #kamaelia
[19:53] < vmlemon_> kamlogbot: dance
[19:53] Reply: does the macarena
[19:53] *** Davbo struggles to uninstall python2.6
[19:54] < Davbo> or at least make 2.5 the main install
[21:27] *** vmlemon_ has joined #kamaelia
[21:37] *** vmlemon_ has joined #kamaelia