Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about browser UI extension for LambdaHack #91

Closed
reyman opened this issue Mar 17, 2015 · 7 comments
Closed

Question about browser UI extension for LambdaHack #91

reyman opened this issue Mar 17, 2015 · 7 comments

Comments

@reyman
Copy link

reyman commented Mar 17, 2015

Hi,

I'm interested to learn haskell in the future (i currently develop in Scala), and IMHO roguelike is always a good start to learn a new langage :)

I'm interested to know about front end capacities of LambdaHack, do you consider an UI with JS using FRP library / GHCJS and perhaps React (http://iankduncan.com/posts/2014-12-16-react-js-with-ghcjs.html) is a possible and feasible way to extend/play with LambdaHack ?

Best regards,
SR

@Mikolaj
Copy link
Member

Mikolaj commented Mar 18, 2015

roguelike is always a good start to learn a new langage :)

Absolutely confirmed. ;)

I'm interested to know about front end capacities of LambdaHack

Currently the frontend is very isolated from the clients (and the server, obviously). It just uses a two-way channel to communicate with a client, with some extra hacks. After v0.5 I intend to clean it up and simplify a bit more (e.g., stop cheating and really have one frontend per UI client). Also, extend the frontend-client protocol and get rid of the hacks as soon as the protocol is rich enough. Being isolated, the frontend can be modified and experimented with quite easily.

do you consider an UI with JS using FRP library / GHCJS and perhaps React (http://iankduncan.com/posts/2014-12-16-react-js-with-ghcjs.html) is a possible and feasible way to extend/play with LambdaHack ?

By all means. There are two related issues: #80 #56.

I'm thinking, perhaps only the frontend should be implemented in FRP style. Much less likely the (fat) clients and the server. But if only tiny outer layers of clients and/or server were driven by FRP and the rest of their code assumed that game-time is frozen, that could still fit the current code-base and avoid introducing too much conceptual and computational overhead throughout the code. In some bits of the server I'm indeed struggling with time dependencies and expressing them by just the order of monadic instructions. If FRP could be used cheaply there, that could be very beneficial. However, for a start, I'd touch only the frontend. BTW, if you look at the code that links the server, the clients and the frontend, please use the 'mikolaj' branch --- I've just simplified it visually a lot and added some haddocks. Have fun. :)

@reyman
Copy link
Author

reyman commented Mar 19, 2015

Thanks for your comment :)

What is the best IDE in your opinion to start programming in Haskell ?

@Mikolaj
Copy link
Member

Mikolaj commented Mar 19, 2015

Emacs, of course (https://github.com/haskell/haskell-mode). ;)

That's a common question on haskell-cafe, but I don't know what the current answers are, e.g., how usable Eclipse is for Haskell right now.

@Mikolaj
Copy link
Member

Mikolaj commented Apr 21, 2015

@Mikolaj
Copy link
Member

Mikolaj commented Apr 18, 2017

A pre-release of a contrived Web frontend to LambdaHack is at https://lambdahack.github.io/

@Mikolaj
Copy link
Member

Mikolaj commented Jun 1, 2017

It's now released. Please give it a try and post feedback. :)

@Mikolaj
Copy link
Member

Mikolaj commented Dec 19, 2017

Another release is out:

https://twitter.com/AllureRoguelike/status/942854380025466880

Please post feedback on

http://forums.roguetemple.com/index.php?topic=5454.0

or in some other place. Thank you! Closing the issue.

@Mikolaj Mikolaj closed this as completed Dec 19, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants