Les logiques sous-structurelles permettent de suivre au niveau du système de types l'utilisation et le partage de ressources (pour traquer des leaks ou de l'aliasing, borner l'utilisation de la mémoire, …).
Cela permet par exemple de réconcilier pureté et mutations (si une ressource n'est pas partagée et qu'elle est mutée, personne ne pourra observer cette mutation), et conduit à des implantations sûres et efficaces.
Au niveau des langages permettant de jouer avec ces concepts :
ATS, langage ML pour la programmation système/bas-niveau, incluant types dépendants, linéarité (et GC optionnel), particulièrement performant http://www.ats-lang.org/
Clean, un langage proche de Haskell, mais avec un système de types dit "uniqueness typing" qui permet de représenter certains effets sans passer par une monade, http://wiki.clean.cs.ru.nl/Clean
[^] # Re: Vive le fonctionnel
Posté par Def . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 2.
Les logiques sous-structurelles permettent de suivre au niveau du système de types l'utilisation et le partage de ressources (pour traquer des leaks ou de l'aliasing, borner l'utilisation de la mémoire, …).
Cela permet par exemple de réconcilier pureté et mutations (si une ressource n'est pas partagée et qu'elle est mutée, personne ne pourra observer cette mutation), et conduit à des implantations sûres et efficaces.
Au niveau des langages permettant de jouer avec ces concepts :
Pour davantage d'informations :
http://en.wikipedia.org/wiki/Substructural_type_system