Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with ESMTP id r6MGhFQP021692 for ; Mon, 22 Jul 2013 18:43:16 +0200 Received: from relay2.uni-heidelberg.de ([129.206.210.211]) by mx-ha.gmx.net (mxgmx101) with ESMTP (Nemesis) id 0MTjIq-1Uao8a3WnQ-00QWEH for ; Mon, 22 Jul 2013 18:43:09 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id r6MGeK27017705 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 22 Jul 2013 18:40:20 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id r6MFE3G4018876; Mon, 22 Jul 2013 18:40:15 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 10304080 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 22 Jul 2013 18:40:14 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id r6MGeExc000610 for ; Mon, 22 Jul 2013 18:40:14 +0200 Received: from nm9-vm10.access.bullet.mail.bf1.yahoo.com (nm9-vm10.access.bullet.mail.bf1.yahoo.com [216.109.114.201]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id r6MGe4BB014065 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 22 Jul 2013 18:40:06 +0200 Received: from [66.196.81.160] by nm9.access.bullet.mail.bf1.yahoo.com with NNFMP; 22 Jul 2013 16:40:04 -0000 Received: from [66.196.81.147] by tm6.access.bullet.mail.bf1.yahoo.com with NNFMP; 22 Jul 2013 16:40:04 -0000 Received: from [127.0.0.1] by omp1023.access.mail.bf1.yahoo.com with NNFMP; 22 Jul 2013 16:40:04 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 423783.80821.bm@omp1023.access.mail.bf1.yahoo.com Received: (qmail 74086 invoked by uid 60001); 22 Jul 2013 16:40:03 -0000 X-YMail-OSG: .O2N58QVM1nJ5esd6heyIHULK53ZEV3fFCSzTqY.q6uExup VX9tvaH_QN0VUOVCblIz21BherXH5xRc9uY5b6ow3AMBHwmD2UH1sKI0t0cR RnW9YIWabYgwZYLhsKYhOl0hqU5e5z5IZp8GRoXy4k1iRnQFt4x1c0j.1N.X 2l.DcVUlwmhcFUfpw8wVo4zlbUcqmGmriVyirobs6i7aagZLmdtvJCeg45Zq YZ3mD_5Us5vxsBlXYWDWflo7iOvxFTWc8H2SKe3extpQgOKm8ko2wsi9KRAl szlNBlhX_kcwFPs34LCXO_WDrgPzLgp43rvpssy97Yx7iayGy7nydlka73q8 jHVkZLIdiftBeqdO8OjaDP2JabuNOeGfYeYUfU7MoJrfN92PpL_Fn6d6jtBz wsHTAyeisCmhhkZTFiwIRK.B2BJcQT7mwv13QrE4bUhvOsr6tsCahxbOSyoE tgm_DSR.RsGXw7MW8yOz7rv8VaDvT0UDU14.bvECNgkqqejgK8W8PVRlwF5O yrGAx4Hfsj7Safcn92OKEX32zjd86QCELTzQflNuZ0cDYebQOW9yIBc31P23 Cf2E7cReNYNm1mGmRXLTC6ck- Received: from [206.208.217.6] by web181206.mail.ne1.yahoo.com via HTTP; Mon, 22 Jul 2013 09:40:03 PDT X-Rocket-MIMEInfo: 002.001,SSB3b3JrIHdpdGggdGhlIFNBUyBtYWNybyBsYW5ndWFnZSwgd2hpY2ggaXMgdmVyeSBzaW1pbGFyIHRvIHRoZSBMYVRlWCBtYWNybyBleHBhbnNpb24gbGFuZ3VhZ2UuIEluIHRoYXQgbGFuZ3VhZ2UsIHRoZSBzY29wZSAoZ2xvYmFsIHZzIGxvY2FsIHZzIGxvY2FsbHkgLSBnbG9iYWwpIGlzIGdvdmVybmVkIGJ5IGEgc3ltYm9sIHN0YXR1cyB0YWJsZSwgd2hpY2ggaXMgY2VudHJhbGx5IGRlZmluZWQuIFRoZSBzdGF0dXMgb2YgdGhlIHZhcmlhYmxlIGNhbiBiZSBxdWVyaWVkIGFuZCBkZWZpbmVkLCB0aGUgc3QBMAEBAQE- X-Mailer: YahooMailWebService/0.8.150.561 References: <51ECE2AC.7020806@morningstar2.co.uk> <51ED4B60.8040900@morningstar2.co.uk> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="-1825788062-541054051-1374511203=:62156" Message-ID: <1374511203.62156.YahooMailNeo@web181206.mail.ne1.yahoo.com> Date: Mon, 22 Jul 2013 09:40:03 -0700 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Paul Thompson Subject: Re: Propagation of 'global'ness To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <51ED4B60.8040900@morningstar2.co.uk> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: Envelope-To: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=V3; X-GMX-Antivirus: 0 (no virus found) X-UI-Filterresults: notjunk:1;V01:K0:ie4XeuLqnV8=:1FomMv248R6aHhGhODQe6xJnAp JWHb9MXe6WOGyKjOCBCjdAemjLsEu5rpmFKovvlt++nLLqM6yr8SUV9IlywTGw6s+CPUuIG3o Drv11ff6CnkIhtOVto300iOgGoGBslpi6/RnM9Uu4n14CS3N/ICMqC7jNLvImwpmqlLCXlbIm wflMu2FX0ZaOc72OEEGjVBGoSTUZX0E+WEHAs1bGpmtrg7uhAHIPwt+EjT6cXhoMr+l4SYqgd 4FaCN6TeiSG81c7p6UT4jiTJ8OHrTQhAcX07IhWlE+r0ALBIdTOIlQxbmd2ERPndCRSi8z8Iu cE+LvHvu+5R1aXq3KbEJu7sDCUOJAAFH90kQLSd9cuDgKrOsZldwcOs1tl4z/NBnFJ1FH+p75 JlVcwyQivnFb0hrE3+SOdiYRsMBRn334kWLxFlen5WVOKGwX3zHQ5tuRtU0x9MuCJHO0JMhOC mgcTMN1nQ0mSzwIafv3gEAlLWCl5vHcEiIQfjXXt3qyTo8JLBhkNFFeMpCh7KSiYa8DoI4dRE CfnX5BZTkbGN5lrQ3R2Zn95UHBslwNyttzZzx1ONwy9OqGk/sWEMhE+vyp11hcwJqVtvwXjCf Af8DaQhaOFqjgBf0QKtgGu38m8GkUQvnIpj9fKH01ZxsuDK0fMECNS6zzPA4INgWq5Fox1yR1 TX/WkDHOnauWASWUuamPh67x0ZTvgIax1tdlhbz0zKlqwA76HVEQPBJ5fptT+sLmCTcSicJGB ca/yhxpGDBVc4Wh2V3aKv+IwyKlhqP8wiRqNrDBYaRXTSxAUEP2MVAnJp+3Fs/7X3pObDBlv4 Vows6cDALmo9yClzK4QPKv70mAOcumwWr4a7A1ikhGlCXysli7ds9mN5BWgVtlU4B/M5DFX5j rlamTbuJ+rKca7Mxy6sWCXi8lyfqLf2K63RMoSMO5zfx837Oajt9rmyAQNPC4YfL5f1e6qLBi 8B1cp6CbJCr2bHov5tDp9SLvGzNn74FByuITmNX9p1axLvQ9QINtcXcWpzV2owwHi7xler2AQ 8snBWFaVMSZGtTuuVe+cDLzvYG9nE3lJ+ZCNGe5Yjn37LKVUbOJwLjg6NlzNCNO9kQCW7SD+o XZk/lXzkKwmIg7tjgdUSln1hTHKLO7O6G6iO/gZWNOx8lgNItTOxhDFdYo0FnqCA7uxZF2yCu zzVmT0vfTB2SmJwLDfWkLLLHtbiXGg8sWdgcwGkbcUfmG6/YQLA9xmamt3KF+pUecfO5qHwtL 1fWWLWRyO/2iIREmcKmG2rMPZJ4+8BNoWkqYIN3efXxW3iygvl6gRBYRUfJP9W9JwwX73+D/0 rfEmPxmyYgoCXS6pbdTJRJ1gvymLJ9iV4QXsSi75w6m5cBdQzKrcjgHa3ZWr9jq08EdakArJn idd4kfUkqvC1QG351o/H8Ho41ye8sj44CYA80If+7smfbKjEBoKsWQ4aH6gvy5a3+aqlrbqiz tvfd7xqIGdSN9XdNSgJ9middxVUtrO+Nw2Eu6qMRjFtSnwtrKgz6+z8vDqu5DZVjUHDCll+z1 fSp0FBAXcwC6/GvUGU9qE/2jk1poWblEt6LiWAqvtLL9ucsjv4eb3WgCeozNeyRDkT+YesTpm 9uhDAObIikg= X-UI-Loop:V01:XHT24Q0LWA4=:5oJPLnJLrnz4x7Lv6mPgKptBn3iHziKnyvjmRCx6RPc= Status: R X-Status: X-Keywords: X-UID: 7274 ---1825788062-541054051-1374511203=:62156 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable I work with the SAS macro language, which is very similar to the LaTeX macr= o expansion language. In that language, the scope (global vs local vs local= ly - global) is governed by a symbol status table, which is centrally defin= ed. The status of the variable can be queried and defined, the status of th= e variable is defined by its first reference, and the default is local. In = that way, much is quite similar to the LaTeX approach. The main difference = is that there is a master symbol table which contains the status of all var= iables.=0A=0A=0A=A0=0APaul Thompson =0A=0A=0AProfessor and Senior Scientist= =0ADirector, Methodology and Data Analysis Center=0ASanford Research/USD=0A= 2301 E 60th St N=0ASioux Falls, SD 57104=0A=0A=0AO: 605-312-6462=A0=A0 M= : 618-974-0473=A0 H: 605-332-1587=A0 F: 605-328-0401=0A=0A=0A909 N. Charles= ton Circle=0ASioux Falls, SD 57110=0A605-332-1587=0A=0A=0A_________________= _______________=0A From: Joseph Wright = =0ATo: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE =0ASent: Monday, July 22, 2013 10= :10 AM=0ASubject: Re: Propagation of 'global'ness=0A =0A=0AOn 22/07/2013 09= :06, Michiel Helvensteijn wrote:=0A> On Mon, Jul 22, 2013 at 9:43 AM, Josep= h Wright=0A> wrote:=0A> =0A>> Certainly = see a point here, but on the other hand I'm not a fan of=0A>> encouraging m= ore and more data structures. Writing a full data structure=0A>> module is = non-trivial: in most cases, I'd expect people to be using=0A>> combinations= of the existing ones in an ad-hoc fashion for their purpose.=0A> =0A> That= doesn't sound like someone who is creating a programming language. :-)=0A>= =0A> Abstraction is the word. There are so many useful data structures out= =0A> there that you haven't even touched upon in the libraries yet. Graphs,= =0A> trees, priority queues, sets, multisets, tables, ... One can never=0A>= predict what a programming language will be used for.=0A=0ACertainly true,= hence waiting with interest to see what Bruno has in=0Amind about 'objects= '.=0A=0AI was thinking more that if we look at other languages there are a= =0Alimited number of data types, and for specialist applications you still= =0Ahave to use whatever 'base' types are available. Now, we of course=0Area= lly only have macros and TeX's build-in registers, but if we are=0Aallowed = a little leeway then we come to the kernel-defined data types we=0Aalready = have.=0A=0AI've no real experience of other languages, though, so perhaps I= miss=0Asomething. What does one do in say C if the data structures availab= le=0Aare not suitable? (I didn't think you could even add keywords in most= =0Alanguages, so adding data types seems tricky.)=0A=0A[BTW, I'd hope expl3= is used for 'typesetting', broadly :-) Bruno may=0Awant to pilot the Mars = rover in TeX, but ...]=0A=0A> If you see a future in expl3 you should expec= t it to grow, and outside=0A> developers to be a part of that. If you don't= provide these kinds of=0A> facilities, others will. That's the nature of T= eX. Just look at=0A> etoolbox, etc. Being more flexible will probably give = you more control=0A> in the long run.=0A=0AGrow certainly, but the question= is at least in part whether that's at=0Athe programmers tools side or on t= he real business of TeX: typesetting=0Aand appropriate tools.=0A-- =0AJosep= h Wright ---1825788062-541054051-1374511203=:62156 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable
I work with the SAS= macro language, which is very similar to the LaTeX macro expansion languag= e. In that language, the scope (global vs local vs locally - global) is gov= erned by a symbol status table, which is centrally defined. The status of t= he variable can be queried and defined, the status of the variable is defin= ed by its first reference, and the default is local. In that way, much is q= uite similar to the LaTeX approach. The main difference is that there is a = master symbol table which contains the status of all variables.

 
Paul Thompson

= Professor and Senior Scientist
Director, Methodology and Data Analysis C= enter
Sanford Research/USD
2301 E 60th St N
Sioux Falls, SD 571= 04


O: 605-312-6462   M: 618-974-0473  H: 605-332-1587  F: 605-328-0401


909 N. = Charleston Circle
Sioux Falls, SD 57110
605-332-1587

From: Joseph Wrigh= t <joseph.wright@MORNINGSTAR2.CO.UK>
To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE
Sent: Monday, July 22, 2013 10:10 AM=
Subject: Re: Propagat= ion of 'global'ness

= =0AOn 22/07/2013 09:06, Michiel Helvensteijn wrote:
> On Mon, Jul 22,= 2013 at 9:43 AM, Joseph Wright
> <jo= seph.wright@morningstar2.co.uk> wrote:
>
>> Certainl= y see a point here, but on the other hand I'm not a fan of
>> enco= uraging more and more data structures. Writing a full data structure
>= ;> module is non-trivial: in most cases, I'd expect people to be using>> combinations of the existing ones in an ad-hoc fashion for their= purpose.
>
> That doesn't sound like someone who is creating = a programming language. :-)
>
> Abstraction is the word. There= are so many useful data structures out
> there that you haven't even= touched upon in the libraries yet. Graphs,
> trees, priority queues,= sets, multisets, tables, ... One can never
> predict what a programming language will be used for.

Certainly true, hence waitin= g with interest to see what Bruno has in
mind about 'objects'.

I = was thinking more that if we look at other languages there are a
limited= number of data types, and for specialist applications you still
have to= use whatever 'base' types are available. Now, we of course
really only = have macros and TeX's build-in registers, but if we are
allowed a little= leeway then we come to the kernel-defined data types we
already have.
I've no real experience of other languages, though, so perhaps I miss=
something. What does one do in say C if the data structures availableare not suitable? (I didn't think you could even add keywords in most
= languages, so adding data types seems tricky.)

[BTW, I'd hope expl3 = is used for 'typesetting', broadly :-) Bruno may
want to pilot the Mars = rover in TeX, but ...]

> If you see a future in expl3 you should expect it to grow, and outside
> developers to be a part of t= hat. If you don't provide these kinds of
> facilities, others will. T= hat's the nature of TeX. Just look at
> etoolbox, etc. Being more fle= xible will probably give you more control
> in the long run.

G= row certainly, but the question is at least in part whether that's at
th= e programmers tools side or on the real business of TeX: typesetting
and= appropriate tools.
--
Joseph Wright


=
---1825788062-541054051-1374511203=:62156--