This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

optimizations Stalin does



> Yes, it's with stock scheme code & without declarations.  Stalin does
> a lot of heavy duty optimizations, especially type inference.  I don't
> know if there're associated papers, but there's a compiler.  See
> Jeffrey Siskind's home page, 
> http://www.neci.nj.nec.com/homepages/qobi/, and in particular,
> http://www.neci.nj.nec.com/homepages/qobi/software.html

Type inference is one thing: operators like CAR, with restricted
domains, give you information about what the type of the argument must
be.  But in order to know what representation a numeric argument will
have (fixnum, bignum, flonum, complex), you need to know its range,
which is very different.  Very few operators give you much information
about the range of values they could return.

R. Kent Dybvig has basically said it can't be done.  So I don't feel
too bad about exposing my mystification.

The one exception I can think of is that perhaps, if a Scheme has
exactly one inexact numeric representation, then code written with
explicitly inexact numeric constants, then inexact contagion could
give you enough information to do a good job.

I've downloaded Stalin; I'd like to give it a try.