[PoC] Can we really use tibble internally? #3048
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
❗️ Do NOT MERGE THIS ❗️
This is an attempt to use tibble internally as discussed on #3018, but currently I feel this is going to be a tough job. Although this is still at the very early stage of work in progress, I already see several dificulties:
$.tbl_df
warns when there is no such column. So, everytime we extract a column by$
, we need to check if the name exists rather than check the result isNULL
(c.f. 'unknown or uninitialised column' warning is annoying tibble#450).tbl_df
class. For example,transform()
andcbind()
returnsdata.frame
. Besides, in some places the users can supply arbitrary functions, which meams we have to convert the result from those user-input functions to tibble very frequently. I'm afraid this not only does harm on performance, but also makes the code error-prone.