For the sake of completeness, in this context "other users" is not limited
to humans: what about IDE support? Refactoring tools? Code analysis?

You have to balance the potential extra complexities with the benefit,
which to me seems to be very sparse: how often do you actually need to
embed large swaths of CSV in your code? How big of an effort is it to load
it from another file? (Even as EDN, if you have much data, it is better to
load it from an external file than try to compile it.)

I understand that csv is just an example, but again, if your goal is to
shield users from parentheses, isn't it better to go through the relatively
small effort of loading a separate file, so dsl users do not even have to
know the system is in Clojure?

If you are thinking of embedded dsls for the application developer, the
Clojure community seems to have settled on data-based dsls, where data
essentially means EDN.

If you are targetting non-coder users, and do not want to try the EDN
route, i would suggest external files with instaparse (though language
design is hard).

Anyway, regardless of whether a completely extensible language syntax is a
good idea in principle, I do not think you will find much support in this
community. It just does not mesh well with the idiomatic way to do things
around here.

(And what would you say to someone who wants to embed J code, where
brackets are not often matched?)

On Tuesday, 10 February 2015, Alex Miller <a...@puredanger.com> wrote:

> Hi Henrik,
>
> There is a long-standing philosophical position in Clojure that it should
> not be possible to write programs that cannot be read by other users.
> Because of this position, I do not believe there is any chance of this
> moving forward in Clojure itself.
>
> Tagged literals allow creating new data that can still be read and
> interpreted even if a reader is not available so they give a certain
> measure of this capability without crossing that line.
>
> Alex
>
>
>
> On Tuesday, February 10, 2015 at 6:03:56 AM UTC-6, henrik42 wrote:
>>
>> @Luc: I see your points. Thanks for the reply.
>>
>> Just to make it clear: all I suggest is to integrate
>> https://github.com/henrik42/extended-lisp-reader/blob/
>> master/src/extended_lisp_reader/core.clj
>> into clojure.core - i.e. make #[...]-forms and the delegation to user
>> code "official".
>> The rest of my lib is just examples of how this feature *could* be used.
>>
>> So we're talking about ~15 lines of code.
>>
>> But again - this might open up a way that we do not want to go in the end.
>>
>> Time will tell.
>>
>>
>>  --
> 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
> <javascript:_e(%7B%7D,'cvml','clojure@googlegroups.com');>
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> <javascript:_e(%7B%7D,'cvml','clojure%2bunsubscr...@googlegroups.com');>
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com
> <javascript:_e(%7B%7D,'cvml','clojure%2bunsubscr...@googlegroups.com');>.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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
Note that posts from new members are moderated - please be patient with your 
first post.
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to