Skip to content

Commit 372a404

Browse files
authored
Create notes-2024-07-15.md
1 parent 0ff406c commit 372a404

File tree

1 file changed

+150
-0
lines changed

1 file changed

+150
-0
lines changed

meetings/2024/notes-2024-07-15.md

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
# 15 July 2024 | MessageFormat Working Group Teleconference
2+
3+
### Attendees
4+
- Addison Phillips - Unicode (APP) - chair
5+
- Eemeli Aro - Mozilla (EAO)
6+
- Mihai Niță - Google (MIH)
7+
- Luca Casonato - Deno (LCA)
8+
- Harmit Goswami - Mozilla (HGO)
9+
- Ujjwal Sharma - Igalia (USA)
10+
- Richard Gibson - OpenJSF (RGN)
11+
12+
Scribe: LCA, USA
13+
14+
## Topic: Info Share
15+
16+
Nothing
17+
18+
## Topic: Tech Preview
19+
20+
Let’s review the Task List:
21+
22+
https://github.com/unicode-org/message-format-wg/wiki/Things-That-Need-Doing
23+
24+
APP: Added “A specification for a one-to-one mapping between the data model and XLIFF” from our goals doc.
25+
26+
## Topic: PR Review
27+
Timeboxed review of items ready for merge.
28+
29+
Late breaking PRs: #823 through #828
30+
31+
32+
33+
APP: asked for review on #826
34+
35+
Timebox these first:
36+
### Dropping machine-readable function registry #815
37+
38+
APP: I have reviewed this, don’t see other reviews, would someone like to review this or should we collectively agree to merge it?
39+
40+
Agreed to merge, with thumbs up from MIH and LCA
41+
42+
### Default formats for :date, :time, and :datetime functions #813
43+
44+
APP: when I wrote this part of the spec for LDML#45, I used defaults from MDN and it turns out the defaults for DateTimeFormat is not one of the named long, medium, short etc.
45+
46+
APP: what if the default is based on implementation?
47+
48+
EAO: not in favor of default on implementation - would lead to weird things
49+
50+
MIH: both in ICU and JDK the default is medium
51+
52+
APP: does CLDR have a default?
53+
54+
MIH: does not think so
55+
56+
APP: it’s probably for historical reasons, also I’m not personally a huge fan of the enumerated keywords because they’re kind of historical and they’re not consistent across locales so I prefer for people to use skeletons or option bags so we could switch to either options bags or skeletons if we choose to add them later
57+
58+
APP: right now with medium, you sometimes get a shortened month, sometimes you don’t. This is not so great
59+
60+
MIH: Two things: I did something at some point to see if we can create the enums from skeletons, which are the same as options bags, just a different representation. Shane is working on semantic skeletons where they try to address this problem by having enums for each subtype
61+
62+
EAO: the enums are locale specific - in Finnish using abbreviated month names is weird for example. EAO would prefer not getting stuck in a discussion about what is the best way to format dates in general, EAO would prefer we change away from short, is OK with medium, but would prefer long. short is weirdly abbreviated in many languages. Skeletons is beyond the scope of this specific PR
63+
64+
MIH: vote for default (medium)
65+
66+
APP: Do we want to propose medium as a default?
67+
68+
EAO: Proposes long
69+
70+
APP: I have a slight preference for medium
71+
72+
Voting:
73+
- Long: EAO, USA
74+
- Medium: LCA, APP, MIH, HGO
75+
- Short: none
76+
77+
USA and EAO can live with medium
78+
79+
**Action item:** EAO to make change to PR
80+
81+
### Unify input/local in data model #799
82+
83+
APP: we’ve had some previous discussion. Have we discussed feedback from MIH and and STA
84+
85+
MIH: would prefer to keep as is, this simplification is not useful, STA feels similarly
86+
87+
APP: Could you live with the change to remove that distinction? There’s a set of arguments for detecting the local input when … not sure if it goes too far in terms of oversimplifying.
88+
89+
MIH: I think it goes too far, it’s not just about processing, the problem is that it unifies different concepts.
90+
91+
LCA: I didn’t understand the semantic difference between the two earlier.
92+
93+
MIH:
94+
95+
LCA: What’s really interesting is that you think of them like function arguments, but the problem is that the function attributes is more like a .. if you think it terms of JS for instance you have a function that takes an argument and you still don’t
96+
97+
APP: your mental model is the correct one, none of the input values are needed to be annotated. As programmers, we tend to think of our …
98+
99+
EAO: One concern: building this into the data model has an issue that local variables can’t always be treated as what we consider local variables. So we can’t for .input or .local and change the following annotation and it might not work… the expectations are the same for both. In the data model specifically
100+
101+
102+
MIH: You need to move that as in input or you could do it as a local variable.
103+
104+
APP: You cannot do local for input.
105+
106+
MIH: So they are different things.
107+
108+
LCA: is it correct to assume that you have a linter rule that disallows variables that aren’t declared appropriately?
109+
110+
MIH: if the input is there, it assumes that it came from the developer. It’s a promise that it is coming from outside and that I cannot mess with it.
111+
112+
LCA: I thought input was a type annotation, but it also has a second function. It also creates a new resolved value with the formatting values that you have specified.
113+
114+
APP: I push back to “remember this is the data model”, not the syntax. Will it matter if the internal structural representation in the data model infers input vs local given what the operand is.
115+
116+
EAO: Do I understand right, in your POV, the first line can be expanded to B but not A?
117+
You have {$x :number} Into either: A) .input {$x :number} {{You have {$x}}} B) .local $y = {$x :number} {{You have {$y}}}
118+
119+
LCA: What a formatting language that isn’t MF2 would turn into the data model? A language that has no semantic distinction between the two…
120+
121+
EAO: When parsing a MF1 message in a MF2 context, we need to make this relatively abstract decision if we need a … and it’s easier not to have to make it at the data model level.
122+
123+
---
124+
125+
## Key Discussions
126+
127+
### Close out error handling (#816, #804)
128+
129+
MIH: I was unhappy with the discrepancy and I couldn’t find any agreement between us on the subject.
130+
131+
EAO: the part you’re concerned about is the requirement to be able to find out if a message has an error in it.
132+
133+
MIH: what bothers me is that we force programming languages to do error handling a certain way.
134+
135+
APP: we go out of our way to avoid specifying how errors are signaled.
136+
137+
MIH: many systems have existing behaviors for error handling - we can not change them all. we should allow an implementation to have either throwing or fallback behaviour
138+
139+
(There was a long unrecorded conversation about error handling omitted here due to losing our scribe mid-call. The net result was a call for balloting of the issue, to be done before the next telecon)
140+
141+
## If time permits:
142+
### Whitespace/bidi handling (#811)
143+
144+
APP: Need to consider whitespace interaction with isolates, particularly with regard to syntax validity. Being too strict here could result in user dissatisfaction.
145+
146+
147+
148+
## Topic: AOB?
149+
150+
Post-call discussion of bidi/whitespace with EAO, APP, MIH, RGN

0 commit comments

Comments
 (0)