--- /dev/null
+(defmacro named-lambda (name args &body body)
+ `(labels ((,name ,args ,@body))
+ #',name))
+
+(defun reverse-list (&rest args)
+ (reverse args))
+
--- /dev/null
+(defmacro named-lambda (name args &body body)
+ `(labels ((,name ,args ,@body))
+ #',name))
+
+(defun reverse-list (&rest args)
+ (reverse args))
+
+(defun fake-repl ()
+ (do ((+eof+ (gensym)))
+ (nil)
+ (setf - (read *standard-input* nil +eof+))
+ (when (eq - +eof+) (return-from fake-repl))
+ (format t "~A~%" (eval -))))
+
+(setq *print-pretty* 'nil)
+(fake-repl)
--- /dev/null
+#!/usr/bin/perl
+use v5.14;
+use warnings;
+
+use Device::SerialPort;
+
+my $program;
+read STDIN, $program, 1000000;
+
+my $port = Device::SerialPort->new($ARGV[0] // '/dev/ttyUSB1') or die "$!";
+$port->baudrate(300);
+$port->parity('none');
+$port->databits(8);
+$port->stopbits(2);
+$port->handshake('none');
+
+$port->write_settings or die "$!";
+
+my $bytes_written = $port->write($program);
+my $bytes_to_write = length $program;
+die "Only wrote $bytes_written instead of $bytes_to_write" unless $bytes_written == $bytes_to_write;