add baguette at PSES and remove useless tags
This commit is contained in:
parent
097ab4b576
commit
2c0c71c4ed
2 changed files with 57 additions and 12 deletions
55
nec/confs/passageenseine/2023/baguette.org
Normal file
55
nec/confs/passageenseine/2023/baguette.org
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
#+title: Les langages exotiques ludiques : Le cas du Baguette#
|
||||||
|
#+date: <2023-06-23 ven.>
|
||||||
|
#+html_link_up:../roadmap.html
|
||||||
|
|
||||||
|
* Introduction
|
||||||
|
|
||||||
|
[[https://passageenseine.fr][Rediffusion]] - [[https://baguettesharp.nwa2coco.fr][Site]]
|
||||||
|
|
||||||
|
Conférence faite par Charlotte Thomas, étudiante en Licence 2 à
|
||||||
|
l'ISTIC et en stage au sein de l'IRISA/INRIA.
|
||||||
|
|
||||||
|
* Les langages exotiques
|
||||||
|
|
||||||
|
Un langage exotique, ou [[https://esolangs.org/][esolang]] en anglais, fait partie de
|
||||||
|
*l'informatique récréative*. On fait ça pour s'amuser et n'a pas
|
||||||
|
vocation à être utile.
|
||||||
|
|
||||||
|
Le langage exotique le plus connu : le brainfuck.
|
||||||
|
|
||||||
|
D'autres langages rigolos : [[https://esolangs.org/wiki/Befunge][Befunge]] (programmation 2D), [[https://esolangs.org/wiki/2014][2014]] et [[https://esolangs.org/wiki/2017][2017]]
|
||||||
|
qui, comme leurs noms l'indiquent, ne fonctionnent qu'en 2014 et 2017.
|
||||||
|
|
||||||
|
Le principal intérêt de ces langages est *pédagogique*. On apprend à
|
||||||
|
faire un langage simple. Baguette# était au début un simili-Basic,
|
||||||
|
dont l'interpréteur est écrit en Ocaml. Il a été codé sans
|
||||||
|
connaissance d'algorithme d'analyse syntaxique, ce qui a été entre
|
||||||
|
autres appris lors de la réalisation de ce projet.
|
||||||
|
|
||||||
|
* Baguette#
|
||||||
|
|
||||||
|
Ce langage n'a aucun intérêt si ce n'est apprendre (et être invitée à
|
||||||
|
PSES). Les mots clés sont pertinents avec le nom, tournant autour de
|
||||||
|
la pâtisserie (=PARIS BREST= pour ouvrir un guillemet...).
|
||||||
|
|
||||||
|
Il n'a pas d'opération infixe, ne sachant pas les réaliser à
|
||||||
|
l'implémentation de l'interpréteur. Il faut écrire les opérations de
|
||||||
|
la manière suivante : =+ 2 2=[fn:1].
|
||||||
|
|
||||||
|
Particularité : il n'a pas de boucles, il faut utiliser des =goto=.
|
||||||
|
|
||||||
|
Le langage peut être écrit avec des émojis : c'est grâce à *une
|
||||||
|
propriété d'Ocaml*. Les chaînes de caractères sont *encodées en
|
||||||
|
UTF-8*, il est donc possible de faire du /pattern matching/ dessus.
|
||||||
|
|
||||||
|
Le langage a un manageur de paquets, comme =pip= ou =npm= et s'appelle
|
||||||
|
*Boulangerie*. Il s'adapte selon la langue locale : en français les
|
||||||
|
commandes sont en anglais et vice-versa. L'interpréteur et le manageur
|
||||||
|
de paquets ne sont disponibles que sur MacOS et Linux, à cause d'une
|
||||||
|
bibliothèque utilisée qui n'existe pas sur Windows.
|
||||||
|
|
||||||
|
Il n'y a pas de mode Emacs... pour l'instant.
|
||||||
|
|
||||||
|
* Footnotes
|
||||||
|
|
||||||
|
[fn:1] Cela me fait penser au Lisp où l'addition est =(+ 2 2)=.
|
|
@ -1,16 +1,6 @@
|
||||||
#+options: ':nil *:t -:t ::t <:t H:3 \n:nil ^:t arch:headline
|
|
||||||
#+options: author:t broken-links:nil c:nil creator:nil
|
|
||||||
#+options: d:(not "LOGBOOK") date:t e:t email:nil f:t inline:t num:t
|
|
||||||
#+options: p:nil pri:nil prop:nil stat:t tags:t tasks:t tex:t
|
|
||||||
#+options: timestamp:t title:t toc:t todo:t |:t
|
|
||||||
#+title: Étrangeté numérique : Voyage dans les espaces liminaux et autres analog horror
|
#+title: Étrangeté numérique : Voyage dans les espaces liminaux et autres analog horror
|
||||||
#+date: <2023-05-21 dim.>
|
#+date: <2023-06-23 dim.>
|
||||||
#+author:
|
#+html_link_up:../roadmap.html
|
||||||
#+email: rick@lyra
|
|
||||||
#+language: en
|
|
||||||
#+select_tags: export
|
|
||||||
#+exclude_tags: noexport
|
|
||||||
#+creator: Emacs 28.3 (Org mode 9.6.4)
|
|
||||||
|
|
||||||
* Introduction
|
* Introduction
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue