Le but de ce site est de présenter quelques uns de mes logiciels.
Vous pourrez aussi trouver des liens vers des logiciels en rapport
avec ceux-ci, ainsi qu'une page de liens sur le developpement de
logiciels et le logiciel libre.
Quelques-uns de ces logiciels sont documentés en français, d'autres en
Anglais.
Skill-0 (présenté ici) est une version de test d'une maquette
d'un langage d'inférence en cours de conception.
Skill offre quelques ressemblances avec
Prolog mais
s'en distingue par des particularités importantes et des limitations
différentes.
Skill n'est pas basé sur la logique des prédicats du premier ordre comme l'est Prolog, mais simplement sur du 'pattern matching'.
documentation de Skill-0 en français.
Ail est un injecteur de dépendances de type setter injector du fait que Ruby se prête à ce genre d'implémentation.
Il vous permet de maximiser le découplage des différents composants
d'une application en s'occupant du cablage entre ces composants et
autres ressources et en réduisant ainsi le code des classes
de manière significative.
Son API simple et souple lui permet d'être la base de 'frameworks' sans
imposer de contraintes lourdes dans le développement de classes et
d'utiliser comme ressources des classes existantes.
Il comprend également des méthodes permettant de visualiser le graphe
de dépendance des ressources utilisées dans une application.
documentation de Ail en français.
Graph est un ensemble d'outils permettant de manipuler des graphes et plus particulièrement de les visualiser.
documentation de Graph en français.
almaconf propose un langage pour écrire des fichiers de configuration et
une api ruby pour les charger dans un hash.
le langage almaconf est un sous-ensemble du langage alma
et peut être utilisé comme langage de description pour d'autres buts.
documentation de Almaconf en anglais.
Alma est un macro-langage généraliste qui tient sa puissance du langage de programmation Ruby. Alma peut être utilisé pour générer des documents en langages de programmation, en langages humains et peut-être en d'autres langages.
En Alma, vous pouvez utiliser des méthodes Ruby de la même manière que vous utilisez des macros Alma, ainsi, à peine déballé, il met à votre disposition des milliers de fonctions intégrées
Documentation de Alma en anglais.
OptHash permet d'associer dans un hash d'un programme Ruby les options de la ligne de commande à leurs arguments. Il prend en compte les arguments de type liste qui sont placés dans des tableaux dans le hash. vérifie la présence d'options requises et de leurs arguments, fournit éventuellement des arguments par défaut, prend en main les erreurs de l'utilisateur, génère et affiche les informations de l'option --help et --version, et fait bien d'autres choses encore...
Documentation de OptHash en anglais.
Dans cette Introduction à Ruby Vous trouverez une présentation du langage et des liens vers des ressources francophones.
Continuations, Goto et iterateurs..
Mon opinion sur les continuations assortie de quelques benchmarks.
Copie d'une hierarchie de répertoires..
Un snippet de descente récursive dans des répertoires.
Tri des indices d'un tableau..
Un exemple d'utilisation des tableaux et des pointeurs.
Il s'agit de petits hacks permettant de simplifier l'administration d'une
machine domestique sur un Unix.
Ils ne sont plus maintenus depuis un moment.
Au lieu de Bop je conseille d'utiliser les librairies Ruby
qui permettent d'écrire dans une approche orientée objet.
Voir cette
Documentation sur les extensions Ruby.
Au lieu de Hyprf, utilisez Doxygen.
Cette bibliothèque permet d'accéder à des types de données tels que listes,
hashes, piles etc.
Elle pourrait rescussiter un jour.
Documentation de Bop en français.
Quelques outils de développement s'appuyant sur la bibliothèque Bop.
Documentation de Bop-utils en français.
En plus de fournir un graphe d'appel de fonctions, Il permet de naviguer
de fonction en fonction dans des sources C ou C++.
C'est aussi un hack 'quick and dirty', il n'y a aucune garantie qu'il
marche chez vous.
Documentation de Hyprf en français.
A moins que vous n'ayez de bonnes raisons d'agir autrement, téléchargez la dernière version, celle la plus près du haut de la page de téléchargement.
Décompactez le package par
tar xzvf
name-version.tar.gz, cela créera le
répertoire name-version, lisez ensuite le fichier README
dans ce répertoire.
page de liens vers des sites généralement francophones en rapport avec l'informatique et les logiciels libres.