Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Sophie
    @sofelvpopel
    я тут спрашивала про atan2
    написала функцию, которая вычисляет угол в радианах, если угол находится в третьей четверти
    Sophie
    @sofelvpopel
    она ведь правильно работает? вроде бы правильно, но может я что-то не учла
    Yuriy Syrovetskiy
    @cblp
    правильно или неправильно — это вы сами можете проверить
    перечитайте задание и документацию к atan2 — ей передаётся сначала y, потом x
    Yuriy Syrovetskiy
    @cblp
    atan2 y x вычисляет правильный угол без каких-либо преобразований x и y
    а вот после atan2 угол надо поправить в соответствии с условием задачи, то есть половину значений передвинуть
    xruzzz
    @xruzzz
    Всем привет!
    Подскажите пожалуйста, как правильно добавить Paths_<package_name> в файл для stack package.yaml, так не получается:
    other-modules:
    - Paths_password_manager
    Yuriy Syrovetskiy
    @cblp
    что именно не получается?
    это внутри компонента написано?
    xruzzz
    @xruzzz
    всё понял, ошибся в <package_name>, спасибо
    oofp
    @oofp
    Пытаюсь использовать haskell-gi на Windows10. Следую шаги отсюда: https://github.com/haskell-gi/haskell-gi/wiki/Using-haskell-gi-in-Windows. Получаю " undefined reference", Видимо неправильная подключается. Как это можно исправить, please? C:\sr\snapshots\cd07658e\lib\x86_64-windows-ghc-8.0.2\gi-glib-2.0.15-dAYzwfbrx7DPq6t4pzCOB/libHSgi-glib-2.0.15-dAYzwfbrx7DPq6t4pzCOB.a(DateTime.o):fake:(.text+0x1c73d): undefined reference to `g_date_time_get_timezone' C:\sr\snapshots\cd07658e\lib\x86_64-windows-ghc-8.0.2\gi-glib-2.0.15-dAYzwfbrx7DPq6t4pzCOB/libHSgi-glib-2.0.15-dAYzwfbrx7DPq6t4pzCOB.a(TimeZone.o):fake:(.text+0x1d0d): undefined reference to `g_time_zone_new_offset' C:\sr\snapshots\cd07658e\lib\x86_64-windows-ghc-8.0.2\gi-glib-2.0.15-dAYzwfbrx7DPq6t4pzCOB/libHSgi-glib-2.0.15-dAYzwfbrx7DPq6t4pzCOB.a(TimeZone.o):fake:(.text+0x6325): undefined reference to `g_time_zone_get_identifier' collect2.exe: error: ld returned 1 exit status
    Yuriy Syrovetskiy
    @cblp
    а на линуксе то же самое работает?
    oofp
    @oofp
    Да, работает
    Yuriy Syrovetskiy
    @cblp
    ок, значит, связано с виндовой спецификой
    или эта функция не предоставляется той библиотекой, в которой ожидается
    или библиотека не той версии
    oofp
    @oofp
    скорее последнее , так многие решили эту задачу судя по: commercialhaskell/stack#3154
    Sophie
    @sofelvpopel
    Есть кто живой?
    нужна помощь в разборе задачи по хаскелю
    nponeccop
    @nponeccop
    вы спрашивайте а мы как оживём ответим
    Sophie
    @sofelvpopel
    как работает writeArray ?
    и newListArray
    Yuriy Syrovetskiy
    @cblp
    для массивов лучше использовать пакет vector
    они работают именно так, как написано в документации
    что именно непонятно?
    nponeccop
    @nponeccop
    Ну если "разбор задачи" то наверняка надо использовать то, что указано в условии
    main = do
       arr <- newArray 0 (0, 99)
       writeArray arr 3 10
       print arr
    Использовать как-то так
    newArray создает массив, а writeArray изменяет элемент. Но это всё есть в документации. В-общем, уточяйте
    Danil Berestov
    @GooseDB
    Объясните, пожалуйста, как по-человечески ловить исключения io. Всё, что я видел в статьях и учебниках выглядит как-то странно и несерьёзно. Конкретный пример: в библиотеке wreq есть функция get. Вот как мне поймать исключения её вызова? Я не нашёл даже то, КАКИЕ исключения она может бросить. Как с этим жить, где искать?
    nponeccop
    @nponeccop

    http://www.serpentine.com/wreq/tutorial.html раздел Error handling

    искать как правило в исходных текстах, в этот раз повезло что есть туториал (который впрочем может оказаться устаревшим)

    Как с этим жить? Считать, что все используемые либы ты принимаешь на поддержку. И слать багрепорты/pr а то и поддерживать форк
    nponeccop
    @nponeccop
    TLDR: бросает HttpException, ловить с помощью Control.Exception.catch
    Yuriy Syrovetskiy
    @cblp
    в телеграме уже посоветовали перейти на req
    а также выяснили, что вопрошающему не надо различать исключения
    nponeccop
    @nponeccop

    в телеграме уже посоветовали перейти на req

    Ну мне такие советы не нравятся, напоминает бессмертное :)

    Если что-то не работает в дистрибутиве X – то это неправильный дистрибутив, надо просто докупить правильный дистрибутив Y. Так как дистрибутивов в линуксе как у дурака фантиков, то процесс ограничен вторым законом термодинамики и возрастом Галактики. Разбираться в проблеме не нужно, т.к. в линуксе всё идеально и само работает – надо просто неправильное заменить на правильное.

    Ну только s/линукс/x-ь/g
    Andrei Dziahel
    @develop7
    это в той серии, где у вопрошающего не было кода почти совсем и в принципе было пофиг, чем именно пользоваться?
    nponeccop
    @nponeccop
    я не сначала сериал смотреть начал :)
    Yuriy Syrovetskiy
    @cblp
    просто req чуть лучше поддерживается, чуть проще для новичка, и лучше задокументирован, в частности, в том, что касается выбрасываемых исключений
    nponeccop
    @nponeccop
    ясно
    oofp
    @oofp

    Например есть простой АДТ: data RGB =R | G | B deriving Enum

    Есть ли возможность derive type level лист: type RGBList = '[R,G,B] или надо каждый раз руками? Спасибо

    Вероятно что то есть что использует TH?
    Yuriy Syrovetskiy
    @cblp
    для простого АТД проще руками
    на TH написать несложно, готового, кажется, нет
    oofp
    @oofp
    @cblp руками будет 'error prone'. тут посоветовали promoteEnumInstances from singletons
    попробую разобраться
    Yuriy Syrovetskiy
    @cblp
    error prone, если у вас много таких
    Paul Khuzhin
    @Paul1298
    Здравствуйте. Не подскажете, как, используя stack на ubuntu 19.04, сделать кросс-платформенный испольняемый файл?
    Yuriy Syrovetskiy
    @cblp
    см. ../forall