IRC log of xproc on 2006-03-23

Timestamps are in UTC.

16:02:44 [RRSAgent]
RRSAgent has joined #xproc
16:02:44 [RRSAgent]
logging to
16:02:55 [Zakim]
16:03:00 [alexmilowski]
alexmilowski has joined #xproc
16:03:16 [Norm]
Meeting: XML Processing Model WG
16:03:16 [Norm]
Scribe: Norm
16:03:16 [Norm]
ScribeNick: Norm
16:03:16 [Norm]
Date: 23 Mar 2006
16:03:16 [Norm]
Chair: Norm
16:03:17 [Norm]
16:03:21 [Norm]
zakim, who's on the phone?
16:03:21 [Zakim]
On the phone I see rlopes, AndrewF, PGrosso, Allessandro, Alex_Milowski, Norm
16:03:50 [ht]
zakim, please call ht-781
16:03:50 [Zakim]
ok, ht; the call is being made
16:03:53 [Zakim]
16:04:28 [richard]
richard has joined #xproc
16:04:30 [Norm]
zakim, who's on the phone?
16:04:31 [Zakim]
On the phone I see rlopes, AndrewF, PGrosso, Alessandro, Alex_Milowski, Norm, Ht
16:04:56 [Zakim]
16:05:01 [richard]
zakim, ? is richard
16:05:01 [Zakim]
+richard; got it
16:06:29 [Norm]
Present: Andrew, Paul, Rui, Alex, Henry, Richard, Alessandro, Norman
16:06:52 [Norm]
Topic: Administriiva
16:06:59 [Norm]
16:07:08 [Norm]
Topic: Accept this agenda
16:07:10 [Norm]
16:07:27 [Norm]
Topic: Accept minutes of 9 Mar?
16:07:28 [Norm]
16:07:30 [MSM]
zakim, please call Michael-Office
16:07:30 [Zakim]
ok, MSM; the call is being made
16:07:32 [Zakim]
16:07:34 [Norm]
Topic: Accept minutes of 16 Mar?
16:07:38 [Norm]
16:07:46 [Zakim]
16:07:54 [MSM]
zakim, who's here?
16:07:54 [Zakim]
On the phone I see rlopes, AndrewF, PGrosso, Alessandro, Alex_Milowski, Norm, Ht, richard, Michael, Murray_Maloney
16:07:56 [Zakim]
On IRC I see richard, alexmilowski, RRSAgent, AndrewF, Norm, rlopes, Zakim, PGrosso, Alessandro, klanz2, MoZ, MSM, ht
16:08:02 [Norm]
Topic: Next meeting 30 Mar
16:08:14 [Norm]
Regrets from Henry
16:08:21 [Norm]
Present: Andrew, Paul, Rui, Alex, Henry, Richard, Alessandro, Norman, Murray, Michael
16:09:30 [Norm]
Topic: Technical
16:09:36 [Norm]
zakim, agenda+ Face-to-face meeting planning
16:09:36 [Zakim]
agendum 1 added
16:09:43 [Alessandro]
Norm, you can add regrets from Erik who won't be able to join us today
16:09:49 [Norm]
Regrets: Erik
16:10:18 [Norm]
ScribeNick: MSM
16:10:37 [MSM]
AM: have made a number of formatting and stylistic changes.
16:10:48 [MSM]
... Table is compacted, I hope it's easier to read.
16:11:00 [MSM]
... The use cases now have identifiers which can remain constant across reorderings.
16:11:16 [MSM]
NDW: I'm comfortable with publishing this, although I still have questions about the table.
16:11:38 [MSM]
AM: well, the table should be either completed or dropped. it's valuable, but it's not worth delaying publication over.
16:11:56 [MSM]
NDW: recall that the use cases and requirements are not fixed and immutable from this point on.
16:12:17 [PGrosso]
16:12:41 [MSM]
MM: let's make it invisible rather than deleting it.
16:12:52 [PGrosso]
16:12:54 [MSM]
clarification: it's the table at the beginning of sec 5 we are talking about
16:13:12 [Norm]
ScribeNick: Norm
16:13:42 [Norm]
MSM: I'd rather leave the table in place with a note to say that it's incomplete
16:14:03 [Norm]
Murray: Is that an offer to complete it?
16:15:04 [Norm]
ACTION: MSM to draft a complete table; ETA: 21 Apr 2006
16:15:14 [Norm]
We'll publish the document with the table, with a note that it's incomplete
16:15:25 [Norm]
ACTION: Alex: add a note to the effect that the table is incomplete
16:16:36 [Norm]
Proposal: The WG has consensus to publish the Use Cases and Requirements document with minor editorial changes including a reordering of the Use Cases.
16:16:55 [Norm]
16:17:04 [Norm]
ACTION: Norm to request first-public-working draft status
16:17:31 [Norm]
Publication date: 4 Apr 2006
16:19:17 [Norm]
ACTION: Alex to produce a draft with reordered use cases by 29 Mar 2006
16:20:10 [Norm]
Topic: Conditionals and sub-pipelines
16:21:13 [richard]
16:21:37 [Norm]
Norm observes that last week Henry tried to outline Richard's position.
16:21:46 [Norm]
Norm asks Richard if he has anything to add
16:22:19 [Norm]
Richard: On reflection, the work we did at the face-to-face was too complex.
16:23:11 [Norm]
Richard: Having components with unread inputs or unwritten outputs spreads the conditional across the whole pipeline
16:23:30 [Norm]
Richard: I'm not suggesting a simpler approach where the inputs/outputs/parameters of each side of the branch must be the same
16:24:01 [Norm]
Richard: I'm still suggesting that the test be controlled by an XPath over a separate documents
16:24:11 [Norm]
Richard: What if you want the two branches to have different inputs?
16:24:37 [Norm]
Richard: You can put the inputs inside the conditionals.
16:24:55 [Norm]
Richard: I've described this at the URL:
16:25:42 [Norm]
Alex: This is a lot like what I do now.
16:26:03 [Norm]
Richard: Unlike Alex, I distinguish control structure from things that happen in components.
16:26:57 [Norm]
Richard: I wanted to make the control structure explicitly part of the language.
16:27:15 [Norm]
Richard: My aim is to find the smallest amount of control structure necessary.
16:27:30 [Norm]
Richard: I think viewports, for example, don't have to be control structures.
16:28:34 [Norm]
Alex: Is this if/else or choose?
16:28:56 [Norm]
Richard: I've deliberately not answered that question. You could in principle compile from a choose down to an if/else as I've described here.
16:29:12 [Norm]
Norm: I think the question of whether conditionals are part of the language or just components is central.
16:30:37 [Norm]
Norm: I'm leaning towards the idea that control structures should be in the language
16:30:52 [ht]
q+ to argue in favour of conditional-in-the-language position
16:31:06 [Norm]
Richard: I wanted to avoid the case where a component took two pipelines and a condition. This would be something like 'eval' and that makes things less transparent.
16:31:12 [Norm]
16:31:14 [Norm]
ack ht
16:31:14 [Zakim]
ht, you wanted to argue in favour of conditional-in-the-language position
16:31:30 [Norm]
HT: I want to endorse the inclination that we should have conditionals in the language
16:31:53 [Norm]
HT: Exposing conditionals as a language construct is important in order to allow the analysis of pipelines to be a sensible thing to undertake.
16:31:59 [MSM]
MSM has joined #xproc
16:32:52 [Norm]
HT: Knowning that there are exclusive "OR"s about is a potentially important factor in analysis.
16:33:02 [MSM]
Why not just say that the language does not guarantee either that every component will run, nor that components in the false branch won't run?
16:33:17 [Norm]
Norm: Anyone uncomfortable with conditionals as components-in-the language
16:34:03 [Norm]
MSM: Alex has argued in the past for the view that control structures shouldn't be part of the language so that you can add new control structures by adding new components
16:34:05 [ht]
HST doesn't here roll-your-own-control being ruled _out_, just exposing conditionals as part of the language _in_
16:34:16 [ht]
16:34:51 [Norm]
Richard: That raises the question of side effects.
16:35:09 [Norm]
MSM: There are programming languages that say "under these conditions whether the side-effect is observable or not is undefined"
16:35:21 [Norm]
Richard: They say that about their basic conditional?
16:35:22 [Norm]
MSM: Yes.
16:35:58 [alexmilowski]
16:36:01 [Norm]
MSM: In particular, boolean conditionals may be evaluated in some indeterminate order, short circuited or not.
16:36:18 [alexmilowski]
16:36:21 [alexmilowski]
16:36:25 [Norm]
Some discussion of whether that's the same as the possible implementation of the else branch
16:37:17 [Norm]
ack alexmilowski
16:38:03 [Norm]
Alex: I have a bunch of developers using pipelines. I make no distinction between steps and language constructs like choose and the viewports. My impression is that they find this confusing.
16:38:06 [ht]
16:38:39 [Norm]
Alex: Implementation-wise, they're all components. But having conditionals and viewports not part of the "higher language" constructs is confusing to users.
16:38:53 [Norm]
Alex: In the end, my choice to implement choose as a component is just an implementation choice, no more.
16:39:24 [Norm]
Alex: I make sure the "else" branches don't run.
16:39:38 [MSM]
If what is being proposed is "let us define semantics for conditional constructs as part of our spec", then I think I am OK with it.
16:39:40 [Norm]
ack ht
16:39:53 [Norm]
I think that's what we're saying MSM
16:40:00 [MSM]
As long as we're not saying "no component is allowed to do anything but read input and write output" ...
16:40:10 [richard]
16:40:25 [Norm]
HT: I don't propose to rule out components that perform conditionals, just the positive aspect of making some conditionals part of the language.
16:40:57 [Norm]
MSM: I would have expected this to be a question of what's defined in our spec, but we seem to be going a little further than just putting it in the spec.
16:41:18 [Norm]
MSM: I want it to be a language construct vs. I want conditionals to be defined in our spec seems to be the issue.
16:41:31 [Norm]
Richard: Suppose that you didn't have an "if" and you wanted to implement it as a component.
16:41:49 [Norm]
Richard: This component would have to have inputs and etc., but also a description of the "if" and "else" branches.
16:42:09 [Norm]
Richard: So if we said that's how it worked, we'd have to make it possible for pipelines to be parameters to components.
16:42:29 [Norm]
Richard: This gives components a lot more power than we need to do the bare minimum.
16:42:48 [Norm]
Richard: I don't want the basic, minimal language to have to support that complexity.
16:43:10 [Norm]
MSM: I guess I see some tension between what should be the minimum and what should be possible.
16:43:45 [alexmilowski]
q+ xslt actions comparison
16:43:47 [ht]
Richard contrasts fexprs and macros in List
16:43:51 [ht]
16:43:54 [alexmilowski]
16:44:00 [ht]
ack richard
16:44:02 [Norm]
Richard: I'm quite happy with something that works like a macro, something that turns into some control structure using that. What I'm not happy with is something that effectively "evals" its arguments to perform a computation
16:44:18 [Norm]
ack Alessandro
16:44:20 [Norm]
ack alexmilowski
16:44:55 [Norm]
Alex: I allow you to embed chunks of a pipeline in your components.
16:45:14 [MSM]
Richard, can you type in the Lisp keyword / technical term you were pronouncing?
16:45:20 [richard]
16:45:21 [Norm]
Alex: An analogy here is XSLT instructions. If you want to write your own instruction, you need to be able to embed other instructions inside it.
16:45:37 [richard]
it's one the kinds of EXPR (expression)
16:45:51 [Norm]
Alex: In XSLT, that's completely implementation defined. It's an issue if we need to go there or not.
16:46:06 [richard]
you won't find it in scheme!
16:46:23 [Norm]
Alex: That's one way to give extensibility without having to reinvent the world. You can invent your own crazy conditional with side effects or what have you. But it does put additional requirements on implementors.
16:46:30 [MSM]
Ah, that may be why it sounded unfamiliar
16:46:59 [richard]
scheme takes the approach i'm advocating, it has macros but no eval-like mechanism
16:48:28 [richard]
And my point about viewports is that they can be implemented in a macro-like manner without any "magic" components
16:48:42 [alexmilowski]
16:48:52 [Norm]
ACTION: MSM to setup bugzilla for us
16:50:24 [Norm]
Topic: Sub-pipelines
16:51:15 [Norm]
Norm: The ability to define and reuse a sub-pipeline in the same document is still an open quesiton
16:51:41 [Norm]
Richard: If we accept the separation of the language into a conceptual part and a syntax for expressing that, then this issue falls into the second part.
16:52:07 [Norm]
Richard: I think we're all agreed that conceptually you should be able to put a sequence of steps anywhere that a component can occur
16:52:56 [Norm]
Norm: Do we all agree that conceptually you can put a sub-pipeline anywhere you can put a component?
16:53:04 [Norm]
Some "yes"es, some "not sure"s
16:53:12 [Norm]
No "no"s
16:53:15 [MSM]
it sounds right, but I keep worrying about a catch I'm not seeing.
16:53:24 [alexmilowski]
(sorry... stepped off...) yes
16:53:51 [Norm]
Norm: Raising the question to the conceptual level seems to reduce the urgency of answering the question
16:54:33 [Norm]
HT: But it does raise the urgency on the question of whether we're talking about an abstract syntax with a nearly-isomorphic concrete syntax or if we're designing an virtual machine with a concrete syntax that might be quite removed
16:54:42 [Norm]
HT: The time is coming when we're going ot have to make our minds up
16:54:58 [Norm]
Richard: I think you're right, but the answer will be neither of the two extremes
16:55:14 [Norm]
Richard: The abstract primitives aren't a virtual machine, but they're designed to make programming easier.
16:55:33 [Norm]
Richard: They're more like the primitives of lisp that will be extended by writing functions and macros on top of them
16:56:08 [Norm]
Topic: Any other business
16:56:16 [Norm]
Topic: Face-to-face in August in Toronto
16:56:22 [Norm]
Alex: Exact time is undecided
16:56:28 [Norm]
Alex: But I'm willing.
16:57:04 [Norm]
Norm: Anyone uncomfortable with having another f2f this soon?
16:57:13 [MSM]
which week in August?
16:57:17 [Norm]
Richard: I'm not sure I can make it, but the date doesn't have much bearing.
16:57:31 [Norm]
HT: I think it's a good idea, I will try to come.
16:59:00 [Norm]
Norm: Please respond in email if you prefer 2-4 Aug or 14-17 Aug
16:59:07 [Norm]
16:59:11 [Zakim]
16:59:12 [Zakim]
16:59:12 [Zakim]
16:59:13 [Zakim]
16:59:15 [Zakim]
16:59:16 [Zakim]
16:59:18 [Zakim]
16:59:20 [Zakim]
16:59:24 [Zakim]
16:59:28 [Norm]
rrsagent, set logs world-visible
16:59:29 [rlopes]
rlopes has left #xproc
16:59:30 [Zakim]
16:59:32 [Zakim]
XML_PMWG()11:00AM has ended
16:59:34 [Zakim]
Attendees were [IPcaller], PGrosso, AndrewF, Alex_Milowski, Allessandro, Norm, rlopes, Alessandro, Ht, richard, Michael, Murray_Maloney
16:59:39 [Norm]
rrsagent, draft minutes
16:59:39 [RRSAgent]
I have made the request to generate Norm
16:59:56 [Norm]
rrsagent, bye
16:59:56 [RRSAgent]
I see 5 open action items saved in :
16:59:56 [RRSAgent]
ACTION: MSM to draft a complete table; ETA: 21 Apr 2006 [1]
16:59:56 [RRSAgent]
recorded in
16:59:56 [RRSAgent]
ACTION: Alex: add a note to the effect that the table is incomplete [2]
16:59:56 [RRSAgent]
recorded in
16:59:56 [RRSAgent]
ACTION: Norm to request first-public-working draft status [3]
16:59:56 [RRSAgent]
recorded in
16:59:56 [RRSAgent]
ACTION: Alex to produce a draft with reordered use cases by 29 Mar 2006 [4]
16:59:56 [RRSAgent]
recorded in
16:59:56 [RRSAgent]
ACTION: MSM to setup bugzilla for us [5]
16:59:56 [RRSAgent]
recorded in
16:59:59 [Norm]
zakim, bye
16:59:59 [Zakim]
Zakim has left #xproc
17:00:12 [Norm]
MSM, when's a good time to talk about Bugzilla?
17:00:30 [Norm]
17:00:46 [MSM]
Norm, I'm going to step away from my desk but will take the phone with me in case you wish to talk about Bugzilla between now and the XSL meeting.