A víte, že na Crayích v osmdesátých letech spousta lidí radši používala Lisp než Fortran? Protože Lisp tam byl rychlejší... :-D
Faktem je, že principielně máte pravdu: V C máte k dispozici inline assembler a v podstatě Stalin není schopen napsat nic, co byste nedokázal napsat Vy. Jenže Stalin zase umí jiné věci: Například umí globálně v celém programu v čase kompilace (!) provést analýzu toho, kde začíná být která proměnná zapotřebí, a kdy zase je již prokazatelně nepřístupná. Většinu zdánlivých "lispovských malloců" pak převede na rezervaci místa na zásobníku, nebo sdružuje data do větších struktur, které alokuje a ruší najednou. Takhle se dokáže zbavit obrovského množství alokací a dealokací, takže i když má garbage collector (Boehmův GC), většinu času ho běžící program ani neprocvičuje. Člověku by to v Cčku zabralo hodně času promyslet, a taky je otázka, jestli by to dokázal napsat bez chyby - k leakům dochází, i pokud člověk zapomene na free() i tehdy, pokud s jejich umístěním moc nešaškuje.
Podobným způsobem vytváří také částečně aplikované nebo jinak specializované monomorfní funkce, takže tam, kde by interpret Scheme musel řešit typy za chodu, tam spustí Stalin třeba nad vektorem čísel funkci bez jakýchkoli kontrol typů - provedl je v čase kompilace. Podobně pracují i jiné jazyky, třeba právě ML, ale Stalin provádí věci, které žádný jiný kompilátor nedělá, třeba tu nesmírně precizní analýzu práce s proměnnými.
Za to, čeho se tím dosáhne, se ale přeci jen platí jistá daň: Stalin neumí ani celé R4RS Scheme, ale jen tu část jazyka, která se takovýmto analýzám podvoluje, a čas kompilace je astronomický. Ale může to být zajímavý cíl pro generátory kódu, protože člověk zadarmo získá všelijaké zajímavé optimalizace a závorky není tak těžké generovat. ;-)