[MLton] Tabs in source files

Stephen Weeks MLton@mlton.org
Thu, 18 Aug 2005 17:34:39 -0700


Sorry to bring this up again.  I'm not happy with how we currently
handle tabs in the MLton sources and I don't think we resolved the
problem with our earlier disucssion.

It seems to me there are three ways we can go in our convention for
indenting code.

1. allow any mix of tabs and spaces
2. require as many tabs as possible
3. disallow tabs

Currently we do (1).  It seems to me that either (2) or (3) is
significantly better, as it avoids problems with whitespace diffs and
makes it possible for automated tools to translate from the repository
format to the desired format of someone's tools.

As to deciding between (2) and (3), the argument in favor of (2) that
I have heard is basically that tabs have always been eight spaces and
people's tools should handle that.  In favor of (3) I've heard that
some tools don't display tabbed code properly.

My thinking is that everyone agrees that a space is a space, while not
everyone agrees what a tab is.  So, it seems that (3) makes more
sense.  I don't see how (3) can cause problems for the tab fans since
they tabs can still edit with them and do a simple postpass to replace
them with spaces before going to the repository (there aren't many
committers anyway so it's no big deal).

And we never have to worry about running into a tool that doesn't
handle tabs properly.