Commit Graph

15 Commits

Author SHA1 Message Date
Lassi Kortela 0763a5df44 Add REPL history 2019-08-28 14:22:08 +03:00
Lassi Kortela 78b663d41d Add help and colored banner
- (help ...) is a macro that quotes everything to be user-friendly
- (help* ...) is the equivalent procedure
- When the user types just `help` or `exit`, the REPL shows a hint
  that they are probably looking for `(help)` or `(exit)`.
2019-08-28 14:07:50 +03:00
Lassi Kortela e0194112c5 Color the REPL prompt 2019-08-28 13:12:43 +03:00
Lassi Kortela 9047523588 Add crummy ANSI color routines
Output raw codes straight to the terminal, don't coordinate with anybody.
2019-08-28 13:10:37 +03:00
Lassi Kortela 777d882d9a Add sort, apropos, apropos-list 2019-08-28 13:01:02 +03:00
Lassi Kortela 219578cff9 Remove temp xwrite/x... and old princ/print 2019-08-25 23:27:59 +03:00
Lassi Kortela 08b4fe31ed Shake dangling princ/print references out of boot image 2019-08-25 23:25:44 +03:00
Lassi Kortela 33488d73cf Replace xwrite/xdisplay/xnewline with non-x names 2019-08-25 22:57:31 +03:00
Lassi Kortela 55cb24023b Make Lisp core use xwrite/xdisplay/xnewline 2019-08-25 22:07:38 +03:00
Lassi Kortela 5ced8d91f6 Store boot image inside main executable
Previously the boot image was kept in the separate file "flisp.boot".
This caused all kinds of problems, as bootstrapping is wont to do. The
biggest problem was finding a portable and convenient pathname for it.

Instead of dealing with all that stuff about how to find the file,
just store the image in a huge C string constant that goes into the
main executable. This necessitates adding a C-string hex dumper into
the Lisp system, and making build.sh slightly more complicated, but
that's a small price to pay for not having to carry a separate file
everywhere we go. Also, flmain.c is a lot simpler now and we don't
have to play around with symlinks.
2019-08-13 23:07:44 +03:00
Lassi Kortela 277abddaa8 Turn (import ...) into a macro to match Scheme syntax 2019-08-12 18:18:46 +03:00
Lassi Kortela 4c391d6d68 Brand as Up Scheme 2019-08-10 12:26:51 +03:00
Lassi Kortela 2ec07684d2 Get OS name from uname()
This implies that OS names have changed. Unix-like OS names are now
capitalized. "macos" is now "Darwin". Windows is now all-lowecase "windows".
"win32" is gone. "win64" was not used in the original code despite a reference
to it.
2019-08-10 00:35:16 +03:00
Lassi Kortela be9b2b364e Clean up whitespace
- Tabs to spaces
- Remove invisible whitespace at ends of lines
- Break or shorten long lines (not for all files)
2019-08-09 17:25:13 +03:00
Lassi Kortela aaf73c8439 Consolidate all Lisp files into scheme-* with .scm extension 2019-08-09 15:21:56 +03:00