Created
December 13, 2017 20:09
-
-
Save jmercouris/d13bab33473b77c0cdf9faf07ecfee7e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defun version-1 (search-string) | |
(ps:ps (let* ((regex-string (ps:lisp (concatenate 'string "/" search-string "[A-Za-z]*/gi"))) | |
(matcher (ps:regex regex-string)) | |
(stringy "some magical string breadfish") | |
(matches ()) | |
(last-match t))))) | |
;; Version 1 Output | |
"(function () { | |
var regexString = '/lol[A-Za-z]*/gi'; | |
var matcher = /REGEX-STRING/; | |
var stringy = 'some magical string breadfish'; | |
var matches = null; | |
var lastMatch = true; | |
return declare(); | |
})();" | |
(defun version-2 (search-string) | |
(ps:ps (let* ((matcher (ps:regex (ps:lisp (concatenate 'string "/" search-string "[A-Za-z]*/gi")))) | |
(stringy "some magical string breadfish") | |
(matches ()) | |
(last-match t))))) | |
;; Version 2 Output | |
The value (PARENSCRIPT:LISP (CONCATENATE | |
'STRING | |
"/" | |
SEARCH-STRING | |
"[A-Za-z]*/gi")) is not of the expected type (OR | |
STRING | |
SYMBOL | |
CHARACTER). | |
[Condition of type TYPE-ERROR] | |
Restarts: | |
0: [RETRY] Retry SLIME interactive evaluation request. | |
1: [*ABORT] Return to SLIME's top level. | |
2: [ABORT-BREAK] Reset this thread | |
3: [ABORT] Kill this thread | |
Backtrace: | |
0: (STRING (PARENSCRIPT:LISP (CONCATENATE 'STRING "/" SEARCH-STRING "[A-Za-z]*/gi"))) | |
1: (#<Anonymous Function #x3020015A697F> (PARENSCRIPT:LISP (CONCATENATE 'STRING "/" SEARCH-STRING "[A-Za-z]*/gi"))) | |
2: (PARENSCRIPT::PS-COMPILE (PARENSCRIPT:REGEX (PARENSCRIPT:LISP (CONCATENATE 'STRING "/" SEARCH-STRING "[A-Za-z]*/gi")))) | |
3: (PARENSCRIPT::COMPILE-EXPRESSION (PARENSCRIPT:REGEX (PARENSCRIPT:LISP (CONCATENATE 'STRING "/" SEARCH-STRING "[A-Za-z]*/gi")))) | |
4: (#<Anonymous Function #x3020015AA0EF> MATCHER (PARENSCRIPT:REGEX (PARENSCRIPT:LISP (CONCATENATE 'STRING "/" SEARCH-STRING "[A-Za-z]*/gi")))) | |
5: (PARENSCRIPT::PS-COMPILE (PARENSCRIPT:VAR MATCHER (PARENSCRIPT:REGEX (PARENSCRIPT:LISP (CONCATENATE 'STRING "/" SEARCH-STRING "[A-Za-z]*/gi"))))) | |
6: (PARENSCRIPT::COMPILE-PROGN ((PARENSCRIPT:VAR MATCHER (PARENSCRIPT:REGEX (PARENSCRIPT:LISP #))) (SYMBOL-MACROLET NIL (LET (#) (DECLARE) (LET # # #))))) | |
7: (#<Anonymous Function #x3020015B858F> (PARENSCRIPT:VAR MATCHER (PARENSCRIPT:REGEX (PARENSCRIPT:LISP (CONCATENATE 'STRING "/" SEARCH-STRING "[A-Za-z]*/gi")))) (SYMBOL-MACROLET ..)) | |
8: (PARENSCRIPT::PS-COMPILE (PROGN (PARENSCRIPT:VAR MATCHER (PARENSCRIPT:REGEX (PARENSCRIPT:LISP #))) (SYMBOL-MACROLET NIL (LET (#) (DECLARE) (LET # # #))))) | |
9: (PARENSCRIPT::LAMBDA-WRAP (PROGN (PARENSCRIPT:VAR MATCHER (PARENSCRIPT:REGEX (PARENSCRIPT:LISP #))) (SYMBOL-MACROLET NIL (LET (#) (DECLARE) (LET # # #))))) | |
10: (PARENSCRIPT::WITH-LAMBDA-SCOPE (PROGN (PARENSCRIPT:VAR MATCHER (PARENSCRIPT:REGEX (PARENSCRIPT:LISP #))) (SYMBOL-MACROLET NIL (LET (#) (DECLARE) (LET # # #))))) | |
11: (#<Anonymous Function #x3020015C751F> ((MATCHER (PARENSCRIPT:REGEX (PARENSCRIPT:LISP #)))) (DECLARE) (LET ((STRINGY "some magical string breadfish")) ..)) | |
12: (PARENSCRIPT::PS-COMPILE (LET ((MATCHER (PARENSCRIPT:REGEX #))) (DECLARE) (LET ((STRINGY "some magical string breadfish")) (DECLARE) (LET (#) (DECLARE) (LET # #))))) | |
13: (PARENSCRIPT::COMPILE-PROGN ((LET ((MATCHER #)) (DECLARE) (LET (#) (DECLARE) (LET # # #))))) | |
14: (#<Anonymous Function #x3020015B858F> (LET ((MATCHER (PARENSCRIPT:REGEX #))) (DECLARE) (LET ((STRINGY "some magical string breadfish")) (DECLARE) (LET (#) (DECLARE) (LET # #))))) | |
15: (PARENSCRIPT::PS-COMPILE (PROGN (LET ((MATCHER #)) (DECLARE) (LET (#) (DECLARE) (LET # # #))))) | |
16: (PARENSCRIPT::COMPILE-PROGN ((LET* ((MATCHER #) (STRINGY "some magical string breadfish") (MATCHES NIL) (LAST-MATCH T))))) | |
17: (#<Anonymous Function #x3020015B858F> (LET* ((MATCHER (PARENSCRIPT:REGEX #)) (STRINGY "some magical string breadfish") (MATCHES NIL) (LAST-MATCH T)))) | |
18: (PARENSCRIPT::PS-COMPILE (PROGN (LET* ((MATCHER #) (STRINGY "some magical string breadfish") (MATCHES NIL) (LAST-MATCH T))))) | |
19: (PARENSCRIPT::COMPILE-STATEMENT (PROGN (LET* ((MATCHER #) (STRINGY "some magical string breadfish") (MATCHES NIL) (LAST-MATCH T))))) | |
--more-- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment