On Feb 23, 10:42 am, Mark Volkmann <r.mark.volkm...@gmail.com> wrote:
> I have an idea I'd like to float to see if there are reasons why it's
> a bad idea.
>
> What if Clojure had an alternate "surface" syntax that was translated
> into standard Clojure syntax by a kind of preprocessor?
>
> Many people that don't like Lisp dialects don't like them because of
> the parentheses. I'm trying to address that.
>
> Here's a simple example of valid Clojure code.
>
> (defn pig-latin [word]
>   (let [first-letter (first word)]
>     (if (.contains "aeiou" (str first-letter))
>       (str word "ay")
>       (str (subs word 1) first-letter "ay"))))
>
> (println (pig-latin "red"))
> (println (pig-latin "orange"))
>
> Here's what that same code would look like in my alternate syntax.
>
> defn pig-latin [word]
>   let [first-letter (first word)]
>     if .contains "aeiou" (str first-letter)
>       str word "ay"
>       str (subs word 1) first-letter "ay"
>
> println (pig-latin "red")
> println (pig-latin "orange")
>
> The rules for turning this into standard Clojure syntax are pretty simple.
>
> 1) If a line is indented farther than the previous one, it is part of
> the previous line.
> 2) If a line doesn't start with a (, then add one.
> 3) If the next line is indented less than this one, add the
> appropriate number of )'s at the end.
> 4) If the first token on a line is "if" and the first non-whitespace
> character after it is not (
>     then assume the rest of the line is the condition and wrap it in ( ).
>
> A translation from standard Clojure syntax to this alternate form
> should also be possible.
>
> Is this a bad idea?
>

I'm just new to Clojure but I have a couple of thoughts on this I'd
like to share:

1.) What's so hard about using parentheses?  I mean really it's just a
different syntax to learn.  Is this really that much more difficult to
understand than using curly braces in C-based languages or  IF/ ENDIF
(and similar constructs) in VB and VB-like languages?  What I
personally find confusing is _inconsistent_ syntax.  If I live to be
100 I don't think I'll ever be able to remember the rule about when a
person uses parentheses behind a subroutine or function call in VB.
This is one reason I don't much care for VB.

2.) If you think it's a good idea why bother to ask for permission?
Create your RMVClojure and release it to the world.  If people think
it's a good idea they'll adopt it.  If not . . . well, they won't.
There are, of course, downsides to forks but if you really feel that
this would help adoption of Clojure, why ask for the permission of
others?


--
Onorio Catenacci III
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to