Описание тега adhoc-polymorphism
Специальный полиморфизм - это разновидность полиморфизма, при которой полиморфные функции могут применяться к аргументам разных типов.
3
ответа
Есть ли способ получить специальный полиморфизм в Python?
Многие языки поддерживают специальный полиморфизм (перегрузка функций) из коробки. Однако, похоже, что Python отказался от этого. Тем не менее, я могу предположить, что может быть какая-то хитрость или библиотека, способная осуществить это в Python.…
16 окт '15 в 18:32
1
ответ
Не можете вызвать статически импортированную перегруженную функцию, если одна с другими параметрами определена локально?
У меня есть следующий простой код Java: A.java import static a.A1.*; import static a.A2.*; class Main { public static int g() {return 999;} static { System.out.println("f('a'): " + f('a')); System.out.println("f(): " + f()); //System.out.println("g(…
21 фев '14 в 18:12
1
ответ
Способы заставить оператор `<` работать с пользовательскими типами
Я имею type 'a edge = {from: 'a; destination: 'a; weight: int} и я хочу иметь Printf.printf "%b\n" ( {from= 0; destination= 8; weight= 7} < {from= 100; destination= 33; weight= -1} ) печатать правда поэтому я попробовал это let ( < ) {weight= …
02 мар '19 в 13:20
2
ответа
Хороший способ для преобразования между специальными полиморфными функциями и параметрическими полиморфными
Мне интересно, есть ли общие способы преобразования между специальными полиморфными функциями и параметрическими полиморфными. Другими словами, учитывая специальную полиморфную функцию, как реализовать ее параметрический аналог? а как же наоборот? п…
12 июл '16 в 10:35
7
ответов
Вывод типа мешает ссылочной прозрачности
Какое точное обещание / гарантию предоставляет язык Haskell в отношении прозрачности ссылок? По крайней мере, в отчете на Haskell это понятие не упоминается. Рассмотрим выражение (7^7^7`mod`5`mod`2) И я хочу знать, равно ли это выражение 1. Для моей…
19 ноя '14 в 14:56
1
ответ
Можно ли моделировать классы на уровне типов с типами более высокого ранга?
У меня есть подключаемая программа проверки типов во время выполнения, которая поддерживает параметрический, но не специальный полиморфизм, потому что нет шага компиляции и информация о типе стирается, как только отключается средство проверки типов.…
10 фев '18 в 12:48
1
ответ
Полиморфные нетуристические вызовы методов (adhoc polymorphism) в Java
Позвольте мне начать с примера. Скажи у меня есть аннотация Vehicle учебный класс. public abstract class Vehicle { public Vehicle() {} public abstract void ride(); } И занятия Car а также Bicycle которые наследуют от этого абстрактного класса. publi…
01 ноя '15 в 13:13
1
ответ
Определить полиморфный инфиксный оператор в ocaml
Мне нужно создать оператора - при наличии двух строк возвращается первая строка минус все символы второй строки. Например: "abcd"-"ad"="bc", При написании случайного кода я заметил, что если я назначу новую функцию - оператор я не могу использовать …
03 ноя '18 в 11:05
1
ответ
Специальный полиморфизм - типовые классы
Я посмотрел учебник по скалазу. По этой ссылке я понимаю следующий код: scala> def sum[A](xs: List[A])(implicit m: Monoid[A]): A = xs.foldLeft(m.mzero)(m.mappend) sum: [A](xs: List[A])(implicit m: Monoid[A])A scala> implicit val intMonoid = In…
31 авг '14 в 17:38
0
ответов
Как создать чисто функциональную специальную полиморфную линзу без какого-либо самоанализа?
Я адаптировал реализацию линз DrBoolean, чтобы она работала без самоанализа / набирания утки / опоры на идентичность прототипа. Вычисления должны определяться исключительно продолжениями и аргументами функций функций более высокого порядка. Я зашел …
02 дек '18 в 08:19
2
ответа
Объявление "подкласса" в Haskell
У меня проблемы со следующим простым кодом в Haskell: import Prelude hiding (cycle). class ICycle a where cycle :: a -> a instance ICycle [a] where cycle [] = [] cycle (x:xs) = xs ++ [x] instance ICycle Bool where cycle True = False cycle False =…
28 апр '15 в 23:23
1
ответ
Производные выражения и полиморфизм
Данный код для моей программы: class Hive { private: Bee* queen; Bee* worker; Bee* drone; public: Hive(); void activity(); ~Hive(); }; Инструкции по кодированию были предоставлены, и я должен добавить код. Мой конструктор, как закодированный, имеет …
19 авг '15 в 07:22
1
ответ
Разница между Ad-hoc полиморфизмом и параметрическим полиморфизмом в Scala
Итак, я искал документацию о главном разнице между parametric polymorphism а также adhoc-polymorphismНо у меня все еще есть некоторые сомнения. Например, такие методы, как head в коллекциях, явно параметрический полиморфизм, так как код, используемы…
27 авг '18 в 18:07
2
ответа
F#: арифметический оператор и потеря полиморфизма (ограничение значения?)
Этот код не компилируется: let f = fun x y -> x <<< y // bit shift let g = fun x y -> x <<< y [<EntryPoint>] let main _ = printfn "%d" <| f 1 10 printfn "%d" <| f 1L 10 // error printfn "%d" <| g 1L 10 0 (7,21)…
29 окт '14 в 14:27
3
ответа
Полиморфизм в OCaml - специальный, параметрический, включение / подтип
У меня проблемы с пониманием различных типов полиморфизма, особенно в отношении OCaml. Я понимаю, что полиморфизм допускает несколько типов в OCaml, обозначаемых как 'a, но я не понимаю, что такое различные типы полиморфизма.Если бы кто-то мог дать …
20 окт '15 в 03:51
3
ответа
Как мне поместить StrLn в Data.ByteString.Lazy.Internal.ByteString?
Я использую encode (Тип Haskell через JSON в строку): import GHC.Generics import Data.Aeson Строка есть (согласно сообщению об ошибке от компилятора): Data.ByteString.Lazy.Internal.ByteString, Как мне поставить StrLn это? теоретически То, что я ищу,…
13 фев '15 в 12:49
3
ответа
Когда мне следует определять полиморфные функции по классам типов или какими-либо другими способами?
Я пытаюсь выяснить назначение класса типов, и что еще есть, если не использовать тип класса. Является ли класс типов способом определения полиморфных функций? Является ли класс типов единственным способом определения полиморфных функций? Например: c…
18 июл '19 в 19:07
1
ответ
Как выразить смешанную специальную и параметрическую полиморфность в машинописи?
Я не уверен, что я сейчас описываю квесты в заголовке. То, что я пытаюсь спросить, вытекает из следующего требования. Я пытаюсь сделать реферат для состояний конечных автоматов и приходит со следующим определением (в машинописи) interface IState { s…
21 июн '19 в 08:10
1
ответ
Принадлежит ли интерфейс специальному полиморфизму (то есть перегрузке) или полиморфизму подтипа?
https://wiki.haskell.org/Polymorphism говорит Специальный полиморфизм относится к случаю, когда значение может принимать любой из нескольких типов, потому что ему или используемому значению было дано отдельное определение для каждого из этих типов.…
18 июл '19 в 23:37
1
ответ
Какое понятие в теории категорий можно использовать для представления класса типов?
На языке программирования Haskell, согласно https://en.wikibooks.org/wiki/Haskell/Category_theory 59.2.2 Перевод категоричных понятий на Хаскель Мы работаем в категории Hask и его подкатегории. Объекты являются типами. Морфизмы - это функции. Вещи, …
20 июл '19 в 23:11