Because Lisp doesn&#x27;t have a flat memory model, you can&#x27;t directly produce a binary array suitable for direct copying to output device memory (ex. network card, GPU, etc) by simply expanding expressions using the built in syntax.<p>This means it&#x27;s necessary for LISPers to continually reinvent the input-output layer and add non referentially transparent features to the language borrowed from Java or C in order to do any useful work.<p>Doing so is also contrary to the ideals of functional programming however, so they will continually overthrow the established LISP to invent a new one.<p>edit: to downvoters, replace &quot;you&quot; with &quot;language runtime implementers&quot;, and understand that this is not a normative assertion, but a descriptive theory to explain why we have seen a huge number of non-interoperable Lisp\Scheme implementations with minor differences over the years.