Jessica Gronski

Learn More
Software systems typically contain large APIs that are informally specified and hence easily misused. This paper presents the Sage programming language, which is designed to enforce precise interface specifications in a flexible manner. The Sage type system uses a synthesis of the type Dynamic, first-class types, and arbitrary refinement types. Since type(More)
Contract systems and hybrid type systems provide two alternative approaches for enforcing precisely-defined interface specifications, with complementary advantages: contract systems excel at blame assignment, whereas hybrid type systems support type-based static analysis. We unify these two approaches by demonstrating that hybrid type checking is(More)
This paper presents Sage, a functional programming language with a rich type system that supports a broad range of typing paradigms, from dynamically-typed Scheme-like programming, to decidable ML-like types, to precise refinement types. This type system is a synthesis of three general concepts — first-class types, general refinement types, and the type(More)
Anchor text has been shown to be effective in ranking[6] and a variety of information retrieval tasks on web pages. Some authors have expanded on anchor text by using the words around the anchor tag, a link-context, but each with a different definition of link-context. This lack of consensus begs the question: What is a good link-context? The two(More)
Recently cell phones and personal digital assistants (PDAs) have become a popular medium for browsing the web. Entering a search term in these mediums, however, is significantly more difficult than typing at a full computer because of small keyboard and stylus interfaces. Also some individuals find it difficult to type due to injury or disability. For these(More)
  • 1