<?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:2023-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-04-22T10:19:50+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://pleiad.cl/teaching/cc4101/tareas/2023-1/tarea2/parte0"/>
                <rdf:li rdf:resource="http://pleiad.cl/teaching/cc4101/tareas/2023-1/tarea2/parte1"/>
                <rdf:li rdf:resource="http://pleiad.cl/teaching/cc4101/tareas/2023-1/tarea2/parte2"/>
                <rdf:li rdf:resource="http://pleiad.cl/teaching/cc4101/tareas/2023-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/2023-1/tarea2/parte0">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-11T16:32:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>teaching:cc4101:tareas:2023-1:tarea2:parte0</title>
        <link>http://pleiad.cl/teaching/cc4101/tareas/2023-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/2023-1/tarea2/parte1">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-11T16:23:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>teaching:cc4101:tareas:2023-1:tarea2:parte1</title>
        <link>http://pleiad.cl/teaching/cc4101/tareas/2023-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/2023-1/tarea2/parte2">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T15:21:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>teaching:cc4101:tareas:2023-1:tarea2:parte2</title>
        <link>http://pleiad.cl/teaching/cc4101/tareas/2023-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 aplica la función y el resultado de evaluar la función con esos argumento. Luego, si se realiza una nueva aplicación con el mismo argumento, basta con …</description>
    </item>
    <item rdf:about="http://pleiad.cl/teaching/cc4101/tareas/2023-1/tarea2/parte3">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-11T16:50:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>teaching:cc4101:tareas:2023-1:tarea2:parte3</title>
        <link>http://pleiad.cl/teaching/cc4101/tareas/2023-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>
