Čo tak výpočtový modul alebo vrstvu spolupracujúcu s alebo nad editorom vzorcov.
Pracovne to nazveme mathmodul.
Povedzme že dáme mathmodul-u vstupný textový súbor (UTF8), vymyslím si napr:
Funkcia Pytagorovej vety > Pytagor(a,b):=sqrt(a^2+b^2)
Odvesna a > a=3
Odvesna b > b=4
Prepona c > c:=Pytagor(a,b)=result
Každý riadok tohto súboru by predstavoval jeden vzorec, a to pred znakom ">" by bol názov vzorca a za ním jeho definícia. Z každého takéhoto riadku by mathmodul vyrobil vzorec do OO(writeru) a umožnil jeho vloženie pod jeho názvom. V mieste kľúčového slova "result" by sa vyčíslila hodnota výsledku vzorca (v tomto prípade 5). Takéto súbory by sa mali dať vložiť do OO dokumentu viacero a mali by existovať vzájomné väzby medzi OO-vzorcami a a vzorcami v týchto súboroch a súbormi vzájomne pomocou ďalšieho kľúčového slova include. Ide o to aby sa dali tieto súbory spätne upravovať a mathmodul by OO-vzorce interaktívne upravoval.
V prvotných verziách by mal mathmodul vedieť implementovať:
1. priraďovací operátor ":=" a vyčísľovací operátor "=result" , ktorý by sa musel nachádzať vždy na konci vzorca
2. operátory plus +, mínus -, násobenie *, deleno /, umocnenie ^, odmocnenie, faktoriál !, zátvorky () a to včetne priorít
3. funkcie goniometrické, hyperbolické, logaritmické ...
4. spočiatku stačia premenné ako skaláry ale implementované polymorfne, tak aby sa dali neskôr pridať vektory, matice, imaginárne čísla ...
5. logické operátory "and" "or" "no"
6. porovnávacie operátory "==" "!=" "<" ">" "<=" ">="
7. rozhodovacia funkcia if (...) then (...) else (...)
8. dolný index ako podtržítko napr. f_a by bol názov premennej f s dolným indexom a (f_a by bol celý názov premennej)
Neskôr možno implementovať:
1. Jednotky priradené ku konštantám v hranatých zátvorkách [m], [kg], [s], [N], [Pa], [J], [V], [A], ... a schopnosť ich zachovať a počítať s nimi v premenných a vzorcoch.
... atď