
Ilya
19.02.2017
10:56:07
а можно линк?

Dmitry
19.02.2017
11:07:01
надо сначала выяснить будет это спам или нет

Quet
19.02.2017
11:08:06
да с чего вдруг спам

Aldar
19.02.2017
11:09:25
template <size_t n>
struct fac {
const static auto value = n * fac<n - 1>::value;
};
template <>
struct fac<0> {
const static auto value = 1;
};

Google

Aldar
19.02.2017
11:10:03
чем не функциональное программирование с паттерн матчингом и рекурсией?

Dmitry
19.02.2017
11:10:24
ладно, пока модераторы спят: http://letrectruth.ml/posts/cpp-snafu-conclusion.html

Quet
19.02.2017
11:10:56

Alexander
19.02.2017
11:56:24
@voidlizard а ты уже сам модератор :)

Dmitry
19.02.2017
11:56:50
@qnikst да, но местных правил я как-то еще не читал

Alexander
19.02.2017
11:57:07
Я не против оффтопа если только не ругань и не откровенный и продолжительный троллинг
А их и нет

Dmitry
19.02.2017
11:57:21
зацените кстати домен
letrectruth.ml

Alexander
19.02.2017
11:57:44
Если есть правила то есть к чему отсылаться и о чем спорить, правила невыгодны

Dmitry
19.02.2017
11:58:14
что бы этого не было, надо в правила включать пункт о том, что модератор всегда прав, это же старая история

Alexander
19.02.2017
11:58:24
Так что у нас как английская конституция , есть но неписаные

Serhii
19.02.2017
16:58:06
Ребята, а нет в телеграме бота, который возвращает результат haskell-кода?

Dmitry
19.02.2017
17:02:12
ой, а зачем?

Google

? animufag ?
19.02.2017
17:02:37
я таких вообще не встречал (для любых языков). но в общем то можно было бы такое сделать., нужно оценить объём работы

Dmitry
19.02.2017
17:02:54
https://ghc.io/

Vladimir
19.02.2017
17:03:37
в IRC на фриноде есть такой бот. и в старой жаббер-конфе русскоязычной тоже был

? animufag ?
19.02.2017
17:03:47
смысл есть. например в irc был лямбдабот.
и вот мы сейчас как бы копируем из ghci. а некоторые просто в голове компилят

Vladimir
19.02.2017
17:03:48
боты скорее всего опенсорс

? animufag ?
19.02.2017
17:04:09
да его вроде на хакэдже видел

Dmitry
19.02.2017
17:04:14
а в чем проблема копировать?

? animufag ?
19.02.2017
17:04:40
ну ты запускаешь репл ради одной строчки

Dmitry
19.02.2017
17:04:51
что значит запускаю, я его и не закрываю никогда

? animufag ?
19.02.2017
17:05:22
или в моём случае - я его даже не запускаю, а просто кидаю строчку кода на удачу

Artem
19.02.2017
17:05:31
Есть бот по многим языкам, включая Х

Dmitry
19.02.2017
17:05:33
ну просто боту написать что-то сложнее a+b это же целое дело

? animufag ?
19.02.2017
17:06:06
можно с телефона писать (огромный плюс)

Dmitry
19.02.2017
17:06:20
сдаюсь, пожалуй.
а для си или си плюс плюс или джавы нужен такой бот?
ну, просто интересно

Serhii
19.02.2017
17:06:36
Ну ээ, можна просто POST на http://tryhaskell.org/eval. Чего тут сложного?
Я от сейчас учу haskell, мне бы было удобно eval c ipad

? animufag ?
19.02.2017
17:07:10

Serhii
19.02.2017
17:07:17
Просто думал может кто то написал уже

Google

Kit
19.02.2017
17:07:58
тема ботом классная

Serhii
19.02.2017
17:08:12

Dmitry
19.02.2017
17:08:16
ну черт его знает, я даже текст слов на человеческом языке писать с телефона не очень готов, все пальцы сломаешь или вообще убьешься, потому что за рулем

? animufag ?
19.02.2017
17:08:37

Dmitry
19.02.2017
17:09:05
да черт знает, первое что нашел

Serhii
19.02.2017
17:09:07

Dmitry
19.02.2017
17:09:11
вон, еще
да

? animufag ?
19.02.2017
17:09:37
ок, выглядит норм

Serhii
19.02.2017
17:09:52
ладно, я напишу

? animufag ?
19.02.2017
17:10:11
да действительно с телефона сверхнеудобно набирать разные квадртные скобки, стрелки.

Artem
19.02.2017
17:10:26
@rextester_bot

Serhii
19.02.2017
17:11:26
есть еще @tryhaskell, но он не работает

? animufag ?
19.02.2017
17:13:13
Language:
haskell
Source:
main = print "hi"
Result:
"hi"

Artem
19.02.2017
17:13:50
Его админы могут добавить прямо в группу, если что

? animufag ?
19.02.2017
17:13:51
ну то что надо. только main напрягает

Artem
19.02.2017
17:14:05
Но спамоопасно, конечно

? animufag ?
19.02.2017
17:14:07
зачем.

Artem
19.02.2017
17:14:16
Да, main печаль

Serhii
19.02.2017
17:15:46
что-от он завис

Google

Serhii
19.02.2017
17:17:45
Language:
haskell
Source:
main = foldl (+) 0 [1..10]
Errors:
source_file.hs:1:14:
No instance for (Num (IO t0)) arising from a use of ‘+’
In the first argument of ‘foldl’, namely ‘(+)’
In the expression: foldl (+) 0 [1 .. 10]
In an equation for ‘main’: main = foldl (+) 0 [1 .. 10]
source_file.hs:1:20:
No instance for (Enum (IO t0))
arising from the arithmetic sequence ‘1 .. 10’
In the third argument of ‘foldl’, namely ‘[1 .. 10]’
In the expression: foldl (+) 0 [1 .. 10]
In an equation for ‘main’: main = foldl (+) 0 [1 .. 10]
и кривой

? animufag ?
19.02.2017
17:20:10
Language:
haskell
Source:
main = print $ foldl (+) 0 [1..10]
Result:
55

Serhii
19.02.2017
17:21:08
а, точно. ну это совсем не удобно

? animufag ?
19.02.2017
17:21:12
ты IO забыл. ну как бы хотелось чтобы у него ещё ghci был

Serhii
19.02.2017
17:21:14
если это eval-бот

? animufag ?
19.02.2017
17:22:09
он ещё умеет файлы принимать, что тоже как-то не в тему.
вот если я файл написал, то тут мне точно не лень runhaskell написать

Serghei
19.02.2017
17:51:18

Alex
19.02.2017
17:54:22

? animufag ?
19.02.2017
17:54:57
https://hackage.haskell.org/package/telegram-api

Serghei
19.02.2017
17:56:52
а есть hoogle для ghci ? чтоб получить ответ прямо в ghci

? animufag ?
19.02.2017
17:57:59
ну я у себя настроил когда то. причём он лучше того основного хугла
:def hoogle \x -> return $ ":!hoogle \"" ++ x ++ "\""
:def doc \x -> return $ ":!hoogle --info \"" ++ x ++ "\""
ну и stack install hoogle

Serghei
19.02.2017
18:00:06
я еще вообще ничкго не настраивал, это мне что-то типа ~/.stackrc надо иметь?
хорошая идея в общем, поковырять stack :) вчера у меня была "суббота хаскела", а сегодня напрашивается "вечер стека" ?

? animufag ?
19.02.2017
18:03:01
аа забыл про это написать.
ну вообще у меня это написано в ~/.ghci (и больше ничего, хотя наверное стоит туда -XOverloadedStrings написать)
не знаю стоит ли это на уровне стека прописывать.
ну и пользоваться :hoogle [a] -> a
doc тоже полезная штука

andretshurotshka?❄️кде
19.02.2017
18:25:54

Serhii
19.02.2017
18:26:28
О, спасибо

Google

andretshurotshka?❄️кде
19.02.2017
18:26:31
правда он медленный и на JS. Ну и запрос на tryhaskell это как-то не трушно)

? animufag ?
19.02.2017
18:29:13
Prelude> :t 1
<hint>:1:1: parse error on input ‘:’

andretshurotshka?❄️кде
19.02.2017
18:29:49
ну так это tryhaskell.org
если кто напишет бота нормального могу отдать ник)

? animufag ?
19.02.2017
18:31:07
ну просто из-за`Prelude>` подумал, что ghci будет
а для каждого пользователя отдельная сессия?
ну и ещё мб исходник есть

andretshurotshka?❄️кде
19.02.2017
18:32:25
не, там просто запрос на tryhaskell.org/eval

? animufag ?
19.02.2017
18:36:19
ну попытаюсь угадать: делал без вебхуков, просто по таймеру отправяешь запрос, для каждого полученного пользовательского запроса отправляешь блокирующий запрос на tryhaskell.org/eval ?
всё в одном потоке?

andretshurotshka?❄️кде
19.02.2017
18:38:26
не блокирующий) там rxjs

Serghei
19.02.2017
18:39:41
Есть сумма, и есть номиналы монет. Нужно выдеть сколькими способами можно эту сумму выдать этими номиналами. Например, если у нас есть сумма 4, и номиналы 1 и 2, то это 3 способа: 1+1+1+1, 1+1+2, 2+2 (т.е. варианты типа 1+2 и 2+1 считаются одним вариантом)
Номиналов может быть любое кол-во. На вход в функцию подается число и список номиналов.
Говорят это олимпиадная задачка

Anatolii
19.02.2017
18:41:07
Помойму такая задачка была на курсах степика по хаскелю

? animufag ?
19.02.2017
18:41:16
ну да. на timus наверное одна из первых в динамическом программировании

Serghei
19.02.2017
18:44:05
на стпике не знаю не видел
скиньте ссылку на степик

? animufag ?
19.02.2017
18:45:11
http://aliev.me/runestone/Recursion/DynamicProgramming.html что-то похожее, на timus не нашёл

Serghei
19.02.2017
18:47:27
спасибо

Максим
19.02.2017
18:48:35

? animufag ?
19.02.2017
18:51:13
короче по-хорошему лучше с ДП разобраться если не разбирался.
но есть один лайфхак если ты не собираешься решать олимпиадные задачи (например у меня было задание перед собеседованием): решаешь задачу рекурсивно в лоб, перебираешь все номиналы и и для каждого спускаешься вниз отнимая значение номинала.
дальше у тебя получается норм результат, но для больших значений твоя функция работает вечность и делаешь как тут https://wiki.haskell.org/Memoization