170 похожих чатов

Можно как-то заставить это работать без врапера вокруг функции? https://pastebin.com/2mgMAZsw

41 ответов

11 просмотров

Эти 6 строк можно было и так прислать..

Это точно either должно называться? Не Both?

В общем, мой личный мозг переполнился вследствии бесконечной рекурсии...

Aleksei Korolev
either

Можешь объяснить, что же ты хочешь, семантически, потому что, чтобы понять рекурсию, нужно понять рекурсию.

Aleksei-Korolev Автор вопроса
Ilya Zviagin
Можешь объяснить, что же ты хочешь, семантически, ...

функция может вернуть либо результат, либо функцию, которую можно использовать для того, чтобы в конце концов получить результат. https://pastebin.com/YwR3LFfe

Aleksei Korolev
функция может вернуть либо результат, либо функцию...

Но функция не может вернуть то или это. Только одно

Aleksei-Korolev Автор вопроса
Ilya Zviagin
Но функция не может вернуть то или это. Только одн...

в примере упрощенный api для either показан

Aleksei Korolev
either

посмотри std::variant

Aleksei-Korolev Автор вопроса
Алиса Королёва
посмотри std::variant

старый стандарт + проблема не в этом

Aleksei Korolev
функция может вернуть либо результат, либо функцию...

Наверное, это можно сделать за счёт folding of variadic templates of function

Алиса Королёва
посмотри std::variant

Не, ему нужны разные типы

Aleksei-Korolev Автор вопроса
Ilya Zviagin
Не, ему нужны разные типы

не, вариант подходит, как замена either. но проблему с рекурсией не решает

Aleksei Korolev
в примере упрощенный api для either показан

Функция должна возвращать что-то определенное, не "одно или другое"

Aleksei Korolev
не, вариант подходит, как замена either. но пробле...

Твой то вариант из примера изначального тоже не должен работать.

Aleksei Korolev
не, вариант подходит, как замена either. но пробле...

Вы уверены, что предполагаете принятие решения о типе возвращаемого значения на этапе компиляции?

Aleksei-Korolev Автор вопроса
Sergey Anisimov
Вы уверены, что предполагаете принятие решения о т...

из примера очевино, что нет. решение в рантайме принимается от данных

Ilya Zviagin
Мы же про с++

а человек хочет тип из хаскеля

Aleksei Korolev
вай?

Ты его компилировал? Работает?

Aleksei Korolev
из примера очевино, что нет. решение в рантайме пр...

Тогда очевидно, что это невозможно, поскольку тип - абстракция уровня времени компиляции =)

Aleksei-Korolev Автор вопроса
Ilya Zviagin
Ты его компилировал? Работает?

ну так вопрос был про то КАК это завести без обертки вокруг функции. с оберткой оно заводится без проблем.

Aleksei-Korolev Автор вопроса
Ilya Zviagin
Ну, а это невозможно

что конкретно невозможно?

Aleksei Korolev
что конкретно невозможно?

Вывести тип (compile-time) исходя из данных (runtime). Причинность, увы.

Aleksei-Korolev Автор вопроса
Sergey Anisimov
Вывести тип (compile-time) исходя из данных (runti...

вы код читали? где там нужно выводить тип из данных? решение о нужно типе из имеющихся вариантов налдо принять в рантайме

Aleksei Korolev
что конкретно невозможно?

У функции должен быть определенный тип возврата, и он должен быть определен до этой функции. Вот лямбда - другое дело...

Алиса Королёва
а, вот оно что

то есть проблема в том, что тип рекурсивный получается?

Aleksei-Korolev Автор вопроса
Aleksei-Korolev Автор вопроса
Ilya Zviagin
Я в общем подумаю ...

https://godbolt.org/z/h8x5593zr вот вариант с оберткой

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
26
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
а не подскажете вот это скрин из какой IDE ?
Iluha Companets
14
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Карта сайта