Ayrat
ну там полезно разный экспириенс получить через страдания
TOV_MULTIMASSO
А, не, смотри-ка, сделали таки систему эффектов http://atnos-org.github.io/eff/org.atnos.site.Introduction.html
Denis
Hog
Denis
кстати там выше был срач про то что я гооврил про мелкомягких, я если что не хоче дальше срач продолжать(ибо это опять затянется) но когда я говорю про F# я не имею в виду начало (там понятно что рисерч) но текущую ситуацию когда почти все около-дотнетовское опенсорс - что есть большое благо
Doge
Hog
Hog
Denis
ну вот и я о том же
это вопрос personal preferences и какбэ каждый самоудовлетворяется как ему пожелается
Denis
вопрос следующий - кто более упоротый, скалисты или хаскелисты в своём типо-космосе ?
Denis
абстратные в вакууме
Hog
Hog
а комунити контрибушоны... ну мож. ты сам, к примеру, контрибутил?
Hog
нуок
TOV_MULTIMASSO
Скалисты воруют из хаскелля, в 90% случаев
TOV_MULTIMASSO
вопрос следующий - кто более упоротый, скалисты или хаскелисты в своём типо-космосе ?
Doge
Doge
Doge
(Потому что они там есть, в каком-то виде)
TOV_MULTIMASSO
Да и в Хаскелле есть синглтоны и DataKinds, через которые можно наколхозить
TOV_MULTIMASSO
Но обещают когда-нибудь завезти совсем dependent types
Ayrat
Кстати, тот же джун недавно предлагал завезти в проект рефайнд типы для валидации тех же жсонов.
Ayrat
Он настырный
Диёр
Ты не отправил его на хаскель?
Ayrat
Завтра на работу приду, покажу его код для валидации инта
Ayrat
Vladislav
Ayrat
Просто надо в нужную сторону направлять
Диёр
Ayrat
Короче, там 12 строк кода и это не фигурные скобки
Ayrat
Можете на досуге попробовать написать функцию которая принимает инт и возвращает Ок или текст ошибки если инт отрицательный.
Если сможете на 12 строк - кидайте
Ilya
Если по символу в строчку, то можно.
Ilya
Правда не скомпилится.
Ayrat
Doge
Ilya
А если меньше 12 будет, то что случится?
TOV_MULTIMASSO
Бан
Ayrat
Roman
Ayrat
Roman
Ayrat
Ayrat
Ну хорошо хоть не рекурсивную функцию
Диёр
можно делать запрос на микросервис, который проверяет что инт положительный
Roman
Ayrat
Диёр
TOV_MULTIMASSO
А, я понял, 10 строк - это реализация вычитания чисел Пеано
Ilya
Диёр
Denis
enum IntParsingError: Error {
case lowerThanZero(String)
}
func checkIfIntIsBelowZero(i: Int) -> Result<Int,IntParsingError> {
let error = """
Integer
is below
zero
"""
let result: Result<Int, IntParsingError>
if (i < 0) {
result = .failure(IntParsingError.lowerThanZero(error))
} else {
result = .success(i)
}
return result
}
Denis
17 строк лол
Denis
угадай язык
Ayrat
Denis
Неа
Ayrat
Гошечка?
Denis
Неа
Ayrat
Да бля
Ilya
Ну тут читерство с сообщением.
Диёр
свифт
Denis
enum IntParsingError: Error {
case lowerThanZero(String)
}
func checkIfIntIsBelowZero(i: Int) -> Result<Int,IntParsingError> {
let error = "int < 0"
let result: Result<Int, IntParsingError>
if (i < 0) {
result = .failure(IntParsingError.lowerThanZero(error))
} else {
result = .success(i)
}
return result
}
без читерства 13
Ayrat
Denis
мб еще проверятт на оверфлоу
Denis
Диёр
мы на старой работе играли в пидора дня
если бы здесь играли в индуса месяца, то ты бы победил
Denis
🎉 ура
TOV_MULTIMASSO
Ilya
Можно заинлайнить сообщение. А ещё в свифте наверняка есть if-else экспрешен, то есть сразу можно делать return.
Denis
Тут цель то в другом была
Ilya
Тоже верно.
x
я весь мозг уже сломал. какой тут принцип?
Ilya
Ну раз say, то с произношением что-то.
Denis
Ilya
И всё во множественном числе. Там же были какие-то правила про чтение s/es?