Οι γλώσσες προγραμματισμού με μη αυστηρή σημασιολογία χρησιμοποιούνται για τη συγγραφή προγραμμάτων στα οποία μια έκφραση μπορεί να αντιστοιχίζεται σε ένα όνομα, χωρίς όμως να υπολογίζεται στο σημείο της δέσμευσης. Γλώσσες αυτού του τύπου χρησιμοποιούνται αρκετά σε ερευνητικά θέματα αλλά και σε πρακτικές εφαρμογές γιατί επιτρέπουν τη συγγραφή γρήγορων και κομψών προγραμμάτων, όπου οι υπολογισμοί ορίζονται όπου έχει νόημα αλλά εκτελούνται μόνο όταν χρειάζονται.Αυτή η διδακτορική διατριβή εξετάζει τον νοηματικό μετασχηματισμό (intensional transformation) ως εναλλακτική τεχνική υλοποίησης μη αυστηρών συναρτησιακών γλωσσών, καταλήγοντας στα εξής αποτελέσματα:(1) Περιγράφεται ο γενικευμένος νοηματικός μετασχηματισμός, το βασικό νέο θεωρητικό αποτέλεσμα που αποτελεί γενίκευση του κλασικού νοηματικού μετασχηματισμού και, σε συνδυασμό με τον μετασχηματισμό απαλοιφής συναρτήσεων (defunctionalization), επιτυγχάνει να μετασχηματίσει προγράμματα υψηλότερης τάξης με αυθαίρετες δομές δεδομένων σε προγράμματα ροής δεδομένων (dataflow) μηδενικής τάξης.(2) Αποδεικνύεται η εκφραστική ισοδυναμία των δύο κλασικών εκδοχών του νοηματικού μετασχηματισμού (πρώτης τάξης και υψηλότερης τάξης) χρησιμοποιώντας τον μετασχηματισμό defunctionalization.(3) Δίνεται μια αποδοτική υλοποίηση του γενικευμένου νοηματικού μετασχηματισμού με τη μορφή ενός μεταγλωττιστή για τη γλώσσα Haskell. Η υλοποίηση είναι κατάλληλη για δημοφιλείς αρχιτεκτονικές υλικού και μπορεί να συγκριθεί σε ταχύτητα με άλλους διαθέσιμους μεταγλωττιστές της Haskell.(4) Περιγράφεται μια νέα, οικονομική σε μνήμη, κωδικοποίηση των δομών του χρόνου εκτέλεσης, για την αρχιτεκτονική υλικού AMD64. Αυτή η κωδικοποίηση βελτιώνει την ταχύτητα και τη χρήση κρυφής μνήμης των προγραμμάτων που παράγονται, με αποτέλεσμα η υλοποίηση να είναι συγκρίσιμη σε ταχύτητα με τον μεταγλωττιστή GHC, ο οποίος αποτελεί την ντε φάκτο υλοποίηση της Haskell.(5) Ως σήμερα, ο μετασχηματισμός defunctionalization και ο νοηματικός μετασχηματισμός έχουν περιγραφεί ως μετασχηματισμοί χωρίς δυνατότητα ξεχωριστής μεταγλώττισης. Στη διατριβή αυτή αποδεικνύεται πώς αυτό το χαρακτηριστικό μπορεί να προστεθεί και στους δύο, ώστε να μπορούν να επεξεργαστούν προγράμματα με τη μορφή μονάδων κώδικα Haskell, φτάνοντας έτσι στον τμηματικό νοηματικό μετασχηματισμό και στον τμηματικό μετασχηματισμό defunctionalization.