| 15:53 | <Michael Ficarra> | we really need to do something about the NewTarget special form |
| 15:54 | <Michael Ficarra> | I just want to get rid of it entirely and use GetNewTarget() and lexicalEnvironmentRecord.[[NewTarget]] |
| 15:57 | <bakkot> | nah it's fine |
| 15:57 | <bakkot> | it's no worse than "the this value" |
| 16:03 | <Michael Ficarra> | there's no need for the special form though |
| 16:03 | <Michael Ficarra> | we already have (and use) GetNewTarget() |
| 16:04 | <Michael Ficarra> | we just use hand-wavey prose to set the [[NewTarget]] slot, and it makes it sound like they're two distinct concepts |
| 16:05 | <bakkot> | hm |
| 16:06 | <bakkot> | I feel like it's at least somewhat reasonable to write the "I am using new.target in a builtin" and "I am defining the semantics of new.target" forms in a different way |
| 16:07 | <Michael Ficarra> |
|
| 16:07 | <Michael Ficarra> | you can't tell me that that's a good way to say Set _lexicalEnvironmentRecord_.[[NewTarget]] to _newTarget_. |
| 16:07 | <Michael Ficarra> | same here: |
| 16:07 | <Michael Ficarra> |
|
| 16:13 | <bakkot> | you can't tell me that that's a good way to say |
| 16:14 | <bakkot> | the [[NewTarget]] slot is only used for user code |
| 16:14 | <Michael Ficarra> | so they are two separate concepts then? |
| 16:14 | <bakkot> | they could be collapsed |
| 16:15 | <bakkot> | but we write them in different ways |
| 16:16 | <bakkot> | mostly, afaict, because we don't set up environment records for built-in functions |
| 16:16 | <bakkot> | only for user code |
| 16:16 | <bakkot> | so it is not trivial to just re-use the ambient lexical environment |
| 21:31 | <jmdyck> | no editor call this week, I take it |
| 21:57 | <ljharb> | nope, generally not during plenary week |