Size: a a a

Compiler Development

2021 June 12

[

[BRM]White Rabbit in Compiler Development
В этом же вся фишка: ты пишешь программу декларативно, а компилятор переделывает её в стандартный императивный код
источник

AT

Alexander Tchitchigi... in Compiler Development
SSA, например. 😂
источник

AT

Alexander Tchitchigi... in Compiler Development
Это да.
источник

[

[BRM]White Rabbit in Compiler Development
Перекину текст сюда чтоб удобнее обсуждать было
источник

[

[BRM]White Rabbit in Compiler Development
Переслано от Defragmented Panda
Там есть много интересного, типа uniqness type, и код который можно параллелить.

Но это очень далеко от того что я бы хотел.

Это компилятор. Он собирает код для гпу, но этот код уже мало общего с фп имеет после сборки (нет рантайма?). Я понимаю что если мы пишем на фп и в итоге что-то собирается - это программирование на фп. Но я ожидал хотя бы какой-то рантайм.

В идеале self hosting ну или хотя бы близкий к этому. Но нет, он написан на haskell+python. Тулчейн для производства кода через futhark настолько сложен, что впринципе не влезет никуда где мне интересно. Порядка 300кб фп кода я не смогу переписать на что-то другое даже в теории. Даже понять что там вообще происходит в коде шансов мало, из-за того насколько далека система с которой код компилируют (хаскель) и то куда его готовят (гпу)

Эта штука для пк. cuda и opencl намного сложнее чем glsl. Даже их решения в pdf, самые фундаментальные вещи которые они описывают, используют много трюков которые просто отсутствуют в glsl. Ну или очень дорого сэмулировать.

я не думаю что это можно считать честным фп на гпу. производимый этой штукой код мало отличим от кода который бы произвела императивная система.

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

[

[BRM]White Rabbit in Compiler Development
> производимый этой штукой код мало отличим от кода, который бы произвела императивная система
источник

[

[BRM]White Rabbit in Compiler Development
Так в этом же и смысл, нет?
источник

AT

Alexander Tchitchigi... in Compiler Development
Чё-то я не уверен, это тема для данного чата, или про языки?.. 🤔
источник

[

[BRM]White Rabbit in Compiler Development
Ну, мы про трансляцию в ассемблер
источник

[

[BRM]White Rabbit in Compiler Development
Я подумал что это больше к кумпиляторам
источник

AT

Alexander Tchitchigi... in Compiler Development
Вообще, @sand_witch я соверую вам перестать докарываться до @DefragmentedPanda — у него изначально протеворечивые требования, плюс он пытается заранее придумать идеальный язык, так что до программирования чего бы то ни было он не дойдёт никогда. Может, оно и к лучшему — меньше разочарований и нервотрёпки. 😊
источник

[

[BRM]White Rabbit in Compiler Development
Возможно
источник

PS

Peter Sovietov in Compiler Development
А кто у нас все время рекламирует этот futhark? Вам автор не приплачивает? ;)
источник

[

[BRM]White Rabbit in Compiler Development
Там панда (не смотря на множество моих аргументов ранее) сказал, что в фп нельзя кодить под гпу.
Ну ему и кинули пруф.
источник

AT

Alexander Tchitchigi... in Compiler Development
К сожалению, нет. 😒
Не думаю, что у авторов сильно много денег — они же в академии сидят.
источник

AT

Alexander Tchitchigi... in Compiler Development
https://dion.systems/blog_0002_roadmap.html

Интересный заход к реализации языков и систем программирования со стороны формата файлов. Хотя идея и не 100% оригинальная. Любопытно посмотреть как пойдёт и во что выльется.
источник

PS

Peter Sovietov in Compiler Development
В результате создается ложное впечатление, что в области более ничего стоящего нет. Я не спорю, добавление «уникальных типов» к векторному комбинаторному ЯП академически интересно, но не наблюдается результатов сравнения с другими, более известными подходами.
источник

AT

Alexander Tchitchigi... in Compiler Development
Я в деталях не сравнивал, но ничего более стоящего не нашёл. Если кто-то знает более впечатляющие языки -- пусть тоже начинает пропагандировать. 😉
источник

[

[BRM]White Rabbit in Compiler Development
Хаскель не берём?👀
источник

AT

Alexander Tchitchigi... in Compiler Development
Для программирования GPGPU Haskell безусловно хуже. И я знаю про Accelerate, Repa, Massiv.
источник