Size: a a a

Compiler Development

2020 March 14

p

polunin.ai in Compiler Development
В голове не умещается много различной информации в одно время
источник

G

Gymmasssorla in Compiler Development
polunin.ai
На листочке ты напишешь за пару минут то что на питоне будешь писать минут 10
А я возьму более краткий язык, например, Haskell
источник

FO

FORTRAN ONE LOVE in Compiler Development
polunin.ai
В голове не умещается много различной информации в одно время
Купите дополнительную плашку памяти в моск :)
источник

p

polunin.ai in Compiler Development
Gymmasssorla
А я возьму более краткий язык, например, Haskell
И будешь доказывать компилятору что ты не дурак?)
источник

G

Gymmasssorla in Compiler Development
polunin.ai
Нет, на листочке удобнее писать)
Хорошо, субъективно
источник

G

Gymmasssorla in Compiler Development
polunin.ai
И будешь доказывать компилятору что ты не дурак?)
Воспринимай это не как доказательство компилятору, что я не дурак, а как подсказка от компилятора мне, что я делаю что-то не так
источник

G

Gymmasssorla in Compiler Development
Да, у меня было много случаев, когда я в голове напридумывал что-то, бросился переписывать и наткнулся на фундаментальное ограничение
источник

А

Алексей in Compiler Development
Александр Вольнов
Сейчас нет никакой реализации в принципе. Так как у меня типы могут создаваться динамически, генераторы парсеров не смогут покрыть все возможности языка. Первое, что я планирую сделать - это рантайм парсинг. А генераторы парсеров для частных случаев на языке C сделаю потом. Они пригодятся главным образом для микроконтроллеров, куда полноценный рантайм впихнуть вряд ли получится.
Что-то странное
источник

G

Gymmasssorla in Compiler Development
Gymmasssorla
Да, у меня было много случаев, когда я в голове напридумывал что-то, бросился переписывать и наткнулся на фундаментальное ограничение
Если бы сразу записывал в редакторе, не терял бы время...
источник

p

polunin.ai in Compiler Development
Gymmasssorla
А я возьму более краткий язык, например, Haskell
На листочке ты нарисовал кружочек и название абстракции, сразу нарисовал второй кружок, написал имя другой абстракции, провел линию, характеризующую связь между этими абстракциями, и сразу видно как они связаны. И это все меньше чем за минуту. Сколько я буду это описывать на питоне/хаскеле? И насколько быстро можно будет понять сколько асбтракйий у тебя в системе и характер их связи?
источник

А

Алексей in Compiler Development
Александр Вольнов
Сейчас нет никакой реализации в принципе. Так как у меня типы могут создаваться динамически, генераторы парсеров не смогут покрыть все возможности языка. Первое, что я планирую сделать - это рантайм парсинг. А генераторы парсеров для частных случаев на языке C сделаю потом. Они пригодятся главным образом для микроконтроллеров, куда полноценный рантайм впихнуть вряд ли получится.
Что за возможности мешают парсить как обычно?
источник

DP

Dmitry Ponyatov in Compiler Development
polunin.ai
На листочке ты нарисовал кружочек и название абстракции, сразу нарисовал второй кружок, написал имя другой абстракции, провел линию, характеризующую связь между этими абстракциями, и сразу видно как они связаны. И это все меньше чем за минуту. Сколько я буду это описывать на питоне/хаскеле? И насколько быстро можно будет понять сколько асбтракйий у тебя в системе и характер их связи?
на самом деле действительно не хватает такого языка свободного прототипирования
источник

p

polunin.ai in Compiler Development
Dmitry Ponyatov
на самом деле действительно не хватает такого языка свободного прототипирования
UML
источник

M

MaxGraey in Compiler Development
Gymmasssorla
А я возьму более краткий язык, например, Haskell
Не, лучше бери APL
Вот например  game of life в одну строчку на нем ;)
life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}
источник

DP

Dmitry Ponyatov in Compiler Development
произвольные отношения из Пролога в UML переносятся? что-то есть сомнения....
источник

G

Gymmasssorla in Compiler Development
polunin.ai
На листочке ты нарисовал кружочек и название абстракции, сразу нарисовал второй кружок, написал имя другой абстракции, провел линию, характеризующую связь между этими абстракциями, и сразу видно как они связаны. И это все меньше чем за минуту. Сколько я буду это описывать на питоне/хаскеле? И насколько быстро можно будет понять сколько асбтракйий у тебя в системе и характер их связи?
Например, на Idris это делается ещё быстрее за счёт так называемых "дыр" - это как unimplemented!() в Rust. Твои два кружочка - это типы (которые тоже могут быть дырами), а связь между ними - это функция с дырой внутри. 1/3 за тебя даже интерактивная среда напишет
источник

FO

FORTRAN ONE LOVE in Compiler Development
MaxGraey
Не, лучше бери APL
Вот например  game of life в одну строчку на нем ;)
life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}
О_О
источник

p

polunin.ai in Compiler Development
Gymmasssorla
Например, на Idris это делается ещё быстрее за счёт так называемых "дыр" - это как unimplemented!() в Rust. Твои два кружочка - это типы (которые тоже могут быть дырами), а связь между ними - это функция с дырой внутри. 1/3 за тебя даже интерактивная среда напишет
Ну вот, связь это функция. Нужно распарсить эту функцию ещё. А на диаграмме глянул, сплошная линия, значит ассоциация. И нет никаких лишних символов, таких как типы, аргументы, ::, (), {} и т.д.
источник

АВ

Александр Вольнов in Compiler Development
Lev Walkin
Переизобретаешь ASN.1
В ASN.1 гораздо меньше контроля над бинарным представлением, он не self-describing, соответственно с версионностью и обратной совместимостью будут проблемы.
источник

G

Gymmasssorla in Compiler Development
polunin.ai
Ну вот, связь это функция. Нужно распарсить эту функцию ещё. А на диаграмме глянул, сплошная линия, значит ассоциация. И нет никаких лишних символов, таких как типы, аргументы, ::, (), {} и т.д.
Согласен, визуально лучше воспринимаются диаграммы. Но никто не отменял инструмента, который из исходного кода генерирует диаграммы)
источник