Size: a a a

2021 January 27

FL

First Last in Haskell
Хм...но сигнатура fibs у меня вроде Integer. Видимо не до конца понимаю.
Т.е, мне нужно сделать тайпкаст fibs !! n или переписать решение?
источник

к

кана in Haskell
fibs это список интегеров

а фиб это функция, которая по индексу (Int) достает элемент из списка интегеров
источник

ВЩ

Взщз Щщщхш in Haskell
+1
источник

ВЩ

Взщз Щщщхш in Haskell
First Last
Хм...но сигнатура fibs у меня вроде Integer. Видимо не до конца понимаю.
Т.е, мне нужно сделать тайпкаст fibs !! n или переписать решение?
Тут проще скомбинировать fibs и take
источник

FL

First Last in Haskell
А, тьфу. Скопипастил оптимизированное решение фибоначи называется
Даже не заметил
источник

ВЩ

Взщз Щщщхш in Haskell
источник

к

кана in Haskell
fromInteger x вернет int

fib :: Integer -> Integer
fib n = fibs !! fromInteger n
источник

FL

First Last in Haskell
Спасибо!
источник

ВЩ

Взщз Щщщхш in Haskell
@shindakioku А почему perimeter принимает Integer? 2**29-ое число фибоначчи в память точно не влезет.
источник

FL

First Last in Haskell
Взщз Щщщхш
@shindakioku А почему perimeter принимает Integer? 2**29-ое число фибоначчи в память точно не влезет.
codewars

Я тут бессилен :)
источник

AA

A64m AL256m qn<co... in Haskell
Aleksandr Khristenko
Я может что-то путаю, но в остальных языках TCO нужно для того, чтобы не выйти за пределы стека когда вызываются функции.
Но при этом в хаскеле нет call stack.
стек есть, только стек паттерн-матчей. ну и он растущмй так что не особо страшно его вышибить
источник

AA

A64m AL256m qn<co... in Haskell
Жук Короед
А использовать {-# INLINE #-} прагму он не дает вне модуля, где объявлена <|>.
Нет никакого трюка, чтоб ее гарантированно заинлайнило, кроме как напиисать с нуля и поставить прагму?
есть функция inline но так никто не делает, да и принудительный инлайн будет рабртать только если развертки для того что надо инлайнить есть
источник

A

Aleksandr Khristenko in Haskell
A64m AL256m qn I0
стек есть, только стек паттерн-матчей. ну и он растущмй так что не особо страшно его вышибить
Я не зря там именно call stack написал.
источник

JS

Jerzy Syrowiecki in Haskell
Aleksandr Khristenko
Я не зря там именно call stack написал.
таки зря
источник
2021 January 28

A

Aleksandr Khristenko in Haskell
Jerzy Syrowiecki
таки зря
Почему?
источник

JS

Jerzy Syrowiecki in Haskell
потому что тогда части реплики получаются логически не связанными. в других языках бузина, а в Хаскеле дядька
источник

A

Aleksandr Khristenko in Haskell
Jerzy Syrowiecki
потому что тогда части реплики получаются логически не связанными. в других языках бузина, а в Хаскеле дядька
Да вроде все там связано. В других языках call stack есть. В хаскеле нет.
источник

ЖК

Жук Короед in Haskell
Новый доклад Александра Гранина 😁
https://www.youtube.com/watch?v=BN3JAuGlOgM
источник

c

certifiable fleece in Haskell
Я же могу сочитать fix вместе с IO? Не наткнусь ни на какие ужасы, связанные с ленивостью?
Концепт примерно такой:

action :: IO ()
action = do
 ...
 let
   fun = \loop -> do ... ; loop
 fix fun
 ...
источник

c

certifiable fleece in Haskell
Просто наткнулся на fixIO, но он что-то совсем другое делает.
источник