You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
def space foo open square bracket capital s colon space
21
+
wibble close square bracket open bracket a colon space
22
+
string comma space b colon space wobble open square bracket
23
+
capital a close square bracket close bracket colon
24
+
space Int space equals space ...
25
+
```
26
+
27
+
Indeed such a description is necessary to enable precision editing.
28
+
29
+
However, the following would convey the same information more efficiently:
30
+
31
+
```bash
32
+
def foo parameterized with: A context bounded by: Wibble. s String, b Wobble of A returns: Int
33
+
```
34
+
35
+
Since there is more than one way to pronounce Scala source code, we are open to the community proposition. You can find an extensive test case
13
36
here: [DescribeTest.scala]. If you find that descriptions could be improved, send us a pull request with the
14
37
expected form.
15
38
16
-
Reading Scala out loud make some of its syntactic elements less intimidating for beginners. There is no more
17
-
need to mentally associate the syntax `+T` with its concept `co-variant`. Notice on the example above, how the type parameter delimiters: `[` and `]` are absent from the verbal description. It call also help sighted developers to describe Scala orally, for example in the context of pair programming. However, when expressions get more complex, the audible form can become ambiguous or difficult to decypher.
39
+
Reading Scala out loud make some of its syntactic elements makes it less intimidating for beginners. There is no more
40
+
need to mentally associate the syntax `+T` with its concept `co-variant`. Notice in the example above, how the type parameter delimiters: `[` and `]` are absent from the verbal description. It can also help sighted developers to describe Scala orally, for example in the context of pair programming. However, when expressions get more complex, the audible form can become ambiguous or difficult to decipher.
18
41
19
42
To overcome the limitation of verbal description, we created a technique called the Cursor. The idea is simple:
20
43
from your cursor location, you can navigate the abstract syntax tree of the source code. From a node, you can
21
44
navigate to the parent node, to the siblings (left or right) or the first child. As you navigate the code,
22
-
it's described verbally and selected. Here is an illustrated example, the arrows (→ exp ←) repesents the highlighted text and <kbd>Alt</kbd> + <kbd>Arrow</kbd> the keyboard shorcut applied to navigate.
45
+
it's described verbally and selected. Here is an illustrated example, the arrows (→ exp ←) represents the highlighted text and <kbd>Alt</kbd> + <kbd>Arrow</kbd> the keyboard shortcut applied to navigate.
23
46
24
47
```
25
48
@@ -49,7 +72,7 @@ technique and hear the descriptions.
49
72
50
73
# Want to try it?
51
74
52
-
We created an [online demo]. You can try it now! (Tip: It works best on google-chrome! )
75
+
We created an [online demo]. You can try it now! (Tip: It works best on Google Chrome! )
53
76
54
77
We also created a [vscode extension], so you can try on your project. Search for `Accessible Scala` in the
0 commit comments