I'll give you my view as somone who uses PLT Scheme for developing substantial applications in PLT Scheme. Some of these answers may be 'wrong' from other people's perspectives.<br><br>1) What language should I choose?<br>
<br>The term language is somewhat overloaded (even within PLT Scheme itself), so I'll give a couple of different answers. I consider PLT Scheme to be a (not strictly proper) superset of R6RS - and I personally don't worry about the differences. From the perspective of the DrScheme language menu, I always choose 'Module' - I'll let the gurus explain the difference, but basically I see it as telling the IDE REPL evaluates everything in the context of a module. As far as the #lang tag-line, I use scheme or scheme/gui almost exclusively - occasionally I use scheme/base for simple modules. There are, of course, cases where some specialized language is required - like setup/infotab for info.ss files.<br>
<br>How do I include all those needed *libraries?<br><br>The require form is used to specify the libraries. For libraries included with the PLT distribution you use something like (require scheme/mpair) or (require web-server/insta) - see the PLT Scheme documentation for specific libraries. For libraries in planet, they look something like (require (planet williams/science/science)). See the documentation for the appropriate planet package.<br>
<br>How do you organize application that is split into several files?<br><br>Each module is a separate file - and vice versa. Use (require "module-filename.ss") to reference the specific file. PLT Scheme will correctly resolve the references and load the modules in a correct order - or tell you it can't if there are circular dependencies, for example.<br>
<br>Also, the contract system works very well with the module system to specify (and enforce) the function specification contracts for modules.<br><br>That is a very abbreviated discussion, but might get you started in the right direction. Browsing PLaneT may also help.<br>
<br>Doug<br><br><div class="gmail_quote">On Tue, Jan 19, 2010 at 11:13 AM, Slobodan Blazeski <span dir="ltr"><<a href="mailto:slobodan.blazeski@gmail.com">slobodan.blazeski@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><div>Coming from cl and after learning some Scheme I want to write some real world program in it and the PLT Scheme looks like a the best choice on windows with its nice and modern ide and ability to deploy the application as single executable which is a gift from heaven for me. However I'm completely confused about what language represent in PLT Scheme, is it posible to mix them and which one of them should I use for my application (R5RS, R6RS , Pretty Big, Swindle etc) . </div>
<div>At minimum I would need fallowing for my application:<br></div>1. PLT HTTP server <br>2. OO support (like TinyCLOS or something like that).<br>3. Some database bindings (like SqlLite, MySql, Postgre or whatever RDBMS flavor is available)<br>
<br>JSON-RPC would be nice but if its not available I'm ready to get my hands dirty and write it myself.<br><br>So my questions are:<br>What language should I choose ? <br>How to include all those needed *libraries* ? <br>
How do you organize application that is split into several files? (something like common lisp asdf)<br><br>thanks <br><font color="#888888"><br>Slobodan<br>
</font><br>_________________________________________________<br>
For list-related administrative tasks:<br>
<a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target="_blank">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>
<br></blockquote></div><br>