Я пытаюсь написать компилятор для C-подобного языка на Haskell. Компилятор прогрессирует, преобразовывая AST. Первый проход анализирует ввод для создания AST, завязывая узел с таблицей символов...
Можно ли отключить или обойти систему типов в Haskell? Бывают ситуации, когда удобно иметь все нетипизированное, как в Forth и BCPL, или монотипное, как в Mathematica. Я...
Haskell Wiki хорошо объясняет, как использовать экзистенциальные типы, но я не совсем понимаю лежащую в их основе теорию. Рассмотрим этот пример экзистенциального типа: данные S = forall a. Покажите a =&...
Я знаю этот звук очень просто, но мне не удалось соединить две струны в новую. Строка ввода-вывода "a" из записи gtk извлекается с помощью <- (entryGetText text_field) Цель состоит в том, чтобы объединить ее...
Я хотел бы, чтобы мои программы появлялись на экране, который был в фокусе, когда его привязка клавиш была нажата, а не на экране, который в настоящее время находится в фокусе, когда он заканчивает загрузку. Почему:
Моя текущая настройка ...
Это моя первая попытка создать собственный экземпляр класса, такого как Ord. Я определил новую структуру данных для представления списка: список данных a = Empty | Минусы a (List a) производное (Show, Eq) ...
Чтобы быть более конкретным, у меня есть следующая безобидная на вид маленькая программа Repa 3: {-# LANGUAGE QuasiQuotes #-} import Prelude hidden (map, zipWith)
импортировать System.Environment (getArgs)
import Data....
Я новичок в Haskell, и я читаю о функторах и аппликативных функторах. Хорошо, я понимаю функторы и как я могу их использовать, но я не понимаю, почему аппликативные функторы полезны и как я могу ...
] У меня 8 ГБ оперативной памяти, но программы на Haskell, по-видимому, могут использовать только 1,3 ГБ. Я использую эту простую программу, чтобы определить, сколько памяти может использовать программа GHC. указать: импортировать System.Environment
impo
Мне нужна карта, которая может содержать произвольные значения, если их типы относятся к одному классу типов. Мой первый наивный подход был примерно таким: type HMap = forall a . MyClass a => M.Map Int a ...
Рассмотрим следующую задачу: дан список длины три из кортежи (String,Int), есть ли пара элементов, имеющих одинаковую часть "Int"? (Например, [("bob",5),("gertrude",3),("al",5)] содержит ...
Есть ли официальная спецификация функции раунда в Haskell? В GHCi версии 7.0.3 я вижу следующее поведение :ghci> round (0.5 ::Double )0 ghci> круглый (1,5 ::Двойной )2 С...
Я рассматриваю возможность привязки Haskell к библиотеке квантовой механики, написанной на C++ (я бы написал простую оболочку C) и CUDA. Основным узким местом всегда является память графического процессора, используемая частями CUDA. В C++, ...
Существует ли версия Haskell для песочницы, которая предотвращает запуск опасного кода? Я наткнулся на mueval и Safe Haskell... mueval принимает только выражения, а Safe Haskell еще не реализован...
Я видел множество ссылок на теорему Черча-Россера и, в частности, на диаграмму свойств ромба, изучая функциональное программирование, но я не наткнулся на хороший пример кода. Если...
Я разрабатываю структуру мультиагентной системы (MAS) для описания агентов убеждений-желаний-намерений (BDI) в Haskell (т. е. агенты являются параллельными, обменивающимися монадическими действиями). Я искал в Интернете...
Следующий код предназначен для создания либо Double, либо Integer. s предполагается либо отрицательным, либо id; n вся часть; и f дробная часть или ничего для целого числа. calculateValue:: ...
Я редактирую свои исходные файлы Haskell с помощью Vim и установил параметр 'textwidth' для автоматического переноса поверх- линии длины. Итак, мой файл ~/.vimrc выглядит следующим образом: set tw=78 Теперь, когда я пишу более длинную строку...
У меня есть функция, как показано ниже: foo :: Int -> a -> [a] foo nv = bar n где bar :: Int -> [a] bar n = take n $ повторить v, используя ghci, сообщить об этой ошибке: Не удалось ...
Я ищу функциональную структуру данных, которая представляет конечные биекции между двумя типами, эффективную по пространству и времени. Например, я был бы счастлив, если бы, рассматривая биекцию f...
Когда я компилирую следующий код с помощью GHC (используя флаг -Wall): модуль Main, где дерево данных a = EmptyTree | Узел а (Дерево а) (Дерево а) производное (Показать) вставить :: (Орден а) => а -> Дерево а -> ...
Я немного изучал Haskell и писал очень простые программы. Я хочу сделать функцию, которая будет возвращать элемент в заданной позиции. Вот что я пытался сделать: elempos::Int->[a]->a
...
У меня есть следующая программа: data Peano = Zero | Получение Succ Peano (Show) добавить ноль b = b
add (Succ a) b = добавить a (Succ b) mul Zero b = Zero
mul (Succ a) b = add b (mul ab) four x = let ...
Мне нужно использовать преобразование монады списка. Я читал, что существуют потенциальные проблемы с ListT IO из Control.Monad.List, поскольку IO не является коммутативным, поэтому я смотрю на ListT, сделанный правильно. Но я...
I В настоящее время я застрял на вопросе из главы 7 IFPH. Это упражнение 7.1.2, которое гласит: «Одно из определений сортировки — взять sort = foldr вставить [] где вставить x [] = [x]
вставить x (y:ys) = if x <...
Я ищу библиотеку линейной алгебры конечных полей для Haskell. Что-то вроде FFLAS-FFPACK для Haskell было бы здорово :-). Конечно, я проверил hmatrix, кажется, есть некоторая поддержка...
Мы должны преобразовать этот тип данных haskell в код Agda: data TRUE
данные ЛОЖЬ
данные BoolProp :: * -> * где
PTrue :: BoolProp TRUE
PFalse :: BoolProp FALSE
PAnd :: BoolProp a -> BoolProp b -&...
К сожалению, один сценарий отступа Haskell, который я нашел (от motemen), ломается, когда дело доходит до комментариев Хэддока: -- |Docline 1, lorem ipsum -- Docline 2
^^^^ - здесь автоотступ, wtf Бы...
Я пытаюсь уменьшить путаницу в синтаксисе Haskell и хотел бы узнать, какие существуют отдельные пространства имен в Haskell. Пространства имен означают синтаксические пространства имен, соответствующие различным...
У меня есть много такого кода: data Post = Post { postOwner :: Integer , postText :: ByteString , postDate :: ByteString } sqlToPost :: [SqlValue] -> Post
sqlToPost [владелец, ...