From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: stefan Newsgroups: gmane.lisp.guile.devel Subject: Re: guile prolog benchmark Date: Tue, 22 Jun 2010 14:48:03 +0200 Message-ID: <201006221448.03108.stefan.tampe@spray.se> References: <201006211222.06524.stefan.tampe@spray.se> <201006220940.06631.stefan.tampe@spray.se> <87631bnv6g.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1277214661 9430 80.91.229.12 (22 Jun 2010 13:51:01 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 22 Jun 2010 13:51:01 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Jun 22 15:50:59 2010 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OR3sQ-0007A8-5V for guile-devel@m.gmane.org; Tue, 22 Jun 2010 15:50:58 +0200 Original-Received: from localhost ([127.0.0.1]:59579 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OR3YJ-0002Cz-Ff for guile-devel@m.gmane.org; Tue, 22 Jun 2010 09:30:11 -0400 Original-Received: from [140.186.70.92] (port=39903 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OR3VR-0001uZ-Hh for guile-devel@gnu.org; Tue, 22 Jun 2010 09:27:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OR3V0-0008D7-VD for guile-devel@gnu.org; Tue, 22 Jun 2010 09:26:49 -0400 Original-Received: from spsmtp02oc.mail2world.com ([74.202.142.198]:2121) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OR3V0-0008Ci-RE for guile-devel@gnu.org; Tue, 22 Jun 2010 09:26:46 -0400 Original-Received: from mail pickup service by spsmtp02oc.mail2world.com with Microsoft SMTPSVC; Tue, 22 Jun 2010 06:26:44 -0700 auth-sender: stefan.tampe@spray.se Original-Received: from 82.182.254.46 unverified ([82.182.254.46]) by spsmtp02oc.mail2world.com with Mail2World SMTP Server; Tue, 22 Jun 2010 06:26:44 -0700 User-Agent: KMail/1.12.4 (Linux/2.6.31.12-0.2-desktop; KDE/4.3.5; x86_64; ; ) In-Reply-To: <87631bnv6g.fsf@gnu.org> X-OriginalArrivalTime: 22 Jun 2010 13:26:44.0946 (UTC) FILETIME=[8F139B20:01CB120E] X-detected-operating-system: by eggs.gnu.org: Windows 2000 SP4, XP SP1+ X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:10544 Archived-At: On Tuesday 22 June 2010 01:49:59 pm Ludovic Court=C3=A8s wrote: > Hi Stefan, >=20 > stefan writes: > > http://gitorious.org/guile-unify/ > > > > I think it's a good start. Also I will try to make a less rude > > version of it. Until then you would not like to merge that code. > > so it is best to keep it in "playground" for some time. >=20 > What justifies such a tight coupling with Guile core? >=20 > It would really help maintenance and review if this were an independent > package. Only then should you consider optimizations that can only go > in Guile core, IMO. >=20 > Thanks, > Ludo=E2=80=99. >=20 I wanted to branch the repo into an orthogonal code at a point and move=20 everything into the prolog directory under lang just as you want. I think that this approach is a logical approach to combining a prolog vm and a scheme vm though. why? 1. the vm has some registers like sp,ip that the prolog logic can take=20 advantage of. 2. doing it in scheme only lead to a waste of stack space. There is a "almost tail" call logic inside prolog. 3. prolog is very much like mathematical expressions. virtually every=20 operation will be a foreign call if the core is pushed into c which is n= ot a stupid thing to want. 4. this aproach matches gprologs WAM in speed if I'm not misstaken,=20 but I think that by combining scheme and unification + backtracking mean= s=20 that this approach have a selling edge. 5. A language component need to be performant, the competition is hard and= =20 also by pushing to the edge you will know that it is a good approach if it=20 matches other mature implementations. 6. Although a tight coupling is difficult and cumbersome, other aspects=20 will line up very nicly and can nullify this difficulty. Also I want the repo to be a case for anybody interested in how to mod a vm= =20 into beeing performant logic programming engine as well. I don't think you= =20 will get the same speed with java or c# whatever you do. And last as a hacker I love to push things to the limits. I just wan't a=20 have fun :-) Regards Stefan