Публикации по теме 'haskell'
Monday Morning Haskell: обновлено!
Мне очень приятно сегодня анонсировать новый Monday Morning Haskell ! Мы только что представили последние изменения на сайте на этой неделе. Пришло время объявить, что будет дальше. Сейчас наш основной проект - это преобразование старого контента блога в постоянные организованные серии. В настоящее время у нас есть два раздела для этой серии. Один ориентирован на новичков, другой - на более продвинутых хаскеллеров.
Раздел для начинающих
Раздел для начинающих , очевидно, будет..
Одна проблема, пять решений — Функция Zip
Привет всем, я так давно не писал техническую статью, и сегодняшняя будет посвящена одной проблеме из пяти серий решений, в которых мы будем реализовывать функцию zip.
Функция zip — это функция, которая упаковывает два списка и возвращает третий список кортежей из двух элементов, а функция zip хорошо известна программистам на Haskell благодаря тому, что она присутствовала в прелюдии Haskell.
На практике функция zip в Haskell выглядит так:
zip [1, 2, 3] [4, 5, 6]
-- outputs..
отчет о любимом проекте: небольшая утилита-загрузчик
Я написал небольшую программу на Haskell для скачивания видео с Летней школы по языкам программирования в штате Орегон 2012 . Репозиторий GitHub можно найти здесь .
(На самом деле, видео действительно огромные, и, возможно, вам было бы лучше посмотреть их на YouTube, вот несколько ссылок.)
Получение страницы
Я использовал wreq в качестве http-клиента, он прост и удобен в использовании, хотя, возможно, его зависимость от объектива немного тяжеловата. Кажется, что он может..
жемчужины этой недели
Жемчужины этой недели
В эти выходные я тоже был свободен :), слишком много времени для Mett и Rausch , мало для качественных статей. На этой неделе я наткнулся на кое-что хорошее, так что, если вы этого не сделали, вот 3 вещи , которые мне понравились на этой неделе.
1. Стефани Халбурт — отличный аргумент в пользу баланса между работой и личной жизнью.
Я сам трудоголик по своим личным причинам. Но я полностью с ней согласен, и в будущем я должен подробно написать об этом. У..
Вопросы по теме 'haskell'
Можно ли определять новые ADT в GHCi
Комментируя новые функции в ghci, я хотел, чтобы у ghci была возможность объявлять объявление типа и объявлять новые типы ADT, кто-то сообщил, что это действительно возможно, и после поиска я нашел эта страница , на которой мне было сказано, что я...
1150 просмотров
schedule
25.04.2024
Попытка понять простые вещи Haskell STM
Я застрял в понимании концепции атомарности в STM.
поясняю на примере
import Control.Concurrent
import Control.Concurrent.STM
import Control.Monad
import qualified Data.Map as Map
main :: IO ()
main = do
d <- atomically$ newTVar...
1752 просмотров
schedule
15.03.2024
Пример MongoDB для Yesod/Persistent
Новичок в Haskell и Yesod. Я пытался следовать примеру интеграции с Yesod из главы Persistent в книге Yesod (http://www.yesodweb.com/book/persistent). Кажется, что Sqlite компилируется и работает нормально. Тем не менее, я пытаюсь использовать...
3346 просмотров
schedule
17.03.2024
Парсеры Data.Text для Parsec 3.x
Я ищу вариант Text.Parsec.Char.satisfy для типа Data.Text или какую-то полиморфную альтернативу, что-то со следующей подписью:
satisfy :: Stream s m Text => (Text -> Bool) -> ParsecT s u m Text
Выполняется успешно для любого...
559 просмотров
schedule
17.03.2024
Что не так с этим простым определением типа? (Ожидается еще один аргумент)
базовый.hs:
areaCircle :: Floating -> Floating
areaCircle r = pi * r * r
Команда:
*Main> :l basic.hs
[1 of 1] Compiling Main ( Sheet1.hs, interpreted )
Sheet1.hs:2:15:
Expecting one more argument to `Floating'...
11070 просмотров
schedule
03.05.2024
Оператор точки в haskell с многопараметрическими функциями
Я хочу написать функцию без точек в haskell, чтобы все было просто, скажем, я хочу сделать эту функцию:
maxmin :: Ord a => a -> a -> a -> a
maxmin a b c = max a (min b c)
Я могу улучшить это до
maxmin a b = (max a) . (min b)...
1842 просмотров
schedule
21.04.2024
Чтение из файла, содержащего точки
У меня есть файл txt, который содержит два числа, например:
2.
3.
Как видите, каждый конец строки заканчивается точкой.
Как я могу прочитать его и распечатать, например, сумму этих чисел?
Если мой файл не содержит точек, например, у...
162 просмотров
schedule
05.04.2024
Незапланированное жадное поведение в uu-parsinglib
Проблема
Сегодня столкнулся с проблемой и не знаю как решить. Это очень странно для меня, потому что код, который я написал, должен (согласно моим текущим знаниям) быть правильным.
Итак, ниже вы можете найти примеры комбинаторов парсера....
160 просмотров
schedule
06.03.2024
zip требует также второго списка, как она может работать только с одним списком аргументов
Я начал изучать Haskell и нашел хорошее упражнение. Это следующее:
grouping: Int -> [Student]->[(Team, Student)]
grouping teamNumber = zip ys
where ...
Итак, упражнение хочет, чтобы я попытался заполнить все...
330 просмотров
schedule
09.03.2024
Поднимите функцию и ее аргумент в другой монадический контекст
Я не знаю, как с научной точки зрения сформулировать этот вопрос, поэтому я просто покажу вам пример.
Я использую состояние в преобразователе StateT . Базовым является IO . Внутри операции StateT IO мне нужно использовать alloca . Однако я...
208 просмотров
schedule
23.03.2024
Вызов CUDA Hello World из Haskell с использованием FFI дает неверные результаты
Это стандартный файл Hello World CUDA:
#include <stdio.h>
#include "hello.h"
const int N = 7;
const int blocksize = 7;
__global__ void hello_kernel(char *a, int *b) {
a[threadIdx.x] += b[threadIdx.x];
}
#define cudaCheckError() { \...
304 просмотров
schedule
13.03.2024
Декартово произведение, приводящее к списку списков фиксированной длины (способ haskell)
Я хочу создать последовательность элементов ([0, 1]) фиксированной длины (например, 4), чтобы она приводила к списку списков элементов, содержащих все комбинации [0,1].
Я решил это, используя императивный подход к программированию:
Prelude >...
88 просмотров
schedule
17.05.2024
Использование GHCJS-DOM без webkitgtk
Я установил GHCJS и скомпилировал несколько программ «Hello, World». Теперь я хотел бы работать с DOM. Кто-нибудь знает, можно ли установить пакет ghcjs-dom без webkitgtk? У меня большие трудности с загрузкой пакета webkitgtk, и на данный момент я...
187 просмотров
schedule
18.05.2024
Объединение двух скобок вместе с помощью оператора $
У меня есть эта функция:
min (max 10 20) (max 30 40)
Я могу переписать это как:
min (max 10 20) $ max 30 40
Но есть ли способ разрешить эти последние скобки?
Не то чтобы это было недостаточно хорошо, но я просто не могу отделаться...
91 просмотров
schedule
05.04.2024
Пример глубокого понимания каррирования
Чтение https://wiki.haskell.org/Currying
Говорится :
Большую часть времени новый программист может игнорировать каррирование. Основное преимущество рассмотрения всех функций как каррированных носит теоретический характер: формальные...
208 просмотров
schedule
01.04.2024
Необязательные параметры вместе с оператором case
Я узнал о hslogger здесь .
initLogging :: Priority -> IO ()
initLogging level = do
stdOutHandler <- streamHandler stdout level >>= \lh -> return $
setFormatter lh (simpleLogFormatter "[$prio:$loggername:$time]...
105 просмотров
schedule
29.03.2024
Введите параметр в контексте, который вызывает некоторую двусмысленность
У меня есть следующая ошибка для cadr1 ниже, что имеет смысл
Не удалось вывести (BoolEq n ('Succ ('Succ n'0)) ~ 'True)
из контекста (BoolEq n ('Succ ('Succ n')) ~ 'True)
Переменная типа «n'0» неоднозначна
{-# LANGUAGE DataKinds...
89 просмотров
schedule
25.03.2024
Что означает программирование на уровне типов во время выполнения?
Я очень новичок в Haskell, поэтому извините, если это основной вопрос или вопрос, основанный на шатком понимании
Программирование на уровне типов — захватывающая идея для меня. Я думаю, что понял основную предпосылку, но чувствую, что есть и...
407 просмотров
schedule
04.04.2024
Хаскелл. Самый быстрый способ найти похожие элементы в двух Data.Map
Я пытаюсь сравнить элементы двух карт с помощью функции сравнения. Результирующее решение должно вернуть список пар ключ-значение из первой карты, которые похожи на некоторые значения из второй (сравниваются только значения). Ввод выглядит следующим...
83 просмотров
schedule
21.05.2024
Чистый синтаксис для условного сворачивания списка в Haskell
Я относительно новичок в haskell, но в своих поисках я не смог найти простой способ условно свернуть список. т. е. когда элемент удовлетворяет условию (например, filter ), чтобы свернуть этот элемент с помощью функции (например, foldr и foldl )....
161 просмотров
schedule
05.03.2024