Первый REPL для 1С (read -> eval -> print -> loop)

Избалован подобными инструментами в других языках — давно хотел сделать нечто подобное для 1С.

Многие пользователи (не только программисты) в параллельных "вселенных" считает, что REPL меняет стиль написания программ довольно существенным образом.. 

Ну а теперь это утверждение можно проверить в 1С 🙂

PS Сделать отдельной обработкой не получается, т.к. фоновые задания работают исключительно с функциями общих модулей. 

Поэтому — если решите перенести это в свою базу, то можно поступить так — перенести только общий модуль REPL и обработку LibOne_RegExp (у нее формы нет, это по сути класс). А вот обработку ReplClient — можно выгрузить во внешнюю обработку и открывать по необходимости — в этой же базе.

Версия платформы: 8.3.10.2639.

6 Comments

  1. Ta_Da

    Т.е. по сути это Табло из 1С 7.7 ?

    Примеры практического применения?

    Reply
  2. kote

    Это как консоль кода, только состояния всех переменных сохраняются.

    В отличии от ИнструментовРазработчика — данные не гоняются туда-сюда (сериализация-десераелизация), а все время «находятся» в памяти на сервере..

    Планируемое практическое применение — как и у всякого REPLа — разработка «по шагам» с возможностью отслеживания состояния программного окружения,

    изменений и тестирования «кусочков» кода в текущем окружении..

    Возможно, есть смысл развить это в направлении т.н. «записных книжек» — типа среды Jupyter/python — которую любят использовать в научных вычислениях и ML / AI..

    Reply
  3. kote

    (1) А в табло можно было код запускать? Что-то не помню такого..

    Reply
  4. PerlAmutor

    (0)

    PS Сделать отдельной обработкой не получается, т.к. фоновые задания работают исключительно с функциями общих модулей.

    Если конфигурация на базе БСП, то общий модуль уже существует. Нужно лишь зарегистрировать обработку с экспортируемой командой в справочнике, например как это делают Инструменты Разработчиков при открытии портативного варианта.

    https://infostart.ru/public/525648/

    Reply
  5. Ta_Da

    (2) Для чего это придумано мне в целом понятно. Но вот как этим реально в 1С пользоваться — не очень (кроме целей обучения). Поэтому и любопытно какой-нить пример увидеть (пусть даже его можно реализовать и без REPL, но чтобы REPL дал какое-то преимущество.

    Reply
  6. kote

    (4) хотелось иметь разработку без внешних зависимостей

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *