-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80




Форум на Исходниках.RU


Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.

Исходная информация - http://forum.sources.ru.
Данный дневник сформирован из открытого RSS-источника по адресу http://forum.sources.ru/yandex.php, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

[Обновить трансляцию]

Что делать с жунами

Пятница, 30 Апреля 2021 г. 00:22 + в цитатник
korvin:
Цитата applegame @
И, ой! Как такое могло случиться? Результат тоже поменялся:
Чудеса, монада не поменялась, а порядок поменялся.

:facepalm: какой же ты, всё-таки, тупой.

    import Control.Applicative
    import Data.Time.Clock.POSIX (getPOSIXTime)
    data MyCoolIO a = MCIO (IO a)
    instance Functor MyCoolIO where
    fmap f (MCIO xIO) = MCIO $ fmap f xIO
    instance Applicative MyCoolIO where
    pure = MCIO . pure
    (MCIO fIO) <*> (MCIO xIO) = MCIO $ fIO <*> xIO
    instance Monad MyCoolIO where
    return = pure
    (MCIO xIO) >>= f = MCIO $ xIO >>= \x -> (let (MCIO r) = f x in r)
    (MCIO xIO) >> (MCIO yIO) = MCIO $ do
    now <- getPOSIXTime
    if even (round now) then xIO >> yIO
    else yIO >>= \y -> (xIO >> return y)
    myPutStrLn :: String -> MyCoolIO ()
    myPutStrLn s = MCIO $ putStrLn s
    myMain :: MyCoolIO () -> IO ()
    myMain (MCIO io) = io
    main = myMain $ do
    myPutStrLn "first"
    myPutStrLn "second"
    myPutStrLn "third"


Добавлено
Цитата applegame @
Опровергайте.

Что опровергать? Ты даже не читаешь, что тебе пишут.

Добавлено
Цитата applegame @
Правда хз, что это докажет.

Это доказывает, что ты
1) не читаешь, что тебе пишут
2) не пытаешься понять, что тебе пишут
3) не разбираешься в том, о чём пишешь
4) продолжаешь с завидным упорством игнорировать факты

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846987


Метки:  

Что делать с жунами

Четверг, 29 Апреля 2021 г. 23:44 + в цитатник
applegame:
Цитата korvin @
Пример использования do-нотации с «чистыми» (не-IO) монадами.
А в этих примерах нет никакой возможности проверить в каком они выполняются порядке. Можно считать что в любом, в том числе и последовательно, пофиг.
Цитата korvin @
Давай, расскажи ещё про порядок в do-выражении.
А что тут рассказывать? Меняем первую и вторую строчку местами:
    main = myMain $ do
    myPutStrLn "second"
    myPutStrLn "first"
    myPutStrLn "third"
И, ой! Как такое могло случиться? Результат тоже поменялся:
    third
    first
    second
Чудеса, монада не поменялась, а порядок поменялся.
А ведь они ваще
Цитата korvin @
Не коррелируют.

В общем зря ты мучался, выводил инструкции задом наперед. :D Давай теперь программу, которая фигачит инструкции в рандомном порядке. Правда функция генерации СЧ сама будет с побочными эффектами. Придется еще сложнее мудрить код. :)
Впрочем, подозреваю, что это таки возможно. Я даже в чистом императивном коде на D или Nim могу провернуть подобную фигню :D Правда хз, что это докажет. :)

Добавлено
Ладно, плевать на монады, нотации, и прочую ересь. Надоело.

Вот:
Цитата applegame @
Кстати в Erlang/Elixir нет мутабельных переменных, но полно функций с побочными эффектами. Значит таки можно писать императивно (по вашему определению) без мутабельных переменных?
Опровергайте.

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846984


Метки:  

Что делать с жунами

Четверг, 29 Апреля 2021 г. 23:35 + в цитатник
korvin: applegame,

    main = myMain $ do
    myPutStrLn "first"
    myPutStrLn "second"
    myPutStrLn "third"


    third
    second
    first


impl

    import Control.Applicative
    data MyCoolIO a = MCIO (IO a)
    instance Functor MyCoolIO where
    fmap f (MCIO xIO) = MCIO $ fmap f xIO
    instance Applicative MyCoolIO where
    pure = MCIO . pure
    (MCIO fIO) <*> (MCIO xIO) = MCIO $ fIO <*> xIO
    instance Monad MyCoolIO where
    return = pure
    (MCIO xIO) >>= f = MCIO $ xIO >>= \x -> (let (MCIO r) = f x in r)
    (MCIO xIO) >> (MCIO yIO) = MCIO $ yIO >>= \y -> (xIO >> return y)
    myPutStrLn :: String -> MyCoolIO ()
    myPutStrLn s = MCIO $ putStrLn s
    myMain :: MyCoolIO () -> IO ()
    myMain (MCIO io) = io



https://ideone.com/9nbY5V

Давай, расскажи ещё про порядок в do-выражении.

Добавлено
Цитата applegame @
Значит таки можно писать императивно (по вашему определению) без мутабельных переменных?

В нашем определении есть изменяемое состояние, а не «мутабельные переменные».

Добавлено
Цитата applegame @
Последний - ИП, первые два ФП.

Не угадал.

Добавлено
Цитата applegame @
Откуда такой вывод? Почему все, если я говорил о хаскельном IO, в том числе и о монаде IO?

Оттуда, что do-нотация работает с любой монадой, а не только монадой IO.

Цитата applegame @
Раз возможно IO, значит возможны функции с побочными эффектами.

В Хаскелле нет функций с побочными эффектами.

Цитата applegame @
Потому что парадигма не может измениться если не меняется код Очевидно же.

Попробуй ещё раз поразмыслить над фразой «синтаксис != семантика».

Цитата applegame @
Пример чего?

Пример использования do-нотации с «чистыми» (не-IO) монадами.

Цитата applegame @
В чистой ФП-композиции порядок может быть любым, уже обсуждали и ты вроде согласился. Опять по кругу?

По-моему, это ты согласился, что (foo . bar) и (bar . foo) — не одно и то же. Или ты так и не понял, что это значит?

Цитата applegame @
Ага, а то что эти критерии коррелируют с порядком стейтментов в do-нотации - это просто совпадение?

Не коррелируют.

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846982


Метки:  

Не британские ученые

Четверг, 29 Апреля 2021 г. 23:27 + в цитатник
applegame: О чем спор? Нейросети работают. Нравится это или не нравится, факт остается фактом: нейросети выполняют поставленные им задачи. Разве это не главное?

https://forum.sources.ru/index.php?showtopic=410685&view=findpost&p=3846981


Метки:  

Что делать с жунами

Четверг, 29 Апреля 2021 г. 23:03 + в цитатник
applegame:
Цитата D_KEY @
Но ты убери синтаксический сахар из кода и посмотри, каким образом эта зависимость выражается на самом деле.
Да ваще, код поменялся до неузнаваемости:
    main =
    putStrLn "str1" >>
    putStrLn "str2"


Добавлено
Кстати в Erlang/Elixir нет мутабельных переменных, но полно функций с побочными эффектами. Значит таки можно писать императивно (по вашему определению) без мутабельных переменных?

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846980


Метки:  

Что делать с жунами

Четверг, 29 Апреля 2021 г. 22:58 + в цитатник
D_KEY:
Цитата applegame @
Если по-твоему вот тут результат не зависит от порядка стейтментов, то я хз кто тут больше похож на Сирожу :)
    main = do
    putStrLn "str1"
    putStrLn "str2"

Так зависит. Но ты убери синтаксический сахар из кода и посмотри, каким образом эта зависимость выражается на самом деле.

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846979


Метки:  

Что делать с жунами

Четверг, 29 Апреля 2021 г. 22:51 + в цитатник
applegame:
Цитата D_KEY @
Если ты не считаешь это необходимым условием, то мы его может вообще убрать для простоты рассмотрения.
В общем ладно. Если ты тоже как и Корвин, считаешь, что парадигма этого кода зависит от чистоты функций bar и foo:
    immutable a = foo(x)
    if(a == 0) return 1;
    immutable a1 = a + bar(a);
    if(a1 == 1) return 2;
    return 3;
То мне не о чем больше с вами спорить.
Делаем функции foo и bar чистыми, и опаньки - это ФП код, делаем с побочными эффектами и снова ИП
Ну ок, оставайтесь при своем мнении.

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846978


Метки:  

Что делать с жунами

Четверг, 29 Апреля 2021 г. 22:46 + в цитатник
scrambrella: Функциональное и логическое программирование - единственно верные стили. ООП и ИП в топку. На С/С++ легко писать функционально.

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846977


Метки:  

Что делать с жунами

Четверг, 29 Апреля 2021 г. 13:06 + в цитатник
korvin:
Цитата applegame @
Польза большая: нам не нужно знать чистые эти функции или нет

Мы знаем, что они чистые.

Цитата applegame @
То же самое и в do-нотации Haskell.

В Хаскелле все функции чистые и do-нотация, как и монады, не имеют отношения к чистоте.

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846956


Метки:  

План создания сильного ИИ

Четверг, 29 Апреля 2021 г. 12:53 + в цитатник
доктор Рагин: GPT-3 вообще не думает. Он тупо предсказывает следующее слово в тексте и постепенно слово за словом генерирует текст. Спрашивали у GPT-3: что тяжелее? карандаш или гиря?
Он не знает. Не нашел в тексте точного веса карандаша. В него просто загрузили корпус текстов и научили предсказывать. ;)

https://forum.sources.ru/index.php?showtopic=421329&view=findpost&p=3846954


Метки:  

C++ AMP - не комплируется пример из книги

Четверг, 29 Апреля 2021 г. 12:43 + в цитатник
tuchin: Спасибо, Павел 77. Попробую.

https://forum.sources.ru/index.php?showtopic=410543&view=findpost&p=3846953


Метки:  

Что делать с жунами

Четверг, 29 Апреля 2021 г. 12:31 + в цитатник
applegame:
Цитата D_KEY @
Так и в ИП без побочных эффектов это так же не имеет никакого значения. Можно сделать такую реализацию, которая будет проводить хитрые анализы и менять последовательность выполнения (будет иметь право, т.к. видимый результат не изменится).
Так это будут уже детали реализации. А нам важен код, а не реализация исполнителя этого кода.
Цитата D_KEY @
Это имеет значение только если у тебя есть побочные эффекты и изменение состояния или одним вычислениям нужен результат других. Первый случай ты исключаешь по определению, второй присутствует в ФП.
Не исключаю, а делаю необязательным. Не надо искажать. Второй твой тезис неверен. В чистом ФП (идеальном) в коде нет явных промежуточных результататов, даже иммутабельных. Вот кусок программы на Haskell:
Цитата
x = 3
y = x + 1
z = y + 2
Может создаться ложное впечатление, что это последовательность из трех инструкций, аналогично, например этому коду в языке D:
    const x = 3;
    const y = x + 1;
    const z = y + 2;

Но тут нет никакой последовательности инструкций, тут даже в общем-то даже инструкций нет. Переменные не хранят промежуточных значений, поэтому можно переставлять строчки как угодно, ничего не меняется:
Цитата
z = y + 2
y = x + 1
x = 3
В императивном коде такой фокус не прокатит.
В D в принципе возможно писать в аналогичном ФП-стиле при помощи лямбд:
    alias z = () => y() + 2;
    alias y = () => x() + 1;
    alias x = () => 3;

Забавно, но в C/C++ это можно это сделать, используя макросы. Вот такое ФП (причем полиморфное, все по-взрослому ):
    #define z (y + 2)
    #define y (x + 1)
    #define x 3
C++ - лучший ФП-язык.

Цитата D_KEY @
Если мы убираем побочные эффекты и изменение состояния (на уровне семантики языка), то это все становится лишь деталью реализации.
Не совсем понимаю, что значит "убираем изменение состояния на уровне семантики языка". Пример можно? В ИП промежуточные результяты создаются явно в коде, в виде переменных, в том числе иммутабельных. Если в коде явно не создавать промежуточных результатов, то наверное получится ФП. :)
Цитата korvin @
И какая нам польза в этом знании?
Польза большая: нам не нужно знать чистые эти функции или нет, просто считаем, что инструкции выполняются друг за другом.
Например в том же Erlang/Elixir вообще нет понятия чистоты функций. Они могут быть чистыми или грязными - пофиг. То же самое и в do-нотации Haskell.

https://forum.sources.ru/index.php?showtopic=421266&view=findpost&p=3846952


Метки:  

Как на Scala записать алгоритмы

Четверг, 29 Апреля 2021 г. 11:41 + в цитатник
Pereki: Здравствуйте.

Как на Scala записать алгоритмы:

Определить индексы элемента в многомерном массиве (элемент встречается один раз).

Определить количество элементов в многомерном массиве, которые равны заданному.

https://forum.sources.ru/index.php?showtopic=421420&view=findpost&p=3846950


Метки:  

Вписание многогранника в многогранник

Четверг, 29 Апреля 2021 г. 11:06 + в цитатник
prografix:
Цитата scrambrella @
Линейное программирование?

Нелинейное. Объём - это функция третьего порядка. Можно рассмотреть задачу немного проще.
Передвинем многогранники так, чтобы их центры масс находились в начале координат, и теперь будем искать линейное преобразование, применяя которое к первому многограннику, он будет вписан во второй и иметь максимальный объём. Здесь мы, убирая смещение, снижаем размерность задачи с 12 ( аффинное преобразование ) до 9 ( линейное преобразование ).

https://forum.sources.ru/index.php?showtopic=421409&view=findpost&p=3846948


Метки:  

Не британские ученые

Четверг, 29 Апреля 2021 г. 09:30 + в цитатник
OpenGL: А ещё супер-специалист в области ИИ, твёрдо уверенный, что современные нейросети не могут обыграть человека в шахматы и го :D

https://forum.sources.ru/index.php?showtopic=410685&view=findpost&p=3846943


Метки:  

Не британские ученые

Четверг, 29 Апреля 2021 г. 09:03 + в цитатник
scrambrella:
Цитата ya2500 @
Ученые из Астона намереваются интегрировать живые стволовые клетки человеческого мозга в электронные чипы. Они полагают, что это позволит выстроить нейронную сеть нового типа, которая не будет ограничена параметрами существующей техники.
Цель озвучена амбициозная, исследователи хотят «использовать непревзойденную вычислительную мощность мозга разумного существа», чтобы научить компьютер решать задачи, неподвластные типовым алгоритмам. Речь идет не столько о творчестве или сложных материях, сколько о попытках наделить ИИ такими способностями, как интуиция, озарение, нестандартный подход к решению задач. Чтобы вычислительная мощность тратилась не на переборы миллионов вариантов, а на быстрый, но рациональный выбор на основе смекалки и опыта.

Три живых нейрона + три электронных = смекалка и опыт. Рассмешили. Учёные, блин. Пусть идут в макдоналдс работать - их уровень.

https://forum.sources.ru/index.php?showtopic=410685&view=findpost&p=3846942


Метки:  

Не британские ученые

Четверг, 29 Апреля 2021 г. 03:23 + в цитатник
Qraizer: Знакомьтесь, коллеги: scrambrella — демоверсия практической гносеологии, вышедшей из узких философских каминных посиделок под вискарёк в широкие массы. :D

https://forum.sources.ru/index.php?showtopic=410685&view=findpost&p=3846939


Метки:  

Web-программирование Full Stack

Четверг, 29 Апреля 2021 г. 02:53 + в цитатник
Alex-70: Ищу работу или проект: бизнес-системы, управление производством, расчёты, сетевое управление вендинговыми аппаратами.

Портфолио
    btc.staff-base.spb.ru - система расчётов Биткоинами
    borsa.btc.staff-base.spb.ru - биржа обмена BTC<=>Рубли с расчётами через API YooMoney

https://forum.sources.ru/index.php?showtopic=421415&view=findpost&p=3846938


Метки:  

Не британские ученые

Четверг, 29 Апреля 2021 г. 00:04 + в цитатник
scrambrella: Сегодня все учёные - британские учёные. Научный метод познания исчерпал себя. Людям следует сосредоточиться на поиске новых методов познания, развитии теории познания - гносеологии.

https://forum.sources.ru/index.php?showtopic=410685&view=findpost&p=3846937


Метки:  

Вписание многогранника в многогранник

Среда, 28 Апреля 2021 г. 23:49 + в цитатник
scrambrella: Разобьём многогранник на пирамидки. Объём каждой пирамидки поменяется в одно и то же число раз при линейном преобразовании, которое легко найти.
Вписанность как система линейных неравенств - сравнением точек нашего многогранника с плоскостями граней другого многогранника.
Линейное программирование?

https://forum.sources.ru/index.php?showtopic=421409&view=findpost&p=3846936


Метки:  

Поиск сообщений в rss_forum_sources_ru
Страницы: 2628 ... 2540 2539 [2538] 2537 2536 ..
.. 1 Календарь