@haskellru

Страница 1285 из 1551
Yuriy
19.06.2018
10:30:02
нет, нельзя
Exist доказывает, что можно

A64m
19.06.2018
10:30:16
нет, не доказывает

Google
A64m
19.06.2018
10:31:39
вот для сишарпа я доказал в одну строчку, вот и вы попробуйте докажите свои утверждения

тем временем решение о том, чтоб не ломать зиллион пакетов с дженериками в 8.6 проходит "рулевой" процесс, пока что на гитхабе.

A64m
19.06.2018
11:12:36
ну в том и дело, что переведенное на хаскель утверждение f это Functor абсурдно, его нельзя сформулировать, кайнды не сходятся, по сравнению с языком где так и есть и все работает

Yuuri
19.06.2018
11:18:20
Ага, типы не налазят!

Dmitry
19.06.2018
11:42:39
A64m
19.06.2018
11:44:56
я плохо знаю сишарп. что здесь написано? в частности, как определено С? что именно это доказывает?
написано что параметр типа T ограничен констрейнтом C, но мы не просто можем использовать методы C для работы с T, мы можем скастить T к C т.е. это язык в котором полиморфизм ограничивается тем, с чем есть отношение подтипирования. хаскель не такой язык, там полиморфизм ограничивается не супертипом

Ilya
19.06.2018
11:49:51
Завтра в breaking news "Выяснилось, что IO — это не монада. Хаскелисты присматриваются к си-шарп"

Mariia
19.06.2018
11:54:13
я плохо знаю сишарп. что здесь написано? в частности, как определено С? что именно это доказывает?
там написано что в генерике т обязательно наследуется от ц. это своего рода ограничение

Yuriy
19.06.2018
11:57:23
по-моему, тайпклассами можно покрыть и ограничение, накладываемое супертипом, и многое другое

Google
Yuriy
19.06.2018
11:59:16
это не то
почему?

A64m
19.06.2018
11:59:36
потому что C это не Exists C

Yuriy
19.06.2018
11:59:54
A64m
19.06.2018
12:01:18
для начала в кайндах

Yuriy
19.06.2018
12:01:21
потому что C это не Exists C
можно сказать, что в сишарпе передача по ссылке на интерфейс, а не объекта интерфейса, так что с одной стороны будет Ref C можно переименовать Exists в Ref, тогда с другой стороны будет тоже Ref C

для начала в кайндах
чтобы говорить о кайндах, сначала покажите мне тайпклассы в Сишарпе и подтипы в Хаскеле

нельзя сравнивать кайнды между языками

A64m
19.06.2018
12:02:56
я сравниваю кайнды Constraint и Type в одном языке

Yuriy
19.06.2018
12:03:01
я сравниваю возможности, они примерно одинаковые

ссылка на интерфейс — тоже тип

A64m
19.06.2018
12:04:15
если сравнивать возможности, то у хаскеля они намного больше, речь не про возможности, а про то является ли ограничение тем, что оно ограничивает

Yuriy
19.06.2018
12:04:55
если философствовать, то роза является только розой

A64m
19.06.2018
12:05:12
Exists C :: Type
правильно, а C :: Type -> Constraint

Yuriy
19.06.2018
12:05:31
а если писать код, то можно работать с T, обращаясь к нему только по констрэйнту

правильно, а C :: Type -> Constraint
это ничему не противоречит

A64m
19.06.2018
12:06:04
если философствовать, то роза является только розой
философствуете вы, я говорю о том, эквивалентность чего можно или нельзя доказать в языке

это ничему не противоречит
это значит что вы не сконструируете доказательство C :~: Exists C на чем разговор можно закончить

Google
A64m
19.06.2018
12:08:14
т.е. вы не утверждаете, что C это то Exists C?

Yuriy
19.06.2018
12:08:31
я утверждаю, что для программиста между C и Exists C нет принципиальной разницы

Yuriy
19.06.2018
12:09:14
наверное, можно даже написать изоморфизм

A64m
19.06.2018
12:09:40
я утверждаю, что для программиста между C и Exists C нет принципиальной разницы
для какого-то программиста, может и не будет, но можно всяких программстов найти, которые между много чем разницы не увидят

Yuriy
19.06.2018
12:09:41
про ссылку вообще не понятно
какая часть непонятна?

A64m
19.06.2018
12:09:53
да никакая, если честно

kana
19.06.2018
12:10:28
а что сказать про нульарные констрейты (ну в смысле без привызяки к типам вообще)?

A64m
19.06.2018
12:10:48
что?

Yuriy
19.06.2018
12:21:23
это значит что вы не сконструируете доказательство C :~: Exists C на чем разговор можно закончить
{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE PolyKinds #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} module Exists where import Data.Type.Equality data Exists c where Exists :: c a => a -> Exists c class (To a ~ b, From b ~ a) => Iso (a :: ka) (b :: kb) where type To a :: kb type From b :: ka instance Iso c (Exists c) where type To c = Exists c type From (Exists c) = c

A64m
19.06.2018
12:26:35
и дальше что?

Yuriy
19.06.2018
12:59:05
и дальше что?
это вы хотели формального доказательства

Yuriy
19.06.2018
13:01:00
а я всего лишь утверждал, что можно решать одинаковые задачи

A64m
19.06.2018
13:05:48
каста что-то все не видно

Yuriy
19.06.2018
13:38:52
суть в том, что каст не нужен в Хаскелле

каст — ОО инструмент

A64m
19.06.2018
13:39:34
суть в том что не возможен

Yuriy
19.06.2018
13:41:00
это плохо?

Google
A64m
19.06.2018
13:44:36
это хорошо

Alexander
19.06.2018
14:33:50
Для любого нормального программиста, в т.ч. хаскелиста (такие тоже бывают как это ни странно) код на Го читается более чем легко, а на хаскиле сложно

Alister
19.06.2018
14:34:25
код на питоне читается еще лучше

но это не повод переходить на питон

Pineapple
19.06.2018
14:36:20
Ну да. Каждая отдельная строчка го — легко

A64m
19.06.2018
14:36:34
с каждым днем код на го все более легче читается, и сейчас уже читается более легче, чем легко

Admin
ERROR: S client not available

kana
19.06.2018
14:42:36
го компилируемый же

Алексей
19.06.2018
14:42:42
Andrei
19.06.2018
14:44:09
го компилируемый же
всё равно код на нём рефакторится переписыванием заново.

Евгений
19.06.2018
14:44:34
kana
19.06.2018
14:45:23
если компилируемый язык считается скриптовым, то от классификации смысла уже нет попросту

Евгений
19.06.2018
14:45:39
Один фиг питон с указателями. Это я как дивапс скажу, у меня в отрасли только го и питон

По мне так скриптовый значит, что на нём только пишут и читают код. А если нужно чо-то поправить, то переписывают заново

Можете другой термин придумать

Yuuri
19.06.2018
14:48:14
если компилируемый язык считается скриптовым, то от классификации смысла уже нет попросту
Аккуратней, а то некоторые тут скриптовые языки даже за языки не считают

Евгений
19.06.2018
14:49:20
"Является ли баш языком" филосораптор.пнг

Google
Alister
19.06.2018
14:49:46
cshell

Алексей
19.06.2018
14:50:09
По мне так скриптовый значит, что на нём только пишут и читают код. А если нужно чо-то поправить, то переписывают заново
ну это же бред, я даже таких языков и не вспомню, которые прям требуют переписывать всё заново когда нужно что-то поправить

A64m
19.06.2018
14:50:17
Для любого нормального программиста, в т.ч. хаскелиста (такие тоже бывают как это ни странно) очевидно, что скрипты вообще языками не являются

Александр
19.06.2018
14:50:25
"Является ли баш языком" филосораптор.пнг
Зануда сообщает, что если есть граматика, то есть и язык

Yuuri
19.06.2018
14:50:36
"Вообще, почти все - это язык, такая вот загогулина получается" (луговский.тхт)

A64m
19.06.2018
14:51:03
но не все язык программирования

Alexander
19.06.2018
14:51:10
хаскель - про ленивые вычисления и автоматическое распараллеливание. если говорить о технологиях, а не о синтаксисе

Yuuri
19.06.2018
14:51:10
Зануда сообщает, что если есть граматика, то есть и язык
Более того, у пёрла грамматики нет, а язык есть!

Alexander
19.06.2018
14:51:33
хаскель - про ленивые вычисления и автоматическое распараллеливание. если говорить о технологиях, а не о синтаксисе
вообще всегда думал, что хаскель это про систему типов не из *опы и адекватные абстракции

A64m
19.06.2018
14:51:42
есть же автомат который ее разбирает, так что значит есть

Александр
19.06.2018
14:51:50
Более того, у пёрла грамматики нет, а язык есть!
Ну, это не необходимое условие. Хотя "у перла грамматики нет" - это я бы попросил уточнить

Евгений
19.06.2018
14:51:59
Вообще я не понимаю чо обсуждать содержимое го-чата

A64m
19.06.2018
14:52:24
> автоматическое распараллеливание ХАХАХАХАХА НЕТ

Yuuri
19.06.2018
14:52:35
> Ну, это не необходимое условие. Так я и не в возражение, а в дополнение :)

Alexander
19.06.2018
14:52:55
просто тут ничего не обсуждают, а тут релевантная хаскелю тема

A64m
19.06.2018
14:52:57
ну, при очень большом желании можно посчитать что ApplicativeDo автоматически распараллеливает

Александр
19.06.2018
14:55:14
Наброс "динамические скрипты - не языки программирования" какой-то скучный, и генерирует скучные обсуждения

Евгений
19.06.2018
14:58:35
Как назвать пакет, организующий совместимость со свежим time (1.9), если time-compat уже забито?

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