Anonymous
почему такой термин не используется?
Anonymous
вообще ЖС сильно схож с питоном, это я про объекты и методы, они по всюду.
Дима
На лямбдах ещё не видел
const True = t => f => t const False = t => f => f const If = b => t => f => b (t) (f)
Дима
console.assert(1 == If (True) (1) (2)) console.assert(2 == If (False) (1) (2))
Дима
Not = x => If (x) (False) (True) And = x => y => If (x) (y) (False) Or = x => y => If (x) (True) (y)
Дима
И короче погнали
Дима
Это фактически ультра-низкоуровневая основа всего фп
Oleg
И короче погнали
И опять не фп подход с массивом короче выходит :D
Oleg
Но способ хороший
Oleg
Я лисп вспомнил
Oleg
В языках с гоу ту это было бы просто
Дима
Я лисп вспомнил
Это он и есть, серьёзно
Sergey
🤦‍♂
Sergey
Регистр символов на глаз не отличаешь? Или функцию от оператора?
Sergey
И короче погнали
Одно не пойму, как туда получить True результатом чего либо
Sergey
Иди учи фп 👍
Спасибо, учил. На вопрос это не отвечает
Anonymous
Регистр символов на глаз не отличаешь? Или функцию от оператора?
Отличаю, я не понял в чём тогда смысл этих констант заключается???
Vitaly
Регистр символов на глаз не отличаешь? Или функцию от оператора?
Sergey
Это фактически ультра-низкоуровневая основа всего фп
Sergey
Иди ещё раз
Ты опять понтуешься на пустом месте.
Anonymous
++
Sergey
Ты опять понтуешься на пустом месте.
Если бы пусто, ты бы не тупил
Sergey
Я одно понял. Разговоры с тобой до конструктива не доходят..
Anonymous
Эмоции твои не интересны. Готов объяснить вперёд и спасибо.
Sergey
пиздец
Sergey
чувак написал в прикол замену операторам на функциях
Sergey
а вы блядь применяете их как обычный код
Sergey
тупость
Sergey
потому что делаешь if для функции, которая называется False и ждешь что будет false
Sergey
А как его вообще применять?
Sergey
МЫ ищем полифилы а не новую алгебру
Anonymous
+
Sergey
А как его вообще применять?
ибо там ясно тебе написано: ТОЛЬКО ВЫЗЫВАТЬ ФУНКЦИИ
Sergey
ибо там ясно тебе написано: ТОЛЬКО ВЫЗЫВАТЬ ФУНКЦИИ
Вызови мне If от чего угодно кроме True и False
Sergey
@ZeroBias смогешь написать аналог цикла?
Sergey
🤦🏻‍♂️
Ты себе сотрясение пыташься заработать?
Vitaly
Ох уж эти утилитарщики )
Sergey
вот так https://t.me/JSlang/120494
Oleg
@ZeroBias смогешь написать аналог цикла?
Функция, принимающая список аргументов и вызывающая для каждой функцию-итератор
Oleg
А не, это же цикл сам по себе
Oleg
:D
Vitaly
все сводиться к reduce )
Sergey
Функция, принимающая список аргументов и вызывающая для каждой функцию-итератор
надо глубже изучить лисп))) интересно как там вся эта фигня завернута
Oleg
Я слишком стар для лиспа и тп
Vitaly
а цикл можно через рекурсию
Oleg
Рекурсия, да
Sergey
все сводиться к reduce )
я пока плохо представляю, как на чистых функциях написать аналог цикла
Sergey
рекурсия... хм
Дима
А если цикл?
Определяем числа: Zero = s => z => z One = s => z => s (z) Two = s => z => s (s (z)) Операции над ними: IsZero = n => n (_ => False) (True) Lte = n => m => IsZero (Sub (n) (m)) Lt = n => m => Lte (Succ (n)) (m) Фолд: const Foldr = f => z => l => l (f) (z) Операции над списками: const Append = a => l => (f => x => f (a) (l (f) (x))) const Head = l => l (a => _ => a) () const list = Append (1) (Append (2) (Nil)) const Map = m => l => (f => x => l (a => f (m (a))) (x)) const Length = l => Foldr (_ => Succ) (Zero) (l) Определяем комбинатор неподвижной точки Z = f => (x => f (y => x (x) (y))) (x => f (y => x (x) (y))) Теперь можем определить поиск остатка от деления Rem = Z (rem => n => m => ( If (Lt (n) (m)) (_ => n) (_ => rem (Sub (n) (m)) (m)) ) ()) console.assert(1 == toInt (Rem (Three) (Two)))
Sergey
вот так https://t.me/JSlang/120494
Здесь нет вызова If от чего либо отличного от True и False
Vitaly
я ж говорил reduce )
Дима
я ж говорил reduce )
reduce — это ещё несколько определений сверх этого
Vitaly
ну я упрощаю
Sergey
от x
x это всеголишь параметр
Anonymous
как ты дошел до этого?
чувак, тебе когда непонятно, ты спрашиваешь, тебе никто не отвечает рука-лицо. почему ты считаешь, что можно других куда-то посылать когда они задают вопросы?
Sergey
и никто не задал
бля чувак написал if (FuncName) и ожидал что условие не выполнится
Anonymous
эм я задал вопрос "что такое функция"?
я не задавал вопрос, что такое функция. я понимаю что такое функция-указатель, но когда используются два указателя и вообще как юзать эти True/False мне непонятно, поэтому и задал вопрос что с этим делать
Sergey
это ж пздц
Дима
как ты дошел до этого?
Это конспект статьи по теме) https://habrahabr.ru/post/322052/
Дима
Но вообще у меня просто это было в универе на матлогике
Дима
Поэтому когда начал изучать нотацию хаскеля, то оказался приятно удивлён, что всё эт оя уже знаю)
Anonymous
в js нет указателей
функция-стрелка, так лучше? :)