[Haskell-beginners] DSL for Android development

Sean Charles sean at objitsu.com
Mon Jun 27 16:04:55 CEST 2011


As a yet to be published iPhone hacker, now somewhat saddened by the 
AppStore bouncers, I've turned to Android. I have a lot of Java and J2ME 
experience but only eight months with Haskell. I hate java. The JVM is 
awesome. Clojure is wish-fulfillment for Android right now.

Having used Chicken (scheme) in the past for generating applications for 
people I know that compiling language A to language B can be very 
successful, especially when the end-user doesn't know or care how he got 
his app, only that it works.

So... where would be a good place to start with a DSL that could produce 
Java code as its output? This is new to me! I've written simple lexers 
and parsers and I know the ropes on that front but I don't know haskell 
well enough yet to know how to go about it. I am thinking that I'd need 
to create data types for the major classes, or maybe not, if i can 
produce my own abstraction that generated multiple classes in the output 
etc and so i descend into confusion about where to start!

I suspect that state carrying monadic types will be prevalent, good job 
I understand monads. Yes that was sarcasm. I've done the Scheme-in-48 
hours thing, so I am ok with parsec. I did consider writing a "true" 
language that will code-generate java instead of a DSL, that's still in 
my mind too.

As I understand DSL, it's up to me to invent my language to work within 
the "domain" of Android and then make it create Java code for subsequent 
feeding to the android tools. As a first guess, I am going to study the 
"Hello Android" example and then see how I could create a DSL around 
that little program.

As I see it, programming boils down to just a couple of things: function 
calls and decisions. I appreciate that there is more to it: XML files 
and images etc to be bound in but that's nothing a good bash script 
won't fix for me!

Thanks,
Sean Charles.

PS: I know this is a *big* thing to take on but I love big and I love 
learning so let's rip this one to bits.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20110627/d07aa0d3/attachment-0001.htm>


More information about the Beginners mailing list