À propos du service
TraduitJ'écris des programmes en Factor—un langage concaténatif moderne basé sur une pile—et je le fais intentionnellement, pas par accident. La plupart de mon travail se situe en dehors du courant principal : je construis des utilitaires en ligne de commande, des pipelines de traitement de données, des générateurs de code et de petits outils d'automatisation où le style concaténatif brille vraiment. Au lieu d'inventer des noms pour des variables intermédiaires, je compose des mots qui poussent des valeurs à travers la pile, décompose la logique en petits morceaux réutilisables, et garde chaque définition suffisamment courte pour la retenir dans ma tête. Une telle discipline produit un code qui se lit comme une séquence de verbes et se prête facilement à la réécriture : dans un langage concaténatif, extraire une phrase dans un mot séparé coûte presque rien.
Mon expérience couvre l'ensemble du monde des machines concaténatives et basées sur des piles, pas seulement une implémentation. Je suis à l'aise avec les approches similaires à Forth, l'évaluation postfixe, les citations et les combinateurs, et j'apprécie de concevoir de petits langages spécifiques à un domaine qui permettent à un non-programmeur d'exprimer son intention avec une poignée de mots bien choisis. Lorsqu'un client a déjà une idée fonctionnelle mais aucun moyen clair de l'exprimer, je modélise le domaine comme un dictionnaire, le connecte au système sous-jacent, et livre quelque chose qui est à la fois un programme et une spécification lisible. Les tests comptent aussi pour moi : l'auditeur interactif de Factor et les tests modulaires vous permettent de faire évoluer une solution progressivement et de la garder honnête au fur et à mesure de ses changements.
Si vous avez une tâche d'automatisation étroite, un analyseur, un prototype d'interpréteur, ou si vous voulez simplement savoir si une approche concaténative convient à votre problème, je suis le spécialiste à consulter. Je serai honnête sur l'endroit où Factor s'intègre et où il ne s'intègre pas, documenterai ce qui a été fait, et laisserai un code qu'un autre développeur peut reprendre.
— Outils, scripts et utilitaires en ligne de commande en Factor
— Solutions similaires à Forth et postfixes sur un modèle basé sur une pile
— Petits langages spécifiques à un domaine et mini-langages embarqués
— Pipelines de données, génération de code et traitement de texte
— Refactorisation de code à travers des combinateurs et des citations
— Prototypes d'interpréteur, analyseurs et expériences REPL
Mon expérience couvre l'ensemble du monde des machines concaténatives et basées sur des piles, pas seulement une implémentation. Je suis à l'aise avec les approches similaires à Forth, l'évaluation postfixe, les citations et les combinateurs, et j'apprécie de concevoir de petits langages spécifiques à un domaine qui permettent à un non-programmeur d'exprimer son intention avec une poignée de mots bien choisis. Lorsqu'un client a déjà une idée fonctionnelle mais aucun moyen clair de l'exprimer, je modélise le domaine comme un dictionnaire, le connecte au système sous-jacent, et livre quelque chose qui est à la fois un programme et une spécification lisible. Les tests comptent aussi pour moi : l'auditeur interactif de Factor et les tests modulaires vous permettent de faire évoluer une solution progressivement et de la garder honnête au fur et à mesure de ses changements.
Si vous avez une tâche d'automatisation étroite, un analyseur, un prototype d'interpréteur, ou si vous voulez simplement savoir si une approche concaténative convient à votre problème, je suis le spécialiste à consulter. Je serai honnête sur l'endroit où Factor s'intègre et où il ne s'intègre pas, documenterai ce qui a été fait, et laisserai un code qu'un autre développeur peut reprendre.
— Outils, scripts et utilitaires en ligne de commande en Factor
— Solutions similaires à Forth et postfixes sur un modèle basé sur une pile
— Petits langages spécifiques à un domaine et mini-langages embarqués
— Pipelines de données, génération de code et traitement de texte
— Refactorisation de code à travers des combinateurs et des citations
— Prototypes d'interpréteur, analyseurs et expériences REPL