Size: a a a

Compiler Development

2020 January 04

AT

Alexander Tchitchigin in Compiler Development
источник

AK

Andrei Kurosh in Compiler Development
Михаил Бахтерев
Переход русский-английский не так уж... Эмс. Естественнен
Вот поэтому я и считаю, что бесполезно пытаться угодить сразу всем в одном языке. Английский - оптимальный вариант
источник

МБ

Михаил Бахтерев in Compiler Development
Andrei Kurosh
Вот поэтому я и считаю, что бесполезно пытаться угодить сразу всем в одном языке. Английский - оптимальный вариант
Не всегда. Знакомый делает язык для чиновников, не знаю, каких. Но говорит, надо русский, потому что всех этих бабушек переучить невозможно. А кодить немного и автоматизировать они в состоянии.
источник

МБ

Михаил Бахтерев in Compiler Development
Всё от целей зависит
источник

AK

Andrei Kurosh in Compiler Development
Михаил Бахтерев
Не всегда. Знакомый делает язык для чиновников, не знаю, каких. Но говорит, надо русский, потому что всех этих бабушек переучить невозможно. А кодить немного и автоматизировать они в состоянии.
В общем согласен, но это скорее DSL, нежели самодостаточные языки - вот там правила и локальные особенности могут быть какие хочешь
источник

МБ

Михаил Бахтерев in Compiler Development
Ну. Мне кажется, если нет задачи осчастливить Галактику и Человечество ещё одним Идеальным Языком Программирования, то можно сделать и локализованный синтаксис.
источник

МБ

Михаил Бахтерев in Compiler Development
Даже если это не DSL. Я скорее о том, что просто переименование кейвордов сделать можно (это не так сложно), но толку в этом не так уж и много.
источник

AK

Andrei Kurosh in Compiler Development
Для такого языка вполне можно выбрать один человеческий язык (будь то английский, русский а-ля 1C, корейский для расовых корейцев и т.д.), не  замахиваясь на полный юникод для идентификаторов - и никакой особенной проблемы это не создаст
источник

МБ

Михаил Бахтерев in Compiler Development
А в чём сложности с юникодом? Я стырил из plan9 библиотечку для чтения рун, ну, и оно работает
источник

AK

Andrei Kurosh in Compiler Development
Выше же обсуждали, в чем трудности
источник

M

MaxGraey in Compiler Development
Andrei Kurosh
Выше же обсуждали, в чем трудности
Основные проблемы это редакторы без fuzzy search, а так никаких препятствий по-сути
источник

AK

Andrei Kurosh in Compiler Development
MaxGraey
Основные проблемы это редакторы без fuzzy search, а так никаких препятствий по-сути
Также нельзя опираться на регистр символов
источник

AK

Andrei Kurosh in Compiler Development
Плюс fuzzy search тоже не панацея - ложные срабатывания, бОльшая ресурсоемкость, помогает только с поиском а не с когнитивной функцией и т.д.
источник

AK

Andrei Kurosh in Compiler Development
Короче говоря, сначала дать пользователю полную свободу, а потом всем миром придумывать как с этим жить чтобы было не так больно - это уже проходили в виде JS
источник

M

MaxGraey in Compiler Development
Andrei Kurosh
Короче говоря, сначала дать пользователю полную свободу, а потом всем миром придумывать как с этим жить чтобы было не так больно - это уже проходили в виде JS
источник

BD

Berkus Decker in Compiler Development
Andrei Kurosh
Переведенных языков много. Речь была именно о том, что юникод позволяет использовать любые сочетания одновременно, а ключевые слова только на одном. Надо сделать язык, где у них должны быть синонимы для всех других языков сразу, чтобы никому не было неудобно :)
источник

AK

Andrei Kurosh in Compiler Development
Звучит любопытно, надо посмотреть повнимательнее
источник

BD

Berkus Decker in Compiler Development
Andrei Kurosh
Звучит любопытно, надо посмотреть повнимательнее
Что-то типа проекционного редактора для аст в jb mps, плюс рендеринг в несколько «синтаксисов».
источник

BD

Berkus Decker in Compiler Development
Забавная штука, жаль они позиционируют себя как тул для веб-разработки.
источник

K

Kir in Compiler Development
Вопрос.

В жаваскрипте можно делать name capture в объектах:
let a = 1

let b = {foo: 2, a}

У меня в языке так получилось, что нужно перед a сделать какое-то слово. Я пробовал capture, но оно длинное:
{
 foo = 2
 capture a
}

Я пробовал pin, но оно уж больно многозначное:
{
 foo = 2
 pin a
}

Что тут можно придумать?
источник