Skip to content

Commit a2031f0

Browse files
Issue #142: rename the runtime function ? to ??
1 parent bd0a6ca commit a2031f0

File tree

11 files changed

+26
-26
lines changed

11 files changed

+26
-26
lines changed

docs/runtime.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* `!(x: any): bool` — логическое отрицание;
99
* `&&(x: any, y: any): any` — конъюнкция; функция является ленивой — `y` вычисляется только при необходимости (то есть когда `x` истинен); возвращается вычисленное значение;
1010
* `||(x: any, y: any): any` — дизъюнкция; функция является ленивой — `y` вычисляется только при необходимости (то есть когда `x` ложен); возвращается вычисленное значение;
11-
* `?(value: any, default: any): any` — возвращает `value`, если оно не равно `nil`; в противном случае возвращается `default`;
11+
* `??(value: any, default: any): any` — возвращает `value`, если оно не равно `nil`; в противном случае возвращается `default`;
1212
* `if(condition: bool, true_value: any, false_value: any): any` — выбор: если `condition` истинно, возвращает `true_value`, иначе — `false_value`; функция является ленивой — вычисляется только возвращаемое значение;
1313
* `+(x: num|list<any>|hash<any, any>, y: num|list<any>|hash<any, any>): num|list<any>|hash<any, any>` &mdash; возвращает результат комбинирования переданных аргументов:
1414
* если оба аргумента имеют тип `num`, то функция возвращает результат их сложения;

examples/life-1d/__main__.micro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ let make_field:1 load "make_field";
44
let display_cell load "../common/display_cell";
55
let run_life:2 load "run_life";
66

7-
let FIELD_LENGTH num ? env "FIELD_LENGTH" "80";
7+
let FIELD_LENGTH num ?? env "FIELD_LENGTH" "80";
88

99
let field make_field FIELD_LENGTH;
1010
run_life field display_cell

examples/life-2d/__main__.micro

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ let make_points:2 load "make_points";
66
let display_cell load "../common/display_cell";
77
let run_life:3 load "run_life";
88

9-
let FIELD_WIDTH num ? env "FIELD_WIDTH" "10";
10-
let FIELD_HEIGHT num ? env "FIELD_HEIGHT" "5";
11-
let POINTS_NUMBER num ? env "POINTS_NUMBER" "25";
9+
let FIELD_WIDTH num ?? env "FIELD_WIDTH" "10";
10+
let FIELD_HEIGHT num ?? env "FIELD_HEIGHT" "5";
11+
let POINTS_NUMBER num ?? env "POINTS_NUMBER" "25";
1212

1313
let rectangle Rectangle Point 0 0 Point -- FIELD_WIDTH -- FIELD_HEIGHT;
1414
let points make_points rectangle POINTS_NUMBER;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
fn add_to_multiset(multiset item)
2-
let number ? . item multiset 0;
2+
let number ?? . item multiset 0;
33
# item ++ number multiset
44
;

examples/perceptron/__main__.micro

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ let FUNCTION
2121
;
2222
;
2323

24-
let RECTANGLE_LEFT num ? env "RECTANGLE_LEFT" "-10";
25-
let RECTANGLE_TOP num ? env "RECTANGLE_TOP" "-5";
26-
let RECTANGLE_RIGHT num ? env "RECTANGLE_RIGHT" "10";
27-
let RECTANGLE_BOTTOM num ? env "RECTANGLE_BOTTOM" "5";
28-
let LEARNING_CONSTANT num ? env "LEARNING_CONSTANT" "0.01";
29-
let TRAINS_NUMBER num ? env "TRAINS_NUMBER" "100";
24+
let RECTANGLE_LEFT num ?? env "RECTANGLE_LEFT" "-10";
25+
let RECTANGLE_TOP num ?? env "RECTANGLE_TOP" "-5";
26+
let RECTANGLE_RIGHT num ?? env "RECTANGLE_RIGHT" "10";
27+
let RECTANGLE_BOTTOM num ?? env "RECTANGLE_BOTTOM" "5";
28+
let LEARNING_CONSTANT num ?? env "LEARNING_CONSTANT" "0.01";
29+
let TRAINS_NUMBER num ?? env "TRAINS_NUMBER" "100";
3030

3131
let rectangle
3232
Rectangle

examples/sphere/__main__.micro

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ let calculate_intensity:4 load "calculate_intensity";
88
let SHADES ".:!*oe&#%@";
99
let LIGHT_DIRECTION VectorIIID 30 _30 _50;
1010

11-
let SPHERE_RADIUS num ? env "SPHERE_RADIUS" "20";
12-
let SPECULAR_EXPONENT num ? env "SPECULAR_EXPONENT" "4";
13-
let AMBIENT_LIGHT num ? env "AMBIENT_LIGHT" "0.1";
11+
let SPHERE_RADIUS num ?? env "SPHERE_RADIUS" "20";
12+
let SPECULAR_EXPONENT num ?? env "SPECULAR_EXPONENT" "4";
13+
let AMBIENT_LIGHT num ?? env "AMBIENT_LIGHT" "0.1";
1414

1515
let rectangle
1616
Rectangle

examples/weasel-program/__main__.micro

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ let Generator:3 load "Generator";
1010
let FitnessStrategy:1 load "FitnessStrategy";
1111
let Evolver:3 load "Evolver";
1212

13-
let ALLOWED_GENES ? env "ALLOWED_GENES" "ABCDEFGHIJKLMNOPQRSTUVWXYZ ";
14-
let TARGET ? env "TARGET" "METHINKS IT IS LIKE A WEASEL";
15-
let MUTATION_RATE num ? env "MUTATION_RATE" "0.05";
16-
let POPULATION_SIZE num ? env "POPULATION_SIZE" "50";
17-
let OUTPUT_RATE num ? env "OUTPUT_RATE" "10";
13+
let ALLOWED_GENES ?? env "ALLOWED_GENES" "ABCDEFGHIJKLMNOPQRSTUVWXYZ ";
14+
let TARGET ?? env "TARGET" "METHINKS IT IS LIKE A WEASEL";
15+
let MUTATION_RATE num ?? env "MUTATION_RATE" "0.05";
16+
let POPULATION_SIZE num ?? env "POPULATION_SIZE" "50";
17+
let OUTPUT_RATE num ?? env "OUTPUT_RATE" "10";
1818

1919
let generation_strategy GenerationStrategy ALLOWED_GENES;
2020
let generator Generator size TARGET MUTATION_RATE generation_strategy;

micro/builtin_functions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@
133133
[1],
134134
handler=lambda hash_: list_utilities.reduce_list(list(hash_.keys())),
135135
),
136-
'?': function_type.make_type(
136+
'??': function_type.make_type(
137137
[2],
138138
handler=lambda value, default: value if value is not None else default,
139139
),

micro/data/std/cli/ansi.micro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ let ANSI_CODES
1717
{};
1818

1919
fn ansi(name text)
20-
let code ? . name ANSI_CODES name;
20+
let code ?? . name ANSI_CODES name;
2121
+ "\x1b[" + code + "m" + text "\x1b[m"
2222
;

micro/data/std/list/zip.micro

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ fn zip(list_i list_ii handler:2)
55
if && != [] list_i != [] list_ii
66
fn()
77
let result_item handler head list_i head list_ii;
8-
let list_i ? tail list_i [];
9-
let list_ii ? tail list_ii [];
8+
let list_i ?? tail list_i [];
9+
let list_ii ?? tail list_ii [];
1010
>@fn() _zip list_i list_ii , result_item result;
1111
;
1212
fn() result;

micro/data/std/list/zip_longest.micro

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ fn zip_longest(list_i list_ii handler:2)
55
if || != [] list_i != [] list_ii
66
fn()
77
let result_item handler head list_i head list_ii;
8-
let list_i ? tail list_i [];
9-
let list_ii ? tail list_ii [];
8+
let list_i ?? tail list_i [];
9+
let list_ii ?? tail list_ii [];
1010
>@fn() _zip_longest list_i list_ii , result_item result;
1111
;
1212
fn() result;

0 commit comments

Comments
 (0)