mirror of
https://git.sr.ht/~crc_/retroforth
synced 2024-11-16 19:48:56 +01:00
fa7aa5da72
FossilOrigin-Name: c165ad47ac1755bbb5b0b2f7de41286d47de5aac2e7da4af1d4d0640bbc16790
18 lines
503 B
Forth
18 lines
503 B
Forth
# rosetta|is-palindrome
|
|
|
|
A palindrome is a phrase which reads the same backward and forward.
|
|
|
|
Write a function or program that checks whether a given sequence of
|
|
characters (or, if you prefer, bytes) is a palindrome.
|
|
|
|
|
|
In Retro this is fairly easy. We can use `s:hash` to identify a unique
|
|
string. So make a copy, take he hash, reverse the copy, get its hash,
|
|
and compare them.
|
|
|
|
````
|
|
:s:palindrome? (s-f)
|
|
dup s:hash [ s:reverse s:hash ] dip eq? ;
|
|
|
|
'ingirumimusnocteetconsumimurigni s:palindrome?
|
|
````
|