|
|
@@ -54,19 +54,22 @@
|
|
|
Вариант 1: Явный блок низкоуровневый с контекстным предупреждением
|
|
|
|
|
|
```lisp
|
|
|
-(фн обработать_данные(вход: Список.Байт) Список.Байт) (
|
|
|
+(фн обработать_данные(вход: Список.Байт) Список.Байт (
|
|
|
(// Высокий уровень — чисто, безопасно)
|
|
|
- (фильтр_для вход (x > 10)( x * 2)
|
|
|
+ (фильтр_для вход
|
|
|
+ (x > 10)
|
|
|
+ ( x * 2))
|
|
|
+ )
|
|
|
)
|
|
|
|
|
|
(// Внимание! Здесь действуют другие законы)
|
|
|
(фн @система скопировать_память(источник: конст.Байт, цель: изм.Байт, длина: Цел) (
|
|
|
- (цикл_для (изм i (знач 0)) длина
|
|
|
+ (цикл_для (перем i (= 0)) до длина
|
|
|
(// Прямое обращение к памяти)
|
|
|
(асм
|
|
|
- @прог_уровень: 3
|
|
|
- @одобрение: нужно
|
|
|
- уст цель i из источник i )
|
|
|
+ @прог_уровень: 3
|
|
|
+ @одобрение: нужно
|
|
|
+ уст цель i из источник i ))
|
|
|
)
|
|
|
)
|
|
|
```
|
|
|
@@ -98,6 +101,7 @@
|
|
|
ядро.асм)
|
|
|
|
|
|
(фн @система быстрая_копия(...) (...))
|
|
|
+ )
|
|
|
)
|
|
|
```
|
|
|
|
|
|
@@ -124,10 +128,10 @@
|
|
|
Вариант 3: Гибридный синтаксис с "прозрачным спуском"
|
|
|
|
|
|
```lisp
|
|
|
-(фн обработка() (
|
|
|
- (изм данные (знач вызов получить_данные)
|
|
|
+(фн обработка (
|
|
|
+ (перем данные (= вызов получить_данные)
|
|
|
(// Высокий уровень)
|
|
|
- (изм результат (знач данные
|
|
|
+ (перем результат (
|
|
|
группировать_по данные (данные.ключ)
|
|
|
суммировать_по данные (данные.значение))
|
|
|
)
|
|
|
@@ -159,8 +163,8 @@
|
|
|
Вариант 4: Интеграция с системой обучения (обучающий компилятор)
|
|
|
|
|
|
```lisp
|
|
|
-(фн @система работа_с_памятью() (
|
|
|
- (конст указатель (знач выделить_память 1024 ))
|
|
|
+(фн @система работа_с_памятью (
|
|
|
+ (конст указатель (= выделить_память(1024) ))
|
|
|
(// Компилятор замечает:
|
|
|
"Вы используете сырые указатели
|
|
|
Если уровень < 3 → предлагает:
|