Re: Better string constants

Bruce Mitchener <[email protected]>
Newsgroups gmane.comp.lang.dylan.gwydion.devel
Message-ID <CA+esKjNUd=69f9cWWwu5MsBywkaNF63_nc4nUh=LoUAAjBoHMg@mail.gmail.com>
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
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.