Często eksperymentuję w REPL i powiem coś takiego:
subset Bar of Int where * %% 57;
Potem przez Barchwilę bawię się sprawdzaniem rzeczy.
Wszystko jest szczęśliwe, dopóki nie uświadomię sobie, że chcę zmienić definicję Bar.
Jeśli przedefiniuję Bar, otrzymam Redeclaration of symbolwyjątek.
Próbowałem użyć MONKEY-TYPINGi augmentpodoba mi się to:
use MONKEY-TYPING;
augment subset Bar of Int where * %% 37;
Ale to doprowadziło mnie do tego samego błędu.
Dlaczego tego chcę? Mogę więc iterować definicje mojego podzbioru (lub klasy lub innego symbolu), jednocześnie wykorzystując testy, które już wpisałem, które są w mojej historii.
use MONKEY-TYPINGaaugmentjednak nie działać prawidłowo w REPL (jeszcze?), Ponieważ potrzebuje dużo magii i taśmę kaczki.