WikiLuc

Guest connection: login: Guest, password: anonymous

User Tools

Site Tools


dit:cours:maths2

Cours de programmation OCaml

  • Responsable: Luc Bougé, à Ker Lann le mardi (le lundi et le vendredi à l'IRISA sur le Campus de Beaulieu)

Support technique Ocaml

Une bonne manière de commencer: http://try.ocamlpro.com/, un environnement en ligne utilisable à travers votre navigateur. Rien à installer! Ça suffit largement pour ce premier cours.


Programme du cours

Cours 3: Références, aspects impératifs, tableaux

20 janvier 2015

  • Notion de référence, égalité, identité
  • Effets de bord
  • Tableaux
  • Listes modifiables

Références

Language designers are forever searching for the “proper language” for a domain, task, or class of programs, such that everything – such as correctness, optimisations, abstractions, high-level structures, solutions to a problem, etc. – becomes clearer when the language is used. The four Rs capture the key aspects of programming language’s affect on programs, in its ability to improve reading, writing, running, and reasoning.

These are four important areas that we need to consider when designing effective languages. The four Rs are not meant to argue whether a language is “good” or “bad”, or to unilaterally promote one over the other. Instead, the four Rs provide a framework for thinking critically about the effectiveness of languages and language features. Trade-offs between the four Rs have given a broad and beautiful spectrum of programming languages over the last 70 years. I await further languages with excitement and hope that with better languages everything might become clearer.

The four Rs of programming language design, Dominic Orchard


Cours 2 (TP): Programmation récursive, listes

16 janvier 2015

  • Programmation récursive
  • Listes Ocaml
  • Fonctions classiques
  • Itérateurs: map et reduce

Références


Cours 1: Introduction à Caml

cacm.acm.org_system_assets_0000_2966_052010_cacmpg20_robin-milner.large.jpg

9 janvier 2015

  • Historique, grands noms
  • Présentation générale: interprète interactif, synthèse de type, évaluation
  • Types et opérateurs de base: int, float, char, string, bool, synthèse de type
  • Fonctions: définition explicite, lambda-expressions, curryfication, ordre supérieur
  • Constructeurs de types: produit, somme

Références


Bibliographie

Histoire des mathématiques

Allez vite lire Logicommix, l'histoire de Russell en bandes dessinées. Disponible à la bibliothèque de l'ENS (F4 1 DOX)

Wikipedia Les familles Cantor, Hilbert, Noether ; les familles Cartan, Chevalley, Dieudonné, Weil ; les familles Bruhat, Dixmier, Samuel, Schwartz ; les familles Cartier, Grothendieck, Malgrange, Serre ; les familles Demazure, Douady, Giraud (de), Verdier ; les familles filtrantes à droite et les épimorphismes strictes, mesdemoiselles Adèle et Idèle ;

ont la douleur de vous faire part du décès de M. Nicolas Bourbaki, leur père, frère, fils, petit-fils arrière-petit-fils et petit-cousin respectivement pieusement décédé le 11 novembre 1968, jour anniversaire de la victoire, en son domicile de Nancago. La crémation aura lieu le samedi 23 novembre 1968 à 15 heures au cimetière des fonctions aléatoires, métro Markov et Gödel.

On se réunira devant le bar « aux produits directs », carrefour des résolutions projectives, anciennement place Koszul.

Selon les vœux du défunt, une messe sera célébrée en l'église Notre-Dame des problèmes universels, par son éminence le Cardinal Aleph 1 en présence des représentants de toutes les classes d'équivalence et des corps algébriquement clos constitués. Une minute de silence sera observée par les élèves des Écoles normales supérieures et des classes de Chern.

Car Dieu est le compactifié d'Alexandrov de l'univers, Grothendieck IV, 22.

Langages de programmation

Measuring programming language popularity It is difficult to determine which programming languages are most widely used, and what usage means varies by context. One language may occupy the greater number of programmer hours, a different one have more lines of code, a third may utilize the most CPU time, and so on. Some languages are very popular for particular kinds of applications. For example, COBOL is still strong in the corporate data center, often on large mainframes; FORTRAN in engineering applications; C in embedded applications and operating systems; and other languages are regularly used to write many different kinds of applications.

CAML

Scheme

Sémantique

Lambda-calcul

Théorie des catégories


Outils, environnements de programmation, etc.

OCaml

  • Site de référence. Nous utilisons la version 4.
  • Documentation en ligne
  • Mode emacs tuareg. NB: Ce mode est disponible dans de nombreuses distributions.
dit/cours/maths2.txt · Last modified: 2017/04/05 17:06 (external edit)