01.04 — Citations et influences revendiquées#

Les références citées dans le Holy Book ne sont pas neutres : elles fixent le cadre théorique d’Ocarina. On les recoupe ici par grands axes, puis on en propose une lecture d’ensemble.

Axe technique — Programmation fonctionnelle, types, langages#

InfluenceOrigineRapport avec Ocarina
Railway Oriented Programming (ROP)Scott Wlaschin (F#), pattern bien connu en programmation fonctionnelleLe cœur du framework. Result[T] = Ok[T] | Fail, short-circuit, builder fluide. Voir ../02-ocarina/03-railway/.
λ-calcul (1930)Alonzo ChurchCité comme l’invention qui rend possible la « formalisation propre » qu’Ocarina poursuit : « Ce que l’on pensait depuis les années 1930, depuis l’invention du λ-calcul, est enfin scalable à l’échelle que l’on aurait toujours voulu lui donner. »
McCulloch & Pitts (1943)Première formalisation du neurone artificielCité comme rappel que les vrais progrès en IA sont anciens et continus, contre la hype récente.
Système de types Python (PEP 695)PEP 695 (Python 3.12+)Pré-requis pour le typage générique paramétrique qui structure Ocarina (TestSuite[Driver], Result[T], etc.). Voir ../03-functional/06-pep-695-generics.md.

Axe culturel — Anti-narcissisme, simplicité, KISS bien compris#

InfluenceCitationPourquoi
Terry Davis (« le programmeur le plus intelligent qui ait jamais existé »)« Un idiot admire la complexité, un génie admire la simplicité, un physicien essaie de simplifier… »Argumentaire anti-complexité ostentatoire ; pierre angulaire du chapitre « Premiers retours ».
Lao-Tseu« Pour avoir de la connaissance, ajouter des choses chaque jour. Pour avoir de la sagesse, enlever des choses chaque jour. »Démarche de retrait : ce qui reste après élimination.
Antoine de Saint-Exupéry« La perfection est atteinte non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer. »Reformulation occidentale du précédent. Clos le chapitre « Premiers scénarios ».
Alan Watts« La meilleure façon de résoudre un problème est souvent d’en sortir. »Cité en fin du chapitre « Premiers jutsus » : légitime un design qui refuse certaines fonctionnalités (réactivité, async). Légitime la sortie de l’écosystème des trucs de geeks.
Rainer Maria Rilke« Pour l’instant, vivez les questions… »Clos le chapitre « Premiers pas ». Posture envers la pratique : la maîtrise vient par l’usage.
Marcel Proust« Le style (…) est une question non de technique, mais de vision. »Clos le chapitre « Extensibilité ». Justifie le refus d’imposer un DSL : la vision (POMs + actions) prime sur la technique (un format).

Axe politique — Code, souveraineté, anti-startup-nation#

InfluenceOrigineRapport avec Ocarina
Code is LawLawrence Lessig (1999), repris par Ethereum (2015) comme idéal positifCité comme la posture face à la « gouvernance démocratique du code ». Le code est la donnée brute, auditable. Le projet revendique : « De nouveau, avec l’IA, ce maillon qu’il manquait cruellement, crions-le, aussi fort que l’on criait “HACK THE PLANET” en 99 : CODE IS LAW. »
DHH — I won’t let you pay me for my open sourceDavid Heinemeier Hansson, blog persoCité pour légitimer le refus de contributions non alignées (« Fuck You » fait référence à la célèbre slide de DHH.)
Paul Graham — HatersEssai PG (paulgraham.com/fh.html)Justifie la décision de « ne JAMAIS perdre [son] temps à argumenter lorsque ce n’est pas la peine ».
Yegor Bugayenko — PromptCitation « Retry flaky blocks. »Fond la politique transient_errors + retries linéaires (TestFlow). Lire aussi : Angry Tests.
The DAO hack (2016)Hack de The DAO sur EthereumCité pour pointer que ce sont les bugs (« des satanés bugs, à cause de satanés dévs ») qui ont fait reculer l’idée de Code is Law, d’où l’importance du typage et de la rigueur.
Lee Robinson (ex-Vercel)Décembre 2025 : remplacement de Sanity par des fichiers Markdown + IA chez CursorSoutient le « retour à la donnée brute ».
Cluely (Roy Lee)Cité pour illustrer le bullshit entrepreneurial à éviterContraste explicite avec la philosophie Ocarina.

Axe identitaire / underground#

InfluenceOrigine
Lulzsec — « In the Lulzboat, salute, bitch, and show some respect. »Antisec (YTCracker, 2011)
« We Can Do All What You Can’t Do »YogyaCarderLink
YTCracker — Robots Will Definitely Take Your JobLien SoundCloud, musique de fond du chapitre « Premiers retours »
« HACK THE PLANET » (1999)Slogan emblématique de la scène hackers des années 1990 + Antisec (YTCracker, 2011)
Zone-HSite historique de defaces web
r/unixporn, r/AntiTaffSubreddits

Axe IA / outillage moderne#

InfluenceOrigineRapport avec Ocarina
Claude CodeAnthropicOutillage de référence du projet IA (ocarina-with-ai-example). Cité plusieurs fois comme « pont » remplaçant les DSLs.
IntelliCode (2018)MicrosoftCité comme repère temporel (« on y avait déjà goûté, avant même IntelliCode »).
R., savant fou du siloAnecdote personnelle (un collègue de 2013, plugin Emacs IA privé)Rappel que l’IA générative (« 15 000 lignes à supprimer pour éviter d’en écrire 1000 ») existait avant la hype publique.
Prisma, Vercel, CursorÉcosystème SaaSCités comme cas pratiques de retour à la donnée brute assisté par IA.

Cohérence d’ensemble#

Toutes ces influences pointent vers trois axes convergents :

  1. La donnée brute typée comme matériau primaire (lambda-calcul → ROP → Python typé → IA).
  2. La sophistication aboutissant à la simplicité comme métrique de qualité.
  3. La souveraineté comme posture politique.

ROP en est l’incarnation technique : faire du flux d’échec une valeur typée (Ok/Fail) plutôt qu’un effet de bord (exception levée). Le résultat est à la fois fonctionnel et accessible. Le Holy Book le résume :

Ocarina rend son mésusage difficile par conception : le compilateur fait foi.

Ce que ces influences n’ont pas apporté#

AbsentPourquoi
Aucune référence à un framework de test concurrent adopté (Cypress, Playwright, Mocha, Jest, RF, Cucumber)Tous sont mentionnés en contraste, jamais en source d’inspiration.
Aucune référence à une école « Clean Code » ou « SOLID »« Vous. Ne. Savez. Même pas. Ce que. “Clean code”. Veut. Réellement. DIRE. »
Aucune référence à un framework DI (Spring, Guice, Hilt)L’IoC se fait par closures — voir ../03-functional/02-closures-ioc.md.

L’absence est aussi un choix.