Ψιλο-ισοδύναμα είναι από άποψη δυνατοτήτων (όχι όμως και από απόδοσης).
Αν υποστηρίζεται συνένωση, μπορείς κατασκευάζοντας ένα string και συγκρίνοντας να βρεις τα στοιχεία του μόνο με τους τελεστές >, <, =. Οπότε "αλγεβρικά" μιλώντας, είναι ισοδύναμα, μπορείς να υλοποιήσεις σε συναρτήσεις τις δυνατότητες που δεν έχεις.
Το θέμα είναι ότι αν δεν έχεις έστω και κάτι κόβεται όλο το string handling... Βέβαια π.χ. στην παραπάνω άσκηση μπορείς να βγάλεις το τελευταίο ερώτημα, "να εμφανίζονται σε μία γραμμή", και να γίνει εντός ύλης, αλλά έτσι χάνεται η μαγεία... Αν πεις στο μαθητή να δίνει - διαβάζει ένα γράμμα τη φορά, ξενέρωσε...
edit: μάλλον πρέπει να είμαι λίγο πιο αναλυτικός... Έστω μία μεταβλητή χαρακτήρας = 'asdfghjkl'. Αν υποστηρίζεται συνένωση, μπορώ με πεπερασμένες επαναλήψεις να το αναλύσω σε πίνακα χαρακτήρων = ['a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l'].
Για να το κάνω αυτό, ξεκινώ με s = 'n' και κάνω κάτι σαν δυαδική αναζήτηση ανάμεσα στα 'a' και 'z', μεταβάλλοντας το s και συγκρίνοντάς το διαδοχικά με τη μεταβλητή χαρακτήρα, μέχρι να βρω το πρώτο γράμμα της. Έτσι χρησιμοποιώ μόνο τους τελεστές <, > και =. Αφού βρω ότι το πρώτο γράμμα είναι το 'a', προσθέτω στο s πάλι το 'n', γίνεται 'an' και κάνω πάλι δυαδική αναζήτηση της μεταβλητής χαρακτήρα κοκ. Έτσι μπορώ να κάνω μια συνάρτηση που επιστρέφει οποιονδήποτε από τους χαρακτήρες του s, και επειδή στο τέλος των δυαδικών αναζητήσεων θα έχω υπολογίζει το s, θα έχω και το μήκος του. Αλγεβρικά λοιπόν είναι ισοδύναμα, μπορώ να υλοποιήσω το indexing αν έχω τη συνένωση. Πληροφορικά... it sucks, θέλει O[N*logN] επί περίπου Ν ακόμα για το σταδιακό χτίσιμο του s επί περίπου maxof(char) ακόμα για τις ord και chr που θα χρειαστούν.
Συμπέρασμα; Αφού ο Διερμηνευτής (αλλά και η Γλωσσομάθεια) υποστηρίζει + στα αλφαριθμητικά, είναι δυνατόν να υλοποιηθεί σε αυτόν μια διαδικασία που να μετατρέπει ένα οποιοδήποτε αλφαριθμητικό σε πίνακα μονών χαρακτήρων!!!
Γιώργο αν θες να το δεις για πλάκα, μπορώ να το υλοποιήσω και το αρχικό μήνυμα της κρυπτογράφησης να δίνεται σε μία γραμμή!
