Описание тега static-typing
Говорят, что язык программирования использует статическую типизацию, когда проверка типа выполняется во время компиляции, а не во время выполнения.
5
ответов
Статическая / строгая типизация и рефакторинг
Мне кажется, что самая бесценная вещь в статическом / строго типизированном языке программирования заключается в том, что он помогает рефакторингу: если / когда вы меняете какой-либо API, то компилятор сообщит вам, что это изменение сломало. Я могу …
19 май '09 в 00:17
2
ответа
Статическая типизация языка сценариев в Java
Я создаю язык сценариев на Java для игры, и в настоящее время я работаю над анализатором. Игроки должны использовать этот язык для создания собственных заклинаний и эффектов. Однако мне трудно представить, как плавно реализовать статическую типизаци…
26 июн '12 в 04:13
0
ответов
Уничтожение объектов как параметров функций с типами потока
Как деструктурировать параметры функции, сохраняя при этом аннотацию типа потока для новых (неструктурированных) значений? Пример: type Car = { model: string, maxSpeed: number } function processCar({ model, maxSpeed }: Car) { // model should be anot…
07 сен '18 в 15:10
3
ответа
Каков тип возврата Flow функционального компонента React без состояния?
Если у меня есть что-то вроде этого const RandomComponent = (props) => ( <div> <SomeSubComponent id={props.id} /> <AnotherSubComponent type={props.type} /> </div> ) как я буду печатать, аннотировать возвращаемый тип с помо…
03 ноя '16 в 07:38
2
ответа
Функция, объявленная как Virtual в производном классе, не выполняется, вместо этого выдана ошибка компиляции. Почему?
Я понимаю виртуальную функцию и vTable, поэтому извините, если это тривиальный вопрос, чтобы задать.... Основываясь на концепции vTable и vPtr, объясненной людьми, я понял и ожидаю, что нижеприведенная программа должна работать, но она дает ошибку. …
25 ноя '18 в 13:06
1
ответ
Подпись типа Haskell с несколькими ограничениями класса
Как я могу иметь несколько ограничений класса, так что если A является Eq а также B это NumЯ мог бы сказать либо f :: Eq a => a -> b` или же f :: Num b => a -> b Итак, как я могу иметь Eq a => а также Num b => в то же время? f :: E…
19 июн '12 в 03:03
1
ответ
Как установить mypy-lang на python 2.7?
Новая версия должна поддерживать 2.7, но при установке pip происходит сбой с SyntaxError на строке с синтаксисом аннотации типов python 3 (что довольно иронично): Traceback (most recent call last): ... from mypy import git File "mypy/git.py", line 1…
20 фев '16 в 21:13
3
ответа
Python: Type Annotations, как определить элементы кортежа?
Вот минимальный случай. def foo(x:int, y:int) -> tuple: return (x*y, y//2) Очень заманчиво иметь возможность писать -> tuple(:int, :int) который не является допустимым форматом. Есть ли правильный подход в этом случае, или это все еще серая об…
30 янв '15 в 18:10
3
ответа
Вам известны примеры элегантных решений в динамически типизированных языках?
Представьте себе два языка, которые (помимо информации о типе) имеют абсолютно одинаковый синтаксис, но один статически типизирован, а другой использует динамическую типизацию. Затем для каждой программы, написанной на языке со статической типизацие…
23 июл '10 в 11:41
1
ответ
Тип последовательности замыкания
Какой правильный тип последовательности? У меня есть этот код: (defrecord MethodInfo [^clojure.lang.ISeq preconds ^clojure.lang.ISeq postconds]) Но, похоже, он не обеспечивает должного соблюдения требований к типу, так как я могу написать (new Metho…
17 июл '11 в 23:25
3
ответа
Что означает "идентичность" в определении категорий значений в C++
Короче говоря, вы можете просто ответить на часть о личности, спасибо. Мой основной вопрос в этом вопросе - начать с 2. о личности, я просто попытался представить контекст / основу моего текущего понимания, чтобы он мог помочь вам определить глубину…
23 ноя '18 в 08:43
2
ответа
Почему фреймворки веб-разработки имеют тенденцию работать вокруг статических особенностей языков?
Когда я начал использовать Lift, я был немного удивлен тем, насколько интенсивно он использует отражение (или кажется), что было немного неожиданно для статически типизированного функционального языка. Мой опыт работы с JSP был похожим. Я довольно н…
05 сен '11 в 05:03
1
ответ
Почему этот код объявляет тип DISTINCT?
Линия ShlObj.pas 9922 (как в Delphi XE): type BFFCALLBACK = function(Wnd: HWND; uMsg: UINT; lParam, lpData: LPARAM): Integer stdcall; TFNBFFCallBack = type BFFCALLBACK; {$EXTERNALSYM BFFCALLBACK} Отвечая на комментарий Дэвида Хеффернана здесь, потом…
15 янв '12 в 23:29
1
ответ
В чем преимущество использования библиотечных классов и типов в подсказках типов Python?
Я начинаю изучать подсказки типов в Python для облегчения будущего переноса кода с Python на C. Мне интересно, в чем разница, если есть, между использованием типов непосредственно в подсказках типов и использованием классов, определенных в typing мо…
06 дек '17 в 21:10
1
ответ
Typedef для индексов в C# со статической проверкой типов без затрат времени выполнения
Довольно распространенным случаем является использование многомерных массивов со сложной индексацией. Это действительно сбивает с толку и подвержено ошибкам, когда все индексы являются целочисленными, потому что вы можете легко смешивать столбцы и с…
09 ноя '12 в 05:26
1
ответ
Как преобразовать полиморфное значение в строку?
Я на самом деле ищу функцию с подписью, как 'a -> string который преобразует данный полиморфный тип в строку. Я уже думал о чем-то вроде let func elem = match elem with | int -> string_of_int elem ... Надеюсь, кто-нибудь может мне помочь, спас…
12 дек '18 в 16:40
9
ответов
Почему в C++ отсутствует модификатор endianness, как для подписи?
(Я думаю, этот вопрос может относиться ко многим типизированным языкам, но я решил использовать C++ в качестве примера.) Почему нет возможности просто написать: struct foo { little int x; // little-endian big long int y; // big-endian short z; // na…
28 ноя '17 в 12:02
1
ответ
Почему вся статическая типизация не выводится?
Поскольку Python поддерживает аннотации типов, он обеспечивает статическую дисциплину типизации. При работе с АСТ производится ast модуль, мне кажется, что, учитывая такую дисциплину, все типы могут быть выведены, не должно быть необходимости в ан…
11 янв '19 в 13:23
0
ответов
Использование GroovyDSL с @TypeChecked в IntelliJ IDEA: сборка проекта завершается неудачно
У меня есть jenkins.gdsl файл, определяющий некоторые привязки, которые я использую в своем скрипте Groovy. Кроме того, я хотел бы использовать @TypeChecked аннотации на мои методы, чтобы получить некоторые гарантии о встроенном коде. мой jenkins.gd…
01 мар '19 в 18:44
1
ответ
Сделать пустыми только подписку
Давайте представим, что я ненавидел ноль. Давайте притворимся, что отказ от него, например, @Nullable, недостаточно для меня. Допустим, я хотел, чтобы он был выбран; если объект явно не аннотирован @Nullable, то пустые значения не допускаются. Приме…
29 авг '13 в 06:06