@haskellru

Страница 395 из 1551
Yuriy
08.09.2017
13:03:08
но первое редуцируется во второе же

а второе в первое — нет

Андрей
08.09.2017
13:04:04
правильно, вы предлагаете не редуцировать до конца до нормальных форм. но это более сложнаяч и творческаяч задача

например, 1+1+2/0 = 2+2/0 так?

Google
Андрей
08.09.2017
13:04:59
можно творчески редуцировать левую и правую часть в совпадающие до альфаредукции термы, но не до нормальных форм

прикол с нормальными формами что они единственны, и это сильно упрощает проверку

Yuriy
08.09.2017
13:05:54
например, 1+1+2/0 = 2+2/0 так?
возможно, стоить разделять "равенство по (частичной) редукции" и "равенство по значению (нормальной форме)"

Андрей
08.09.2017
13:06:30
думаю, примерно такой же смысл вкладывается в понятия интенсиального и экстенсиального равенств?

а как вам вот такой терм 1:[1,1..] ++ [3]

равен он [1,1..]? и если да, то в каком смысле и как это определить и доказать равенство?

Ilya
08.09.2017
13:14:32
доказать легко: докажем, что для любого наперёд заданного n -> n-ые элементы списков равны

значит равны и сами списки

Yuriy
08.09.2017
13:16:31
а если не вставлять костыли специально для списков?

можно определить так, что для любой редукции a' формулы a существует последовательность шагов редукции b в a' и наоборот

нет, тоже не то

сравнить нормальные формы, вычисленные до любой конечной глубины?

Google
Yuriy
08.09.2017
13:22:52
WHNF-n

Ilya
08.09.2017
13:27:14
а если не вставлять костыли специально для списков?
если интересно, глянь пакет http://hackage.haskell.org/package/infinite-search-0.12/docs/Data-Searchable.html

может быть через него можно сделать сравнение таких списков

главное придумать, что выбрать за Set

хочется сделать Set = мно-во пар элементов двух этих списков, и соотв-нно натравить предикат "а есть ли хоть одна пара не вида (x, x)"

но там есть существенные ограничения на создания такого Set, может не получиться

Mikhail Subbotin
08.09.2017
13:34:35
А есть статьи или книги которые всю эту теорию объясняют?

Ilya
08.09.2017
13:35:47
This module is based on the paper "Exhaustible sets in higher-type computation" by Martin Escardo

Haskell — невозможное возможно? / Хабрахабр https://m.habrahabr.ru/post/201446/

Alexander
08.09.2017
13:58:31
я в text уже натыкался на кривые rewrite rules

Anatolii
08.09.2017
13:59:37
Может string не так и плох?:)

Alexander
08.09.2017
13:59:58
bos иногда излишне оптимистичен

Dmitry
08.09.2017
14:00:24
там хоть кто-то этот баг довел до сведения разработчиков? это всё-таки ахтунг

Alexander
08.09.2017
14:01:09
что я находил - довел в тот же день

с патчес

и его прям в тот же день приняли

про то, что выше, не знаю

Bohdan
08.09.2017
15:46:46
multRandomNumbers rands prev = case rands of (x:xs) -> curRand : multRandomNumbers xs curRand where curRand = prev * ( 0.995 + ( x * 0.01 ) )Я правильно понимаю, что на x в третьей строке ругается из-за того, что подразумеваютcя матчи, в которых x нет? Что делать в таких случаях? Можно объявить локальную функцию для конкретного матча?

kana
08.09.2017
15:48:30
let?

multRandomNumbers rands prev = case rands of (x:xs) -> let curRand = curRand = prev * ( 0.995 + ( x * 0.01 ) ) in curRand : multRandomNumbers xs curRand

Google
Bohdan
08.09.2017
15:48:35
[] -> [] тут по-любому возможен, явно или неявно. Хоть список и бесконечный в конкретном случае

Точно, забыл, что им так можно пользоваться

kana
08.09.2017
15:49:24
а чего нельзя сразу rands сматчить в аргументе?

Bohdan
08.09.2017
15:49:52
Вау, и так можно? ☺

kana
08.09.2017
15:49:57
multRandomNumbers (x:xs) prev = curRand : multRandomNumbers xs curRand where curRand = prev * ( 0.995 + ( x * 0.01 ) )

Vasiliy
08.09.2017
15:52:43
а чо так сложно?

r = 0:(zipWith nextRand randoms r) where nextRand x prev = prev * ( 0.995 + ( x * 0.01 ) )

0 - начальный элемент, randoms - список случайных чисел

Bohdan
08.09.2017
15:57:51
zip/zipWith я ещё не осилил, хотя часто встречаю; пойду курить, чо оно такое

Хмм, а почему так не компилится? multRandomNumbers :: [Float] -> Float -> [Float] multRandomNumbers (rand:otherRands) prev = curRand : multRandomNumbers otherRands curRand where curRand = prev * ( 0.995 + ( rand * 0.0126315789473684 ) ) realRand = case curRand of <0.8 -> 0.8 >1.2 -> 1.2 _ -> curRand

Abbath
08.09.2017
16:00:09
Ну если не компилится то там написано почему

Bohdan
08.09.2017
16:00:43
parse error on input ‘->’

case в where юзать нельзя, что ли?

Abbath
08.09.2017
16:02:28
<0.8 в case нельзя

Bohdan
08.09.2017
16:03:02
А чо можно?

Abbath
08.09.2017
16:05:22
Патерн матчинг можно

Ilya
08.09.2017
16:07:47
zip/zipWith я ещё не осилил, хотя часто встречаю; пойду курить, чо оно такое
ты язык по гуглу что ли учишь?:) возьми нормальный учебник с let ты не знаком, с zip не знаком, зато уже код с монадами пишешь (вчера было)

Bohdan
08.09.2017
16:14:21
ты язык по гуглу что ли учишь?:) возьми нормальный учебник с let ты не знаком, с zip не знаком, зато уже код с монадами пишешь (вчера было)
Я все языки так учил: понадобилось чото — нашёл в справке, даже до интернетов ещё. Не вижу смысла муштровать кучу теории, хоть это и полезно (в теоркат въезжаю потихоньку). Тем более, zip, как вижу — сахарок какой-то, раз получилось без него, просто велосипедно А без монад реальной жизни нет, только в ghci что-то считать, смысл их откладывать? ☺

Ilya
08.09.2017
16:14:29
вот глянь https://anton-k.github.io/ru-haskell-book/book/4.html

насчёт let и пр.

Google
Kirill
08.09.2017
16:14:36
или вот http://learnyouahaskell.com/chapters

Bohdan
08.09.2017
16:15:16
А Шевченковский учебник хорош? Я его начал читать когда-то, но забросил

Андрей
08.09.2017
16:15:34
Холомьева советовать новичку без математическогй подготовки имхо жестко

Ilya
08.09.2017
16:15:53
Холомьева советовать новичку без математическогй подготовки имхо жестко
я тольк главу про декларативный и композиционный стиль скинул

она простая

Abbath
08.09.2017
16:15:59
Шевченковский не дописан еще

Андрей
08.09.2017
16:16:09
Шевченковский с упором на матерую практику - начинается не с функторов а с установки и настройки окружения ))

Липовача из известных самое то в данном случае

kana
08.09.2017
16:16:35
Душкина нужно советовать)

Андрей
08.09.2017
16:17:03
Душкина ругают. За копипасту переводов наверное. Но я читал, было нормально.

Arseniy
08.09.2017
16:21:03
Зачем читать на русском учебную/научную литературу?

Ilya
08.09.2017
16:21:47
зачем нет?

Andrew
08.09.2017
16:21:54
Как минимум быстрее читаешь на родном языке

Bohdan
08.09.2017
16:28:10
ты кстати ссылочку-то посмотри всё же мою поймешь, как надо оформить эти <0.8 и >1.2
Да я уже по wikibooks оформил ☺https://en.wikibooks.org/wiki/Haskell/Control_structures realRand | curRand < 0.8 = 0.8 | curRand > 1.2 = 1.2 | otherwise = curRand А по ссылочкам почитаю, спасибо

Андрей
08.09.2017
16:30:07
На русском читать затем, чтобы к нагрузке по восприятию материала не добавлялась нагрузка по переводу. Так то ради искусства можно и на Японском читать.

kana
08.09.2017
16:35:00
вообще есть подозрение, что читать английскую научную литературу проще, чем русскую, как-то легче формулируют они приложения

но это только ощущения, выборка у меня маленькая

Bohdan
08.09.2017
16:37:45
Тэкс, и почему у меня хэллоуворлд из полусотни строчек весит в скомпилированном виде 1.6 МБ? Можно его какими-то опциями уменьшить?

Google
Dmitry
08.09.2017
16:40:13
рантайм, например

strip например

но вообще раньше это весило мегабайт десять и никто не жаловался

Abbath
08.09.2017
16:40:38
Зато зависимостей мало

Ilya
08.09.2017
16:41:57
strip например
вряд ли поможет

сейчас зашёл в маленький проект, там 5 объектников по 16-30 килобайт, но в сумме они дали исполняемый файл на 1.7 мегов

Index
08.09.2017
16:52:51
Это не ради искусства, а из-за того, что так сложилось, что почти вся литература полезная на английском.

Ограничивая себя до другого языка (хоть русского, хоть японского, хоть немецкого), вынуждаешь себя терпеть сомнительного качества перевод (если он есть!)

Это не потому что английский хороший, а потому что его все используют.

Андрей
08.09.2017
16:54:08
Мой пассаж про ради искусства был небольшим троллингом на тему того, что спрашивали зачем читать на русском, а английский не упоминался совсем.

А так, вон Олег Киселев в Японии думаю вынужден так статьи писать

Index
08.09.2017
16:57:47
Это про computer science в целом и Haskell в частности

Ilya
08.09.2017
16:58:02
ну computer science ещё м.б.

Index
08.09.2017
16:58:22
В других областях что происходит мне не известно

Андрей
08.09.2017
16:58:41
Интересно, а конкретно про Хаскель на каком языке больше статей и книг? Неужели уже на русском? )

Ilya
08.09.2017
16:58:44
шире — "учебная/научная литература" — уже не верно

Зачем читать на русском учебную/научную литературу?

к этому

Страница 395 из 1551