/irc-logs / w3c / #css / 2012-11-20 / end

Options:

  1. # Session Start: Tue Nov 20 00:00:00 2012
  2. # Session Ident: #css
  3. # [00:12] * Quits: SimonSapin (~simon@public.cloak) (Ping timeout: 60 seconds)
  4. # [00:35] * Quits: jet (~jet@public.cloak) (jet)
  5. # [00:42] * Joins: jet (~jet@public.cloak)
  6. # [00:56] * Joins: jdaggett (~jdaggett@public.cloak)
  7. # [01:49] * Quits: dbaron (~dbaron@public.cloak) ("8403864 bytes have been tenured, next gc will be global.")
  8. # [02:02] * Quits: jet (~jet@public.cloak) (jet)
  9. # [02:35] * Quits: krit1 (~krit@public.cloak) ("Leaving.")
  10. # [03:11] * Joins: krit (~krit@public.cloak)
  11. # [03:13] * heycam is now known as heycam|away
  12. # [03:22] * Quits: krit (~krit@public.cloak) (Client closed connection)
  13. # [03:34] * Joins: krit (~krit@public.cloak)
  14. # [03:43] * Quits: krit (~krit@public.cloak) ("Leaving.")
  15. # [03:50] * heycam|away is now known as heycam
  16. # [03:55] * leaverou is now known as leaverou_away
  17. # [04:57] * Joins: PovAddict (~nicolas@public.cloak)
  18. # [04:57] <PovAddict> weird, no channel topic...
  19. # [04:57] <PovAddict> hi people
  20. # [04:57] <liam> 'lo
  21. # [04:58] <PovAddict> I'm looking at the css3-syntax draft
  22. # [04:58] <PovAddict> (I know it's quite incomplete, it's marked as such all over the place)
  23. # [04:59] <PovAddict> on section 4.3.2, the 'any' grammar production is documented as a long list of alternatives
  24. # [04:59] <PovAddict> one of them is DELIM
  25. # [04:59] <PovAddict> but I don't see DELIM defined anywhere else in the document
  26. # [05:01] <liam> might be a question for the mailing list, or maybe for TabAtkins if he's around
  27. # [05:02] <PovAddict> I'm looking at a CSS-like language and trying to figure out how compatible it is with normal CSS
  28. # [05:02] * Joins: krit (~krit@public.cloak)
  29. # [05:02] * Joins: krit1 (~krit@public.cloak)
  30. # [05:03] <PovAddict> so far I think the tokenization is compatible, if the characters < > | - are allowed as part of 'any'
  31. # [05:04] <PovAddict> (css3-syntax defines 'selector' to be just 'any+', leaving it to the selector spec to elaborate)
  32. # [05:06] * Quits: krit (~krit@public.cloak) (Ping timeout: 60 seconds)
  33. # [05:06] <liam> PovAddict, I don't know if the right people to answer you question are here, it's for sure not me :-) if you don't have luck here, check the status section of the document for notes on where and how to send comments so they get seen
  34. # [05:07] <liam> (well, their IRC clients are here but that's not the same, and it may be a little late in the day and for many it's a holiday week)
  35. # [06:33] * Quits: Rossen (~Rossen@public.cloak) ("")
  36. # [07:01] * Joins: antonp (~Thunderbird@public.cloak)
  37. # [08:35] * heycam is now known as heycam|away
  38. # [08:39] * Joins: SimonSapin (~simon@public.cloak)
  39. # [08:49] * Quits: jdaggett (~jdaggett@public.cloak) (jdaggett)
  40. # [09:05] * Quits: PovAddict (~nicolas@public.cloak) (Ping timeout: 60 seconds)
  41. # [09:08] * Joins: PovAddict (~nicolas@public.cloak)
  42. # [09:20] * Quits: krit1 (~krit@public.cloak) ("Leaving.")
  43. # [09:43] * Joins: Ms2ger (~Ms2ger@public.cloak)
  44. # [09:52] * Quits: SamB_MacG5 (~SamB_MacG5@public.cloak) (Client closed connection)
  45. # [10:03] * Quits: SimonSapin (~simon@public.cloak) (Ping timeout: 60 seconds)
  46. # [11:06] * Joins: SimonSapin (~simon@public.cloak)
  47. # [12:17] * Joins: darktears (~darktears@public.cloak)
  48. # [12:45] * Quits: Ms2ger (~Ms2ger@public.cloak) (Ping timeout: 60 seconds)
  49. # [13:24] * Joins: tmpsantos (~tmpsantos@public.cloak)
  50. # [13:54] * Joins: Ms2ger (~Ms2ger@public.cloak)
  51. # [14:07] * leaverou_away is now known as leaverou
  52. # [14:20] * Quits: trackbot (trackbot@public.cloak) (Client closed connection)
  53. # [14:20] * Joins: trackbot (trackbot@public.cloak)
  54. # [15:50] * Quits: antonp (~Thunderbird@public.cloak) (antonp)
  55. # [15:50] * Joins: antonp (~Thunderbird@public.cloak)
  56. # [15:53] * Joins: krit (~krit@public.cloak)
  57. # [15:53] * Joins: krit1 (~krit@public.cloak)
  58. # [15:53] * Quits: krit (~krit@public.cloak) (Client closed connection)
  59. # [17:15] * Quits: Ms2ger (~Ms2ger@public.cloak) (Ping timeout: 60 seconds)
  60. # [17:29] * Joins: Ms2ger (~Ms2ger@public.cloak)
  61. # [17:33] * Quits: Ms2ger (~Ms2ger@public.cloak) ("bbl")
  62. # [17:45] * Quits: tmpsantos (~tmpsantos@public.cloak) ("Leaving")
  63. # [17:56] * Joins: tmpsantos (~tmpsantos@public.cloak)
  64. # [18:03] * Quits: tmpsantos (~tmpsantos@public.cloak) ("Leaving")
  65. # [18:05] <TabAtkins> PovAddict: I presume you're looking at the TR draft? Don't do that - look at the dev.w3.org/csswg/css3-syntax draft instead. It's a substantial overhaul of the parser, expressing it as a state machine rather than a grammar.
  66. # [18:07] <TabAtkins> PovAddict: If you look at the Selector Mode http://dev.w3.org/csswg/css3-syntax/#selector-mode it's obvious that any token is allowed in a Selector except for { or }.
  67. # [18:22] * Joins: SamB_MacG5 (~SamB_MacG5@public.cloak)
  68. # [18:24] * Quits: glenn (~gadams@public.cloak) (Ping timeout: 60 seconds)
  69. # [18:53] * Joins: glenn (~gadams@public.cloak)
  70. # [18:54] <PovAddict> TabAtkins: thanks, I was totally unaware of that one :)
  71. # [18:55] <PovAddict> TabAtkins: I find grammars more readable, but of course a state machine is more specific for stuff like error handling/recovery in real implementations
  72. # [18:55] <PovAddict> TabAtkins: and it's still not as insane as what HTML5 does (imperative algorithms in prose)
  73. # [18:56] <SimonSapin> TabAtkins: do you think the railroad diagrams would make sense for the parser too? (ie. not just tokens)
  74. # [18:56] <PovAddict> (I remember a mailing list post where someone was really struggling to write an HTML5 parser in a functional language, because the spec is pretty much imperative code in English)
  75. # [19:02] <PovAddict> I was trying to figure out how compatible http://wiki.openstreetmap.org/wiki/MapCSS/0.2 is with normal CSS
  76. # [19:03] <PovAddict> I think css3-syntax works
  77. # [19:09] <PovAddict> hm, for tokenizing
  78. # [19:09] <PovAddict> the 'set' keyword is incompatible with CSS3 tree construction
  79. # [19:11] <TabAtkins> SimonSapin: I considered it, yes.
  80. # [19:12] <PovAddict> I think this could be made CSS3-compatible by making 'set' an at-rule
  81. # [19:12] <TabAtkins> PovAddict: Yes, the declaration syntax is very strict about being "IDENT : <anything>"
  82. # [19:12] <TabAtkins> And yes, that would work.
  83. # [19:12] <PovAddict> would this parse?
  84. # [19:13] <PovAddict> way[highway] { @set tag="foo"; }
  85. # [19:13] <TabAtkins> Sure. The interior will parse as an at-rule, with a prelude of IDENT(tag) DELIM(=) STRING("foo").
  86. # [19:14] <TabAtkins> Though you could just omit the = if you wanted.
  87. # [19:14] <PovAddict> yeah I was just following the original MapCSS syntax
  88. # [19:14] <PovAddict> which is currently with an equals sign
  89. # [19:14] <TabAtkins> I notice you can set classes. Can these ever be unset?
  90. # [19:15] <PovAddict> hmm good question
  91. # [19:15] <TabAtkins> If so, you have a basic cycle problem. If not, you're fine theoretically, but you'll have to rerun cascading until it stabilizes.
  92. # [19:16] <TabAtkins> Oh, never mind, you still have a cycle problem, assuming you import all of Selectors.
  93. # [19:16] <TabAtkins> :not(.minor_road) { @set .minor_road; }
  94. # [19:16] <TabAtkins> Well, I guess you technically don't if you treat the @set as being permanent.
  95. # [19:17] <TabAtkins> So that the selector matches in the first round of cascading, but doesn't in the second, and that's okay because the class has already been set.
  96. # [19:17] <PovAddict> well, selectors are almost completely different from CSS3's, in part because the 'document' being styled doesn't have an XML-like hierarchy at all
  97. # [19:17] <TabAtkins> That doesn't quite match how CSS works (it's no longer strictly declarative), but it might be okay for your use.
  98. # [19:17] <PovAddict> but there is some sort of "not"...
  99. # [19:17] <PovAddict> way[!highway] /* Matches against all ways with the highway tag not set (or set to no/false) */
  100. # [19:18] <TabAtkins> Argh, why do people always try and reinvent things. >_<
  101. # [19:18] <PovAddict> :)
  102. # [19:18] <PovAddict> TabAtkins: I find this better than the alternative
  103. # [19:18] <PovAddict> s
  104. # [19:19] <TabAtkins> Sure, but it's no longer CSS-like. It resembles CSS, in the same way PHP resembles C++.
  105. # [19:19] <PovAddict> in addition to MapCSS, there's two completely different and badly spec'd XML-based map stylesheet languages too
  106. # [19:23] <PovAddict> TabAtkins: I'm sure CSS3 selectors won't work here, but we could try to be more similar indeed
  107. # [19:23] <TabAtkins> If you have the ability to break back-compat, I'd be happy to help cast it into a form that is fully CSS-compatible.
  108. # [19:25] * Joins: dbaron (~dbaron@public.cloak)
  109. # [19:26] * Quits: SamB_MacG5 (~SamB_MacG5@public.cloak) (Ping timeout: 60 seconds)
  110. # [19:27] * Joins: SamB_MacG5 (~SamB_MacG5@public.cloak)
  111. # [19:28] * Quits: SimonSapin (~simon@public.cloak) (Ping timeout: 60 seconds)
  112. # [19:33] * Quits: krit1 (~krit@public.cloak) ("Leaving.")
  113. # [19:33] * Joins: Ms2ger (~Ms2ger@public.cloak)
  114. # [19:47] * Joins: glenn_ (~gadams@public.cloak)
  115. # [19:50] * Quits: glenn_ (~gadams@public.cloak) (Client closed connection)
  116. # [19:50] * Quits: glenn (~gadams@public.cloak) (Ping timeout: 60 seconds)
  117. # [19:51] * Joins: glenn (~gadams@public.cloak)
  118. # [19:51] * Quits: Ms2ger (~Ms2ger@public.cloak) ("Leaving")
  119. # [19:58] * Quits: dbaron (~dbaron@public.cloak) (Ping timeout: 60 seconds)
  120. # [20:00] <PovAddict> TabAtkins: the data model of maps is pretty minimalistic
  121. # [20:00] <PovAddict> there's 'nodes', which have a location, and 'tags' as key-value pairs
  122. # [20:01] * Joins: krit (~krit@public.cloak)
  123. # [20:01] <PovAddict> and there's 'ways'; a 'way' is an ordered list of nodes, and can have its own tags too
  124. # [20:03] * Quits: darktears (~darktears@public.cloak) (Ping timeout: 60 seconds)
  125. # [20:05] <PovAddict> there's also 'relations' but I think they are never used for rendering
  126. # [20:06] <PovAddict> so MapCSS selectors only care about two things: matching elements based on their tags (with advanced operators for matching, like regex and numeric ranges), and matching nodes belonging to a way matched by another selector
  127. # [20:09] <PovAddict> I also think cascading is strictly through the order rules appear in the stylesheet, there isn't a measure of "selector specificity"
  128. # [20:10] <TabAtkins> Sure, that's fine, but you still have to run it multiple times if you can adjust classes inside of rules.
  129. # [20:10] <PovAddict> ah yes
  130. # [20:11] <PovAddict> I just mean css3-selectors is pretty much non-applicable :)
  131. # [20:11] <TabAtkins> Sure, that's fine if you just want a simple subset of Selectors.
  132. # [20:11] <PovAddict> but there's some weird things that could be made more similar
  133. # [20:11] <PovAddict> for example, the zoomlevel syntax is quite weird :P
  134. # [20:11] <PovAddict> way|z12[population<50000]
  135. # [20:12] <TabAtkins> Wow, that's all kinds of fucked up.
  136. # [20:12] <PovAddict> I'd use: map:zoom(12) way[population<50000]
  137. # [20:12] <TabAtkins> In CSS syntax, that's looking for a z12 element in the way namespace.
  138. # [20:12] <PovAddict> namespaces? lol
  139. # [20:12] <TabAtkins> Yeah, shrug, we're friendly with XML.
  140. # [20:13] <TabAtkins> But yeah, that's a lot better. Or just have :zoom() usable on any element.
  141. # [20:13] <PovAddict> I have nothing against namespaces, just laughing at the huge difference in the meaning of that syntax
  142. # [20:13] <PovAddict> ah relations do appear in mapcss
  143. # [20:14] <PovAddict> but mainly in descendant selectors
  144. # [20:14] <TabAtkins> So there is a tree ordering? Okay.
  145. # [20:14] <PovAddict> not really a tree
  146. # [20:14] <TabAtkins> Oh, is it a DAG?
  147. # [20:15] <PovAddict> there's nodes, there's ways which are ordered lists of nodes (a node can be shared in multiple ways, the most obvious case being the intersection of two streets)
  148. # [20:16] <TabAtkins> Okay, cool. Selectors can technically handle directed graphs.
  149. # [20:17] <PovAddict> and there's relations, which simply group multiple elements adding more information
  150. # [20:18] <PovAddict> for example a relation with two streets as members and a "restriction=no_right_turn" tag
  151. # [20:20] <PovAddict> MapCSS lets you match members of relations
  152. # [20:26] * Joins: dbaron (~dbaron@public.cloak)
  153. # [20:29] * Quits: dbaron (~dbaron@public.cloak) ("8403864 bytes have been tenured, next gc will be global.")
  154. # [20:29] * Joins: dbaron (~dbaron@public.cloak)
  155. # [20:31] * Quits: krit (~krit@public.cloak) (Ping timeout: 60 seconds)
  156. # [20:37] * Quits: SamB_MacG5 (~SamB_MacG5@public.cloak) (Ping timeout: 60 seconds)
  157. # [20:37] * Joins: SamB_MacG5 (~SamB_MacG5@public.cloak)
  158. # [20:48] * Joins: krit (~krit@public.cloak)
  159. # [20:52] * Quits: krit (~krit@public.cloak) ("Leaving.")
  160. # [22:35] * Joins: isherman (~Adium@public.cloak)
  161. # [22:36] * Joins: jet (~jet@public.cloak)
  162. # [22:55] * heycam|away is now known as heycam
  163. # [23:03] * Joins: krit (~krit@public.cloak)
  164. # [23:14] * Joins: SimonSapin (~simon@public.cloak)
  165. # [23:24] * Quits: antonp (~Thunderbird@public.cloak) (antonp)
  166. # Session Close: Wed Nov 21 00:00:00 2012

The end :)