@haskellru

Страница 404 из 1551
Alexander
15.09.2017
08:39:35
let divideBy2 = (/ 2)

можно

ну напиши 2 - 5

Index
15.09.2017
08:39:54
(- 5) 2 вот это тоже пахнет
Ну с минусом бардак

Google
Alexander
15.09.2017
08:39:58
если кто будет ругаться, скажи, что я разрешил

Sherzod
15.09.2017
08:40:16
если кто будет ругаться, скажи, что я разрешил
Хорошо! Можно я тебя буду называть бро?

Alexander
15.09.2017
08:40:41
с минусом все везде плохо

Dmitry
15.09.2017
08:40:53
где-то просто сделали так ~2

Alexander
15.09.2017
08:40:55
т.к. тяжело отличать отрицательную константу от функции

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

Index
15.09.2017
08:43:41
Если не добавить самый прекрасный инстанс для Num

(Num a, Applicative f) => Num (f a)

Alexander
15.09.2017
08:55:19
это да

Yuriy
15.09.2017
09:28:59
вот такое понравилось, жесть просто: (/ 2) 4
почему жесть-то? чего ты ожидаешь от этого кода?

Sherzod
15.09.2017
09:29:31
Evgeniy
15.09.2017
09:47:31
а есть гденибудь таблица по нотации обычно используемой в теории категорий - типа чтобы можно было по быстрому понять чем ∆ отличается от△? а то читал вчера папер и гдето на второй странице уже начал забывать нотацию с первой

Kit
15.09.2017
09:49:20
Обычно каждый автор использует свою нотацию, которую объявляет в начале книги. Если это статья, видимо, лучше посмотреть те книги на которые ссылается автор

Google
Evgeniy
15.09.2017
09:52:54
видимо будет проще просто на бумажку выписать, чем пытаться догадатся что из списка литературы было основными источниками

Alex
15.09.2017
11:32:36
я склоняюсь к варианту "Хаскель" потому что это вариант имени Иезекиль

Личное имя Йехезкель (в идише — Хацкл, Ехескл) распространено среди евреев.

хацкл тоже ок

Олег
15.09.2017
11:34:13
Остановимся на Хацкл

Dmitry
15.09.2017
11:34:20
Х-л.

Leonid
15.09.2017
11:35:13
Во имя Саймона, Пейтона и Джонса

Vladimir
15.09.2017
11:40:56
вы еще не видели дискуссий про "фронтенд", "фронт-енд", "frontend" и т.д

а, и еще конечно "фронтэнд"

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

а в устной речи можно как угодно, в конце концов тусовочки со своими диалектами никто не отменял))

а так спор вообще бессмысленный, потому что и то, и другое норм тайпчекается)

illiatshurotshka❄️
15.09.2017
11:42:57
haskal

Anton
15.09.2017
11:44:51
а, и еще конечно "фронтэнд"
У нас один сотрудник упорно пишет «бакъэнд»

Andrew
15.09.2017
11:44:51
Хаски

Alex
15.09.2017
11:45:15
бекендорф

? animufag ?
15.09.2017
11:45:23
Аскул

Или аскал

Aleksey
15.09.2017
11:46:12
Хаскаль (Блез)

Leonid
15.09.2017
11:46:47
Монойды в хаскале

Google
Олег
15.09.2017
11:47:21
Фунгтогы в Хацкле

Alexander
15.09.2017
11:50:56
товарищи

Dmitry
15.09.2017
11:51:06
многовато флуда, да?

Alexander
15.09.2017
11:51:06
у меня вопрос

очень

давайте про haskell

у меня проблема

я ввожу вещи в ghci и ничего не понимаю

Prelude> let x = (id True, id undefined) Prelude> :sprint x x = _ Prelude> let x = (True, id undefined) Prelude> :sprint x x = _ Prelude> let x = (True, undefined) Prelude> :sprint x x = (,) True _ Prelude> let x = (True, undefined::Int) Prelude> :sprint x x = (True,_) Prelude> let x = (True, False) Prelude> :sprint x x = (True,False)

кто-нить может рассказать почему вывод именно такой, какой он есть

illiatshurotshka❄️
15.09.2017
11:54:03
ленивость?

? animufag ?
15.09.2017
11:56:34
Ну видимо если бы там был не булеан а какая-нибудь дата то (,) Дата Дата

Хотя не. Наверное он дальше головы вообще не должен вычислять в любом случае

Alexander
15.09.2017
11:57:47
Prelude> let x = (Just 4, False) Prelude> :sprint x x = (Just 4,False)

? animufag ?
15.09.2017
11:58:01
Хех

Alexander
15.09.2017
11:58:06
ну нужно понимать, что тут константы ему их вычислять в общем-то незачем

но я не понимаю почему не (,) a b везде

хотя бы

допустим оптимизация или особенности sprint

но почему есть места где (,) a _

Google
Alexander
15.09.2017
11:59:01
и почему в тоже время есть (a,_)

Leonid
15.09.2017
11:59:11
а что sprint смотрит? вообще у undefined вроде свой тэг в рантайме.

Alexander
15.09.2017
12:00:19
тег смотрит

разницу между undefined и undefined::Int я вижу и понимаю

Leonid
15.09.2017
12:00:51
CAF?

Alexander
15.09.2017
12:00:55
но не понимаю почему она приводит к такой разнице вывода в sprint

ну undefined это :: forall a . a

undefined :: Int это :: Int

т.е. нету неявного параметра для типа

это как с let x = 5, sprint x x = _, и let x = 5 ::Int sprint x x = 5

ParkeT
15.09.2017
12:02:35
undefined это _|_, не?

Leonid
15.09.2017
12:02:49
особенности реализации? надо компилять в корку без оптимизашек и там понятно будет

Daniel
15.09.2017
12:06:04
Prelude> let x = (Just 4, False) Prelude> :sprint x x = (Just 4,False)
Prelude> let x = (Just 4, False) Prelude> :sprint x x = _

Leonid
15.09.2017
12:06:18
(True, undefined) :: forall a . (Bool, a) (True, undefined::Int) :: (Bool, Int)может просто в первом случае ему не хватает "пустой дикт"?

Alexander
15.09.2017
12:06:30
@optician_owl у тебя 4 это функция я поэтому Bool и использую

Leonid
15.09.2017
12:07:48
(,) True _ - это thunk с конструктором. а (True, _) - слабая голова

Alexander
15.09.2017
12:07:57
Prelude> let x = (Just (+(1::Int)), False) Prelude> :sprint x x = (Just _,False)

ну не thunk, а ap

Leonid
15.09.2017
12:09:02
ну да

Google
Alexander
15.09.2017
12:09:42
ладно лучше дальше работать буду

Leonid в общем-то тогда (Int,undefined::Int) и (Bool, Bool) сходятся

но какого черта он сразу whnf делает

там же код это let a = .. ; b = .. in (,) a b

жалко sprint thunk от функции не отличает

Leonid
15.09.2017
12:18:29
Whnf потому что CAF?

Alexander
15.09.2017
12:47:39
возможно

Michel
15.09.2017
13:43:55
/me зашел после js-работы в хачкель-чат, думал чего умного почитать, а там тоже undefined и жопа в вычислениях

illiatshurotshka❄️
15.09.2017
13:46:17
undefined это функция

Index
15.09.2017
13:54:10
undefined is not a function

Dmitry
15.09.2017
15:01:47
а какой сейчас последний ghc в nix ?

Rinat
15.09.2017
16:22:25
А кто-нибудь уже пользовал compact regions?

Index
15.09.2017
16:23:04
Я с ними экспериментировал. Они работают.

Но фатальный недостаток в том, что в компактный регион не могут входить функции.

Yuriy
15.09.2017
16:24:00
Rinat
15.09.2017
16:24:01
Такой уж ли фатальный?

Index
15.09.2017
16:24:30
Ну если у тебя в данных функций нет, то не такой уж.

Alexander
15.09.2017
16:24:45
@cblp_su сомнительно, особенно в ghci

Index
15.09.2017
16:25:33
Самое кайфовое, что можно на диск дампать структуры бесконечные, вроде xs = 1:xs

Оно умеет шейринг сохранять

Rinat
15.09.2017
16:27:31
Я просто сейчас не оч втыкаю как с ними работать.) То есть вот есть компактный регион(compact b) ты к нему прибавил что-то типа a и получил IO (compact a)

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