Yes, but then where such Exprs will placed? Not inside the args array of
other Exprs...
I guess that if it is necessary to revert back to source code from an AST,
then a modification to Expr has to be made...

On Fri, Feb 12, 2016 at 1:47 PM Erik Schnetter <schnet...@gmail.com> wrote:

> 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