commit 35af9bdabf8c0975ffeeaf7103fccf73329c7824 Spenser Truex <spensertruexonline@gmail.com> 2019-07-03 17:48:39 -0700 Benefit/drawback.
README.org | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/README.org b/README.org index ffe30c9..b845088 100644 --- a/README.org +++ b/README.org @@ -7,7 +7,16 @@ SL is a Domain Specific Language (ie. simple programming language) for dealing with ambiguous dependency situations. It is more expressive than the standard -method in Common Lisp: the use of reader macros. +method in Common Lisp: the use of reader macros. It provides symbol aliasing +based on compile-time rules. + +* Benefits +- Symbol aliasing at compile time provides a means of abstracting separate but +similar interfaces. Forked projects, or projects that duplicate work. +- Far more expressive and concise than reader macros, while still very simple. +- There is also the use case of renaming things for import, like =with-gensyms= to =with-unique-names= or similar. +* Drawbacks +All the drawbacks of a new, experimental program apply. * Examples The only external macro is =defsl=. There is BNF below, though some examples are in order. ** Simple @@ -28,7 +37,6 @@ For this simplest of examples, consider the reader macro alternative. slynk:operator-arglist) #+(and (not slynk) swank) (setf (symbol-function 'operator-arglist) swank:operator-arglist) -# #+END_SRC ** Complex example #+BEGIN_SRC lisp