Вопросы с тегом «haskell»

73
Советы по игре в гольф в Хаскеле

Какие общие советы у вас есть для игры в гольф на Хаскеле? Я ищу идеи, которые могут быть применены к задачам по коду для гольфа в целом, которые, по крайней мере, несколько специфичны для Haskell. Пожалуйста, оставьте только один совет за ответ. Если вы новичок в игре в гольф на Хаскелле,...

55
Синтаксис без сахара

В Хаскеле список обозначений: [a,b,c] Это просто синтаксический сахар для: a:b:c:[] И строка обозначений: "abc" Это просто синтаксический сахар для: ['a','b','c'] Это означает, что строка: "abc" Такой же как: 'a':'b':'c':[] задача Получив строку, вы должны вывести, как будет выглядеть...

37
Подождите, что это за язык?

Недавно я имел удовольствие написать программу на Haskell, которая могла бы определить, NegativeLiteralsзадействовано ли расширение. Я придумал следующее: data B=B{u::Integer} instance Num B where{fromInteger=B;negate _=B 1} main=print$1==u(-1) Попробуйте онлайн! Это будет печатать Trueнормально и...

21
Давайте сделаем диету Haskell

У Haskell есть кортежи, которые можно записать как (a,b,c) Однако это просто синтаксический сахар для (,,)a b c В общем случае n- кортеж может быть сформирован с n-1 , s между (..., )за которым следуют его элементы, разделенные пробелами. Например, 7-кортеж, (1,2,3,4,5,6,7)может быть сформирован...

19
Кратчайшая функция a -> b -> (a -> b) в Haskell

На тесте я получил следующий вопрос: Напишите функцию fследующего типа a -> b -> (a -> b). aи bне должно быть связано ни в каком смысле, чем короче код, тем лучше. Я придумал f a b = \x -> snd ([a,x],b). Можете ли вы найти что-нибудь круче? На данный момент победителем является: f...

13
Восстановите премьер от главной власти

Определение : простая степень - это натуральное число, которое может быть выражено в форме p n, где p - простое число, а n - натуральное число. Задача : При заданной простой степени p n > 1 вернуть простое число p. Тестовые случаи : input output 9 3 16 2 343 7 2687 2687 59049 3 Подсчет очков :...

11
Какой хороший способ справиться с задачами, требующими массивов, используя Haskell?

Часто задача требует реальных массивов. Возьмем, к примеру, задачу для реализации Befunge или> <>. Я попытался использовать Arrayмодуль для этого, но он действительно громоздок, так как мне кажется, что я слишком многословен. Кто-нибудь может мне помочь, как решить такие задачи кода-гольфа...

10
Code-Golf: последовательность Фейри (I)

Вызов В этом задании вам дадут целое число N (меньше 10 ^ 5), выведите последовательность Фари порядка N Вход N указан в одной строке, входы заканчиваются EOF. вход 4 3 1 2 Вывод F4 = {0/1, 1/4, 1/3, 1/2, 2/3, 3/4, 1/1} F3 = {0/1, 1/3, 1/2, 2/3, 1/1} F1 = {0/1, 1/1} F2 = {0/1, 1/2, 1/1} Ограничения...

9
Интерпретируемая арифметика

Малоизвестный факт: если вы включите достаточное количество расширений языка (ghc), Haskell станет интерпретируемым языком с динамической типизацией! Например, следующая программа реализует сложение. {-# Language MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, UndecidableInstances...