
Hi There. I'm looking for ideas to flesh out a writing project I'm beginning. What I am looking for is a set of five games in increasing complexity that would allow for a wide discussion of Haskell. I originally began this project by centering the writing around one large game, but this idea has proven to be brittle. The set of five should include a discussion of: (1) Types (2) folds, maps, filters (3) monoids, functors, applicatives, and monads Thanks for what ever storms your brains bring forth. :)

Have you checked out making your first Haskell game? On Wed, Jan 11, 2017 at 2:55 PM, Michael Litchard < litchard.michael@gmail.com> wrote:
Hi There.
I'm looking for ideas to flesh out a writing project I'm beginning. What I am looking for is a set of five games in increasing complexity that would allow for a wide discussion of Haskell. I originally began this project by centering the writing around one large game, but this idea has proven to be brittle. The set of five should include a discussion of:
(1) Types (2) folds, maps, filters (3) monoids, functors, applicatives, and monads
Thanks for what ever storms your brains bring forth. :)
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
-- -- Sent from an expensive device which will be obsolete in a few months! :D Casey

On 2017-01-11 23:55, Michael Litchard wrote:
Hi There.
I'm looking for ideas to flesh out a writing project I'm beginning.
Writing project? I'm guessing it's not "creative writing" per se. Is it a series of blog posts, or...?
What I am looking for is a set of five games in increasing complexity that would allow for a wide discussion of Haskell. I originally began this project by centering the writing around one large game, but this idea has proven to be brittle. The set of five should include a discussion of:
(1) Types (2) folds, maps, filters (3) monoids, functors, applicatives, and monads
Thanks for what ever storms your brains bring forth. :)
At the highest level complexity I'd suggest reading[1] and trying something like Azad, though it obviously doesn't necessarily have easily-codified rules, per se. [1] https://en.wikipedia.org/wiki/The_Player_of_Games

Hey Michael, Thus quoth Michael Litchard at 22:55 on Wed, Jan 11 2017:
What I am looking for is a set of five games in increasing complexity that would allow for a wide discussion of Haskell.
Shamelessly stolen from the page of Eta (Haskell on JVM): https://github.com/rahulmutt/eta-2048 I'm not sure how well this fits into what you want, but, supposedly, a lot of fancy details can be left out, including those actually requiring Java (I've no idea what exactly I'm talking about here :D) -- Sergiu

Am 12.01.2017 um 10:38 schrieb Sergiu Ivanov:
Shamelessly stolen from the page of Eta (Haskell on JVM):
https://github.com/rahulmutt/eta-2048
I'm not sure how well this fits into what you want, but, supposedly, a lot of fancy details can be left out, including those actually requiring Java (I've no idea what exactly I'm talking about here :D)
JavaFX is Oracle's latest GUI library. It allows styling controls via CSS (styling was very difficult to do well with Swing, its predecessor). JavaFX is available as part of the standard library since Java 8. So yes you'll need to have Java installed to run that thing. You don't have to know much about Java itself, deployment may be complicated though (depends on what the Eta guys did in that area).

Thus quoth Joachim Durchholz at 14:22 on Thu, Jan 12 2017:
Am 12.01.2017 um 10:38 schrieb Sergiu Ivanov:
Shamelessly stolen from the page of Eta (Haskell on JVM):
https://github.com/rahulmutt/eta-2048
I'm not sure how well this fits into what you want, but, supposedly, a lot of fancy details can be left out, including those actually requiring Java (I've no idea what exactly I'm talking about here :D)
JavaFX is Oracle's latest GUI library. It allows styling controls via CSS (styling was very difficult to do well with Swing, its predecessor). JavaFX is available as part of the standard library since Java 8.
I was actually thinking about completely rewriting the GUI part in something less Oracle-specific, but, given my zero experience in GUIs for Haskell, I only have a very basic idea about the effort it may take. I was also vaguely considering a console interface, but I'm not sure how well it may work out for 2048. -- Sergiu

Hi Sergiu,
Michael didn't mention arrows on his list and eta-2048 is heavy on them
since Yampa is arrow-based, so it may not be suited for this project.
You can find a console interface for 2048 here and it looks a lot simpler
with very light dependencies: https://github.com/tfausak/hs2048
Hope that helps!
Rahul
On Thu, Jan 12, 2017 at 8:03 PM, Sergiu Ivanov
Thus quoth Joachim Durchholz at 14:22 on Thu, Jan 12 2017:
Am 12.01.2017 um 10:38 schrieb Sergiu Ivanov:
Shamelessly stolen from the page of Eta (Haskell on JVM):
https://github.com/rahulmutt/eta-2048
I'm not sure how well this fits into what you want, but, supposedly, a lot of fancy details can be left out, including those actually requiring Java (I've no idea what exactly I'm talking about here :D)
JavaFX is Oracle's latest GUI library. It allows styling controls via CSS (styling was very difficult to do well with Swing, its predecessor). JavaFX is available as part of the standard library since Java 8.
I was actually thinking about completely rewriting the GUI part in something less Oracle-specific, but, given my zero experience in GUIs for Haskell, I only have a very basic idea about the effort it may take.
I was also vaguely considering a console interface, but I'm not sure how well it may work out for 2048.
-- Sergiu
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
-- Rahul Muttineni

Hey Rahul, Thus quoth Rahul Muttineni at 17:03 on Thu, Jan 12 2017:
Michael didn't mention arrows on his list and eta-2048 is heavy on them since Yampa is arrow-based, so it may not be suited for this project.
Oh, I see, I didn't pay attention to those details, thanks for pointing out!
You can find a console interface for 2048 here and it looks a lot simpler with very light dependencies: https://github.com/tfausak/hs2048
Ah, that's exactly what I was thinking about! Thanks for sharing the link, I think I'll keep it at hand for personal use :-) -- Sergiu

Hi Joachim,
You can compile the project as a standalone .jar file that can be run via
`java -jar`. 'epm' can also generate a script that runs the 'java' command
with the full classpath set for you if you don't want to wait for the
uberjar generation which is currently a bit slow.
Hope that helps,
Rahul
On Thu, Jan 12, 2017 at 7:52 PM, Joachim Durchholz
Am 12.01.2017 um 10:38 schrieb Sergiu Ivanov:
Shamelessly stolen from the page of Eta (Haskell on JVM):
https://github.com/rahulmutt/eta-2048
I'm not sure how well this fits into what you want, but, supposedly, a lot of fancy details can be left out, including those actually requiring Java (I've no idea what exactly I'm talking about here :D)
JavaFX is Oracle's latest GUI library. It allows styling controls via CSS (styling was very difficult to do well with Swing, its predecessor). JavaFX is available as part of the standard library since Java 8.
So yes you'll need to have Java installed to run that thing. You don't have to know much about Java itself, deployment may be complicated though (depends on what the Eta guys did in that area).
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
-- Rahul Muttineni

(Sorry, mostly OT.) Am 12.01.2017 um 17:54 schrieb Rahul Muttineni:
You can compile the project as a standalone .jar file that can be run via `java -jar`.
I once tried to use Gradle instead of Oracle's somewhat buggy and noncomposing JavaFX toolchain, but in the end I decided that it wasn't worth the trouble, so I wasn't sure that this problem was solved. Good to know it's solved for Eta.
'epm' can also generate a script that runs the 'java' command with the full classpath set for you if you don't want to wait for the uberjar generation which is currently a bit slow.
Oh yes, I have seen slow fatjar builds myself. More than once, so this problem does not seem to be uncommon. Regards, Jo

Your first Haskell Game
http://www.hgamer3d.org/FirstGame.html
Note: the games are coded in an 'imperative' fashion but I'm thinking of
transforming them to a more functional approach 😃
Might want help
--
--
Sent from an expensive device which will be obsolete in a few months! :D
Casey
On Jan 11, 2017 2:55 PM, "Michael Litchard"
Hi There.
I'm looking for ideas to flesh out a writing project I'm beginning. What I am looking for is a set of five games in increasing complexity that would allow for a wide discussion of Haskell. I originally began this project by centering the writing around one large game, but this idea has proven to be brittle. The set of five should include a discussion of:
(1) Types (2) folds, maps, filters (3) monoids, functors, applicatives, and monads
Thanks for what ever storms your brains bring forth. :)
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.

Hi Michael, I like the idea a lot. I'm having fond flashbacks to David Ahl's BASIC Computer Games (http://www.atariarchives.org/basicgames). Here are two very minimal haskell games, FYI: http://hub.darcs.net/simon/guess-the-number https://github.com/simonmichael/symon On 1/11/17 2:55 PM, Michael Litchard wrote:
Hi There.
I'm looking for ideas to flesh out a writing project I'm beginning. What I am looking for is a set of five games in increasing complexity that would allow for a wide discussion of Haskell. I originally began this project by centering the writing around one large game, but this idea has proven to be brittle. The set of five should include a discussion of:
(1) Types (2) folds, maps, filters (3) monoids, functors, applicatives, and monads
Thanks for what ever storms your brains bring forth. :)
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
participants (7)
-
Bardur Arantsson
-
Joachim Durchholz
-
KC
-
Michael Litchard
-
Rahul Muttineni
-
Sergiu Ivanov
-
Simon Michael