GHC 9.2

Posté par  (site web personnel) . Édité par palm123, Ysabeau 🧶 🧦, tisaac et theojouedubanjo. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
34
4
nov.
2021
Programmation fonctionnelle

GHC 9.2 est sorti le 29 octobre 2021. Cette nouvelle version du principal compilateur pour Haskell apporte son lot de nouveautés détaillées dans la suite de cette dépêche.

Comme à notre habitude, nous terminerons la dépêche par un exemple de projet en Haskell.

Nous rappelons qu’Haskell est un langage de programmation qui se démarque par son design. En effet, fort d’un typage statique avec inférence (i.e. il n’est pas nécessaire d’écrire les types pour que le langage les vérifie), son évaluation paresseuse (le code n’est exécuté que quand c’est strictement nécessaire) et de sa séparation des effets, Haskell est un langage ovni dans le marché qu’il influence depuis de nombreuses années.

GHC 8.8, 8.10 et 9.0

33
10
mar.
2021
Programmation fonctionnelle

GHC (Glasgow Haskell Compiler) 8.8 est sorti le 26 août 2019. GHC 8.10 est sorti le 24 mars 2020. GHC 9.0 vient de sortir, le 4 février 2021.

C’est donc l’occasion de revenir sur les changements de ces versions du principal compilateur pour le langage fonctionnel Haskell. Avec 3 versions majeures sur plus de 2 ans, tout ne peut pas rentrer dans une dépêche. De plus, beaucoup de détails ne sont pas forcément passionnants ou adaptés à un public non expert en compilation, c’est pourquoi cette dépêche se focalise sur les exemples que nous avons jugés intéressants, autant pour les nouveautés que pour l’opportunité de présenter des points saillants du langage.

GHC 8.4 et 8.6

32
25
sept.
2018
Programmation fonctionnelle

GHC, le compilateur Haskell est sorti en version 8.6.1 le 22 septembre 2018.
Cette dépêche détaille les nouveautés. De plus, nous n’avions pas fait de dépêche pour la version 8.4.1 du 8 mars 2018, ainsi que pour les versions 8.4.2 et 8.4.3 ayant suivi en avril et mai ; cette dépêche tente de combler ce vide.

Les versions 8.4.2 et 8.4.3 étant principalement des versions mineures consacrées aux corrections de bogues critiques, celles‐ci ne seront pas traitées dans cette dépêche.

Comme d’habitude pour les dépêches concernant les sorties de GHC, nous reviendrons sur les nouveautés de ces versions pour conclure par un petit exemple de Haskell pour vous donner envie d’utiliser ce langage.

Journal TapTempo en brainfuck

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
48
3
mar.
2018

TapTempo est disponible en version BrainFuck

C'est un portage partiel (faut pas pousser ;), donc :

  • Pas d'options
  • Pas de localisation
  • Pas de remise à zéro des samples
  • Que deux samples
  • N'importe quelle touche fonctionne (Pas seulement <Return>)

Mais c'est tout de même une version Brainfuck qui fait son boulot :

[-]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-] ++++++++++++++++++++++++++++++++.[-] [-]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-] ++++++++++++++++++++++++++++++++.[-] [-]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
[-]
(…)

Journal Portage de TapTempo en Haskell

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
21
1
mar.
2018

Bonjour à tous,

Suite aux portages de TapTempo en divers langages (Rust, Ada, Javascript, Perl (5.10), Python (2.7), bash), il fallait une version Haskell de TapTempo.

J'ai essayé de respecter scrupuleusement ce qui est décrit dans le journal d'introduction de TapTempo de mfz. Toute différence serait un bug, j'attends vos rapport de bug sur GitHub.

Le répertoire src est composé des fichiers suivants, chacun ayant sa petite particularité Haskell que je détaille dans la suite :

Sortie de GHC 8.2.1

46
7
août
2017
Programmation fonctionnelle

Une nouvelle version majeure du compilateur GHC pour Haskell est sortie.

GHC

Cette dépêche présente rapidement le langage Haskell, puis les nouveautés de la version 8.2.1 qui vient de sortir. En fin de dépêche, un exemple plus complet d’un code Haskell est présenté afin de motiver à l’usage de ce langage.

Sortie de GHC 8.0.2 et une petite histoire de typage statique

Posté par  (site web personnel) . Édité par Davy Defaud, rogo, palm123, Benoît Sibaud, ZeroHeure, Ontologia, Anthony Jaguenaud, Nils Ratusznik et Lucas. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
33
23
jan.
2017
Programmation fonctionnelle

GHC, le compilateur Haskell le plus utilisé, est sorti en version 8.0.2 ; vous pouvez consulter l’annonce de la sortie datée du 11 janvier 2017, ainsi que les notes de version.

Il s’agit principalement d’une version de suivi qui corrige plus de deux cents bogues depuis la version 8.0 dont l’annonce de la sortie avait été faite sur LinuxFr.org. Donc, à ce titre, il n’y a pas grand chose à raconter. Le futur, c’est GHC 8.2 qui devrait arriver aux environs d’avril, si l’on en croit le planning. Celle‐ci devrait apporter principalement des améliorations de performance de l’environnement d’exécution parallèle et du ramasse‐miettes.

Comme on frôle la dépêche bookmark et que je tiens à mon karma, je vais vous présenter une fonctionnalité de Haskell, que l’on retrouve dans de nombreux langages. J’ai nommé les ADT, ou types algébriques de données.

Journal Sortie de GHC 8.0.2 et une petite histoire de typage statique

32
19
jan.
2017

GHC, le compilateur Haskell le plus utilisé, est sorti en version 8.0.2, vous pouvez consulter l'annonce de la sortie datée du 11 janvier 2017 ainsi que les notes de version

Il s'agit principalement d'une version de suivi qui corrige plus de deux cent bugs depuis la version 8.0 dont l'annonce de la sortie
avait été faite sur http://linuxfr.org. Donc à ce titre, il n'y a pas grand chose à raconter. Le futur, c'est GHC 8.2 qui (…)

Journal Cohérence des fonctions de tri

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
29
29
nov.
2016

Nous allons discuter d'un point très simple, l’implémentation de la fonction max dans de nombreux langages. Nous allons voir que cette fonction est plus complexe qu'il n'y parait et que son implémentation différente entre de nombreux langages peut poser quelques problèmes.

Introduction

Que se passe-t-il quand on calcule le minimum ou le maximum de deux éléments identiques ?

Dit autrement, soit x = max(a, b) si a == b, quelle est la valeur de x, a ou b  (…)

Journal Gestion de l'erreur - C++ - std::optional

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
39
3
sept.
2016

Introduction

Ce journal discute de la gestion d'erreur lors des appels de fonction. Dans la première partie, nous discuterons plusieurs solutions de gestion d'erreur classiques rencontrée dans de nombreux languages comme C, C++, Python, etc. Dans la seconde partie, nous présenterons std::optional<T>, une nouvelle classe de la librairie standard C++17 et nous discuterons comment celle-ci change la gestion d'erreur. Pour finir je donnerai un avis personnel sur l'API de cette classe que je n'aime pas, et je proposerai une (…)

Le compilateur GHC Haskell en version 8.0.1

Posté par  (site web personnel) . Édité par palm123, patrick_g, Benoît Sibaud, claudex et Ontologia. Modéré par Ontologia. Licence CC By‑SA.
Étiquettes :
33
2
juin
2016
Programmation fonctionnelle

Le 21 mai 2016 est sortie la nouvelle version du compilateur Haskell GHC.

GHC est le compilateur principal du langage Haskell, disponible sur plusieurs plate-forme et sous une licence libre proche de la BSD.

Cette version succède à GHC 7.10.

Cette dépêche présente rapidement Haskell grâce à un exemple de code puis une sous-partie des nouveauté de GHC 8.0, le compilateur Haskell le plus utilisé. Comme on parle rarement d'Haskell ici, je vais le présenter avec une approche personnelle puis je me servirais de la liste des nouveautés pour présenter quelques fonctionnalités de ce langage de programmation.

Journal Le compilateur GHC Haskell en version 8.0.1

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
39
1
juin
2016
Ce journal a été promu en dépêche : Le compilateur GHC Haskell en version 8.0.1.

Le 21 mai 2016 est sortie la nouvelle version du compilateur Haskell GHC. Le mail d'annonce. notes de version.

GHC est le compilateur principal du langage Haskell, disponible sur plusieurs plate-forme et sous une (https://www.haskell.org/ghc/license](licence) libre qui proche de BSD.

Cette version succède à GHC 7.10.

Ce journal présente rapidement Haskell grâce à un exemple de code puis une sous-partie des nouveauté de GHC 8.0, le compilateur Haskell le plus utilisé. Comme on parle rarement d'Haskell (…)

Journal Haskell -- Évaluation paresseuse

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
37
3
mai
2016

Bonjour,

Je voulais vous parler d'évaluation paresseuse, en me servant comme support du langage Haskell.

L'évaluation paresseuse c'est juste le summum de la procrastination, reporter à demain (ou jamais) ce que tu n'as pas besoin de faire aujourd'hui. En haskell, une fonction n'est évaluée que si la valeur de retour est nécessaire pour évaluer immédiatement un autre résultat.

Je ne vous parlerai pas des avantages ou inconvénient de cela, mais je vais plutôt donner des exemples que (…)

Journal Haskell et le tri

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
30
18
fév.
2016

Bonjour nal.

Introduction

Cela fait longtemps que je n'ai pas posté ici, cela me manquait. Je trouve que LinuxFR ne parle pas assez de Haskell, alors je vais en parler un peu aujourd'hui sur une digression totalement inintéressante et proche de la masturbation intellectuelle. On va partir de rien et discuter de la fonction de tri fournie dans la librairie standard (base) de GHC, le compilateur le plus connu / utilisé.

L'idée c'est de vous présenter un peu Haskell (…)

Journal Python, encodage, rot13, brainfuck

Posté par  (site web personnel) .
Étiquettes :
45
27
oct.
2010
Bonjour chers amis.

Comme je n'ai pas (plus diraient certains) de blog, et que là je suis tellement
content de ce que j'ai trouvé que j'ai envi d'en informer le monde, et bien
voila, je m'adresse à toi, cher public (et non cher 'Nal).

Vous connaissez tous Python_(langage) comme étant le meilleur langage du
monde. Aussi vous devez savoir que les sources d'un bout de code python peuvent
être écrite dans n'importe quel Codage_des_caractères (genre ascii, UTF-8,
...).

Par exemple (…)