When people encounter Lisp syntax for the first time
-
of at least one dialect of BASIC that allowed subroutine calls to lack their parentheses
Did sub calls normally have parentheses in BASIC?
Yes. Most early BASICs even required that any reference to a function name, in definition or calling, be preceded by an
FN
keyword as well as the parentheses.QBASIC, Visual BASIC and the related dialects of BASIC found in MS Office and LibreOffice all have slightly better syntax for defining and calling functions than the older BASICs, but they all still require parentheses on their subroutine parameter lists too.
At best, you might be able to call a subroutine by name with no empty parentheses after it, but as soon as you need parameters, you’ll need parentheses around them.
But like I say, there was at least one rare BASIC that didn’t need them, so I’m assuming there might have been others that I’m not aware of.
-
And then there’s Haskell which takes the whole thing a step further still.
Wait, what works in Haskell that doesn’t in Lisp, exactly? Are the spaces not just function composition?
My mistake. I had somehow missed or forgotten that Lisp also supports currying, which is what I was thinking of as Haskell taking further. There might be other things regarding type declaration and such, but that’s a little beyond me to confirm or deny at the moment.