Re: Better string constants

Alfredo Beaumont <[email protected]>
Newsgroups gmane.comp.lang.dylan.gwydion.devel
Message-ID <CADVnqbhSF9CHEdPFLY=-guPVSifhrFQfsqhqcH10gBynHmqi8g@mail.gmail.com>
I don't see any reason not to allow multiline strings with the actual syntax:

"
A: {
       a: 'a'
       b: 'b'
       c: 'c'
}
"

An alternative syntax could be provided to avoid abusing escaping:

"""
A: {
       a: "a"
       b: "b"
       c: "c"
}
"""

If coil works as shown by bruce i don't even think the alternative
syntax is too important.
I also don't think a raw syntax is worth a new syntax.

Cheers

2013/2/28 Bruce Mitchener <[email protected]>:
> I'm +1 on """ ... """
>
> But I'm +10 on being able to improve your life today. :)
>
>  - Bruce
>
>
>
> On Thu, Feb 28, 2013 at 7:47 PM, Carl Gay <[email protected]> wrote:
>>
>> okay, that's fine with me as long as r-parser goes in common-dylan.  We
>> still need """ though.
>>
>>
>> On Wed, Feb 27, 2013 at 10:58 PM, Bruce Mitchener
>> <[email protected]> wrote:
>>>
>>> It isn't a proposal that needs implementing. It works right now in every
>>> release since Open Dylan was open sourced. Go try it.
>>>
>>>  - Bruce
>>>
>>>
>>>
>>> On Thu, Feb 28, 2013 at 10:54 AM, Carl Gay <[email protected]> wrote:
>>>>
>>>> Even if we implemented your proposal for parsers, I still think we need
>>>> better string literals.  At least """, but we could conceivably implement #r
>>>> as parse-r.  :-)
>>>>
>>>>
>>>> On Wed, Feb 27, 2013 at 10:00 PM, Bruce Mitchener
>>>> <[email protected]> wrote:
>>>>>
>>>>> define constant coil-parser = parse-coil;
>>>>>
>>>>> let c = #coil:[
>>>>>
>>>>>   A: {
>>>>>     a: 'a'
>>>>>     b: 'b'
>>>>>     c: 'c'
>>>>>   }
>>>>> ];
>>>>>
>>>>> Suspect that works right now in OpenDylan 2012.1.
>>>>>
>>>>>  - Bruce
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Feb 28, 2013 at 9:55 AM, Carl Gay <[email protected]> wrote:
>>>>>>
>>>>>> I really want better string constant syntax in Dylan.  Doing this sort
>>>>>> of thing...
>>>>>>
>>>>>>   parse-coil("A: {\n"
>>>>>>              "    a: 'a'\n"
>>>>>>              "    b: 'b'\n"
>>>>>>              "    c: 'c'\n"
>>>>>>              "}\n"
>>>>>>              ...
>>>>>> or
>>>>>>   "\"5\""
>>>>>>
>>>>>> is really tedious and error prone.  (Both of the above are from a test
>>>>>> suite.)
>>>>>>
>>>>>> We need two things:
>>>>>>   (1) raw string literals
>>>>>>   (2) multi-line strings
>>>>>>
>>>>>> Briefly, my suggestions are:
>>>>>> * Use """ for multiline backslash-interpreted strings.
>>>>>> * Use ` (backquote) for one-line raw strings.
>>>>>> * Use ``` for multi-line raw strings.
>>>>>>
>>>>>> `"5"` == "\"5\""
>>>>>> `\d+\.` == "\\d+\\."
>>>>>> ```A: {
>>>>>>   a: 'a'
>>>>>>   b: 'b'
>>>>>>   c: 'c'
>>>>>> }``` == the string near the top of this message.
>>>>>>
>>>>>> While I think it may be possible to use `...` for multi-line raw
>>>>>> strings (as Go does) it bothers me that there's no way to embed a backquote,
>>>>>> and also I like having the symmetry of "..." / """...""" and `...` /
>>>>>> ```...```.
>>>>>>
>>>>>> Another possibility I like is #r"..." and #r"""...""" for raw strings.
>>>>>>
>>>>>> Thoughts/opinions?
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> hackers mailing list
>>>>>> [email protected]
>>>>>> https://lists.opendylan.org/mailman/listinfo/hackers
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> hackers mailing list
>>>>> [email protected]
>>>>> https://lists.opendylan.org/mailman/listinfo/hackers
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> hackers mailing list
>>>> [email protected]
>>>> https://lists.opendylan.org/mailman/listinfo/hackers
>>>>
>>>
>>>
>>> _______________________________________________
>>> hackers mailing list
>>> [email protected]
>>> https://lists.opendylan.org/mailman/listinfo/hackers
>>>
>>
>>
>> _______________________________________________
>> hackers mailing list
>> [email protected]
>> https://lists.opendylan.org/mailman/listinfo/hackers
>>
>
>
> _______________________________________________
> hackers mailing list
> [email protected]
> https://lists.opendylan.org/mailman/listinfo/hackers
>
_______________________________________________
hackers mailing list
[email protected]
https://lists.opendylan.org/mailman/listinfo/hackers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.