HDTenEightyP/NetNews huggingface dataset:
From: jcl@deshaw.com (Jonathan Laventhol)
Subject: Re: A little Pop history
Organization: D. E. Shaw & Co.
Date: Sun, 15 Nov 1992 15:52:54 GMT

Hi --

Yep, of course, Brian was right and saw my bug.  Well, here's
the fixings.

	define recursivemember(item, list);
	var item, list, element;
		if list = [] then
			return(false)
		endif;

		for el in list do
			if el = item then
				return(true)
			elseif islist(el) and recursivemember(item, el) then
				return(true);
			endif
		endfor;

		return(false);
	enddefine;

This illustrates another facet of the language: that boolean
expression evaluation is defined to be ordered (left to right), as is
argument evaluation.

Sorry/thanks.
J.


bh@anarres.CS.Berkeley.EDU (Brian Harvey) writes:

>jcl@deshaw.com (Jonathan Laventhol) writes:
[...]
>|		for el in list do
>|			if el = item then
>|				return(true)
>|			elseif islist(el) then
>|				return(recursivemember(item, el));
>|			endif
>|		endfor;
[...]
>Can this be right?  It looks to me as if it'll say that X isn't
>a recursivemember of [[A B C] [X Y Z]] because it isn't in the
>first sublist.
From: lpb@cs.bham.ac.uk (Luc Beaudoin)
Newsgroups: comp.lang.pop
Subject: Poplog for the  SPARCclassic(TM) running Solaris 2.x
Date: 13 Nov 92 11:37:02 GMT
Organization: School of Computer Science, University of Birmingham, UK


Does anyone know if we should expect Poplog to run under Sun's new
SPARCclassic(TM) running Solaris 2.x. (I can send you a description of
it if you haven't heard of it. It's a 59 MIP low cost machine to compete
with 486 PC platforms) I've asked Sun about general binary compatibility
between SPARCclassic(TM) running Solaris 2.x and, e.g., an SS10 SunOs
4.1 and they said:

flash@sunvice.East.Sun.COM
> Certain applications that run under 4.1.x will run in binary
> compatibility mode under Solaris 2.x. I suspect that
> most people will prefer native ports of their key applications
> as many software vendors will not support old apps in the
> new environment.

Does Poplog make use of architecture dependent features (e.g., machine
registers)? Do you think it would be difficult to put the source on the
machine and compile it? Could I as a user do this if I were to buy one
of these machines?

Perhaps it would be a good marketing move to port Poplog to this machine
(when it appears!). Anyone else out there beside myself might be tempted
by a full Poplog machine at home for the price of a PC!?

Thanks,

Luc
-- 
-------------------------------------- -----------------------------------
Luc Beaudoin                          |  School of Computer Science
E-mail: lpb@cs.bham.ac.uk             |  University of Birmingham
voice:  +44 (21) 414-4766 or 3743     |  Birmingham B15 2TT, UK
Xref: sparky comp.lang.pop:55 alt.lang.basic:856
From: axs@cs.bham.ac.uk (Aaron Sloman)
Newsgroups: comp.lang.pop,alt.lang.basic
Subject: Re: Ok, so pop *pop* may be a valid lang, but where's basic?
Date: 14 Nov 92 17:03:47 GMT
Organization: School of Computer Science, University of Birmingham, UK

zeta%tcscs@idss.nwa.com (Gregory Youngblood), one of several
defenders of BASIC in this thread, writes:

> Date: 14 Nov 92 00:34:25 GMT
> Organization: TCS Consulting Services
> tlhouse@nyx.cs.du.edu (fiver) writes:
>
> > Basic is where it belongs, in the alt., just like you said .. I don't know
> > from pop, but I *DO* know Basic is pretty much garbage when compared to
> > other GOOD languages ..
> > ....

> I do know BASIC is used for some Windows applications now, and QuickBasic
> is used by several places for specific programs.  In fact several ads looking
> for BASIC programmers have been popping up in the local help wanted sections.

I don't personally know any modern BASIC, but I recently watched my
son use one just before he left school (I think it was called
something like GFA BASIC) on an Atari (he also knows C, C++, Pascal,
and some other languages). It seemed to be very good for his
purposes, i.e. developing graphical software.

It is quite clear that for certain purposes Basic has advantages
similar to Pop-11, i.e. very rapid development, prototyping,
debugging because it is essentially an interactive language (like
Lisp, Prolog, Logo, ML, and various others, and unlike C, C++,
Pascal, Ada, etc.)

I don't know of any versions of BASIC that have the full facilities
of Pop-11 or Lisp, (all the data-types, garbage collector,
convenient list processing syntax, etc.) but for applications where
those facilities are not needed I would expect a well-structured
BASIC to be a better language for software development and testing
than certain other more widely used languages!

However, it's ultimately up to the people who do the actual work.
The difference in productivity between the very best programmers and
the average ones is enormous, and I suspect that the language they
use makes only a marginal difference by comparison. This could be a
topic for interesting research, except that it is totally infeasible
to get some brilliant programmers to learn and use a new language
for several months just for the sake of experiment.

Aaron
--
-- 
Aaron Sloman, School of Computer Science,
The University of Birmingham, B15 2TT, England
EMAIL   A.Sloman@cs.bham.ac.uk  OR A.Sloman@bham.ac.uk
Phone: +44-(0)21-414-3711       Fax:   +44-(0)21-414-4281
From: lpb@cs.bham.ac.uk (Luc Beaudoin)
Newsgroups: comp.lang.pop
Subject: User stack overflow: Detecting the culprit
Keywords: stack
Date: 22 Nov 92 14:41:57 GMT
Organization: School of Computer Science, University of Birmingham, UK



Does anyone out there have tools for detecting the source of user stack
overflow (I take "stack overflow" to mean having unintended items on the
stack)? (I'm not looking for a piece of hardware that video records the
programmer, the real culprit :).)Particularly useful would be a utility
which, for every item currently on the stack, keeps track of which
procedure left the item there. Given such a utility, one could ask it
who is responsible for the Nth item on the stack.

Thanks,

Luc
-- 
-------------------------------------- -----------------------------------
Luc Beaudoin                          |  School of Computer Science
E-mail: lpb@cs.bham.ac.uk             |  University of Birmingham
voice:  +44 (21) 414-4766 or 3743     |  Birmingham B15 2TT, UK
Newsgroups: comp.lang.pop
Followup-to: comp.lang.pop

In article ... yatesbd@pharm.med.upenn.edu (Brian Yates) writes:

   It is post office protocol, and is intended to run on a UNIX platform.  

Not in this newsgroup, it's not.
--

Regards, "I know three kinds: hot, cool, and 'what time does the tune start?'".
Kers     [The Beiderbeck Connection]
Xref: sparky comp.lang.pop:38 alt.lang.basic:838
From: jskaggs@slate.mines.colorado.edu (JoJo was a man...)
Newsgroups: comp.lang.pop,alt.lang.basic
Subject: Re: Ok, so pop *pop* may be a valid lang, but where's basic?
Date: 16 Nov 92 02:33:50 GMT
Organization: Colorado School of Mines

In article <BxoIzG.H94@access.digex.com> bruceg@access.digex.com (Bruce Garrett) writes:
>
>        Every now and then some idiot asks me why I stick with Basic and not
>learn to use "a Real(tm) language like [insert name of Real Language here]"
>and I respond politely that I'd rather swim in a pool full of rabid weasels.
>I have deadlines to meet.  If I wanted to spend my time generating or
>maintaining tens of thousands of lines of obscure obtuse and hard to debug
>source code I'd go work at a University or for the Government or somewhere I
>didn't have to show a profit for my time spent.
>
>        IF BasicKnowledge%(Opinion$) < 0 THEN Opinion$ = ""
>
>-Bruce Garrett
	Well said.  Basic, like any other language, can produce excellent
results, IF the programmer knows what he (or she) is doing.  It just
happens to be easier for a poor programmer to write bad code using basic
than it is for the same lousy programmer to write bad code in Pascal.
Flexibility is also Basic's strength.  You can force Basic to do things
that Pascal, Modula, or Fortrash just will not do.

	As for my own personal programming in basic, I just won a
competition pot on by the Forging Industry Education and Research
Foundation with a project I did incorporating a QuickBasic program which
evaluates the effects of friction during metal forming processes.  The
program is tight (under 2,000 lines), and incorporates VGA Graphics to
produce research quality graphs.  Not bad for a silly undergrad, huh?

-Joe Skaggs


-- 
These opinions belong to me.  Any re-broadcast or re-transmission of these
opinions without the express written consent of the NJF (National Joe
foundation) is a violation of applicable copyright laws.
From: exs@cs.bham.ac.uk (Edmund Shing)
Newsgroups: comp.lang.pop
Subject: Re: FTP'able pop for MSDOS - GLOW
Date: 23 Nov 92 12:06:13 GMT
Distribution: comp
Organization: School of Computer Science, Birmingham Univ. UK


The article on GLOW can be found in the UK May 1992 issue of Byte
magazine, page 84UK-8. 

For those who haven't got access to this issue, I will give a very
brief summary, including quotes from the article:

-------------------------------------------------------------------

	"Glow Comes Out of the Dark" (Dick Pountain)


Inspired by POP-11, Glow is a powerful list-processing language for
MS-DOS. 

Glow, like its ancestor POP-11, is an interactive list-processing
language with a syntax that resembles Pascal or structured BASIC.
It supports loops as well as recursion, lists as well as strings, and
objects with multiple inheritance.

A major difference between it an POP-11 is that Glow employs strictly
lexical, rather than dynamic, scoping. This means that the visibility
of any object is governed by the program text (as in Pascal), rather
than the run-time environment.

MS-DOS Glow calls your own external text editor from inside Glow and
compiles directly from the editor, so long as it is not too large.

One difference is in definition of procedures: instead of POP's 

	define ... enddefine

Glow uses 

	def ... edef

Glow performs I/O via two streams called "source" and "sink" which you
redirect as necessary to real I/O devices, called IODEVS (e.g.
console,keyboard,stderr ...).


The first-release version of Glow that I have is stable, but has some
rough edges ... 

Glow is the BASIC of AI languages. 


Glow for Macintosh or MS-DOS with manual and user's guide, 69.95
pounds, from

	Andrew Arblaster
	NightOwl software
	Bollostraat 6
	B-3140 Keerbergen
	Belgium
	32-015-234871
	fax:32-015-234871


-----------------------------------------------------------------

So that's it folks,


Edmund
--
---------------------------------------------------------------------------
Edmund Shing			|  School of Computer Science
E-Mail: exs@cs.bham.ac.uk	|  University of Birmingham
'Chacun ses gouts'		|  Edgbaston
				|  Birmingham B15 2TT  UK.
---------------------------------------------------------------------------
From: cgra@btma74.nohost.nodomain
Newsgroups: comp.lang.pop
Subject: Re: PD Pop for the Mac?
Date: 20 Nov 92 10:40:36 GMT
Reply-To: cgra@btma74.nohost.nodomain ()


Or the Atari ST?

btw I _had_ heard of POP before. People who don't read the BCS Computer Journal
should try to conceal their ignorance not flaunt it :))
Newsgroups: comp.lang.pop,alt.lang.basic
From: jbm@hal.trl.OZ.AU (Jacques Guy)
Subject: Re: Ok, so pop *pop* may be a valid lang, but where's basic?
Organization: Telecom Research Labs, Melbourne, Australia
Date: Wed, 18 Nov 1992 02:42:54 GMT

tlhouse@nyx.cs.du.edu (fiver) writes:


>.. (come to think of it, they aren't much good either) .. is there any
>*serious* development being done in Basic anymore?  Not really .. if so,
>I'd like to know where .. 

Where? Artificial Intelligence Systems, Telecom Australia Research Labs.
Visual Basic. Cuts down on development time for user interfaces.   

Newsgroups: comp.lang.pop
From: ianr@syma.sussex.ac.uk (Ian Rogers)
Subject: Re: What's pop? (Post Office Protocol???)
Summary: No it isn't!!
Organization: University of Sussex at Brighton
Date: Thu, 19 Nov 1992 17:28:29 GMT

ignatios@theory.cs.uni-bonn.de (Ignatios Souvatzis) writes:
> Hm...
>
> the Post Office Protocol should be discussed in comp.PROTOCOLS.pop,
> not comp.LANG.pop... if comp.protocols.pop doesn't exist, try
> comp.protocols.internet or something similar.

Well it took a whole 5 days for the first one to come, which isn't
bad I suppose :-)

I guess I'm gonna have to put this in as the 0th item in the faq
(I've already got 4 others).

Here's the comp.lang.pop charter:

    The group would serve for discussions on the programming language
    Pop11, and related environments, libraries, languages and the Plug
    User Group.

    Relevant topics, in this group, would cover all aspects of Pop11
    programming (from novice questions to expert efficiency issues) and
    the current BSI standards effort (Pop9x), and how it relates to
    other languages of this type (e.g. GLOW, Pepper).

    Also relevant would be conversations about the Poplog programming
    environment and its libraries. Eg.

    OOP in Pop11 Flavours, or objectclass etc. and how they relate to
        other OOP languages (C++, CLOS etc.)
    X windows hacking in Pop11
    Mixed language programming (eg. between Lisp/Pop11/Prolog/ML/C etc.)
        that is supported in Poplog but isn't relevant for discussion in
        other, pure language, groups
    Techniques for Artificial Intelligence programming (it is an AI
        language after all :)

    and so on.

    The group would be gatewayed, at Univ. of Sussex, onto the mailing
    list for the industrial members with no internet access.

--
Ian Rogers - Research Fellow type person :)
School of Cognitive Science, Sussex University, Falmer, Brighton, UK
From: sfk@otter.hpl.hp.com (Steve Knight)
Date: Thu, 19 Nov 1992 19:09:42 GMT
Subject: Re: Yet another anoying feature of VED
Organization: Hewlett-Packard Laboratories, Bristol, UK.
Newsgroups: comp.lang.pop

I have my own setup which is similar to that outlined by Aaron Sloman
for the specific purpose of being able to start up with several files
at once as Tim suggests:

> > I would like to be able to start up ved with several files at once, doing:
> >
> > ved foo1.p foo2.p foo3.p
> >
> > (after a long pause)

I completely agree with Tim here.  Editing files with spaces in should
be accomplished through the usual mechanism of quoting the space e.g.
    ved 'silly name'
rather than creating an idiosyncratic argument interpretation as ved
currently has.  I've been running with the mechanism Tim asks for
and I have encountered no problems.  In fact, I'd post my code here
but it seems superfluous after Aaron's detailed exposition!

In fact, I agree so much with Tim, I'll submit a bug report on it ....

Steve
From: lpb@cs.bham.ac.uk (Luc Beaudoin)
Newsgroups: comp.lang.pop
Subject: Re: A little Pop history
Summary: welcome/introduction to this subject
Date: 16 Nov 92 16:23:54 GMT
Organization: School of Computer Science, University of Birmingham, UK


While we're on the subject of the history of Pop languages, I'd like
to say that, in my humble opinion, it was a mistake to call Poplog's
Pop, Pop-11; for if a different company produces a programming
system with a language called Pop-12, there is a great danger that
potential clients will tend to assume that it's better because it is
apparently newer.

Oh well, what's done is done.

Luc
-- 
-------------------------------------- -----------------------------------
Luc Beaudoin                          |  School of Computer Science
E-mail: lpb@cs.bham.ac.uk             |  University of Birmingham
voice:  +44 (21) 414-4766 or 3743     |  Birmingham B15 2TT, UK
From: sfk@otter.hpl.hp.com (Steve Knight)
Date: Thu, 19 Nov 1992 17:55:32 GMT
Subject: Re: Ok, so pop *pop* may be a valid lang, but where's basic?
Organization: Hewlett-Packard Laboratories, Bristol, UK.
Newsgroups: comp.lang.pop

Aaron Sloman writes:
> I don't know of any versions of BASIC that have the full facilities
> of Pop-11 or Lisp, (all the data-types, garbage collector,
                                          ^^^^^^^^^^^^^^^^^
Although Aaron doesn't explicitly say so, BASIC doesn't need a 
garbage collector because it adopts a philosophy of copying on
assignment.  This is a very expensive solution to avoiding GC
of course.  It also doesn't help when you add shareable store
to the language (e.g. Pascal pointers).

Steve

From: kers@hplb.hpl.hp.com (Chris Dollin)
Date: Tue, 17 Nov 1992 17:01:16 GMT
Subject: An example
Organization: Hewlett-Packard Laboratories, Bristol, UK.
From: yatesbd@pharm.med.upenn.edu (Brian Yates)
Newsgroups: comp.lang.pop
Subject: Re: What's pop? (Post Office Protocol???)
Date: 20 Nov 92 01:50:39 GMT
Followup-To: comp.lang.pop
Organization: U of Penn

It is post office protocol, and is intended to run on a UNIX platform.  It
serves pop mail client software such as Eudora (thanks to Steve
Dorner).  To use on a UNIX platform I think you need to
install 'popper' (on the UNIX platform).  That is where my knowledge of the
subject drops exponentialy, anyone?
Newsgroups: comp.lang.pop
From: ignatios@theory.cs.uni-bonn.de (Ignatios Souvatzis)
Subject: Re: What's pop? (Post Office Protocol???)
Organization: /home/theory/ignatios/.organization
	<ORLOFF.92Nov13131509@surya4.cern.ch>
Date: Thu, 19 Nov 1992 12:03:29 GMT

Hm...

the Post Office Protocol should be discussed in comp.PROTOCOLS.pop,
not comp.LANG.pop... if comp.protocols.pop doesn't exist, try
comp.protocols.internet or something similar.


--
	Ignatios Souvatzis
	ignatios@cs.uni-bonn.de souva@babsy.mpifr-bonn.mpg.de
From: diarmuid@uniwa.uwa.edu.au (Diarmuid Pigott)
Newsgroups: comp.lang.pop
Subject: FTP'able pop for msdos
Date: 16 Nov 1992 21:15:30 +0800
Organization: The University of Western Australia
NNTP-Posting-Host: uniwa.uwa.edu.au
X-Newsreader: Tin 1.1 PL5


Really the title says it all - is there an ftp'able version of POP-11 or
similar for MS-DOS? Efforts to find it through archie etc have failed.
(Or is it copyright and am I being dumb?)

Thanks in advance

Diarmuid
From: diarmuid@uniwa.uwa.edu.au (Diarmuid Pigott)
Newsgroups: comp.lang.pop
Subject: Re: FTP'able pop for msdos
Date: 21 Nov 1992 20:20:13 +0800
Organization: The University of Western Australia
NNTP-Posting-Host: uniwa.uwa.edu.au
X-Newsreader: Tin 1.1 PL5

Steve Knight (sfk@otter.hpl.hp.com) wrote:
: 
: Definitely called GLOW.  Definitely on the PC.  Reviewed in the UK section
: which is why no one spotted it.  

Ok, I'll bite. Is there a demo or whatever of Glow, or Karl or anything
that I can use on a (My god I'm sorry but I don't have any other
compouters so no smart-arse comments about the pros and cons of the
things) ms-dos computer.

Please?
From: axs@cs.bham.ac.uk (Aaron Sloman)
Newsgroups: comp.lang.pop
Subject: Re: A little Pop history
Summary: welcome/introduction to this subject
Date: 14 Nov 92 23:20:34 GMT
Organization: School of Computer Science, University of Birmingham, UK

jcl@deshaw.com (Jonathan Laventhol) writes:

Hello Jonathan

> A little history lesson for those on the net.
>
> There was a Pop1 but I don't know anything about it.
>
> Pop2 was a programming language developed at the University of
> Edinburgh (which is in SCOTLAND).
>
> The 'POP' of Pop11, Poplog et cetera, is a Robin Popplestone,
> who, last I knew, was working in a university in Boston.  I
> never asked him why it's not called Burst11, but there you go.
> The best original paper is 'The Design Philosophy of Pop2' (if
> I remember the title correctly), by Popplestone.
>
> There was no Pop3 to Pop10, to the best of my knowledge.

Pop10 was implemented for the PDP10 in Edinburgh by Julian
Davies and was used there and in various other places including
Toronto I think, for several years in the mid 70s.

> A Pop implementation at the University of Sussex (which is in
> ENGLAND) was called Pop11 after the PDP-11 it ran on.

It was implemented by Steve Hardy, now somewhere in California. He
called it Pop-11 because the PDP10 version had been called Pop10

> A better snippet:
> 	define recursivemember(item, list);
> 	var item, list, element;
> 		if list = [] then
> 			return(false)
> 		endif;
>
> 		for el in list do
> 			if el = item then
> 				return(true)
> 			elseif islist(el) then
> 				return(recursivemember(item, el));
> 			endif
> 		endfor;
>
> 		return(false);
> 	enddefine;

OOPS! You've been away from it a bit too long.

 	define recursivemember(item, list);
 	lvars item, list, el;

 		for el in list do
 			if el = item then
 				return(true)
 			elseif islist(el) and recursivemember(item, el) then
                return(true)
 			endif
 		endfor;

 		return(false);
 	enddefine;

    recursivemember("cat", [[the dog][a silly [black cat]] mouse]) =>
    ** <true>
    recursivemember("mouse", [[the dog][a silly [black cat]] mouse]) =>
    ** <true>
    recursivemember("dog", [[the dog][a silly [black cat]] mouse]) =>
    ** <true>
    recursivemember("house", [[the dog][a silly [black cat]] mouse]) =>
    ** <false>

Pop2, Pop10, ALPHAPOP (the Mac version), the PDP11 version of Pop-11
and early Poplog Pop-11 up to about 1984(?) had only dynamically
scoped variables ("vars"), like early lisp systems. From about 1984
Poplog Pop-11 had both dynamic scoping and lexical scoping of
variables ("lvars").
-- 
Aaron Sloman, School of Computer Science,
The University of Birmingham, B15 2TT, England
EMAIL   A.Sloman@cs.bham.ac.uk  OR A.Sloman@bham.ac.uk
Phone: +44-(0)21-414-3711       Fax:   +44-(0)21-414-4281
From: axs@cs.bham.ac.uk (Aaron Sloman)
Newsgroups: comp.lang.pop
Subject: Re: User stack overflow: Detecting the culprit
Summary: changing sysPUSH to record stack operations
Keywords: stack
Date: 22 Nov 92 16:20:06 GMT
Organization: School of Computer Science, University of Birmingham, UK

lpb@cs.bham.ac.uk (Luc Beaudoin) writes:

> Date: Sun, 22 Nov 1992 14:41:57 GMT
>
> Does anyone out there have tools for detecting the source of user stack
> overflow (I take "stack overflow" to mean having unintended items on the
> stack)? (I'm not looking for a piece of hardware that video records the
> programmer, the real culprit :).)Particularly useful would be a utility
> which, for every item currently on the stack, keeps track of which
> procedure left the item there. Given such a utility, one could ask it
> who is responsible for the Nth item on the stack.

The only thing I can think of is to sysunprotect("sysPUSH") (and
"sysPUSHQ") then redefine them so that if pop_stack_debugging is non
false then the new version, after calling the old version, plants a
call of a procedure that you could define (e.g. sys_pusher_of (??))
that stores information about the item on top of the stack and the
current caller, obtained either at run time using caller(0), or at
compile time by using the name of the procedure being compiled. The
latter would probably be best.

There may already be a global variable holding the name of the
procedure currently being defined. If not redefine sysPROCEDURE so
that it saves its first argument in an accessible global.

None of this will give you access to stack pushes produced by system
procedures.
Aaron
-- 
Aaron Sloman, School of Computer Science,
The University of Birmingham, B15 2TT, England
EMAIL   A.Sloman@cs.bham.ac.uk  OR A.Sloman@bham.ac.uk
Phone: +44-(0)21-414-3711       Fax:   +44-(0)21-414-4281
From: sfk@otter.hpl.hp.com (Steve Knight)
Date: Thu, 19 Nov 1992 18:42:11 GMT
Subject: Re: Ok, so pop *pop* may be a valid lang, but where's basic?
Organization: Hewlett-Packard Laboratories, Bristol, UK.