Вопросы по теме 'type-variables'
В чем разница между ограниченным TypeVar и Union?
Если я хочу иметь тип, который может быть несколькими возможными типами, Union s, похоже, то, как я это представляю:
U = Union[int, str]
U может быть int или str .
Я заметил, что TypeVar s допускает необязательные аргументы var-arg,...
2001 просмотров
schedule
17.04.2022
Как мне объявить нативный интерфейс с переменными типа во Фреге?
Я хотел бы изначально объявить интерфейс Java во Фреге, который имеет общий тип. Например, возьмем ObservableList из JavaFX.
Опуская общий тип E, он работает для определения
data ObservableList = mutable native...
108 просмотров
schedule
27.05.2022
ScopedTypeVariables не работают с вложенными предложениями where?
Это ужасно надуманный пример, но в любом случае... эта проверка типов:
newtype Foo c = Foo { runFoo :: c -> Bool }
newtype Bar c = Bar { runBar :: Int -> c }
foo :: Eq c => Bar c -> (c -> [c]) -> Bar (Foo c)
foo bar f = Bar res...
161 просмотров
schedule
18.06.2022
Типы высшего порядка как переменные типа в Haskell
У меня есть класс:
import Linear
class Coordinate c where
rotate :: Num a => Quaternion a -> c a -> c a
translate :: Num a => V3 a -> c a -> c a
, для которого я определил экземпляры
instance Coordinate V3...
121 просмотров
schedule
17.08.2022
Java — несовместимые типы: объект не может быть преобразован в переменную типа (стеки в DFS)
Я пытаюсь реализовать поиск в глубину для графиков с использованием стеков. Однако я продолжаю получать ошибки о переменной типа. Вот часть моего кода:
public Result<T> depthFirstSearchFrom(String vertexId, Predicate< IVertex<T>...
2471 просмотров
schedule
04.09.2022
Алгоритм W и приведение мономорфного типа
Я пытаюсь написать свой собственный алгоритм вывода типов для игрушечного языка, но я упираюсь в стену — я думаю, что алгоритм W можно использовать только для чрезмерно общих типов.
Вот выражения:
Expr ::= EAbs String Expr
| EApp Expr...
76 просмотров
schedule
25.09.2022
Что такое сколемы?
Эй! GHCi нашел Скулемов в моем коде!
...
Couldn't match type `k0' with `b'
because type variable `b' would escape its scope
This (rigid, skolem) type variable is bound by
the type signature for
groupBy :: Ord b => (a -> b) -> Set...
6557 просмотров
schedule
07.02.2023
Как я могу выразить foldr в терминах foldMap для последовательностей, выровненных по типу?
Я играю с последовательностями, выровненными по типу , и в частности, я возился с идеей сложить их. Складная последовательность, выровненная по типу, выглядит примерно так:
class FoldableTA fm where
foldMapTA :: Category h =>...
184 просмотров
schedule
15.07.2023
Подпись Java 'reduceLeft' / Аргументы типа с нижней границей
Следующая подпись действительна и обычно используется в Scala:
trait Collection[A] {
def reduceLeft [B >: A] (f: (B, A) => B): B
}
Однако, поскольку >: является Scala-эквивалентом super в Java, моей первой идеей преобразовать...
293 просмотров
schedule
03.06.2023
Ошибка наследования несвязанных значений по умолчанию для переменных типа: почему?
Отказ от ответственности : это не в этом случае (хотя ошибка звучит так же): класс наследует несвязанные значения по умолчанию для spliterator() от типов java.util.Set и java.util.List
и вот почему:
рассмотрим два интерфейса (в пакете " a...
2410 просмотров
schedule
18.04.2023
Получение класса параметра типа из реализующего класса
Допустим, у меня есть какой-то класс в Java, который реализует List<T> с именем Foo , который расширяет его с помощью String , как я могу получить переменную типа List (в этом примере это String )? [Просто знать, прежде чем я пойду и...
47 просмотров
schedule
12.11.2022
Haskell GADT 'Show' - вывод переменной типа экземпляра
Этот код
{-# LANGUAGE GADTs #-}
data Expr a where
Val :: Num a => a -> Expr a
Eq :: Eq a => Expr a -> Expr a -> Expr Bool
eval :: Expr a -> a
eval (Val x) = x
eval (Eq x y) = (eval x) == (eval y)
instance Show a =>...
333 просмотров
schedule
28.07.2023
Как узнать тип значения карты Карта (ключ-›значение) в Scala?
У меня проблема со значением Map("id"), оно может иметь два типа: String или Map[String,String].
Case 1: val a = Map("id" -> "123")
Case 2: val a = Map("id"-> Map("ide"->"abcd"))
Я хочу сделать проверку с помощью случая Match...
587 просмотров
schedule
09.03.2023
Почему Haskell не может вывести этот тип
Я пытался написать программу для реализации полиномов в произвольном поле, математической структуре. В качестве языка программирования я выбрал Haskell и использовал расширение языка GADTs . Однако я не понимаю, почему GHCi не может вывести...
79 просмотров
schedule
07.04.2023