Skip to content

Deforested List APIs in qi/list (cf. racket/list) #118

@countvajhula

Description

@countvajhula

@dzoep made a survey of racket/list and identified these APIs as candidates for deforestation (after the initial compiler release merging #74 ).

Consumers:

  • cadr, caddr, cadddr, caddddr, cadddddr
  • list-ref
  • length
  • reverse (like foldX)
  • findf
  • assoc
  • assw
  • assv
  • assq
  • assf
  • empty? / null?
  • pair? / cons?
  • index-of
  • index-where
  • count
  • argmin
  • argmax
  • foldl
  • foldr
  • ormap
  • andmap

Producers:

  • range
  • map
  • append
  • append*
  • inclusive-range

Transformers:

  • map
  • filter
  • list-tail, drop
  • remove
  • remq
  • remv
  • remw
  • remove*
  • remq*
  • remv*
  • remw*
  • member (tail can continue to be processed)
  • memw
  • memv
  • memq
  • memf
  • cdr, cddr, cdddr, cddddr, cdddddr, rest
  • list-update
  • list-set
  • indexes-of
  • indexes-where
  • take
  • takef
  • dropf
  • add-between
  • filter-map
  • filter-not
  • remf
  • remf*

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions