Dmitry
Не, там не через include надо
Dmitry
Глянь inline-c пакет
Dmitry
Завтра подробнее смогу ответить. У меня сейчас ночь
.sυλ
Глянь inline-c пакет
Выглядит очень впечатляюще. Но при компиляции примера из ридми пакета ошибка сегментирования
.sυλ
Через кабал установился нормально
Anatolii
.sυλ
Стоило только свежую Haskell Platform поставить. Что ему надо?
Евгений
У тебя убунта?
.sυλ
Хамелеон
Евгений
Короче я не знаю что это такое, но тебе нужно поставить gnu ld...
Andrei
или binutils-gold, емнип
a66ath
Котаны, а что там с Intermediate Haskell
a66ath
Половина 2018 уже прошла
Anton
a66ath
Книга
Anton
Книга
Перевод или от какого-то англоязычного автора?
Anton
Книга
Я просто Новичок в Haskell
a66ath
Ни то ни другое
Anton
a66ath
Англоязычная книга от русскоязычных авторов
a66ath
Походу мертвая немношк
Anton
Anton
На русском и так мало материала
Anton
Fuck my mind
a66ath
Зачем тебе на русском?
Anton
a66ath
Мало же материала, сам говорил
Anton
Ну вот
a66ath
Ну я на английском все читаю. Брат жив, зависимости нет
Vladislav
Парсер GHC это такая помойка, такой бардак, такой кошмар, уххх, никак не отойду.
Vladislav
Сейчас пришлось там рыться.
Vladislav
Лучше, конечно, я ничего предложить не могу, там просто всё плохо из-за ужасного синтаксиса Хаскеля. Например, ~ используется и для laziness annotations, и для equality constraints.
Vladislav
То есть проблема в большей мере в задаче, а не реализации. Парсить Хаскель - это смерть
Vladislav
Со всеми расширениями если
a66ath
Кресты попарси
a66ath
Пасер крестов это 1.15 мегабайт сишного кода
a66ath
почти 40k строк
Vladislav
Да кресты нейронкой парсить надо
Vladislav
Обучить ее на куче кода, чтобы отличала >> в темплейтах от оператора
Dmitry
Подскажите, а есть какие-нибудь пакеты, чтобы запускать ghci (ну или вообще repl) в haskell-проекте? Чтобы смотреть состояния переменных и т.п.
Andrey
а проект чем управляется?
так, stack repl, например
Dmitry
Не, я имею ввиду, в запущенной программе
Dmitry
Например, чтобы можно было подключиться к какому-нибудь порту и получить repl к внутренностям программы.
Dmitry
Ну типа ekg
Dmitry
Только для моих глобальных переменных.
Dmitry
Пока мы тут, в чятике, бесплатно советы друг другу даём, ребята уже вовсю это дело монетизируют: https://monadfix.io/
Влод
Влод
Да и можешь присоединиться к ним
Dmitry
Брать по $100/mo за участие в этом чятике?
Dmitry
Подумаю над этим
Andrey
или не брать ничего
Aleksei (astynax)
Не, я имею ввиду, в запущенной программе
Запущенная программа уже скомпилирована, никакого REPL к ней не подключить - это вам не интерпретируемая кложура. Но можно запустить REPL, оттуда сделать forkIO main и, пока программа работает в фоне, тыкать в переменные (а они правда переменные? IORef/MVar/вот это всё?)
Cheese
Alexander
на канале 1/3 активны
Alexander
Aleksei (astynax)
В скомпиленой программе не встроен компилятор
Alexander
или даже startReplWith a -> IO ()
Alexander
так ты компилируешь ее сам с этой функцией, можно и компилятор встроиь
Aleksei (astynax)
Для работы REPL нужен компилятор
Alexander
через зависимости отладчика
Aleksei (astynax)
Нельзя
Cheese
компилятор чисто механически можно встроить, сложно объекты прокинуть
Alexander
если я не ошибаюсь, в тот мже xmonad встроен комплиятор для чтения конфигов
Aleksei (astynax)
не встроен
Aleksei (astynax)
Внешний вызывается. Потом бинарник себя заменяет на новую копию
Alexander
а, понял
Aleksei (astynax)
Есть всякие интерпретаторы хаскеля, которые можно встраивать. Но это не полноценный GHC - поделки для обработки "скриптов на хаскеле"
Alexander
ну если туда можно пробросить переменные - почему бы и нет?
Cheese
Aleksei (astynax)
Есть у меня сомнения, что из такого интерпретатора можно многое посмотреть. Только если какие рефы пробросить явно
Cheese
а ещё можно наоборот — запускать ghci, а из него — программу. только будет тормозить
Cheese
теоретически, ghci мог бы подключаться к работающему процессу как отладчик (gdb так умеет). нет у него такой функции?
Dmitry
Ну, в конце концов, можно ж объект (содержимое MVar) сериализовать и показывать его в localhost:5555 (к примеру) в какой-нить web-формочке. Ну и редактировать и десериализировать его обратно. Просто хотелось бы к этому "голому" редактированию добавить всякие Haskell-плюшки, то, что даёт ghci.
Cheese
а ещё можно для gdb написать модули для отображения сырых данных в более близком к языку виде. для Питона такие есть, например
Евгений
А разве не бывает ghci as library?
Евгений
Иначе как эти вашт ide-приблуды работают?
Alexander
ghc-mod
Cheese
GHC/As a library - HaskellWiki
https://wiki.haskell.org/GHC/As_a_library#Running_interactive_statements