<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="https://ocw.cs.pub.ro/ppcarte/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="https://ocw.cs.pub.ro/ppcarte/feed.php">
        <title>books pp:2025</title>
        <description></description>
        <link>https://ocw.cs.pub.ro/ppcarte/</link>
        <image rdf:resource="https://ocw.cs.pub.ro/ppcarte/lib/tpl/bootstrap3/images/favicon.ico" />
       <dc:date>2026-04-11T14:27:56+03:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l07&amp;rev=1744659390&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l08&amp;rev=1745779344&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l09&amp;rev=1745785319&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l10&amp;rev=1746989936&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l11&amp;rev=1747564516&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:plagiarism&amp;rev=1740260597&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:rules&amp;rev=1740260530&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:sidebar&amp;rev=1771833217&amp;do=diff"/>
                <rdf:li rdf:resource="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:team&amp;rev=1740946860&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://ocw.cs.pub.ro/ppcarte/lib/tpl/bootstrap3/images/favicon.ico">
        <title>books</title>
        <link>https://ocw.cs.pub.ro/ppcarte/</link>
        <url>https://ocw.cs.pub.ro/ppcarte/lib/tpl/bootstrap3/images/favicon.ico</url>
    </image>
    <item rdf:about="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l07&amp;rev=1744659390&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-14T22:36:30+03:00</dc:date>
        <title>pp:2025:l07</title>
        <link>https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l07&amp;rev=1744659390&amp;do=diff</link>
        <description>Lab 7. Lambda Calculus

7.0. What? Why?

Lambda Calculus is a universal model of computation (can be used to simulate any Turing Machine) based on function abstraction and application. It has a very simple semantic that can be used to study properties of computation. $ \lambda f.\lambda x.(f \ x) $$ x $$ x \in VARS $$ \lambda x.e $$ x \in VARS $$ e $$ \lambda $$ (e_1 \ e_2) $$ e_1, e_2 $$ \lambda $$\lambda$$ \lambda x.e $$(\lambda x.body \ param)$$ body[x \ / \ param] $$ E_1 = (\lambda x.e_1 \ e…</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l08&amp;rev=1745779344&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-27T21:42:24+03:00</dc:date>
        <title>pp:2025:l08</title>
        <link>https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l08&amp;rev=1745779344&amp;do=diff</link>
        <description>Lab 8. Intro to Haskell

8.1 Getting to know Haskell

Prequisites: having a working haskell environment (Haskell Environment)

Haskell is a general-purpose, purely functional programming language, that we will use for the rest of the semester to showcase functional patterns and programming styles. $ a $$ f $$ a $$ b $$ f $$ \{1,2\}$$ \{2^n \mid n\in\mathbb{N}\}$</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l09&amp;rev=1745785319&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-27T23:21:59+03:00</dc:date>
        <title>pp:2025:l09</title>
        <link>https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l09&amp;rev=1745785319&amp;do=diff</link>
        <description>9. Lazy Evaluation

When passing parameters to a function, programming language design offers two options which are not mutually exclusive (both strategies can be implemented in the language):

	*  applicative (also called strict) evaluation strategy:$ n $$ 2$$ parent + 1$$ parent * 2$$ \lvert s_n - s_{n+1} \rvert &lt; e$$ \displaystyle \lim_{n \rightarrow \infty} \frac{F_{n+1}}{F_n} = \varphi$$ F_n$$ \varphi$$ a_{n+1} = a_n + sin(a_n)$$ a_0$$ a_{n+1} != a_n$$ \displaystyle \lim_{n \rightarrow \inf…</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l10&amp;rev=1746989936&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-11T21:58:56+03:00</dc:date>
        <title>pp:2025:l10</title>
        <link>https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l10&amp;rev=1746989936&amp;do=diff</link>
        <description>Lab 10. Functors &amp; Monads

10.0. Understanding Functors and Monads

Functor

The Functor typeclass represents the mathematical functor: a mapping between categories. 


In Haskell, Functors are defined as follows:


class Functor m where
  fmap :: (a -&gt; b) -&gt; f a -&gt; f b

$(&gt;&gt;=)$</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l11&amp;rev=1747564516&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-18T13:35:16+03:00</dc:date>
        <title>pp:2025:l11</title>
        <link>https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:l11&amp;rev=1747564516&amp;do=diff</link>
        <description>Lab 11. Classes, Applicatives and More Monads

11.0 Introduction

A powerful tool for understanding classes in Haskell is the :info &lt;class&gt; in the ghci command line:


&gt;:info Eq
type Eq :: * -&gt; Constraint -- We'll return to this a bit later :-)
class Eq a where -- Shows the blue-print of the class
  (==) :: a -&gt; a -&gt; Bool
  (/=) :: a -&gt; a -&gt; Bool
  {-# MINIMAL (==) | (/=) #-} -- The minimal requirements to be implemented by a data type
                              --          to be included in …</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:plagiarism&amp;rev=1740260597&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-22T23:43:17+03:00</dc:date>
        <title>pp:2025:plagiarism</title>
        <link>https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:plagiarism&amp;rev=1740260597&amp;do=diff</link>
        <description>Reguli de integritate academica

Conform regulamentului de desfasurare a studiilor de licenta (articolul 51. punctele d. si i.), studentul are obligatia de a respecta regulile de etica universitara si deontologie academica, specificate in Carta UPB. In cadrul acesteia din urma (articolul 45. punctul 13) a., plagiatul constituie o abatere grava</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:rules&amp;rev=1740260530&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-22T23:42:10+03:00</dc:date>
        <title>pp:2025:rules</title>
        <link>https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:rules&amp;rev=1740260530&amp;do=diff</link>
        <description>Regulament 2024-2025

Punctaj

	*  Parcurs: 5p (+0.3p bonus)
	*  Examen: 5p 

Punctajul pe parcurs constă în:

	*  teme(cod): 3p
	*  curs: 1p (+0.3p bonus)
	*  laborator: 1p 

Conditii minimale pentru promovare

	*  TBA

Teme

Atentie:

	*  Toate temele se prezinta in cadrul laboratorului, la o data stabilita de asistentul de laborator. Punctajul pe o tema nu poate fi obtinut fara prezentare.</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:sidebar&amp;rev=1771833217&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-23T09:53:37+03:00</dc:date>
        <title>pp:2025:sidebar</title>
        <link>https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:sidebar&amp;rev=1771833217&amp;do=diff</link>
        <description>PP 2025

	*   PP 2023-2024
	*   Team 
	*   Rules 
	*   Plagiarism

	*  Resurse
			*   Scala Environment
			*   Scala Cheatsheet
			*   Haskell Environment
			*   Ghid de utilizare Hoogle
			*   Haskell Cheatsheet


	*  Labs
			*   L01: Recursion 
			*   L02: Higher-order functions 
			*   L03: Algebraic Datatype Definition 
			*   L04: Lists in Scala 
			*   L05: Data types in Scala 
			*   L06: For expressions
			*   L07: Lambda Calculus
			*   L08: Intro to Haskell
			*   L09: Lazy Evaluation
…</description>
    </item>
    <item rdf:about="https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:team&amp;rev=1740946860&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-02T22:21:00+03:00</dc:date>
        <title>pp:2025:team</title>
        <link>https://ocw.cs.pub.ro/ppcarte/doku.php?id=pp:2025:team&amp;rev=1740946860&amp;do=diff</link>
        <description>Paradigme de Programare 2024-2025

Echipa

	*  Matei Popovici
	*  Catalin Chiru
	*  Vlad Badoiu
	*  Theo Pruteanu
	*  Alexandru Toader
	*  Cezar Zlatea
	*  Ana-Maria Ailiesei
	*  Andrei-Daniel Lungu
	*  Razvan-Gabriel Miclius
	*  Teodora Stan

Curs
 Frecvență  Zi  Interval orar  Sală  Profesor  săptămânal  Miercuri  8:00-10:00  PR001  Matei Popovici  săptămâni impare  Luni  12:00-14:00  PR001</description>
    </item>
</rdf:RDF>
