@haskellru

Страница 1250 из 1551
Слава
07.06.2018
13:28:45
что-то не похож на хаскель
Это явно хаскелем навеяно: const main = {...

Александр
07.06.2018
13:29:05
А кто в курсе, что там с онлайн-иде от FPComplete произошло?

Yuriy
07.06.2018
13:29:09
;; явно верблюды принесли

dimiii
07.06.2018
13:29:29
Вот бы кто -то запилил язык, в котором определение типов и работа с ними отделена от ядра языка. Чтобы типы определялись в сопутствующих библиотеках квантфицированно-аксиоматически и комбинировались/проверялись при компиляции. Естественно, чтобы была стандартная библиотека типов, с которой можно было начинать. Было такое? Такое вообще возможно?

Google
Александр
07.06.2018
13:29:47
закрылась
"Она утонула"

Слава
07.06.2018
13:30:01
;; явно верблюды принесли
Кто-то наконец написал язык, соотвутствующий известной пародийной обложке O'Reilly

Евгений
07.06.2018
13:30:10
dependent types?

dimiii
07.06.2018
13:30:15
Все косвенности, вроде newtype хаскелля или указателей С можно было бы описать в библиотеках типов

Евгений
07.06.2018
13:30:28
Назовём его hegel

dimiii
07.06.2018
13:30:45
язык в котором язык отделен от языка
Да я понимаю, но думаю можно найти границу, на которой остановиться и получить что - то интересное и полезное

Yuriy
07.06.2018
13:31:55
dependent types?
как я понимаю, завтипы, наоборот, основаны на идее смычки значений и типов

A64m
07.06.2018
13:31:59
ньютайпы-то да, можно описать в "библиотеке", в ядре их нету.

Pig
07.06.2018
13:32:29
Да я понимаю, но думаю можно найти границу, на которой остановиться и получить что - то интересное и полезное
Чем хаскель не подходит? Берешь и свою prelude пишешь, встроенных типов немного.

Google
dimiii
07.06.2018
13:32:32
чего не хватает в Хаскеле?
Да я в общем любитель, хаскелл для меня хобби

Yuriy
07.06.2018
13:33:04
Да я в общем любитель, хаскелл для меня хобби
попробуй натянуть Хаскель на свою мечту

A64m
07.06.2018
13:33:26
чего не хватает в Хаскеле?
завтипов, линейных типов, уникальных типов, row типов

dimiii
07.06.2018
13:33:55
попробуй натянуть Хаскель на свою мечту
Лучше попинаю жидкохаскелл - там что-то похожее рядышком строится

Alexander
07.06.2018
13:33:57
линейные в итоге не пойдут в следующий релиз?

A64m
07.06.2018
13:34:12
думаю, что не пойдут

Yuriy
07.06.2018
13:34:17
завтипов, линейных типов, уникальных типов, row типов
я спрашивал про отличия Хаскеля от гипотетического "отделена от ядра языка"

A64m
07.06.2018
13:34:41
его не заморозили еще, но вероятность того что пойдут КРАЙНЕ мала

Александр
07.06.2018
13:35:31
Если взяться сегодня и начать писать свой Haskell Next Gen, то через года три-четыре, когда популярность оригинального Haskell вырастет в разы, а сам он превратится во второй C++, можно будет поймать волну разочаровавшихся хаскеллистов.

A64m
07.06.2018
13:35:32
я спрашивал про отличия Хаскеля от гипотетического "отделена от ядра языка"
ну, в принципе, в хаскеле есть тайпчекер-плагины, так что можно приблизится к некоему добавлению типов не в ядро

dimiii
07.06.2018
13:38:08
ну, в принципе, в хаскеле есть тайпчекер-плагины, так что можно приблизится к некоему добавлению типов не в ядро
Вооот, если говорить про этот мифический язык, там потребуется язык для синтаксиса термов, язык для синтаксиса типов, метаязык для описания семантики типов. Звучит как шиза, но интересная шиза.

A64m
07.06.2018
13:38:27
с такми же успехом как с плюсов разочарованных плюсистов уже лет 20 пытаются поймать?

Alexander
07.06.2018
13:38:54
я бы заценил языке где типы это объекты первого класса

Александр
07.06.2018
13:39:50
с такми же успехом как с плюсов разочарованных плюсистов уже лет 20 пытаются поймать?
Если в плюсы опять не завезут модули и концепты, то я и сам разочаруюсь

Leonid
07.06.2018
13:41:00
модули в плюсы никогда не завезут

Stepan
07.06.2018
13:41:22
я бы заценил языке где типы это объекты первого класса
Это было бы супер. Прям сказка а не мечта

? animufag ?
07.06.2018
13:41:30
я бы заценил языке где типы это объекты первого класса
расплывчатая формулировка — идрис и прочие в неё попадают

Александр
07.06.2018
13:41:30
Хотя я уже разочаровался, глядя на их тяжело больной Maybe, а вот Александреску еще топит за еще более тяжело больной Either. Будь моя воля, я бы всех плюсовых комитетчиков отправил изучать Хаскель, с обязательной сдачей экзаменов по монадам

Pig
07.06.2018
13:42:17
Кстати, а есть языки где можно делать матчинг по типу?

Stepan
07.06.2018
13:42:31
расплывчатая формулировка — идрис и прочие в неё попадают
Там можно на лету создать класс и передать его в функцию?

Google
A64m
07.06.2018
13:42:41
Pig
07.06.2018
13:43:03
Например foo acc (x -> y) = foo (x : acc) y foo acc _ = rev acc

Alexander
07.06.2018
13:43:49
а что делает первая ветка?

? animufag ?
07.06.2018
13:44:16
да точно плюсы

Pig
07.06.2018
13:44:38
Матчится по конструктору типов ->

Alexander
07.06.2018
13:44:46
не когда а что

Алексей
07.06.2018
13:44:53
Мне что-то кажется, что на lisp может запилить свои типы и прочее

A64m
07.06.2018
13:45:13
Матчится по конструктору типов ->
т.е. в аккумуляторе список типов?

и вся функция над типами?

Pig
07.06.2018
13:45:33
+

List Type -> Type -> List Type

Alexander
07.06.2018
13:45:56
а, ну это и есть первоклассные типы

когда конструктор типа - частный случай конструктора значения

A64m
07.06.2018
13:46:33
в нормальной омеге должно быть можно, в хаскеле проблемы с кривыми семействами

Pig
07.06.2018
13:47:00
В Идрисе так тоже нельзя, значит ли это, что там нету омеги? А может я просто не умею.

A64m
07.06.2018
13:47:31
можно нормально только для конкретных типов писать вроде Int -> Bool -> Int без параметров

не знаю, насчет идриса

должно быть можно

Евгений
07.06.2018
13:48:27
завтипов, линейных типов, уникальных типов, row типов
Уникальные делаются из линейных одним Maybe

Google
A64m
07.06.2018
13:48:48
не все так просто

Kirill
07.06.2018
13:49:10
A64m
07.06.2018
13:50:15
вроде там минимум переиспользован

фпкомплит открывала исходники большей части этой иде, но никто ее до юзабельного состояния так и не довел

A64m
07.06.2018
13:52:50
вроде вот она https://github.com/fpco/ide-backend

intero происходит от экспериментального форка ghci, ghci-ng или как он там назывался

Александр
07.06.2018
13:55:37
а для неофитов - чем они больны?
Там внутри куча ненужного хлама, который убирается инстансами монады и нижележащих классов, через которые выражается все, что нужно. Но монад в плюсах нет, концепты не принимают в стандарт, и разные люди в разных пропозалах продолжают тащить в язык всякие друг с другом слабо совместимые вещи. Сколько от ФП взяли, оно все кривое, неконсистентное. Генеричные лямбды почти неюзабельны, так как вывод типов постоянно ломается. Поэтому они ненастоящие, а темплитных лямбд не сделать.

Слава
07.06.2018
13:56:33


A64m
07.06.2018
13:57:04
так там же есть линковский синтаксис чтоб такую лесенку убрать

Слава
07.06.2018
13:57:38
так там же есть линковский синтаксис чтоб такую лесенку убрать
Я боюсь, что на том синтаксисе Resharper бы окончательно повесился

Александр
07.06.2018
13:57:39
Что-то жесть. В C# есть Linq с монадическим flatMap, можно было попробовать враппер какой-нибудь написать

Слава
07.06.2018
14:04:03
Что-то жесть. В C# есть Linq с монадическим flatMap, можно было попробовать враппер какой-нибудь написать
Ну вот - не написали. Тут уже я и прочие разработчики виноваты, признаю. Однако, от лесенок избавились куда проще - убрали это из проекта совсем. Слава богу, что я там больше не работаю.

Дмитрий
07.06.2018
14:04:51
Хорошо типизированное торнадо

Слава
07.06.2018
14:05:42
А где ты теперь работаешь?
Сейчас нигде - ну, почти. Есть некий интеграционный проект на амазоне, который надо писать, попутно делая вид, что знаешь амазоновские сервисы. Я и пишу.

Александр
07.06.2018
14:07:06
Ну, на самом деле, на плюсах монадический код писать так же приходится. Через цепочку байндов. Что поделать, do-нотация - это удел избранных языков. В C++ 30 какой-нибудь завезут, ага

Google
dimiii
07.06.2018
14:28:47
PureScript by Example by Phil Freeman - таким образом уже неактуальна?

Дмитрий
07.06.2018
14:29:15
Ну главы про эффекты можно пропускать

А так чего

Denis
07.06.2018
14:29:37
PureScript by Example by Phil Freeman - таким образом уже неактуальна?
чего? все ок, просто не надо квалифицировать лейблами эффекты

dimiii
07.06.2018
14:29:42
Ее мое, меня этим пурса и заинтересовала

Дмитрий
07.06.2018
14:30:01
Ну кто ж знал

Denis
07.06.2018
14:30:16
Ее мое, меня этим пурса и заинтересовала
они были не семантичные и небыло никакой алгебраической силы

Ее мое, меня этим пурса и заинтересовала
почитай тут https://github.com/slamdata/purescript-io#introduction

Дмитрий
07.06.2018
14:31:11
они были не семантичные и небыло никакой алгебраической силы
Алгебраическая сила — это произведение алгебраической массы на алгебраическое ускорение?

Roman
07.06.2018
14:31:54
запакованная в алгебраическую правду

dimiii
07.06.2018
14:40:08
они были не семантичные и небыло никакой алгебраической силы
Спасибо, поучительная история по функциональному дизайну. Вот бы кто-то, кто пишет книгу на подобную тему обсудил это развитие в отдельной главе.

Leonid
07.06.2018
15:23:02
напомните как в линзах сделать \a b -> a^.foo == b^.foo?

Denis
07.06.2018
15:23:36
(==) `on` (^.foo)

:D

Leonid
07.06.2018
15:23:55
там вроде был комбинатор

Yuriy
07.06.2018
15:26:28
что-нибудь с both, curry и uncurry

both . foo

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