May be indent(1) can be taught about Go syntax rules so that it can 
"pretty-print" ala Lisp?

> On Jul 3, 2019, at 3:25 PM, Michael Jones <michael.jo...@gmail.com> wrote:
> 
> Any form of restraining gofmt has my vote. One that I despise is ruining:
> 
> switch v {
> case ‘a’: doA = true
> case ‘b’: doB = true
> :
> case ‘z’: doZ = true 
> }
> 
> Just had this two days ago. So sad to see it balloon up
> 
> On Wed, Jul 3, 2019 at 11:36 AM Aston Motes <ast...@gmail.com> wrote:
> This proposal is not very much different from a one-liner
> 
> if err != nil { <single_statement> }
> 
> It's just 10 more characters. Granted, gofmt won't leave the one-liner 
> formatted that way, but it's not much more typing and comes with the benefit 
> of not needing a new keyword.
> 
> One variation on this proposal that is a little weird is that if could in the 
> case of checking for an error omit the requirement that its argument be a 
> boolean, giving
> 
> if err { <single_statement> }
> 
> Which is only 3 characters longer than on and again avoids a new keyword. I 
> believe changing the behavior of if this way should be backwards compatible.
> 
> On Wed, Jul 3, 2019 at 6:26 AM Michael Ellis <michael.f.el...@gmail.com> 
> wrote:
> I like this. A lot.
> 
> It's clean and explicit.  The reader only needs to understand that 'on' is a 
> test for a nil value (vs 'if' which tests for boolean true).
> 
> 
> 
> On Tuesday, July 2, 2019 at 3:57:24 PM UTC-4, Liam wrote:
> This proposal has attracted modest attention from the Go team...
> https://github.com/golang/go/issues/32611
> 
> It suggests:
> 
> err := f()
> on err, <single_statement>
> 
> 
> on err, return err            // any type can be tested for non-zero
> on err, return fmt.Errorf(...)
> 
> on err, fmt.Println(err)      // doesn't stop the function
> on err, continue              // retry in a loop
> 
> on err, goto label            // labeled handler invocation
> on err, hname                 // named handler invocation
> 
> 
> 
> And offers these possible extensions:
> 
> on err, os.IsNotExist(err):  <stmt>
> on err, err == io.EOF:       <stmt>
> on err, err.(*os.PathError): <stmt>    // doesn't panic if not a match
> 
> on err, <condition>: <stmt>
> on err: <stmt>              // this pair provides if/else in 2 lines
> 
> 
> on err := f(), <stmt> // for assignment with single lvalue
> 
> 
> Other punctuation is possible, e.g. on (err) <stmt>
> 
> Now if we could just convince the Go gods to prototype this along with try() 
> in 1.14 :-)
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/decc63a5-9e65-4e96-929f-76d44cf19e14%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/CANfvvbVy1iP8Un8zudCwZhkTg5dQfGCrBkN-0VmFbbK-FgD8dA%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.
> -- 
> Michael T. Jones
> michael.jo...@gmail.com
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/CALoEmQy5E5%2BK%2BKAcCvVZFJDWptNdfkAz1NrSUVa4oM%3DuQxTgOQ%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/2B981474-49D8-4889-9C39-8BC54D2BF886%40bitblocks.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to