Один из главных отососов в современных языках программирования - это отсутсвие во многих из них поддержки keyword arguments.
Эта хуйня существенно повышает читаемость и, как следствие, качество кода.
В некоторых ЯП, в которых есть встроеные литералы для словарей проблема может решаться ими.
В остальных - это мрак, отсос и говно.
Как ни странно, божественная статическая типизация тут не роляет совершенно. Ведь очень легко перепутать аргументы с одинаковыми типами местами и потом долго ломать голову какого Х не работает. В случае keyword args достаточно поверхностного осмотра кода, чтобы понять что не так.
В идеальном строгом статически типизированном коде аргументов с одинаковыми типами не должно быть, очевидно же.
@l29ah если конструктор ADT принимает аргументы с одинаковыми типами тыо ты back at the square one
даже в петушоне есть.
@n на "не языке программирования" можно написать программу?
@n что такое "не программа" и как отличить ее от программы?
@l29ah охуенно, плодить record-типы под каждый кусок говна, который можно вызвать.
бурные овации в зале.
@l29ah что такое (**) ?
@l29ah нет, мне похуй на мюслекалькуляторы.
вот пример из реально жизни:
krkm> я щас 4 часа дебажил жаваскрипты, а оказалось я порядок аргументов в
колбеке своей же поеботы перепуал. мам, я достаточно опущенный?
@n вебморда гмыла работает
@l29ah > > жаваскрипты
предложи клиент-сайд язык для веба
пук
триплвин
в JS нет именованых аргументов
@l29ah покажи примеры клиентсайд веб приложений, исполненых на хаскеле
пук
погугли, долбоеб
@n не перескакивай.
давай список багов гмыла, которые делают его неюзабельным.
@ninesigns Elm обв
@anonymous норм
@l29ah burden of proof. съеби, ты бесполезен.
@mugiseyebrows аргумент уровня "долбоеб будет писать на любом языке как на фортране"
@mugiseyebrows сокращать объем кода надо правильными абосракциями (например макросами), а не экономить на спичках типа имен переменных или вызовых функций.
@anonymous то есть, с noscript будет работать?
@anonymous oche tolsto
@je > по-нашенски
"вы" - это кто?
Один из главных отососов в современных языках программирования - это идиоты, на них программирующие.
@n на bnw есть хоть один человек, считающий что твое мнение о языках программирования заслуживает хоть капли внимания?
@kuzy000 Вы, наверное, из России?
@n > подменил понятия "не работает" -> "жрет ресурсы"
мысленно поссал тебе в ебло
@l29ah у тебя в примере не ADT.
кстати в хаскеле можно на ходу передать в функцию свой record type?
@kuzy000 20 fps для почтового клиента - приемлемо
@l29ah func ({huy = 10, pizda = "pizda"})
@l29ah хуйта.
зачем Foo писать если по сигнатуре и так понятно?
@l29ah для record types может быть несколько конструкторов? нахуя?
@l29ah ясно понятно, короче в хаскель хуже даже питошона в том что касается keyword arguments
@ninesigns можно сахар на TH наговнить наверное :3
@l29ah как мы видим, твоя статическая типизация никаким хуем не позволила написать так:
func ({hui=10, pizda=11})
если я хочу писать в таком стиле то мне на каждую функцию придется высирать свой record type и указывать его type constructor в месте выхова.
@komar комар будет рекомендовать ботинки из декатлона для высокогорных восхождений
@komar ну бля сорь, скриптопараша тоже нужна, иначе все давно бы уже обмазывались одним единственным божественным хаскелем
@ninesigns если я хочу писать в таком стиле на петушоне, мне надо на каждую функцию высирать def func(hui, pizda)
обмажься cpp если лень буквы набирать.
@l29ah Ты расширение какое-то заюзал?
@l29ah А называется как?
@l29ah Спасибо.
https://eb.host.cs.st-andrews.ac.uk/drafts/eff-tutorial.pdf#31
game at first, any incorrect assumption was caught as a type error. The following errors were caught during development:
тред не читал (и не собираюсь); ссал в карман ОПу-долбоебу за неуважение к науке
@ulidtko поясните свой пук, пожалуйста.
@komar это Idris
@ulidtko ну еба, newtype'ишь свои инты и профит. правда, придется прописывать для этих типов небо и аллаха.
@ninesigns ты слепой блядь или что?
бумагу открой, там Эдвин Брейди сделал всё по науке, именно так как ты просил (перепутал переменные — ошибка типов, поменял как правильно — ОК)
пересказывать весь контент оттуда пусть кто-то другой станет
@ninesigns
case g of
Z => Lost
(S k) => game
здесь изначально было
case w of ...
, и это ошибка. Иg
, иw
имеют типNat
.@lexszero не, это хуйня. Придётся синтаксический мёд лить бочками, чтобы хоть кто-то так делал.
Алсо жажду спалить годноту (всего ★119), но оно канеш так себе, на любителя.
@n слабо прикрытая попытка перевести ветку в привычное поле хрустодемагогии. незачет // пошел нахуй