... if one scheme of happiness fails, human nature

    turns to another; if the first calculation is wrong,

   we make a second better ...

                                                  -- Jane Austen (Mansfield Park)

Pixie Scheme III: Information, Support, and Help

    This page provides information, support, and help for Pixie Scheme III, an implementation of the Scheme programming language for the Apple iPad™, available in Apple’s App Store.


    Pixie Scheme III is a nearly  complete “R5” Scheme. “R5” refers to the Revised5 Report on the Algorithmic Language Scheme (1998), edited by Richard Kelsey, William Clinger and Jonathan Rees: Pixie Scheme III contains almost all required features of R5 Scheme, plus many optional ones, plus many enhancements. The missing required features involve file-system access: The iPad does not allow general access to its file system, so it is appropriate that Pixie Scheme III also does not do so.


    Pixie Scheme III has a user interface like a magic slate from myth or fairy tale: Type a Scheme expression in the window, or use one that is already there. Mark the expression so it becomes highlighted, then press a button to tell the Scheme interpreter to process it. Pixie Scheme III will display the result in the next line. In brief, it looks like this:


          
   
   
   


                  Type ...                  Mark ...                     Push the button ...              Result appears.


The button to press will appear at the top right corner of the screen after you have marked the text. For more details, follow this link.


    Pixie Scheme III does text input and output by cut-and-paste with other applications. You may use any iPad editing app you like to create Scheme source code. Apple’s own “Notes” will do for simple stuff, and every iPad has it. Then select and copy your work, open Pixie Scheme III, and paste it in.  You can also cut and paste from any web page you can reach with Safari, or from your iDisk, if you have one.


    Pixie Scheme III saves text in its main window automatically, but cannot automatically save the content of Scheme main memory: To do that, push the “Save World” button in the “Features” pop-up panel, shown at the top of this page. For further details, look here.


    Pixie Scheme III has lots of in-app documentation about itself. Here are on-line copies:

   

                Pixie Scheme III Help File

                Pixie Scheme III Dictionary

                Pixie Scheme III “README” File


    If you have a problem, bug report, or question concerning Pixie Scheme III, send EMail to  Jay_Reynolds_Freeman@mac.com. If you cannot reach me by EMail, send paper mail to:


Jay Reynolds Freeman

Post Office Box 60628

Palo Alto, CA 94306-0628

USA


I am particularly eager to hear about any bugs in Pixie Scheme III, and about any enhancements or additions to the application that you would like to see in the future.


    Pixie Scheme III is one of a family of Scheme implementations for Apple products, that I have written. To learn about the others, go here.


    Source code for Pixie Scheme III is available for redistribution under the GNU General Public License, as part of a large release including source for other Scheme implementations. Links to use for downloading source code are on a separate page; to find them, click here. Note that to use the source code to prepare a version of Pixie Scheme III that will run on an iPad, you will have to use software provided by Apple and perhaps by other parties, with separate and additional terms of license and use, and possibly with fees to pay.



Advisories:


    Saved worlds work in only one version of Pixie Scheme III. Worlds from version 1.01 will not load

      into version 1.10, and so on. Be sure to save source code for all your work in a separate file, so

      you can cut and paste it into Pixie Scheme III when necessary.


    iOS 4.2.1 has a glitch involving the “+” character.  For example, open the iPad “Notes” app, and

      try selecting a “+”, or deleting it with the delete key. The “+” seems attached to the character

      that precedes it. This problem affects Pixie Scheme III, notably in parenthesis matching.

      I can’t fix this one, but I have filed a bug report with Apple.



Goodies:


    Here are some sample Scheme programs.  They are distributed with Wraith Scheme, my full Scheme for the Macintosh, but they work just as well in Pixie Scheme III.  Copy and paste them in, evaluate what you pasted, and try them out.  Directions for use are at the beginning of each file.


        Functional Programming  --  Set up Pixie Scheme III to do functional programming.

        Renaming Procedures  --  Make, e.g., “first” act like “car”.

        Sense Light Demonstrations  --  Oh, look at all the blinking lights ...



Looking Forward:


    I do read the reviews in the App Store, and I will read any EMail you send me. Let me know what you like, what you don’t like, and what you want. As I start working on new features, I will provide advance information about them here.



Known Serious Bugs in Pixie Scheme III:


    None known at present. If you should find any, by all means send me EMail.



Frequently Asked Questions:


Will there be a version of Pixie Scheme III for the iPhone or iPod touch?  Probably not -- their keyboards are

a bit tiny for serious typing, and their screens are kind of small. If you want one, tell me, but I make no promises. If you wish to port the source yourself, let me know -- maybe I can help.


If Pixie Scheme III is free under the GNU General Public License, why sell it for a price?  Supporting an app is costly: There may be more kinds of iPad, or other devices, that I will have to buy to test it on. Yet the source code for Pixie Scheme III is free, though you need Apple software to use it: With Xcode™ (free, but you need a Macintosh to run it on), you can build the application. If you are in Apple’s iOS Developer Program (not free), you can run your build on your own iPad.


Why doesn’t Pixie Scheme III save Scheme main memory when shutting down or going into background?  iOS gives apps five seconds to clean up on such occasions. In rare cases, Pixie Scheme III needs 30 seconds to save main memory, and runs out of time. I thought it better to let users do their own saving, than to create a “save” mechanism that usually worked but occasionally failed with no warning. There is a non-automatic way to save memory, though -- use the “Save World” button in the “Features” panel. Also, Pixie Scheme III automatically saves and restores the text in its window.


How can I display numerical output graphically?  Pixie Scheme III has no graphical display capability at present, yet if you have an iPad graphical-display application that can accept text data as input, you can probably get Pixie Scheme III to write out data in a suitable format.  If you need tab-separated data, note that although you cannot type “tab” characters into Pixie Scheme III, the app is perfectly capable of producing tabs as output, either via the #\tab character or embedded within a string, like this: “\t”.


Why the “III”?  Were there previous Pixie Schemes?  Yes. I wrote the original Pixie Scheme in the late 1980s, for the Macintoshes of the era. Pixie Scheme II is a recent design and development prototype for Pixie Scheme III, with similar functionality and user interface, but it runs on the Macintosh. I also wrote and maintain Wraith Scheme, a full R5 Scheme for the Macintosh. Details are here.


Why doesn’t Pixie Scheme III support saved documents?  The most common enhancement request for Pixie Scheme III that I have received has been for some kind of programming editor with an interface to documents – saved Scheme programs.  I have not implemented such a feature because of the substantial number of substantially different popular program editors.  I would have to support several, or look-alikes for several, to make users happy, and supporting even one decent program editor is no mean feat.


How is Pixie Scheme III doing?  As of the week ending 13 November 2011, almost exactly one year after first release, Pixie Scheme III had sold 707 copies worldwide.  Almost half – 334 – were to the United States.  The United Kingdom was second, with 61, followed by Japan (51), Germany (40), Canada (37), Australia (21), France (18), Russia (15), The Netherlands (12) and Norway (10).  All other sales were in the single digits, to a total of 43 nations (including those just mentioned) on six continents.  Sales during the latter part of Pixie Scheme III’s first year were running roughly ten units per week.


Are you Saurik?  No – though I have met him (we spent a while trying to decide which one of us was the evil twin) – and we are not related.  “Saurik” is an Internet handle used by another Jay Freeman, who is quite active as a developer for Apple portable platforms. Saurik is younger, handsomer, and more famous than I am, but I don’t think he has any Scheme interpreters out yet.  Seriously, I hope no word or deed of mine deprives him of any credit for his own work.


Where did the name come from?  Pixie was a cat.





                                                                    

 

Screen shot of Pixie Scheme III, showing pop-up access to features. The colored squares at lower left are “sense lights”, under user control via Scheme commands. See the on-line manuals (links below) for additional images and documentation.

i can haz scheme ...