LINUX.ORG.RU
Форум — Talks  

Тем временем начата разработка Neomacs

 , ,


0

2

Cобственно, сабж: https://github.com/eval-exec/neomacs .

NEO Emacs (в разработке): Emacs с поддержкой GPU, написанный на Rust с современным движком отображения. Цель — современный дизайн и многопоточный Elisp, 10-кратная производительность, конкурентная сборка мусора без пауз и 100% совместимость с Emacs.

«Я создал Neomacs, потому что люблю Emacs, уважаю его и хочу превратить легендарный Emacs в совершенный современный мощный инструмент». — Eval Exec

Emacs, переписанный на Rust, теперь использует графический процессор и исправляет то, чего не смогли сделать 40 лет C. Создан для 100% совместимости с уже имеющейся у вас экосистемой Emacs — вашей конфигурацией, вашими пакетами, вашей мышечной памятью.

Фичи:

  • Текст, изображения и эффекты рендерятся через wgpu (Vulkan/Metal/DX12/GL); ~4000 строк на Rust вместо ~50 000 строк xdisp.c;
  • Мультимедиа в буферах — встроенное 4K-видео (GStreamer + VA-API на Linux), GPU-декодирование изображений, браузер WPE WebKit, GPU-терминал;
  • Анимации повсюду — 8 режимов курсора, 21 эффект прокрутки, 10 переходов буферов с частотой обновления экрана, всё настраивается из Elisp;
  • Хакабельность ниже уровня Lisp — весь фронтенд открыт для Elisp: от эффектов рендеринга до GPU-шейдеров (WGSL) — «хакай пиксели, а не только текст»;
  • Совместимость как контракт — ваш init.el, пакеты и мышечная память; каждая переписанная подсистема сверяется с GNU Emacs как тест-оракулом (включая Doom Emacs);
  • Чистое Rust-ядро — без C: evaluator Elisp, байткод-VM, GC, portable dump и внутренности редактора — безопасный современный Rust.
  • GUI или терминал — один бинарник рендерит на GPU или в TTY (neomacs -nw);
  • Headless-демон — Lisp продолжает работать, именованные локальные клиенты для вычислений или TTY-редактирования;
  • В планах — истинно многопоточный Elisp и конкурентный GC без пауз;
★★★★★

Аутист хренов.

(не ТС, автор)

ant1 ★
()

Абсолютно типичный нейрослопопроект. Подозрения закрались ещё при прочтении README (столько всего невозможного обещать с таким пафосом…).

Вот это, например, образец write-up'а от нейросети: https://github.com/eval-exec/neomacs/blob/main/docs/elisp-core-analysis.md. Кто видел, тот узнает; например, «~168 distinct bytecodes» — человек бы либо посчитал точно, либо бы округлил до 100 или 150.

Conservative stack scanning (alloc.c:4997): walks every pointer-aligned word on the C stack, performing a red-black tree lookup (mem_find) per word to check if it points to a heap object. This is O(stack_depth × log(heap_blocks)).

Если это правда, а не выдумка нейроидиота, то в емаксе и правда какая-то лютая наркомания.

P.S. Нужна утилита как sloccount, только slopcount.

shdown ★★
()
Последнее исправление: shdown (всего исправлений: 1)

Emacs, переписанный на Rust

так ему и надо

olelookoe ★★★★
()
Ответ на: комментарий от shdown

Алсо,

repo/neomacs$ find . -name '*.rs' -type f | grep -Ev '/tests/|^\./test/' | xargs grep -E '\<unsafe {|\<unsafe fn\>|\<unsafe extern "|\<unsafe impl\>|^\s*#\[unsafe\(' | wc -l
3585
repo/neomacs$
3585 ансейфов! Не в комметариях вроде «// we don't do that because it's unsafe», а в коде. Не в тестах, а просто так.

shdown ★★
()

Вау, иишечка позволила задротам наконец-то создать идеальный емакс-IDE, в котором никто не будет писать код, потому что для написания кода есть иишечка!

thesis ★★★★★
()

может хоть так им можно будет пользоваться

yatazet
()
Вы не можете добавлять комментарии в эту тему: только для зарегистрированных, score>=50.