CLAS

John Martyn jamartyn@gte.net
Fri, 5 Mar 1999 07:09:10 -0600


------ =_NextPart_000_01BE66D8.042ED620
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Dear clean-list,
	Would you please remove me from your mailing list.=20

Thanks,

John Martyn


----------
From: 	John van Groningen[SMTP:johnvg@cs.kun.nl]
Sent: 	Friday, March 05, 1999 6:13 AM
To: 	clean-list@cs.kun.nl
Subject: 	Re: CLAS

>2.  Because Clean is a layout-sensitive language,
>    DISTRIBUTED CLEAN SOURCES SHOULD NEVER *EVER* CONTAIN TABS.
>
>    I would like to be able to use the *same* source files on my Unix
>    systems (where tabs are by default and for all practical purposes
>    immutably set to 8) and on my and my students Mac boxes (where
>    tabs are whatever Clean wants them to be, is it 3 or 4?).

So do we. Therefore the Clean compiler always assumes that tabs have the =
same size (4) on all systems. If the tab size would be 8 on unix and 4 =
on the mac and pc, you could get compilation errors when source files =
are moved between those systems. The compiler and IDE also support text =
files with the wrong new line codes for the platform.

>    Ok, so on a Unix box it is easy enough to do
>
>        for F in *.?cl ; do
>            mv $F $F.BAK
>            pr -t -e4 $F.BAK >$F
>        done
>
>    but it's even easier if the original developer makes sure there are
>    no tabs in the first place so that NOBODY has to do this.  I was
>    lucky this time, guessing -e4 seems to have worked.  But why should
>    I have to guess?

Tabs can also be expanded or unexpanded with expand or unexpand.

>For what it's worth, I have suggested to the Clean team before that
>allowing special header comments like
>    //charset=3Diso-latin-1 tabs=3D4
>would help a lot.=20

This would cause problems when a source file with tab size 8 is moved to =
a mac or pc, because the editor does not recognize the header comment =
and would show the source file with a different tab size.

Why not tell the editor that the tab size is 4. For example for emacs, =
start .icl and .dcl files with the following line:
// -*- tab-width: 4 -*-
or use:
(setq-default tab-width 8)
in your .emacs file.

Or even better, tell your editor to use tab size 4 for all .icl and .dcl =
files.

John van Groningen



------ =_NextPart_000_01BE66D8.042ED620
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IjoNAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy
b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEEkAYAIAEAAAEAAAAMAAAAAwAAMAIAAAAL
AA8OAAAAAAIB/w8BAAAARwAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAAGNsZWFuLWxpc3RAY3Mu
a3VuLm5sAFNNVFAAY2xlYW4tbGlzdEBjcy5rdW4ubmwAAB4AAjABAAAABQAAAFNNVFAAAAAAHgAD
MAEAAAAVAAAAY2xlYW4tbGlzdEBjcy5rdW4ubmwAAAAAAwAVDAEAAAADAP4PBgAAAB4AATABAAAA
FwAAACdjbGVhbi1saXN0QGNzLmt1bi5ubCcAAAIBCzABAAAAGgAAAFNNVFA6Q0xFQU4tTElTVEBD
Uy5LVU4uTkwAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAAAAAAAoUzAQSAAQAJAAAAUkU6
IENMQVMAFAIBBYADAA4AAADPBwMABQAHAAkACgAFAP0AASCAAwAOAAAAzwcDAAUABwAGACIABQAS
AQEJgAEAIQAAADgyMjJFNTVFQzlEMkQyMTE5RkI1NDQzMUZDQzAwMDAwAAoHAQOQBgAACAAAFAAA
AAsAIwAAAAAAAwAmAAAAAAALACkAAQAAAAMALgAAAAAAAwA2AAAAAABAADkAAF95WwlnvgEeAHAA
AQAAAAkAAABSRTogQ0xBUwAAAAACAXEAAQAAABYAAAABvmcJW3mJhLHC0skR0p+1RDH8wAAAAAAe
AB4MAQAAAAUAAABTTVRQAAAAAB4AHwwBAAAAEQAAAGphbWFydHluQGd0ZS5uZXQAAAAAAwAGEBya
HzgDAAcQIwYAAB4ACBABAAAAZQAAAERFQVJDTEVBTi1MSVNULFdPVUxEWU9VUExFQVNFUkVNT1ZF
TUVGUk9NWU9VUk1BSUxJTkdMSVNUVEhBTktTLEpPSE5NQVJUWU4tLS0tLS0tLS0tRlJPTTpKT0hO
VkFOR1JPTkkAAAAAAgEJEAEAAACCBgAAfgYAALsLAABMWkZ17ApbW/8ACgEPAhUCpAPkBesCgwBQ
EwNUAgBjaArAc2V07jIGAAbDAoMyA8YHEwKDujMTDX0KgAjPCdk7Ff94MjU1AoAKgQ2xC2Bu8Gcx
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

------ =_NextPart_000_01BE66D8.042ED620--