From 6bdc0c985a78b063d88f87572c7bf667838c0fc1 Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Sat, 14 Sep 2024 13:53:03 +0200
Subject: LOCO: references and wording

---
 papers/LOCO-24/contents.latex | 56 +++++++++++++++++++++++++------------------
 1 file changed, 33 insertions(+), 23 deletions(-)

(limited to 'papers/LOCO-24/contents.latex')

diff --git a/papers/LOCO-24/contents.latex b/papers/LOCO-24/contents.latex
index c87c992..604b4bc 100644
--- a/papers/LOCO-24/contents.latex
+++ b/papers/LOCO-24/contents.latex
@@ -285,7 +285,7 @@ Computing}{December 05, 2024}{Glasgow, Scotland, United Kingdom }
   The \textit{Lisp} family of languages have proven to be flexible and powerful
   for system design \cite{LispMachine:Greenblatt} and particularly
   \textit{Scheme} has a long history of research in language and CPU design
-  (lambda papers).
+  \cite{Lambda:Steele}.
 
   The nature of the Lisp family of languages also makes them suitable as file
   formats (sxml) for storage and configuration files, writing DSLs (language
@@ -304,9 +304,9 @@ Computing}{December 05, 2024}{Glasgow, Scotland, United Kingdom }
   facilities.
 
 \subsubsection{Capability based security "lambda-style"}
-  Most modern computers do not have more than a single user,
-  but they preserve an antique user management system, inherited from Unix,
-  recycled for program permission.
+  Most modern computers do not have more than a single user, but they preserve
+  an antique user management system, inherited from Unix, recycled for program
+  permissions.
   3L \cite{3L:Hintz} explored an OS where permission control is reduced to
   \textit{environments} with access to a limited set of bindings
   \cite{securityKernelLambda:Rees}. A program can only access the bindings
@@ -325,15 +325,17 @@ Computing}{December 05, 2024}{Glasgow, Scotland, United Kingdom }
   Unix-style concurrency, reinforced by modern \textit{multi-core} CPU design
   and threads, is hard to reason about\cite{Threads:Lee}. A multitasking system
   can be approached in terms of \textit{Scheme}'s
-  \textit{continuations}\cite{ContinuationsConcurrency:Hieb}.
+  \textit{continuations}\cite{ContinuationsConcurrency:Hieb}, embracing its
+  first-class constructs.
 
 
 
 \subsection{Computer hardware that embraces the language}
   Attempts have been done to run Scheme in a bare-metal environment using
-  commodity hardware\cite{MIMOSA:Yvon} [LOKO], but they do not take advantage
-  of hardware optimized for \textit{Scheme}, which would provide huge
-  performance benefits and simplify the interpreter and possibly also the CPU.
+  commodity hardware\cite{MIMOSA:Yvon}\cite{Loko:Weinholt}, but they do not
+  take advantage of hardware optimized for \textit{Scheme}, which would provide
+  huge performance benefits and simplify the interpreter and potentially the
+  CPU.
 
 \subsubsection{Optimization for tree structures}
   \textit{Scheme} is profoundly based on the \textit{cons cell}, similar to a
@@ -348,21 +350,26 @@ Computing}{December 05, 2024}{Glasgow, Scotland, United Kingdom }
   \textit{Scheme} supports many paradigms but the basis of the language is the
   expression reduction, in opposition to imperative language, where the basis
   is the \textit{statement}, that matches current processor architectures
-  better. This opens the door for optimizations like those applied in current
-  \textit{Scheme} interpreters but in a hardware level. [REDUCER CPUs]
+  better. This opens a full research area, that was mainly abandoned after the
+  modern CPU architectures flooded the market, but has a long
+  history\cite{LiberateFromVonNeumann:Backus}.
 
 \subsubsection{Hardware garbage collection}
-% TODO LANGUAGE
   When the whole system uses managed memory, the Garbage Collection,
-  \textit{GC}, can be pushed down in the stack. Oberon\cite{Oberon:Wirth} and
-  MIMOSA \cite{MIMOSA:Yvon} propose a OS-level GC, but it can be done directly
-  in hardware[HARDWARE GC], reducing the requirements of the OS and the CPU.
-
-\subsubsection{FPGA}
+  \textit{GC}, can be pushed down in the stack. Both Oberon\cite{Oberon:Wirth}
+  and MIMOSA \cite{MIMOSA:Yvon} propose Garbage Collector as part of the
+  Operating System. A computing device that embraces \textit{Scheme} in its
+  core may take a more radical approach and involve the hardware in the Garbage
+  Collection process. Hardware assisted GC has been proven to improve the
+  performance of managed memory in von Neumann style processors
+  \cite{HWAssistedGC:Maas} and Lisp Machines\cite{LispMachine:Greenblatt}.
+
+\subsubsection{Exploration via reconfigurable Hardware}
 % TODO LANGUAGE
   SKIM \cite{FPhardware:Stoye} tries to go for custom hardware, with a
-  functional programming language. Instead of making real machines, we could
-  just go for FPGAs, they are powerful nowadays, and we could do it
+  functional programming language and there have been more attempts
+  \cite{LiberateFromVonNeumann:Backus}. Instead of making real machines, we
+  could just go for FPGAs, they are powerful nowadays, and we could do it
   incrementally, as our language is simple and can be represented using
   imperative CPUs.
 
@@ -375,9 +382,9 @@ Computing}{December 05, 2024}{Glasgow, Scotland, United Kingdom }
   Language, \textit{HDL}, is provided with the system and the Operating System
   has support for Partial and Dynamic Reconfiguration\cite{FPGAReconf:Vipin},
   the whole system can be updated together, improving the OS and the needed
-  hardware at the same time. A \textit{rollback}[GUIX/NIX] mechanism could
-  always recover the state of both hardware and software as if they were the
-  same thing.
+  hardware at the same time. A \textit{rollback} system\cite{Guix:Courtes}
+  could always recover the state of both hardware and software as if they were
+  the same thing.
 
   The FPGAs are more power hungry and not as fast as ASICs but
   the reduction of complexity proposed in this paper should be enough for
@@ -397,8 +404,11 @@ Computing}{December 05, 2024}{Glasgow, Scotland, United Kingdom }
   The cited literature demonstrates systems with a similar level of
   simplification to the one proposed in this document can be implemented and
   maintained by a single individual, meaning that the proposed computing system
-  would be possibly created and maintained by anyone, while keeping it secure,
-  accessible and bootstrappable if carefully designed.
+  would be possibly created and maintained by anyone, down to the hardware,
+  while keeping it secure, accessible and bootstrappable if carefully designed.
+
+  %% TODO: mention FPGAs are commodity hardware today, and don't require
+  %% special manufacturing facilities: autonomy and sovereignty
 
   %% TODO: only if cite vernacular programmers properly
   Literature also supports that extending the reach of the language enriches
-- 
cgit v1.2.3

