EDIT: I have some answers for you all me
Hey there, I have recently started to use F# having looked at scala for a bit. I love the idea of functional languages simply because of their length compared with your C#'s and the like. I haven't really got to understanding the full depth of them yet though.
I am a graduate C#/java programmer so this isn't my first programming rodeo but it is my first functional one
I like to play with this stuff on my days off and I decided to try port some Monogame tests i've done to F# but that might not have been the most logical progression of complexity.
I have put comments on the things I don't understand or need help with but ill try make a list of them here too (This stuff is mostly ported from working C# code bar the stack type which is why it is a little bit screwy)
The code is at this link instead of using the forums because with syntax highlighting it's nicer
1. How do I get a 'T out of a unit -> 'T?
A. You use () at the end, if its a unit->'T->'T then you use ()()
2. How could I rewrite this to dodge the ordering in F# (right now I can't use the reference to the GameStateManager in State because it is above it and I can't move it below cause GameStateManager uses state even more)
A. Removed the dependency on the gamestate manager from the State, the handling of state switching logic is now up to the gamestatemanager, but I am having trouble writing the match for the pseudo code I have.
3. Is there anything painful here that I am doing wrong
A. Most likley