Οι γλώσσες προγραμματισμού με μη αυστηρή σημασιολογία χρησιμοποιούνται για τη συγγραφή προγραμμάτων στα οποία μια έκφραση μπορεί να αντιστοιχίζεται σε ένα όνομα, χωρίς όμως να υπολογίζεται στο σημείο της δέσμευσης. Γλώσσες αυτού του τύπου χρησιμοποιούνται αρκετά σε ερευνητικά θέματα αλλά και σε πρακτικές εφαρμογές γιατί επιτρέπουν τη συγγραφή γρήγορων και κομψών προγραμμάτων, όπου οι υπολογισμοί ορίζονται όπου έχει νόημα αλλά εκτελούνται μόνο όταν χρειάζονται.Αυτή η διδακτορική διατριβή εξετάζει τον νοηματικό μετασχηματισμό (intensional transformation) ως εναλλακτική τεχνική υλοποίησης μη αυστηρών συναρτησιακών γλωσσών, καταλήγοντας στα εξής αποτελέσματα:(1) Περιγράφεται ο γενικευμένος νοηματικός μετασχηματισμός, το βασικό νέο θεωρητικό αποτέλεσμα που αποτελεί γενίκευση του κλασικού νοηματικού μετασχηματισμού και, σε συνδυασμό με τον μετασχηματισμό απαλοιφής συναρτήσεων (defunctionalization), επιτυγχάνει να μετασχηματίσει προγράμματα υψηλότερης τάξης με αυθαίρετες δομές δεδομένων σε προγράμματα ροής δεδομένων (dataflow) μηδενικής τάξης.(2) Αποδεικνύεται η εκφραστική ισοδυναμία των δύο κλασικών εκδοχών του νοηματικού μετασχηματισμού (πρώτης τάξης και υψηλότερης τάξης) χρησιμοποιώντας τον μετασχηματισμό defunctionalization.(3) Δίνεται μια αποδοτική υλοποίηση του γενικευμένου νοηματικού μετασχηματισμού με τη μορφή ενός μεταγλωττιστή για τη γλώσσα Haskell. Η υλοποίηση είναι κατάλληλη για δημοφιλείς αρχιτεκτονικές υλικού και μπορεί να συγκριθεί σε ταχύτητα με άλλους διαθέσιμους μεταγλωττιστές της Haskell.(4) Περιγράφεται μια νέα, οικονομική σε μνήμη, κωδικοποίηση των δομών του χρόνου εκτέλεσης, για την αρχιτεκτονική υλικού AMD64. Αυτή η κωδικοποίηση βελτιώνει την ταχύτητα και τη χρήση κρυφής μνήμης των προγραμμάτων που παράγονται, με αποτέλεσμα η υλοποίηση να είναι συγκρίσιμη σε ταχύτητα με τον μεταγλωττιστή GHC, ο οποίος αποτελεί την ντε φάκτο υλοποίηση της Haskell.(5) Ως σήμερα, ο μετασχηματισμός defunctionalization και ο νοηματικός μετασχηματισμός έχουν περιγραφεί ως μετασχηματισμοί χωρίς δυνατότητα ξεχωριστής μεταγλώττισης. Στη διατριβή αυτή αποδεικνύεται πώς αυτό το χαρακτηριστικό μπορεί να προστεθεί και στους δύο, ώστε να μπορούν να επεξεργαστούν προγράμματα με τη μορφή μονάδων κώδικα Haskell, φτάνοντας έτσι στον τμηματικό νοηματικό μετασχηματισμό και στον τμηματικό μετασχηματισμό defunctionalization.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.