Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Язык программирование GitRel
- ### Мотивация
- Я читал треды @metaprog по языку программирования метапрог он писал
- там что начинал разрабатывать язык свой и вдохновил меня я не видел у
- него никакой логики он просто транслировал обычный текстовой язык в
- графический вид ничем не интересный я долго думал чел я хуже него?
- Так я начал разрабатывать язык GitRel мне понравилась идея @metaprog
- об интеграции в cистемах управления версиями и поэтому начал
- разрабатывать свою идею. Идея такова, язык сам по себе, не
- представляет собой ничего полностю интегрированного, он изолирован от
- окружающей среды. Я вдохновился много читал про представление
- различных путей читал научную работу про декартово замкнутые категории
- и ужаснулся что только не придумают, ведь можно сделать проще.
- Вот что я подумал что нужно встроить все отношения внешней стороны
- программирования языка
- (тоесть метапрограммирования, ведь вся
- разработка находится на нашей стороне,
- а мы включаем её в сам язык)
- и вот таким образом я полностю создал новую парадигму
- программирования, поэтому я начал свою разработку с того, что решил
- начать создавать формальную систему. Для этого люди использовали
- теории типов мартина лёфа но я их не понял, решил создать с нуля дабы
- не копировать чужое, так вот, формальная система состоит в
- существовании отношений как синтетических неделимых объектов они будут
- транслироваться потом но с оптимизациями, поэтому строение отношении
- веток, как в гите, мастер и прочие, будут быстрее, по скорости
- сопостовимой с скоростью вычисления ограниченных чисел в си и си плюс плюс.
- Между ветками веток быть не может, я об этом ещё думаю, но это не
- будет бесконечномерным отношением, а поэтому я решил что оно будет
- одномерным. В отличии от метапрога, где всё будет упираться в такую
- сложность, там же блоки можно подключать разными способами, что, как
- мне кажется, очень плохая идея.
- ### Реализация
- Формальная система будет кодироваться на языках баш для склейки моих
- доказательств на формальной системе, на чём формальную систему
- реализовыать я ещё не придумал, может быть на и может какой-то
- ассистент доказательств мог бы подойти но я уже писал про типы, типы
- не нужны, в теории множеств типов нет, они противоестественны по своей
- природе. Поэтому я не буду использовать теорию типов,
- она слишком плохо воспринимается людьми.
- Я согласен с автором метапрога по крайней мере в том, что текущее
- положение дел очень плачевно у нас давно не было революции в
- программировании как например у тьюринга великого человека, не смотря
- а то что он гомосексуальный, так вот, у меня уже есть наброски
- системы, там есть что-то похожее на теорию множеств, но я набросал
- такой подход, что позволяет потом при трансляции в си делать всё
- быстрее, в возможном будущем вместо си будет генерироваться машинный
- код, вместе с верификацией, конечно. А в далёком будущем, для
- верификации будут использоваться дополнительные машины, что будут
- проверять как формальная система отреагирует на мой код, но это я про
- будущее думаю, но мой преподаватель меня похвалил за такую идею.
- ### Философия
- Каждая ветка гита это отдельная вселенная, как в квантовой механике,
- про кота шрёдингера. Он просто расположен в разных ветках гита, в
- одной он мертв, в другой жив. Поэтому я буду пытаться реализовать
- многомировую интепрерацию на моей формальной и динамеческой системе,
- чтобы она запускалась и работала, при этом трансилвалась в гит
- контролировала там всё, а ещё была бы быстрее с и си плас плас, языков
- отсталых из прошлого века
- ### Синтаксис
- Синтаксис - самое важное, ведь синтаксис языка ты видишь, а остальное
- спрятанно внутри, что не так важно для конечного пользователя, поэтому
- сейчас я читаю про BNF и грамматики для генерации языка в ACT, но я
- хочу придумать свой формат представления языка, ведь аст не ACT не
- предусматривает смысловое расположение в разных мирах.
- Пока идея ситаксиса разрабатывается.
- ### Формальная математическая модель
- ```
- U V W - разные миры (ветки гита)
- V - связан с W он бранч просто
- eval - считает один шаг выполнения в мире
- eval(V) ⊂ eval(W) ;; Ведь мир зависимы друг для руга
- connect(V | W) ;; соеденяет наши миры коннект, они смотрят на
- результат, получает значение что не противоречит
- ```
- ### Контакты
- Я всегда готов в конструктивной критике, буду рад её выслушать.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement