From 70222b73e6c3ecbe40209c6f24b81ae4dc8f3b0e Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Fri, 10 Jun 2016 12:53:05 -0700 Subject: [PATCH] language.funktors: initial stab at replacing FUNCTOR: --- language/funktors/funktors.factor | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 language/funktors/funktors.factor diff --git a/language/funktors/funktors.factor b/language/funktors/funktors.factor new file mode 100644 index 0000000000..c4411d0703 --- /dev/null +++ b/language/funktors/funktors.factor @@ -0,0 +1,20 @@ +USING: accessors effects.parser eval grouping interpolate kernel +multiline namespaces parser sequences sets splitting +vocabs.parser words ; +in: funktors + +SYNTAX: \ factor[[ "]]" parse-multiline-string + manifest get search-vocab-names>> + { "syntax" } diff members + current-vocab name>> ".private" ?tail drop ".private" append suffix + '[ + _ interpolate>string + current-vocab name>> "\nIN: " "\n" surround prepend + _ 5 group [ " " join ] map "\n" join + "USING: " " ;\n" surround prepend + eval( -- ) + ] suffix! ; + +SYNTAX: \ FUNKTOR: + scan-new-escaped scan-effect scan-object + '[ _ call ] swap define-declared ;