We could make people use triple double quotes when their command contains single `"` cmd"""rm -rf ". /" """, but that would probably often lead to #5800 <https://github.com/JuliaLang/julia/issues/5800>, when the command ends in a `"`.
Ivar kl. 17:13:58 UTC+1 onsdag 26. februar 2014 skrev Stefan Karpinski følgende: > > Yeah, that double quote issue is the main problem. It's pretty common to > want to use double quotes in commands, so using double quotes for command > syntax would make things much nastier – and very importantly, no longer > cut-and-paste from the command line. Code quotation and metaprogramming is > a more niche activity than running external commands, so in this showdown, > running external commands still takes precedence. > > > On Wed, Feb 26, 2014 at 11:06 AM, Cristóvão Duarte Sousa > <cri...@gmail.com<javascript:> > > wrote: > >> Stefan, I've wondered if command literals couldn't be created with just a >> new non-standard string literal, something like c"command arg1 arg2". >> The only problem I see is that then every double quote mark in the >> command has to escaped (which will confuse the code though). >> Even if I use the command syntax a lot, sometimes I think that backticks >> could be used in something else... >> >> On Wednesday, February 26, 2014 3:44:54 PM UTC, Stefan Karpinski wrote: >> >>> Yes, the backtick is used for command >>> syntax<http://docs.julialang.org/en/latest/manual/running-external-programs/>. >>> >>> Sometimes I think it would be really nice to have it for expression quoting >>> since markdown has acclimatized us to using backticks for quoting code, but >>> command syntax is way too handy to steal this from – and its interior >>> interpolation rules are far trickier than normal quotations so you can't >>> just use a normal string construct. >>> >>> >>> On Wed, Feb 26, 2014 at 8:57 AM, David Moon <dave...@alum.mit.edu>wrote: >>> >>>> I am not suggesting any change to :(x+y) so it would continue to be the >>>> same as quote x+y end. I think that would return >>>> Expr(internal_symbol("+", >>>> context), internal_symbol("x", context), internal_symbol("y", context)) to >>>> use a sketchy syntax that might not actually be valid Julia. >>>> >>>> I like using the ` character for quasiquote as in Lisp but isn't Julia >>>> already using ` for something more widely used? >>>> >>>> >>>> On Tuesday, February 25, 2014 11:00:32 PM UTC-5, Fil Mackay wrote: >>>>> >>>>> The semantics of :symbol would not change from the *status quo* under >>>>>> my proposal. >>>>>> >>>>>> Perhaps :(x) should be the same as :x rather than the same as quote x >>>>>> end. Thus if the result of the unary : operator is just a symbol, it is >>>>>> always an external symbol, but the *quote* special form is able to >>>>>> produce just an internal symbol. >>>>>> >>>>> >>>>> What would :(x+y) produce - invalid or quote x + y end? This "inline >>>>> quote" format seems to be used quite a lot and handy. I have wondered >>>>> about >>>>> using a different character for symbols and quotes to avoid this >>>>> ambiguity. >>>>> >>>>> >>> >