Size: a a a

2021 January 17

JS

Jerzy Syrowiecki in Haskell
Jerzy Syrowiecki
попробуйте заменить print на hPrint stderr и сравнить ещё раз
import System.IO
источник

JS

Jerzy Syrowiecki in Haskell
IC Rainbow
или Debug.Trace.traceM
+ для code надо traceShowM
источник

IO

I O in Haskell
IC Rainbow
type role WrapCollection representational nominal

так всё ещё не знает роль
Тут же проблема в роли f, так что аннотация на Collection никак не поможет. GHC справедливо ругается что из

Coercible (Collection a) (WrapCollection Coercible a)

не следует

forall f . Coercible (f (Collection a)) (f (WrapCollection Coercible a))

тк роль первого аргумента f не обязательно representational. IIUC это никак не пофиксить не изменив определение Distributive, см статью про эту же проблему c Traversable: https://ryanglscott.github.io/2018/06/22/quantifiedconstraints-and-the-trouble-with-traversable/
источник

IR

IC Rainbow in Haskell
да, видел
источник

AV

Andrei V in Haskell
Jerzy Syrowiecki
import System.IO
Сделал, результат тот же
источник

JS

Jerzy Syrowiecki in Haskell
Andrei V
Сделал, результат тот же
о, это интереснее, значит, падает не на toFile, а раньше, например, на загрузке библиотек
источник

JS

Jerzy Syrowiecki in Haskell
я думал, что stack exec только добавляет что-то в окружение, но не убирает
источник

JS

Jerzy Syrowiecki in Haskell
хотя он может добавлять в окружение что-то некорректное
источник

JS

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

JS

Jerzy Syrowiecki in Haskell
ldd файл
и
stack exec -- ldd файл
источник

JS

Jerzy Syrowiecki in Haskell
должен показать пути к библиотекам
источник

AV

Andrei V in Haskell
PS D:\workspace\sar-signal> stack exec -- ldd d:\workspace\sar-signal\.stack-work\install\221c912a\bin\sar-signal-exe.exe
       ntdll.dll => /c/WINDOWS/SYSTEM32/ntdll.dll (0x7ffa1d7b0000)
       KERNEL32.DLL => /c/WINDOWS/System32/KERNEL32.DLL (0x7ffa1c0e0000)
       KERNELBASE.dll => /c/WINDOWS/System32/KERNELBASE.dll (0x7ffa1b450000)
       GDI32.dll => /c/WINDOWS/System32/GDI32.dll (0x7ffa1c350000)
       win32u.dll => /c/WINDOWS/System32/win32u.dll (0x7ffa1b180000)
       dbghelp.dll => /c/WINDOWS/SYSTEM32/dbghelp.dll (0x7ffa18ce0000)
       gdi32full.dll => /c/WINDOWS/System32/gdi32full.dll (0x7ffa1b1b0000)
       ucrtbase.dll => /c/WINDOWS/System32/ucrtbase.dll (0x7ffa1b080000)
       msvcp_win.dll => /c/WINDOWS/System32/msvcp_win.dll (0x7ffa1b770000)
       USER32.dll => /c/WINDOWS/System32/USER32.dll (0x7ffa1d410000)
       msvcrt.dll => /c/WINDOWS/System32/msvcrt.dll (0x7ffa1cb30000)
       PSAPI.DLL => /c/WINDOWS/System32/PSAPI.DLL (0x7ffa1cf90000)
       SHELL32.dll => /c/WINDOWS/System32/SHELL32.dll (0x7ffa1b930000)
       WSOCK32.dll => /c/WINDOWS/SYSTEM32/WSOCK32.dll (0x7ffa06c50000)
       WS2_32.dll => /c/WINDOWS/System32/WS2_32.dll (0x7ffa1c8e0000)
       RPCRT4.dll => /c/WINDOWS/System32/RPCRT4.dll (0x7ffa1c660000)
       libcairo-2.dll => /mingw64/bin/libcairo-2.dll (0x7ffa025b0000)
       dbgcore.DLL => /c/WINDOWS/SYSTEM32/dbgcore.DLL (0x7ffa03270000)
       MSIMG32.dll => /c/WINDOWS/SYSTEM32/MSIMG32.dll (0x7ffa135e0000)
       libgcc_s_seh-1.dll => /c/Users/vandrei/AppData/Local/Programs/stack/x86_64-windows/ghc-8.8.4/mingw/bin/libgcc_s_seh-1.dll (0x61440000)  
       libfontconfig-1.dll => /mingw64/bin/libfontconfig-1.dll (0x7ffa04630000)
       libfreetype-6.dll => /mingw64/bin/libfreetype-6.dll (0x7ff9cc970000)
       libpixman-1-0.dll => /mingw64/bin/libpixman-1-0.dll (0x7ff9bcc00000)
       libpng16-16.dll => /mingw64/bin/libpng16-16.dll (0x68b40000)
       zlib1.dll => /c/Users/vandrei/AppData/Local/Programs/stack/x86_64-windows/ghc-8.8.4/mingw/bin/zlib1.dll (0x62e80000)
       libwinpthread-1.dll => /c/Users/vandrei/AppData/Local/Programs/stack/x86_64-windows/ghc-8.8.4/mingw/bin/libwinpthread-1.dll (0x64940000)
       libexpat-1.dll => /mingw64/bin/libexpat-1.dll (0x7ff9fed70000)
       libbrotlidec.dll => /mingw64/bin/libbrotlidec.dll (0x7ff9fed50000)
       libiconv-2.dll => /mingw64/bin/libiconv-2.dll (0x7ff9bcaf0000)
       libintl-8.dll => /mingw64/bin/libintl-8.dll (0x7ff9fed20000)
       libbz2-1.dll => /mingw64/bin/libbz2-1.dll (0x7ff9f2ce0000)
       ADVAPI32.dll => /c/WINDOWS/System32/ADVAPI32.dll (0x7ffa1c380000)
       sechost.dll => /c/WINDOWS/System32/sechost.dll (0x7ffa1c430000)
       libharfbuzz-0.dll => /mingw64/bin/libharfbuzz-0.dll (0x7ff9bc9f0000)
       USP10.dll => /c/WINDOWS/SYSTEM32/USP10.dll (0x7ff9e18d0000)
       libbrotlicommon.dll => /mingw64/bin/libbrotlicommon.dll (0x7ff9e34d0000)
PS D:\workspace\sar-signal>
источник

AV

Andrei V in Haskell
cairo есть
источник

AV

Andrei V in Haskell
с другой стороны это же тест из окружения mingw на текущий PATH пользователя/системы
источник

AV

Andrei V in Haskell
а внутри stack я оттестирую stack, а не свое приложение не?
источник

JS

Jerzy Syrowiecki in Haskell
конечно, если программа просто работает без stack, то проблемы нет
источник

JS

Jerzy Syrowiecki in Haskell
но интересно, что не так со stack
источник

JS

Jerzy Syrowiecki in Haskell
Andrei V
PS D:\workspace\sar-signal> stack exec -- ldd d:\workspace\sar-signal\.stack-work\install\221c912a\bin\sar-signal-exe.exe
       ntdll.dll => /c/WINDOWS/SYSTEM32/ntdll.dll (0x7ffa1d7b0000)
       KERNEL32.DLL => /c/WINDOWS/System32/KERNEL32.DLL (0x7ffa1c0e0000)
       KERNELBASE.dll => /c/WINDOWS/System32/KERNELBASE.dll (0x7ffa1b450000)
       GDI32.dll => /c/WINDOWS/System32/GDI32.dll (0x7ffa1c350000)
       win32u.dll => /c/WINDOWS/System32/win32u.dll (0x7ffa1b180000)
       dbghelp.dll => /c/WINDOWS/SYSTEM32/dbghelp.dll (0x7ffa18ce0000)
       gdi32full.dll => /c/WINDOWS/System32/gdi32full.dll (0x7ffa1b1b0000)
       ucrtbase.dll => /c/WINDOWS/System32/ucrtbase.dll (0x7ffa1b080000)
       msvcp_win.dll => /c/WINDOWS/System32/msvcp_win.dll (0x7ffa1b770000)
       USER32.dll => /c/WINDOWS/System32/USER32.dll (0x7ffa1d410000)
       msvcrt.dll => /c/WINDOWS/System32/msvcrt.dll (0x7ffa1cb30000)
       PSAPI.DLL => /c/WINDOWS/System32/PSAPI.DLL (0x7ffa1cf90000)
       SHELL32.dll => /c/WINDOWS/System32/SHELL32.dll (0x7ffa1b930000)
       WSOCK32.dll => /c/WINDOWS/SYSTEM32/WSOCK32.dll (0x7ffa06c50000)
       WS2_32.dll => /c/WINDOWS/System32/WS2_32.dll (0x7ffa1c8e0000)
       RPCRT4.dll => /c/WINDOWS/System32/RPCRT4.dll (0x7ffa1c660000)
       libcairo-2.dll => /mingw64/bin/libcairo-2.dll (0x7ffa025b0000)
       dbgcore.DLL => /c/WINDOWS/SYSTEM32/dbgcore.DLL (0x7ffa03270000)
       MSIMG32.dll => /c/WINDOWS/SYSTEM32/MSIMG32.dll (0x7ffa135e0000)
       libgcc_s_seh-1.dll => /c/Users/vandrei/AppData/Local/Programs/stack/x86_64-windows/ghc-8.8.4/mingw/bin/libgcc_s_seh-1.dll (0x61440000)  
       libfontconfig-1.dll => /mingw64/bin/libfontconfig-1.dll (0x7ffa04630000)
       libfreetype-6.dll => /mingw64/bin/libfreetype-6.dll (0x7ff9cc970000)
       libpixman-1-0.dll => /mingw64/bin/libpixman-1-0.dll (0x7ff9bcc00000)
       libpng16-16.dll => /mingw64/bin/libpng16-16.dll (0x68b40000)
       zlib1.dll => /c/Users/vandrei/AppData/Local/Programs/stack/x86_64-windows/ghc-8.8.4/mingw/bin/zlib1.dll (0x62e80000)
       libwinpthread-1.dll => /c/Users/vandrei/AppData/Local/Programs/stack/x86_64-windows/ghc-8.8.4/mingw/bin/libwinpthread-1.dll (0x64940000)
       libexpat-1.dll => /mingw64/bin/libexpat-1.dll (0x7ff9fed70000)
       libbrotlidec.dll => /mingw64/bin/libbrotlidec.dll (0x7ff9fed50000)
       libiconv-2.dll => /mingw64/bin/libiconv-2.dll (0x7ff9bcaf0000)
       libintl-8.dll => /mingw64/bin/libintl-8.dll (0x7ff9fed20000)
       libbz2-1.dll => /mingw64/bin/libbz2-1.dll (0x7ff9f2ce0000)
       ADVAPI32.dll => /c/WINDOWS/System32/ADVAPI32.dll (0x7ffa1c380000)
       sechost.dll => /c/WINDOWS/System32/sechost.dll (0x7ffa1c430000)
       libharfbuzz-0.dll => /mingw64/bin/libharfbuzz-0.dll (0x7ff9bc9f0000)
       USP10.dll => /c/WINDOWS/SYSTEM32/USP10.dll (0x7ff9e18d0000)
       libbrotlicommon.dll => /mingw64/bin/libbrotlicommon.dll (0x7ff9e34d0000)
PS D:\workspace\sar-signal>
есть разница?
источник

AV

Andrei V in Haskell
Jerzy Syrowiecki
есть разница?
не, ldd просто съедает все аргументы
источник

AV

Andrei V in Haskell
нашел stack path, там весьма подробный лог
источник