<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja"> 
  <HEAD>
    <title>Akihito Nagata's Page</title> 
    <link rel="stylesheet" href="stylesheet.css" type="text/css">
    <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
     <META http-equiv="Content-Style-Type" content="text/css">
    <meta name="robots" content="all">
     <LINK rel="INDEX" href="./index.html">
  </HEAD>
  <body>
    <h1>Abstract</h1>
    This thesis presents a compiler that translates Scheme code into the
    Java language.<br>
    
    The programming language Scheme is known to be highly
    expressive and \emph{safe}.  By translating Scheme into Java,
    one can benefit from such features of Scheme as well as the
    portability of Java.  Our compiler implements local procedure
    definitions of Scheme by translating Scheme procedures into Java inner
    classes.  It also implements dynamic type checking of Scheme with
    down-casting of Java by translating each Scheme data into a Java
    \texttt{Object}.  However, naively doing so requires dynamic class
    checking in Java for every primitive operation in Scheme and thereby
    incurs much overhead.  We reduce this overhead of runtime type
    checking by exploiting partial static type information obtained
    through \emph{soft typing}.  This method achieves 2 times
    speedup for \emph{fibonacci numbers} and 1.2 times for \emph{quick
    sort}.  Thus, our compiler<br>
    combines the expressiveness and safety of Scheme with the portability
    of Java without much loss of efficiency.<br>
  </body>
</html>

 
