Table | Card | RUSMARC | |
Allowed Actions: –
Action 'Read' will be available if you login or access site from another network
Action 'Download' will be available if you login or access site from another network
Group: Anonymous Network: Internet |
Annotation
Тема выпускной квалификационной работы: «Реализация восстановимых типовых параметров в языке программирования Kotlin». Данная работа посвящена вопросу целесообразности выборочной поддержки восстановимых типовых параметров в языке Kotlin с точки зрения сценариев использования, взаимодействия с другими особенностями данного языка и производительности такой реализации при отсутствии прямой поддержки данной возможности со стороны виртуальной машины Java. В ходе исследования были решены следующие задачи: ∙были выделены основные возможности параметрического полиморфизма, а также разобрано их представление в языке программирования Kotlin; ∙проведен анализ существующих техник восстановления типовых параметров; ∙разработан дизайн техники восстановления типовых параметров для параметризованных типов в Kotlin; ∙на основе этой техники был реализован прототип компилятора с выборочной поддержкой восстановимых типовых параметров; ∙проведено тестирование производительности и анализ полученных результатов. Прототип компилятора с поддержкой восстановимых типовых параметров был сделан на основе версии 1.3.70 компилятора Kotlin. В ходе тестирования производительности были сравнены две версии прототипа, различающиеся реализацией, но не функциональностью,чтобы выявить более подходящую. В результате был разработан подход для выборочной поддержки восстановимых типовых параметров в языке программирования Kotlin, а также выявлены ограничения их использования (например, вместе с вариантностью по месту использования).
The subject of the graduate qualification work is “Implementation of reified typed parameters in the Kotlin programming language”. This work is devoted to a question of expediency of selective support of reified type parameters in Kotlin from the point of view of scenarios of use, interaction with other features of the given language and productivity of such realization at absence of direct support of the given possibility from Java virtual machine. During the research, the following tasks were solved: ∙the main features of parametric polymorphism were highlighted, and their presentation in the Kotlin programming language was analyzed; ∙analysis of existing techniques for reifying typed parameters; ∙the design of the technique for reifying typed parameters for parameterized types in Kotlin was developed; ∙based on this technique, a prototype compiler was implemented withselective support for reified typed parameters; ∙conducted performance testing and provided a comparison of the results. A prototype with support for reified typed parameters was made based on version 1.3.70 of the Kotlin compiler. During performance testing, two versions of the prototype were compared, differing inimplementation, but not in functionality, in order to identify a more suitable one. As a result, an approach was developed for the selective support of reified typed parameters in the Kotlin programming language,as well as limitations on their use (for example, along with use-sitevariance) were identified.
Document access rights
Network | User group | Action | ||||
---|---|---|---|---|---|---|
ILC SPbPU Local Network | All | |||||
Internet | Authorized users SPbPU | |||||
Internet | Anonymous |
Table of Contents
- СÐÐСÐÐ ÐÐÐÐÐÐЧÐÐÐРРСÐÐÐ ÐЩÐÐÐÐ
- ВВЕДЕНИЕ
- 1. Параметрический полиморфизм и проблема восстановления типов параметров
- 1.1. Параметрический полиморфизм
- 1.1.1. Ограниченный параметрический полиморфизм
- 1.1.2. Вариантность
- 1.2. Параметрический полиморфизм в Kotlin
- 1.2.1. Ограничения на параметры
- 1.2.2. Вариантность в Kotlin
- 1.2.3. Стирание типов
- 1.3. Существующие техники восстановления типов параметров
- 1.3.1. NextGen
- 1.3.2. Microsoft .NET Common Language Runtime (C#)
- 1.3.3. Run-Time Management Translation
- 1.3.4. Load-Time Management Translation
- 1.3.5. EGO компилятор
- 1.1. Параметрический полиморфизм
- 2. Цели и задачи
- 2.1. Цель работы
- 2.2. Задачи
- 3. Разработка техники восстановления типовых параметров в Kotlin
- 3.1. Особенности языка программирования Kotlin
- 3.2. Уровни поддержки восстановимых типовых параметров в языке
- 3.2.1. Операции над типом параметра
- 3.2.2. Операции над параметризованным типом
- 3.2.3. Вложенные параметризованные типы
- 3.2.4. Учет вариантности в операциях проверки подтипирования
- 3.2.5. Параметризованные функции
- 3.3. Дизайн
- 3.3.1. Сохранение информации о типе
- 3.3.2. Операции над типами
- 3.3.3. Вариантность
- 3.3.4. Использование рефлексии
- 3.3.5. Двойное кэширование
- 4. Разработка прототипа с поддержкой восстановимых параметров
- 4.1. Устройство компилятора Kotlin
- 4.2. Особенности реализации
- 4.3. Библиотека для поддержки дескрипторов
- 4.3.1. Дескриптор
- 4.3.2. Реализация алгоритма подтипирования
- 4.3.3. Приведение к типу и получение дескриптора типа
- 5. Тестирование производительности
- 5.1. Создание объекта
- 5.2. Операции над типами
- 5.3. Вывод
- 6. Дальнейшее развитие
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ. ЛИСТИНГИ
Usage statistics
Access count: 13
Last 30 days: 0 Detailed usage statistics |