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/ >