Size: a a a

2020 May 24

AV

Alexander Vershilov in Haskell
мне казалось там derefStablePtr делать надо, если он в сишке есть
источник

AV

Alexander Vershilov in Haskell
Там StablePtr это указатель (индекс) в таблице stable объектов
источник

аа

аа ааа in Haskell
есть castStablePtrToPtr :: StablePtr a -> Ptr ()
источник

аа

аа ааа in Haskell
наверн его и надо передавать
источник

AV

Alexander Vershilov in Haskell
скорее всего
источник

AV

Alexander Vershilov in Haskell
а после того как ты вызвал new, то символ никуда не потеряется
источник

AV

Alexander Vershilov in Haskell
а тебе точно надо самому делать eval?
источник

аа

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

AV

Alexander Vershilov in Haskell
Может сделать wrap через foreign export wrapper и дергать его?
источник

аа

аа ааа in Haskell
мне нужно запускать рантайм в определенных условиях
источник

аа

аа ааа in Haskell
и вызывать свою main
источник

AV

Alexander Vershilov in Haskell
хм
источник

AV

Alexander Vershilov in Haskell
источник

AV

Alexander Vershilov in Haskell
я так делал
источник

AV

Alexander Vershilov in Haskell
Capability *cap = rts_lock();

    rts_evalLazyIO(&cap, &Entry_entry_closure, NULL);

    status = rts_getSchedStatus(cap);

    rts_unlock(cap);
источник

AV

Alexander Vershilov in Haskell
module Entry where
import Control.Concurrent
entry :: IO ()
entry = print =<< getNumCapabilities
источник

аа

аа ааа in Haskell
Ну так и сделано по дефолту в ртс
источник

аа

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

аа

аа ааа in Haskell
мне вот так и надо получать
источник

AV

Alexander Vershilov in Haskell
Вот, там всё работало, и перенастраивало конфигурацию процесса (маскировало виртуальные CPU) и подменяло getNumberOfProcessors
источник