On Fri, Feb 12, 2016 at 5:17 AM, Cristóvão Duarte Sousa
<cris...@gmail.com> wrote:
> I don't know if it has been said here before, sorry if I'm repeating, but:
> a way to represent the "concrete" syntax tree, convert it to AST and then
> back would be of great use here, see
> https://github.com/JuliaLang/JuliaParser.jl/issues/22 .
>
> I actually thought a lot about that, and imagine that the `Expr` type could
> have an extra field to hold syntax delimiters (punctuation and whitespace)
> which is found around and between its arguments.

Adding to the `Expr` type is expensive, since it's used a lot.
Instead, you can add extra `Expr` objects, e.g. `Expr(:empty_line)`,
or `Expr(:block_comment, "text")`, or `Expr(:inline_comment, "text")`.

-erik

> But a great knowledge of the parsers, both Flisp and Julia written ones,
> would be required.
> Then I also wondered that maybe one formal, but incomplete, grammar could be
> useful to construct such tree, as in intermediate step between source code
> and real AST.
>
> That would allow the creation of very powerful autoformatting tools, along
> with lints, refactoring and other advanced IDE functionalities.
>
> On Friday, February 12, 2016 at 4:58:33 AM UTC, Maxim Grechkin wrote:
>>
>> Was there any progress on this lately? I've noticed that atom-beautify
>> plugin doesn't have Julia
>> support(https://github.com/Glavin001/atom-beautify/issues/799), but there
>> doesn't seem to be a tool that it can hook into.
>>
>> On Saturday, January 11, 2014 at 9:22:14 AM UTC-8, Stefan Karpinski wrote:
>>>
>>> Kind of. I don't think that expression printing is even remotely good
>>> enough for this yet, but that's the basic idea that makes the most sense to
>>> me. No point in using separate parse or print code when there's already
>>> functions that do this stuff.
>>>
>>>
>>> On Sat, Jan 11, 2014 at 12:06 PM, Job van der Zwan <j.l.van...@gmail.com>
>>> wrote:
>>>>
>>>> So you are saying that the most of the tooling required for an
>>>> auto-formatting tool is already there?
>>>>
>>>> On Thursday, 9 January 2014 14:42:40 UTC+1, Stefan Karpinski wrote:
>>>>>
>>>>> I would be into having an auto-formatting tool. The way to do this
>>>>> would be to work on the printing of ASTs until the way the code prints is
>>>>> the standard way it should be formatted. Then you have an auto-formatter:
>>>>> parse the code and print the resulting AST. One missing thing is that 
>>>>> parser
>>>>> currently discards comments.
>>>>>
>>>>>
>>>>> On Thu, Jan 9, 2014 at 6:48 AM, Job van der Zwan <j.l.van...@gmail.com>
>>>>> wrote:
>>>>>>
>>>>>> The problem I see with that is that you can wait for a very long time
>>>>>> before any consensus emerges. There are simply many choices to be made in
>>>>>> that regard which at the end of the day are kind of arbitrary - that a
>>>>>> choice is made and consistently followed is more important, and again the
>>>>>> benefit of autoformatting is that you don't have to waste putting effort
>>>>>> into doing so.
>>>>>>
>>>>>> Having something something concrete to respond to also helps with the
>>>>>> discussion - an autoformatting tool will impose a certain style, which 
>>>>>> will
>>>>>> drive the discussion of standardising proper style. If people disagree 
>>>>>> with
>>>>>> the formatting it provides, great! That means a discussion is triggered.
>>>>>>
>>>>>> So instead of waiting for a consensus to emerge, I think that building
>>>>>> an autoformatting tool with a "good enough first guess" in terms of style
>>>>>> would be the place to start. Even if it starts out with terrible style
>>>>>> choices otherwise.
>>>>>>
>>>>>> (is this worth starting a separate discussion on the topic?)
>>>>>>
>>>>>>
>>>>>> On Thursday, 9 January 2014 03:18:05 UTC+1, John Myles White wrote:
>>>>>>>
>>>>>>> There is not yet, because there is still not a consensus on proper
>>>>>>> style. Hopefully once we have that, it will be easier to make a julia 
>>>>>>> fmt
>>>>>>> tool.
>>>>>>>
>>>>>>>  — John
>>>>>>>
>>>>>>> On Jan 8, 2014, at 6:09 PM, Job van der Zwan <j.l.van...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>> > Depends on what you mean with legibility.
>>>>>>> >
>>>>>>> > For example (and not at all related to x.f(y) vs f(x, y)), if I
>>>>>>> > look at my experience with the Go programming language, once you get 
>>>>>>> > used to
>>>>>>> > its imposed One True Way of formatting it really makes reading other
>>>>>>> > people's source code a lot easier. And talking about spending energy 
>>>>>>> > on the
>>>>>>> > subject of legibility: setting up my editor to use go-fmt (the
>>>>>>> > autoformatting tool) when building/saving code means I don't have to 
>>>>>>> > spend
>>>>>>> > any time thinking about it when writing my own code either; it will
>>>>>>> > automatically get fixed.
>>>>>>> >
>>>>>>> > It's one of those things the Go developers are very enthusiastic
>>>>>>> > about, and at first you go "really? That's a killer feature?" but 
>>>>>>> > after
>>>>>>> > using it you do start to miss it in other languages.
>>>>>>> >
>>>>>>> > Speaking of which, is there an autoformatting tool for Julia?
>>>>>
>>>>>
>>>
>



-- 
Erik Schnetter <schnet...@gmail.com>
http://www.perimeterinstitute.ca/personal/eschnetter/

Reply via email to