00:29:19  * AtumTquit (Quit: AtumT)
00:56:13  * aki_joined
00:57:15  * ljharbquit (*.net *.split)
00:57:23  * akirosequit (Ping timeout: 260 seconds)
00:57:38  * aki_changed nick to akirose
01:04:23  * ljharbjoined
01:04:45  * ljharbquit (Changing host)
01:04:45  * ljharbjoined
01:04:58  * ljharbchanged nick to Guest96067
01:47:56  * isHavvyquit (Ping timeout: 272 seconds)
02:02:35  * interd0mejoined
02:06:18  * interd0mequit (Remote host closed the connection)
02:38:21  * jwaldenquit (Ping timeout: 240 seconds)
02:38:50  * arkainjoined
02:41:43  <arkain>q: Does there exist anywhere a clear list of requirements and use cases for proposals that intend to provide "private state" on objects?
02:57:36  * Miklo24joined
03:00:05  * Miklo24quit (Killed (Sigyn (Spam is off topic on freenode.)))
03:03:39  * aki_joined
03:03:58  * akirosequit (Ping timeout: 260 seconds)
03:03:59  * aki_changed nick to akirose
03:09:22  * Guest96067quit (Changing host)
03:09:22  * Guest96067joined
03:09:25  * Guest96067changed nick to ljharb
03:33:39  * arkainquit (Ping timeout: 252 seconds)
03:46:09  <devsnek>arkain: wdym requirements?
03:50:13  <ljharb>they quit
04:32:11  * jmdyckquit (Remote host closed the connection)
04:42:12  * lostnordjoined
04:43:49  * jwaldenjoined
04:46:45  * lostnordquit (Remote host closed the connection)
05:05:12  * jwaldenquit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805])
05:10:05  * aki_joined
05:11:52  * akirosequit (Ping timeout: 272 seconds)
05:11:53  * aki_changed nick to akirose
05:43:14  * madduck17joined
05:43:55  * madduck17quit (Killed (Sigyn (Spam is off topic on freenode.)))
06:15:22  * howdoijoined
07:15:19  * aki_joined
07:16:23  * akirosequit (Ping timeout: 244 seconds)
07:16:23  * aki_changed nick to akirose
07:51:40  * floatleftjoined
07:52:02  * floatleftquit (Client Quit)
07:55:28  * akoserwajoined
09:20:34  * aki_joined
09:21:50  * akirosequit (Ping timeout: 256 seconds)
09:21:50  * aki_changed nick to akirose
09:38:17  * theresajayne3joined
09:46:03  * theresajayne3quit (Ping timeout: 268 seconds)
10:18:04  * fossxplorer7joined
10:21:06  * fossxplorer7quit (Remote host closed the connection)
10:48:27  * deetwelve12joined
10:49:44  * deetwelve12quit (Remote host closed the connection)
11:27:18  * aki_joined
11:28:25  * akirosequit (Ping timeout: 268 seconds)
11:28:26  * aki_changed nick to akirose
11:37:05  * jmdyckjoined
11:50:19  * Guest48579joined
11:52:50  * Guest48579quit (Remote host closed the connection)
11:59:40  * Karasujoined
12:07:51  * Karasuquit (Ping timeout: 240 seconds)
12:43:58  * gibson042quit (Quit: Leaving.)
13:32:59  * aki_joined
13:34:00  * akirosequit (Ping timeout: 256 seconds)
13:34:01  * aki_changed nick to akirose
15:36:54  * akoserwaquit (Quit: Leaving)
15:37:47  * zkatquit (Read error: Connection reset by peer)
15:38:03  * zkatjoined
15:39:44  * aki_joined
15:40:47  * akirosequit (Ping timeout: 272 seconds)
15:40:47  * aki_changed nick to akirose
16:09:33  * mikedlr19joined
16:13:56  <Domenic>Today I discovered that in addition to null, undefined, and not-present, we also have a fourth not-there type in the spec: "empty"
16:14:39  <akirose>…neat?
16:16:24  * mikedlr19quit (Ping timeout: 268 seconds)
16:16:41  <TimothyGu>Domenic: you're welcome
16:23:29  <ljharb>we could probably replace all those empties with undefined
16:24:06  <bterlson>ljharb: I like spec types for values that are never exposed to user code
16:24:13  * ckeltz24joined
16:24:34  <ljharb>fair, but i think they might get converted to `undefined` when they *are* exposed
16:24:55  <bterlson>ljharb: if so, it's explicit. If not, it's a severe bug in spec or impl.
16:25:02  <bterlson>likely the former
16:25:02  <ljharb>alternatively there’s probably a lot of places we could convert absence and `undefined` to empty ¯\_(ツ)_/¯
16:29:23  * AtumTjoined
16:29:33  <Domenic>Context: https://github.com/whatwg/html/pull/3907
16:30:14  * ckeltz24quit (Ping timeout: 256 seconds)
16:31:16  <ljharb>isn’t it `~empty~` wherever it appears?
16:33:18  <Domenic>Yes?
16:34:04  <ljharb>i didn’t see the tildes in that PR, but i don’t know how the html spec renders things
16:35:34  <TimothyGu>ljharb: HTML doesn't have the ~~ styling
16:35:56  <ljharb>ah
16:35:58  <TimothyGu>plus the spec is already sans-serif so having the ~~ wouldn't make it more or less consistent
16:54:53  * Havvyjoined
16:57:35  * FuzzySocketsjoined
17:00:10  * jwaldenjoined
17:06:18  * FuzzySocketsquit (Ping timeout: 260 seconds)
17:10:23  <devsnek>for stuff like Call i've thought it would be better to make argumentsList a required param and explicitly pass <[]>
17:23:59  * onur12joined
17:24:07  * onur12quit (Remote host closed the connection)
17:34:15  * Random26joined
17:43:21  * Random26quit (Ping timeout: 268 seconds)
17:46:41  * aki_joined
17:47:43  * akirosequit (Ping timeout: 260 seconds)
17:47:44  * aki_changed nick to akirose
18:07:27  * ozy16joined
18:08:32  * ozy16quit (K-Lined)
18:17:08  * mozzarella22joined
18:19:40  * mozzarella22quit (Remote host closed the connection)
18:37:36  <jmdyck>There's also the not-there of when an instance of a production doesn't have a child corresponding to an option nonterminal.
18:38:28  <jmdyck>And the not-there when control hits the bottom of an operation (i.e., without a return).
18:38:50  <devsnek>wouldn't that be implicit NormalCompletion(empty)
18:40:31  <jmdyck>I don't think there's anything that says so.
18:46:03  <devsnek>seems like a spec bug
18:46:41  <jmdyck>It'd be a bug if the caller did something with the return value
18:47:24  <devsnek>seems like a refactoring hazard
18:49:28  <jmdyck>E.g. BlockDeclarationInstantiation doesn't have any Return steps, but it's only ever invoked via "Perform".
18:50:54  <jmdyck>that one doesn't really strike me as a refactoring hazard. Some other case might though.
18:51:48  <devsnek>it has two calls with ! which could end up in some other form in the future or whatever
18:51:54  <devsnek>dunno
18:52:08  <devsnek>probably fairly subjective at this point
18:52:59  <jmdyck>two calls with !?
18:53:28  <jmdyck>which calls are you talking about?
18:54:05  <devsnek>in BlockdeclarationInstantiation it does sets up bindings on the environment record
18:54:25  <devsnek>like nothing that would ever fail but
18:54:29  <devsnek>its just a bit weird
18:55:01  <jmdyck>ah, you're talking about calls (to other things) within the definition of BDI
18:55:16  <devsnek>yeah
18:56:06  <devsnek>like if you were just making a change to BlockDeclarationInstantiation and added a ? Operation() in there you would have to be careful about upstream callers of BlockDeclarationInstantiation
18:56:18  <jmdyck>yup, you would.
18:56:56  <jmdyck>ModuleDeclarationEnvironmentSetup is sort of in that boat
18:57:35  <devsnek>seems like those operations should be called with ! imo
18:58:07  <jmdyck>MDES can return some abrupt completions and control can fall off the end of the alg.
18:59:02  <devsnek>fun
18:59:04  <jmdyck>It should probably return something bland at the end.
19:01:31  <jmdyck>I *think* that's the only case, but I should probably write some code to check.
19:21:12  * trobotham24joined
19:25:08  * trobotham24quit (Remote host closed the connection)
19:31:23  * bret_part
19:31:39  * bret_joined
19:32:15  * bret_quit
19:33:04  * bretjoined
19:54:35  * akirosequit (Ping timeout: 240 seconds)
19:56:28  * akirosejoined
20:46:56  * labviking25joined
20:50:31  * labviking25quit (Killed (Sigyn (Spam is off topic on freenode.)))
21:14:28  * theresajayne7joined
21:15:36  * theresajayne7quit (Killed (Sigyn (Spam is off topic on freenode.)))
21:49:55  <devsnek>where would a good place to track the state of code being strict be
21:50:19  <devsnek>kinda like how current function object dangles off of realm
22:01:50  * aki_joined
22:02:51  * akirosequit (Ping timeout: 240 seconds)
22:02:51  * aki_changed nick to akirose
22:09:47  <jmdyck>devsnek: I guess you could check whether the function code of the current function is strict.
22:09:49  * niekjoined
22:10:24  <devsnek>there's also global strict though
22:10:31  <devsnek>i just don't know how to balance this all lol
22:11:07  * niekquit (Killed (Unit193 (Spam is not permitted on freenode.)))
22:11:24  <jmdyck>(actually, more concise to just check whether the current function is a strict function)
22:12:11  <jmdyck>not sure what you mean by global strict
22:12:31  <devsnek>'use strict'; function a() {}
22:12:41  <ljharb>you can check if the current function is in strict mode tho
22:12:49  <ljharb>does it matter why it's in strict mode?
22:15:33  <devsnek>it doesn't matter why
22:15:45  <devsnek>i'm just trying to figure out how to implement " If the code matching the syntactic production that is being evaluated is contained in strict mode code"
22:40:18  * LambdaComplex13joined
22:43:26  * LambdaComplex13quit (Remote host closed the connection)
23:00:42  * sud06joined
23:00:50  * sud06quit (Remote host closed the connection)
23:05:58  * darxun15joined
23:07:17  * darxun15quit (Remote host closed the connection)
23:08:35  <jmdyck>that would depend on what your implementation has available
23:09:13  <devsnek>the solution we came up with is walking the entire tree and assigning strict information to the ast we work with
23:09:27  <devsnek>and then adding an extra "strict" parameter to ResolveBinding
23:11:04  <jmdyck>Yeah, it's a bit sneaky how ResolveBinding avoided the extra parameter.
23:11:40  <devsnek>it looks like the only non runtime semantics op that asks for that
23:15:16  <jmdyck>you're saying ResolveBinding is non-runtime?
23:16:34  <devsnek>its not under runtime semantics its under abstract operations
23:16:49  <devsnek>its the only thing that asks for strict mode that isn't directly in the context of dealing with syntax
23:18:53  * AtumTquit (Quit: AtumT)
23:39:20  * anderson10joined
23:48:21  * anderson10quit (Ping timeout: 240 seconds)