

Gedanken: A Simple Typeless Language (1970) [pdf] - rutenspitz
https://pdf.yt/d/jHuhj9FsOC-o9Uap

======
abecedarius
[http://www.erights.org/history/morris73.pdf](http://www.erights.org/history/morris73.pdf)
is a great follow-up with more code in GEDANKEN.
[https://www.hackerschool.com/blog/46-paper-of-the-week-on-
un...](https://www.hackerschool.com/blog/46-paper-of-the-week-on-
understanding-data-abstraction-revisited) introduces a much more recent essay
exploring these ideas about procedural data structures.

------
pmcjones
This archive of GEDANKEN history includes a scan of the listing of Reynolds'
LISP implementation of GEDANKEN, and also his 1969 technical report with a
formal definition of GEDANKEN:

[http://www.softwarepreservation.org/projects/lang/GEDANKEN/](http://www.softwarepreservation.org/projects/lang/GEDANKEN/)

------
shaunxcode
Here is a non pdfy link: ftp://ftp.cs.cmu.edu/usr/jcr/gedanken.pdf

------
kensai
The predecessor of C was typeless as well.

~~~
techdebt5112
as is C

~~~
anacrolix
Almost

~~~
techdebt5112
it's sort of like trying to argue that "Whose Line" is not a game without
points. There are types there, but they don't matter at all. You can cast
anything to anything and it will never fail.

~~~
Eridrus
Not sure where I was reading this the other day, but types have two
advantages: abstraction and checking.

You can add a third one to that list: safety.

C has types in the sense that it allows you to do abstraction, and type
checking, but it doesn't enforce safety.

2/3 doesn't seem bad to me, especially for a systems language.

I'd say that Typescript is in a similar position, you can cast anything to any
type you want and there is no runtime check to stop you, but it helps you add
structure to your code.

Types do very much matter in these languages in practice, since you want to
very much want to avoid writing a giant mess.

~~~
vegedor
Of course C has safety features for the type system, warnings for problematic
casts, and structs that can't be cast unless specifically unionized and
explicitly ordered to.

