;; atomowe S-wyrażenie jako dane (symbol) 'a ; => aWspomnianym pojedynczym elementem może być np. literał wyrażający stałą wartość, ale również tzw. symbol, czyli czytelna etykieta służąca do identyfikowania umieszczonych w pamięci obiektów (np. wartości czy funkcji), z którymi została wcześniej skojarzona. Przykłady symboli to: +, -, abc, jakaś-nazwa itp.

Zazwyczaj symboliczne wyrażenia będą wartościowane, aż do uzyskania form zwykłych, których nie można już skracać, ponieważ są danymi (wartościami przeliczanymi do samych siebie). Między innymi każdy napotkany symbol będzie poddany procesowi rozpoznawania wartości, na którą wskazuje, aby uzyskać identyfikowany nim obiekt. Programista może jednak selektywnie tym procesem sterować i sprawiać, aby pewne wyrażenia nie były (natychmiastowo) przeliczane. Dotyczy to zarówno listowych S-wyrażeń, jak i pojedynczych S-wyrażeń (zwanych atomowymi). Na przykład w przypadku symbolu zamiast wskazywanej nim wartości zwrócony zostanie jego własny obiekt reprezentujący czytelną etykietę, a w przypadku symbolicznie zapisanej listy rezultatem nie będzie efekt wywołania podprogramu (np. funkcji), lecz obiekt jednokierunkowej listy elementów. Programem symbolicznym nazwiemy więc taki program, który operuje na wyrażeniach symbolicznych.

Przypisy

Kategoria:Paradygmaty programowania