Commit Graph

21 Commits

Author SHA1 Message Date
Lassi Kortela ad4ef08080 Remove unnecessary Emacs scheme markers
Emacs can auto-detect that .scm files use Scheme syntax.
2019-10-14 14:22:05 +03:00
Lassi Kortela e9998e31f1 Add #t/#f return value for apropos 2019-10-13 21:41:02 +03:00
Lassi Kortela 738f8bec62 Implement let-values
TODO: Support more than one set of bindings
2019-09-03 10:02:05 +03:00
Lassi Kortela 471d24ce38 Fix sort procedure in base system 2019-08-28 21:22:06 +03:00
Lassi Kortela 2d89603691 List nothing instead of everything in (apropos-list "") 2019-08-28 18:13:14 +03:00
Lassi Kortela 05c43c716c Reformat 2019-08-28 18:12:41 +03:00
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