Size: a a a

2021 March 01

А

Алексей in rust_offtopic
а это эпловская хрень какая-то
источник

OA

Oleg Andreev in rust_offtopic
Алексей
никогда не слышал об этом переворачивателе мира
Айфон был такой
источник

А

Алексей in rust_offtopic
ну только вот эппловский objective c пошёл по пути смолтока
источник

SP

Stanislav Popov in rust_offtopic
Egor Pugin
а есть пример, как на фп будет выглядеть - открыть бд, исполнить sql?
db = open()
res = db.get('sql')
источник

H

Hirrolot in rust_offtopic
Stanislav Popov
я понял почему эти обяснения не работают. ты математик. ты выводишь из общего частное. довольно много кодерков наоборот. им надо показать то что они уме умеют  и обобщить в единую картину
кодерки в отличие от математиков привыкли мыслить операционно, а не соотношениями. вот в чём проблема, я сам таким же был
источник

EP

Egor Pugin in rust_offtopic
Stanislav Popov
db = open()
res = db.get('sql')
ну с виду мало чем отличается
источник

А

Алексей in rust_offtopic
и то сейчас вроде как все самые модные яблочнные пацаны на swift переходят
источник

s

suhr in rust_offtopic
Oleg Andreev
в ООП "все - объект" и то более понятно. Потому что сразу понятно что никакой синтаксис кроме "послать мессаж" не нужен. Но это не сразу объясняет в чем прелесть.
Смотри, вот выражению a mul (b mul (c mul d)) соответствует такое дерево:

  mul
a     mul
  b      mul
      c      d
источник

H

Hirrolot in rust_offtopic
Hirrolot
кодерки в отличие от математиков привыкли мыслить операционно, а не соотношениями. вот в чём проблема, я сам таким же был
поэтому мув семантика, вот это всё легко даётся. это операционно
источник

EP

Egor Pugin in rust_offtopic
Egor Pugin
ну с виду мало чем отличается
может, мы и так на фп пишем?
источник

s

suhr in rust_offtopic
Переставив скобки, мы можем получить такое:

       mul
 mul       mul
a     b   c     d
источник

А

Алексей in rust_offtopic
Egor Pugin
ну с виду мало чем отличается
это императивный код с сайдэффектами, он и в чистом хаскеле будет мало чем отличаться
источник

s

suhr in rust_offtopic
То есть (a mul b) mul (c mul d).
источник

SP

Stanislav Popov in rust_offtopic
Алексей
это императивный код с сайдэффектами, он и в чистом хаскеле будет мало чем отличаться
нам не важны его сайд эффекты
источник

EP

Egor Pugin in rust_offtopic
Алексей
это императивный код с сайдэффектами, он и в чистом хаскеле будет мало чем отличаться
а в чём идея тогда
источник

s

suhr in rust_offtopic
Суть в том, что (a mul b) и (c mul d) мы можем вычислять независимо, например, параллельно.
источник

SP

Stanislav Popov in rust_offtopic
Egor Pugin
а в чём идея тогда
идея в том что с db мы можем делать что хотим и его стейт и поведение не зависит от того в каком месте программы мы с ним чтото делаем.

"не фп" версия бы кидала десяток эксепшенов на тему ой, ты уже кверил и недокверил, ой  я не рекавернулась от предыдущего состояния, и тд
источник

T1

Tony 123 in rust_offtopic
Hirrolot
т.е. подход конечно должен быть не революционным как у хаскелля, а эволюционным (скала)
развернёшь мысль?
источник

s

suhr in rust_offtopic
Более того, в случае a = b = c = d, нам достаточно вычислить лишь один из листов дерева.
источник

EP

Egor Pugin in rust_offtopic
Stanislav Popov
идея в том что с db мы можем делать что хотим и его стейт и поведение не зависит от того в каком месте программы мы с ним чтото делаем.

"не фп" версия бы кидала десяток эксепшенов на тему ой, ты уже кверил и недокверил, ой  я не рекавернулась от предыдущего состояния, и тд
не понял, бд одна, она и тут может поломаться, и там
источник