[Кажется, я пропустил вопрос о Perl6, а не о Perl5.В любом случае, оставив мой ответ, поскольку он может быть интересен для некоторых.]
Насколько я понимаю, Схема и Лисп связаны между собой.Если вместо этого вы в порядке со Scheme, Inline :: MzScheme позволяет иметь блоки кода Scheme в Perl.
Даже если вы не в порядке со Scheme, вы наверняка можете разветвлятьсямодуль для редактирования, чтобы использовать ваш любимый движок Lisp без особых проблем.
Это не совсем то, что вы описали, но, как объяснил Мориц, то, что вы описали, невозможно, потому что нет способа узнать, какие части кодадолжен рассматриваться как код Perl, а какие части должны рассматриваться как код Лисп.
С другой стороны, с помощью подключаемого обработчика токенов 5.14 (используется feature :: qw_comments например, для переопределения qw
, относительно легко сделать следующее:
my $emacs_func = lisp(defun perl-backward-to-start-of-continued-exp (lim)
(if (= (preceding-char) ?\))
(forward-sexp -1))
(beginning-of-line)
(if (<= (point) lim)
(goto-char (1+ lim)))
(skip-chars-forward " \t\f"));
(обратите внимание на добавление lisp
к вашему коду.)