<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="xslt/home.xslt" type="text/xsl"?>


<cs17>
    <home>
        <welcome>
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p> The purpose of CS195R is to explore intermediate representations
                often used in compilers such as continuation passing style and static single
                assignment form, along with the optimizations that these representations
                make possible. The course will also examine language runtimes, and elements
                within them, such as garbage collectors. The class will take a look at these
                topics through weekly discussions and readings, and by implementing a Pyret
                compiler (part of it with a partner) over the course of the semester.</p>

                <p>Students will be using the Pyret programming language to write their Pyret
                to LLVM compiler, but some support code will be provided in Pyret to make
                it easy to test correctness and to help alleviate the workload.</p>
            </div>
        </welcome>



        <links name="Course Documentation">
            <link href="content/docs/missive.pdf">Course Missive</link>
        </links>

        <links name="Useful Resources">
            <link href="http://pyret.org">Pyret Website</link>
            <link href="http://llvm.org/docs/">LLVM Documentation</link>
        </links>

    </home>
</cs17>
