Привет, ребята из Scala, на самом деле я пишу магистерскую диссертацию, и мне нужно внедрить язык безопасности в Scala. Таким образом, это означает, что мне нужно добавить аннотации, чтобы указать специальные уровни разрешений для переменных и других программных конструкций в Scala. Идея добавить это исходит от Jif (настоящий типизированный язык безопасности http://www.cs.cornell.edu/jif/) и FlowCaml (http://www.normalesup.org/~simonet/soft/flowcaml/).) Мне еще нужно проверить, как эти языки добавляют свои расширения безопасности.
Я поговорил со своим советником, и он предложил три варианта, как я могу реализовать эту функцию в Scala:
- компилятор исходного кода (я не думаю, что это лучшее решение для написания вещей с нуля, потому что я буду занят парсером и семантикой и по собственному опыту знаю, что у меня нет вполне достаточно времени для работы над основным материалом)
- плагин для проверки типов (я не написал плагин для компилятора и думаю, что он не будет работать на последующих версиях Scala, потому что компилятор все еще находится в разработке)
- создать библиотеку в Scala (синтаксис здесь просто бесплатный, поэтому я могу легко создать что-то подобное на языке, который я хочу => думаю, что это похоже на изобретение DSL, и я считаю, что это лучшее решение)
Если у вас есть другая идея, как реализовать, пожалуйста, дайте мне знать, и если у вас есть плюсы и минусы для методов, упомянутых выше, пожалуйста, дайте мне знать. Я убежден, что после этого проекта я научусь с удовольствием программировать на Scala (я знаком с Java и Ruby).
Привет
Матиас Гюнтер