Standardowym dowodem kompletności języka jest napisanie maszyny Turinga w tym języku. Dowodzi to, że istnieje równoważność między językiem (zwykle podzbiorem języka) a maszyną Turinga.
Pojęcie „notacji muzycznej” jest nieco śliskie. Stosuje się wiele znormalizowanego grawerowania. Jednak. Są kompozytorzy pchający koperty, którzy piszą na papierze wszelkiego rodzaju szalone rzeczy.
Udawajmy, że chcesz się skoncentrować na podzbiorze notacji muzycznej, który jest uważany za wystarczająco standardowy, aby być częścią Finale lub Sibeliusa lub jakiegoś zestawu narzędzi do grawerowania głównego strumienia.
Więc.
W Pythonie (lub C lub cokolwiek) definiujesz symbole, taśmę, reguły przejścia i różne akcje, które aktualizują taśmę, aby odzwierciedlić zmianę stanu i ruch taśmy, odczytywanie i zapisywanie symboli na taśmie.
Za pomocą „notacji muzycznej” musimy zdefiniować symbole i stanową taśmę, reguły przejścia i różne działania, które aktualizują taśmę.
Brakuje nam stanowej taśmy i zasad, które mówią muzykom, jak reagować na symbole na taśmie i jak ją aktualizować.
W pewnym sensie odgłosy płynące w powietrzu mogą być stanową taśmą. Ale. Nie ma łatwego sposobu przewinięcia taśmy do tyłu. Ten brak przewijania oznacza, że wykonawca musiałby zachować jakąś prywatną „taśmę”.
To wychodzi poza notację muzyczną i inne instrukcje pozamuzyczne dla wykonawcy.