Difference between revisions of "IPhone"

From HaskellWiki
Jump to navigation Jump to search
m ("foo" -> "fu")
(65 intermediate revisions by 28 users not shown)
Line 1: Line 1:
  +
= Collaborators =
 
If you are working with Haskell and making iPhone apps, or if you intend to soon, please fill in your info below.
 
If you are working with Haskell and making iPhone apps, or if you intend to soon, please fill in your info below.
 
By helping each other out, we can work more productively and have more fun.
 
By helping each other out, we can work more productively and have more fun.
Line 16: Line 17:
 
| 5
 
| 5
 
| 0
 
| 0
| Functional graphics & GUI, misc Haskell libs, design skills
+
| Functional graphics & GUI, misc Haskell libs, design skills, iPhone basics
| iPhone basics, Haskell-to-iPhone compiler
+
| Haskell-to-iPhone compiler, tricky iPhone stuff
 
| Interactive graphics toys
 
| Interactive graphics toys
 
|-
 
|-
Line 26: Line 27:
 
| iPhone experience, web programming experience, dependent types experience
 
| iPhone experience, web programming experience, dependent types experience
 
| Haskell-to-iPhone compiler (either as DSL or GHC Core -> iPhone)
 
| Haskell-to-iPhone compiler (either as DSL or GHC Core -> iPhone)
| Client apps, Games (maybe using a combination of FRP and something like arrowlets)
+
| Navigation-based apps (think of things like iTunes, Facebook, etc.), Games (maybe using a combination of FRP and something like arrowlets)
 
|-
 
|-
  +
| Daniel Peebles
|}
 
  +
| [http://pumpkinpat.ch Home], [http://twitter.com/copumpkin Twitter]
  +
| 3
  +
| 4
  +
| Extensive iPhone platform knowledge
  +
| GHC cross-compiling to ARM Mach-O
  +
| Nothing in particular yet
  +
|-
  +
| John Meacham
  +
| [http://repetae.net Home], [http://notanumber.net/ blog]
  +
| -
  +
| -
  +
| Working Haskell to iPhone compiler (jhc)
  +
| Testers and Feedback to make cross compilation smoother. HOC integration with jhc.
  +
| Symbolic Algebra Application, Equation Editor
  +
|-
  +
| Eelco Lempsink
  +
| [http://eelco.lempsink.nl Home], [http://tupil.com Tupil], [http://haskell.org/haskellwiki/User:eelco wiki user], [http://twitter.com/eelco Twitter], [http://www.linkedin.com/in/lempsink Linkedin], IRC: eelco
  +
| 4
  +
| 3
  +
| iPhone and web experience
  +
| Haskell-to-iPhone with (Cocoa Touch) API intergration
  +
| Nothing in particular, looking for a good Haskell use-case :)
  +
|-
  +
| Bernd Brassel
  +
| [http://www-ps.informatik.uni-kiel.de/~bbr Home],[http://www.art2guide.com/index_en.html art2guide]
  +
| 5
  +
| 4
  +
| Haskell experience, iPhone developer
  +
| iPhone embedding into Haskell, good programmers
  +
| audio-visual guiding systems
  +
|-
  +
| Martin Kudlvasr
  +
| [http://trinpad.eu not exactly home],[http://www.linkedin.com/in/martinkudlvasr LinkedIn], irc: trin_cz, xmpp: trin@jabbim.cz
  +
| 3
  +
| 0
  +
| year of haskell experience in OpenGL and project euler
  +
| iPhone basics, Haskell-to-iPhone compiler
  +
| fascinated by reactive, game development
  +
|-
  +
| Sebastiaan Visser
  +
| [http://github.com/sebastiaanvisser Projects], [http://haskell.org/haskellwiki/User:Sebastiaan wiki user], [http://twitter.com/sfvisser Twitter]
  +
| 4
  +
| 0
  +
| Some experience/ideas about building EDSLs.
  +
| Deep EDSL Haskell-to-ObjectiveC, high-level to target GUI/animation.
  +
| Nothing in particular yet. Want to have objective C backend for [http://github.com/sebastiaanvisser/frp-js/tree/master this] EDSL.
  +
|-
  +
| Manuel Chakravarty
  +
| [http://www.cse.unsw.edu.au/~chak/ Home], [http://justtesting.org blog], [http://haskell.org/haskellwiki/User:chak wiki user], [http://twitter.com/TacticalGrace Twitter], [http://www.linkedin.com/in/manuelchakravarty LinkedIn], IRC: Chilli
  +
| 5
  +
| 2
  +
| Haskell EDSL & compiler know how; Objective-C and Cocoa Touch basics
  +
| Haskell tools for iphone dev
  +
| games & productivity apps
  +
|-
  +
| Ryan Trinkle
  +
| [http://haskell.org/haskellwiki/User:RyanT5000 wiki user], [http://twitter.com/ryant5000 Twitter], [http://facebook.com/ryant5000 Facebook], [http://www.linkedin.com/pub/ryan-trinkle/2/a74/9b3 LinkedIn], IRC/AIM: RyanT5000
  +
| 4
  +
| 3
  +
| GHC iPhone compilation (working, to be contributed to GHC soon)
  +
| Smart people
  +
| Games
  +
|-
  +
| Stephen Blackheath
  +
| [http://haskell.org/haskellwiki/User:Blackh wiki user], IRC: blackh, [http://blacksapphire.com/antispam/ email]
  +
| 4
  +
| 2
  +
| Working with Ryan Trinkle to release GHC iPhone compilation
  +
|
  +
| Games
  +
|-
  +
| Simon Marlow
  +
| [http://haskell.org/haskellwiki/User:Simonmar wiki user], [http://twitter.com/simonmar Twitter], IRC: JaffaCake
  +
| 5
  +
| 0
  +
| Happy to help with GHC porting issues: ask on #ghc
  +
|
  +
|
  +
|-
  +
| Simon Michael
  +
| [http://joyful.com home], [mailto:simon@joyful.com email], IRC: sm
  +
| 3
  +
| 1
  +
| hledger project, darcs/happstack/web dev/sysadmin experience
  +
|
  +
|
  +
|-
  +
| Max Weisel
  +
| [http://maxweisel.com Home], [http://twitter.com/mxweas Twitter], IRC:mxweas
  +
| 3
  +
| 5
  +
| Ample Toolchain/SDK development knowledge & experience.
  +
|
  +
|
  +
|-
  +
| Sung Yoon
  +
| [http://www.bamsom.com Home]
  +
| 1
  +
| 4
  +
| iPhone App development
  +
|
  +
| Games, interactive graphics/sound apps
  +
|-
  +
| Jonathan Fischoff
  +
| [http://www.linkedin.com/pub/jonathan-fischoff/2/9b/a60 LinkedIn], [http://www.facebook.com/jfischoff?ref=profile Facebook], [http://haskell.org/haskellwiki/User:JonathanFischoff wiki user], IRC: jfischoff
  +
| 1
  +
| 1
  +
| Game engines. Art asset pipelines.
  +
|
  +
| Games, graphics toys
  +
|-
  +
| Lyndon Tremblay
  +
| [http://www.hoovy.org Home], [http://www.facebook.com/humasect?ref=profile Facebook], [http://haskell.org/haskellwiki/User:humasect wiki user], [http://www.twitter.com/humasect Twitter], IRC: whomasect/humasect/Sitting
  +
| 4
  +
| 5
  +
| Experienced mac/iphone/haskell/gnu developer. Maintaining and clean GL and AL wrappers, and cleaner ObjC integration which allows to develop Cocoa apps. (can provide and also port to iPhone), and defunct Xcode haskell plugin considered to be rewritten.
  +
| Haskell-to-iPhone compiler, tricky iPhone stuff, GHCi
  +
| Games, roguelike, scrolling shooter - Realtime game and procedural development visualization engines and environment, animation and music apps
  +
|-
  +
| Bryan Turner
  +
| [http://brturn.googlepages.com Home]
  +
| 3
  +
| 3
  +
| Professional Haskell programmer, experienced mobile/embedded developer. Experience with iPhone Safari development via HTML, XML, JS, SQL. Native iPhone work via C, OpenGL.
  +
| Interested in connecting with other Haskell for iPhone developers.
  +
| Productivity, games, next-gen human interface.
  +
|-
  +
| David Terei
  +
| [http://twitter.com/#!/dterei Twitter], [http://www.haskell.org/haskellwiki/User:Dterei user], IRC: davidt_
  +
| 4
  +
| 0
  +
| GHC compiler knowledge, LLVM knowledge.
  +
| Interested in porting ghc to ARM
  +
| Anything
  +
|-
  +
| Ivan Perez
  +
| [https://www.facebook.com/keerastudios Company facebook], [https://www.linkedin.com/in/ivanperezdominguez Linkedin], [https://twitter.com/IvanPerezKeera Twitter]: email: ivan (dot) perez (at) keera (dot) co (dot) uk]
  +
| 4
  +
| 2
  +
| Games, Applications with GUIs, several mobile applications.
  +
| Compiling Haskell for iPhone
  +
| Games, apps.
  +
|-
  +
| Josh
  +
| [http://nerdsville.net Website]:email nerdsville (at) nerdsville (dot) net
  +
| 1
  +
| 0
  +
| Desire and ability to learn
  +
| Experienced in Haskell who is willing to teach
  +
| Undecided
  +
|-}
  +
  +
There are at least two ways to use Haskell to make iPhone apps.
  +
One is having a Haskell-to-iPhone compiler, which would probably cross-compile from another host environment (probably Mac OS X).
  +
Another way is to write Haskell programs that ''generate'' iPhone-compatible code when run (rather than when compiled), based on an embedded DSL, similarly to [http://conal.net/papers/jfp-saig/ ''Compiling Embedded Languages''].
  +
  +
= Resources =
  +
  +
* [http://hackage.haskell.org/trac/ghc/wiki/Building/CrossCompiling/iOS Building a GHC cross-compiler for Apple iOS targets] (GHC wiki)
  +
* [http://www.reddit.com/r/haskell/comments/19cq83/cross_compiling_for_ios_with_ghc/ Cross Compiling for iOS with GHC]; a discussion on Reddit about "Building a GHC cross-compiler for Apple iOS targets"
  +
* [http://code.google.com/p/hoc/ HOC Haskell to Objective-C binding]
  +
* [http://github.com/sebastiaanvisser/frp-js/tree/master Reactive DSL currently with JS backend]. We might be working on Objective-C backend during Hack-ɸ.
  +
* Stanford course: [http://www.stanford.edu/class/cs193p/ iPhone Application Programming], with online notes, code, and lecture video.
  +
* [http://hackage.haskell.org/trac/ghc/wiki/ObjectiveC Haskell Objective-C FFI proposal] (work-in-progress)
  +
* [http://www.haskell.org/mailman/listinfo/iphone Haskell-iPhone Mailinglist] (iphone at haskell.org)
  +
* [http://projects.haskell.org/ghc-iphone/ GHC-iPhone], a project to enable and promote the use of the Glasgow Haskell Compiler to create programs and libraries for the iPhone
  +
* [http://www.alpheccar.org/content/94.html Cross-compiling Haskell to OMAP3 and iPhone platforms], a blog article
  +
* [http://gergo.erdi.hu/blog/2011-02-13-developing_iphone_applications_in_haskell___a_tutorial/ Developing iPhone applications in Haskell — a tutorial], blog article
  +
  +
= GHC as a cross compiler =
  +
GHC has full support for cross compiling to iOS: See http://ghc.haskell.org/trac/ghc/wiki/Building/CrossCompiling/iOS
  +
  +
= Jhc as a cross compiler =
  +
  +
Jhc has full support for cross compiling to the iPhone. Information on how to do so is in the jhc manual under [http://repetae.net/computer/jhc/manual.html#crosscompilation Cross Compilation]. Basically, you just add the following to your ~/.jhc/targets.ini
  +
  +
<pre>
  +
[iphone]
  +
cc=arm-apple-darwin-gcc
  +
merge=le32
  +
</pre>
  +
  +
and then invoke jhc with the --cross and -miphone options.
  +
  +
= Other ways to stay in touch =
  +
  +
Chat with us on the #haskell-iphone IRC channel on freenode.
  +
Does anyone know how to set up channel logging?
   
Some helpful resources:
 
   
  +
[[Category:Platforms]]
* [http://iphoneideas.tumblr.com/ Free iPhone ideas] (blog by Chris Eidhof)
 
* [http://hoc.sourceforge.net/ Haskell to Objective-C binding]
 

Revision as of 22:34, 20 July 2014

Collaborators

If you are working with Haskell and making iPhone apps, or if you intend to soon, please fill in your info below. By helping each other out, we can work more productively and have more fun.

There are at least two ways to use Haskell to make iPhone apps. One is having a Haskell-to-iPhone compiler, which would probably cross-compile from another host environment (probably Mac OS X). Another way is to write Haskell programs that generate iPhone-compatible code when run (rather than when compiled), based on an embedded DSL, similarly to Compiling Embedded Languages.

Resources

GHC as a cross compiler

GHC has full support for cross compiling to iOS: See http://ghc.haskell.org/trac/ghc/wiki/Building/CrossCompiling/iOS

Jhc as a cross compiler

Jhc has full support for cross compiling to the iPhone. Information on how to do so is in the jhc manual under Cross Compilation. Basically, you just add the following to your ~/.jhc/targets.ini

[iphone]
cc=arm-apple-darwin-gcc
merge=le32

and then invoke jhc with the --cross and -miphone options.

Other ways to stay in touch

Chat with us on the #haskell-iphone IRC channel on freenode. Does anyone know how to set up channel logging?

Name Contact info Haskell-fu (0-5) iPhone-fu (0-5) Have (to share) Need Intended iPhone apps
Conal Elliott Home, blog, wiki user, Twitter, Facebook, Linkedin, IRC: conal 5 0 Functional graphics & GUI, misc Haskell libs, design skills, iPhone basics Haskell-to-iPhone compiler, tricky iPhone stuff Interactive graphics toys
Chris Eidhof Home, Tupil, wiki user, Twitter, Linkedin, IRC: chr1s 4 3 iPhone experience, web programming experience, dependent types experience Haskell-to-iPhone compiler (either as DSL or GHC Core -> iPhone) Navigation-based apps (think of things like iTunes, Facebook, etc.), Games (maybe using a combination of FRP and something like arrowlets)
Daniel Peebles Home, Twitter 3 4 Extensive iPhone platform knowledge GHC cross-compiling to ARM Mach-O Nothing in particular yet
John Meacham Home, blog - - Working Haskell to iPhone compiler (jhc) Testers and Feedback to make cross compilation smoother. HOC integration with jhc. Symbolic Algebra Application, Equation Editor
Eelco Lempsink Home, Tupil, wiki user, Twitter, Linkedin, IRC: eelco 4 3 iPhone and web experience Haskell-to-iPhone with (Cocoa Touch) API intergration Nothing in particular, looking for a good Haskell use-case :)
Bernd Brassel Home,art2guide 5 4 Haskell experience, iPhone developer iPhone embedding into Haskell, good programmers audio-visual guiding systems
Martin Kudlvasr not exactly home,LinkedIn, irc: trin_cz, xmpp: trin@jabbim.cz 3 0 year of haskell experience in OpenGL and project euler iPhone basics, Haskell-to-iPhone compiler fascinated by reactive, game development
Sebastiaan Visser Projects, wiki user, Twitter 4 0 Some experience/ideas about building EDSLs. Deep EDSL Haskell-to-ObjectiveC, high-level to target GUI/animation. Nothing in particular yet. Want to have objective C backend for this EDSL.
Manuel Chakravarty Home, blog, wiki user, Twitter, LinkedIn, IRC: Chilli 5 2 Haskell EDSL & compiler know how; Objective-C and Cocoa Touch basics Haskell tools for iphone dev games & productivity apps
Ryan Trinkle wiki user, Twitter, Facebook, LinkedIn, IRC/AIM: RyanT5000 4 3 GHC iPhone compilation (working, to be contributed to GHC soon) Smart people Games
Stephen Blackheath wiki user, IRC: blackh, email 4 2 Working with Ryan Trinkle to release GHC iPhone compilation Games
Simon Marlow wiki user, Twitter, IRC: JaffaCake 5 0 Happy to help with GHC porting issues: ask on #ghc
Simon Michael home, email, IRC: sm 3 1 hledger project, darcs/happstack/web dev/sysadmin experience
Max Weisel Home, Twitter, IRC:mxweas 3 5 Ample Toolchain/SDK development knowledge & experience.
Sung Yoon Home 1 4 iPhone App development Games, interactive graphics/sound apps
Jonathan Fischoff LinkedIn, Facebook, wiki user, IRC: jfischoff 1 1 Game engines. Art asset pipelines. Games, graphics toys
Lyndon Tremblay Home, Facebook, wiki user, Twitter, IRC: whomasect/humasect/Sitting 4 5 Experienced mac/iphone/haskell/gnu developer. Maintaining and clean GL and AL wrappers, and cleaner ObjC integration which allows to develop Cocoa apps. (can provide and also port to iPhone), and defunct Xcode haskell plugin considered to be rewritten. Haskell-to-iPhone compiler, tricky iPhone stuff, GHCi Games, roguelike, scrolling shooter - Realtime game and procedural development visualization engines and environment, animation and music apps
Bryan Turner Home 3 3 Professional Haskell programmer, experienced mobile/embedded developer. Experience with iPhone Safari development via HTML, XML, JS, SQL. Native iPhone work via C, OpenGL. Interested in connecting with other Haskell for iPhone developers. Productivity, games, next-gen human interface.
David Terei Twitter, user, IRC: davidt_ 4 0 GHC compiler knowledge, LLVM knowledge. Interested in porting ghc to ARM Anything
Ivan Perez Company facebook, Linkedin, Twitter: email: ivan (dot) perez (at) keera (dot) co (dot) uk] 4 2 Games, Applications with GUIs, several mobile applications. Compiling Haskell for iPhone Games, apps.
Josh Website:email nerdsville (at) nerdsville (dot) net 1 0 Desire and ability to learn Experienced in Haskell who is willing to teach Undecided