Skip to content

There is no systematic way of documenting how lazy a non-strict collection operation is #11498

@julienrf

Description

@julienrf

In LazyList, strict operations have the following description:

image

It contains both “Note: Even when applied to a view or a lazy collection it will always force the elements.” and “This method evaluates all elements of the collection.”, which are redundant, IMO.

Some operations have the following comment:

image

“This method preserves laziness; elements are only evaluated individually as needed.” But this note is not present in the View operations.

We should use only one way to document whether an operation is strict or non-strict, and in case an operation is “mostly lazy” (e.g., takeRight) we should clearly document what will be evaluated and when.

Activity

added this to the 2.13.0-RC2 milestone on Apr 23, 2019
NthPortal

NthPortal commented on Apr 23, 2019

@NthPortal

we could potentially re-define whatever variable produces "Note: Even when applied to a view or a lazy collection it will always force the elements." to an empty string? either that or all the LazyList methods need to duplicate their parent scaladocs, which seems un-ideal.

julienrf

julienrf commented on Apr 24, 2019

@julienrf
Author

Yes, we can probably use a variable for that.

modified the milestones: 2.13.0-RC2, 2.13.0 on May 6, 2019
modified the milestones: 2.13.0, 2.13.1 on Jun 6, 2019
modified the milestones: 2.13.1, 2.13.2 on Aug 28, 2019
modified the milestones: 2.13.2, Backlog on Feb 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @szeiger@lrytz@SethTisue@julienrf@NthPortal

        Issue actions

          There is no systematic way of documenting how lazy a non-strict collection operation is · Issue #11498 · scala/bug