Обновить
59

Пользователь

22
Подписчики
Отправить сообщение
Я, конечно, не специалист по терминам, но, во-первых, он не называл себя профессионалом, он написал, что профессионально работает 5 лет, что значит работает по профессии, а во-вторых, как пишет википедия, многие путают профессионала с мастером.
Сильная типизация, лёгкие потоки, иммутабельность, чистота, REPL.
По количеству статей судят об интеллекте носителей? Можно было бы понять «при прочих равных», но тут прочих равных-то нет, условия изначально везде разные.
Раскройте секрет, пожалуйста
Фатальный недостаток, это «сделал не я». А про то, как реализовано, вспоминается притча:

Садовник обращается к писателю:
— Знаешь, у меня тут есть задумка для романа, но я-то не писатель, всё равно ничего не получится, а у тебя бы вышел отличный роман
На что писатель, доедая яблоко, отвечает:
— У меня есть несколько яблоневых косточек, мне-то они ни к чему, а у тебя бы вышел отличный яблоневый сад
Мне неприятно видеть, как всех мажут одним дёгтем, даже если это шутка.
Мониторить чат через его последующий анализ — это одно, а вот самому играть в игрушки — это другое.
Ну это и не противоречит, ведь где как. Я просто уточнил, что в Agda, Coq, а также в Homotopy type theory таки с нуля, а это вроде как наиболее современное в программировании и математике.
Peano axioms — 0 is a natural number.
Аскиомы Пеано — 1 является натуральным числом

В Agda, Coq и Idris натуральные тоже начинаются с 0.
Тогда надо FFI запрещать, там и не такое можно сделать.
Какой библиотеки? base?
Каким образом, если конструктор RealWorld не экспортируется?
Дык вот же
newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #))
Многое зависит от ребёнка. Если ребёнок выразит желание научиться — научу.
"_" — означает — тут стоит параметр, но нам не нужно её значение, нам пофиг на него, и оно вычислено не будет


Оно не будет вычислено, даже буде там x написан. Список будет приведён к WHNF, т.е. вычислит, что он не пустой, а с головой и хвостом, но не вычислит ни саму голову, ни хвост:

test = case (undefined:undefined) of
  [] -> False
  (x:y) -> True


Результат: True
Инкапсуляция — средство самоограничения, созданное не для того, чтобы проще было написать правильный код, а для того, чтобы усложнить написание сбойного, но многие этого не понимают

Давайте будем последовательными, состояние — это тоже сложно.
Явная чистота, исключающая состояние, — тоже средство самоограничения, только идёт в разрез с состоянием ООП. А инкапсуляция делается просто — экспортируются из модуля только публичные функции, а тип данных экспортируется без возможности его конструировать вручную.

А можно завернуть счастье в Erlang-процесс и посылать ему сообщения. Аналогично можно сделать и в Haskell, Scala. Но ООП это будет в Smalltalk'овском понимании, а не как в C++/C#/Java/etc.
Ну и по этому поводу могу добавить (несколько утрированно, но всё же), что да, забабахать глобальную переменную проще, чем обдумывать, как бы там воткнуть общее состояние, вставить IO, где придётся, тоже проще, чем думать, как бы разделить IO и чистые функции, но вот недостаток ли то, что глобальные переменные с IO просто так, где попало, не вставить, это ещё большой вопрос. Есть плюсы и минусы, конечно.
Что считать серьёзным? Участвовал в проекте со snap-framework + postgresql + redis. Работа с состоянием проблемой не была, на моей памяти, ни разу.

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность