Size: a a a

Compiler Development

2021 January 02

IP

Iaroslav Postovalov in Compiler Development
лучше просто сделать достаточно быстрый рантайм, чтобы сделать родной ndarray
источник

VT

Vasiliy Tereshkov in Compiler Development
d t
Просмотрел  "std.um" - https://github.com/vtereshkov/umka-lang/blob/master/import/std.um. Из минимума можно добавить словарь какой - если конечно уже не добавили. Неплохо бы уметь переупорядочивать массив стандартными средствами, а не "ручками", а также искать в нем.
Да, сам думал об этом. Со словарями пока взял паузу, поскольку не знаю, как лучше:
1) Добавить встроенный тип map, как в Go.
2) Сделать generics - а map тогда получится сам собой.
3) Написать ограниченную реализацию map (только с ключами-строками). Интересно, а не строки в качестве ключей часто нужны? Какие-нибудь разреженные массивы?
источник

VT

Vasiliy Tereshkov in Compiler Development
d t
И, простите, язык назвать "Гошка", а не "Умка".
Э, нет :) Умка - это кот, его не переименуешь.
источник

VT

Vasiliy Tereshkov in Compiler Development
Iaroslav Postovalov
подход нампая довольно отвратителен в плане того, что добавить или исправить в нем сейчас что-то нереально
А отвратительность именно в том, что там чуть ли не фортрановские библиотеки из 70-х? Зато эти библиотеки (надеюсь) выверены на предмет багов и всяких крайних случаев.
источник

IP

Iaroslav Postovalov in Compiler Development
Vasiliy Tereshkov
А отвратительность именно в том, что там чуть ли не фортрановские библиотеки из 70-х? Зато эти библиотеки (надеюсь) выверены на предмет багов и всяких крайних случаев.
во-первых из-за этого, во-вторых из-за того, что оно гвоздями прибито к биндингам и типам данных внутри массивов.
источник

IP

Iaroslav Postovalov in Compiler Development
Vasiliy Tereshkov
А отвратительность именно в том, что там чуть ли не фортрановские библиотеки из 70-х? Зато эти библиотеки (надеюсь) выверены на предмет багов и всяких крайних случаев.
они выверены на предмет большинства багов, но там не так давно был цирк, что какой-то баг починили, что-то сломалось, и в следующем релизе этот баг вернули
источник

IP

Iaroslav Postovalov in Compiler Development
может быть, сейчас найду
источник

IP

Iaroslav Postovalov in Compiler Development
источник

VT

Vasiliy Tereshkov in Compiler Development
Iaroslav Postovalov
во-первых из-за этого, во-вторых из-за того, что оно гвоздями прибито к биндингам и типам данных внутри массивов.
Понятно. Но просто всем (и мне тоже) страшновато писать всё это с нуля. Вот и берут готовый BLAS или что там ещё есть. Написать обращение матрицы - вроде бы, дело несложное. Но там же не только оно. Простую библиотечку я себе уже написал, и минимальные потребности в том, что нужно по работе, она покрыла. Но NumPy - уже совершенно другие масштабы.

https://github.com/vtereshkov/umka-lang/blob/master/import/mat.um
источник

VT

Vasiliy Tereshkov in Compiler Development
Iaroslav Postovalov
лучше просто сделать достаточно быстрый рантайм, чтобы сделать родной ndarray
А вот это точно непросто!
источник

IP

Iaroslav Postovalov in Compiler Development
Vasiliy Tereshkov
Понятно. Но просто всем (и мне тоже) страшновато писать всё это с нуля. Вот и берут готовый BLAS или что там ещё есть. Написать обращение матрицы - вроде бы, дело несложное. Но там же не только оно. Простую библиотечку я себе уже написал, и минимальные потребности в том, что нужно по работе, она покрыла. Но NumPy - уже совершенно другие масштабы.

https://github.com/vtereshkov/umka-lang/blob/master/import/mat.um
ну вот если вариантов, кроме биндинга к BLAS нет, то надо биндиться к BLAS. лично я для этого использовал GNU Scientific Library и кодген
источник

BD

Berkus Decker in Compiler Development
Quantity = количество
источник

IP

Iaroslav Postovalov in Compiler Development
Vasiliy Tereshkov
А вот это точно непросто!
кстати, а umka, он раскручен?
источник

VT

Vasiliy Tereshkov in Compiler Development
Iaroslav Postovalov
кстати, а umka, он раскручен?
В смысле?
источник

IP

Iaroslav Postovalov in Compiler Development
Vasiliy Tereshkov
В смысле?
компилятор umka на umka?
источник

VT

Vasiliy Tereshkov in Compiler Development
Iaroslav Postovalov
компилятор umka на umka?
Нет, это интерпретатор. Смысла в самокомпиляции особого нет.
источник

M

MrSmith in Compiler Development
Berkus Decker
Quantity = количество
Не понятно тока что это означает для значений
источник

M

MrSmith in Compiler Development
Упорядочены они или нет
источник

M

MrSmith in Compiler Development
Что это вообше
источник

dt

d t in Compiler Development
Vasiliy Tereshkov
Да, сам думал об этом. Со словарями пока взял паузу, поскольку не знаю, как лучше:
1) Добавить встроенный тип map, как в Go.
2) Сделать generics - а map тогда получится сам собой.
3) Написать ограниченную реализацию map (только с ключами-строками). Интересно, а не строки в качестве ключей часто нужны? Какие-нибудь разреженные массивы?
Я за эффективную реализацию - для интерпретируемого языка видимо это первый вариант.

Про "generics". Хорошо когда обобщенное программирование не "отличается" от не обобщенного. Если придется вводить новые конструкции - возможно у вас очередная помойка в качестве языка.

По поводу библиотеки. Считаю что не нужно тащить в нее что либо, пока оно не пригодилось.
1) Так меньше шансов затащить ненужного говна, которое позже сами же не будете поддерживать. Например, без доказательств: В питоне понатащили всякого, а поддерживать часть из этого некому; Джосатис писал в своей книге про библиотеку плюсовую, что они затащили std::valarray, но поддерживать его некому - в данном случае речь видимо не про реализацию. Сам джосатис учавствует\учавствовал в плюсовом комитете.
2) Меньше шансов потратить время зря, ну или больше шансов в каждый момент времени тратить его на задачи, необходимые в данный момент.
источник