@haskellru

Страница 1459 из 1551
Alexander
12.09.2018
19:07:24
Могу, но я хочу так: fValue 1 2 :: Int
какая разница, что ты хочешь

добавить деструктор

вон как Yx написал

applyF :: F a b c -> (a -> b -> c)

Google
ParkeT
12.09.2018
19:08:14
какая разница, что ты хочешь
Я просто интересуюсь. Сидел, вот, и подумал, что было бы прикольно.

Alexander
12.09.2018
19:08:30
как может быть прикольной штука у которой не сходятся типы?

Yura
12.09.2018
19:08:57
не налазят!

Александр
12.09.2018
19:08:58
Александр, ты что такой токсичный последнее время?

std::uv
12.09.2018
19:09:13
в с++ такое есть вроде бы

Alexander
12.09.2018
19:09:21
ты хочешь написать (fValue :: F Int Int Int) (1::Int) и получить выражение типа Int -> Int ?

как?

ParkeT
12.09.2018
19:09:53
Да, у меня плохой пример выше. data F a b = F ( a -> b )

Александр
12.09.2018
19:10:27
Грубоват. Люди экспериментируют, это нормально

Alexander
12.09.2018
19:10:27
а какая разница, для того, чтобы применить агрумент к чему-то у тебя должен быть тип a -> ...

а не F``

устал и пора в отпуск

Google
alexknvl
12.09.2018
19:11:20
ты можешь определить новый оператор, чтобы fValue $$ 1 2 :: Int работало например

ParkeT
12.09.2018
19:12:03
Короче, ребята, сорян, я спать

alexknvl
12.09.2018
19:12:32
а без него никак я думаю

Alexander
12.09.2018
19:12:36
@graninas вот смотри, какими словами я должен предложить человеку написать типы что он хочет, а не повторять А БЕЗ ЭТОГО

ParkeT
12.09.2018
19:12:43
type F a b = a -> b

Alexander
12.09.2018
19:13:08
так можешь, но F это у тебя синоним для обычной функции

(+1) :: F Int Int — (Int -> Int)

Pineapple
12.09.2018
19:13:39
Да, могу. А без него?
Никак. Применение аргументов к функции применяет аргументы к функции

Alexander
12.09.2018
19:14:17
для того, чтобы применить аргументы к структуре, нужно структуру превратить в функцию и применить

возможно просто распаковать

например: data F a = F {unF :: a -> a} f = F (+1) unF f 0 contramap (+1) f

хотя последнее так просто не взлетит

отлично грохнул ~/.cabal и ~/.ghc и стек сломался

кусок софта :/

A64m
12.09.2018
19:20:17
перегрузку пробела все никак не сделают

Alexander
12.09.2018
19:20:46
вообще адище будет

Yura
12.09.2018
19:21:12
:D

Alexander
12.09.2018
19:21:20
ещё скобки перегрузить

Google
Ilya
12.09.2018
19:21:28
лисп получится сделать?

Alexander
12.09.2018
19:24:19
так если обновлять STACK_ROOT то норм

Евгений
12.09.2018
19:38:00
как может быть прикольной штука у которой не сходятся типы?
Но хаскель вообще даёт сделать два одноимённых терма с разными типами, если один из них -- название "типа", а другой -- конструктор. Не вижу причин, по которой не разрешить также и деструктор называть

Alexander
12.09.2018
19:46:11
только деструктор это функция и он с маленькой буковы

деструкторы вообще злое-зло

но это не точно

Yura
12.09.2018
19:46:51
это про С++ сейчас было?

Alexander
12.09.2018
19:47:11
про haskell

я не знаю C++

Yura
12.09.2018
19:48:10
*Sarcasm*

почему зло то?

Евгений
12.09.2018
19:49:05
Alexander
12.09.2018
19:49:16
возникает куча ограничений, из созданием нельзя правлять

Yura
12.09.2018
19:49:18
да

Alexander
12.09.2018
19:49:34
в итоге приходится решать через конвенции

если такая ситуация возникает, то то из-за чего она вылезает - зло

с RecordWildCards+NamePuns такого нету

ещё бы было aliasing как @cblp_su предлагал

чтобы в одном scope можно было несколько структур достать и обновлять хорошо

хотя зря я их деструкторами назвал, не надо так

Google
A64m
12.09.2018
19:58:10
ЭЛИМИНАТОРЫ

Pineapple
12.09.2018
19:59:05
Деконструкторы

Alexander
12.09.2018
19:59:40
злые вы

недобрые

не дождетесь

Admin
ERROR: S client not available

Terminator
12.09.2018
20:56:28
@vkshv будет жить. Поприветствуем!

Василий Олегов будет жить. Поприветствуем!

Denis
13.09.2018
07:53:58
вот и ракету под жс сделали... https://github.com/vishesh/racketscript

Anton
13.09.2018
07:58:01
Не нашёл у ракеты подязыка для хаскелля

Василий
13.09.2018
08:02:04
Не нашёл у ракеты подязыка для хаскелля
вроде что-то было у них https://www.youtube.com/watch?v=bOUgXd9XlJ4 https://docs.racket-lang.org/hackett/index.html

Anton
13.09.2018
08:05:52
Ого, т.е. это новый способ скомпилить Haskell в js

и который наверное не жрёт 8гб RAM

Только синтаксис сильно шумный, что я и ждал от лиспов

A64m
13.09.2018
08:22:13
ну это не хаскель же

Leonid
13.09.2018
08:23:37
а хакет ленивый?

Anton
13.09.2018
08:24:06
Ещё не досмотрел до конца

Евгений
13.09.2018
08:24:13
В нём есть HKT?

Anton
13.09.2018
08:24:27
Похоже в видео лукавят, что хаскелльную семантику реализовали

Iva
13.09.2018
08:24:34
В чём заключается трушная ленивость?

Google
Anton
13.09.2018
08:25:39
В том, что thunk на каждый чих генерится

и оптимизируется потом

Евгений
13.09.2018
08:25:45
Ну они могли реализовать call-by-name. Пока вычисления чистые, call-by-name от call-by-need можно только по тормозам определить

В чём заключается трушная ленивость?
https://en.m.wikipedia.org/wiki/Graph_reduction

Anton
13.09.2018
08:27:51
Так редукцию можно и eager сделать

и кучу промежуточных от ленивости до строгости

A64m
13.09.2018
08:48:13
> I'm a touch disappointed that Dhall doesn't have row polymorphism and enough type inference to support it. I know that's kind of looking at an open source gift horse in the mouth. And I'm sure the project welcomes PRs, but this change to me seems seismic for the project. > I do appreciate that it's a total language... but without better type-oriented support for the domain-specific concern of configuration management, this just doesn't seem like the language I've been looking for the whole time for that specific task. > Collectively, this stuff adds up to poor ergonomics. And though I could forgive this for internal library code, configuration is part of the externally exposed user interface. Who wants to call fn fnDefaults // {...} for every call?

Anton
13.09.2018
08:49:21
Слишком verbose

думал для никсовых файлов своих использовать

но это адок какой-то

Aleksey
13.09.2018
08:49:59
Народу не нравится, что Dhall - не язык программирования общего назначения?

A64m
13.09.2018
08:50:27
там не это написано

Anton
13.09.2018
08:50:57
Не нравится, что verbose и нет фич для улучшения жизни конфигописателей

Aleksey
13.09.2018
08:52:31
там не это написано
написано, что не хватает рядового полиморфизма. Но почему боятся реквесты ломающие слать? У Dhall в change потоянно breaking changes встречаются

Alexander
13.09.2018
08:52:56
там вроде изменений, что проще новый язык написать

A64m
13.09.2018
08:53:07
так там надо все переделать чтоб он заявленным требованиям соотвествовал, кроме названия не останется ничего

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