(Cours 2 - Ordre Applicatif et Formes Sp  351ciales)
29 pages
Français

(Cours 2 - Ordre Applicatif et Formes Sp 351ciales)

-

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
29 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Programmation FonctionnellerrannolOrdre Applicatif et Formes OrepaetrsSpéciales…pia…Gilles Enée – LS4illné LUniversité des Antilles Guyaneivité AesyaMécanisme d’Evaluation d’un Ma’EunnAppel de Fonctionee c Supposons que l’on demande l’évaluation uoue dan’éatd’un appel de fonction de la forme :’up fio lam(f a b c)a Où a, b et c sont des expressions ù eosrensquelconques.ueq. ATTENTION, f doit être une fonction, pas TT, f ênc pun mot-clé comme define, mais plutôt une n -cmde, pt uprimitive comme sin ou une fonction que rime mn necquvous avez défini.ouefinMécanisme d’Evaluation d’un Ma’EunnAppel de Fonctionee cMécanisme d’Evaluation d’un Ma’EunnAppel de Fonctionee c A l’aide du prédicat « procedure? » nous l déd «cee?ouavons demandé si les mots clés définis voedletss isétaient des procédures.ta dror Notez la différence entre sin qui est une oa re esii enprimitive du langage et fac une définition rime ne c dtiofaite par l’utilisateur.itr sar. Les booléens en Scheme s’écrivent #t et esolé ech sivt #f.f.Mécanisme d’Evaluation d’un Ma’EunnAppel de Fonctionee c Attention, define n’est pas un mot clé mais une tte, e p mlé uforme spéciale (Testez en TP si c’est une rmé (Tz sstprocédure)rore Revenons à (f a b c)evnsa Les quatre expressions f, a, b et c vont être évaluées Latres fet t êalu[[dans uunn ordre iinnconnu]],, donnaannt des vvaaleurs FF,, A, B et C. La valeur F doit être un objet de type procédure ea ...

Informations

Publié par
Nombre de lectures 29
Langue Français

Extrait

Programmation Fonctionnelle Ordre Applicatif et Formes Spéciales…
Gilles Enée LS4
Université des Antilles Guyane
Mécanisme dEvaluation dun Appel de Fonction
Supposons que lon demandelévaluation dun appel de fonction de la forme: (f a b c) Où a,b et c sont des expressions quelconques. ATTENTION, fdoitêtre unefonction, pas un mot-clé commedefine, mais plutôt une primitive comme sin ou unefonction que vousavez défini.
Mécanisme dEvaluation dun Appel de Fonction
Mécanisme dEvaluation dun Appel de Fonction
A laide du prédicat «procedure?» nous avonsdemandé siles mots clésdéfinis étaientdes procédures.
Notez la différence entre sinqui est une primitive du langage etfacune définition faite par lutilisateur.
Lesbooléens enSchemesécrivent #t et #f.
Mécanisme dEvaluation dun Appel de Fonction
Attention,define nest pas un mot clé mais une forme spéciale (Testez en TP si cest une procédure) Revenonsà (f a b c) Les quatre expressions f,a,b etc vontêtre évaluées [dans unordreinconnu],donnantdes valeurs F, A, B et C. La valeur F doitêtre un objetdetype procédure sinon il y a erreur. La procédure F est«appliqué » aux valeursA, B etC pour fournirlavaleurfinale recherchée.
Mécanisme dEvaluation dun  Appel de Fonction
Vousnoterez que pour crirelévaluation de (fa b c), nous demandons lévaluation des sous-expressions:il sagit donc dune currence…
Comment la procédure F est-elle appliquée ?
Mécanisme dEvaluation dun Appel de Fonction
Deuxpossibilités: Si F est une primitive comme max, elle  fonctionne comme on le pense, elle calcule le maximum. Si F provient de lévaluationdunelambda-expression, comme (lambda (x y z) (+ x (* 2 y z))), on peut imaginer que les paramètres x y et z vont être remplacés par les valeurs A, B et C, puis que lexpression (+ A(* 2B C))va être évaluée pour fournir la valeur recherchée.
Mécanisme dEvaluation dun Appel de Fonction
Il ne sagit que dun modèle de «substitution » comme vous avez pu le faire en «Architecture desOrdinateurs». Cetordre decalcul se nomme «lordre applicatif»dévaluation. En Scheme,une fonction peut aussi être calculée. Vouscomprenez un peu mieuxpourquoidefine nestpas une fonction : Sinon en écrivant (definex1) on chercherait à évaluer x ce qui seraitabsurde puisquejustement on est en train de donner unevaleurau symbole x.
Mécanisme dEvaluation dun Appel de Fonction
Vous verrez plusieursformes sciales comme define.Chacune aun fonctionnement … spécial...
Retenez :unefonctiontravailleenordre applicatif,uneforme spéciale non !
Les booléens
Deux constantes booléennes existent :
#tpourtrue et#fpour false
On nomme prédicatunefonction à valeur booléenne, par exemple «integer? » (est un entier ?),«odd?» (estimpair ?) ou encore «zero?» (estégal à 0 ?)
Les booléens
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents