Skip to content

v2.2

Choose a tag to compare

@thewizardplusplus thewizardplusplus released this 09 Aug 07:16
· 127 commits to master since this release

Потенциальная поддержка REPL, рефакторинг, улучшения рантайма и библиотеки и новые примеры.

Изменения

  • Перевести имена служебных файлов в верхний регистр #97
  • Возвращать код завершения 1 при перехвате исключения KeyboardInterrupt (Ctrl+C) #101
  • Добавить поддержку shebang #102
  • Привести к единообразию обработку концов строк #116
  • Вернуть поддержку многострочных строковых литералов #132
  • Потенциальная поддержка REPL:
    • Скорректировать обработку исключений во время вычислений #78
    • Поддерживать повторные вычисления с тем же списком функций #79
    • Добавить заглушки для генерируемых функций рантайма #109
    • Хранить ошибки индивидуально в каждом экземпляре парсера #110
  • Рефакторинг:
    • Выделить отдельную функцию для парсинга кода из строки #108
    • Выделить отдельную функцию для выполнения кода из строки #118
    • Выделить логику выбора конкретного файла для загрузки в отдельный подпакет #126
    • Выделить логику кеширования загружаемых файлов в отдельный класс #127
  • Рантайм:
    • Удалить функцию рантайма arity #85
    • Добавление функций:
      • Добавить в рантайм функцию bool #70
      • Добавить в рантайм поддержку NaN и infinity #92
      • Добавить в рантайм константы pi и e #93
      • Добавить в рантайм функцию sleep #106
      • Добавить в рантайм функцию seed #112
      • Добавить в рантайм функцию is_main #129
    • Изменение функций:
      • Добавить функции рантайма env поддержку конфигов .env #72
      • Поменять порядок аргументов в функции рантайма angle #134
      • Функция load:
        • Поддерживать задание внешней реализации функции рантайма load #103
        • Обернуть функцию рантайма load в closure_trampoline #130
  • Библиотека:
    • Дополнить библиотеку для работы со списками #98
    • Поиск файлов при загрузке:
      • Включить библиотеку в pip-пакет #73
      • Добавить место установки pip-пакета как путь для поиска скриптов после переменной MICRO_LIBRARY #74
      • Поддерживать указание нескольких путей в переменной MICRO_LIBRARY #77
    • Изменение функций:
      • Упростить функцию библиотеки ansi #89
      • Доработать функцию библиотеки generate #111
      • Поменять порядок аргументов в функции библиотеки reduce #135
    • Удаление функций:
      • Удалить функцию библиотеки count #105
      • Удалить из библиотеки модуль для юнит-тестирования #107
  • Примеры:
    • Удалить из примеров тесты #83
    • Улучшить стиль кода в примерах #133
    • Выделить общий код из примеров #138
    • Добавление примеров:
      • Добавить новый пример — перцептрон #120
      • Добавить новый пример — множество Мандельброта #121
      • Добавить новый пример — сфера #124
      • Добавить новый пример — 2D-жизнь #125
    • Пример 1D-жизнь:
      • Убрать закольцовывание из примера 1D-жизнь #131
      • Разделить пример 1D-жизни на модули #137
      • Вынести магические константы из примера 1D-жизнь в его параметры #139
  • pip-пакет:
    • Указать в setup.py требуемую версию Python #75
    • Рефакторинг парсинга версии pip-пакета #100
    • Убрать явную установку группы для файла parsetab.py #119
  • Плагин для редактора Atom:
    • Удалить поддержку сниппетов из плагина для редактора Atom #80
    • Упростить обработку отступов в плагине для редактора Atom #81
    • Добавить описание установки в плагин для редактора Atom #82
    • Улучшить стиль кода в плагине для редактора Atom #86
  • Документация:
    • Упростить регулярные выражения для пунктуационных идентификаторов в документации #87
    • Изменить в документации описание типизации со слабой на сильную #99
    • Исправить описание некоторых функций рантайма в документации #117
    • Общее описание:
      • Дополнить описание модульности в документации #123
      • Дополнить описание требований к файлам исходного кода в документации #136
    • Библиотека:
      • Указать наименование (путь) модулей в документации на библиотеку #104
      • Поменять порядок функций в документации на библиотеку #122
    • Оформление:
      • Добавить логотип языка (logo) #90
      • Добавить оглавление к документации #96
      • Исправить знак копирайта #140

Скриншоты

Example of a program in Micro