tag:blogger.com,1999:blog-3049258033565653738.post4017583813628529843..comments2024-01-11T03:24:27.151-08:00Comments on Biosimilarity: The law of attractionleithaushttp://www.blogger.com/profile/01069099703796397027noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-3049258033565653738.post-17651148740635709762009-05-03T19:29:00.000-07:002009-05-03T19:29:00.000-07:00The idea of EBNF makes sense, but I was thinking ...The idea of EBNF makes sense, but I was thinking that if your EBNF variant satisfied the ISO constraints then it had a commercial side possibly. Or, standards may evolve to include variants such as this one?Davidhttps://www.blogger.com/profile/14337240536685893165noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-1663933082946807792009-05-03T19:21:00.000-07:002009-05-03T19:21:00.000-07:00Ah, I see. That's useful to me, thanks for explain...Ah, I see. That's useful to me, thanks for explaining it!Davidhttps://www.blogger.com/profile/14337240536685893165noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-35958140796269790602009-05-01T12:32:00.000-07:002009-05-01T12:32:00.000-07:00The variant i'm using is just syntactic sugar for ...The variant i'm using is just syntactic sugar for a Haskell data type definition. Thus,<br /><br />M[v] ::= v | lambda v.M[v] | M[v] M[v]<br /><br />corresponds to<br /><br />data M v = Var v | Abs v (M v) | App (M v) (M v)<br /><br />i use a '2d' syntax in which new line + indentation represents of the vertical bar which represents choice. i do this because parallel composition is traditionally written as a vertical bar, and so there is a collision of notation. The modification to EBNF is readily graspable to those who are used to working with i, while there is not immediately obvious alternative choice for parallel composition.<br /><br />However, when i make concrete syntax for a language like this i do something like the following.<br /><br />P ::= <br /> '0'<br />| V '?' '(' (V (',' V)) * ')' ';' P<br />| V '!' '(' P* ')'<br />| '*' V<br />| '{' P (',' P)* '}'<br />V ::= '@' P<br /><br />This is very close to ISO-14977 compliant and makes sequencing look like sequencing in languages like C or Java. An alternative is to color the braces and give polymorphic interpretation is ';'. In sequencing braces {$| - |$} it means sequence and in parallelizing braces {*| - |*} it means parallel composition. This alternative is close to Haskell's idea of do-notation, but with two specific control-flow monads called out.leithaushttps://www.blogger.com/profile/01069099703796397027noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-12040010981784325222009-04-29T07:28:00.000-07:002009-04-29T07:28:00.000-07:00Out of curiousity, do you know if this EBNF varian...Out of curiousity, do you know if this EBNF variant is ISO-14977 compliant?Davidhttps://www.blogger.com/profile/14337240536685893165noreply@blogger.com