[Haskell-beginners] DSL for Android development
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!
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...
More information about the Beginners