IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Caml Discussion :

Lambda calcul + Ocaml


Sujet :

Caml

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Lambda calcul + Ocaml
    Salut à tous
    Je suis nouveau ici et j'aimerai bien avoire une iniciation sur l'implémentation des lambda terme (lambda calcul) sur Ocaml.

    Je ne sais pas si j'ai bien spécifié mon Pb ou pas.
    En fait j'ai utilisé Ocaml y' a 6 mois et maintenant j'arrive à connaitre le lambda calcul et ils m'ont dit que l'ocaml est très efficace pour l'implantation des lambda termes.

    J'aimerai bien avoir un petit exemple qui marche et laissez le reste à moi

    merci d'avance
    cordialement

  2. #2
    Membre actif Avatar de Steki-kun
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 222
    Points : 281
    Points
    281
    Par défaut
    Tu peux utiliser le systeme de types d'Ocaml pour définir un type des lambda termes qui "suit" leur définition. Par exemple, tu as clasiquement t ::= x | lambda x t | t t, tu peux définir le type des lambda termes correspondant aux trois cas (variable, abstraction, application) par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    type term = TVar of string | TAbs of string * term | TApp of term * term
    (Je choisis de représenter les noms de variables par des strings, c'est pas le seul ni le meilleur, mais c'est un choix possible)

    et apres je te conseille de coder des petites fonctions utiles pour commencer, du genre, calculer l'ensemble des variables libres d'un terme, faire des substitutions de variable par des termes (gare à la capture de variables!), évaluer un terme (c'est-à-dire le réduire à une forme normale, quand elle existe), etc...

    Bon courage!
    I'm the kind of guy that until it happens, I won't worry about it. - R.H. RoY05, MVP06

  3. #3
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    La construction du type...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    fun x y z ... -> ...
    ... c'est déjà du lambda calcul, tout comme la possibilité d'appliquer partiellement une fonction afin d'avoir une nouvelle fonction (l'application partielle).

    Si tu veux un exemple complet sur le lambda-calcul, avec extension e syntaxe à l'appui, tu peux regarder ici :

    http://caml.inria.fr/pub/docs/tutori...004.html#toc28

    La racine du document se trouve, elle, par ici :

    http://caml.inria.fr/pub/docs/tutori...lp4/index.html
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  4. #4
    Candidat au Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup à vous

    c'est que je cherche

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Voila je veux ajouter un autre truc qui implemente bien ce que je cherche:

    http://pauillac.inria.fr/~barras/reduction/reduc_src/


    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lambda-calcul simplement typé : terminaison assurée ?
    Par Ekinoks dans le forum Langages fonctionnels
    Réponses: 7
    Dernier message: 11/09/2010, 22h25
  2. Caml et lambda calcul
    Par NINEON dans le forum Caml
    Réponses: 37
    Dernier message: 18/11/2007, 17h37
  3. lambda calcul !
    Par am@123 dans le forum Langages fonctionnels
    Réponses: 22
    Dernier message: 03/10/2007, 10h25
  4. A quoi sert le lambda-calcul ?
    Par hocinelux dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 19/05/2007, 17h27
  5. Parseur de lambda calcul
    Par davcha dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 27/04/2006, 22h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo