[27974] in Perl-Users-Digest
Perl-Users Digest, Issue: 9338 Volume: 10
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Thu Jun 22 03:05:50 2006
Date: Thu, 22 Jun 2006 00:05:05 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Thu, 22 Jun 2006 Volume: 10 Number: 9338
Today's topics:
How to open Perl.5.8.6.Core for Viewing Errors <janicehwang1325@yahoo.com>
Re: List context versus list context <tadmc@augustmail.com>
Re: List context versus list context <christoph.lamprecht.no.spam@web.de>
Re: multiple system calls running at the same time xhoster@gmail.com
new CPAN modules on Thu Jun 22 2006 (Randal Schwartz)
perl programmer needed my-name-is@slim.shady.com
Re: perl programmer needed usenet@DavidFilmer.com
Special variable "@$" narra.madan@gmail.com
Re: Special variable "@$" <jurgenex@hotmail.com>
Re: Special variable "@$" narra.madan@gmail.com
Re: use of uninitialized value (beginner) <mstep@t-online.de>
Re: What is a type error? <cdsmith@twu.net>
Re: What is Expressiveness in a Computer Language <benjamin.franksen@bessy.de>
Re: What is Expressiveness in a Computer Language <cdsmith@twu.net>
Re: What is Expressiveness in a Computer Language (Rob Warnock)
Re: What is Expressiveness in a Computer Language (Rob Warnock)
Re: What is Expressiveness in a Computer Language <cdsmith@twu.net>
Re: What's ^$ mean? <jurgenex@hotmail.com>
Re: What's ^$ mean? <tadmc@augustmail.com>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: 21 Jun 2006 23:00:41 -0700
From: "janicehwang1325@yahoo.com" <janicehwang1325@yahoo.com>
Subject: How to open Perl.5.8.6.Core for Viewing Errors
Message-Id: <1150956041.640165.48520@y41g2000cwy.googlegroups.com>
Hi,
I have errors in my program and i think Perl5.8.6.core is where all
the erros logged. However, it's in unreadable form. Is there anyway to
open the file and read?
------------------------------
Date: Wed, 21 Jun 2006 20:28:02 -0500
From: Tad McClellan <tadmc@augustmail.com>
Subject: Re: List context versus list context
Message-Id: <slrne9jsh2.vtn.tadmc@magna.augustmail.com>
xhoster@gmail.com <xhoster@gmail.com> wrote:
> Tad McClellan <tadmc@augustmail.com> wrote:
>> Bo Lindbergh <blgl@stacken.kth.se> wrote:
>> It isn't really a context issue. It is a slice issue.
>>
>> Slices are special-cased for list assignment.
>>
>> > I can't find any mention
>> > of this in perldata.pod.
> I don't quite get the documentation. It says:
>
> A slice of an empty list is still an empty list. Thus:
>
> @a = ()[1,0]; # @a has no elements
> @b = (@a)[0,1]; # @b has no elements
> @c = (0,1)[2,3]; # @c has no elements
>
> But the third example is not the slice of an empty list!
I was annoyed by that too.
> So while
> an example is provided, that example doesn't match the description it
> is supposedly an example of.
>
> It seems that this would be more accurate:
>
> A slice of an empty list is still an empty list. Thus:
>
> @a = ()[1,0]; # @a has no elements
> @b = (@a)[0,1]; # @b has no elements
>
> Also, a slice completely after the end of a non-empty list is
> an empty list. Thus:
>
> @c = (0,1)[2,3]; # @c has no elements
Looks like a docs patch to me...
--
Tad McClellan SGML consulting
tadmc@augustmail.com Perl programming
Fort Worth, Texas
------------------------------
Date: Thu, 22 Jun 2006 07:38:32 +0200
From: Ch Lamprecht <christoph.lamprecht.no.spam@web.de>
Subject: Re: List context versus list context
Message-Id: <e7dacn$34u$1@online.de>
Tad McClellan wrote:
> Bo Lindbergh <blgl@stacken.kth.se> wrote:
>
>>Consider this snippet:
>>{
>> sub foo {
>> print scalar(@_)," arguments\n";
>> }
>>
>> foo((17)[2,1]);
>> foo(my @foo=(17)[2,1]);
>>}
>>
>>When run by my perl 5.8.8, it produces these two lines of output:
>>2 arguments
>>0 arguments
>
>
>
>>So there seems to be (at least) two kinds of list context,
>>one used for evaluating function arguments and another one used
>>for evaluating the rhs of an assignment.
>
>
>
> It isn't really a context issue. It is a slice issue.
>
> Slices are special-cased for list assignment.
>
>
>
>>I can't find any mention
>>of this in perldata.pod.
>
>
>
> @c = (0,1)[2,3]; # @c has no elements
> ...
> This makes it easy to write loops that terminate when a null list
> is returned
> ...
>
>
I thought the context question was, why in this case
foo((17)[2,1]);
the expression (17)[2,1] evaluates to (undef,undef) ??
Maybe it has something to do with aliasing of function arguments...
Christoph
--
perl -e "print scalar reverse q/ed.enilno@ergn.l.hc/"
------------------------------
Date: 22 Jun 2006 01:21:04 GMT
From: xhoster@gmail.com
Subject: Re: multiple system calls running at the same time
Message-Id: <20060621212155.715$GN@newsreader.com>
guser@packetstorm.org wrote:
> I have a program that acts as a scheduler and when items in the
> database need to be updated it calls an external program.
>
> Right now, it is slow as each call to the external program must finish
> before control is returned to the scheduler program.
I doubt that that is why it is slow. It is probably slow because you are
starting up an external program every time you do an update.
If the only thing that prevents you from starting processes faster is that
you have to wait for them to end before you regain control, just imagine
what is going to happen you bypass this problem and start spawning
processes faster than they exit.
> I read through ch 16 in the perl cookbook but I see nothing on running
> multiple programs at once. The Advanced Perl programming book did not
> seem to have anything on this either.
>
> If this is possible, would someone post an example or direct me to
> where I can read up on this?
perldoc -q background
Xho
--
-------------------- http://NewsReader.Com/ --------------------
Usenet Newsgroup Service $9.95/Month 30GB
------------------------------
Date: Thu, 22 Jun 2006 04:42:10 GMT
From: merlyn@stonehenge.com (Randal Schwartz)
Subject: new CPAN modules on Thu Jun 22 2006
Message-Id: <J18vqA.1uM9@zorch.sf-bay.org>
The following modules have recently been added to or updated in the
Comprehensive Perl Archive Network (CPAN). You can install them using the
instructions in the 'perlmodinstall' page included with your Perl
distribution.
AmbientOrb-Serial-0.02
http://search.cpan.org/~sozin/AmbientOrb-Serial-0.02/
Perl module for interfacing with your Orb via serial port.
----
B-Deobfuscate-0.11
http://search.cpan.org/~jjore/B-Deobfuscate-0.11/
Extension to B::Deparse for use in de-obfuscating source code
----
Bundle-BugzillaInstall-0.02
http://search.cpan.org/~olegsher/Bundle-BugzillaInstall-0.02/
Automatic Bugzilla install system.
----
Cache-BDB-0.03
http://search.cpan.org/~jdr/Cache-BDB-0.03/
An object caching wrapper around BerkeleyDB
----
DBD-Multi-0.02
http://search.cpan.org/~dwright/DBD-Multi-0.02/
Manage Multiple Data Sources with Failover and Load Balancing
----
DBIx-Class-FormTools-0.000004
http://search.cpan.org/~djo/DBIx-Class-FormTools-0.000004/
Utility module for building forms with multiple related DBIx::Class objects.
----
Data-Postponed-0.20
http://search.cpan.org/~jjore/Data-Postponed-0.20/
Delay the evaluation of expressions to allow post facto changes to input variables
----
Data-Structure-Util-0.12
http://search.cpan.org/~fotango/Data-Structure-Util-0.12/
Change nature of data within a structure
----
Froody-42.006
http://search.cpan.org/~fotango/Froody-42.006/
Yet another XML web API framework
----
Games-Alak-0.17
http://search.cpan.org/~avif/Games-Alak-0.17/
simple game-tree implementation of a gomoku-like game
----
Games-Dissociate-0.17
http://search.cpan.org/~avif/Games-Dissociate-0.17/
a Dissociated Press algorithm and filter
----
HTML-Template-Compiled-0.68
http://search.cpan.org/~tinita/HTML-Template-Compiled-0.68/
Template System Compiles HTML::Template files to Perl code
----
IsUTF8-0.2
http://search.cpan.org/~heiko/IsUTF8-0.2/
detects if UTF8 characters are present
----
MP4-Info-1.09
http://search.cpan.org/~jhar/MP4-Info-1.09/
Fetch info from MPEG-4 files (.mp4, .m4a, .m4p, .3gp)
----
Module-Build-Kwalitee-0.22
http://search.cpan.org/~stig/Module-Build-Kwalitee-0.22/
Module::Build subclass with prepackaged tests
----
Net-Delicious-1.01
http://search.cpan.org/~ascope/Net-Delicious-1.01/
OOP for the del.icio.us API
----
POE-Component-EasyDBI-1.15
http://search.cpan.org/~xantus/POE-Component-EasyDBI-1.15/
Perl extension for asynchronous non-blocking DBI calls in POE
----
Parse-MediaWikiDump-0.40
http://search.cpan.org/~triddle/Parse-MediaWikiDump-0.40/
Tools to process MediaWiki dump files
----
Regexp-NamedCaptures-0.04
http://search.cpan.org/~jjore/Regexp-NamedCaptures-0.04/
Saves capture results to your own variables
----
Set-Object-1.15
http://search.cpan.org/~samv/Set-Object-1.15/
set of objects and strings
----
Spreadsheet-Read-0.15
http://search.cpan.org/~hmbrand/Spreadsheet-Read-0.15/
Meta-Wrapper for reading spreadsheet data
----
Template-Plugin-RPM2-1.01
http://search.cpan.org/~davecross/Template-Plugin-RPM2-1.01/
Template Toolkit plugin for RPM2
----
Template-Provider-Unicode-Japanese-0.01
http://search.cpan.org/~yoshida/Template-Provider-Unicode-Japanese-0.01/
Decode all templates by Unicode::Japanese
----
Template-Provider-Unicode-Japanese-0.02
http://search.cpan.org/~yoshida/Template-Provider-Unicode-Japanese-0.02/
Decode all templates by Unicode::Japanese
----
Template-Stash-HTML-Entities-0.02
http://search.cpan.org/~yoshida/Template-Stash-HTML-Entities-0.02/
Encode the value automatically using HTML::Entities
----
Term-Menus-1.12
http://search.cpan.org/~reedfish/Term-Menus-1.12/
Create Powerful Terminal, Console and CMD Enviroment Menus
----
Test-Dependencies-0.01
http://search.cpan.org/~zev/Test-Dependencies-0.01/
Ensure that your Makefile.PL specifies all module dependencies
----
Text-NSP-0.97
http://search.cpan.org/~tpederse/Text-NSP-0.97/
The Ngram Statistic Package allows a user to count sequences of words in large corpora of text, and measure their association.
----
Tkx-1.03
http://search.cpan.org/~gaas/Tkx-1.03/
Yet another Tk interface
----
mp3cut-1.13
http://search.cpan.org/~jv/mp3cut-1.13/
split MP3 files according to cue sheets
If you're an author of one of these modules, please submit a detailed
announcement to comp.lang.perl.announce, and we'll pass it along.
This message was generated by a Perl program described in my Linux
Magazine column, which can be found on-line (along with more than
200 other freely available past column articles) at
http://www.stonehenge.com/merlyn/LinuxMag/col82.html
print "Just another Perl hacker," # the original
--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
------------------------------
Date: Thu, 22 Jun 2006 06:12:29 GMT
From: my-name-is@slim.shady.com
Subject: perl programmer needed
Message-Id: <hxqmg.101598$H71.98274@newssvr13.news.prodigy.com>
I have a perl program that will allow to be used on one of my websites. I
need this cracked so I can use it on my other sites.
the program is a database driven web directory; not too complicated.
please email at brian@doubletakedecoys.com
------------------------------
Date: 22 Jun 2006 00:03:05 -0700
From: usenet@DavidFilmer.com
Subject: Re: perl programmer needed
Message-Id: <1150959785.272950.144670@g10g2000cwb.googlegroups.com>
my-name-is@slim.shady.com wrote:
> Re: perl programmer needed
http://jobs.perl.org is the appropriate forum for your message. This is
not.
--
David Filmer (http://DavidFilmer.com)
------------------------------
Date: 21 Jun 2006 22:41:40 -0700
From: narra.madan@gmail.com
Subject: Special variable "@$"
Message-Id: <1150954900.426317.116420@b68g2000cwa.googlegroups.com>
can any one explain the meaning of the perl special variable @$;
the variable is used in the code..
tha part of the code is shown below..
#! c:\perl\bin\perl
use strict;
my(@fields);
@fields=qw("hello" "how" "are" "u");
print "@fields\n";
&do(\@fields);
print "@fields\n";
sub do
{
my($fields_1,@fields,$var);
$fields_1=@_;
@fields=@$fields_1;
$var=$fields[0];
print "$var\n";
}
------------------------------
Date: Thu, 22 Jun 2006 05:51:17 GMT
From: "Jürgen Exner" <jurgenex@hotmail.com>
Subject: Re: Special variable "@$"
Message-Id: <pdqmg.10338$1G2.2671@trnddc06>
narra.madan@gmail.com wrote:
> can any one explain the meaning of the perl special variable @$;
> the variable is used in the code..
[...]
> &do(\@fields);
>
> sub do {
> my($fields_1,@fields,$var);
> $fields_1=@_;
> @fields=@$fields_1;
In this context $fields_1 is a reference to an array and the leading @
dereferences this array.
jue
------------------------------
Date: 21 Jun 2006 22:58:28 -0700
From: narra.madan@gmail.com
Subject: Re: Special variable "@$"
Message-Id: <1150955908.729914.37290@y41g2000cwy.googlegroups.com>
is there any problem in the code....no data is being printed in the
subroutine that i passed to it...and evenafter coming back from the
subroutine i tried to print the array but no data is being displayed...
------------------------------
Date: Thu, 22 Jun 2006 06:33:17 +0200
From: Marek Stepanek <mstep@t-online.de>
Subject: Re: use of uninitialized value (beginner)
Message-Id: <C0BFEA2D.26320%mstep@t-online.de>
On 22.06.2006 00:36, in article slrne9jig1.uvg.tadmc@magna.augustmail.com,
"Tad McClellan" <tadmc@augustmail.com> wrote:
...
thank you Tad. Very good lesson :-) I Have learn a lot again !
marek
------------------------------
Date: Wed, 21 Jun 2006 20:22:06 -0600
From: Chris Smith <cdsmith@twu.net>
Subject: Re: What is a type error?
Message-Id: <MPG.1f03acbbe8b647379896da@news.altopia.net>
David Hopwood <david.nospam.hopwood@blueyonder.co.uk> wrote:
> Typical programming languages have many kinds of semantic error that can occur
> at run-time: null references, array index out of bounds, assertion failures,
> failed casts, "message not understood", ArrayStoreExceptions in Java,
> arithmetic overflow, divide by zero, etc.
>
> Conventionally, some of these errors are called "type errors" and some are
> not. But there seems to be little rhyme or reason to this categorization, as
> far as I can see. If in a particular language, both array index bounds errors
> and "message not understood" can occur at run-time, then there's no objective
> reason to call one a type error and the other not. Both *could* potentially
> be caught by a type-based analysis in some cases, and both *are not* caught
> by such an analysis in that language.
Incidentally, yes! Filtering out the terminology stuff [as hard as this
may be to believe on USENET where half the world seems to be trolls, I
really was not so aware when I originally posted of how some communities
use terminology and where the motivations come from], this was my
original point. In the static sense, there is no such thing as a type
error; only an error that's caught by a type system. I don't know if
the same can be said of dynamic types. Some people here seem to be
saying that there is a universal concept of "type error" in dynamic
typing, but I've still yet to see a good precise definition (nor a good
precise definition of dynamic typing at all).
In either case it doesn't make sense, then, to compare how static type
systems handle type errors versus how dynamic systems handle type
errors. That's akin to asking how comparing how much many courses are
offered at a five star restaurant versus how many courses are offered by
the local university. (Yes, that's an exaggeration, of course. The
word "type" in the static/dynamic typing world at least has a closer to
common root.)
> A more consistent terminology would reserve "type error" for errors that
> occur when a typechecking/inference algorithm fails, or when an explicit
> type coercion or typecheck fails.
I am concerned as to whether that actually would turn out to have any
meaning.
If we are considering array length bounds checking by type systems (and
just to confuse ourselves, by both static and dynamic type systems),
then is the error condition that gets raised by the dynamic system a
type error? Certainly, if the system keeps track of the fact that this
is an array of length 5, and uses that information to complain when
someone tries to treat the array as a different type (such as an array
of length >= 7, for example), certainly that's a type error, right?
Does the reference to the seventh index constitute an "explicit" type
coercion? I don't know. It seems pretty explicit to me, but I suspect
some may not agree.
The same thing would certainly be a type error in a static system, if
indeed the static system solved the array bounds problem at all.
While this effort to salvage the term "type error" in dynamic languages
is interesting, I fear it will fail. Either we'll all have to admit
that "type" in the dynamic sense is a psychological concept with no
precise technical definition (as was at least hinted by Anton's post
earlier, whether intentionally or not) or someone is going to have to
propose a technical meaning that makes sense, independently of what is
meant by "type" in a static system.
> In the terminology I'm suggesting, the object has no type in this language
> (assuming we're talking about a Smalltalk-like language without any type system
> extensions).
I suspect you'll see the Smalltalk version of the objections raised in
response to my post earlier. In other words, whatever terminology you
think is consistent, you'll probably have a tough time convincing
Smalltalkers to stop saying "type" if they did before. If you exclude
"message not understood" as a type error, then I think you're excluding
type errors from Smalltalk entirely, which contradicts the psychological
understanding again.
--
Chris Smith - Lead Software Developer / Technical Trainer
MindIQ Corporation
------------------------------
Date: Thu, 22 Jun 2006 03:40:48 +0200
From: Benjamin Franksen <benjamin.franksen@bessy.de>
Subject: Re: What is Expressiveness in a Computer Language
Message-Id: <e7csf1$2qe$1@ulysses.news.tiscali.de>
Pascal Costanza wrote:
> There is, of course, room for research on performing static type checks
> in a running system, for example immediately after or before a software
> update is applied, or maybe even on separate type checking on software
> increments such that guarantees for their composition can be derived.
> However, I am not aware of a lot of work in that area, maybe because the
> static typing community is too focused on compile-time issues.
Not everyone is. For instance, Don Stewart has been enormously successful in
deploying such a system for Haskell (very much a statically typed language)
in a practically usable way. It is called hs-plugins (see
http://www.cse.unsw.edu.au/~dons/hs-plugins/), a framework for run-time
loading and re-loading of Haskell modules (in source form or already
compiled, giving different levels of security). Far from being a purely
academic exercise, there are interesting applications, including yi, an
extensible editor, and lambdabot, an IRC bot, both available from the above
same home page.
Cheers,
Ben
------------------------------
Date: Wed, 21 Jun 2006 19:55:54 -0600
From: Chris Smith <cdsmith@twu.net>
Subject: Re: What is Expressiveness in a Computer Language
Message-Id: <MPG.1f03a6919c2521b59896d9@news.altopia.net>
Marshall <marshall.spight@gmail.com> wrote:
> Well, it strikes me that some of what the dynamic camp likes
> is the actual *absence* of declared types, or the necessity
> of having them. At the very least, requiring types vs. not requiring
> types is mutually exclusive.
So you're saying, then, that while static typing and dynamic typing are
not themselves mutually exclusive, there are people whose concerns run
as much in the "not statically typed" direction as in the "dynamically
typed" direction? I agree that this is undoubtedly true. That (not
statically typed) seems to be what gets all the attention, as a matter
of fact. Most programmers in modern languages assume, though, that
there will be some kind of safeguard against writing bad code with
unpredictable consequences, so in practice "not statically typed"
correlates strongly with "dynamically typed".
Nevertheless, the existence of languages that are clearly "both"
suggests that they should be considered separately to at least some
extent.
--
Chris Smith - Lead Software Developer / Technical Trainer
MindIQ Corporation
------------------------------
Date: Wed, 21 Jun 2006 22:03:16 -0500
From: rpw3@rpw3.org (Rob Warnock)
Subject: Re: What is Expressiveness in a Computer Language
Message-Id: <T46dnd4qD9nplQfZnZ2dnUVZ_sydnZ2d@speakeasy.net>
Rob Thorpe <robert.thorpe@antenova.com> wrote:
+---------------
| > So, will y'all just switch from using "dynamically typed" to "latently
| > typed", and stop talking about any real programs in real programming
| > languages as being "untyped" or "type-free", unless you really are
| > talking about situations in which human reasoning doesn't come into play?
|
| I agree with most of what you say except regarding "untyped".
|
| In machine language or most assembly the type of a variable is
| something held only in the mind of the programmer writing it, and
| nowhere else. In latently typed languages though the programmer can
| ask what they type of a particular value is. There is a vast
| difference to writing code in the latter kind of language to writing
| code in assembly.
|
| I would suggest that at least assembly should be referred to as
| "untyped".
+---------------
Another language which has *neither* latent ("dynamic") nor
manifest ("static") types is (was?) BLISS[1], in which, like
assembler, variables are "just" addresses[2], and values are
"just" a machine word of bits.
However, while in BLISS neither variable nor values are typed,
operators *are* "typed"; that is, each operator specifies how
it will treat its input machine word(s) and how the machine word(s)
of bits it produces should be interpreted. So "+" is (mod 2^wordsize)
[unsigned?] integer addition, and "FADR" is floating-point addition
with rounding (as opposed to "FADD", which truncates), and so on.
So this (legal but non-sensical!) BLISS:
x := .y FMPR (.x - 13);
would, in C, have to be written roughly like this:
((void*)x) = (void*)((float)(*(void*)y) * (float)((int)(*(void*)x) - 13));
On the PDP-10, at least, both of them would generate this assembler code:
move t1, x
subi t1, 13
fmpr t1, y
movem t1, x
So is BLISS "typed" or not? And if so, what is that kind of typing called?
-Rob
[1] "Basic Language for the Implementation of Systems Software",
see <http://en.wikipedia.org/wiki/BLISS>. Created at CMU,
added-to by DEC, used by CMU, DEC, and a few others for in
the 70's-80's.
[2] Well, approximately. A BLISS variable is, conceptually at least,
really a "byte-pointer" -- a triple of a word address, a byte-size,
and a byte-position-within-word -- even on target architectures
other than the DEC PDP-10 [which had hardware byte-pointer types].
The compiler (even on the PDP-10) optimizes away LDB/DPB accesses
into natively-addressible load/store sizes, when possible.
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607
------------------------------
Date: Wed, 21 Jun 2006 22:19:24 -0500
From: rpw3@rpw3.org (Rob Warnock)
Subject: Re: What is Expressiveness in a Computer Language
Message-Id: <4padnQn3SOWhkQfZnZ2dnUVZ_rqdnZ2d@speakeasy.net>
Marshall <marshall.spight@gmail.com> wrote:
+---------------
| Anton van Straaten wrote:
| > 3. A really natural term to refer to types which programmers reason
| > about, even if they are not statically checked, is "latent types". It
| > captures the situation very well intuitively, and it has plenty of
| > precedent -- e.g. it's mentioned in the Scheme reports, R5RS and its
| > predecessors, going back at least a decade or so (haven't dug to check
| > when it first appeared).
|
| Can you be more explicit about what "latent types" means?
| I'm sorry to say it's not at all natural or intuitive to me.
| Are you referring to the types in the programmers head,
| or the ones at runtime, or what?
+---------------
Here's what the Scheme Standard has to say:
http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-4.html
1.1 Semantics
...
Scheme has latent as opposed to manifest types. Types are assoc-
iated with values (also called objects) rather than with variables.
(Some authors refer to languages with latent types as weakly typed
or dynamically typed languages.) Other languages with latent types
are APL, Snobol, and other dialects of Lisp. Languages with manifest
types (sometimes referred to as strongly typed or statically typed
languages) include Algol 60, Pascal, and C.
To me, the word "latent" means that when handed a value of unknown type
at runtime, I can look at it or perform TYPE-OF on it or TYPECASE or
something and thereby discover its actual type at the moment[1], whereas
"manifest" means that types[2] are lexically apparent in the code.
-Rob
[1] I added "at the moment", since I remembered that in Common Lisp
one may change the type of a value at runtime, specifically, a
CLOS instance may change type "out from under you" if someone
performs a CHANGE-CLASS on it or redefines its CLASS definition.
[Though maybe the latter is more a change of the *type* itself
rather than a change of the *object's* type per se.]
[2] Usually of a variables or locations, but sometimes of expressions.
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607
------------------------------
Date: Wed, 21 Jun 2006 21:29:09 -0600
From: Chris Smith <cdsmith@twu.net>
Subject: Re: What is Expressiveness in a Computer Language
Message-Id: <MPG.1f03bc73d01dd6579896dd@news.altopia.net>
Rob Warnock <rpw3@rpw3.org> wrote:
> Another language which has *neither* latent ("dynamic") nor
> manifest ("static") types is (was?) BLISS[1], in which, like
> assembler, variables are "just" addresses[2], and values are
> "just" a machine word of bits.
I'm unsure that it's correct to describe any language as having no
latent typing, in the sense that's being used in this thread. It might
be more correct to say "so specified latent typing" and/or "no latent
typing beyond what is provided by the execution environment, including
the CPU, virtual memory system, etc." as appropriate. I am aware of no
hardware environment that really accepts all possible values for all
possible operations without the potential of somehow signaling a type
violation.
--
Chris Smith - Lead Software Developer / Technical Trainer
MindIQ Corporation
------------------------------
Date: Thu, 22 Jun 2006 01:42:03 GMT
From: "Jürgen Exner" <jurgenex@hotmail.com>
Subject: Re: What's ^$ mean?
Message-Id: <Lzmmg.7272$Za5.1796@trnddc04>
smarkham01@yahoo.com wrote:
> You seem to be back to over-thinking the question. The question
> didn't have anything to do with character classes or an XOR!
Where was that fact mentioned in the original article?
> Just two charactors ^ followed by $.
Which is a combination that can have several different meanings, depending
upon in which context they are used. The OP didn't provide any context,
therefore common sense indicates to either say "This question cannot be
answered sensibly because of lack of information" or to list all possible
meanings and let the OP pick whichever is the right one for his problem. I
did the former, Tad did the latter.
Well, take your pick.
jue
------------------------------
Date: Wed, 21 Jun 2006 21:06:12 -0500
From: Tad McClellan <tadmc@augustmail.com>
Subject: Re: What's ^$ mean?
Message-Id: <slrne9juoj.vtn.tadmc@magna.augustmail.com>
smarkham01@yahoo.com <smarkham01@yahoo.com> wrote:
> Thank you Tadd,
I've asked you nicely to call me by my real name.
Please spell it right, or don't use it.
> You seem to be back to over-thinking the question.
You seem to be under-thinking the answer.
> The question didn't
> have anything to do with character classes or an XOR!
Neither does it have anything to do with regular expressions!
(because you did not show where the characters were used.)
> Just two
> charactors ^ followed by $.
Exactly so.
We cannot answer your question without knowing which language
the characters were in, and you did not tell us in your OP.
> Sorry life doesn't always flow in the vein you chose.
Sorry you cannot compose a coherent question.
[ snip TOFU]
--
Tad McClellan SGML consulting
tadmc@augustmail.com Perl programming
Fort Worth, Texas
------------------------------
Date: 6 Apr 2001 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Digest Administrivia (Last modified: 6 Apr 01)
Message-Id: <null>
Administrivia:
#The Perl-Users Digest is a retransmission of the USENET newsgroup
#comp.lang.perl.misc. For subscription or unsubscription requests, send
#the single line:
#
# subscribe perl-users
#or:
# unsubscribe perl-users
#
#to almanac@ruby.oce.orst.edu.
NOTE: due to the current flood of worm email banging on ruby, the smtp
server on ruby has been shut off until further notice.
To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.
#To request back copies (available for a week or so), send your request
#to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
#where x is the volume number and y is the issue number.
#For other requests pertaining to the digest, send mail to
#perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
#sending perl questions to the -request address, I don't have time to
#answer them even if I did know the answer.
------------------------------
End of Perl-Users Digest V10 Issue 9338
***************************************