Описание тега monomorphism
None Мономорфизм - это свойство языка программирования, которое устанавливает тип по умолчанию, если тип не указан, и приводит к новому типу на основе более позднего использования переменной
3
ответа
Почему полиморфизм так дорог в Хаскеле (GHC)?
Я задаю этот вопрос со ссылкой на этот ТАК вопрос. Принятый ответ от Дона Стюарта: Первая строка гласит: "Ваш код очень полиморфный, измените все переменные с плавающей запятой на Double…", и это дает повышение производительности в 4 раза. Я заинтер…
17 сен '13 в 16:17
1
ответ
Использование мономорфных функций с полиморфной библиотекой Haxl?
Я использую библиотеку Haxl и пытаюсь реализовать fetchHTML одновременно: import Data.Aeson import Control.Concurrent.Async import Control.Concurrent.QSem import Haxl.Core import Haxl.Prelude instance DataSource' u HTTPRequest where fetch = metaImpl…
22 янв '17 в 16:38
1
ответ
Сверхгенерализованный карри фнс
module MapHelpers (Ord : Map.OrderedType) = struct include Map.Make (Ord) let add_all a b = fold add a b end работает, но, казалось бы, эквивалентно module MapHelpers (Ord : Map.OrderedType) = struct include Map.Make (Ord) let add_all = fold add end…
24 май '13 в 15:36
1
ответ
Алгоритм W и приведение мономорфного типа
Я пытаюсь написать свой собственный алгоритм вывода типов для игрушечного языка, но я наталкиваюсь на стену - я думаю, что алгоритм W можно использовать только для чрезмерно общих типов. Вот выражения: Expr ::= EAbs String Expr | EApp Expr Expr | EV…
28 май '15 в 14:54
1
ответ
Базовый вопрос о мономорфизме / полиморфизме Хаскелла (HList)
Я новичок в Haskell и Stackru, и вот мой первый и, вероятно, довольно простой вопрос по Haskell. module M where import Data.HList data R r a r1 = undefined :: R a Int r2 = undefined :: R a Double rPair :: R r a -> R r b -> (R r a, R r b) rPair…
04 мар '11 в 23:54
4
ответа
В чем разница между изоморфизмом подграфа и мономорфизмом подграфа?
В одном из проектов, над которым я работал, возник вопрос об изоморфизме и мономорфизме. Немного предыстории: я не специалист по теории графов, и у меня нет формального обучения этому. Но эта тема очень важна в химии, где химики ожидают, что в систе…
20 янв '09 в 00:53
2
ответа
Мономорфный тип в сопоставлении с шаблоном по умолчанию
Ну, на самом деле это не проблема, так как я решил ее, но это слишком беспокоит меня: Давайте напишем это: test.ml type bop = Beq | Bneq | Badd type value = Vint of int | Vchar of char let eval bop a b = let op = match bop with | Beq -> (=) | Bne…
13 сен '16 в 11:37
2
ответа
Что такое мономорфный класс С ++ и будет ли это примером?
Скажите, пожалуйста, является ли следующий класс мономорфным? Что делает его мономорфным? Что на самом деле означает мономорфность? class Foo { public: Foo(int n) { this->m = n; } void print() { std::cout << this->m << std::endl; }…
24 сен '12 в 11:37
2
ответа
Почему функция F# возвращает подпись "val FunctionName: int -> int"?
Я следовал за некоторыми примерами на F# Wikibook о функциях высокого порядка. Второй фрагмент кода под заголовком, функция композиции имеет следующий фрагмент кода. #light open System let compose f g x = f (g x) let xSquared x = x*x let negXPlusFiv…
22 апр '09 в 00:33
1
ответ
Избегание мономорфизма в привязках let без аннотации типа
У меня есть некоторый код, использующий типы для устранения неоднозначности экземпляров (настоящий код использует синглтоны GHC.TypeLits для тегов типов, но я не думаю, что это уместно), и я хотел бы использовать привязку let, чтобы избежать дублиро…
02 фев '13 в 00:56
2
ответа
Почему мономорфное и полиморфное значение в JavaScript?
Я читал несколько статей об обнаружении изменений, и все они говорят, что мономорфные функции намного быстрее, чем полиморфные. Например, вот цитата: (..) Причина в том, что он должен быть написан динамически, чтобы он мог проверять каждый компонент…
05 май '16 в 19:20
2
ответа
Мономорфно получить некоторую метаинформацию из произвольного объекта JavaScript (v8)?
Вопрос к знатокам v8. Недавно я обнаружил ситуацию с полиморфизмом в v8. Дело в том, что полиморфизм хорошо оптимизирован только до 4 "форм" объекта, после чего производительность значительно ухудшается. Классы и наследование объектов игнорируются. …
19 окт '20 в 15:20
0
ответов
Могут ли мономорфные дженерики наследовать общий базовый класс?
Предположим, я бы разработал новый язык программирования. L. L должен поддерживать вывод типов и проверку типов во время компиляции, специально поддерживать операции времени компиляции: isSubtypeOf проверить, является ли тип подтипом другого типа Do…
29 окт '20 в 14:20
1
ответ
Почему я могу написать тип функции в параметре типа структуры?
Если я правильно понимаю, в Rust каждый тип замыкания имеет уникальный тип, который нельзя выписать. Я также думал, что это применимо к функциям, однако я могу сделать следующее, в котором я явно записываю параметр типа в возвращаемые типы get_struc…
13 ноя '21 в 05:26
0
ответов
сворачивание белка с использованием алгоритма самоизбегающего случайного блуждания
Сворачивание белков и самоизбегание случайных блужданий пожалуйста, ответьте на вопросы на изображении, так как я не могу получить код на python. Здесь гораздо предпочтительнее полное объяснение вместе с кодом.
24 янв '22 в 12:51
1
ответ
Выполняет ли julia мономорфизацию кода для рекурсивно полиморфных типов?
Я заметил, что реализация полиморфных рекурсивных типов в языках, выполняющих мономорфизацию кода (например, C++, Rust и т. д.), очень сложна, если не невозможна. Обычно это происходит потому, что компилятору необходимо генерировать код для каждого …
25 дек '21 в 11:53
2
ответа
Неявные параметры Haskell и полиморфная рекурсия
У меня есть вопрос по главе " Неявные параметры и полиморфная рекурсия " Руководства пользователя GHC. Код len1 :: [a] -> Int len1 xs = let ?acc = 0 in len_acc1 xs len_acc1 [] = ?acc len_acc1 (_:xs) = let ?acc = ?acc + (1::Int) in len_acc1 xs ---…
26 дек '20 в 10:56
1
ответ
Rust - могу ли я попросить/заставить компилятор выполнять генерацию кода мономорфизации при компиляции крейта (вместо того, чтобы откладывать его до вызывающего крейта)
У меня есть проект, который строится с грузовым рабочим пространством, включая множество ящиков. Один из ящиков нижнего уровня содержит общую структуру данных с большим количеством кода serde. Чтобы сократить время компиляции, я попытался создавать …
31 окт '22 в 09:55
1
ответ
Захват мономорфизованных дженериков в макросе
Я написал особенность для сериализации объектов в итераторы с прямым порядком байтов: pub trait ToLeBytes: Sized where Self::Iter: Iterator<Item = u8>, { type Iter; fn to_le_bytes(&self) -> Self::Iter; } Я реализовал его для нужных мне …
10 ноя '23 в 08:29