From:	MERC::"uunet!WKUVX1.BITNET!FILESERV-Mgr" 23-APR-1992 01:32:30.15
To:	galaxy::gleeve
CC:	
Subj:	BLISS-ARTICLE-PS.04_OF_07

-+-+-+-+-+-+-+-+ START OF PART 4 -+-+-+-+-+-+-+-+
XFFFC007FFFFC00FFFFFC01FFE07C01FFC01C03FF800C03FF800007FF800007FF800007FF8000
V07
XFF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF80003FFFFE
V00
X7FFFFF00FFFFFF00FFFFFF00FFFFFF007FFFFE0007FF800007FF800007FF800007FF800007FF
V80
X0007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007
VFF
X800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF8000
V07
XFF800007FF800007FF800007FF800007FF800007FF800007FF800003FF800001FF00001E3D7E
VBC
X1D>I<0007FF0007C0003FFFE03FC000FFFFF9FFE001FFFFFFFFE003FFFFFFFFE007FFFFFF00E
V0
X0FFE03FF80001FFC01FFC0001FFC01FFC0001FF800FFC0003FF800FFE0003FF800FFE0003FF8
V00
XFFE0003FF800FFE0003FF800FFE0003FF800FFE0003FF800FFE0003FF800FFE0001FF800FFC0
V00
X1FFC01FFC0001FFC01FFC0000FFE03FF800007FFFFFF000003FFFFFE000003FFFFFC000003FF
VFF
XF80000073FFFE000000707FF0000000F00000000000F80000000000F80000000000FC0000000
V00
X0FFFFFFC00000FFFFFFFC00007FFFFFFF00007FFFFFFF80003FFFFFFFC0003FFFFFFFE0007FF
VFF
XFFFF001FFFFFFFFF803FFFFFFFFF807FE0000FFF807FC00001FFC0FF800000FFC0FF8000007F
VC0
XFF8000007FC0FF8000007FC0FF8000007FC0FF8000007FC07FC00000FF807FC00000FF807FF0
V00
X03FF803FFE001FFF001FFFFFFFFE000FFFFFFFFC0007FFFFFFF80001FFFFFFE000007FFFFF80
V00
X0007FFF800002B3B7EA72F>I<3FF07FF8FFF8FFF8FFF8FFF8FFF8FFF8FFF8FFF8FFF8FFF87FF
V0
X0000000000000000000000000000000000001FF03FF87FF87FF87FF87FF87FF87FF87FF87FF8
V7F
XF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87FF87F
VF8
X7FF87FF87FF87FF87FF87FF87FF83FF81FF00D3D7CBC17>105 D<000007FC0001FF003FE01FF
VF
X8007FFE07FF07FFFC01FFFF0FFF0FFFFE03FFFF8FFF1FFFFF07FFFFCFFF3FFFFF8FFFFFEFFF7
VC0
XFFF9F03FFEFFF7007FFDC01FFFFFFE003FFF800FFFFFFC003FFF000FFFFFF8003FFE000FFFFF
VF8
X003FFE000FFFFFF8003FFE000FFFFFF0003FFC000FFFFFF0003FFC000FFFFFF0003FFC000FFF
VFF
XF0003FFC000FFFFFF0003FFC000FFFFFF0003FFC000FFFFFF0003FFC000FFFFFF0003FFC000F
VFF
XFFF0003FFC000FFFFFF0003FFC000FFFFFF0003FFC000FFFFFF0003FFC000FFFFFF0003FFC00
V0F
XFFFFF0003FFC000FFFFFF0003FFC000FFFFFF0003FFC000FFFFFF0003FFC000FFFFFF0003FFC
V00
X0FFFFFF0003FFC000FFFFFF0003FFC000FFFFFF0003FFC000FFFFFF0003FFC000FFFFFF0003F
VFC
X000FFFFFF0003FFC000FFFFFF0003FFC000FFF7FF0001FFC0007FF3FE0000FF80003FE40287B
VA7
X4B>109 D<000007FC003FE01FFF007FF07FFF80FFF0FFFFC0FFF1FFFFE0FFF3FFFFF0FFF7C0F
VF
XF0FFFF00FFF8FFFE007FF8FFFC007FF8FFF8007FF8FFF8007FF8FFF8007FF8FFF0007FF8FFF0
V00
X7FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FF
VF0
X007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8
VFF
XF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007F
VF8
X7FF0007FF83FE0003FF025287BA730>I<0001FF8000001FFFF800007FFFFE0001FFFFFF8003F
VF
XFFFFC007FFFFFFE00FFF81FFF01FFE007FF81FFC003FF83FF8001FFC3FF8001FFC3FF8001FFC
V7F
XF0000FFE7FF0000FFE7FF0000FFEFFF0000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF0000F
VFF
XFFF0000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF000
V0F
XFF7FF0000FFE7FF8001FFE7FF8001FFE3FF8001FFC3FFC003FFC3FFC003FFC1FFE007FF80FFF
V81
XFFF007FFFFFFE003FFFFFFC001FFFFFF8000FFFFFF00001FFFF8000003FFC000282A7DA82F>I
V<
X000007803FC01F807FE07F80FFE0FF80FFE1FF80FFE3FF80FFE3FF80FFE7FF80FFEFFF80FFEF
VF0
X00FFEFC000FFFF0000FFFE0000FFFC0000FFF80000FFF80000FFF00000FFF00000FFF00000FF
VF0
X0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000
VFF
XF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000007FF000
V00
X3FE0000019287BA720>114 D<007FF00003FFFF0007FFFFC00FFFFFF01FFFFFF03FFFFFF07FF
VF
XFFF07FE01FE07F8003E0FF8001E0FF800060FF800000FF800000FFC00000FFF00000FFFF0000
V7F
XFFF8007FFFFE003FFFFF003FFFFF801FFFFFC00FFFFFE003FFFFF001FFFFF8007FFFF80007FF
VFC
X00003FFC00000FFC200007FC700007FC700007FC780007FC7E0007FC7F000FF8FFE01FF8FFFF
VFF
XF8FFFFFFF0FFFFFFE03FFFFFC00FFFFF8003FFFE00003FF8001E2A7DA824>I<01FF000003FF8
V0
X0007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007
VFF
X80003FFFFFE07FFFFFF0FFFFFFF0FFFFFFF0FFFFFFF07FFFFFE007FF800007FF800007FF8000
V07
XFF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF80
V00
X07FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF
V80
X0007FF800007FF800007FFC01807FFC03803FFC0F803FFFFFC03FFFFFC01FFFFF800FFFFE000
V7F
XFF80001FF0001E347EB223>I<3FE0003FF07FF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8F
VF
XF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007F
VF8
XFFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF000
V7F
XF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0007FF8FFF0
V00
XFFF8FFF000FFF8FFF000FFF8FFF001FFF8FFF001FFF87FF003FFF87FF80F7FF83FFFFE7FF81F
VFF
XFC7FF80FFFF87FF807FFF03FF000FFC0000025287BA630>I<FF000007F0FF80000FF8FFC0001
VF
XF8FFE0001FF0FFE0003FF07FE0003FF07FF0003FE03FF0007FE03FF8007FE01FF8007FC01FFC
V00
XFFC01FFC00FFC00FFE00FF800FFE01FF8007FE01FF8007FF01FF0003FF03FF0003FF83FF0001
VFF
X83FE0001FF83FE0000FFC7FE0000FFC7FC0000FFC7FC00007FE7FC00007FEFF800003FEFF800
V00
X3FEFF800001FFFF000001FFFF000000FFFF000000FFFE0000007FFE0000007FFE0000007FFC0
V00
X0003FFC0000003FFC0000001FF80000001FF80000000FF80000000FF00000001FF00000001FF
V00
X000001FE00000003FE00000003FE00000003FC00000007FC0000400FF80000E00FF80000F83F
VF0
X0000FFFFF00000FFFFE00000FFFFC00000FFFF8000007FFF0000007FFC0000001FF000000025
V39
X7DA62B>121 D E end
X%%EndProlog
X%%BeginSetup
X%%Feature: *Resolution 300
XTeXDict begin @letter
X%%EndSetup
X%%Page: 1 1
Xbop 0 251 a Fx(BLISS:)32 b(A)f(Language)j(fo)m(r)e(Systems)f(Programming)0
X382 y Fw(W.A.)19 b(W)-5 b(ulf,)20 b(D.B.)f(Russell,)h(A.N.)f(Hab)r(ermann)0
X462 y(Carnegie-Mellon)j(Univ)n(ersit)n(y)p 0 539 1950 7 v 0
X610 a Fv(A)c(language,)h(BLISS,)f(is)g(describ)q(ed.)31 b(This)19
Xb(language)f(is)h(designed)h(so)e(as)g(to)g(b)q(e)h(esp)q(ecially)h(suitable
V)
Xf(fo)o(r)e(use)j(in)0 660 y(writing)13 b(p)o(ro)q(duction)h(soft)o(w)o(a)o
X(re)e(systems)i(fo)o(r)e(a)h(sp)q(eci\014c)i(machine)e(\(the)h(PDP-10\):)k
X(compilers,)12 b(op)q(erating)h(systems,)0 710 y(etc.)28 b(Prime)16
Xb(design)j(goals)e(of)h(the)g(design)h(a)o(re)e(the)i(abilit)o(y)e(to)h(p)o
X(ro)q(duce)h(highly)f(e\016cient)h(object)f(co)q(de,)h(to)f(allo)o(w)0
X760 y(access)e(to)g(all)e(relevant)i(ha)o(rdw)o(a)o(re)e(features)i(of)f(the
V)
Xh(host)g(machine,)f(and)h(to)f(p)o(rovide)g(a)g(rational)g(means)g(b)o(y)g
X(which)0 809 y(to)j(cop)q(e)g(with)h(the)f(evolutiona)o(ry)g(nature)g(of)g
X(systems)g(p)o(rograms.)26 b(A)18 b(majo)o(r)d(feature)k(which)f(contributes
V)
Xi(to)e(the)0 859 y(realization)i(of)g(these)i(goals)e(is)g(a)h(mechanism)f(p
V)
Xq(ermitting)g(the)i(de\014nition)g(of)e(the)i(rep)o(resentation)g(of)d(all)h
X(data)0 909 y(structures)d(in)f(terms)f(of)f(the)j(access)f(algo)o(rithm)e
X(fo)o(r)g(elements)i(of)e(the)j(structure.)p 0 961 V 0 1089
Xa Fu(Intro)r(duction)0 1188 y Ft(In)28 b(the)g(fall)f(of)g(1969,)j
X(Carnegie-Mellon)d(Univ)o(ersit)o(y)0 1238 y(acquired)22 b(a)g
XFs(pdp-10)g Ft(to)f(supp)q(ort)i(a)f(researc)o(h)h(pro)r(ject)0
X1288 y(on)28 b(computer)h(net)o(w)o(orks.)62 b(This)29 b(researc)o(h)h(in)o
X(v)o(olv)o(es)0 1338 y(the)25 b(pro)q(duction)f(of)f(a)h(substan)o(tial)g(n)
Vo
X(um)o(b)q(er)f(of)h(large)0 1387 y(systems)c(programs)f(of)g(the)h(t)o(yp)q
X(e)h(whic)o(h)f(ha)o(v)o(e)f(usually)0 1437 y(b)q(een)k(written)f(in)f(assem
V)
Xo(bly)g(language.)40 b(A)o(t)22 b(an)g(early)0 1487 y(stage)h(of)f(this)h
X(design)g(e\013ort)h(it)e(w)o(as)h(decided)h(not)f(to)0 1537
Xy(use)13 b(assem)o(bly)e(language,)g(but)h(rather)h(some)e(higher-lev)o(el)0
X1587 y(language.)17 b(This)d(decision)g(immedia)o(tely)d(led)j(to)g(another)
V0
X1637 y(question`7Cwhic)o(h)20 b(language?)38 b(In)21 b(turn)g(this)g(led)f(t
Vo)h
X(a)0 1686 y(consideration)11 b(of)f(the)h(c)o(haracteristics,)i(if)d(an)o(y)
Vm
X(,)f(whic)o(h)i(are)0 1736 y(unique)g(to,)g(or)g(at)g(least)h(exaggerated)g
X(in,)e(the)i(pro)q(duction)0 1786 y(and)e(main)o(tenance)g(of)g(systems)h
X(programs.)k(One)d(pro)q(duct)0 1836 y(of)f(these)i(delib)q(erations)f(w)o
X(as)g(a)f(new)i(language,)e(whic)o(h)g(w)o(e)0 1886 y(call)k
XFs(bliss)p Ft(.)24 b(Clearly)m(,)15 b(a)h(language)f(is)h(not)f(the)i(only)e
X(to)q(ol)0 1935 y(needed;)f(ho)o(w)o(ev)o(er,)e(it)g(is)h(the)f(one)h(with)f
X(whic)o(h)g(w)o(e)h(deal)f(in)0 1985 y(this)i(pap)q(er.)50
X2035 y(W)m(e)22 b(refer)i(to)e Fs(bliss)h Ft(as)f(an)h(\\implem)o(en)o
X(tation)c(lan-)0 2085 y(guage,")d(although)g(w)o(e)h(admit)e(that)i(the)g
X(term)f(is)g(some-)0 2135 y(what)23 b(am)o(biguous)e(since,)k(presumably)m(,
V)
Xf(all)e(computer)0 2184 y(languages)g(are)g(used)h(to)f(implemen)o(t)e
XFr(something)p Ft(.)43 b(T)m(o)0 2234 y(us)19 b(the)g(phrase)h(connotes)f(a)
Vf
X(general)h(purp)q(ose,)i(higher-)0 2284 y(lev)o(el)d(language)f(in)h(whic)o
X(h)g(the)h(primary)e(emphasis)g(has)0 2334 y(b)q(een)d(placed)g(up)q(on)f(a)
Vg
X(sp)q(eci\014c)h(application,)d(namely)h(the)0 2384 y(writing)k(of)h(large,)
Vg
XFr(pr)n(o)n(duction)j Ft(soft)o(w)o(are)d(systems)g(for)g(a)p
X0 2443 300 2 v 0 2479 a Fq(Cop)o(yrigh)o(t)171 2475 y Fp(C)-25
Xb Fo(\015)203 2479 y Fq(1971,)23 b(Asso)q(ciation)c(for)j(Computing)d(Mac)o
X(hinery)m(,)0 2520 y(Inc.)h(Reprin)o(ted)11 b(from)h(the)h(Decem)o(b)q(er)e
X(1971)h(issue)h(of)g Fn(Comm)o(uni-)0 2562 y(cations)c(of)i(the)f(A)o(CM)16
Xb Fq(\(V)m(olume)10 b(14,)g(Num)o(b)q(er)g(12\).)k(P)o(ermission)9
Xb(to)0 2603 y(reprin)o(t)e(gran)o(ted)g(b)o(y)i(the)f(Asso)q(ciation)f(for)i
X(Computing)e(Mac)o(hinery)m(.)1017 1089 y Ft(sp)q(eci\014c)19
Xb(mac)o(hine.)30 b(Sp)q(ecial)18 b(purp)q(ose)i(languages,)e(suc)o(h)1017
X1138 y(as)12 b(compiler-compil)o(ers,)e(do)j(not)f(fall)e(in)o(to)i(this)g
X(category)m(,)1017 1188 y(nor)k(do)g(w)o(e)h(necessarily)h(assume)e(that)h
X(these)h(languages)1017 1238 y(need)f(b)q(e)g(mac)o(hine-indep)q(enden)o(t.)
X26 b(W)m(e)16 b(stress)i(the)f(w)o(ord)1017 1288 y(\\implem)o(en)o(tation")i
X(in)j(our)h(de\014nition)f(and)h(ha)o(v)o(e)f(not)1017 1338
Xy(used)15 b(w)o(ords)f(suc)o(h)h(as)g(\\design")f(and)g(\\do)q(cumen)o
X(tation.")1017 1387 y(W)m(e)21 b(do)g(not)h(necessarily)h(exp)q(ect)g(that)f
X(an)g(implemen-)1017 1437 y(tation)c(language)g(will)g(b)q(e)h(an)g
X(appropriate)g(v)o(ehicle)g(for)1017 1487 y(expressing)g(the)f(initial)f
X(design)h(of)f(a)h(large)g(system)g(nor)1017 1537 y(for)24
Xb(the)i(exclusiv)o(e)g(do)q(cumen)o(tation)e(of)g(that)i(system.)1017
X1587 y(Concepts)13 b(suc)o(h)g(as)f(mac)o(hine)f(indep)q(endence,)j
X(expressing)1017 1637 y(the)c(design)g(and)f(implemen)o(tatio)o(n)e(in)i(the
V)
Xi(same)d(notation,)1017 1686 y(self-do)q(cumen)o(tation,)h(and)i(others,)h
X(are)g(clearly)f(desirable)1017 1736 y(goals)g(and)g(are)i(criteria)f(b)o(y)
Vg
X(whic)o(h)g(w)o(e)g(ev)n(aluated)g(v)n(arious)1017 1786 y(languages.)1066
X1836 y(Ho)o(w)o(ev)o(er,)k(they)g(are)g(not)f(implicit)e(in)i(our)h
X(de\014nition.)1017 1886 y(There)d(are)f(a)g(few)g(extan)o(t)g(examples)f(of
V)
Xh(languages)f(whic)o(h)1017 1935 y(\014t)22 b(our)h(de\014nition:)35
Xb Fs(epl)23 b Ft(\(a)f(PL/1)g(deriv)n(ativ)o(e)g(whic)o(h)1017
X1985 y(w)o(as)g(initially)d(used)k(on)f Fs(mul)m(tics)g Ft(`5B1`5D)f(but)h(w
Vhic)o
X(h)g(has)1017 2035 y(b)q(een)10 b(replaced)h(b)o(y)e(full)f(PL/1\),)i(B5500)
Vf
X(Extended)i Fs(algol)1017 2085 y Ft(\(Burroughs)18 b(Corp)q(oration)e(`5B2`5
VD\),)
Xh(PL360)g(`5B3`5D,)f(and)h Fs(bcpl)1017 2135 y Ft(`5B4`5D.)1066 2184
Xy(The)j(v)n(arious)e(argumen)o(ts)h(for)g(and)g(against)f(the)i(use)1017
X2234 y(of)15 b(higher-lev)o(el)h(languages)g(to)h(write)f(systems)h(soft)o(w
V)
Xo(are)1017 2284 y(ha)o(v)o(e)c(b)q(een)i(discussed)g(at)e(length.)18
Xb(W)m(e)c(do)f(not)g(in)o(tend)h(to)1017 2334 y(repro)q(duce)d(them)d(here)j
X(in)e(detail)g(except)i(to)e(note)h(that)f(the)1017 2384 y(sk)o(eptics)15
Xb(argue)f(primarily)e(on)i(t)o(w)o(o)f(grounds:)19 b(e\016ciency)m(,)1017
X2434 y(and)11 b(an)g(assertion)g(that)h(the)g(systems)f(programmer)e(m)o(ust
V)
X1017 2483 y(not)16 b(allo)o(w)e(an)o(ything)i(to)g(get)g(b)q(et)o(w)o(een)i
X(himself)c(and)i(the)1017 2533 y(mac)o(hine.)32 b(The)19 b(adv)o(o)q(cates)h
X(argue)f(on)g(the)g(grounds)h(of)1017 2583 y(pro)q(duction)j(sp)q(eed)i
X(\(and)e(cost\),)j(main)o(tainabil)o(it)o(y)l(,)c(re-)1017
X2633 y(design)13 b(and)f(mo)q(di\014cation,)f(and)i(understandabilit)o(y)f
X(and)965 2770 y(1)p eop
X%%Page: 2 2
Xbop 0 42 a Ft(correctness.)36 b(The)19 b(rep)q(ort)h(of)f(the)g(NA)m(TO)g
X(Conference)0 91 y(on)j(Soft)o(w)o(are)h(Engineering)f(held)h(in)f(Garmish)f
X(\(Octo-)0 141 y(b)q(er)e(1968\))e(`5B5`5D)g(con)o(tains)h(sev)o(eral)h
X(discussions)g(on)f(these)0 191 y(p)q(oin)o(ts.)50 241 y(It)e(is)g(our)g
X(opinion)f(that)h(program)e(e\016ciency)m(,)j(except)0 291
Xy(p)q(ossibly)c(for)g(a)g(v)o(ery)h(small)d(n)o(um)o(b)q(er)i(of)g(v)o(ery)g
X(small)f(co)q(de)0 340 y(segmen)o(ts,)17 b(is)f(determined)h(b)o(y)f(o)o(v)o
X(erall)f(program)g(design)0 390 y(and)d(not)g(b)o(y)g(lo)q(cally)f(tric)o(ky
V)
Xm(,)h(\\bit-pic)o(king")e(co)q(ding)i(prac-)0 440 y(tices.)52
Xb(Moreo)o(v)o(er,)28 b(the)d(critical)f(co)q(de)i(segmen)o(ts)f(are)0
X490 y(frequen)o(tly)20 b(lo)q(cated)f(only)g(after)h(the)g(system)f(is)g(op)
Vq
X(era-)0 540 y(tional.)i(This)15 b(opinion)f(is)h(b)q(orne)i(out)e(b)o(y)g
X(man)o(y)e(systems)0 589 y(whic)o(h)e(ha)o(v)o(e)f(exp)q(erienced)j(substan)
Vo
X(tial)d(p)q(erformance)h(im-)0 639 y(pro)o(v)o(emen)o(ts)21
Xb(from)f(redesign)i(or)g(restructuring)h(result-)0 689 y(ing)15
Xb(from)f(understanding)j(or)f(insigh)o(t)f(after)h(the)h(system)0
X739 y(has)g(b)q(een)h(running)f(for)g(some)f(time)g(\(see,)j(for)d(example,)
V0
X789 y(E.E.)d(Da)o(vid's)g(commen)o(ts,)f(`5B5,)h(pp.)g(55`7B57`5D\).)k(One)d
V(of)g
X(the)0 839 y(paramoun)o(t)g(design)i(ob)r(jectiv)o(es)h(of)f
XFs(bliss)f Ft(w)o(as)h(to)g(facili-)0 888 y(tate)10 b(redesign)g(and)g(reco)
Vq
X(ding.)17 b(Since)10 b(this)f(redesign)i(is)e(fre-)0 938 y(quen)o(tly)14
Xb(done)h(b)o(y)f(someone)g(other)i(than)e(the)h(program's)0
X988 y(original)22 b(author,)k(there)g(is)e(a)f(corollary)g(ob)r(jectiv)o(e)i
X(of)0 1038 y(readabilit)o(y)m(.)d(This)15 b(argues)i(for)e(go)q(o)q(d)g(do)q
X(cumen)o(tation`7C)0 1088 y(but)23 b(also)g(for)g(understandabilit)o(y)g(of)
Vf
X(the)i(co)q(de)g(itself.)0 1137 y(Understandabilit)o(y)13 b(is)h(a)f
X(function)g(of)g(man)o(y)f(things,)h(not)0 1187 y(all)j(of)h(whic)o(h)g(are)
Vh
X(inheren)o(t)g(in)f(the)h(language)f(in)g(whic)o(h)0 1237 y(a)k(program)f(is
V)
Xi(written`7Ca)f(programmer's)e(individual)0 1287 y(st)o(yle,)j(for)f(example
V.)
X37 b(Nev)o(ertheless,)24 b(the)e(length)f(of)f(a)0 1337 y(program)13
Xb(text)j(and)e(the)i(structure)h(imp)q(osed)d(up)q(on)g(that)0
X1386 y(text)d(are)f(imp)q(ortan)o(t)f(factors)i(and)f(argue)g(strongly)g(for
V)
Xg(the)0 1436 y(use)15 b(of)e(a)h(higher-lev)o(el)f(language.)50
X1486 y(Presuming)20 b(the)i(decision)g(to)f(use)h(an)f(implem)o(en)o(ta-)0
X1536 y(tion)e(language,)g(whic)o(h)g(one)h(should)f(one)h(c)o(ho)q(ose?)35
Xb(An)0 1586 y(argumen)o(t)19 b(migh)o(t)f(b)q(e)i(made)f(for)h(c)o(ho)q
X(osing)f(one)h(of)g(the)0 1636 y(existing)i(languages,)i(sa)o(y)e
XFs(f)o(or)m(tran)p Ft(,)k(PL/1,)e(or)e Fs(apl)p Ft(,)0 1685
Xy(and)e(p)q(ossibly)f(extending)h(it)g(in)f(some)g(w)o(a)o(y)m(.)34
Xb(W)m(e)20 b(ha)o(v)o(e)0 1735 y(c)o(hosen)e(to)f(add)g(to)g(the)g(tongues)h
X(of)e(Bab)q(el)i(b)o(y)f(de\014ning)0 1785 y(y)o(et)d(another)h(new)g
X(language,)e(and)h(some)f(justi\014cation)h(is)0 1835 y(required.)k(The)11
Xb(only)f(v)n(alid)f(rationale)h(for)g(creating)h(a)f(new)0
X1885 y(language)j(is)g(that)g(the)i(existing)e(ones)h(are)g(inappropriate)0
X1934 y(to)h(the)h(task.)23 b(It)16 b(w)o(as)f(our)h(judgemen)o(t)e(that)i(no
V)
Xf(existing)0 1984 y(languages)20 b(dealt)h(with)f(all)f(of)h(the)h(prop)q(er
V)
Xh(issues)g(and)0 2034 y(hence)13 b(a)e(new)h(language)f(w)o(as)g(necessary)m
X(.)19 b(What)11 b(then)h(are)0 2084 y(the)18 b(sp)q(ecial)g(c)o
X(haracteristics)h(of)e(systems)h(programs)e(for)0 2134 y(whic)o(h)f(existing
V)
Xf(languages)g(are)h(inappropriate?)21 b(\(Later)0 2183 y(w)o(e)e(shall)f
X(discuss)i(ho)o(w)e(these)i(manifest)d(themselv)o(es)i(in)0
X2233 y Fs(bliss)p Ft(.\))40 b(The)21 b(t)o(w)o(o)g(sp)q(ecial)g(c)o
X(haracteristics)i(most)d(fre-)0 2283 y(quen)o(tly)f(men)o(tioned)f(are)i
X(e\016ciency)g(and)f(access)i(to)e(all)0 2333 y(hardw)o(are)e(features)h(of)
Ve
X(the)h(mac)o(hine.)24 b(W)m(e)17 b(add)f(sev)o(eral)0 2383
Xy(things)h(to)g(these;)j(the)e(resulting)g(list)e(forms)g(the)i(design)0
X2433 y(ob)r(jectiv)o(es)d(of)e Fs(bliss)p Ft(.)0 2532 y Fr(R)n(e)n(quir)n
X(ements)i(of)g(Systems)g(Pr)n(o)n(gr)n(ams)21 2582 y Fm(\017)20
Xb Ft(space/time)14 b(econom)o(y)21 2632 y Fm(\017)20 b Ft(access)c(to)e(all)
Ve
X(relev)n(an)o(t)i(hardw)o(are)h(features)1037 42 y Fm(\017)21
Xb Ft(ob)r(ject)j(co)q(de)g(m)o(ust)e(not)i(dep)q(end)g(up)q(on)g(elab)q
X(orate)1079 91 y(run-time)13 b(supp)q(ort)1017 191 y Fr(Char)n(acteristics)g
X(of)i(Systems)g(Pr)n(o)n(gr)n(amming)f(Pr)n(actic)n(e)1037
X241 y Fm(\017)21 b Ft(con)o(trol)10 b(o)o(v)o(er)g(the)g(represen)o(tation)i
X(of)e(data)f(structures)1037 291 y Fm(\017)21 b Ft(\015exible)c(range)g(of)g
X(con)o(trol)g(structures)i(\(notably)e(in-)1079 340 y(cluding)d(recursion,)h
X(coroutines,)g(and)f(async)o(hronous)1079 390 y(pro)q(cesses\))1037
X440 y Fm(\017)21 b Ft(mo)q(dularization)10 b(of)j(a)f(system)h(in)o(to)g
X(separately)g(com-)1079 490 y(pilable)g(submo)q(dules)1037
X540 y Fm(\017)21 b Ft(parameterization,)d(esp)q(ecially)h(conditional)e
X(compi-)1079 589 y(lation)1017 689 y Fr(Over)n(al)r(l)c(Go)n(o)n(d)j(L)n
X(anguage)g(Design)1037 739 y Fm(\017)21 b Ft(encourages)15
Xb(program)d(structuring)j(for)e(understand-)1079 789 y(abilit)o(y)1037
X839 y Fm(\017)21 b Ft(encourages)i(program)d(structuring)j(for)f(debugging)
X1079 888 y(and)13 b(measuremen)o(t)1037 938 y Fm(\017)21 b
XFt(econom)o(y)27 b(of)g(concepts)j(\(in)o(v)o(olution\),)f(generalit)o(y)m(,
V)
X1079 988 y(\015exibilit)o(y)m(,)11 b(etc.)1037 1038 y Fm(\017)21
Xb Ft(utilit)o(y)12 b(as)i(a)g(design)g(to)q(ol)1037 1088 y
XFm(\017)21 b Ft(mac)o(hine)12 b(indep)q(endence)1017 1187 y(The)i(order)g(in
V)
Xf(the)h(ab)q(o)o(v)o(e)f(list)h(is)f(not)g(acciden)o(tal.)18
Xb(Those)1017 1237 y(items)23 b(found)i(early)f(in)h(the)g(list)f(w)o(e)h
X(consider)h(to)e(b)q(e)1017 1287 y(absolute)10 b(requiremen)o(ts,)h(while)e
X(those)i(o)q(ccurring)g(later)f(in)1017 1337 y(the)i(list)f(ma)o(y)e(b)q(e)j
X(though)o(t)f(of)g(as)h(criteria)f(b)o(y)h(whic)o(h)f(alter-)1017
X1386 y(nativ)o(e)h(designs)h(are)h(judged)f(once)g(the)h(more)e(demanding)
X1017 1436 y(requiremen)o(ts)i(are)g(satis\014ed.)1066 1486
Xy(Not)20 b(all)e(of)h(the)h(goals)f(men)o(tioned)f(ab)q(o)o(v)o(e)h(are)h
X(com-)1017 1536 y(patible)c(in)h(practice.)30 b(F)m(or)17 b(example,)f
X(e\016ciency)m(,)i(access)1017 1586 y(to)13 b(mac)o(hine)f(features,)i(and)f
X(mac)o(hine)f(indep)q(endence)k(are)1017 1636 y(con\015icting)21
Xb(goals.)42 b(In)22 b(fact,)i(the)e(design)h(of)e Fs(bliss)h
XFt(is)1017 1685 y(not)16 b(mac)o(hine)f(indep)q(enden)o(t,)j(although)d(the)
Vi
X(underlying)1017 1735 y(philosoph)o(y)11 b(and)h(m)o(uc)o(h)e(of)i(the)h(sp)
Vq
X(eci\014c)g(design)g(are.)18 b(The)1017 1785 y(mac)o(hine)10
Xb(for)i(whic)o(h)f(the)i(language)e(w)o(as)h(b)q(eing)g(designed,)1017
X1835 y(the)j Fs(pdp-10)p Ft(,)f(w)o(as)g(constan)o(tly)g(in)g(the)i(minds)d
X(of)h(the)h(de-)1017 1885 y(signers.)j(The)12 b(co)q(de)g(to)f(b)q(e)i
X(generated)g(for)e(eac)o(h)h(prop)q(osed)1017 1934 y(construct,)22
Xb(or)e(form)e(of)h(a)h(construct,)j(w)o(as)d(considered)1017
X1984 y(b)q(efore)d(that)g(construct)i(w)o(as)d(included)h(in,)g(or)g
X(excluded)1017 2034 y(from,)c(the)i(language.)20 b(Th)o(us)c(the)f(c)o
X(haracteristics)i(of)d(the)1017 2084 y(target)i(mac)o(hine)e(p)q(erv)n(ade)i
X(the)g(language)f(in)g(b)q(oth)h(o)o(v)o(ert)1017 2134 y(and)c(subtle)g(w)o
X(a)o(ys.)17 b(This)c(is)f(not)g(to)g(sa)o(y)g(that)g Fs(bliss)g
XFt(could)1017 2183 y(not)k(b)q(e)h(implem)o(en)o(ted)e(for)g(another)i(mac)o
X(hine;)f(it)g(could.)1017 2233 y(It)f(do)q(es)h(sa)o(y)f(that)h
XFs(bliss)f Ft(is)g(particularly)g(w)o(ell)f(suited)i(to)1017
X2283 y(implem)o(en)o(tation)i(on)j(the)h Fs(pdp-10)f Ft(and)g(that)g(it)g
X(could)1017 2333 y(probably)13 b(not)h(b)q(e)g(as)g(e\016cien)o(tly)g
X(implemen)o(ted)d(on)j(most)1017 2383 y(other)20 b(mac)o(hines.)35
Xb(W)m(e)20 b(think)g(of)f Fs(bliss)h Ft(as)g(a)g(mem)o(b)q(er)1017
X2433 y(\(the)h(only)g(one)g(at)g(presen)o(t\))i(of)e(a)f(class)i(of)f
X(languages)1017 2482 y(that)g(are)h(similar)d(in)i(philosoph)o(y)f(and)i
X(that)f(mirror)f(a)1017 2532 y(similar)8 b(concern)13 b(for)e(the)h(imp)q
X(ortan)o(t)d(asp)q(ects)k(of)e(systems)1017 2582 y(programmi)o(ng,)f(but)k
X(where)g(eac)o(h)g(is)g(tailored)f(to)g(its)h(host)1017 2632
Xy(mac)o(hine.)965 2770 y(2)p eop
X%%Page: 3 3
Xbop 50 42 a Ft(As)25 b(another)h(example)e(of)g(the)i(incompatibili)o(t)o(y)
Vc
X(of)0 91 y(these)f(goals,)f(consider)h(the)f(requiremen)o(t)g(for)f(minim)o
X(al)0 141 y(run-time)10 b(supp)q(ort)j(and)e(the)h(use)h(of)e(the)h(implemen
V)
Xo(tatio)o(n)0 191 y(language)k(as)i(a)f(design)g(to)q(ol.)28
Xb(In)17 b(some)f(sense)j(a)e(design)0 241 y(to)q(ol)k(should)h(b)q(e)h(at)f
X(a)g(higher)g(lev)o(el)g(than)g(the)h(ob)r(ject)0 291 y(b)q(eing)15
Xb(designed`7Cthat)g(is,)g(the)g(to)q(ol)g(should)f(reliev)o(e)i(the)0
X340 y(designer)23 b(from)e(concern)i(o)o(v)o(er)g(whic)o(hev)o(er)g(details)
Vf
X(the)0 390 y(designer)16 b(deems)g(appropriate)f(only)g(for)g(later)h
X(consider-)0 440 y(ation.)24 b(An)o(y)17 b(language)e(reliev)o(es)i(its)f
X(user)h(from)e(concern)0 490 y(o)o(v)o(er)20 b(certain)g(details;)i(ev)o(en)
Ve
X(assem)o(bly)f(language)f(frees)0 540 y(the)i(co)q(der)h(from)d(the)i(need)h
X(to)e(mak)o(e)f(sp)q(eci\014c)j(address)0 589 y(assignmen)o(ts.)51
Xb(Assem)o(bly)25 b(language)f(is)h(not)g(a)g(go)q(o)q(d)0 639
Xy(design)16 b(to)q(ol,)f(ho)o(w)o(ev)o(er,)h(precisely)h(b)q(ecause)g(the)g
X(class)f(of)0 689 y(suc)o(h)22 b(facilities)f(is)g(small;)i(a)f(higher-lev)o
X(el)f(language)g(is)0 739 y(b)q(etter)16 b(b)q(ecause)h(the)e(class)g(is)g
X(larger.)20 b(There)c(is)f(a)f(p)q(oin)o(t,)0 789 y(ho)o(w)o(ev)o(er,)i(b)q
X(ey)o(ond)g(whic)o(h)g(broadening)f(the)i(class)f(of)f(de-)0
X839 y(tails)23 b(whic)o(h)h(are)g(handled)g(automatically)c(in)o(tro)q(duces
V)
X0 888 y(substan)o(tial)11 b(costs)i(in)f(run-time)e(e\016ciency)j(and)f
X(requisite)0 938 y(run-time)h(supp)q(ort.)18 b(The)c(design)g(of)f
XFs(bliss)h Ft(w)o(alks)f(a)g(v)o(ery)0 988 y(\014ne)i(line)e(b)q(et)o(w)o
X(een)j(generalit)o(y)m(,)d(e\016ciency)m(,)h(and)g(minim)o(al)0
X1038 y(run-time)i(supp)q(ort.)30 b(In)17 b(fact,)h Fs(bliss)f
XFt(programs)g(require)0 1088 y Fr(no)g Ft(run-time)c(supp)q(ort)h(routines.)
V0
X1187 y Fu(Description)20 b(of)e(BLISS)0 1287 y Fs(bliss)j Ft(ma)o(y)e(b)q(e)
Vj
X(c)o(haracterized)h(as)e(an)g(\\)p Fs(algol)p Ft(-PL/1")0 1337
Xy(deriv)n(ativ)o(e)i(in)g(the)h(sense)h(that)f(it)f(has)g(a)g(similar)e(ex-)
V0
X1386 y(pression)26 b(format)d(and)j(op)q(erator)f(hierarc)o(h)o(y)m(,)j(a)d
X(blo)q(c)o(k)0 1436 y(structure)17 b(with)e(lexically)e(and)i(dynamically)d
X(lo)q(cal)i(v)n(ari-)0 1486 y(ables,)24 b(similar)c(conditional)g(and)i(lo)q
X(oping)f(constructs,)0 1536 y(and)16 b(\(p)q(oten)o(tially\))f(recursiv)o(e)
Vj
X(pro)q(cedures.)28 b(As)16 b(ma)o(y)f(b)q(e)0 1586 y(seen)22
Xb(from)c(the)j(t)o(w)o(o)f(simple)f(examples)h(sho)o(wn)g(b)q(elo)o(w,)0
X1636 y(the)h(general)f(format)e(of)i Fs(bliss)g Ft(co)q(de)h(is)e(quite)i
XFs(algol)p Ft(-)0 1685 y(lik)o(e;)h(ho)o(w)o(ev)o(er,)g(the)e(similarit)o(y)
Vd
X(stops)k(shortly)f(b)q(ey)o(ond)0 1735 y(this)14 b(glib)f(comparison.)50
X1814 y Fl(function)f Fk(f)t(actor)q(ial)q Fj(\()p Fk(n)p Fj(\))f(=)94
X1860 y Fl(if)j(.)p Fk(n)d Fi(\024)f Fj(1)15 b Fl(then)f Fj(1)h
XFl(else)g(.)p Fk(n)9 b Fi(\003)g Fk(f)t(actor)q(ial)q Fj(\()p
XFk(:n)f Fi(\000)h Fj(1\))p Fl(;)50 1905 y(function)j Fk(QQ)j(sear)q(ch)g
XFj(\()p Fk(K)s Fj(\))f Fl(=)94 1951 y(b)q(egin)g(register)i
XFk(R)p Fl(,)p Fk(Q)p Fl(,)p Fk(A)p Fl(,)p Fk(E)r Fl(;)94 1997
Xy Fk(E)d Fi( )e Fk(R)g Fi( )g Fk(:K)q(=:n)p Fl(;)j Fk(Q)d Fi( )g
XFk(:K)17 b(mod)d(:n)p Fl(;)94 2042 y Fk(A)c Fi( )i Fk(:const)p
XFl(;)94 2088 y(do)i(if)g Fk(:S)r(T)5 b Fj(`5B)p Fk(:R)p Fj(`5D)11
Xb(=)f Fk(:K)153 2134 y Fl(then)k(return)h Fk(:R)153 2179 y
XFl(else)g(\()p Fk(R)c Fi( )g Fk(:R)e Fj(+)f Fk(:A)p Fl(;)15
Xb Fk(A)10 b Fi( )h Fk(:A)f Fi( )h Fk(:Q)p Fl(\))94 2225 y(un)o(til)h
XFk(:R)f Fj(=)g Fk(:E)94 2271 y Fl(end;)0 2354 y Ft(The)16 b(\014rst)h(of)e
X(these)i(examples)e(is)h(the)g(familar)d(recursiv)o(e)0 2403
Xy(de\014nition)28 b(of)f(factorial.)59 b(The)29 b(second)g(example)e(is)0
X2453 y(the)18 b(\\quadratic)f(quotien)o(t")g(hash)g(searc)o(h)i(describ)q(ed
V)
Xg(b)o(y)0 2503 y(J.)14 b(Bell)f(`5B9`5D.)50 2553 y(W)m(e)e(no)o(w)h(describ)
Vq(e)i
X(the)e(features)h(of)f Fs(bliss)g Ft(in)f(terms)h(of)0 2603
Xy(its)19 b(ma)r(jor)d(asp)q(ects`7C\(1\))k(the)g(underlying)e(storage,)h(\(2
V\))
X1017 42 y(con)o(trol,)12 b(and)g(\(3\))h(data)g(structures;)i(\014nally)m(,)
Vc
X(w)o(e)i(men)o(tion)1017 91 y(some)g(other)h(miscellaneous)f(features.)1017
X191 y Fu(1.)24 b(Sto)n(rage)1017 241 y Ft(A)19 b Fs(bliss)g
XFt(program)e(op)q(erates)k(with)e(and)g(on)g(a)g(n)o(um)o(b)q(er)1017
X291 y(of)c(storage)i(\\segmen)o(ts.")25 b(A)17 b(storage)g(segmen)o(t)f
X(consists)1017 340 y(of)k(a)h(\014xed)g(and)g(\014nite)h(n)o(um)o(b)q(er)e
X(of)h(\\w)o(ords,")h(eac)o(h)g(of)1017 390 y(whic)o(h)16 b(is)h(comp)q(osed)
Vg
X(of)g(a)f(\014xed)i(and)f(\014nite)g(n)o(um)o(b)q(er)g(of)1017
X440 y(\\bits")22 b(\(36)g(for)g(the)h Fs(pdp-10)p Ft(\).)44
Xb(An)o(y)23 b(con)o(tiguous)f(set)1017 490 y(of)d(bits)h(within)g(a)g(w)o
X(ord)g(is)g(called)g(a)g(\\\014eld.")37 b(A)20 b(\014eld)1017
X540 y(ma)o(y)g(b)q(e)k(\\named";)g(the)g(v)n(alue)e(of)g(a)g(name)g(is)g
X(called)1017 589 y(a)c(\\p)q(oin)o(ter")h(to)g(that)g(\014eld.)33
Xb(In)19 b(particular,)h(an)e(en)o(tire)1017 639 y(w)o(ord)g(is)h(a)f(\014eld
V)
Xh(and)f(ma)o(y)f(b)q(e)i(named.)32 b(In)18 b(practice)i(a)1017
X689 y(segmen)o(t)14 b(generally)h(con)o(tains)g(either)g(program)f(or)h
X(data,)1017 739 y(and)20 b(if)g(the)h(latter,)h(it)f(is)f(generally)h(in)o
X(teger)g(n)o(um)o(b)q(ers,)1017 789 y(\015oating-p)q(oin)o(t)e(n)o(um)o(b)q
X(ers,)j(c)o(haracters,)i(or)d(p)q(oin)o(ters)h(to)1017 839
Xy(other)29 b(data.)61 b(T)m(o)28 b(a)h Fs(bliss)f Ft(program,)i(ho)o(w)o(ev)
Vo
X(er,)i(a)1017 888 y(\014eld)23 b(merely)f(con)o(tains)h(a)g(pattern)h(of)e
X(bits.)46 b(V)m(arious)1017 938 y(op)q(erations)11 b(ma)o(y)d(b)q(e)k
X(applied)e(to)h(\014elds)g(and)g(bit)f(patterns,)1017 988 y(suc)o(h)17
Xb(as)g(fetc)o(hing)f(a)h(bit)f(pattern)i(\(v)n(alue\))e(from)f(a)h(\014eld,)
X1017 1038 y(storing)c(a)h(bit)f(pattern)i(in)o(to)e(a)h(\014eld,)f(in)o
X(teger)i(arithmetic,)1017 1088 y(comparison,)19 b(Bo)q(olean)h(op)q
X(erations,)h(and)f(so)g(on.)37 b(The)1017 1137 y(in)o(terpretation)16
Xb(placed)f(up)q(on)h(a)f(particular)h(bit)f(pattern)1017 1187
Xy(and)c(the)h(consequen)o(t)h(transformation)d(p)q(erformed)h(b)o(y)g(an)101
V7
X1237 y(op)q(erator)f(is)f(an)g(in)o(trinsic)g(prop)q(ert)o(y)i(of)e(that)g
X(op)q(erator)h(and)1017 1287 y(not)f(of)g(its)h(op)q(erands.)18
Xb(That)10 b(is)f(to)h(sa)o(y)m(,)f(there)j(is)d(no)h(\\t)o(yp)q(e")1017
X1337 y(di\013eren)o(tiation)j(as)h(in)g Fs(algol)p Ft(.)1066
X1386 y(Segmen)o(ts)21 b(are)g(in)o(tro)q(duced)h(in)o(to)e(a)h
XFs(bliss)g Ft(program)1017 1436 y(b)o(y)11 b(declarations,)h(called)g(\\allo
V)
Xq(cation)e(declarations,")i(for)1017 1486 y(example:)1066 1565
Xy Fl(global)i Fk(g)q Fl(;)1066 1611 y(o)o(wn)g Fk(x)p Fl(,)h
XFk(y)q Fj(`5B5`5D)p Fl(,)g Fk(z)r Fl(;)1066 1656 y(lo)q(cal)f Fk(p)p
XFj(`5B100`5D)p Fl(;)1066 1702 y(register)i Fk(r)q Fj(1)p Fl(,)g
XFk(r)q Fj(2`5B3`5D)p Fl(;)1066 1748 y(function)c Fk(f)t Fj(\()p
XFk(a;)7 b(b)p Fj(\))k(=)f Fk(:a)h Fi(")g Fk(:b)p Fl(;)1017
X1831 y Ft(Eac)o(h)18 b(of)f(these)i(declarations)f(in)o(tro)q(duces)h(one)f
X(or)g(more)1017 1880 y(segmen)o(ts)9 b(and)g(binds)g(the)h(iden)o(ti\014ers)
Vh
X(men)o(tioned)d(\(e.g.)16 b Fh(g)q Ft(,)1017 1930 y Fh(x)p
XFt(,)c Fh(y)q Ft(\))i(to)f(the)g(name)f(of)g(the)i(\014rst)f(w)o(ord)g(of)g
X(the)g(asso)q(ciated)1017 1980 y(segmen)o(t.)18 b(\(The)d Fg(function)c
XFt(declaration)j(also)f(initializes)1017 2030 y(the)19 b(segmen)o(t)f(named)
Vg
XFh(f)23 b Ft(to)c(the)g(appropriate)g(mac)o(hine)1017 2080
Xy(co)q(de.\))1066 2130 y(The)i(segmen)o(ts)g(in)o(tro)q(duced)g(b)o(y)f
X(these)i(declarations)1017 2179 y(con)o(tain)h(one)g(or)h(more)e(w)o(ords,)k
X(where)f(the)f(size)g(ma)o(y)1017 2229 y(b)q(e)19 b(sp)q(eci\014ed)h(\(as)f
X(in)f Fg(lo)q(cal)j Fh(p)p Ft(`5B100`5D\),)c(defaulted)i(to)g(one)1017
X2279 y(\(as)e(in)g Fg(global)h Fh(g)q Fg(;)p Ft(\),)g(or)f(defaulted)h(to)f
X(whatev)o(er)h(length)1017 2329 y(is)i(necessary)i(for)e(initialization)d
X(\(as)j(in)g(the)h Fg(function)1017 2379 y Ft(declaration\).)e(The)c(iden)o
X(ti\014ers)g(in)o(tro)q(duced)g(b)o(y)g(a)f(decla-)1017 2428
Xy(ration)i(are)h(lexically)e(lo)q(cal)h(to)h(the)g(blo)q(c)o(k)f(in)h(whic)o
X(h)f(the)1017 2478 y(declaration)j(is)h(made)e(\(that)i(is,)h(they)f(ob)q(ey
V)
Xg(the)g(usual)1017 2528 y Fs(algol)h Ft(scop)q(e)i(rules\),)g(with)d(one)h
X(exception`7Cnamely)m(,)1017 2578 y Fg(global)13 b Ft(iden)o(ti\014ers)j(are
V)g
X(made)f(a)o(v)n(ailable)e(to)i(other,)h(sep-)1017 2628 y(arately)23
Xb(compiled)f(mo)q(dules.)45 b(Segmen)o(ts)23 b(created)i(b)o(y)965
X2770 y(3)p eop
X%%Page: 4 4
Xbop 0 42 a Fg(o)o(wn)p Ft(,)10 b Fg(global)p Ft(,)e(and)i Fg(function)d
XFt(declarations)j(are)g(created)0 91 y(only)k(once)h(and)f(are)h(preserv)o
X(ed)h(for)e(the)h(duration)f(of)g(the)0 141 y(execution)h(of)e(a)h(program.)
+-+-+-+-+-+-+-+-  END  OF PART 4 +-+-+-+-+-+-+-+-
