diff --git a/bib/programming.bib b/bib/programming.bib index 01c4eec..64f77d5 100644 --- a/bib/programming.bib +++ b/bib/programming.bib @@ -43,3 +43,8 @@ title = {Web interface to the reaction system simulator}, author = {Sergiu Ivanov}, howpublished = {\url{http://combio.abo.fi/research/reaction-systems/reaction-system-simulator/}} } + +@misc{haskellorg, +title = {The {H}askell language home page}, +howpublished = {\url{https://www.haskell.org/}} +} diff --git a/recherche.tex b/recherche.tex index 61f57bc..5411362 100644 --- a/recherche.tex +++ b/recherche.tex @@ -910,6 +910,36 @@ m'investir dans l'exploration des possibilités d'appliquer l'approche catégorique à la composition de modèles afin de contribuer à l'étude de systèmes complexes. +\subsubsection{Programmation algébrique} +En plus d'être génériques et flexibles, les structures catégorielles +et, plus généralement, algébriques et topologiques se fondent sur des +systèmes d'axiomes assez minimaux, ce qui rend leur représentation sur +l'ordinateur assez naturelle. Il ne s'agit pas de la correspondance +entre le modèle de calcul derrière les ordinateurs modernes qui n'est +certainement pas particulièrement adapté au calcul symbolique, mais +plutôt du fait que les systèmes d'axiomes minimaux se prêtent +facilement à une description sous la forme d'une spécification qui +peut être utilisée ensuite pour de la validation automatique. Ainsi, +la pratique d'incorporer certains aspect catégorielles dans le +systèmes de typage se voit de plus en plus adoptée par les +développeurs des langages de programmation. + +Un exemple de langage qui a incorporé un nombre important de concept +catégoriels est Haskell~\cite{haskellorg}. Ce langage permet de +manipuler directement des structures telles que monoïdes, foncteurs, +monades, etc. afin de pouvoir spécifier des propriétés assez fortes +sur les types, et notamment de factoriser les structures de données +utilisées ainsi que le code source. Il s'agit donc d'un travail de +découpage des structures de données et du code source en sous-parties, +ce qui est un cas particulier du problème général de décomposition de +modèles décrit dans la section précédente. Par conséquent je trouve +très intéressant de représenter tout ébauche de théorie algébrique de +modèles sur l'ordinateur dans un langage haut niveau, car d'une part +cela permettra de vérifier la justesse des définitions et de les +exécuter assez tôt, et d'autre part cette approche s'inspire +directement de l'étude formelle derrière les langages haut niveau +rapprochant ainsi les problèmes de modélisation de ce domaine. + \subsection{Old} Mon projet de recherche vise tout d'abord à approfondir les travaux