[27974] in Perl-Users-Digest

home help back first fref pref prev next nref lref last post

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
***************************************


home help back first fref pref prev next nref lref last post