Size: a a a

2020 April 16

V

Vasilii Demidenok in ErlangRus
Виталий Иванов
В продолжение темы атомов. Как в nif вычитать атом в кодировке UTF? API только работает только с latin1.
http://erlang.org/doc/man/erl_nif.html#enif_get_atom
например допилить вот этот бранч https://github.com/define-null/otp/tree/defnull/enif-get-atom-ut8-support или вытащить имплементацию из него. Я засылал пр, но они хотят полную поддержку utf и на других функциях, типа make_string
источник

ВИ

Виталий Иванов in ErlangRus
Кстати было бы полезно
источник

AK

Aleksey Kluchnikov in ErlangRus
этож блин в стиле 1c писать можно!
источник

ВИ

Виталий Иванов in ErlangRus
Я со строкой помню морочился, но там хоть числа можно получить, потом перевести в UTF.
источник

ВИ

Виталий Иванов in ErlangRus
Типа такого:
               else if (symbol <= ((unsigned long)0x110000))
               {
                   realloc_bin(bin, offset, 4);
                   bin->data[*offset - 4] = (symbol >> 18) | 0xF0;
                   bin->data[*offset - 3] = ((symbol >> 12) | 0x3F) | 0x80;
                   bin->data[*offset - 2] = ((symbol >> 6) | 0x3F) | 0x80;
                   bin->data[*offset - 1] = (symbol & 0x3F) | 0x80;
               }
источник

V

Vasilii Demidenok in ErlangRus
как хак ты можешь например сделать enif_term_to_binary и дальше вычленить часть что тебе нужна
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Есть такой вопрос: можно ли сделать numpy на erlang, и где можно идеи подстмотреть как такое делается если можно
источник

ВИ

Виталий Иванов in ErlangRus
Vasilii Demidenok
например допилить вот этот бранч https://github.com/define-null/otp/tree/defnull/enif-get-atom-ut8-support или вытащить имплементацию из него. Я засылал пр, но они хотят полную поддержку utf и на других функциях, типа make_string
Всего 7 функций получается.
источник

V

Vasilii Demidenok in ErlangRus
и документация конечно)
источник

ВИ

Виталий Иванов in ErlangRus
Vasilii Demidenok
и документация конечно)
Тогда ну их.
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Я немножко не понимаю, почем Питон типа подходит, а Эрланг типа не подходит для тонких биндингов?
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Что там есть чего здесь нету
источник

PG

Pïg Grëënëst in ErlangRus
виртуалка, заточенная под биндинги?
источник

PG

Pïg Grëënëst in ErlangRus
@LamaLove выскажи экспертное мнение
источник

LL

Lama Lover in ErlangRus
Лучший язык для биндингов - zig , дальше идут nim и петон (просто из-за уже кучи готовых биндов)
источник

AB

Alex Bubnov in ErlangRus
Źmićer Rubinštejn
Я немножко не понимаю, почем Питон типа подходит, а Эрланг типа не подходит для тонких биндингов?
В жрланге несколько сложнее - управлять блокировками нужно умнее, многопоточное окружение
источник

AB

Alex Bubnov in ErlangRus
Учёт редукций и yield-ы до появления dirty schedulers
источник

LL

Lama Lover in ErlangRus
Źmićer Rubinštejn
Я немножко не понимаю, почем Питон типа подходит, а Эрланг типа не подходит для тонких биндингов?
Эрланг же заметно больше. В эрланге виртуалка разделяет память, оптимизирует иммутабельные структуры, следит за временем и всё такое, в то время как в петоне интерпретатор сначала парсит файл в кэш, подгружает кэш, а потом аккуратненько исполняет инструкции одна за одной
источник

LL

Lama Lover in ErlangRus
Типа для биндов могла бы подойти и жаба, но она слишком низкоуровневая по сранению c CHAD Python
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Почему нельзя дергать нифку всю дорогу?
источник