This file is indexed.

/usr/share/SuperCollider/HelpSource/Classes/LazyEnvir.schelp is in supercollider-common 1:3.6.3~repack-5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
class:: LazyEnvir
summary:: lazy environment
categories:: Libraries>JITLib>Environments
related:: Classes/Environment, Classes/EnvironmentRedirect, Classes/ProxySpace, Overviews/JITLib

description::
Environment with deferred evaluation and default values.

Consequently, calculations can be done with nonexisting objects which can then be assigned later.
Per default, a LazyEnvir returns instances of link::Classes/Maybe::. See also link::Classes/Fdef::.

InstanceMethods::

method::put
sets the value of the reference at key.

method::at
returns a reference to the object at key.

Examples::

code::
l = LazyEnvir.push;

// default objects are created on access
~a;
~a.value; // defaults to 1

// operations on placeholders
(
~c = ~a + ~b;

~c.value;
)


// variables can be assigned later
(
~a = 800;
~b = { 1.0.rand };

~c.value;
)


// variables can be exchanged later
(
~b = { 1000.rand };
~c.value;
)


// making pattern space using LazyEnvir

a = LazyEnvir.new;
a.proxyClass=\PatternProxy;

a.push;

~x = Pseq([1, 2, 30], 1);
~y = Pseq([~x], inf);

z = ~y.asStream;

z.next;
z.next;
z.next;
~x = Pseq([100, 2, 300], 1);
z.next;
z.next;
z.next;

a.pop;
::