On Tue, Feb 24, 2009 at 7:43 AM, Laurent PETIT <laurent.pe...@gmail.com> wrote:
> Mark,
>
> If you have not been discouraged by the crowd of people having answered 'no'
> to your question :-), and still have the idea of exploring this area, would
> you consider designing a "surface language" that allows bidirectional flow
> to and from clojure code ?
>
> If you do so, then you would well provide two functions, one from your
> language to clojure, and one from clojure to your language.
>
> And then, it could be easy to :
>  * translate back and forth between your language and clojure
>  * use your work in IDEs (see what I mean :-) as just an alternate
> visualisation/editing option (and potentially still let the IDE use straight
> clojure format persistence ).
>
> :-)

Yes, I like that idea. If I get time to work on this, I'll do that.

> 2009/2/24 Mark Volkmann <r.mark.volkm...@gmail.com>
>>
>> On Tue, Feb 24, 2009 at 6:33 AM, Onorio Catenacci <catena...@gmail.com>
>> wrote:
>> >
>> > 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.
>>
>> As I said, it's not me that has a problem with parentheses. It's not
>> hard to find developers that say that don't like Lisp because of the
>> parens. I think the question is whether we should make an effort to
>> appease those people. Clearly the majority of the people on this list
>> feel the answer is "no".
>>
>> > 2.) If you think it's a good idea why bother to ask for permission?
>>
>> I didn't ask for permission. I asked if others thought it was a good
>> idea. Most said "no".
>>
>> > 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?
>>
>> It wouldn't be a fork. It would be a simple preprocessor that would
>> use standard Clojure after the preprocessor runs.

-- 
R. Mark Volkmann
Object Computing, Inc.

--~--~---------~--~----~------------~-------~--~----~
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