Публикации по теме 'referential-transparency'
Я думаю, вы неправильно поняли, что такое чистая функция. Начиная с этого:
Я думаю, вы неправильно поняли, что такое чистая функция. Начиная с этого:
«Обычно чистая функция — это функция, которая на 100 % выдает один и тот же результат во время выполнения».
Это слишком неточно, чтобы так говорить. Я бы скорее связал эту фразу с определением «детерминированной» функции.
«Вы можете думать о побочных эффектах как о чем-либо, что делает функцию непредсказуемой».
Если я возьму число в качестве входных данных и умножу его на случайный генератор Int, это даст..
Вопросы по теме 'referential-transparency'
Нарушает ли возврат ссылочную прозрачность?
Я читал описание инструмента Scala WartRemover и был сбит с толку одним из их пунктов. В описании сказано следующее:
return нарушает ссылочную прозрачность. Выполните рефакторинг для безопасного завершения вычислений.
// Won't...
476 просмотров
schedule
29.11.2021
Как гарантировать ссылочную прозрачность в приложениях F#?
Итак, я пытаюсь изучить FP и пытаюсь понять ссылочную прозрачность и побочные эффекты.
Я узнал, что сделать все эффекты явными в системе типов — единственный способ гарантировать ссылочную прозрачность:
Идея «в основном функционального...
560 просмотров
schedule
23.02.2022
Как функциональные языки моделируют побочные эффекты?
Поскольку побочные эффекты нарушают ссылочную прозрачность, разве они не идут вразрез с функциональными языками?
5554 просмотров
schedule
25.03.2022
Haskell — Как я могу использовать чистые функции внутри функций ввода-вывода?
Как я могу использовать чистые функции внутри функций ввода-вывода? :-/
Например: я читаю файл (функция ввода-вывода) и хочу проанализировать его контекст, строку, используя чистую функцию с ссылочной прозрачностью.
Кажется, что такие миры,...
3665 просмотров
schedule
15.08.2022
Является ли Scala's Try прозрачной по ссылкам?
В настоящее время я работаю над презентацией о функциональном программировании и столкнулся со следующей проблемой.
Функциональное программирование намеревается отделить «что» от «как», или, точнее, объявление вычисления от его интерпретации. Вот...
264 просмотров
schedule
18.09.2022
Ссылочная прозрачность с полиморфизмом в Haskell
Скажем, у меня есть функция:
f :: Int -> (Rational, Integer)
f b = ((toRational b)+1,(toInteger b)+1)
Я хочу абстрагироваться от (+1) следующим образом:
f :: Int -> (Rational, Integer)
f b = (h (toRational b)
,h (toInteger...
386 просмотров
schedule
22.11.2022
Использование unsafePerformIO во время выполнения интерпретатора языка программирования
Чтобы добавить функции ввода-вывода в интерпретатор языка программирования, написанный на Haskell, у меня есть два варианта:
Измените весь интерпретатор, чтобы он работал внутри монады IO.
В функциях среды выполнения, которые могут вызываться...
136 просмотров
schedule
07.06.2023
Безопасно ли unsafeThaw индексированный неупакованный вектор?
Я только что опубликовал этот код:
import qualified Data.Vector.Unboxed as VU
import qualified Data.Vector.Algorithms.Intro as VAlgo
argSort :: (Ord a, VU.Unbox a) => VU.Vector a -> VU.Vector Int
argSort xs = VU.map fst $ VU.create $ do...
94 просмотров
schedule
22.01.2023
Ссылочная прозрачность в dplyr::filter: создание переменной имени столбца
Основной вопрос (к чему он, кажется, сводится)
Как сконструировать вызов rlang::quo с "левой" вместо "правой" стороны выражения, ссылочно прозрачной
Взято со страницы справки rlang::quo , это работает
quo(foo(!! quo(bar)))
#...
79 просмотров
schedule
27.07.2023
Почему лень хорошо сочетается с ссылочной прозрачностью?
Я читал учебник по Haskell (Learn You a Haskell), в котором автор сказал, что лень хорошо сочетается с ссылочной прозрачностью. После дополнительного чтения и некоторого поиска я до сих пор не понимаю, почему. Обратите внимание, что я понимаю, что...
709 просмотров
schedule
03.12.2023
Что такое ссылочная прозрачность?
Что означает термин ссылочная прозрачность ? Я слышал, что это описывается как «это означает, что вы можете заменить равные равными», но это кажется неадекватным объяснением.
53460 просмотров
schedule
06.06.2024