deel i functionele programmeertalen
Download
Skip this Video
Download Presentation
Deel I: Functionele Programmeertalen

Loading in 2 Seconds...

play fullscreen
1 / 59

Deel I: Functionele Programmeertalen - PowerPoint PPT Presentation


  • 135 Views
  • Uploaded on

Deel I: Functionele Programmeertalen. Hoofdstuk 3: Uitgebreide -rekening. Functioneel Programma. Een functie-applicatie FA , d.i. een programma + zijn input. Uitvoering van een programma:  -reductie tot  -normaalvorm een functioneel programma heeft slechts 1 oplossing.  -conversie.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Deel I: Functionele Programmeertalen' - marah-madden


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
deel i functionele programmeertalen

Deel I: FunctioneleProgrammeertalen

Hoofdstuk 3:

Uitgebreide

-rekening

functioneel programma
Functioneel Programma
  • Een functie-applicatie FA, d.i. een programma + zijn input.
  • Uitvoering van een programma: -reductie tot -normaalvorm
    • een functioneel programma heeft slechts 1 oplossing
slide4
-conversie

Met -regels

Applicatieve reductieorde voor de -reductie

stelling van mitschke
Stelling van Mitschke
  • De -reductierelatie  voldoet aan de eigenschap van Church-Rosser
types
Types
  • Typesysteem van Church: zelf opgeven van types, verificeren van types
  • Typesysteem van Curry: afleiden van types
types1
Types
  • Type: syntactische uitdrukking die geassocieerd kan worden met een -term
  • Semantiek van een type : de verzameling van alle -termen van dit type D
  • Voordelen van types:
    • Nagaan van de correctheid van uitdrukkingen
    • Efficiënte uitvoering
abstracte type syntax
Abstracte type-syntax
  • De ’s zijn typeconstanten (B,Z)
  • Functies zijn van het type   
  • Types zijn rechts-associatief

(     =   (  ))

instructie
Instructie
  • Een instructie is van de vorm M ::  met M het onderwerp, en  het predicaat
basis
Basis
  • Een verzameling van instructies waarin de onderwerpen allemaal verschillende -veranderlijken zijn. Een M ::  is afleidbaar uit , indien geldt dat  |M ::  met
termen met een type hebben een normaalvorm
-termen met een type hebben een normaalvorm
  •  |M ::   M heeft een normaalvorm
  • x.xx heeft geen type in ons typesysteem
semantiek
Semantiek
  • Het doel van de denotationele semantiek is om met elke syntactisch correcte -uitdrukking een ‘wiskundige waarde’ te associëren
slide16
Semantiek
  • De functie die een waarde associeert met elke -expressie wordt D genoteerd

Waarbij  de omgeving voorstelt

behoud van betekenis
Behoud van betekenis
  • Het omgekeerde is echter niet noodzakelijk waar. Uit D(2 + 8) = D(3 + 7) kan men niet besluiten dat er moet gelden dat 2 + 8  3 + 7
combinatoren
Combinatoren
  • Combinator: klasse van a-congruente gesloten l-termen
stelling van sch nfinkel en curry
Stelling van Schönfinkelen Curry
  • De l-rekening kan geherformuleerd worden in de combinatorrekening met slechts één basisoperatie: de applicatie
  • Hiervoor zijn slechts twee combinatoren nodig: S en K,
standaard combinatorexpressie
Standaard combinatorexpressie
  • Een combinatorexpressie waarin de enig voorkomende combinatoren S en K zijn, wordt een standaard combinatorexpressie genoemd
combinatortransformatie
Combinatortransformatie

Waarbij U een constante, een combinator of een veranderlijke voorstelt

slide26
Voorbeelden

Typisch O(N log N) tot O(N2)

slide31
Voorbeelden

De reductie van deze expressie geeft ons

extensionele gelijkheid
Extensionele gelijkheid

De B-regel heeft een speciaal geval

slide35
Extensionele gelijkheid

Het bewijs is door extensionele gelijkheid

supercombinatoren
Supercombinatoren
  • Een supercombinator is een l-expressie van de vorm

zodanig dat

  • S geen vrije veranderlijken bevat
  • M geen l-abstractie is (alle l’s staan voorop)
  • alle l-abstracties in M supercombinatoren zijn
  • de ariteit n 0
slide38
Voorbeelden

Terwijl de volgende expressies geen

supercombinatoren zijn

supercombinatorredex
Supercombinatorredex
  • Een supercombinatorredex is de applicatie van een supercombinator met ariteit n op n argumenten. Een supercombinatorreductie vervangt een supercombinatorredex door zijn contractum, t.t.z. het lichaam van de supercombinator met invulling van al zijn argumenten.
reductie voor supercombinatoren
-reductie voor supercombinatoren

Waarbij de substituties simultaan

uitgevoerd worden

supercombinator transformatie l lifting
Supercombinator-transformatie: l-lifting
  • Gebaseerd op de abstractie van vrije veranderlijken

Beide expressies zijn b-congruent

  • Toename omvang: typisch O(N) en in het slechtste geval O(N log N)
  • Het resultaat is een supercombinator indien toegepast op een combinator
naamgeving
Naamgeving

Waarbij deze transformatie nogmaals kan

toegepast worden

vereenvoudigingen
Vereenvoudigingen

l-lifting van de ly geeft ons

Hetgeen kan herschreven worden als

slide46
Vereenvoudigingen

l-lifting van de ly geeft ons

Hetgeen equivalent is met

complexiteit
Complexiteit

Aantal reducties n * 5 + 3 O(N)

type afleiding
Type-afleiding
  • Types toekennen aan de argumenten +resultaat
slide50
Type-afleiding
  • Types toekennen aan het functielichaam
  • Unificatie van de types
slide53
Voorbeeld

Niet alle supercombinatoren hebben een type

strictheidsanalyse
Strictheidsanalyse
  • Transformatie naar een abstract domein

zwordt afgebeeld op 0, alle andere waarden op 1

slide55
Strictheidsanalyse
  • Transformatie voor ingebouwde functies
voorbeeld2
Voorbeeld

Na transformatie:

Striktheidsanalyse:

slide57
Voorbeeld

Striktheidsanalyse:

fixpunt berekening
Fixpunt berekening

Na substitutie van deze functie krijgen we

slide59
Fixpunt berekening

Fixpunt:

Striktheidsanalyse:

ad