cwbe coordinatez:
101
63540
2076399
3671716
8798096

ABSOLUT
KYBERIA
permissions
you: r,
system: public
net: yes

neurons

stats|by_visit|by_K
source
tiamat
K|my_K|given_K
last
commanders
polls

total descendants::8
total children::4
20 ❤️


show[ 2 | 3] flat


Napisal som kompilator medzi dvoma velmi neproceduralnymi jazykmi -- zdrojovym jazykom je Ever, dialekt Scheme; cielovym jazykom je Excel, ktory je este neproceduralnejsi nez Scheme.

Funguje to takto. Najskor si clovek napise program v jazyku Ever:

(define (fac acc n)
  (if-zero
    n
    acc
    (fac (* n acc) (- n 1))))

(define (main)
  (display
    (fac 1 6)))


Potom ho kompilator prelozi cez nejaky zasobnikovy bajtkod...

; -------[ main ] -------------
OP 0 (XStr "ret")
OP 0 (XInt 1)
OP 0 (XInt 6)
LOAD (Addr 3)
PUSHL (PC 8)
LOAD (Addr 2)
STORE (Addr 3)
JMP (PC 13)
LABEL (PC 8)
STORE (Addr 3)
POP 2
PRINT
HALT
; -------[ fac ] --------------
LABEL (PC 13)
OP 0 (XLoc 2)
JZ (PC 22)
OP 0 (XOp "*" (XLoc 2) (XLoc 3))
OP 0 (XOp "-" (XLoc 2) (XInt 1))
LSTORE 2
LSTORE 3
JMP (PC 13)
JMP (PC 24)
LABEL (PC 22)
OP 0 (XLoc 3)
LABEL (PC 24)
LSTORE 4
RET

...do Excelu a dostane toto:
screenshot.png

Kazda bunka obsahuje nejake magicke vzorceky, ktore nakoniec dopocitaju faktorial 6-tky a vypluju ho do laveho stlpceka.

Hlavnou vyzvou je, ze Excel je velmi-velmi neproceduralny. Neda sa proste povedat "ak X, potom zapis Y do bunky C9, inak nerob nic". Clovek musi povedat "C9 = ak X potom Y, inak C8" a zahrnut v jednom vzorci vsetky mozne pristupy z celeho programu. Cize cely program sa obrati "naruby" a miesto programovania niecoho, co pise do buniek, musi clovek naprogramovat bunky, aby samy zmenili svoju hodnotu podla toho, co vidia okolo seba. A aby to dohromady vyzeralo, akoby do nich pisal niekto zvonku.

Nuz a nazov tohto kompilatora je zaroven mottom istej Skotskej univerzity. :)




000001010006354002076399036717160879809609043183
aarin
 aarin      20.02.2023 - 10:21:36 , level: 1, UP   NEW
strasne dobre sa cita ten zdrojak, pekny Haskell

(viem po akej dobe reagujem)

00000101000635400207639903671716087980960904318309043214
ziman
 ziman      20.02.2023 - 12:14:29 , level: 2, UP   NEW
dakujem :)

000001010006354002076399036717160879809608841718
jurov
 jurov      14.02.2021 - 09:19:55 , level: 1, UP   NEW
Da sa z toho volat VBA?

...ked aj slzy placu

00000101000635400207639903671716087980960884171808841725
ziman
 ziman      14.02.2021 - 09:38:51 , level: 2, UP   NEW
https://stackoverflow.com/questions/19601630/how-to-call-vba-function-from-excel-cells/22736330#22736330

zda sa, ze pridat by to nebolo nijako tazke

000001010006354002076399036717160879809608798522
repelent
 repelent      23.10.2020 - 16:07:11 , level: 1, UP   NEW
Ten Ever je tvoj dialekt? Som sa to snazil najst a nejak sa mi nedari. Ak to mas niekde mimo ako projekt (alebo ak je to aj nieco ine), mozno do readme hod link. Alebo to existuje iba v ramci tohto projektu? :)

00000101000635400207639903671716087980960879852208798540
ziman
 ziman      23.10.2020 - 16:36:28 [2K] , level: 2, UP   NEW
to je len tento jazyk; povodne nemal ani meno, lebo nema zmysel ho pomenovavat, ale potom niekto spomenul motto nasej univerzity, tak mi doplo, ze ak pomenujem ten jazyk Ever, tak mozem pomenovat cely projekt ever-to-excel :)

000001010006354002076399036717160879809608798512
niekt0
 niekt0      23.10.2020 - 15:55:12 [1K] , level: 1, UP   NEW
fuzzer vravis?:)

00000101000635400207639903671716087980960879851208798580
ziman
 ziman      23.10.2020 - 18:41:23 [1K] , level: 2, UP   NEW
asi by sa to dalo pouzit aj tak :)