LINUX.ORG.RU

История изменений

Исправление a--, (текущая версия) :

Я во втором - «оптимизированном» - кейсе твои предыдущие выкладки воспроизвёл.

И как ты их воспроизвел?! Вот так что ли:

= -- 1000+1-1 = 1000, поэтому Just

В цитате точно не мои выкладки и не моя логика.

Мои выкладки, исходя из твоего определения, будут такими:

s(x) = Just(x+1) если x+1 <= 1000, иначе Nothing
p(x) = Just(x-1) если x-1 >= 0, иначе Nothing

Just(x).bind(s).bind(p) = unit(x).bind(s).bind(p) = s(x).bind(p) =
= (Just(x+1) если x+1 <= 1000, иначе Nothing).bind(p) =
= Just(x+1).bind(p) если x+1 <= 1000, иначе Nothing.bind(p) =
= unit(x+1).bind(p) если x+1 <= 1000, иначе Nothing =
= p(x+1) если x+1 <= 1000, иначе Nothing =
= (Just(x+1-1) если x+1-1 >= 0, иначе Nothing) если x+1 <= 1000, иначе Nothing =
= (Just(x) если x >= 0, иначе Nothing) если x <= 999, иначе Nothing =
= Just(x) если 0 <= x <= 999, иначе Nothing

Здесь тебе уже понятно, как можно параллелить выражения вида Just(x).bindᵃ(p).bindᵇ(s).bindᶜ(p).bindᵈ(s). ... ?

Исправление a--, :

Я во втором - «оптимизированном» - кейсе твои предыдущие выкладки воспроизвёл.

И как ты их воспроизвел?! Вот так что ли:

= -- 1000+1-1 = 1000, поэтому Just

В цитате точно не мои выкладки и не моя логика.

Мои выкладки, исходя из твоего определения, будут такими:

s(x) = Just(x+1) если x+1 <= 1000, иначе Nothing
p(x) = Just(x-1) если x-1 >= 0, иначе Nothing

Just(x).bind(s).bind(p) = unit(x).bind(s).bind(p) = s(x).bind(p) =
= (Just(x+1) если x+1 <= 1000, иначе Nothing).bind(p) =
= Just(x+1).bind(p) если x+1 <= 1000, иначе Nothing =
= unit(x+1).bind(p) если x+1 <= 1000, иначе Nothing =
= p(x+1) если x+1 <= 1000, иначе Nothing =
= (Just(x+1-1) если x+1-1 >= 0, иначе Nothing) если x+1 <= 1000, иначе Nothing =
= (Just(x) если x >= 0, иначе Nothing) если x <= 999, иначе Nothing =
= Just(x) если 0 <= x <= 999, иначе Nothing

Здесь тебе уже понятно, как можно параллелить выражения вида Just(x).bindᵃ(p).bindᵇ(s).bindᶜ(p).bindᵈ(s). ... ?

Исправление a--, :

Я во втором - «оптимизированном» - кейсе твои предыдущие выкладки воспроизвёл.

И как ты их воспроизвел?! Вот так что ли:

= -- 1000+1-1 = 1000, поэтому Just

В цитате точно не мои выкладки и не моя логика.

Мои выкладки, исходя из твоего определения, будут такими:

s(x) = Just(x+1) если x+1 <= 1000, иначе Nothing
p(x) = Just(x-1) если x-1 >= 0, иначе Nothing

Just(x).bind(s).bind(p) = unit(x).bind(s).bind(p) = s(x).bind(p) =
= (Just(x+1) если x+1 <= 1000, иначе Nothing).bind(p) =
= Just(x+1).bind(p) если x+1 <= 1000, иначе Nothing =
= unit(x+1).bind(p) если x+1 <= 1000, иначе Nothing =
= p(x+1) если x+1 <= 1000, иначе Nothing =
= (Just(x+1-1) если x+1-1 >= 0, иначе Nothing) если x+1 <= 1000, иначе Nothing =
= (Just(x) если x >= 0, иначе Nothing) если x <= 999, иначе Nothing =
= Just(x) если 0 <= x <= 999, иначе Nothing

Здесь тебе уже понятно, как можно параллелить?

Исправление a--, :

Я во втором - «оптимизированном» - кейсе твои предыдущие выкладки воспроизвёл.

И как ты их воспроизвел?! Вот так что ли:

= -- 1000+1-1 = 1000, поэтому Just

В цитате точно не мои выкладки и не моя логика.

Мои выкладки, исходя из твоего определения, будут такими:

s(x) = Just(x+1) если x+1 <= 1000, иначе Nothing
p(x) = Just(x-1) если x-1 >= 0, иначе Nothing

Just(x).bind(s).bind(p) = unit(x).bind(s).bind(p) = s(x).bind(p) =
= (Just(x+1) если x+1 <= 1000, иначе Nothing).bind(p) =
= Just(x+1).bind(p) если x+1 <= 1000, иначе Nothing =
= unit(x+1).bind(p) если x+1 <= 1000, иначе Nothing =
= (Just(x+1-1) если x+1-1 >= 0, иначе Nothing) если x+1 <= 1000, иначе Nothing =
= (Just(x) если x >= 0, иначе Nothing) если x <= 999, иначе Nothing =
= Just(x) если 0 <= x <= 999, иначе Nothing

Здесь тебе уже понятно, как можно параллелить?

Исправление a--, :

Я во втором - «оптимизированном» - кейсе твои предыдущие выкладки воспроизвёл.

И как ты их воспроизвел?! Вот так что ли:

= -- 1000+1-1 = 1000, поэтому Just

В цитате точно не мои выкладки и не моя логика.

Мои выкладки, исходя из твоего определения, будут такими:

s(x) = Just(x+1) если x+1 <= 1000, иначе Nothing
p(x) = Just(x-1) если x-1 >= 0, иначе Nothing

Just(x).bind(s).bind(p) = unit(x).bind(s).bind(p) = s(x).bind(p) =
= (Just(x+1) если x+1 <= 1000, иначе Nothing).bind(p) =
= Just(x+1).bind(p) если x+1 <= 1000, иначе Nothing =
= unit(x+1).bind(p) если x+1 <= 1000, иначе Nothing =
= (Just(x+1-1) если x+1-1 >= 0, иначе Nothing) если x+1 <= 1000, иначе Nothing =
= (Just(x) если x >= 0, иначе Nothing) если x <= 999, иначе Nothing =
= Just(x) если 0 <= x <= 999, иначе Nothing

Исправление a--, :

Я во втором - «оптимизированном» - кейсе твои предыдущие выкладки воспроизвёл.

И как ты их воспроизвел?! Вот так что ли:

= -- 1000+1-1 = 1000, поэтому Just

В цитате точно не мои выкладки и не моя логика.

Мои выкладки, исходя из твоего определения, будут такими:

s(x) = Just(x+1) если x+1 <= 1000, иначе Nothing
p(x) = Just(x-1) если x-1 >= 0, иначе Nothing

Just(x).bind(s).bind(p) = unit(x).bind(s).bind(p) = s(x).bind(p) =
= (Just(x+1) если x+1 <= 1000, иначе Nothing).bind(p) =
= Just(x+1).bind(p) если x+1 <= 1000, иначе Nothing =
= unit(x+1).bind(p) если x+1 <= 1000, иначе Nothing =
= (Just(x+1-1) если x+1-1 >= 0, иначе Nothing) если x+1 <= 1000, иначе Nothing =
= (Just(x) если x >= 0, иначе Nothing) если x <= 999, иначе Nothing =
= Just(x) если 0<= x <= 999, иначе Nothing

Исходная версия a--, :

Я во втором - «оптимизированном» - кейсе твои предыдущие выкладки воспроизвёл.

И как ты их воспроизвел?! Вот так что ли:

= — 1000+1-1 = 1000, поэтому Just

Если так, то это точно не мои выкладки.

Мои выкладки, исходя из твоего определения, будут такими:

s(x) = Just(x+1) если x+1 <= 1000, иначе Nothing
p(x) = Just(x-1) если x-1 >= 0, иначе Nothing

Just(x).bind(s).bind(p) = unit(x).bind(s).bind(p) = s(x).bind(p) =
= (Just(x+1) если x+1 <= 1000, иначе Nothing).bind(p) =
= Just(x+1).bind(p) если x+1 <= 1000, иначе Nothing =
= unit(x+1).bind(p) если x+1 <= 1000, иначе Nothing =
= (Just(x+1-1) если x+1-1 >= 0, иначе Nothing) если x+1 <= 1000, иначе Nothing =
= (Just(x) если x >= 0, иначе Nothing) если x <= 999, иначе Nothing =
= Just(x) если 0<= x <= 999, иначе Nothing