caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: skaller <skaller@users.sourceforge.net>
To: David Brown <caml-list@davidb.org>
Cc: skaller <skaller@users.sourceforge.net>,
	Eric Dahlman <edahlman@atcorp.com>,
	caml-list@pauillac.inria.fr
Subject: Re: [Caml-list] Bug with really_input under cygwin
Date: 11 Mar 2004 14:24:06 +1100	[thread overview]
Message-ID: <1078975445.2452.87.camel@pelican.wigram> (raw)
In-Reply-To: <20040310041009.GA27787@davidb.org>

On Wed, 2004-03-10 at 15:10, David Brown wrote:
> On Wed, Mar 10, 2004 at 02:06:59PM +1100, skaller wrote:
> 
> > In MS-DOS, files *always* consist of a number of 256
> > byte blocks.

> Is this true with "modern" version of DOS?  FAT has a length-in-bytes
> field in the directory entry.

No, its not true in Windows 3 style DOS which uses the newer
FAT, eg my Win 98 box: however the point was simpler.
Unix' idea that a file is a sequence of bytes is simply
wrong. The abstraction is convenient on the surface,
but underneath its the wrong idea.

In fact the older IBM-DOS systems (I mean 360 machines
not PCs :) was and still is closer to reality: those
systems needed macros for every different kind of device.
VSAM files were quite different to Indexed Sequential
disk files (which were supported directly by HARDWARE
disk operations).

The thing is, abstraction is a tricky game. There's no
way you can sensibly abstract a graphics interface to a
file concept for example. Nor a sound card, etc.

My point isn't to be critical, so much as to indicate
that when one *does* try to be too abstract, something
is sure to be lost. For example 'length of channel' simply
doesn't make sense on non-storage devices. How long
is a terminal file?

Worse, 'length of channel' doesn't really make sense
on storage devices either. The actual stored length
is indeterminate and irrelevant if the data is compressed.
And the 'length read by the client' could be equally
meaningless .. consider the output from a database
select * statement ...

In other words, the length_in_channel problem is really
a symptom of an intractible problem: we need abstraction,
but there is never really any good one for something
like storage devices or I/O devices, because underneath
they're different.

The only real solution is Standards, and they're
not so good either :D

-- 
John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net



-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  parent reply	other threads:[~2004-03-11  3:20 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-09 22:30 Eric Dahlman
2004-03-09 22:52 ` Karl Zilles
2004-03-10  3:06 ` skaller
2004-03-10  4:10   ` David Brown
2004-03-10 13:14     ` Richard Zidlicky
2004-03-11  4:11       ` skaller
2004-03-11  3:24     ` skaller [this message]
2004-03-10 15:25   ` Nuutti Kotivuori
2004-03-11  3:42     ` skaller
2004-03-11  5:02       ` Nuutti Kotivuori
2004-03-11 15:21         ` skaller
2004-03-11  6:32       ` james woodyatt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1078975445.2452.87.camel@pelican.wigram \
    --to=skaller@users.sourceforge.net \
    --cc=caml-list@davidb.org \
    --cc=caml-list@pauillac.inria.fr \
    --cc=edahlman@atcorp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).