TY - JOUR
T1 - Regular expression types for strings in a text processing language
AU - Tabuchi, Naoshi
AU - Sumii, Eijiro
AU - Yonezawa, Akinori
PY - 2003/2
Y1 - 2003/2
N2 - We present λre, a minimal functional calculus with regular expression types for strings, in order to establish a theoretical foundation of using regular expressions as types of strings in text processing languages. The major technical novelties in this paper (with respect to other work such as XDuce) are (1) the use of regular expression effects to statically analyze the shape of the output of an even diverging program and (2) the treatment of as-patterns in non-tail positions. We expect that our approach will be of help for bringing the merits of static typing into scripting languages such as Perl, Python, and Ruby without sacrificing too much of their expressiveness and flexibility.
AB - We present λre, a minimal functional calculus with regular expression types for strings, in order to establish a theoretical foundation of using regular expressions as types of strings in text processing languages. The major technical novelties in this paper (with respect to other work such as XDuce) are (1) the use of regular expression effects to statically analyze the shape of the output of an even diverging program and (2) the treatment of as-patterns in non-tail positions. We expect that our approach will be of help for bringing the merits of static typing into scripting languages such as Perl, Python, and Ruby without sacrificing too much of their expressiveness and flexibility.
UR - http://www.scopus.com/inward/record.url?scp=18944384127&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=18944384127&partnerID=8YFLogxK
U2 - 10.1016/S1571-0661(04)80781-3
DO - 10.1016/S1571-0661(04)80781-3
M3 - Conference article
AN - SCOPUS:18944384127
SN - 1571-0661
VL - 75
SP - 95
EP - 113
JO - Electronic Notes in Theoretical Computer Science
JF - Electronic Notes in Theoretical Computer Science
T2 - TIP'02, International Worshop in Types in Programming
Y2 - 8 July 2002 through 8 July 2002
ER -