There and back again

被引:2
|
作者
Danvy, O [1 ]
Goldberg, M
机构
[1] Univ Aarhus, Dept Comp Sci, BRICS, DK-8000 Aarhus C, Denmark
[2] Ben Gurion Univ Negev, Dept Comp Sci, IL-84105 Beer Sheva, Israel
关键词
D O I
10.1145/583852.581500
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present a programming pattern where a recursive function traverses a data structure-typically a list-at return time. The idea is that the recursive calls get us there (typically to a base case) and the returns get us back again while traversing the data structure: We name this programming pattern of traversing a data structure at return time "There And Back Again" (TABA): The TABA pattern directly applies to computing a symbolic convolution. It also synergizes well-with other programming patterns, e.g., dynamic programming and traversing a list at double speed. We illustrate TABA and dynamic programming with Catalan numbers. We illustrate TABA and traversing a list at double speed with palindromes and we obtain a novel solution to this traditional exercise. A TABA-based function written in direct style makes full use of an Algol-like control stack and needs no heap allocation. Conversely, in a TABA-based function written in continuation-passing style, the continuation acts as a list iterator. In general, the TABA pattern saves one from constructing intermediate lists in reverse order.
引用
收藏
页码:230 / 234
页数:5
相关论文
共 50 条
  • [31] Back to basics, again
    Darlin, D
    FORBES, 1996, 157 (12): : 46 - 47
  • [32] Back in Seattle Again
    Vye, David
    MICROWAVE JOURNAL, 2013, 56 (05) : 24 - 24
  • [33] Measles: Back again
    Kumar, Dheeraj
    Sabella, Camille
    CLEVELAND CLINIC JOURNAL OF MEDICINE, 2016, 83 (05) : 340 - 344
  • [34] 'GO BACK AGAIN'
    RIORDAIN, SO
    MEANJIN, 1989, 48 (04): : 723 - 723
  • [35] Getting There and Back Again
    Danvy, Olivier
    FUNDAMENTA INFORMATICAE, 2022, 185 (02) : 115 - 183
  • [36] Back to the future, again
    Bairstow, Jeffrey
    LASER FOCUS WORLD, 2007, 43 (12): : 136 - 136
  • [37] BACK TO BASICS AGAIN
    WIDNER, WE
    MATERIALS EVALUATION, 1985, 43 (04) : 350 - 350
  • [38] Back in the Saddle Again . . .
    Wood-Black, Frankie
    JOURNAL OF CHEMICAL HEALTH & SAFETY, 2008, 15 (05): : 37 - 37
  • [39] BACK TO THE FUTURE AGAIN
    MEEKS, BN
    BYTE, 1988, 13 (10): : 144 - &
  • [40] Back in the satellite again
    Tosi, U
    FORBES, 1996, : 42 - 44