Applications of Scheme/Questions about Scheme 
Author Message
 Applications of Scheme/Questions about Scheme

Hello,
I am a novice here, so I'm sorry if something is inappropriate/silly.
I'm a freshman at UC Berkeley/EECS and I looked our textbook, the
classical SICP, trough. Though the language doesn't seem as alien as it
did before, I still question it's applicability in a real life,
commercial software. Are there any examples of such projects?
Another question, more about Scheme itself: how notion of environment in
Scheme as store of procedures is related to notion of package,
namespace, project, etc., and is there any easy to use commands
(preferably GUI) for Save/Open type operations?

Thank you for your help,

Eugene



Sat, 02 Feb 2002 03:00:00 GMT  
 Applications of Scheme/Questions about Scheme

Quote:

> Hello,
> I am a novice here, so I'm sorry if something is inappropriate/silly.
> I'm a freshman at UC Berkeley/EECS and I looked our textbook, the
> classical SICP, trough. Though the language doesn't seem as alien as it
> did before, I still question it's applicability in a real life,
> commercial software. Are there any examples of such projects?

My employer had funded me writing various tools in Scheme, using
Guile[1] and Bigloo[2].  The largest one is a makefile generator to
help us manage our Docbook based SGML documentation system for all of
our projects.  Another larger application I have used scheme for is an
SGML Grove builder, which I've used to put together various SGML
processing tools.

The language as described in R5RS[3] is indeed sparse.  This is an
advantage as well as a disadvantage tho.  My SGML Grove builder can
run in many different environments because it's portable across many
different Scheme implementations.  The language as provided by some of
the Scheme implementations can be much more featureful and useful.
Bigloo for instance is a very capable system, intended to replace C++
as a development tools in many situations.

As a professional programmer, I would urge you to take a step back
from evaluating Scheme and other languages as "practical" or
"applicable" when your goal is to learn to program.  The concepts
behind constructing a program, maintaining them, abstracting data and
process, and reading them are much more important at that point than
learning the most popular or "applicable" language, the one that all
the commercial coders are stuck with.  Scheme and Lisp, as well as
languages which will be even more alienating when you first meet them
(Standard ML, Prolog) all have important things to teach you about
programming, even if they are not "applicable" to what you prsently
thinkg programming is about.

Quote:
> Another question, more about Scheme itself: how notion of environment in
> Scheme as store of procedures is related to notion of package,
> namespace, project, etc., and is there any easy to use commands
> (preferably GUI) for Save/Open type operations?

You seem to have confused your IDE with the language. STklos[4] and
Bigloo both provide GUI toolkits.  Others on the group will be able to
give you more pointers to Scheme impelementations with nice IDEs.

I don't understand what you mean by environments "as stores of
procedures".  Could you elaborate?

There is no standard package or module system for scheme, but most
implementations provide one.  These module system control the
environment that your code is evaluated in, namespace control if you
will.  The also provide "package" mgmt. in terms of linking in other
modules.

Links:
[1] Guile - http://www.red-bean.com/guile
[2] Bigloo - http://kaolin.unice.fr/~serrano/bigloo/bigloo.html
[3] Scheme R5RS - http://www-swiss.ai.mit.edu/~jaffer/r5rs_toc.html
[4] STklos - http://kaolin.unice.fr/STk

More Scheme info:
http://www-swiss.ai.mit.edu/scheme-home.html

--

Free Scheme/Lisp Software     http://www.red-bean.com/~craig
I say woe unto those who are wise in their own eyes, and yet
imprudent in 'dem outside                            -Sizzla



Sat, 02 Feb 2002 03:00:00 GMT  
 Applications of Scheme/Questions about Scheme

Quote:

> I am a novice here, so I'm sorry if something is inappropriate/silly.
> I'm a freshman at UC Berkeley/EECS and I looked our textbook, the
> classical SICP, trough. Though the language doesn't seem as alien as it
> did before, I still question it's applicability in a real life,
> commercial software. Are there any examples of such projects?

I'm sure there are commercial projects using Scheme, I don't have one
to cite though.  Another dialect of Lisp, Common Lisp, was just honored
indirectly by NASA.

Remote Agent (implemented in Common Lisp) just received NASA's 1999
Software of the year award (the honor was shared with another project
Genoa).  Note: It's exciting that Common Lisp was used here, but of
course I'm not trying to slight the brilliance of the programming team
behind this.  Here's an excerpt from the press release:

  The second winner, Remote Agent, is a giant leap in the world
  of artificial intelligence. It is the first software package ever
  used to autonomously control a spacecraft: Deep Space 1. NASA
  scientists gave the software package primary command of the
  spacecraft for three days in May and it more than met
  expectations. The software detected, diagnosed and fixed problems,
  showing that it can make decisions to keep a mission on track.

  This capability will reduce the cost of future spacecraft
  operations as computers become "thinking" partners along with
  humans. Remote Agent is a precursor to self-aware, self-controlled
  robots, exploring rovers and intelligent machines that previously
  have existed only in science fiction. Remote Agent was jointly
  submitted by NASA's Ames Research Center in Moffett Field, CA, and
  Jet Propulsion Laboratory in Pasadena, CA.    

  The NASA award is the largest award for software excellence
  in the United States. The winners were selected from 50 entries
  representing more than 150 corporations, universities, and
  government laboratories.

For the full press release and more information

  ftp://ftp.hq.nasa.gov/pub/pao/pressrel/1999/99-090.txt
  http://www.hq.nasa.gov/office/codei/swy99win.html
  http://rax.arc.nasa.gov/

You can find more cites of Common Lisp used in industry at
http://www.franz.com/ under the 'applications entry.

Quote:
> Another question, more about Scheme itself: how notion of environment in
> Scheme as store of procedures is related to notion of package,
> namespace, project, etc., and is there any easy to use commands
> (preferably GUI) for Save/Open type operations?

In addition to the fine packages Craig already mentioned, if you are
looking for a nice GUI I would highly recommend DrScheme,

  http://www.cs.rice.edu/CS/PLT/packages/drscheme/

I believe DrScheme is exactly what you are looking for, and
there are binary packages for numerous architectures/OSs.

-amcl



Sun, 03 Feb 2002 03:00:00 GMT  
 Applications of Scheme/Questions about Scheme


Quote:
> classical SICP, trough. Though the language doesn't seem as alien as it
> did before, I still question it's applicability in a real life,
> commercial software. Are there any examples of such projects?

CodeSurfer is a commercial application which includes 30,000 lines of STk
code:

  http://www.grammatech.com/products/codesurfer/codesurfer.html

Paolo
--
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/



Sun, 03 Feb 2002 03:00:00 GMT  
 
 [ 4 post ] 

 Relevant Pages 

1. writing scheme application extensions in scheme

2. Need comparison between Bigloo scheme, MIT-sheme,PLT-scheme

3. Scheme/Dylan incompatibilities (Dyllo as a Scheme library)

4. scheme/lisp syntax [Re: scheme]

5. scheme->c and other scheme derivative functionality

6. Scheme Interpreter in Scheme

7. Scheme in Scheme

8. Translations from Scheme to C++ as aid to teaching C++ after Scheme

9. Scheme project: SQL in Scheme, good idea?

10. PC-Scheme like Scheme for OS/2

11. Better Scheme in OS/2 than X-Scheme?

12. UNIX scheme vs MSDOS scheme

 

 
Powered by phpBB® Forum Software