diff --git a/spec.emu b/spec.emu index 00fd7d6..c780cbb 100644 --- a/spec.emu +++ b/spec.emu @@ -12,15 +12,15 @@ copyright: false

Iterator.concat ( ..._items_ )

- 1. Let _iteratorRecords_ be a new empty List. + 1. Let _iterables_ be a new empty List. 1. For each element _item_ of _items_, do 1. If _item_ is not an Object, throw a *TypeError* exception. 1. Let _method_ be ? GetMethod(_item_, %Symbol.iterator%). 1. If _method_ is *undefined*, throw a *TypeError* exception. - 1. Append the Record { [[OpenMethod]]: _method_, [[Iterable]]: _item_ } to _iteratorRecords_. - 1. Let _closure_ be a new Abstract Closure with no parameters that captures _iteratorRecords_ and performs the following steps when called: - 1. For each Record _desc_ of _iteratorRecords_, do - 1. Let _iter_ be ? Call(_desc_.[[OpenMethod]], _desc_.[[Iterable]]). + 1. Append the Record { [[OpenMethod]]: _method_, [[Iterable]]: _item_ } to _iterables_. + 1. Let _closure_ be a new Abstract Closure with no parameters that captures _iterables_ and performs the following steps when called: + 1. For each Record _iterable_ of _iterables_, do + 1. Let _iter_ be ? Call(_iterable_.[[OpenMethod]], _iterable_.[[Iterable]]). 1. If _iter_ is not an Object, throw a *TypeError* exception. 1. Let _iteratorRecord_ be ? GetIteratorDirect(_iter_). 1. Let _innerAlive_ be *true*.