Introduction

Programmation fonctionnelle
Présentation du langage F#
F# et Visual Studio
F# Interactive

Fondamentaux

Immutabilité et effets de bord
Fonctions pures
Bindings
Types de données
Collections
Classes et interfaces
Contrôle du flux
Génériques
Gérer les erreurs

Fonctions

Fonctions en tant que données
Pipelining
Composition fonctionnelle
Fonctions récursives
Opérateurs symboliques
Expressions lambdas et fermetures

Pattern matching

Patterns nommés
Matching de litéraux
Regrouper des patterns
Matching de structure de donnée
Syntaxe alternative lambda

Unions discriminantes

Structures en arbre
Matching de patterns
Méthodes et propriétés

Enregistrements

Clonage
Inférence de types

Séquences

Expressions de séquence
Fonctions du module de séquence
Opérateurs agrégés

Unités de mesure

Définir les unités de mesure
Conversions
Fonctions génériques
Types génériques

Active Patterns

Active Pattern complet, avec un seul choix
Active Pattern complet, à choix multiple
Active Pattern partiel, à choix unique
Active Pattern paramétré

Modules

Modules vs. classes
Shadowing
Contrôler l’usage

Récursion terminale

Comprendre la Stack
Patterns de récursion terminale

Patterns fonctionnels

Mémorisation
Valeurs fonction mutables
Programmation paresseuse

Calcul

Expressions de calcul
Concevoir des expressions de calcul personnalisées

Programmation asynchrone et programmation parallèle

Travailler avec les threads
Utiliser la librairie de tâche parallèle (TPL)
Flux asynchrones
Programmation orientée agents

Réflexion

Attributs
Type de réflexion
Instanciation dynamique

Citations

Citations basiques
Générer des expressions de citation

Interopérabilité

Utiliser F# dans un projet C#
Bonnes pratiques

LEAVE A REPLY

Please enter your comment!
Please enter your name here