Programming Languages

Luzia Leifheit

Photo of Luzia Leifheit

Luzia Leifheit
Uni­ver­sität Tübin­gen
WSI - Pro­gram­mier­sprachen
Sand 13
72076 Tübin­gen
Ger­many

Tele­fax
+49 - (0) 70 71 - 29 - 50 82
E-Mail
(at)uni-​tuebingen.​de
Of­fice

Open The­sis Top­ics

Sta­tic Typ­ing for Snap!

Snap! is an ed­u­ca­tional vi­sual pro­gram­ming lan­guage in the tra­di­tion of Scratch, but ex­tended with fea­tures for ab­strac­tion, such as higher-or­der func­tions and user-de­fined data types. The pur­pose of this the­sis is to add a sta­tic type sys­tem with type in­fer­ence to Snap, in the style of Hind­ley-Mil­ner type sys­tems – the back­bone of sta­tic typ­ing in func­tional pro­gram­ming. The main chal­lenge of this the­sis, be­yond im­ple­ment­ing the type sys­tem, is to de­sign vi­sual metaphors for sta­tic typ­ing that fit to the ped­a­gogy of Snap and adapt the type Hind­ley-Mil­ner sys­tem to the par­tic­u­lar fea­tures of­fered by Snap!.

Read more …