Есть ли способ отметить тип каждого параметра сообщения на Smalltalk?(как Objective-C) - PullRequest
1 голос
/ 13 июня 2011

Objective-C - это язык, подобный Smalltalk, но слабо динамически типизированный язык. И я могу отметить тип каждого параметра сообщения на месте по желанию.

Это важно как документация (по крайней мере, для меня). Если на Smalltalk возможна дополнительная маркировка типа на подписи метода, это должно быть здорово для меня.

Меня не волнует проверка LINT компилятора. Я желаю просто функцию, отмечающую типы параметров в исходном коде с обычным синтаксисом. Обычный синтаксис или препроцессоры. Пожалуйста, дайте мне знать что-нибудь.

Ответы [ 3 ]

2 голосов
/ 13 июня 2011

В дополнение к тому, что Даворин документирует с помощью комментариев или имен параметров для выявления типов, всегда есть возможность расширения Compiler для поддержки аннотации типов.

Эффективные мультиметоды на одном языке диспетчеризации показывает, как Фут и др. Расширили Compiler для поддержки мультиметодов в Smalltalk и, таким образом, используют технику аннотирования:

ComponentPart>>
    add: aVisualComponent <BorderWrapper>
    borderedIn: aLayoutObject

В частности, метод бумаги не применяет аннотации по всему изображению, так что вы можете аннотировать только ваши методы.

2 голосов
/ 13 июня 2011

Нет,

такого нет в стандартном Smalltalk.Довольно часто люди выбирают имя параметра, которое также указывает на его тип, например:

move: anDisplacementInteger

0 голосов
/ 13 июня 2011

Возможно, вас заинтересует проект Etoiles , который позволяет одному и тому же объекту выполнять методы в Smalltalk, Objective-C и Objective-C ++.

Об этом будет рассказано на 19-я Международная конференция Smalltalk в Эдинбурге в конце августа.

...