Size: a a a

2021 March 07

[

[BRM]White Rabbit in Haskell
(потому что в гхци потестил уже)
источник

к

кана in Haskell
списки ленивые, так что если ты явно не зафорсишь вычисление, то в любом случае будет лениво
источник

[

[BRM]White Rabbit in Haskell
мне всё больше нравится ленивость хаскеля
источник

[

[BRM]White Rabbit in Haskell
В самом начале плевался от неё потому что попалось несколько алгов со спейс ликом, а сейчас норм, чё
источник

A

Andrey in Haskell
а что ты на нём пишешь?
источник

[

[BRM]White Rabbit in Haskell
Andrey
а что ты на нём пишешь?
Пока просто алгоритмики и задачки
источник

[

[BRM]White Rabbit in Haskell
ну, всё, ГПСЧ готов
источник

к

кана in Haskell
ну и все, засовывай это в стейт, получай

type Seed = Int
type Random = State Seed

random' :: Seed -> (Int, Seed)

runRandom :: Seed -> Random a -> a
runRandom = flip evalState

randomInt :: Random Int
randomInt = state random'

randomBy :: Int -> Random Int
randomBy n = fmap (\x -> rem x n) randomInt

randomOf :: [a] -> Random a
randomOf xs = do
 i <- randomBy (length xs)
 pure (xs !! i)

randomChar :: Random Char
randomChar = randomOf ['a'..'z']

randomString :: Random String
randomString = do
 len <- randomBy 50
 replicateM len randomChar

data User = User { name :: String, age :: Int }

randomUser :: Random User
randomUser = do
 name <- randomString
 age <- randomBy 30 -- старше людей не бывает
 pure User {name, age}

generateUsers :: IO [User]
generateUsers = do
 seed <- read <$> readFile "/dev/urandom" -- или как там это сделать правильно
 pure $ runRandom seed (replicateM 10 randomUser)
источник

[

[BRM]White Rabbit in Haskell
нифига ты выдал
источник

MK

Maxim Koltsov in Haskell
Привыкай, это кана
источник

MK

Maxim Koltsov in Haskell
Ему похоже на работе платят за решение чужих проблем в чате)
источник

к

кана in Haskell
консалтинг все таки
источник

[

[BRM]White Rabbit in Haskell
да я просто функцию написал, которая рандом лист интов генерит...
источник

к

кана in Haskell
кстати, я не заметил, что у тебя функция возвращает список, а не пару

если обобщишь до пары, то список бесплатно получишь через repilcateM
источник

к

кана in Haskell
ну и все что выше тоже полубесплатно благодаря стейту
источник

[

[BRM]White Rabbit in Haskell
State это типа паттерна такого? Потому что я не понял, чё ты от меня хошь
источник

к

кана in Haskell
да вон выше в коде я заюзал state
источник

к

кана in Haskell
источник

к

кана in Haskell
отвратная статья какая-то
источник

к

кана in Haskell
[BRM]White Rabbit
State это типа паттерна такого? Потому что я не понял, чё ты от меня хошь
попробуй со своей функцией построить генератор юзеров, или еще каких-нибудь структур
источник