Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.
AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.
F# est un langage de programmation fonctionnel, impératif et orienté objet pour la plate-forme .NET. F# est développé par Microsoft Research et son noyau est dérivé du langage OCaml, avec lequel il est fortement compatible. Ces deux langages de programmation font partie de la même famille que les langages ML. Ce langage a été conçu spécifiquement pour la plate-forme .NET, donc fortement orienté-objet. Depuis novembre 2010, Microsoft a mis à la disposition de tous les bibliothèques core et son compilateur F#, sous la licence Apache 2. F# est un langage fortement typé utilisant l'inférence de types. Ce mécanisme délègue le typage des variables et des fonctions au compilateur. Néanmoins, le langage permet au développeur d'indiquer explicitement le type à la déclaration. Intégré à l'écosystème .NET, F# supporte les types primitifs de la plate-forme ainsi que ses objets. De plus il étend le système de types et permet de faire la distinction entre les types dits immuables et ceux dits modifiables. Les objets sont considérés comme des types modifiables (en place), et sont utilisés pour la mise en place du modèle de programmation objet au sein du langage. Les types immuables sont utilisés principalement lorsque l'on programme de manière fonctionnelle ; la modification d'un type immuable crée une nouvelle instance sans pour autant écraser l'ancienne. Comme la plupart des langages dérivés de ML, F# utilise par défaut le mécanisme de l'évaluation stricte. Cependant il peut, à l'instar de Haskell, mettre en œuvre l'évaluation paresseuse des expressions grâce à l'utilisation du mot-clé lazy. Pour la programmation fonctionnelle, il fournit plusieurs constructions et un ensemble de types immuables : les n-uplets, des enregistrements, des types sommes et des listes. Un n-uplet représente une collection de n valeurs, n ≥ 0. La valeur de n correspond à l'arité du n-uplet. Le type unit représente le n-uplet vide et dont l'unique valeur possible est (). Ce type est utilisé pour typer des fonctions qui ne prennent pas en entrée de valeur et/ou n'en renvoient pas.
[2]Paolo Prandoni, [3]LCAV, EPFL
This notebook shows a simple way to process audio files (in WAV format)
in a block-by-block fashion; this is useful in two cases
1. when you want to process a data stream in real time but you can
accept a small processing delay; in this case a buffered approach
can yield computational gains
2. when you need to process a large file that does not fit entirely
into [2]Paolo Prandoni, [3]LCAV, EPFL
In this notebook we will look at the practical issues associated to
plotting the DFT and in particular the DFT of real-world signals. We
will examine how to map the DFT coefficients to real-world frequencies
and we will investigate the frequency resolution of the DFT and the
effects of zero padding.
In [1]: