On 28 February 2012 16:50, Fabrizio Perin <fabrizio.pe...@gmail.com> wrote: > Hi, > I think the reason is for consistency. > If fact I like as it is now for that reason. > > $a asParser / $b asParser / #foo asParser "It looks clear to me and is > consistent." > > a asParser / $b / #foo "it looks odd because it is inconsistent." > > Anyway, for such simple parsers you loose consistency and you don't gain > much. If you have to deal with longer statements, if you have to make your > parsers reusable or simply to make your simple example cleaner for real, you > should have separate methods: > a > ^$a asParser > > b > ^$b asParser > > foo > ^#foo asParser > > a / b / foo " this is cleaner and consistent" > > I hope I made my point. > > Cheers, > Fabrizio > > "Consistency, Consistency, Consistency"
I've often used #anyOf: - anyOf: someTokens "Writing without a compiler; may actually still work!" ^ someTokens allButFirst inject: someTokens first into: [:acc :each | acc / each asParser] self anyOf: #($a $b #foo). frank > 2012/2/28 Igor Stasenko <siguc...@gmail.com> >> >> Why i need to put #asParser everywhere? >> >> $a asParser / $b asParser / #foo asParser >> >> >> a proper implementation of #/ makes the above to just: >> >> $a asParser / $b / #foo >> >> which is much more cleaner and convenient. >> >> Or, is there a reason to not send #asParser to every argument where >> parser expected? >> >> >> -- >> Best regards, >> Igor Stasenko. >> >