[Squeak port] GSoc ending - Final impressions and random thoughts

5 views
Skip to first unread message

cdrick

unread,
Aug 16, 2008, 1:59:44 PM8/16/08
to open...@googlegroups.com
Hi,

Here is a quick conclusion of the GSoC project that has made me port part of NARS to squeak.

What we achived is having first order inference with inheritance and similarity working (next step is to have property and instance). Once more stable, I'll leave a running application at the following adress:
http://nars.seasidehosting.st

The wiki will stay up but as this is a home server, it's not that reliable...
http://www.squeakside.com/seaside/ (wiki)
http://www.squeakside.com/seaside/NARS/MAIN (main app that will be on seasidehosting)

---My Plan are:
continue to port the system but problably not much until november (PhD' coming back ;) )
I think I'll try to refrain refactorings so that I can see all the interactions (all senders etc...) and therefore I need to port more.

I hope by next summer to have to "full" system implemented so that you can start using it :)
Once there, I think I'll be able to experiment deep refactorings (dispatching to avoid as much as possible, switch cases and figure)

-- Random thoughts (before I forget :) )

I think Terms and friend should have more responsability to handle the figure. Statement might be able to return figure.
aStatement figureOutCommonTermPositionWith: anotherStatement  returns 11, 12, 21, 22.
Instead of returning the integer, it could fire the inference rules accordingly

Sentence and subclasses should have responsabilities too to have a better dispatch in RuleTables I think

I think we could gain some dispatch power by creating intermediar classes, like for FOStatement and HOStatement (First order, higher order).

I think it might be interesting to have memory implemented non static so that we can have simulteanously several memory objects.

All inferences static classes could be in Memory to me (but this would become huge). Then I think we could split memory in a memory (containting bags and shortcuts to the processed element) and a controller or reasoner that dispatchs and executes rules.

I would move fire into Memory.
I would give task more responsabilities (a bit like concept) as tasks are active knowledge.

I created a Class Link (old TermLink) and subclassed with an empty TermLink. I may go deeper as we talked but I might use composition too to avoid to repeat some code. Anyway I'll ask your opinion on that when I'll be doing it...

Some confusion:
I get confused with Tense and TemporalRelation.
I'm still also confused on when to give a reference to the real object or to its clone


That's all for now ;)

Cheers and thanks a lot Pei,
Cédrick

Pei Wang

unread,
Aug 16, 2008, 6:02:17 PM8/16/08
to open...@googlegroups.com
Cédrick,

Congratulations for finishing the project on schedule! Given the
complexity of the task and the time constraint, this is quit an
achievement.

Your following comments all make sense. Of course, there are still
many issues to be solved. I look forward to the further developments
of your ideas, when you have the time. Now I'll let you enjoy your
(deserved) break. ;-)

Cheers!

Pei
Reply all
Reply to author
Forward
0 new messages