Size: a a a

2021 May 07

[

[BRM]White Rabbit in Haskell
монада есть
доказано
источник

SB

S B in Haskell
Понял тебя.
источник

[

[BRM]White Rabbit in Haskell
(в рамках хаскеля)
источник

SB

S B in Haskell
Мелочишься.
источник

[

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

[

[BRM]White Rabbit in Haskell
😄
источник

MK

Maxim Koltsov in Haskell
*неодобрительно смотрит*
источник

[

[BRM]White Rabbit in Haskell
на что смотришь?
источник

[

[BRM]White Rabbit in Haskell
void $ forkIO $ subscribe bell \b -> do
   putStrLn "Noflash task started"
   forever $ do
     when b $ runCheat noFlash env
     threadDelay 100

 void $ forkIO $ subscribe bell \b -> do
   putStrLn "wallhack task started"
   forever $ when b $ runCheat wallHack env
 
 void $ forever $ do
   flag <- readLn @Int
   signal bell $ flag == 1

Вот такой код.
На скрине вывод в консоль. При том стабильно сохраняется схема 1 0 1 - умерло.
источник

IO

I O in Haskell
Так это опять те же грабли, у Вас в потоке wallhackа идет бесконечный цикл который ничего не делает если b = False, итого все виснет. Я предлагал вынести when вперед forevera,

when b $ forever $ runCheat wallHack env

Тогда если b = True будет идти какая-то осмысленная работа в цикле, а иначе все сразу завершится
источник

[

[BRM]White Rabbit in Haskell
понял, мне просто это надо не только для вкл/выкл, нужно ещё конфиг для работы, например, менять.
Но если там внутри forever io в любом варианте будет, то всё норм?
источник

OS

Oleksandr Shyshko in Haskell
вопрос по TH: как указать тип String для каждого определения?

import           Language.Haskell.TH
import           Language.Haskell.TH.Syntax

mkRes :: Q [Dec]
mkRes =
   forM ["a", "b", "c"] $ \name ->
       return $ FunD
           (mkName name)
           [Clause [] (NormalB $ LitE $ StringL name) []]
источник

IO

I O in Haskell
Так меняйте конфиг, в чем проблема

subscribe foo \(enable, config) -> when enable $ forever $ runSmth config


Если я правильно понимаю устройство ртс гхц то да, любое ио должно вызывать шедулер

Ну и если уж так много проблем вылазит можно просто -fno-omit-yields влепить и не париться
источник

[

[BRM]White Rabbit in Haskell
всё, спасибо
источник

[

[BRM]White Rabbit in Haskell
доп флаги компилятору это для слабаков (хочется научиться без них сначала кодить)
источник

IO

I O in Haskell
Смеялся я когда-то что в плюсах бесконечные циклы без наблюдаемых сайдэффектов UB, а вот щас уже как-то не смешно стало
источник

IO

I O in Haskell
Ну тут ситуация немного другая имхо, тут флаг исправляет баг самого компилятора
источник

[

[BRM]White Rabbit in Haskell
так, оно скомпилилось, теперь точно работает
источник

JS

Jerzy Syrowiecki in Haskell
так это не теоркат, а Хаскель
источник

JS

Jerzy Syrowiecki in Haskell
> runQ [d| x :: String; x = 42 |]
[ SigD x_0 ( ConT GHC.Base.String )
, ValD ( VarP x_0 )
   ( NormalB
       ( LitE
           ( IntegerL 42 )
       )
   ) []
]
источник