PascalABC.NET версия 3.0

Что нового:

Лицензия

PascalABC.NET стал свободным продуктом под лицензией LGPL. Репозитарий PascalABC.NET6 находится на GitHub

Разработка Development

Приглашаются новые разработчики для совершенствования следующих подсистем:

  • языка
  • компилятора
  • оболочки
  • Web-среды
  • модулей
  • справки и документации

Подсистемы

  • Web-среда актуализирована до версии 3.0
  • Кардинально обновлена и актуализирована справочная система.
  • Актуализирована Online справочная система3
  • Обновлён Programming Taskbook до версии 4.14, появились задачи LinqBegin и LinqObject.

Язык программирования

  • Реализованы русские идентификаторы
  • Полностью реализованы лямбды, в т.ч. вложенные лямбды, замыкания
  • Реализовано описание процедурного типа в виде T->T, ()->T,(T1,T2)->()
begin
  var f: real->real;
  f := x->x*sin(x);
   // русский комментарий
end.
  • Реализован тип sequence of T как синоним типа IEnumerable
  • Реализован case по строкам
  • Реализован автовывод типов в цикле foreach
  • Реализованы автоклассы: type Point = auto class x,y: integer; end;

Компилятор

  • Ускорено выполнение foreach по контейнеру с размерными типами.
  • Кардинально улучшен автовывод типов для лямбда-выражений.
  • Ускорено выполнение foreach по контейнеру с размерными типами
  • Уменьшено потребление памяти при компиляции
  • Уменьшен размер генерируемого exe-файла и ускорена компиляция по Ctrl-F9

Стандартные модули

  • Добавлен ряд методов расширения для sequence of T: Sorted, Print, JoinIntoString, ForEach, операции + (конкатенация), * (умножение на число)
  • Добавлен ряд функций для генерации последовательностей: Seq, SeqFill, SeqGen, SeqRandom, SeqRandomReal, SeqWhile, Range, ReadSeq…
  • Добавлен ряд функций для генерации динамических массивов: Arr, ArrFill, ArrGen, ArrRandom, MatrixRandom, ReadArr…
  • Добавлены стандартные подпрограммы Print, Sort, MillisecondsDelta, OpenRead, OpenWrite и OpenAppend
  • Для типа string реализованы методы расширения ToWords, ToIntegers, ToReals, ToInteger, ToReal, ReadInteger, ReadReal, ReadWord, Inverse
  • Для файловых типов добавлен ряд методов
  • Основные имена коллекций и интерфейсов перенесены из System.Collections.Generic в системный модуль PABCSystem

Интегрированная среда

  • Интегрированная среда адаптирована к высоким разрешениям экрана.
  • Модуль GraphABC адаптирован к высоким разрешениям экрана.
  • Реализован переход к определению по Ctrl-Click
  • Реализован выбор пути папки PABCWork.NET при инсталляции
  • Реализовано докирование окон