Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Interpreter for the iPhone?

I'm interesting in making an interpreter for the iPhone. It will be an experimental idea but could be great. I like the idea of making my own language geared towards on-the-go computing and mathematics.

I've read around and I have seen mixed information about interpreters on the iphone. What will Apple allow?

I've seen this app which is a nice idea but doesn't work apparently - http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=415827304&mt=8&u1=web&affId=1860684

Thank you for any reply. In the meantime I'll produce some ideas for this language.

like image 643
Matthew Mitchell Avatar asked Feb 03 '11 20:02

Matthew Mitchell


People also ask

Can Siri be an interpreter?

Siri can translate words and phrases into about a dozen languages using the Translate app. The Translate app can also host a two-way real-time conversation in two different languages.

Does Apple have a translator app?

Pick Your Translator Google Translate is in its 15th year and available on the web, as a Chrome browser extension and as an Android and an iOS app. Apple released its Translate app last year for the iPhone and added it to last month's iOS 15 update for the iPad.


2 Answers

Apple started officially allowing programming language interpreters in the iOS App store late Q3 of 2010 (they changed their SDK agreement to clarify this). However interpreters (except for Javascript in a UIWebview) are not allowed to run any downloaded code. Only code built into the app, or typed in by the user.

There are 5 or more Basic interpreters currently available in the App store. They all require you to type in your Basic program.

If you create an interpreter, you might want to make sure it complies with the iOS SDK sandbox rules (doesn't allow file snooping outside the sandbox or attempts at spawning processes, etc.)

Update: Around June, 2017, Apple amending their Developer agreement, section 3.3.2, again, to allow educational programming apps to download and interpret certain kinds of code. The downloaded code has to be viewable and editable, can't modify more than 80% of the display, can't change the type of app, and can't have a storefront, etc.

like image 52
hotpaw2 Avatar answered Oct 18 '22 09:10

hotpaw2


I am the developer of Pixie Scheme III. It runs only on the iPad. Perhaps some comments about what it is and does would help other prospective developers of similar kinds of apps.

Pixie Scheme III is very nearly a full "R5" Scheme (that is, one that meets the standard specified by (Richard Kelsey, William Clinger and Jonathan Rees (editors), 20 February 1998. "Revised5 Report on the Algorithmic Language Scheme"). The only things required by the R5 report that Pixie Scheme III does not do involve the interface to files -- since the iPad does not allow general user access to its underlying Unix file system, I decided to go with the flow and live with that restriction.

Furthermore, Pixie Scheme III is open source (GNU GPL); Apple has had concerns about open-source stuff in the past.

Furthermore, Scheme is an extremely powerful general-purpose programming language.

So I admit I was both a bit surprised and much delighted that Apple accepted my app for the App Store. (I have been developing Scheme interpreters for years: I have released several shareware/open-source Scheme interpreters for the Mac.) I certainly met the restrictions about the app not downloading code, and I suspect that several other things I did may have helped:

  1. I did not include anything like an interface to the Unix "system" command, or to any other low-level Unix command not required by the R5 standard.
  2. I did not attempt any kind of interface to Apple's libraries for developing iPad apps -- Pixie Scheme III is text-based, both for input and for output.
  3. I spent quite a while trying to figure out a user interface design for the Scheme interpreter that appeared to match Apple's intended look and feel for iPad apps. (As you may imagine, Apple had no guidelines for how to develop a programming-language tool for the iPad.)

Anyhow, Apple did accept Pixie Scheme III, and has accepted one revision since the original. So on the basis of my experience I would say that there is hope for other interpreters and similar tools on the iPad and on other iOS devices.

Anyone who wishes further details is welcome to contact me by EMail.

And by the way, I should perhaps mention that despite the similarity of names, I am not "Saurik" ... :-)

like image 36
Jay Reynolds Freeman Avatar answered Oct 18 '22 08:10

Jay Reynolds Freeman