[racket] Dr. Racket for iOS

1,961 views
Skip to first unread message

Gregory Gelfond

unread,
Nov 15, 2013, 5:41:49 PM11/15/13
to us...@racket-lang.org
Hi All,

I've been playing with Pythonista for iOS and it's quite a useful app. It got me thinking however. Are there any plans to bring Dr. Racket (or some analogous) tool for iOS?

Thank you kindly,
Gregory Gelfond

Gregory Gelfond

unread,
Mar 23, 2014, 6:20:50 PM3/23/14
to Grant Rettke, Racket mailing list
Not to my knowledge. 

On Sunday, March 23, 2014, Grant Rettke <g...@wisdomandwonder.com> wrote:
On Fri, Nov 15, 2013 at 4:41 PM, Gregory Gelfond <gelfon...@gmail.com> wrote:
> I've been playing with Pythonista for iOS and it's quite a useful app. It
> got me thinking however. Are there any plans to bring Dr. Racket (or some
> analogous) tool for iOS?

Was this answered elsewhere?

Bill Markmann

unread,
Mar 23, 2014, 7:35:57 PM3/23/14
to Gregory Gelfond, Racket Users
I'm not aware of anyone having done any work getting Racket to run on iOS.  If you are really interested in the general idea, though, there are some other Lisps/Schemes that folks have gotten to run on that platform.  Notably, I came across an article about developing a game for iOS using Gambit Scheme recently: 


I think they took the approach of compiling the (written in c) Scheme compiler / interpreter to target iOS.  Not sure how big of an undertaking it would be to do something similar with Racket (I'd assume not small).


____________________
  Racket Users list:
  http://lists.racket-lang.org/users


Grant Rettke

unread,
Mar 23, 2014, 2:45:41 PM3/23/14
to Gregory Gelfond, Racket mailing list
On Fri, Nov 15, 2013 at 4:41 PM, Gregory Gelfond <gelfon...@gmail.com> wrote:
> I've been playing with Pythonista for iOS and it's quite a useful app. It
> got me thinking however. Are there any plans to bring Dr. Racket (or some
> analogous) tool for iOS?

Was this answered elsewhere?

Stephen De Gabrielle

unread,
Apr 7, 2014, 3:20:13 PM4/7/14
to Gregory Gelfond, Racket Users
Hi,

I don't know how hard this would be to do, but there are some other
interesting things out there.
Some of the nice things in Dr Racket rely on the mouse. I'm not sure
how you would do 'Check Syntax' with a touch interface.

Anyway - this is my list of bookmarks:
----
Lisping
'Edit LISP's parse tree directly'/'Write Scheme and Clojure on your iPad'
"Lisping is an iOS Lisp editor which allows you to edit your source
code via the parse tree, an approach well suited to the iPad's
touchscreen." (see also 'Raskell: Haskell development environment for
iPad')
"Lisping uses TinyScheme 1.40. "
http://slidetocode.com/lisping/ http://slidetocode.com/
https://itunes.apple.com/gb/app/lisping/id512138518?mt=8
----
"Gambit REPL is a compact development environment for the Scheme
programming language based on the Gambit Scheme programming system.
Use it on iPhone, iPod touch and iPad devices to learn the Scheme
programming language. Hack scripts on the go!"
https://itunes.apple.com/gb/app/gambit-repl/id434534076?mt=8
----
Pixie Scheme III
http://www.jayreynoldsfreeman.com/My/Pixie_Scheme_III.html
https://itunes.apple.com/gb/app/pixie-scheme-iii/id401023057?mt=8
----
Codea (Lua): https://itunes.apple.com/gb/app/codea/id439571171?mt=8
I believe it has been used to make other apps.
---
A GLSL IDE https://itunes.apple.com/gb/app/glsl-studio/id481421644?mt=8
---
Python IDE's: many, but this one looks interesting
https://itunes.apple.com/gb/app/pythoni/id493505744?mt=8
----
Not an IDE [Doesn't run on iOS], but interesting.
LambdaNative is a cross-platform development environment written in
Scheme, supporting Android, iOS, BlackBerry 10, OS X, Linux, Windows,
OpenBSD, NetBSD and OpenWrt.
-- http://www.lambdanative.org

Kind regards,

Stephen

Neil Van Dyke

unread,
Apr 7, 2014, 5:29:20 PM4/7/14
to Stephen De Gabrielle, Racket Users
Rather than iOS-specific and Android-specific apps (either JVM-ish or
native code), I'd like to suggest focusing instead on targeting *HTML5
offline apps*.

I'm working successfully on HTML5 offline apps for technical software
right now, and I think HTML5 is a good way to go to get device
independence, at the same time as making the apps not necessarily
cloud-lock-in/spyware (like most mobile apps and services right now have
become).

On the impractical side, JavaScript is simply an awful language for app
development, for no good reason. (JavaScript was better as a tiny
script language for hooking up Java applets in Web pages, and it hasn't
evolved as well as it could've.)

So I'm seeing a few different ways that Racket could fit with offline
HTML5 apps:

* Just doing the app in HTML5 and JS, but use Racket on the server.

* Like #1, but use Racket as a compilation step to add something more
like macro facilities to HTML and JS.

* Write key app algorithms in Racket and have translated to JS. (Note:
This is for nontrivial algorithms. Practical JS is so intertwined with
DOM manipulation, and working with libraries/frameworks oriented towards
JS dumbness, that I'm not seeing benefit trying to generate all the JS
code from Racket, only select pieces.) (Incidentally, this might also
give you obfuscation, which sometimes you might want if the copyright
owner doesn't want to share source and give away rights to copy&paste
'derivative works' and such. But the main benefit is to write
algorithms in a real language rather than a scripting language.)

* Write entire app in Racket, forgetting about existing HTML5
frameworks, using Racket UI facilities (perhaps the same MrEd GUI and
eventspace stuff as used by DrRacket et al.). Have this compiled to JS
or a JS-implemented VM, together with DOM/CSS/canvas/etc. for the UI.
You could implement a large persistent filesystem that DrRacket sees
using HTML5 IndexedDB (and Web SQL on iOS, until they decide to join
everyone else with IndexedDB). Then you might be able to get the
existing DrRacket source to compile to this HTML5, and then run on all
the modern tablets in browsers and as offline apps, maybe with OK
performance.

I think Danny Yoo's Whalesong(?) might have much of the same idea as the
last option, but I haven't looked at it, and don't know how much of his
implementation could be reused for this somewhat different purpose.

Neil V.

Stephen De Gabrielle

unread,
Apr 8, 2014, 5:16:39 AM4/8/14
to Neil Van Dyke, Racket Users
Hi Neil,

I can't get past the idea that tablets are a terrible environment to
do development.
- screen to small & made smaller by on-screen keyboard
- limited resources(ram/flash/mhz/cores) compared to a cheap laptop

As for developing for tablets Whalesong is impressive.
'raphael-demo.html [src] Uses features of the JavaScript FFI to access
theRaphaelJS vector graphics library.' -
http://hashcollision.org/whalesong/
I'll be having a look at doing the same thing with d3 (http://d3js.org/ ).

LambdaNative is really interesting, but I wish it was the Racket, with
the JIT rather than gambit because I like Racket. Alas a fork is
beyond my skills. (and the Racket JIT would probably flatten the
battery of a tablet)

http://download.racket-lang.org/docs/5.1/html/raco/ext.html
LambdaNative
'LambdaNative is a cross-platform development environment written in
Scheme, supporting Android, iOS, BlackBerry 10, OS X, Linux, Windows,
OpenBSD, NetBSD and OpenWrt.' -- http://www.lambdanative.org


Kind regards,

Stephen

--
Stephen De Gabrielle
stephen.d...@acm.org
Telephone +44 (0)20 85670911
Mobile +44 (0)79 85189045
http://www.degabrielle.name/stephen

Neil Van Dyke

unread,
Apr 8, 2014, 6:21:44 AM4/8/14
to Stephen De Gabrielle, Racket Users
Some reasons/scenarios I see for doing DrRacket in HTML5 on tablets are:

* Stress-test the Racket HTML5 system: if DrRacket can run, most other
stuff should.

* Lots of people have tablets, and then they could use DrRacket on them.

* When Racketeers are waiting for the bus or whatever, instead of
playing another game of Angry Flappy Sudoku Ninja, they could play with
some idea in DrRacket. Maybe it is different than what they normally
work on when at a keyboard, and that can be good.

Most of my early Racket libraries, as well as Quack, were written from
parks and cafes and such, when I had a modest laptop and no Internet,
and I was very bored. Since that laptop had maybe 1/20 the CPU of a
typical tablet this year, and 1/500 the RAM, maybe some smart person
could get DrRacket running OK in HTML5 on ordinary tablets, so even more
people's boredom can be turned into Ideas That Evaluate.

Stephen De Gabrielle

unread,
Apr 9, 2014, 10:13:32 AM4/9/14
to Neil Van Dyke, Racket Users
You are right.

Does the WeScheme IDE fit the bill?  http://WeScheme.org/ 

I only just found it but I seem to remember stumbling across it in the past.

It looks like you get real racket, compiled on AWS?

It requires an internet connection and, at least for me, the documentation doesn't fit on the screen of my iPad mini, but I think they will be resolved if they move to the new racket documentation stylesheets.

Kind regards, 

Stephen

Inline image 2


--
Stephen De Gabrielle
stephen.d...@acm.org
Telephone +44 (0)20 85670911
Mobile        +44 (0)79 85189045
http://www.degabrielle.name/stephen


Neil Van Dyke

unread,
Apr 9, 2014, 12:18:57 PM4/9/14
to Stephen De Gabrielle, Racket Users

Stephen De Gabrielle wrote at 04/09/2014 10:13 AM:

Does the WeScheme IDE fit the bill?

WeScheme doesn't satisfy the first point quoted below.  As nice as it would be to have DrRacket itself as an offline app on all HTML5 devices, being able to compile a running DrRacket for this target also suggests that we can compile many other Racket GUI apps for this target.

Also, WeScheme requires not only an Internet connection, but a centralized cloud-based/privacy-unfriendly service like I mentioned earlier.  How WeScheme works made sense for the browsers available at the time and the classroom purposes to which it was put.  However, it does not make sense for a more general use app or app platform on a modern HTML5 tablet.

Neil V.

Mark Dymek

unread,
Apr 10, 2018, 8:36:26 AM4/10/18
to Racket Users
Has this been looked into again? Especially now that we have Swift playgrounds and the iPad Pro.

The iPad Pro would be my pc if only it had a racket/scheme programming environment. I’ve found a few gambit is no longer kept up to date meaning it’s not optimized for the Pro and iOS 11.

I firmly believe either this year or next we will see Xcode on the iPad and it would be a shame not to have lisp as well.

dexte...@gmail.com

unread,
May 5, 2018, 10:20:08 AM5/5/18
to Racket Users
Hi Gregory,

  I use LispCube (XLISP Scheme) and Gambit on iOS to design the code and test it, then email it to myself and compile in DrRacket with very few changes necessary. I'd love a DrRacket on iOS, or even a simple editor with the Racket compiler embedded.

Dexter
Reply all
Reply to author
Forward
0 new messages