home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.fortran      Putting John Backus on a giant pedestal      5,127 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 4,610 of 5,127   
   Lawrence D'Oliveiro to All   
   Implicit Semicolons And Statement-Contin   
   06 Feb 24 03:04:10   
   
   From: ldo@nz.invalid   
      
   Fortran (in free-form mode) is now the third language I’ve come across   
   that allows semicolons to terminate statements, but makes them   
   optional (letting a newline do the job instead).   
      
   The other two are JavaScript and Python. JavaScript has the most   
   complex-seeming rule, but once you understand how it works, being able   
   to write something like   
      
       f(a, b, c)   
      
   as   
      
       f   
         (   
            a,   
            b,   
            c   
         )   
      
   (where a, b and c might be quite complex expressions) is quite useful.   
      
   Python has I think the most straightforward rule: you need to end a   
   line with “\” to do explicit continuation, but continuation can be   
   implicit if there is an unpaired opening parenthesis, bracket or   
   brace. So complex expressions can be written with minimal clutter:   
      
       section_verts = \   
           [   
               start + vec(0, - rail_width / 2, 0),   
               start + vec(0, rail_width / 2, 0),   
               start + vec(0, - rail_width / 2, rail_thickness * slope_adjust),   
               start + vec(0, rail_width / 2, rail_thickness * slope_adjust),   
           ]   
      
   Free-form Fortran, on the other hand, requires an explicit “&” to   
   continue a line in all cases:   
      
       character(len = 9), dimension(3, 4), parameter :: month_names = &   
           reshape &   
             ( &   
               (/ ' January ', ' February', '  March  ', '  April  ', &   
               '    May  ', '   June  ', '   July  ', '  August ', &   
               'September', ' October ', ' November', ' December' /), &   
               (/3, 4/) &   
             )   
      
   Wouldn’t it be useful if it had a smarter, Python-style rule?   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca