• stg Я правильно помню, что в stg нет связывания unboxed variable с чем-то кроме переменных функции и переменных паттерна? И что сделать глобальную unboxed переменную связанную с каким-нибудь массивом нельзя?

Replies (6)

  • @ndtimofeev, А тебе тут на вопросы про Stg хоть кто-то отвечает? ByteArray# оно? В топлевеле сделать можно?
  • @qnikst, Ну… Ты и @rkit. Не в кафе же с этим идти. В конкретном случае меня интересует то насколько семантика stg позволит мне описать на нём его же рантайм (стеки, операции над ними).
  • @ndtimofeev, Вот в кафе кстати можно и сходить (только потом результаты нам расскажи т.к. интересно), а может даже в ghc-users. Я просто далеко не всегда понимаю про что ты пишешь, и прочитать подробно про стг ленюсь :/
  • @qnikst, Ну… Начал я с того что попытался транслировать stg в lua. Это у меня даже худо бедно получилось, но потом я прочитал диссертацию Боквиста, понял для чего нужны промежуточные языки и понеслась. Сейчас я пытаюсь упростить кодогенератор (который работает с довольно сложным выходным языком) за счёт описания поведения рантайм-системы stg на самом stg.
  • @qnikst, Хм. В той самой статье чёрным по белому сказано что биндингов с разкоробкованными переменными не бывает, поскольку такое связывание должно автоматически приводить к вычислению, а вычислять можно только в case-выражении.
  • @qnikst, Сейчас перечитаю Unboxed values as first class citizens in a non-strict functional language. Может там написано что-то другое.