Il n'empêche, avant de me lancer dans mon code, j'avais regardé un peu ce que faisait sc-im, et était tombé sur un segfault au bout de quelques minutes d'utilisations.
Visiblement le projet a évolué rapidement, plus que ce que je peux faire tout seul de mon côté, mais il n'empêche que je m'amuse bien :
Par exemple la représentation des dates dans le tableur m'a entrainé sur les calculs autour du jour julien et des algorithmes associés pour faire la conversion.
Plus intéressant, si on regarde une formule dans une cellule comme une instruction, alors un tableur est un interpréteur (non linéaire, puisque l'ordre des instructions n'est pas déterminé). Je m'étais posé comme règle de ne pas écrire une longue liste de type case sur les fonctions à interpréter, mais que celle-ci soit gérée de manière dynamique via un catalogue, ce qui m'a entraîné dans certaines expérimentations liées à ce que propose OCaml (voir cet article sur mon blog qui traite de la manière dont j'ai mis en place l'évaluateur de type). Cela donne au final un interpréteur très fortement typé, qui est aujourd'hui assez souple pour être enrichi dans d'autres directions.
Mais j'ai dit que je reviendrai avec un contenu plus conséquent quand j'aurais davantage avancé :)
[^] # Re: spreadsheet
Posté par chimrod (site web personnel) . En réponse au journal Applications de type vim-like. Évalué à 4.
La référence était volontaire :)
Il n'empêche, avant de me lancer dans mon code, j'avais regardé un peu ce que faisait sc-im, et était tombé sur un segfault au bout de quelques minutes d'utilisations.
Visiblement le projet a évolué rapidement, plus que ce que je peux faire tout seul de mon côté, mais il n'empêche que je m'amuse bien :
Par exemple la représentation des dates dans le tableur m'a entrainé sur les calculs autour du jour julien et des algorithmes associés pour faire la conversion.
Plus intéressant, si on regarde une formule dans une cellule comme une instruction, alors un tableur est un interpréteur (non linéaire, puisque l'ordre des instructions n'est pas déterminé). Je m'étais posé comme règle de ne pas écrire une longue liste de type
casesur les fonctions à interpréter, mais que celle-ci soit gérée de manière dynamique via un catalogue, ce qui m'a entraîné dans certaines expérimentations liées à ce que propose OCaml (voir cet article sur mon blog qui traite de la manière dont j'ai mis en place l'évaluateur de type). Cela donne au final un interpréteur très fortement typé, qui est aujourd'hui assez souple pour être enrichi dans d'autres directions.Mais j'ai dit que je reviendrai avec un contenu plus conséquent quand j'aurais davantage avancé :)