Lisp

Par abaudouinvegas, 23 mars, 2024

Exploration des Domain-Specific Languages (DSL) en Lisp

Comme nous l'avons vu, précédemment, Lisp permet la création de macros afin d'étendre les fonctions du code, ce qui offre aux développeurs un niveau élevé de personnalisation. Les DSL représentent une autre façon que les développeurs peuvent personnaliser leur code.  Dans des DSL, la syntaxe est typiquement changée, permettant de simplifier des commandes par abstraction, rendant le tout lisible puisqu'une grande partie de la complexité des fonctions se retrouve cachée.

Étiquettes

Par abaudouinvegas, 16 mars, 2024

Depuis la fin de la session passée, j'utilise Emacs comme "environnement de développement", puisque, comme notre professeur Lafrance l'a démontré lors de ses cours, Emacs est un éditeur de texte extrêmement versatile, permettant d'utiliser le terminal, faire des connections ssh, naviguer le web, consulter ses mails, créer un agenda, et parfois, d'éditer du texte. Tout cela, et bien plus, est possible puisqu'Emacs est essentiellement un interpréteur Lisp, et c'est ainsi que toutes ces fonctionnalitées peuvent être ajoutées à Emacs.

Étiquettes

Par abaudouinvegas, 23 février, 2024

La semaine passé, j'ai brèvement mentionné l'homoiconicité présente dans Lisp dans le contexte d'intelligence artificielle. Pourtant, c'est un des concepts les plus intéressants de ce langage et je trouve qu'il serait dommage de ne pas l'explorer d'avantage.

Pour vous rappeller les bases de lisp, une fonction est construite ainsi : 

(+ 1 2)

Le premier argument (+) représente une fonction et les arguments qui suivent sont passés à cette dernière.

Une liste est aussi construite de la même façon :

(list 'banane pomme orange)

Étiquettes

Par abaudouinvegas, 17 février, 2024

Si je vous parlais d'intelligence artificielle et de développement d'apprentissage automatique, que vous viendrait-il en tête ? Python, Tensorflow, OpenCL? Avec l'avancement de cette branche de développement, les librairies spécialisées se sont contentrées en Python et et C/C++, permettant à  plusieurs d'intégrer ces technologies dans leurs projets. Nombreux sont les projets python de reconnaissance d'objet par webcam, de voix par microphones, le tout installé sur des Raspberry Pis.