]> gitweb.factorcode.org Git - factor.git/commitdiff
parser-combinators: refactor <:&> and <&:>
authorchris.double <chris.double@double.co.nz>
Fri, 6 Oct 2006 02:46:02 +0000 (02:46 +0000)
committerchris.double <chris.double@double.co.nz>
Fri, 6 Oct 2006 02:46:02 +0000 (02:46 +0000)
contrib/parser-combinators/parser-combinators.factor

index d28ac0461c16f7c0084742dba0bb7234566cae55..14c7b8c0aeaf13f372e757dee59fea1b191aa621 100644 (file)
@@ -178,21 +178,13 @@ M: some-parser (parse) ( input parser -- result )
   #! Same as <&> except discard the results of the first parser.
   <&> [ second ] <@ ;
 
-: <:&>-parser ( input parser1 parser2 -- result )
+: <:&> ( parser1 parser2 -- result )
   #! Same as <&> except flatten the result.
-  <&> [ dup second swap first [ % , ] { } make ] <@ call ;
+  <&> [ dup second swap first [ % , ] { } make ] <@ ;
 
-: <:&> ( parser1 parser2 -- parser )
+: <&:> ( parser1 parser2 -- result )
   #! Same as <&> except flatten the result.
-  [ <:&>-parser ] curry curry ;
-
-: <&:>-parser ( input parser1 parser2 -- result )
-  #! Same as <&> except flatten the result.
-  <&> [ dup second swap first [ , % ] { } make ] <@ call ;
-
-: <&:> ( parser1 parser2 -- parser )
-  #! Same as <&> except flatten the result.
-  [ <&:>-parser ] curry curry ;
+  <&> [ dup second swap first [ , % ] { } make ] <@ ;
 
 DEFER: <*>