[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-85165-en":3,"doc-seo-85165-105":29,"detail-sidebar-cat-0-en-105":91},{"code":4,"msg":5,"data":6},0,"success",{"doc_id":7,"user_id":8,"nickname":9,"user_avatar":10,"doc_module":4,"category_id":11,"category_name":12,"doc_title":13,"doc_description":14,"doc_content":15,"file_id":16,"file_url":17,"file_type":18,"file_size":19,"view_count":20,"is_deleted":4,"is_public":20,"is_downloadable":20,"audit_status":20,"page_count":21,"language":22,"language_code":23,"site_id":24,"html_lang":23,"table_of_contents":25,"faqs":26,"seo_title":13,"seo_description":14,"update_tm":27,"read_time":28},85165,962075114765,"Quinn","https://ap-avatar.wpscdn.com/davatar_a8503ba1806abce46bf441b54a3ca4cd",6,"Technology","Programming with Ellipses","Design of a language extension enabling ellipses (“...”) in patterns and expressions to express function definitions over lists more succinctly than standard recursive equations. Semantics are specified through a program translation grounded in least general generalizations of ellipsis boundary expressions. The approach supports many kinds of list-based function definitions and can strengthen teaching of functional programming, especially for readers from imperative backgrounds, due to ellipses’ inherently iterative character and its expressiveness akin to list comprehension.","arXiv :2607 . 1000 1v 1 [ cs .PL] 10 Jul 2026  \nProgramming with Ellipses  \nMARTIN ERWIG  \nOregon State University, USA  \n(email: [erwig@oregonstate.edu](erwig@oregonstate.edu))  \nHANG IL KIM  \nOregon State University, USA  \n([email:](email: kimhang@oregonstate.edu)[ kimhang@oregonstate.edu](email: kimhang@oregonstate.edu))  \nAbstract  \nWe present the design of a language extension that allows the use of ellipses (“...”) in patterns and expressions, which facilitates function definitions on lists that are more succinct and direct than the standard recursive ones. The semantics of ellipsis notation is defined via a program translation that is based on computing least general generalizations of the expressions on the boundary of ellipses. We show that ellipsis notation applies to a wide spectrum of function definitions. Ellipsis notation can also support the teaching of functional programming, and its inherently iterative nature may make it especially helpful to those with an imperative programming background. Like list comprehensions, ellipsis notation provides an attractive tool for functional languages that adds to their syntactic variety and enriches their expressiveness.  \n1 Introduction  \nLists are probably the most widely used data structures in functional programming. It is therefore no surprise that functional languages offer special support for programming with lists. In addition to providing comprehensive libraries, such support can be observed in the language design, especially in its syntax.  \nMany functional languages, for instance, offer special syntax for list constants. In Haskell [32], one such syntax is a simple form of ellipsis notation. For example, the expression [a . .b] constructs the list of elements between a and b, which works for elements of any Enum type. One can even specify a different offset, as in [1,3 . .9], which yields the list of odd digits. In addition, Haskell offers list comprehensions [50] as a special syntax for constructing and filtering lists. List comprehensions are a simple, yet effective language extension whose popularity has led to their adoption by other programming languages. The success of the list comprehension notation is in part due to its origin in elementary set theory, where it is known as set comprehension or set-builder notation [41] . The close relationship between list and set comprehensions means that programmers with a background in basic discrete math tend to find the notation familiar and immediately accessible.  \nAs shown in the Haskell report [32], list comprehensions are ultimately syntactic sugar for nested applications of concatMap plus conditionals, but can often be rewritten more simply using map and filter. Arguably, list comprehension syntax helps in writing simpler Haskell programs. Despite their seemingly limited contribution, list comprehensions are quite popular and must be considered a successful language extension. A similar story can be told about do notation, which was introduced to Haskell to simplify cascades of monadic bind operations and later adopted by several other programming languages.  \n2 Martin Erwig and Hangil Kim  \nEncouraged by the success of list comprehensions, we propose the use of ellipses (three consecutive periods “...”) for programming with lists. Ellipses are an even more widespread and simpler notation than set comprehensions, and thus promise also to be accessible by a large audience. As a simple example, consider the function map, whose well-known recursive definition is as follows.  \nmap f [] = []  \nmap f (x:xs) = f x:map f xs  \nThis definition is as clear as it gets, but it requires the use of recursion and two equations to distinguish the base case and the inductive case. Now, consider a definition of map that uses ellipses instead.  \nmap f [x1,   , xn] = [f x1,   , f xn]  \nThis definition expresses the effect of applying f to all elements of the list more directly than the recursive one, since it contains only applicat","cbCaicDP0k6AF21l","https://ap.wps.com/l/cbCaicDP0k6AF21l","pdf",371198,1,26,"English","en",105,"# Introduction\n# Martin Erwig and Hangil Kim\n# This Paper","[{\"question\":\"What problem does the ellipsis notation address in list programming?\",\"answer\":\"It provides a way to write list-based function definitions more succinctly and directly than conventional recursive definitions that require separate base and inductive equations.\"},{\"question\":\"How are the semantics of ellipsis notation defined?\",\"answer\":\"Semantics are defined via a program translation based on computing least general generalizations of the expressions at the boundaries of ellipses.\"},{\"question\":\"Why might ellipses help programmers, especially those from imperative backgrounds?\",\"answer\":\"Because ellipses are inherently iterative, they can feel more familiar to imperative-minded programmers and make starting with functional list programming easier.\"}]",1784201490,66,{"code":4,"msg":30,"data":31},"ok",{"site_id":24,"language":23,"slug":32,"title":13,"keywords":33,"description":14,"schema_data":34,"social_meta":86,"head_meta":88,"extra_data":90,"updated_unix":27},"programming-with-ellipses","",{"@graph":35,"@context":85},[36,53,68],{"@type":37,"itemListElement":38},"BreadcrumbList",[39,43,47,50],{"item":40,"name":41,"@type":42,"position":20},"https://docshare.wps.com","Home","ListItem",{"item":44,"name":45,"@type":42,"position":46},"https://docshare.wps.com/document/","Document",2,{"item":48,"name":12,"@type":42,"position":49},"https://docshare.wps.com/document/technology/",3,{"item":51,"name":13,"@type":42,"position":52},"https://docshare.wps.com/document/programming-with-ellipses/85165/",4,{"url":51,"name":13,"@type":54,"author":55,"headline":13,"publisher":57,"fileFormat":60,"inLanguage":23,"description":14,"dateModified":61,"datePublished":62,"encodingFormat":60,"isAccessibleForFree":63,"interactionStatistic":64},"DigitalDocument",{"name":9,"@type":56},"Person",{"url":40,"name":58,"@type":59},"DocShare","Organization","application/pdf","2026-07-17","2026-07-16",true,{"@type":65,"interactionType":66,"userInteractionCount":20},"InteractionCounter",{"@type":67},"ViewAction",{"@type":69,"mainEntity":70},"FAQPage",[71,77,81],{"name":72,"@type":73,"acceptedAnswer":74},"What problem does the ellipsis notation address in list programming?","Question",{"text":75,"@type":76},"It provides a way to write list-based function definitions more succinctly and directly than conventional recursive definitions that require separate base and inductive equations.","Answer",{"name":78,"@type":73,"acceptedAnswer":79},"How are the semantics of ellipsis notation defined?",{"text":80,"@type":76},"Semantics are defined via a program translation based on computing least general generalizations of the expressions at the boundaries of ellipses.",{"name":82,"@type":73,"acceptedAnswer":83},"Why might ellipses help programmers, especially those from imperative backgrounds?",{"text":84,"@type":76},"Because ellipses are inherently iterative, they can feel more familiar to imperative-minded programmers and make starting with functional list programming easier.","https://schema.org",{"og:url":51,"og:type":87,"og:title":13,"og:site_name":58,"og:description":14},"article",{"robots":89,"canonical":51},"index,follow",{"doc_id":7,"site_id":24},{"code":4,"msg":5,"data":92},[93,97,101,105,110,113,118,123,128,131,135],{"id":20,"doc_module":4,"doc_module_name":45,"category_name":94,"show_sort_weight":95,"slug":96},"Story & Novel",90,"story-novel",{"id":46,"doc_module":4,"doc_module_name":45,"category_name":98,"show_sort_weight":99,"slug":100},"Literature",80,"literature",{"id":52,"doc_module":4,"doc_module_name":45,"category_name":102,"show_sort_weight":103,"slug":104},"Exam",70,"exam",{"id":106,"doc_module":4,"doc_module_name":45,"category_name":107,"show_sort_weight":108,"slug":109},5,"Comic",60,"comic",{"id":11,"doc_module":4,"doc_module_name":45,"category_name":12,"show_sort_weight":111,"slug":112},50,"technology",{"id":114,"doc_module":4,"doc_module_name":45,"category_name":115,"show_sort_weight":116,"slug":117},7,"Healthcare",40,"healthcare",{"id":119,"doc_module":4,"doc_module_name":45,"category_name":120,"show_sort_weight":121,"slug":122},8,"Research & Report",30,"research-report",{"id":124,"doc_module":4,"doc_module_name":45,"category_name":125,"show_sort_weight":126,"slug":127},9,"Religion & Spirituality",20,"religion-spirituality",{"id":126,"doc_module":4,"doc_module_name":45,"category_name":129,"show_sort_weight":126,"slug":130},"World Cup","world-cup",{"id":132,"doc_module":4,"doc_module_name":45,"category_name":133,"show_sort_weight":132,"slug":134},10,"Lifestyle","lifestyle",{"id":136,"doc_module":4,"doc_module_name":45,"category_name":137,"show_sort_weight":106,"slug":138},19,"General","general"]