Introduction à Clojure Jean-Sébastien A. Beaudry

Slides:



Advertisements
Présentations similaires
Programmation Orienté Objet en C++
Advertisements

Introduction : Compilation et Traduction
CSI3525: Concepts des Langages de Programmation Notes # 5: Langages de Programmation Fonctionelle I: Introduction au Scheme.
Un langage de programmation fonctionnelle
Chapitre V. Tables de hachage
Analyse lexicale Généralités Expressions rationnelles Automates finis
Master 1 SIGLIS java Lecteur Stéphane Tallard Chapitre 4 – Structures de contrôle.
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke JavaCC.
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Chapitre 3 Syntaxe et sémantique.
CSI3525: Concepts des Langages de Programmation Notes # 6: Langages de Programmation Fonctionelle II: Introduction au ML.
Le langage Racket (Lisp)
Les bases de l’algorithmique
PhP 2. Tableaux et structures de contrôle. Les tableaux Définition –Rassemblement d’un ensemble de valeurs portant le même nom de variable –Types de tableaux.
Cours de Langage C Les structures
IFT359 – Programmation fonctionnelle Thème #10 Évaluation par environnement et évaluateur méta-circulaire 1.
Développement à l'Aide de Langages Dynamiques : Smalltalk module IT308: Méthodologies et outils logiciels Nada Ayad, Damien Cassou et Annabelle Souc.
Génération de matrices matrix() Ce sont des vecteurs qui possèdent un argument supplémentaire, qui est lui-même un vecteur de longueur 2, sa dimension,
Tableaux et Pointeurs Chaînes de Caractères Programmation Impérative II.
Le langage de définition de données B.T.S. S.I.O – SI3 –
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
Chapitre 5 Mots 2 Personne et Rien Ne…
Ajouter le code dans une page html
Les tableaux différencier les variables simples des variables indicées (ordonnées et numérotées) un identificateur unique désigne un ensemble, une collection.
Environnement de développement des BD
Les Instructions Itératives (Les Boucles)
Introduction au Langage Pascal
Quelques Termes INFORMATIQUE ? ORDINATEUR ( Système Informatique)?
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Initiation aux bases de données et à la programmation événementielle
Pas de variable globale
Logique Combinatoire.
JavaScript.
Opérateurs Toute donnée informatique est stockée en mémoire sous la forme d'une combinaison de bits (mot machine). Les opérateurs bits permettent de modifier.
Algorithmique et programmation de modèles numériques
Semaine #1 INF130 par Frédérick Henri.
Structured Query Language
Collecte de données CAPI
AO (Architecture des ordinateurs)
Ajouter le code dans une page html
Principes de programmation (suite)
Les expressions régulières en javascript
Algorithmique - L’affectation -
Matrices, déclaration en CSharp
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
Bases de programmation en Python
La plate-forme Adresse Internet :
Tableaux à plusieurs dimensions en langage C
Tableaux à plusieurs dimensions en langage C
Semaine #6 INF130 par Frédérick Henri.
5.

Codage Indenter le code Limiter la portée des variables Traiter les erreurs en premier Utiliser le switch au delà de 3 tests en cascades Ne jamais utiliser.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Calcul Scientifique Initiation à SCILB
Eléments de base du langage C
Chapitre 1: introduction à Matlab
MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE
1. LE LANGAGE SQL DDL Version 2 - Janvier Le langage SQL-DDL
02/02/2019Module Compilation1. Introduction:  petite historique sur flex/lex  définitions de l’outil flex/lex  l’objectif de l’outil flex/lex  Versions.
IFT313 Introduction aux langages formels
Compléments sur Python (EduPython)
Le langage C# : Partie 1.
Introduction à L’Informatique
Les Définition Les expressions Algebriques
Analyse et programmation langage ADA
1. LE LANGAGE SQL DDL Version 1 - Mai 2009 corrigé le 11/2/2011
Eléments de base du langage C
LINQ. LINQ (Language-Integrated Query) est une nouveauté du.NET Framework 3.5 C’est le nom d’un ensemble de technologies basé sur l’intégration de fonctions.
Transcription de la présentation:

Introduction à Clojure Jean-Sébastien A. Beaudry

Qu'est-ce que Clojure Langage dynamique Compilé (bytecode Java) Fonctionel en grande partie STM pour le reste Très propice au multithreading Homoiconicité

En détails Qu'est-ce que Clojure? REPL Syntaxe Litéraux (literals) Expression symbolique (s-exp) Fonctions Let Atelier

REPL Read Eval Print Loop tryclj.com Qu'arrive-t-il quand l'opération est “print”?

Litéraux Symbole (nom de variable, fonction, etc...): Des lettres des chiffres et quelques autres caractères comme _ - + ? ! * etc. Chaînes de caractères: “linuq” Nombres: 42, 42.0, 42.0M, 20r22, 22/7 Caractères: \space, \tab, \newline, \a, \b, \c Booléen: true false Rien: nil Mots-clefs: :linuq :a :b :c

Litéraux (suite) Liste: (1 2 3 4 5) Vecteur: [1 2 3 4 5] Table de hachage: {:nom “Linuq” :adresse “...”} Ensemble: #{1 3 4 5}

Expression Symbolique (s-exp) (opérateur opérande1 opérande2 .. opéranden) (+ 10 10 10 2) (sort [5 2 3 1 4]) (println 20r22)

Définition de fonction (defn nom-de-fonction [arg1 arg2] code) (defn au-carre [nombre] (* nombre nombre)) (au-carre 4)

(let [nom valeur] code) (let [x 4 y 5] (+ x y))

Fonction anonymes (au-carre 4) (fn [x] (* x x)) ((fn [x] (* x x)) 4) #(* %1 %1) (#(* %1 %1) 4)

Leagues, I want to join the code golf league... Atelier 4clojure.org clojure.org clojuredocs.org Leagues, I want to join the code golf league...

Références github.com/technomancy/leiningen clojure.org clojuredocs.org alexott.net/en/clojure/video.html tryclj.com 4clojure.org irc.freenode.net #clojure