unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* Syntax checks
@ 2002-04-06  6:25 Dirk Herrmann
  2002-04-06 15:38 ` Neil Jerram
  2002-04-07 10:05 ` Marius Vollmer
  0 siblings, 2 replies; 18+ messages in thread
From: Dirk Herrmann @ 2002-04-06  6:25 UTC (permalink / raw)


Hello everybody,

in the evaluator, there are a lot of syntax checks performed that could
probably better be performed in a previous syntax checking phase, keeping
the evaluator itself free of such checks.

As an example, there is the 'do loop construct: In the body of the do loop
you only have to execute expressions that can have a side effect.  We do
not have a proper analysis for which expressions can have a side effect
and which don't, but there is a simple syntactic criterion that can be
used:  If the expression is not a list, then it is an object or a variable
reference and can't have sideeffects.

Thus, the body of the do loop could be scanned in the macro transformer
and freed of unnecessary expressions.  Then, the corresponding check in
the evaluator could be removed.

I would like to apply such changes, but I have some questions:

* Removing unnecessary expressions from code would change the source in a
way that can't be restored by unmemoizing.  Do we care?  In the long run
we will probably want to allow more transformations on the source anyway
for the sake of optimization.  Then, memoization/unmemoization won't work
and we will have to provide a different mechanism to record the
relationship between transformed code and the source.

* Should warnings be issued when dead code is eliminated from the source?

Best regards
Dirk Herrmann


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2002-05-09  5:59 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-04-06  6:25 Syntax checks Dirk Herrmann
2002-04-06 15:38 ` Neil Jerram
2002-04-07  7:09   ` Dirk Herrmann
2002-04-08 18:27     ` Neil Jerram
2002-04-07 10:40   ` Marius Vollmer
2002-04-09 20:48     ` Lynn Winebarger
2002-04-13  9:01       ` Dirk Herrmann
2002-04-13 12:48         ` Neil Jerram
2002-04-13 18:28           ` Lynn Winebarger
2002-04-13 18:10         ` Lynn Winebarger
2002-04-14 18:18           ` Marius Vollmer
2002-04-14 18:11         ` Marius Vollmer
2002-04-23 21:55         ` Thien-Thi Nguyen
2002-04-14 17:52       ` Marius Vollmer
2002-04-29 23:55         ` Lynn Winebarger
2002-05-07 19:24           ` Marius Vollmer
2002-05-09  5:59             ` Lynn Winebarger
2002-04-07 10:05 ` Marius Vollmer

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).