On Sun, Jul 24, 2022 at 09:02:53PM +0200, Tomasz Rola wrote:
On Sat, Jul 23, 2022 at 08:00:10AM -0400, Dan Cross
wrote:
On Sat, Jul 23, 2022 at 7:20 AM John Cowan
<cowan(a)ccil.org> wrote:
[...]
> > An obvious approach, which would leave no real traces in documentation, would
be:
> >
> > $ awk '{print NR, $0}'
[...]
> > $ awk '{printf("%6d\t%s\n",
NR, $0)}'
[...]
> Yes, but awk wasn't widely available until
7th edition. I imagine work
> on it began before `num` in 2BSD, but few outside of Bell Labs would
> have seen it prior to 1978 or so.
[...]
$ cat c.lisp | sed -e '{=;}' | sed -e
'N;s/\n/ /'
Ok, so maybe this is no longer very interesting subject, but I
recalled there was once a language named SNOBOL.
Wikipedia says, sed was written around 1974 [1] and about SNOBOL it
says, the language was being taught [2] in the late 1960s and early 1970s
in universities, so I guess it was quite popular. I wonder if it was
ported to Unix early enough to help before sed became available?
Anyway, I have got Phil Budne's implementation [3] and after usual
drill (configure, make, make install, stow) I could do this:
$ snobol4 -b -L ./numlines02.sno < numlines02.sno
1 lnum = 0
2 loop lnum = lnum + 1
3 output = lnum " " input :s(loop)
4 end
The first version did not work so well:
$ snobol4 -b -L ./numlines01.sno < numlines01.sno | head -8
1 lnum = 0
2 LOOP line = INPUT
3 * Here: detect EOF (how?) and jump to : END
4 lnum = lnum + 1
5 OUTPUT = lnum " " line : S(LOOP)
6 END
7 END
8 END
As I already have understood, even after reaching end of input, the
INPUT statement keeps returning last line read, counter keeps
increasing and last line is being written out for infinity. I have not
read any serious docs on SNOBOL yet, so I have no idea how to make the
'01' version work, but this is of rather small importance to the list.
However, since [2] claims SNOBOL was written in Bell Labs, just like
AWK and sed, so perhaps they could be using SNOBOL?
[1]
https://en.wikipedia.org/wiki/Sed
[2]
https://en.wikipedia.org/wiki/SNOBOL
[3]
http://www.regressive.org/snobol4/
--
Regards,
Tomasz Rola
--
** A C programmer asked whether computer had Buddha's nature. **
** As the answer, master did "rm -rif" on the programmer's home **
** directory. And then the C programmer became enlightened... **
** **
** Tomasz Rola mailto:tomasz_rola@bigfoot.com **