<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://pleiad.cl/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://pleiad.cl/feed.php">
        <title>PLEIAD teaching:cc4101:tareas:2026-1:tarea2</title>
        <description></description>
        <link>http://pleiad.cl/</link>
        <image rdf:resource="http://pleiad.cl/lib/tpl/pleiad2/images/favicon.ico" />
       <dc:date>2026-05-11T17:07:30+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/bonus"/>
                <rdf:li rdf:resource="http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/parte0"/>
                <rdf:li rdf:resource="http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/parte1"/>
                <rdf:li rdf:resource="http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/parte2"/>
                <rdf:li rdf:resource="http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/parte3"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://pleiad.cl/lib/tpl/pleiad2/images/favicon.ico">
        <title>PLEIAD</title>
        <link>http://pleiad.cl/</link>
        <url>http://pleiad.cl/lib/tpl/pleiad2/images/favicon.ico</url>
    </image>
    <item rdf:about="http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/bonus">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-11T16:29:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>teaching:cc4101:tareas:2026-1:tarea2:bonus</title>
        <link>http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/bonus</link>
        <description>&lt;&lt; Volver

Parte BONUS. Modificadores de with (1.0 pto)

En esta parte agregarán el casteo opcional de la forma de evaluación de los binds del with en SL. La gramática de la parte 3 hace verboso crear funciones (o variables en general) con modificadores de tipos. Nótese en el siguiente ejemplo que lo que queremos obtener es una</description>
    </item>
    <item rdf:about="http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/parte0">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-11T07:48:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>teaching:cc4101:tareas:2026-1:tarea2:parte0</title>
        <link>http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/parte0</link>
        <description>&lt;&lt; Volver

Los lenguajes SL y CL

Muchos lenguajes de programación se implementan mediante transformación (o compilación) a lenguajes intermedios de más bajo nivel. 
Así mismo, en esta tarea, hay dos lenguajes: SL (Surface Language) y CL (Core Language).</description>
    </item>
    <item rdf:about="http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/parte1">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-11T02:07:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>teaching:cc4101:tareas:2026-1:tarea2:parte1</title>
        <link>http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/parte1</link>
        <description>&lt;&lt; Volver

Parte 1. Testing de efectos (2 ptos.)

En esta sección van a implementar un mecanismo para hacer tests sobre efectos secundarios, en particular, sobre la impresión de caracteres (printing). La necesidad de testear efectos secundarios es muy recurrente en proyectos reales, existiendo distintas técnicas para abordarlo (p.ej. usando</description>
    </item>
    <item rdf:about="http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/parte2">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-11T02:23:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>teaching:cc4101:tareas:2026-1:tarea2:parte2</title>
        <link>http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/parte2</link>
        <description>&lt;&lt; Volver

Parte 2. Memoización (2 ptos.)

En esta sección van a extender el lenguaje CL con un mecanismo de memoización. La memoización es una técnica de optimización que permite evaluar más rápidamente llamadas a funciones. Una función memoizada tiene asociada una estructura (p.ej. tabla de hash) donde se van guardando los argumentos con que se ha aplicado la función y el resultado de evaluar la función con esos argumentos. Luego, si se realiza una nueva aplicación con el mismo argumento, bast…</description>
    </item>
    <item rdf:about="http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/parte3">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-11T15:48:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>teaching:cc4101:tareas:2026-1:tarea2:parte3</title>
        <link>http://pleiad.cl/teaching/cc4101/tareas/2026-1/tarea2/parte3</link>
        <description>&lt;&lt; Volver

Parte 3. Estrategias de evaluación (2 ptos.)

En esta sección van a extender el lenguaje SL para que se pueda especificar la estrategia de evaluación de cada argumento si es necesario, ya sea con semántica call-by-need o call-by-name. 

La extensión de SL consiste en agregar</description>
    </item>
</rdf:RDF>
