Advertisement
roman_gemini

Untitled

Dec 12th, 2017
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.99 KB | None | 0 0
  1. Про поедателя пельменей
  2.  
  3. roman_gemini [10:18 AM]
  4. @point212 помнишь reduce?
  5.  
  6.  
  7. point212 [10:18 AM]
  8. ну вообще да
  9.  
  10.  
  11. roman_gemini
  12. [10:19 AM]
  13. у тебя есть массив чисел. надо найти произведение этих чисел. как ты это сделаешь?
  14.  
  15.  
  16. point212 [10:19 AM]
  17. я тут уже от всех жду вопросов с подвохом )
  18.  
  19.  
  20. roman_gemini
  21. [10:20 AM]
  22. не
  23.  
  24. point212 [10:20 AM]
  25. через reduce? `array.reduce( (acc, element) => acc * element );` примерно так (edited)
  26.  
  27. roman_gemini
  28. [10:21 AM]
  29. а чем ты инициализируешь аккумулятор в этом случае? допустим что .reduce требует второй агрумент обязательно указывать в качестве начального состояния аккумулятора
  30.  
  31.  
  32. point212 [10:22 AM]
  33. кстати интересный вопрос. я даже не задумывался, а чем он инициализируется..
  34.  
  35.  
  36.  
  37. roman_gemini
  38. [10:23 AM]
  39. вот)
  40.  
  41.  
  42. [10:23]
  43. он инициализируется нейтральным элементом
  44.  
  45.  
  46. vsc [10:23 AM]
  47. Посоветуйте плиз что-то по написанию js кода в плане стиля. Что-то где есть ответы на вопросы вроде: когда использовать тернарный оператор, а когда нет, или когда использовать цепочки if/else, а когда switch, итд. Что-то вроде такого: https://developer.mozilla.org/ru/docs/Developer_Guide/Coding_Style
  48. Mozilla Developer Network
  49. Coding Style
  50. Этот документ объяcняет основные стили и шаблоны, которые используются в коде Mozilla. Новый код должен соответствовать этим нормам, чтобы было проще поддерживать существующий код. Конечно, для каждого правила возможно исключение, но тем не менее важно знать эти правила!
  51.  
  52.  
  53.  
  54. roman_gemini [10:23 AM]
  55. чему он равен - зависит от бинарной операции
  56.  
  57.  
  58. [10:23]
  59. подумай
  60.  
  61.  
  62. [10:24]
  63. x * 1 * 2 * 3 = 1 * 2 * 3
  64.  
  65. [10:24]
  66. чему равен x?
  67.  
  68.  
  69. point212 [10:24 AM]
  70. 1
  71.  
  72.  
  73. roman_gemini
  74. [10:24 AM]
  75. тада
  76.  
  77.  
  78. [10:24]
  79. вот тебе первый моноид
  80.  
  81.  
  82. [10:24]
  83. 1 - нейтральный элемент
  84.  
  85.  
  86. [10:24]
  87. а если надо сумму посчитать?
  88.  
  89. [10:25]
  90. чисел
  91.  
  92. point212 [10:25 AM]
  93. 0 видимо будет
  94.  
  95. roman_gemini
  96. [10:25 AM]
  97. ага
  98.  
  99. [10:25]
  100. а если ты обходишь массив и результатом тоже должен быть массив
  101.  
  102. [10:25]
  103. что нейтральный эллемент?
  104.  
  105. point212 [10:25 AM]
  106. пустой массив видимо
  107.  
  108.  
  109. roman_gemini
  110. [10:25 AM]
  111. верно)
  112.  
  113.  
  114. [10:26]
  115. теперь прочитай первые два абзаца в википедии в контексте этого
  116.  
  117. [10:26]
  118. )
  119.  
  120. point212 [10:26 AM]
  121. ОКе. Сейчас пойду прочитаю.
  122.  
  123. [10:26]
  124. Надо только пельмени выключить. А то они судя по запаху перестали вариться и начали жариться
  125.  
  126. Denis Strelkov [10:29 AM]
  127. Курс прототипы очень мощно начинается. Вот это задания. :grimacing:
  128.  
  129. point212 [10:34 AM]
  130. @roman_gemini первый абзац понял. второй не очень. ЧТо значит "моноиды обобщают свойства композиции функций". ЗЫ нас не погонят отсюда? может в #computer_science ?
  131.  
  132. roman_gemini [10:34 AM]
  133. окей. только первый абзац тогда. дальше думай сам, а я завтракать пошел)
  134.  
  135. point212 [10:35 AM]
  136. Спасибо.
  137.  
  138.  
  139. ivana [10:35 AM]
  140. А про моноиды после ~энциклопедии юных сурков~ википедии можно статью Дэна Пипони почитать здесь http://fprog.ru/2009/issue1/practice-fp-1-screen.pdf, потом еще море материалов на том же Хабре и на закуску мои потуги https://habrahabr.ru/post/328110/ (edited)
  141.  
  142. point212 [10:35 AM]
  143. Попробую дотумкать
  144.  
  145. [10:35]
  146. Спасибо. Почитаю.
  147.  
  148. roman_gemini
  149. [10:36 AM]
  150. да, кстати
  151.  
  152. roman_gemini [10:36 AM]
  153. если имеем композицию функций - что является нейтральным элементом? (edited)
  154. 2 replies Last reply today at 10:42 AM View thread
  155.  
  156. ivana [10:38 AM]
  157. сакраментальный вопрос вчерашней ночи (edited)
  158.  
  159. [10:38]
  160. но надо узреть там моноид, да :slightly_smiling_face:
  161.  
  162. Denis Strelkov [10:39 AM]
  163. Кто читал совершенный код? Когда наступит понимание того о чем там речь, если вести параллель с хекслетом? Сейчас я только начал курс прототипы, а в книге во всю идет речь про приватные методы в классах и наследование, соответственно мне пока ничего не понятно. (edited)
  164.  
  165. ivana [10:39 AM]
  166. этак мы глядишь и до моноидов в категории эндофункторов (С) дойдем, раз уже на эндоморфизмы под композицией покушаемся :slightly_smiling_face: (edited)
  167.  
  168. roman_gemini
  169. [10:39 AM]
  170. кто не писал своих лиспов - тем трудно понять )))
  171.  
  172. point212 [10:41 AM]
  173. Композиция функций, это в смысле foo ( bar () ) ?
  174. Я что-то не очень представляю себе как там может возникнуть ситуация с аккумулятором, подобная вышеописанной.
  175. Но наверное нейтральный элемент будет id = x => x; В смысле фукнция, которая возвращает что ей передано
  176. Roman Lakhtadyr
  177. если имеем композицию функций - что является нейтральным элементом?
  178. Thread in #generalToday at 10:36 AM
  179.  
  180. roman_gemini
  181. [10:42 AM]
  182. верно)
  183.  
  184. ivana [10:42 AM]
  185. вот варит человек пельмени, и не видит в этом моноида... а он очевиден - нейтральный элемент пустой пельмень, операция - склейка пельменей в комок
  186.  
  187. roman_gemini
  188. [10:43 AM]
  189. :smile:
  190.  
  191. ivana [10:44 AM]
  192. вот пишет человек сообщение в чат и не видит в этом моноида - а нейтральный элемент - промолчать, операция - добавка сообщения в общий список
  193.  
  194.  
  195. kirill.mokevnin [10:44 AM]
  196. `foo ( bar () ) ` это не композиция функций
  197. 4 replies Last reply today at 10:51 AM View thread
  198.  
  199. mattspr [10:46 AM]
  200. почему?
  201.  
  202. noclue
  203. [10:46 AM]
  204. там вызов, изз за этого?
  205.  
  206. ivana [10:46 AM]
  207. вот живет человек и не видит в своей жизни моноида. а нейльтральный элемент - бездарно прожитый день, операция - аддитивное накомпление опыта
  208.  
  209. [10:47]
  210. не композиция - потому что аргумент не протаскивается
  211.  
  212. roman_gemini [10:47 AM]
  213. и да, вызов
  214.  
  215. ivana [10:47 AM]
  216. нужна труба, или пайп, как Кирилл говорит
  217.  
  218. point212 [10:48 AM]
  219. Ээээ...
  220.  
  221. mattspr [10:48 AM]
  222. не понятно
  223.  
  224. point212 [10:48 AM]
  225. Ну я как знал записал
  226.  
  227. ivana [10:48 AM]
  228. Что тут может быть непонятного?
  229.  
  230. point212 [10:48 AM]
  231. А какая разница foo.bar или foo ( bar )
  232.  
  233. mattspr [10:48 AM]
  234. `Компози́ция фу́нкций— это применение одной функции к результату другой.` так?
  235.  
  236. ivana [10:48 AM]
  237. нет
  238.  
  239. [10:49]
  240. это бинарный функциональный оператор
  241.  
  242. roman_gemini [10:49 AM]
  243. вот так сварит человек пельмени и познает моноид
  244.  
  245. point212 [10:51 AM]
  246. Пока не ясно что это даёт. Но интересно ж, блин.
  247.  
  248. ivana [10:52 AM]
  249. Законы дает и следствия из них
  250.  
  251. Vladimir Gordeev
  252. [10:52 AM]
  253. bar :: A -> B
  254. foo :: B -> C
  255. g :: A -> C
  256. g(x) = foo(bar(x)) (edited)
  257.  
  258. point212 [10:52 AM]
  259. Ну так всё таки, в более практическом смысле нежели наука чем является композиция функций?
  260.  
  261. Vladimir Gordeev
  262. [10:52 AM]
  263. чому не композиция?
  264.  
  265. ivana [10:52 AM]
  266. и Абстрагирование кучи разных операций под одну крышу
  267.  
  268. [10:52]
  269. вот не надо потом иксы дописывать после вопроса
  270.  
  271. Vladimir Gordeev [10:53 AM]
  272. ага, окей
  273.  
  274. ivana [10:53 AM]
  275. вначале их не було
  276.  
  277. Vladimir Gordeev [10:53 AM]
  278. ну да, дописал (edited)
  279.  
  280. [10:53]
  281. иначе выражение смысла не имееет
  282.  
  283. ivana [10:53 AM]
  284. и еще - что являетстя аргументами и результатом композиции?
  285.  
  286. [10:53]
  287. иначе - имеет, но другой
  288.  
  289. Vladimir Gordeev [10:53 AM]
  290. томущо bar() вообще не функция тогда
  291.  
  292. ivana [10:53 AM]
  293. нульарный функции не видел?
  294.  
  295. Vladimir Gordeev [10:53 AM]
  296. окей, константа
  297.  
  298. ivana [10:54 AM]
  299. тяжело вам в Эрланге :slightly_smiling_face:
  300.  
  301. [10:54]
  302. >и еще - что являетстя аргументами и результатом композиции?
  303.  
  304. [10:55]
  305. можно начать попроще - что является аргументами и результатом сложения?
  306.  
  307. Vladimir Gordeev [10:56 AM]
  308. и вот хрен проссышь, говорит он про числа, или с подъёбом про группы.
  309.  
  310. ivana [10:57 AM]
  311. я хочу чтобы дошло, что такое "бинарная операция на множестве"
  312.  
  313. [10:57]
  314. это тривиальное понятие, которое не видят как оказалось в композиции функций
  315.  
  316. [10:58]
  317. что такое вообще замкнутая на множестве операция (по определению операции а не отображения)
  318.  
  319. k1s [10:59 AM]
  320. моноид это всего лишь полугруппа с единицей, устроили тут
  321.  
  322. mattspr [10:59 AM]
  323. результат операции на множестве пренадлежит этому множетсу?
  324.  
  325. ivana [10:59 AM]
  326. бинго
  327.  
  328. point212 [10:59 AM]
  329. Погоди... композицией функций является тоже функцией?
  330.  
  331.  
  332. ivana [10:59 AM]
  333. прикинь!
  334.  
  335. [10:59]
  336. день открытий прям
  337.  
  338. point212 [11:00 AM]
  339. Хм... ну в принципе логично. Если не начинать вычислять сразу же. А как в математике на листочке писать формулы. То это все функции
  340.  
  341. mattspr [11:00 AM]
  342. во теперь понятно
  343.  
  344. ivana [11:00 AM]
  345. вчерашний товарищ погорел именно на том ,что тоже порывался все сразу вычислять
  346.  
  347. [11:01]
  348. теперь понимай слова "бинарный ассоциативный функциональный оператор"
  349.  
  350. point212 [11:02 AM]
  351. Слишком резкий переход :slightly_smiling_face: Много терминов, значение которых надо четко знать.
  352. Бинарный - значит у него два эээ... аргумента? ассоциативный - это значит что порядок аргументов важен. и от их перестановки меняется смысл.
  353. функциональный - ??? не знаю.
  354.  
  355. ivana [11:03 AM]
  356. да, слова путать не надо. и коммутативность от ассоциативности надо отличать
  357.  
  358. [11:03]
  359. но тут осталось чуть-чуть подумать, и первый шажок к пельменям как моноиду будет сделан
  360.  
  361. point212 [11:03 AM]
  362. В последний раз я чётко разбирался в этом в ПТУ на дискретной математике в 2005 году.
  363.  
  364. ivana [11:04 AM]
  365. но сейчас ты по своей воле в это полез - будь добр рефрешь знания
  366.  
  367. point212 [11:04 AM]
  368. :slightly_smiling_face:
  369.  
  370. [11:05]
  371. Я честно говоря не знаю что дальше делать. Ну если только не бросить беседу, и не полезть читать статьи.
  372. Гадать разве что.
  373.  
  374. ivana [11:06 AM]
  375. Это надо было сделать еще вчера - читать статьи, а не писатиь свои далекие от истины догадки
  376.  
  377. roman_gemini [11:06 AM]
  378. гадать? так ты еще не понял?
  379.  
  380. point212 [11:07 AM]
  381. Ну выходит что не понял
  382.  
  383. ivana [11:07 AM]
  384. на морковках и числах все понимают, а до абстракции на любые объекты нужно чуть воображения :slightly_smiling_face:
  385.  
  386. roman_gemini
  387. [11:09 AM]
  388. @point212 что не понял? ассоциативность или моноид?
  389.  
  390. point212 [11:09 AM]
  391. "бинарный ассоциативный функциональный оператор"
  392.  
  393. [11:09]
  394. функциональный не понял
  395.  
  396. [11:10]
  397. Что это значит?
  398.  
  399. [11:10]
  400. В результате применения мы получаем новый элемент?
  401.  
  402. ivana [11:10 AM]
  403. ассоциативный понять сложнее функционального :slightly_smiling_face: хотя тоже просто :slightly_smiling_face:
  404.  
  405. point212 [11:10 AM]
  406. Я ж говорю. Я могу только гадать
  407.  
  408. ivana [11:10 AM]
  409. Читать статьи не можешь?
  410.  
  411. point212 [11:10 AM]
  412. Ассоциативности и коммуникативности меня тоже научили. На простых примерах на доске.
  413.  
  414. ivana [11:10 AM]
  415. Окей.
  416.  
  417. point212 [11:10 AM]
  418. Ну вот прям-прям сейчас не могу.
  419.  
  420. ivana [11:11 AM]
  421. Функциональный - значит на функциях
  422.  
  423. [11:11]
  424. производная - линейный унарный функциональный оператор.
  425.  
  426. [11:12]
  427. композиция - ассоциативный бинарный
  428.  
  429. [11:12]
  430. давай картошку, пельмени, и как Чапаев в фильме
  431.  
  432. [11:13]
  433. тут мы, тут белые, тут я на лихом коне
  434.  
  435. point212 [11:13 AM]
  436. Т.е. 1 - 2 <--- тут вычитание бинарный ассоциативный оператор. но не функциональный.
  437.  
  438. ivana [11:13 AM]
  439. тут одна функция, тут другая, тут треться... тут мы их композируем сленапра, тут спранале, толучаем результат
  440.  
  441. [11:14]
  442. с какого ассоциативный то?
  443.  
  444. point212 [11:14 AM]
  445. Запутал ты меня
  446.  
  447. ivana [11:14 AM]
  448. в математике за базар отвечать надо
  449.  
  450.  
  451. roman_gemini [11:14 AM]
  452. 1 - 2 - 3 - 4 * 5
  453.  
  454. ivana [11:14 AM]
  455. ботаешь по фене - узнай смысл терминов
  456.  
  457. roman_gemini [11:14 AM]
  458. в каком порядке вычисляться будет?
  459.  
  460. point212 [11:15 AM]
  461. Умножение в первую очередь. А вот вычитания хз. В любом порядке их можно вычитать.
  462.  
  463.  
  464. ivana [11:16 AM]
  465. оказалось ,корень проблемы глубже
  466.  
  467. roman_gemini
  468. [11:16 AM]
  469. ууу
  470.  
  471. point212 [11:16 AM]
  472. Да ладно? А что, не в любом?
  473.  
  474. ivana [11:16 AM]
  475. пока ешь пельмени - задание - посчитай на листочке (edited)
  476.  
  477. point212 [11:17 AM]
  478. Я уже всё давно съел. На работу тоже давно забил. Всех игнорю. Сижу вот пытаюсь понять.
  479.  
  480. roman_gemini
  481. [11:17 AM]
  482. 1 - 2 - 3 - 4 = ?
  483.  
  484. [11:17]
  485. чему равно?
  486.  
  487. point212 [11:18 AM]
  488. 0 вроде.
  489.  
  490.  
  491. ivana [11:18 AM]
  492. соседи не спят, но все равно мощно
  493.  
  494. point212 [11:19 AM]
  495. Какие соседи? %)
  496.  
  497. [11:19]
  498. У меня бошка щас лопнет походу )
  499.  
  500. mattspr [11:19 AM]
  501. приплыли)
  502.  
  503. pandabear [11:19 AM]
  504. вроде - плюс минус пять
  505.  
  506. snupt
  507. [11:19 AM]
  508. жесть
  509.  
  510. pandabear [11:19 AM]
  511. пацаны чё вообще происходит)
  512.  
  513. akosorotov [11:19 AM]
  514. арихметика
  515.  
  516. pandabear [11:20 AM]
  517. 1 - 2 = ?
  518.  
  519. [11:20]
  520. :kolobok:
  521.  
  522. point212 [11:20 AM]
  523. тьфу. совсем мне мозги запудрили. -8 конечно
  524.  
  525. roman_gemini
  526. [11:21 AM]
  527. а почему сначала за 0 подумал?
  528.  
  529. point212 [11:21 AM]
  530. не знаю как тут учиться, попутно работая. Надо наверное отпуск брать
  531.  
  532. [11:21]
  533. Да потому что я 1 -2 -3 правильно отнял. А потом взял и прибавил +4
  534.  
  535. [11:21]
  536. Щас у меня еще грузчики шкаф начнут выносить. Будет совсем весело :slightly_smiling_face:
  537.  
  538. mattspr [11:22 AM]
  539. за каждый неверный ответ грузчики выносят мебель
  540.  
  541.  
  542. roman_gemini [11:22 AM]
  543. @point212 вот теперь порефлексируй как ты вычислил -8
  544.  
  545. ivana [11:23 AM]
  546. ну за это надо шкаф, да
  547.  
  548. noclue [11:23 AM]
  549. холодильник
  550.  
  551. roman_gemini
  552. [11:24 AM]
  553. в каком порядке
  554.  
  555. [11:24]
  556. пока не вынесли стол
  557.  
  558.  
  559. point212 [11:24 AM]
  560. Холодильник же на кону
  561.  
  562. [11:24]
  563. Блин.. а ведь правда. Я то вычислил как привычнее слева на право.
  564.  
  565. [11:24]
  566. Но думал что можно вычислить в любом месте, потом подставить, и опять вычислить. А не выходит.
  567.  
  568. roman_gemini [11:25 AM]
  569. вычислить, потодо догнать подставить и еще раз вычислить
  570.  
  571. ivana [11:26 AM]
  572. воистину, программистам математика не нужна! :kolobok:
  573.  
  574. roman_gemini [11:26 AM]
  575. так вот, у операции “-” какая ассоциативность?
  576.  
  577. grigory14 [11:26 AM]
  578. Мля, народ вы хоть в треде от единиц двойки-тройки отнимайте
  579.  
  580.  
  581. point212 [11:26 AM]
  582. Говорил же погонят
  583.  
  584. [11:26]
  585. Ну вестимо что левая.
  586.  
  587. [11:26]
  588. Я как то не задумывался об этом даже.
  589.  
  590. roman_gemini
  591. [11:27 AM]
  592. >> теперь понимай слова “бинарный ассоциативный функциональный оператор”
  593.  
  594. point212 [11:31 AM]
  595. Тогда не ясно каким образом он бинарный.
  596.  
  597. [11:31]
  598. Злые вы. Без холодильника мне теперь как?
  599.  
  600. [11:31]
  601. :wink:
  602.  
  603. [11:31]
  604. Просто до этого все что мы обсуждали базировалось на известных вещах, пройденных в школе.
  605. Представить новый оператор, без описания того что он делает, просто по его свойствам - это что-то новенькое для мозга
  606.  
  607. ivana [11:31 AM]
  608. Композиция предпочитает групповые удовольствия - с одним ей скучно уже
  609.  
  610. point212 [11:32 AM]
  611. Ну вот ты и того товарища затролли. Который Регистооооо. Алекс_р хоть пытался ему пояснить.
  612.  
  613. [11:34]
  614. ну окей. вот этот оператор . ( точка) соединяет две функции
  615.  
  616. [11:34]
  617. порядок важен.
  618.  
  619. [11:34]
  620. я не врублюсь что нужно понять
  621.  
  622. ivana [11:35 AM]
  623. Академик Арнольд (покойный) как то писал (в свете его полемики с Бурбакистами), что во французской школе одного первоклассника спросили - сколько будет 3+2. Он ответил что не знает ,но точно знает,, что столько же сколько 2+3, потому что операция сложения коммутативна. Риал стори, могу ссылку на статью найти.
  624. 5 replies Last reply today at 12:09 PM View thread
  625.  
  626. ivana [11:35 AM]
  627. Ниче не надо понять - кому надо уже все поняли...
  628.  
  629. point212 [11:37 AM]
  630. Ну ладно. Значит пойду работать.
  631.  
  632.  
  633.  
  634. [11:37]
  635. Спасибо за попытку объяснить
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement