Subject: Re: OCaml: I am not impressed
From: rpw3@rpw3.org (Rob Warnock)
Date: Fri, 31 Oct 2003 07:56:31 -0600
Newsgroups: comp.lang.functional,comp.lang.lisp
Message-ID: <QRKdnY0yjq6S9z-iXTWc-w@speakeasy.net>
Erann Gat <gat@jpl.nasa.gov> wrote:
+---------------
| Every language I know seems to get along just fine overloading + for ints
| and floats (and others in many cases) ...
+---------------

Just as an aside -- for historical trivia purposes, not that it
really applies to this thread -- in the BLISS language data is
completely *untyped*, it is instead the *operators* which are typed,
exactly as it is in assembler languages. Thus BLISS's "+" is typed
(int x int) -> int, while BLISS's FADR (Floating ADd and Round) operator
is typed (float x float) -> float. The following code is a legal BLISS
expression[1], though probably not something anyone would want to do very
often:

	begin local a, b;
	  a := 1.0 fadr 1.0;		! that is, 2.0
	  b := .a + 1;
	  .b fsbr .a			! fsbr is floating subtraction
	end

On a machine with IEEE floating point, that block should yield a
value of roughly 2.38e-07...  ;-}

Though maybe this *does* have some applicability to this thread after all.
Oddly enough, practical exerience in BLISS showed[2] that "type errors"
were one of the *least* common sources of programmer error in BLISS code.
Much more common were misplaced/missing/extra dots (the "contents-of"
operator) and semicolons (which in BLISS are expression *separators*,
not statement terminators).


-Rob

[1] Note: "." is "contents of" operator. I have also taken the liberty
    of using ":=" to represent the BLISS assignment operator, since that
    was originally the ASR-33 back-arrow character, which codepoint ASCII
    replaced with underscore. ["b := .a + 1" is easier to read than
    "b_.a+1", yes?]

[2] I *think* the following paper may be where this was reported,
    but I'm not completely sure:

	Wulf, W. A., et al., "Reflections on a Systems Programming
	Language," Proceedings of the SIGPLAN Symposium on System
	Implementation Languages, Purdue University, October 197l.

    It may have been here:

	Wulf, W. A., "Systems for Systems Implementors: Some Experiences
	from Bliss," Proceedings of the FJCC, November 1972. 

    Or somewhere else entirely (such as a paper called "Why the dot?",
    which I can't find a reference to at the moment)...

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607