unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Andy Wingo <wingo@pobox.com>
To: stefan <stefan.tampe@spray.se>
Cc: guile-devel@gnu.org
Subject: Re: unified field theory!
Date: Sun, 23 May 2010 23:12:35 +0200	[thread overview]
Message-ID: <m31vd2wce4.fsf@pobox.com> (raw)
In-Reply-To: <201005231652.42280.stefan.tampe@spray.se> (stefan's message of "Sun, 23 May 2010 16:52:42 +0200")

Hi Stefan,

On Sun 23 May 2010 16:52, stefan <stefan.tampe@spray.se> writes:

> I did introduce prompts to the example unify code, and the comparison 
> resulted in
> no-prompt     :  37ms
> gp-prompt     :  35ms
> guile-prompts :  49ms
>
> I think using guile prompts are acceptable here. But they are on the expensive 
> side, especially in the light that unwinding should not put a significan
> mark on the timings.

Good news that it's OK, and agreed that it's on the expensive side; but
this may be fixed in Guile.

(For example, we could (and probably should) maintain the dynamic
context as a proper stack rather than a consed list. This has the same
performance tradeoffs that heap frames versus stack frames have,
regarding continuations; but the advantages to the normal case are more
important. In addition some prompts and aborts may be reduced to normal
control flow at compile time. This is a parenthetical note, due to the
tangential relevance to your code.)

> II)
> unify variables and fluid variables are close in nature. So it would be cool
> to understand the difference better. i will dive in on that. 

Interesting question. Please let us know of your results.

> III)
> One cool thing is to abstract out matchers. As a result you get a little tool
> to create top down parsers. here we go, consider
>
> (udef <i> (((? integer? X) . L) (cons X  L)
> 	   (L                   (cons #f L))))
>
> A matcher for an integer!

All of this is very stimulating! Perhaps even more so for someone as
ignorant as myself, as I have more to learn.

It does seem that you are nearing a point where your code can be
generally useful. What do you think about starting a project on savannah
or gitorious, and tracking your code in git, together with these test
cases? If you are not familiar with the process, we can help you out. It
would be interesting to follow your hackings.

Cheers,

Andy
-- 
http://wingolog.org/



  reply	other threads:[~2010-05-23 21:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-23 14:52 unified field theory! stefan
2010-05-23 21:12 ` Andy Wingo [this message]
2010-05-25  8:06   ` stefan
2010-05-26 11:16   ` fluids and unification Stefan
2010-05-26 13:13     ` Andy Wingo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m31vd2wce4.fsf@pobox.com \
    --to=wingo@pobox.com \
    --cc=guile-devel@gnu.org \
    --cc=stefan.tampe@spray.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).