阿尔法

教程-仅使用键盘进行编辑

引言

这个例子向你展示了如何输入一个大约250个小程序字符长,使用大约65个按键。你不必使用根本就是老鼠。

背景:老鼠被认为是有害的

自从引入窗口系统和图形用户界面以来,鼠标经常被用作主要的输入设备。然而,老鼠不适合输入文本,因为程序和校样包含文本,有时需要使用键盘,即使大多数编辑操作都可以通过以下方式用鼠标执行指向并单击。

频繁切换鼠标和键盘是不好的,至少有两个原因:

因此,Alfa的设计允许所有编辑由仅使用键盘。下面是一个小Alfa的示例使用键盘完成所有编辑的会话。

这个例子

该练习旨在定义结果如下:

[练习的目的]

练习

以下是要执行的操作:启动Alfa.您将看到主编辑窗口和菜单窗口。在主编辑中移动鼠标指针窗口。在此之后,您将不必使用鼠标。

注释:使用的确切按键可能不同于不同版本的Alfa。正确的键显示在菜单。而且如果光标恰好出现在错误的占位符上,你可以使用空间把它移到右边。

[菜单窗口和主编辑窗口]

我们首先定义类型布尔。这是所需的密钥笔划:

月日(即Meta-d。元密钥标记为钻石在Sun键盘上,中高音在许多其他键盘上。)
这是命令的键盘快捷方式新建宣言。。。编辑菜单。

布尔 返回
在弹出的窗口中输入要定义的对象的名称向上。注意:您不必将指针移动到弹出窗口。

[输入待定义的名称]

在此之后,占位符表示布尔被选中,并且可能的您可以填写的表达式显示在菜单窗口中:

[布尔定义和可用菜单选项的骨架]

布尔应该是一组。如菜单所示,类型的键盘快捷键设置S公司.

S公司
[填写Bool类型后]

我们现在应该填写布尔.布尔应该是数据类型,因此我们选择数据命令。

d日
在弹出的窗口中,我们输入建造师。

False(错误) 真的 返回
[输入Bool类型的构造函数的名称]

定义布尔现在已完成。

【布尔的完整定义】

同样,我们定义类型国家:
月日 国家 返回
[添加了Nat定义的框架]

S公司
d日 0序号 返回
[输入Nat类型的构造函数]

N个
[填写后继构造函数的参数类型]

定义国家现在已完成。

我们继续使用相互递归的定义即使古怪的.
月-日 偶数奇数 返回
由于它们是相互递归的,因此必须在同一声明。

[添加两个相互递归的奇偶函数]

现在我们输入这两个函数的类型,从类型开始属于即使.

[添加了奇偶骨架]

F类 . N个 B
在这里,F类 .是创造的捷径函数类型,N个 B是捷径吗对于国家布尔.

[已添加偶数类型]

空间
移动到类型的占位符古怪的

[将光标移动到奇数类型]

F类 . N个 B
这定义了古怪的以同样的方式。

[已填写偶数和奇数类型]

我们现在输入古怪的.

这将创建lambda抽象(函数的Introduction规则类型)。

[创建lambda抽象]

c(c) 返回
变量的案例分析.

[输入用于案例分析的表达式]

[案例表达式已创建]

$ F类
古怪的 0=False(错误)

[奇数0=假]

e(电子) n个
在这里,e(电子)是实现目标的捷径即使n个是变量的捷径n个在case表达式中引入。

[完成奇数的定义]

光标已移动到定义的占位符即使我们以同样的方式进入。

c(c) 返回

$ T型

o个 n个
[奇偶都不完整]
定义现在完成了!剩下的就是把它们保存在文件。
M-a公司 evenodd.alfa公司 返回
[另存为evenood.alfa]

完成!