 }
 
 object *newsymbol (symbol_t name) {
-  for (int i=WORKSPACESIZE-1; i>=0; i--) {
+  for (int i=0; i<WORKSPACESIZE; i++) {
     object *obj = &Workspace[i];
     if (symbolp(obj) && obj->name == name) return obj;
   }

/* uLisp AVR Version 3.4 - www.ulisp.com
   David Johnson-Davies - www.technoblogy.com - 5th December 2020

   Licensed under the MIT license: https://opensource.org/licenses/MIT
*/

  return (c != 0) ? c : -1; // -1?
}

void loadfromlibrary (object *env) {
  GlobalStringIndex = 0;
  object *line = read(glibrary);
  while (line != NULL) {
