Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've wanted something like this for quite a long time. I've spent quite a bit of time trying to grok OCaml, Haskell, and Lisp syntaxes, and I've never gotten to the point where I "see past the syntax". Even if you like these languages and their syntaxes, you should be excited about projects like these which help to bridge the cognitive gap between mainstream imperative languages and functional languages--more people getting exposure to functional ideas is a good thing for you--learning syntax and functional concepts in tandem is more difficult than the sum of the constituent parts.

EDIT: Sadly, this project hasn't been touched in 2 months.



If you like his stuff, I've been working through a book he wrote about implementing scheme, which has been very helpful in understanding the why's of lisp.

http://billhails.net/Book/front.html


Oooooooh, have you heard of Reason[1]? It’s an algol-ish interface for OCaml, supported and used by FB as well!

Also interops with JS (and has superb bindings for React) so immediate results/learning are very easy to get.

[1] - https://reasonml.github.io


It doesn't have bindings for redux. I really wanted to like it but without redux, it's not practical enough with so few bindings.

The messenger people don't know what to do about that either, really.

I really like the language though so it's a shame.


Have you taken a look at Fable? There's a React-Redux sample here: http://fable.io/samples-browser/

But the real zen of Fable is using fable-elmish, which is a UI library that (like Elm) focuses on message passing. It's super elegant.

Good sample app doing nontrivial stuff: https://github.com/SAFE-Stack/SAFE-Chat

(Bonus is that it's full-stack F# :))


What is it about Redux that you need?


I need a store layer which scales. Mobx could work too, but reason would work more naturally with redux.


I have! Sadly it’s native compilation story was pretty poor last I checked. Mostly it seemed like the primary target was bucklescript. There were other issues as well.


Ah, until I read your"EDIT", I was about to ask the creator why the following binding ends in a semicolon:

define y = 12;

but the following one does not:

define fn(x) = { ... }




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: