HDTenEightyP/NetNews huggingface dataset:
From: raman@cs.cornell.edu (T. V. Raman)
Newsgroups: comp.lang.lisp
Subject: Freezing a variable: how?
Keywords: Freezing variables: Declaring as constant from here on after:
Date: 28 Aug 92 15:53:35 GMT
Article-I.D.: cs.1992Aug28.155335.12562
Organization: Cornell Univ. CS Dept, Ithaca NY 14853


 In common lisp Lucid 4.1 I would like to have the following:

After an initial setup phase, I would like to declare a variable as
being unmodifiable.  The constant declaration clearly will not work,
since the setup functions do need to modify the variable.  At present
I am making sure that none of the other functions accidentally change
this variable later on, but I would like lisp to take over this
responsibility.  Is there a standard way of doing this?

Thanks,

--Raman
-- 
   T. V. Raman <raman@cs.cornell.edu>Tel: (607)255-9202  R 272-3649
                       Office: 4116 Upson Hall,
Department of Computer Science, Cornell University Ithaca NY 14853-6201
                Res: 226 Bryant Avenue Ithaca NY 14850
From: moore@cs.utah.edu (Tim Moore)
Newsgroups: comp.lang.lisp
Subject: Re: style-guide
Date: 28 Aug 92 17:47:53 GMT
Organization: University of Utah CS Dept
In-reply-to: pirinen@cc.helsinki.fi's message of 27 Aug 92 22:49:13 GMT

In article <1992Aug28.004913.1@cc.helsinki.fi> pirinen@cc.helsinki.fi writes:

[good comments, until...]

   The VALUES form is not a good indicator of how many values are being
   returned, especially when the values are just being passed through:
   (VALUES (FLOOR X Y)).  Why not just use comments? Commenting the
   arguments and return values of all functions external to a module is a
   good principle. 

Values aren't just being passed through here. The values form is a
normal function call, not some multiple-value-call construct. One
value, the first value returned by FLOOR, will be returned by VALUES.

See pg 181 of cltl2, which uses (values (floor ...)) as an example of
explicitly returning one value.

--
Tim Moore                    moore@cs.utah.edu {bellcore,hplabs}!utah-cs!moore
"Wind in my hair - Shifting and drifting - Mechanical music - Adrenaline surge"
	- Rush
Newsgroups: comp.lang.lisp
From: ram+@cs.cmu.edu (Rob MacLachlan)
Subject: Re: What do compilers optimize?
Organization: School of Computer Science, Carnegie Mellon
Date: Tue, 1 Sep 1992 16:30:08 GMT

>>Are there any implementations that do any of the following (or
>>something similar):
>>
>>  * Turn a CASE in which the alternatives are integers into
>>    an indirect transfer?
>
>Surprisingly, CMUCL doesn't do this optimization at all.

Yeah, it's on our list.  The utility of this optimization is reduced
somewhat in Lisp due to the tendency to represent "enumerations" as
symbols, but if the programmer goes to the trouble of using integers
(as in the byte-interpreter example), then we really ought to generate
a jump-table.

>
>>  * Use hashing for a CASE with many alternatives?
>
>Neither Symbolics, Lucid, nor CMUCL appear to do this.

It's a possibility I never thought of, which could be used to handle
CASE'ing off of symbols.  One approach would be to figure out a
perfect hashing function at compile time (based on the symbol's equal
hash, stored in the symbol).  This hash could be used as an index into
a jump table, and each table entry would only need to do an EQ test to
verify that the symbol is correct, branching off to the OTHERWISE case
if there is a mismatch.

>
>>  * Allow fixnums (or floats) to be passed between procedures without
>>    any heap allocations (maybe just for local procedures in the same
>>    top-level form)?

As Barmar says, in all the modern implementations I know of, fixnums
are "immediate", and don't need to be heap-allocated.  [This
terminology is confusing, since it is unrelated to the concept of an
immediate operand to an instruction.]

Within a block compilation unit, CMU CL supports non-consing register
passing of ([un]signed-byte 32), single-float and double-float values
as function arguments and return values.  CMU has START-BLOCK and
END-BLOCK proclamations which can delimit a compilation block smaller
than a file; entire files or multiple files can also be block
compiled.  The size of a block compilation is limited only by the
amount of memory needed for compilation.

  Robert A. MacLachlan (ram@cs.cmu.edu)
Newsgroups: comp.lang.lisp
From: travt@marsh.cs.curtin.edu.au (Tony Travers)
Subject: lcl problems
Summary: problems loading up clue under sun common lisp
Keywords: lcl clx clue sun
Organization: Curtin University of Technology
Date: Mon, 31 Aug 1992 03:03:33 GMT


hi

	I am having a few problems with clue under sun common lisp(lcl).
Whilst compiling clue (you need clx and pcl already loaded) the lisp
errors saying that export is an undefined function (note any command
typed after this is undefined ... including cons).  Can anyone tell me
what is going wrong, is it the package, my lisp, memory, me......??????



				Thanks 
					Tony Travers
					travt@marsh.cs.curtin.edu.au


	Please Note:
	
		clue - Common Lisp User interface Environment
		clx  - Common Lisp X interface
		pcl  - Portable Common Loops
		lcl  - Lucid Common Lisp


			Acronyms are a neccesary evil but we still have
			to communicate!
From: sef@sef-pmax.slisp.cs.cmu.edu
Newsgroups: comp.lang.lisp
Subject: Re: instructions for compiling cmu-cl
Date: 27 Aug 92 13:56:18 GMT
Organization: School of Computer Science, Carnegie Mellon


    From: yedidya@bimacs.BITNET (Yedidya Israel)
    
    Thanks to ted@NMSU.Edu that gave me the address cmucl-bugs@cs.cmu.edu.

I've tried responding to your post, but had trouble getting mail to you.
Since the answer to your query is perhaps of general interest, I will post
it.

First, the internet address for technical queries and bug reports about CMU
CL is indeed "cmucl-bugs@cs.cmu.edu".  All project members and some of our
more intense users read this list, and the right person will answer
(assuming we can get mail to you).

On your original query, you wanted to know how to recompile CMU CL for a
new platform other than the Sparc.  Well, there are some bootstrapping
tricks involved in recompiling the system -- we can elaborate if necessary.
But the larger issue is that you can't just recompile this thing for some
other CPU.

Unlike AKCL, CMU CL is not just a vanilla, machine-independent C program.
There's a native-code compiler, so porting to a new platform requires
writing a new compiler back-end, plus some low-level routines, plus maybe
some serious tuning and re-design of the internal data formats to get full
efficiency from a new platform.  William Lott, our chief porting wizard,
has got this down to a few weeks for RISC machines running something close
to Mach/Unix, but it would take considerably longer for anyone else.

Porting to other operating systems is also a hassle, since we depend on
some of the memory management facilities in Mach.  SunOS and OSF/1 have
these same facilities, more or less; Ultrix, the old HP/UX, and other
bsd-based Unix systems do not.  We could port to bsd, with some months of
effort and a lot of code reorganization, but since all these systems are
allegedly being phased out in favor of OSF or some other more modern
version of Unix, we've decided to wait and let the world come to us.  In
the case of DEC, there have been a lot of delays in getting out their
OSF-like version of Ultrix.

We haven't done a lot of ports because there aren't a lot of widely-used
machines out there with Mach/OSF-style operating systems, and because for
some of the ports that we could easily do (SGI Indigo, IBM RS/6000),
we don't have the hardware available locally to support a porting effort.
Several of our external users have asked about a NeXT port, but porting to
the Motorola 68K would be more difficult than porting to yet-another-RISC,
and of little long-term value if NeXT switches to a RISC CPU in the near
future.  In any case, we don't have any of those machines to work on
either.

So for now the selection is Sparc under SunOS and Mach, Decstation (MIPS
CPU) under Mach/OSF, and the old, slow IBM RT under Mach (which we happen
to have a lot of).

-- Scott
From: dh1@springs.cis.ufl.edu (Daniel Hay)
Newsgroups: comp.lang.lisp
Subject: Looking for home LISPs
Date: 27 Aug 92 18:53:49 GMT
Reply-To: dh1@springs.cis.ufl.edu (Daniel Hay)
Organization: U of Florida. Computer Science Dept.

I have heard a rumor that there is a home version of AKCL and/or
GCLisp available through FTP.  If anyone knows where I can get this,
or if someone knows this to be false and can tell me where I can
get a copy of either of these for myself (yes, legally, paid for,
and all that :) ) then please email me at dh1@reef.cis.ufl.edu
Oh yeah, I believe my instructor also required a compilable version
so any info about that would also be greatly appreciated.
*****Daniel
From: dnd@ee.man.ac.uk (Darryl Davis (RA))
Newsgroups: comp.lang.lisp,comp.lang.clos,comp.lang.misc,comp.object,comp.std.misc,comp.lang.scheme,comp.ai
Subject: yacc/bison Producing LISP
Date: 27 Aug 92 10:33:19 GMT
Reply-To: dnd@spec0.ee.man.ac.uk (Darryl Davis (RA))
Followup-To: comp.lang.lisp
Organization: Dept Electrical and Electronic Eng, Manchester University, UK

HELP!

We are using Lucid Common Lisp (v4.) for a number of reasons. One of the things
we need to do is produce an input parser. At the moment, the synatx for the the
input language is actually validated using yacc. And heres the cruch. Rather than
producing C, which i find tedious etc, and causes some problems in storing the
generated symbol tree at the Lisp level, (Where it is needed by other processes),
I need to have this parser written in Lisp. Other than getting hold of the source
code for Bison (GNY versions of yacc), and performing surgery on it, so it produces
a LISP-implemented parser, does anyone on the net  know of such an already existing
beast?

E-mail replies please. I will post back to this group any fruitful outcome.


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                    	>
   Dr. Darryl Davis                	>
                                    	>
   Multi-Media Laboratory		>
   Department of Electrical Engineering >   E-mail    	: dnd@spec0.man.ac.uk
   The University of Manchester     	>             
   Brunswick St                      	>   Phone     	: (+44)-61-275-4561
   Manchester M13 9PL               	>   FAX 	: (+44)-61-275-4512
                                    	>   
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
From: rgc@swlrau.msd.ray.com (RICK CARLE)
Subject: Re: Project Management with Ada
Organization: Raytheon Company, Tewksbury, MA
Date: Thu, 3 Sep 1992 12:59:33 GMT

remacle@software.org (Patricia Remacle) writes:
>I'm working on an Ada Software Development Handbook and am looking for two
>things.  One, any literature references for articles that describe what is
>unique about managing a software project using the Ada language (besides
>the fact that your sizing, cost and schedule estimates will be based on
>data related to Ada projects).  The other request is any information about
>project management tools geared toward Ada (we have REVIC).  You can send

First, the 2nd request - project management tools:
STSC, Software Technology Support Center, at Hill AFB in Ogden, Utah,
has an oustanding report on this subject.  Their Project Management
Tools Report is 200 pages, lists 150 tools, includes 1-page reports on
100 tools, and critiques 40.  It also includes 25 pages of domain
tutorial and analysis.  (I had no idea it was such a rich domain.)
The reports don't have an "Ada" field and, during a quick scan, I didn't
notice any mention of Ada.  STSC has produced several good reports,
including a couple with some Ada emphasis.  They also write an excellent
monthly journal, "Crosstalk."

STSC reports can be requested from:
	Software Technology Support Center
	Attn: Customer Service
	OO-ALC/TISE
	Hill AFB, UT 84056

STSC also has a bulletin board: 801-777-7553

2nd, the SEI wrote a report, "Ada Adoption Handbook: A Program Manager's
Guide," in 1987.  Report numbers are CMU/SEI-87-TR-9 and ESD-TR-87-110.
I think SEI has passed the responsibility of distributing its reports on
to DTIC & NTIS, so you might have to contact those agencies to get the
report.
Newsgroups: comp.lang.ada
From: davidk@mcil.comm.mot.com (David Kramer)
Subject: Re: Perry & Kaiser article (was: Ada 9x Dispatching Question)
Organization: Motorola Communications Israel Ltd., Tel Aviv
Date: Thu, 27 Aug 1992 07:25:41 GMT
Keywords: Ada Dispatching Polymorphism

In article <1992Aug25.160540.21034@inmet.camb.inmet.com>, stt@spock.camb.inmet.com (Tucker Taft) writes:

|> You might want to try to find an interesting article by DeWayne
|> Perry in an old issue of JOOP (I am afraid I have lost the
|> full reference -- perhaps some other newsey remembers?) that 
|> described the issue of testing a system built using inheritance.  

The article appeared in JOOP Jan/Feb 1990, and is entitled "Adequate
Testing and Object Oriented Programming". 

As a side note, I believe that when dealing with single inheritance
and with full data encapsulation an inherited operation
does not have to be retested in the derived class as long as that
operation doesn't invoke operations overiden by the derived class. 

-- 
[  David Kramer    INTERNET: davidk@mcil.comm.mot.com  ]
From: R_Tim_Coslet@cup.portal.com
Newsgroups: comp.lang.ada
Subject: Re: ADA question
Date: Sun, 30 Aug 92 12:46:03 PDT
Organization: The Portal System (TM)
  <1992Aug27.102951.8681@news.uni-stuttgart.de>
  <8363@sirius.ucs.adelaide.edu.au>

In article: <8363@sirius.ucs.adelaide.edu.au>
	andrewd@cs.adelaide.edu.au (Andrew Dunstan) writes...
>This is based on my original suggestion, but copies the string into a
>variable, which has to be done since "process" is now specified to
>take an in out parameter. Unfortunately, this involves the cost of copying
>the string, and if the code is called many times this cost can be substantial.
>Remember that we really wanted a string variable in the first place, and
>only used a constant because it meant we could decalre it without explicit
>constraints. To avoid the cost of copying, you could try this, although it
>won't necessarily work on all compilers:
>
> DECLARE
>    String_Const : CONSTANT String := My_String_Function;
>    String_Var : String (String_Const'RANGE) ;
>    for string_var use at string_const'address ;
> BEGIN
>    Process (String_Var) ; -- parameter's mode: IN OUT
> END ;
> 
>Now there is no copying, and no extra storage allocation. It's a bit gross,
>but it should work.

OUCH! Don't ever do this! It is expressly forbidden in the Ada LRM to use
the "for ... use at" clause for the purpose of overlaying data structures
on top of each other and the results are totally undefined (especially if
you are trying to overlay constants and variables... the constant might
have been placed in ROM by the compiler and linker in certain environments)!

                                        R. Tim Coslet

Usenet: R_Tim_Coslet@cup.portal.com
California could REALLY use 40 days and 40 nights of rain right now!
From: mzwick@vitro.com (Morris J. Zwick)
Newsgroups: comp.lang.ada
Subject: Re: translate Ada to C
Date: 2 Sep 92 17:37:20 GMT
Organization: Vitro Corporation

In article <1992Aug31.214606.5368@sei.cmu.edu> ae@sei.cmu.edu (Arthur Evans)
writes:
>A client with some algorithms expressed in Ada wants to translate them
>to C.  Has anyone information about any automation that will help in
>this process?  COTS solutions are preferred; anything is of interest.
>
>Reply to me; I'll summarize to the net.
>
>COTS = Commercial Off-The-Shelf.
>
>Art Evans
>----------------------------------------------
>Arthur Evans, Jr, PhD           Ada Consultant
>461 Fairview Road
>Pittsburgh PA  15238-1933
>412-963-0839
>ae@sei.cmu.edu
>

Blasphemy!! ;)

         ___________________________________________________________________
        /  Morris J. Zwick	                 Internet: mzwick@vitro.com
__     /   Vitro Corporation	             Voice:    (301) 231-2784
  \   /    14000 Georgia Ave.                ___________________________
   \ /     Silver Spring, MD 20906-2972      |"I don't want the world; |
    *                                        | I just want your half!" |
                                             |  - They Might Be Giants |
From: offer@spock.camb.inmet.com
Date: 26 Aug 1992 10:16 EDT
Newsgroups: comp.lang.ada
Subject: Re: Dynamic Task Creation/Control
Message-ID: <20600139@spock>
From: alex@cs.umd.edu (Alex Blakemore)
Newsgroups: comp.lang.ada
Subject: Re: Match function ?
Date: 25 Aug 92 17:49:04 GMT
Distribution: comp.lang.ada
Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742

In article <1992Aug25.164931.337@news.eng.convex.com> pelakh@convex.com (Boris Pelakh) writes:

# If you are working on an UNIX system, use the re_comp/re_exec functions from
# libc.a via pragma INTERFACE. Or. grab the optimized regex functions used in the
# gnu projects and rewrite them in Ada, thus getting rid of the copyleft.

if you do this, please post the Ada version
so we dont all have to reinvent the wheel.


-- 
---------------------------------------------------
Alex Blakemore alex@cs.umd.edu   NeXT mail accepted
Newsgroups: comp.lang.ada
From: yk7m@uvacs.cs.Virginia.EDU (Young-Kuk Kim)
Subject: Ada compiler on Mach OS
Keywords: Mach, i386/486
Organization: University of Virginia Computer Science Department
Date: Fri, 28 Aug 1992 20:03:26 GMT



Is there any Ada compiler running on Mach Operating System
(esp., i386/486 version)?

-- Young-kuk
Newsgroups: comp.lang.ada
From: kiae@chemfp.latg.lv (Alexander Kalinin)
Subject: Need telecomm package for msdos Ada
Reply-To: kiae@chemfp.latg.lv
Organization: Chemical Fibres Plant
Date: Mon, 24 Aug 92 20:49:45 +0300

Hello !

Now I'm  designing   UseNet  mailer  system  with communication facility
(like BBS). I think Ada with her multitasking  is  a best choice to code
it. I look a  PD  or SW  telecom package  realizing popular  interchange
protocols like   Z-modem or  other.  Please,   guide  me in  the   right
direction, where can I find this package.

Thank you very much.
-- 
Alexander Kalinin   /Chemical Fibres Plant, Daugavpils, Latvia/
e-mail: kiae@chemfp.latg.lv; (01354)42785; fax: (01354)45488
From: andrewd@cs.adelaide.edu.au (Andrew Dunstan)
Newsgroups: comp.lang.ada
Subject: ayacc patches?
Date: 2 Sep 92 04:50:26 GMT


I am trying to port ayacc to my system - meridian 4.1.3 on a Sun-4
platform. (No, I'm not using any dirty tricks :-) ). It compiles
ok, but does not produce sensible results - the state machine is
missing many of the transitions it should have.

The ayacc people suggest that it is a compiler problem. I seem to
remember some discussion of problems like this recently. Has anybody
done this port. What patches (if any) were necessary? (I have already
fixed the command line interface.)

Advice (by email) would be gratefully received.


-- 
#######################################################################
#  Andrew Dunstan                   #   There's nothing good or bad   #
#  Department of Computer Science   #   but thinking makes it so.     #
#  University of Adelaide           #                                 #
#  South Australia                  #          - Shakespeare          #
#  net: andrewd@cs.adelaide.edu.au  #                                 #
#######################################################################
From: dnsurber@lescsse.jsc.nasa.gov (Douglas N. Surber)
Newsgroups: comp.lang.ada
Subject: Re: Another Question about protected records
Date: 26 Aug 1992 18:45:23 GMT
Organization: Lockheed Engineering and Sciences

In <1992Aug25.175331.26911@inmet.camb.inmet.com> stt@spock.camb.inmet.com (Tucker Taft) writes:

>In any case, we are currently considering dropping the reserved
>word "record" completely from the syntax (and name) for protected types,
>so that the new syntax would be :

>   protected [type] identifier[discriminant_part] is
>     {protected_operation_declaration}
>   private
>     {protected_item}
>   end [identifier];

>where protected_item is either a protected_operation_declaration
>or a component_declaration.

Why the special case syntax for for a protected type? IMHO it would be
more economical to use the existing type specification syntax with the
addition of protected_type_definition as an alternative.

    type_definition ::=
        . . . as in Ada83
        | protected_type_definition

    protected_type_definition ::=
	protected identifier[discriminant_part] is
	  {protected_operation_declaration}
	private
	  {protected_item}
	end [identifier];

Thus a protected type would be defined as

    type Prot is
      protected
	...
      private
	...
      end Prot;

and a protected object would be

    Prot_Obj :
      protected
	...
      private
	...
      end Prot_Obj;

I don't see the need for a new basic_declaration production. Just my two cents.

Douglas Surber
Lockheed
Houston, TX
Newsgroups: comp.lang.ada
From: bt850@cleveland.Freenet.Edu (Anthony S. Galliford)
Subject: Memory deallocations in Meridian Ada 4.1 for PC
X-Disclaimer: These opinions are mine alone.
Reply-To: gallifd@orion.maths.flinders.edu.au
Organization: Case Western Reserve University, Cleveland, OH (USA)
X-Disclaimer-Disclaimer: They made me say that
Date: Fri, 28 Aug 92 00:14:55 GMT
X-Real-Organization: Flinders University of South Australia


Just a couple of questions about memory usage in Meridian Ada...

Firstly, when the & function is used, is the memory taken by the concatenated
string deallocated, and if so is it at the end of the statement, or the end
of the block?

Secondly, is there any way of telling when you are getting close to a
storage error? At the moment, when data is entered and a storage error
occurs, it is too late to recover nicely.

Anyone out there with any ideas? _Please_ let me know...

adv-THANKS-ance

Tony Galliford.
-- 
 _--_|\   Tony Galliford   bt850@cleveland.freenet.edu
/      \  Flinders University of South Australia, Australia
\_.-*._/  "As far as we know, our computers have never had
      v    an undetected error" - Union Carbide Corp.
From: dtg@wvnvms.wvnet.edu
Newsgroups: comp.lang.ada
Subject: Need info on Ada-Motif bindings
Date: 29 Aug 92 17:26:41 GMT
Organization: West Virginia Network for Educational Telecomputing

I need some info on Ada-Motif bindings.  If could provide me with any info,
please e-mail it to me at dtg@wvnvms.wvnet.edu.

Any and all info on this is appreciated (where to look, who to call etc.).

Thanks
Dave
From: jan@dutiag.tudelft.nl (Jan van Katwijk)
Newsgroups: comp.lang.ada
Subject: Handling interrupts on a 80X86
Summary: Attaching entries to interrupts does not
Keywords: Ada, MS-DOS, 80386
Date: 2 Sep 92 10:09:14 GMT


I am writing a program to read some of the controlbits from
the RS232 gate in my Toshiba 5100. The purpose is to process
facsimile and RTTY signals. In the C programme I had I attached
an interrupt routine to interruptvector 70H (the realtime clock)
which allowed me to sample the bits with a period of 1000 samples
a second. I rewrote the programme in Ada (meridian open Ada compiler)
and found that merely attaching an entry to an interruptvector
does not work for vectors dealing with hardware (= device) interrupts.
I need a way of calling the orginal interrupt handler (somewhere in
the bios), since the protocol used in the meridian compiler
apparently does not reset the interrupt. Writing my own resetcode
for the 8259 does not work either.

Has someone had the same experience? What is the cure?
jan van katwijk (I apologize for my mailaddress):
 jan@dutiag.tudelft.nl
.





t

xxXX





Newsgroups: comp.lang.ada