Mówiąc najprościej, Twoim celem jest stworzenie kompletnego programu, który modyfikuje swój własny kod źródłowy, dopóki każda jego postać nie będzie inna niż początkowo.
W swoim poście umieść źródło początkowe oraz źródło końcowe, a także opis. Np. Opisz, co (jeszcze) robi twój program, używany język, twoja strategia itp.
Zasady
- Twój program musi się zatrzymać po zakończeniu modyfikacji.
- Musi faktycznie zmodyfikować własny, aktualnie działający kod źródłowy (niekoniecznie plik przekazany do interpretera, modyfikuje instrukcje), nie może drukować nowego programu ani pisać nowego pliku.
- Standardowe luki są niedozwolone.
Najkrótszy program wygrywa.
Jeśli twój język może modyfikować własny plik i wykonać nowy proces kompilatora, ale nie może modyfikować własnego (aktualnie działającego) kodu źródłowego, możesz napisać taki program zamiast kary + 20% bajtów, w zaokrągleniu w górę. Prawdziwe samomodyfikujące się języki powinny mieć przewagę.
Edycja : jeśli Twój program zatrzymuje się z błędami, określ go jako taki (i może powiedz, jakie są błędy).