Re: [Haskell-cafe] Work on Video Games in Haskell
On Wed, May 26, 2010 at 9:23 AM, Lyndon Maydwell <maydwell@gmail.com> wrote:
As a side note, how is this project getting around the language restrictions apple put in the developer license agreement?
From the project page :
This version uses Apple's official iPhone SDK as its back end compiler. David.
On May 26, 2010, at 03:50 , David Virebayre wrote:
On Wed, May 26, 2010 at 9:23 AM, Lyndon Maydwell <maydwell@gmail.com> wrote:
As a side note, how is this project getting around the language restrictions apple put in the developer license agreement?
From the project page :
This version uses Apple's official iPhone SDK as its back end compiler.
You might want to reread that license agreement. Specifically: "Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited)" -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH
On Wed, May 26, 2010 at 9:58 AM, Brandon S. Allbery KF8NH <allbery@ece.cmu.edu> wrote:
You might want to reread that license agreement. Specifically:
"Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited)"
Ah, yes. Ouch, that's abusive. Can they tell the difference though ? David.
On May 26, 2010, at 04:14 , David Virebayre wrote:
On Wed, May 26, 2010 at 9:58 AM, Brandon S. Allbery KF8NH <allbery@ece.cmu.edu> wrote:
You might want to reread that license agreement. Specifically:
Ah, yes. Ouch, that's abusive. Can they tell the difference though ?
I suspect GHC-generated code is fairly distinctive even as machine code. But they don't have to go to that extent; all they have to do is use Google to find this thread. :( -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH
Hi guys, I don't think this licensing issue will be a problem for us. It's not clear to me that our game violates this new term, and we certainly don't violate any of the principles Steve Jobs used to justify it. If Apple wants to reject our app, they already have a variety of excuses at their disposal, as they've demonstrated on many occasions. Frankly, it'd be their loss; Android is now the fastest-growing smartphone market, and we'll be more than happy to focus on it (and other friendlier markets) if Apple's not interested in having our product on their platform. Ryan Trinkle iPwn Studios On Wed, May 26, 2010 at 4:18 AM, Brandon S. Allbery KF8NH < allbery@ece.cmu.edu> wrote:
On May 26, 2010, at 04:14 , David Virebayre wrote:
On Wed, May 26, 2010 at 9:58 AM, Brandon S. Allbery KF8NH <allbery@ece.cmu.edu> wrote:
You might want to reread that license agreement. Specifically:
Ah, yes. Ouch, that's abusive. Can they tell the difference though ?
I suspect GHC-generated code is fairly distinctive even as machine code. But they don't have to go to that extent; all they have to do is use Google to find this thread. :(
-- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
On May 26, 2010, at 2:51 AM, Ryan Trinkle wrote:
I don't think this licensing issue will be a problem for us. It's not clear to me that our game violates this new term, and we certainly don't violate any of the principles Steve Jobs used to justify it. If Apple wants to reject our app, they already have a variety of excuses at their disposal, as they've demonstrated on many occasions. Frankly, it'd be their loss; Android is now the fastest-growing smartphone market, and we'll be more than happy to focus on it (and other friendlier markets) if Apple's not interested in having our product on their platform.
The best accounts that I read at the time on this were Why Apple Changed Section 3.3.1 http://daringfireball.net/2010/04/why_apple_changed_section_331 Strategy Letter V Smart companies try to commoditize their products' complements. http://www.joelonsoftware.com/articles/StrategyLetterV.html In the narrow sense, Apple didn't want Adobe Flash to become the default development environment, at the expense of any distinctive look and feel or performance advantage to the iPhone/iPad. Adobe code is the worst and most expensive code I use regularly (it stinks, in short), so I'm sympathetic here. In a broader sense, Apple does want to make it hard to develop for all platforms at once, but that's a losing battle for them as you note. The iPad / Android application that would most excite me to write, and the "game" that would most excite me to play would be a "gesture" programming language. I owned a FingerWorks TouchStream keyboard before Apple bought them out; this really is a radical paradigm shift, even if Apple is teaching the masses by cautiously dribbling out one gesture as a time. Read "Coders at Work": The most reasoned, pragmatic objection to Lisp family language syntax over e.g. Haskell syntax is simply code density. This consideration gets up-ended if one's primary constraint is entering code through a novel, limited bandwidth interface. Lisp's parentheses are an historical artifact tied to an input method that iPad-like devices will help supplant; even on keyboards one can get rid of most parentheses by the Haskell $ op and resolving the "missing outline levels" issue. One actually thinks in syntax trees, and could enter them directly as trees through a gesture-based editor that understood the grammar, your choices and their probabilities. The iPad does allow calculators, and such a program would be a smart calculator. It would be a shame if Section 3.3.1 ruled out the most radical experiments with the iPad technology. On the other hand, why haven't I bought an iPad yet? *** It's NOT a computer! (Slap forehead) *** One gets bit by this at every turn, one doesn't have to turn to to Section 3.3.1 to see this. Try saving or printing a PDF from the browser. I bought my first Apple in 1980 because they were the most open; none of the other choices even survived. For generic desktop boxes, Ubuntu looks better and better to me on each release as I sour on Apple over this business bull as they morph into M$; for GHC Haskell I only want OS X to make effective use of every core in parallel, in situations where I'm willing to suffer the restrictions of 32 bits. On May 25, 2010, at 11:52 PM, Ryan Trinkle wrote:
We believe in giving back to the Haskell community, so we've open-sourced our ghc-iphone project, which allows GHC to produce binaries for the iPhone. Check it out at http://projects.haskell.org/ghc-iphone/.
This would be a perfect platform for playing with this idea!
Hallo, On Wed, May 26, 2010 at 10:08 AM, Dave Bayer <bayer@cpw.math.columbia.edu> wrote:
Read "Coders at Work": The most reasoned, pragmatic objection to Lisp family language syntax over e.g. Haskell syntax is simply code density. This consideration gets up-ended if one's primary constraint is entering code through a novel, limited bandwidth interface. Lisp's parentheses are an historical artifact tied to an input method that iPad-like devices will help supplant; even on keyboards one can get rid of most parentheses by the Haskell $ op and resolving the "missing outline levels" issue. One actually thinks in syntax trees, and could enter them directly as trees through a gesture-based editor that understood the grammar, your choices and their probabilities.
Have you ever tried the paredit minor mode for Emacs? It's a minor mode that keeps parentheses balanced no matter what, with several commands like slurp the next or previous s-expression, or barf the next or previous s-expression. Bound to gestures, these commands would make editing Lisp code a no-brainer in touch-oriented devices. I know everybody is tired of hearing this, but Lisp's syntactic power comes from its simplicity and uniformity. Cheers, -- -alex http://www.ventonegro.org/
On Wed, May 26, 2010 at 5:51 AM, Ryan Trinkle <ryan.trinkle@ipwnstudios.com>wrote:
Hi guys,
I don't think this licensing issue will be a problem for us. It's not clear to me that our game violates this new term, and we certainly don't violate any of the principles Steve Jobs used to justify it. If Apple wants to reject our app, they already have a variety of excuses at their disposal, as they've demonstrated on many occasions. Frankly, it'd be their loss; Android is now the fastest-growing smartphone market, and we'll be more than happy to focus on it (and other friendlier markets) if Apple's not interested in having our product on their platform.
Steve Jobs has been quite clear that apps written in other languages, even ones that are interpreted in, compiles down to or otherwise generate objective c source code, don't comply with the changes in section 3.3.1 of their license, so I'm not sure that you have much of a case.
“We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.”
Read more: http://techcrunch.com/2010/04/10/steve-jobs-responds-to-iphone-sdk-complaint... Haskell definitely qualifies as an 'intermediate layer', just like MonoTouch, and just like the Flash-to-Objective-C compiler that provoked the original response from Apple. http://www.taoeffect.com/blog/2010/04/steve-jobs-response-a-brief-followup/ Heck, even libraries that may contain scripting and modeling utilities like Unity3d are in jeopardy, due to this cockamamie restriction, which threatens to send the art of level design and game programming for the iphone technologically clear back into the early 90s, though at least there they appear to be treading lightly, since Unity has been useful in providing the iphone with a lot of high end content. http://answers.unity3d.com/questions/7408/is-unity3d-banned-by-new-apple-sdk... But, there are other numerous discussions floating around in the blogosphere involving previously approved applications written in scheme (even compiled via objective c), c#, or other middleware languages having their applications removed from the app store. So, sadly, I think your chances of shipping your a title written in Haskell on the iPhone are shot to hell. -Edward Kmett
So once the game is finished in Haskell, send it to India or China for a manual rewrite in C/C++/Objective C J Or maybe this would be a nice research topic: how to generate C code that looks like it’s human written… Van: haskell-bounces@haskell.org [mailto:haskell-bounces@haskell.org] Namens Edward Kmett Verzonden: Wednesday, May 26, 2010 7:53 PM Aan: Ryan Trinkle CC: iphone@haskell.org; haskell-cafe@haskell.org; haskell@haskell.org; reactive@haskell.org Onderwerp: Re: [Haskell] Re: [Haskell-cafe] Work on Video Games in Haskell On Wed, May 26, 2010 at 5:51 AM, Ryan Trinkle <ryan.trinkle@ipwnstudios.com> wrote: Hi guys, I don't think this licensing issue will be a problem for us. It's not clear to me that our game violates this new term, and we certainly don't violate any of the principles Steve Jobs used to justify it. If Apple wants to reject our app, they already have a variety of excuses at their disposal, as they've demonstrated on many occasions. Frankly, it'd be their loss; Android is now the fastest-growing smartphone market, and we'll be more than happy to focus on it (and other friendlier markets) if Apple's not interested in having our product on their platform. Steve Jobs has been quite clear that apps written in other languages, even ones that are interpreted in, compiles down to or otherwise generate objective c source code, don't comply with the changes in section 3.3.1 of their license, so I'm not sure that you have much of a case. “We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.” Read more: http://techcrunch.com/2010/04/10/steve-jobs-responds-to-iphone-sdk-complaint... Haskell definitely qualifies as an 'intermediate layer', just like MonoTouch, and just like the Flash-to-Objective-C compiler that provoked the original response from Apple. http://www.taoeffect.com/blog/2010/04/steve-jobs-response-a-brief-followup/ Heck, even libraries that may contain scripting and modeling utilities like Unity3d are in jeopardy, due to this cockamamie restriction, which threatens to send the art of level design and game programming for the iphone technologically clear back into the early 90s, though at least there they appear to be treading lightly, since Unity has been useful in providing the iphone with a lot of high end content. http://answers.unity3d.com/questions/7408/is-unity3d-banned-by-new-apple-sdk... But, there are other numerous discussions floating around in the blogosphere involving previously approved applications written in scheme (even compiled via objective c), c#, or other middleware languages having their applications removed from the app store. So, sadly, I think your chances of shipping your a title written in Haskell on the iPhone are shot to hell. -Edward Kmett
participants (7)
-
Alex Queiroz -
bf3@telenet.be -
Brandon S. Allbery KF8NH -
Dave Bayer -
David Virebayre -
Edward Kmett -
Ryan Trinkle