[plt-scheme] Re: Look at it differently: Why PLT?
On Nov 19, 12:37 pm, "Greg Woodhouse" <gregory.woodho... at gmail.com>
wrote:
> There is a lot of discussion going on here about how many PLT users wish it
> would conform more closely to R6RS. As someone working in two arenas where
> standards are especially important (healthcare and government), I can't help
> but be sympathetic. Indeed, I'd like to be able to use PLT Scheme for
> production work, and not conforming with existing standards is a major
> impediment there.
>
> That being said, everyone on this list is using, or at least interested in
> using, PLT Scheme. Why?
There are several reasons I use PLT Scheme:
PLT Scheme is a Lisp. Many of the reasons that Lisp is a great
programming language are shared with PLT Scheme.
PLT Scheme has a very useful, big set of libraries not found in other
Scheme implementations, and that can't be ported to other Scheme
implementations because of PLT's module architecture and other
features. These libraries implement important features that allow
me to express ideas with simpler code.
I find PLT's interactive environment to be more useful than the
static environments provided by Chicken, Stalin, et al.
The other interactive Schemes tend to be interpreters with no C
function interface (Guile, MIT Scheme, Scheme 48), making things like
database support nearly impossible.
Even though "phase levels" cripple PLT Scheme's macro system in
frustrating
ways (forcing unwanted complexity into my code), many other Schemes
are even
more crippled when it comes to macros, having no support at all for
syntax-case macros.
Even though PLT Scheme provides an interactive development
environment,
programs written with it can be compiled to regular executables that
load quickly. This is so important to my project, that the fact that
SBCL is better than PLT Scheme in every other way doesn't matter
enough
to make me switch to it.
Even with all the power offered by PLT Scheme, it's still dead simple,
as long as you don't try to do anything too fancy with macros, and
as long as you don't think you should be able to use libraries that
use set-car! and set-cdr!. The module system is far easier to figure
out (when it comes to non-macro code) than Common Lisp's ASDF. There
is good online documentation, even for older versions of PLT Scheme.