4
ответа

Более-высокие-kinded дженерики в Java

Предположим, что у меня есть следующий класс: общедоступный класс FixExpr {Expr <FixExpr> в;} Теперь я хочу представить универсальный аргумент, абстрагирующий по использованию Expr: общедоступный класс Фиксирует <F> {F&...
вопрос задан: 14 January 2010 19:09
3
ответа

Минимальная платформа в Scala для наборов с наследовавшимся типом возврата

Предположим, что каждый хочет создать новый универсальный класс, Роман. Этот класс будет содержать много полезных методов - возможно, это - тип набора - и поэтому Вы хотите разделить его на подклассы. Но Вы хотите...
вопрос задан: 8 June 2013 12:07
3
ответа

Что такое использование полиморфных видов?

Полиморфные виды являются расширением системы типов Haskell, поддерживаемой UHC, позволяя данным x y = (y x), чтобы быть введенными (kinded?) как-> (-> *)-> *. Для чего они полезны?
вопрос задан: 17 June 2010 14:47
3
ответа

Обычная практика для полиморфизма высшего порядка в scala

Я пытаюсь схватить higher-order-polymophism в scala путем реализации очень простого интерфейса, который описывает монаду, но я сталкиваюсь с проблемой, которую я действительно не понимаю. Я реализовал то же...
вопрос задан: 5 April 2010 21:32
2
ответа

Более-высокие-kinded типы с C++

Этот вопрос для людей, которые знают обоих Haskell (или любой другой функциональный язык, который поддерживает Более-высокие-kinded Типы), и C++... Действительно ли возможно смоделировать выше kinded типы с помощью шаблонов C++?...
вопрос задан: 2 April 2010 05:53
1
ответ

Haskell - определение вида в объявлении данных

В этих данных объявления Const = Const Integer Haskell выводит, что Const *-> *. Действительно ли возможно заставить Const взять конструктора типа вместо этого, таким образом, это будет (*-> *)-> *? Идеально, это...
вопрос задан: 18 October 2010 13:57
0
ответов

Можно ли «каррировать» высокодородные типы в Scala?

Предположим, у меня есть черта с двумя параметрами типа, например черта Qux [A, B] и другая черта с параметром более высокого порядка, например trait Turkle [C [_]] Я бы хотел иметь возможность заменить фиксированный ...
вопрос задан: 12 April 2019 10:34
0
ответов

Почему передача Int, где ожидается, что параметр F [_] действителен?

Допустим, у нас есть функция: def bar [F [_], A] (x: F [A], y: F [A]) = null. Все следующие действия понятны: bar (List (1, 2, 3). ), List (1)) // компилировать панель нормально (List (1), Some (1)) // не компилируется ...
вопрос задан: 30 September 2015 21:24
0
ответов

Что такое высший родственный тип в Scala?

В Интернете вы можете найти следующее: Высший родственный тип == конструктор типа? class AClass [T] {...} // Например, class List [T] Некоторые говорят, что это более высокий родственный тип, потому что он abstracts over ...
вопрос задан: 22 May 2014 07:18
0
ответов

Как использовать подстановочный знак для более высокодородного типа в Scala?

Допустим, у меня есть этот trait-trait Ctx [C, V [_]] Я не могу создать сигнатуру метода, которая принимает Ctx, у которого второй параметр типа не указан (подстановочный знак). Например, это: def test (c: ...
вопрос задан: 27 September 2013 20:04
0
ответов

Почему я получаю строку, не называющую тип Ошибка?

game.cpp #include #include <строка> #include <поток> #include "game.h" #include "board.h" #include "piece.h" с использованием пространства имен std; game.h #ifndef GAME_H Res [C]} трейт CList [C1, A] расширяет Access [CList [_, A]] //?! def te
вопрос задан: 27 September 2013 19:59
0
ответов

Сокращение контекстных границ с более высокими родственными типами

Можно ли использовать сокращение синтаксиса контекстных границ с более высокими родственными типами? trait One {def test [W: ClassManifest]: Unit} // нормально первого порядка trait Two {def test [W [_]: ClassManifest]: Unit} ...
вопрос задан: 27 September 2013 19:54
0
ответов

Странное несоответствие типов при использовании доступа к членам вместо экстрактора

Дано кортеж с элементами типа A и другого типа, параметризованного в A: trait Writer[-A] { def write(a: A): Unit } класс case Write[A](значение: A, писатель: Writer[A]) И сайт использования: trait Cache { ...
вопрос задан: 27 September 2013 19:07
0
ответов

Функции не просто имеют типы: Они являются типами. И виды. И сорта. Помогите собрать взорванный мозг воедино

Я занимался своей обычной рутиной "Прочитать главу LYAH перед сном", чувствуя, что мой мозг расширяется с каждым примером кода. В этот момент я был убежден, что понимаю основную крутость ...
вопрос задан: 19 December 2012 01:07
0
ответов

Неявное разрешение параметров для типов с более высоким родством

Рассмотрим следующий код: object foo {trait Bar [Q [_]] неявный объект OptionBar расширяет Bar [Option] def test [T, C [_]] (c: C [T]) (неявный bar: Bar [C] ) = () def main (args: Array [...
вопрос задан: 1 July 2012 09:22
0
ответов

Почему имена образуют вид, а не только тип?

Некоторое время назад в одном из расширений Haskell (не могу найти ссылку ), а недавно в Уре обнаружил, что имена (например, полей записи )образуют Вид. Может кто-нибудь объяснить, почему абстракции типов недостаточно...
вопрос задан: 24 April 2012 11:59
0
ответов

Выведение типа Scala для конструктора типов

У меня вопрос относительно вывода типов в конструкторах типов Scala. Я использую Scala 2.9.1 ... Предположим, я определил Tree: типаж Sealed Tree [C [_], A] case class Leaf [C [_], A] (a: A) extends ...
вопрос задан: 3 December 2011 23:51
0
ответов

Типы параметризации целых чисел в Haskell

Я пытаюсь сделать некоторые типы Haskell, которые параметризованы не типы, а элементами типа, в частности, целые числа. Например, Vector a (линейная алгебра) в R ^ 2 и вектор в R ^ 3 - это ...
вопрос задан: 1 September 2011 07:07
0
ответов

Полиморфизм высшего порядка + типы значений

I ' Мы где-то читали, что полиморфизм более высокого порядка нельзя использовать / реализовать в системах типов с типами значений (например, .NET). Это правильно и почему?
вопрос задан: 5 April 2011 19:40
0
ответов

Можем ли мы определить в Scala функцию идентификации высшего уровня на уровне типов?

В Scala мы можем определить уровень типов тождественная функция для типов с более низким родом, например, типа Id [A] = A. Можем ли мы определить нечто подобное для типов с более высоким родом? То есть. мы можем заполнить пробелы, ...
вопрос задан: 5 September 2010 09:41