metaclass: (Default)
[personal profile] metaclass
Аааа, в моих интернетах не все преклоняются перед Хаскелем!:

потом товарищ уволится, или его наконец уволят, сей говнокод выкинут к ебеней матери и вменяемый программист перепишет обычным scanf'ом за пару часов, и спокойно пойдет на обед. код будет работать на порядки быстрее и занимать меньше будет, любой другой программист поймет и сможет поддерживать.
к чему вся эта рекурсивная самоебля?

Date: 2011-11-22 02:51 pm (UTC)
From: [identity profile] nicka-startcev.livejournal.com
Зачем нужны восьмибитки?
Ну, малоногое маложручее иногда таки нужно.

Плюс, зачвстую, чисто топологически удобнее поставить стадо мелких 8-биток и не тянуть например тучу силовых проводов по всей конструкции.

Date: 2011-11-22 02:56 pm (UTC)
From: [identity profile] si14.livejournal.com
Ну тут либо шашечки, либо ехать. Либо велосипедить очередную копию кусков линупса, либо писать код, делающий дело.

Date: 2011-11-23 04:24 am (UTC)
From: [identity profile] blackyblack.livejournal.com
8битки уже выходят из моды и писать под них такого рода инфраструктуру никто не будет. А вот под популярные кортексы виртуальную машину эрланга можно было бы переточить.

Date: 2011-11-23 09:09 am (UTC)
From: [identity profile] nicka-startcev.livejournal.com
то есть, когда вам понадобится что-то по сложности подобное сервомашинке, вы к ней сбоку прилепите платку два на два дюйма с кортексом, а не сантиметровую с тинькой? :)

Date: 2011-11-23 09:12 am (UTC)
From: [identity profile] berezovsky.livejournal.com
по-моему мелкая хрень всегда где-нибудь нужна будет

потому всё время появляется какая-то мелкая поебень где надо крутится с памятью и прочим

Date: 2011-11-23 09:31 am (UTC)
From: [identity profile] nicka-startcev.livejournal.com
И это тоже.
как пример - тупые весы. или RC-метр.
Одной ногой заряжаем конденсатор, второй разряжаем, третьей выкидываем результат в компорт. Итого занято пять ног. Ну шесть, если хотим каких-то хитростей. Ставить ради такой задачи plcc-48 или какой-то bga будет несколько избыточно.

Date: 2011-11-23 09:12 am (UTC)
From: [identity profile] metaclass.livejournal.com
хм, STM32 вроде по размерам меньше attiny.

Date: 2011-11-23 09:39 am (UTC)
From: [identity profile] nicka-startcev.livejournal.com
кстати, если я их ни с чем не путаю, у них с компиляторами всё плохо.
гцц нет, родной компилятор платен и глюкав, программатор тоже слегка аццкий и ни с чем не совместимый.

Date: 2011-12-01 06:35 pm (UTC)
From: [identity profile] strelnikovvv.livejournal.com
странно, но и среды разработки кеил и прочая есть и с gcc
нативный гсс тоже нормально кодит.

Date: 2011-11-23 09:13 am (UTC)
From: [identity profile] metaclass.livejournal.com
А, впрочем в soic корпусе attiny меньше.

Date: 2011-11-23 09:23 am (UTC)
From: [identity profile] blackyblack.livejournal.com
Ну во-первых, речь шла о "такого рода инфраструктуре". Было дело, что и тиньку 25 ставили, хотя потом и пожалели, что помощнее не поставили. Во-вторых, кортекс и на сантиметровую платку встанет - см. lpc1111.

Date: 2011-11-23 09:33 am (UTC)
From: [identity profile] nicka-startcev.livejournal.com
это который бга? Сколько слоёв понадобится развести и паяется ли такое на полуколенке?

Date: 2011-11-23 09:49 am (UTC)
From: [identity profile] blackyblack.livejournal.com
Нет, он не бга. TSSOP-20 (пока правда нет в продаже) или HVQFN-33 - обычный, выводной, квадратный.

Date: 2011-11-23 09:15 am (UTC)
From: [identity profile] dmzlj.livejournal.com
Эрланговая не пойдет, но похожую я сделал. С потоками и инкрементальным GC.

Date: 2011-11-23 09:21 am (UTC)
From: [identity profile] blackyblack.livejournal.com
С какими именно потоками? Легковесными как в эрланге? Расскажите поподробнее плиз.

Date: 2011-11-23 09:36 am (UTC)
From: [identity profile] dmzlj.livejournal.com
Легкие потоки + инкрементальный gc. Основное это gc конечно. Собственно, это не столько vm, сколько рантайм к компилируемому языку но можно и использовать как часть vm, привернув интерпретатор байткодов.

Хип иммутабельный, устроен примерно так: http://dmzz.me/post/10875973009/unidirectinal-heap

GC точный, инкрементальный, пакующий, стоимость сборки + компактификации в худшем случае примерно квадратичная, зато оверхед по памяти не более чем одно слово на блок. Выделение памяти строго O(1).

Стек или другая дополнительная память для сборки мусора не требуется.

Язык бесстековый, на каждый поток выделяется памяти примерно вот столько:

typedef struct __task {
    struct __task *next;
    hopc_ar *arhead;
    hcell regs[HOPCREGNUM];
    hopc_task_id id;
    hregmask mask;
    htime_t tsleep;
    htime_t tsleep_since;
} hopc_task;


т.е 22 слова. вероятно, task_id можно будет потом выкинуть. компилятор оптимизирующий, с выделением регистров, например замыкания пытается размыкать и преобразовывать в jmp если это возможно, само собой хвостовая рекурсия ну и т.п, все что положено. Типизация статическая, вывод типов, etc. Компилируется в Си для что бы проще было стыковать с имеющимся кодом + оптимизатор си достаточно эффективно дооптимизирует на низком уровне.





Date: 2011-11-23 10:24 am (UTC)
From: [identity profile] blackyblack.livejournal.com
У вас хостинг сдох.

Date: 2011-11-23 10:33 am (UTC)
From: [identity profile] dmzlj.livejournal.com
Это не у меня, это тубмлр. Оживет.

Date: 2011-11-23 10:31 am (UTC)
From: [identity profile] blackyblack.livejournal.com
А какие мысли по поводу трансплантирования VM эрланга? Хотелось бы всё-таки использовать наработанную инфраструктуру, а не переписывать всё на свой язык.

Date: 2011-11-23 10:34 am (UTC)
From: [identity profile] dmzlj.livejournal.com
Очень жирная и сомневаюсь что эту инфраструктуру практично использовать на микроконтроллерах.

Потом, если кому-то не влом, всегда можно попробовать написать эрланговый фронтенд.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 4th, 2025 10:53 am
Powered by Dreamwidth Studios