X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil] ["3536" "Tue" "9" "February" "93" "13:38:53" "+0100" "kris@DIKU.DK" "kris@DIKU.DK" nil "78" "Re: Makeindex reimplementation" "^Date:" nil nil "2"]) Return-Path: Received: from sc.ZIB-Berlin.DE (mailserv) by dagobert.ZIB-Berlin.DE (4.1/SMI-4.0/1.9.92 ) id AA26550; Tue, 9 Feb 93 13:59:20 +0100 Received: from vm.urz.Uni-Heidelberg.de (vm.hd-net.uni-heidelberg.de) by sc.ZIB-Berlin.DE (4.1/SMI-4.0-sc/19.6.92) id AA03874; Tue, 9 Feb 93 13:59:17 +0100 Message-Id: <9302091259.AA03874@sc.zib-berlin.dbp.de> Received: from DHDURZ1 by vm.urz.Uni-Heidelberg.de (IBM VM SMTP V2R2) with BSMTP id 1600; Tue, 09 Feb 93 14:00:07 CET Received: from DHDURZ1 by DHDURZ1 (Mailer R2.08 R208004) with BSMTP id 0011; Tue, 09 Feb 93 14:00:04 CET Received: from DHDURZ1 by DHDURZ1 (Mailer R2.08 R208004) with BSMTP id 0009; Tue, 09 Feb 93 14:00:01 CET Reply-To: Mailing list for the LaTeX3 project Comments: Warning -- original Sender: tag was kris@CS.CHALMERS.SE In-Reply-To: <9302091158.AA15181@odin.diku.dk> Date: Tue, 9 Feb 93 13:38:53 +0100 From: kris@DIKU.DK Sender: Mailing list for the LaTeX3 project To: Multiple Recipients of Subject: Re: Makeindex reimplementation Status: R X-Status: X-Keywords: X-UID: 964 > I think this discussion of makeindex is rapidly getting into > dangerous waters. Yes, definitely. It should stop now after you all agree with what I've written below :-) > I believe very strongly that new components to TeX should be > implemented in C. Reasons for doing this. I oppose strongly...reasons below! > + C is available on almost every platform in the world. GNU C makes > a "free" compiler available to almost everybody. Pascal compilers > usually cost a lot of money. However, TeX is written in WEB. This means that *really* every platform with TeX has WEB; this is infinitely better than "almost". Furthermore WEB is a true high-level language in the sense that it encourages proper program documentation and a modular programming style, something that is definitely not true for C. And WEB *has* an extensive library in the sense that modules of the existing WEB programs are easily reused. WEB is not Pascal, mind you, although the translation WEB -> Pascal is simpler than WEB -> C. But both are available, so you can use GNU CC as the backend (I do). And you forget that C is not a true standard! > + C is easier to port than Pascal. Take a look at the TeX change > files for various operating systems. When I last ported TeX to VMS > through the Pascal-to-C translator with Unix change files I only > had to change the PATH separator character. This means that with C > a novice has some chance of getting things right; with Pascal > there is no use trying. This is largely due to the fact that WEB operating system change files "do it in WEB" whereas the Unix ones just provide a uniform interface to programs written outside WEB. This is the choice of the *porter* as it should be. Your suggestion will take away that choice. > + Most implementors use C (I can't prove this). Why make things more > difficult than they have to be? Exactly. Don't change the source language of TeX. When I first ported TeX to a 68000 unix box in '85 I was very greatful that the support program sources could be preprocessed and prettyprinted using WEB. > + There is a good chance that patches can be applied by the users or > system managers. Unix utilities like diff, patch and make can > automate much of the process. Adding change files to this might > break things. This is solved by a proper WEB programming style -- look at those change files: they invariable change some section called "System Dependencies". The reason "diff" and "patch" are necessary in the un*x world is exactly the opposite: there is no generally accepted "proper C programming style". > I don't think that C is the ideal language. However due to a very > limited library it is one of the most portable languages available. I am sorry, but this is wrong. I have not yet met one single system that had kjust the standard header files/library functions of the K&R ANSI C book. > Please be careful when choosing implementation language. Will the > selection make it easier for the user or cause her/him to go > somewhere else for a solution? Will it mean that I have to endure > errors that I know how to fix due to lack of the right compiler? Yes...be careful. Stick with the safe choice: WEB :-) Regards, Kristoffer ______________________________________________________________________ Kristoffer H{\o}gsbro ROSE Internet: kris@diku.dk Chalmers Tekniska H{\"o}gskola, Datalogi Voice: +46 (031)7725019 412 96 G{\"o}teborg, SWEDEN Fax: +46 (031) 165655