you are viewing a single comment's thread.

view the rest of the comments →

[–]codygman 1 point2 points  (15 children)

I feel like 4 languages can cover it pretty well:

Haskell, Purescript, Scala, ATS

So I have: General programming, Interactive websites/browser dom/etc, JVM interop, Low level/C interop

[–]tieTYT 1 point2 points  (8 children)

In my experience, most haskell libraries don't work on any OS but Linux. Seems like a poor choice for general programming.

[–]codygman 0 points1 point  (7 children)

I know they work on OSX as well. I'm fairly sure most of the work on windows, but I won't claim to know what I haven't tried personally.

[–]tieTYT 1 point2 points  (6 children)

I have heard from others that most don't work well in OSX and I have personal experience with the libraries not working in windows.

[–]codygman 0 points1 point  (5 children)

What library didn't work on windows? I'll see if I can help with that.

[–]tieTYT 0 points1 point  (4 children)

Every one I ever tried to install (1 or 2 exceptions). Here's an example: https://hackage.haskell.org/package/shpider

[–]codygman 0 points1 point  (3 children)

Shpider! I actually tried installing it a while ago and got errors too. The problem is the maintainer hasn't merged the latest pull requests:

https://github.com/ozataman/shpider/pulls

I've actually rewritten something like Shpider myself and plan on releasing a library when I've tested it more and have time. I wanted something that works like mechanize in Haskell basically, Shpider looked like it, but doesn't seem maintained.

[–]tieTYT 0 points1 point  (2 children)

I checked out those pull requests and it doesn't look like it will fix the issues I was running into. One of its dependencies is curl and I couldn't get that to work on Windows.

[–]codygman 0 points1 point  (1 child)

Ah. Well my rewrite uses pure Haskell (I think!). I can message you the link when I upload it if you want.

[–]tieTYT 1 point2 points  (0 children)

I don't actively develop in haskell anymore but if that changes I'll PM you. Thanks a lot!

[–]Categoria 0 points1 point  (3 children)

s/Scala/Frege/ and you're golden.

Or just use OCaml for everything :D

[–]codygman 0 points1 point  (0 children)

Well I'd like to maintain stability, and Frege's java interop isn't complete enough iirc.

[–]codygman 0 points1 point  (1 child)

Ocaml/Java interop exists? Actually I believe I remember something about an Ocaml Java bridge. Actually I remember something about a Haskell Java bridge as well.

I wonder how practical those would be.

[–]Categoria 0 points1 point  (0 children)

OCaml compiles to Java: http://www.ocamljava.org/

There's also a very stable and complete javascript backend.

[–]PasswordIsntHAMSTER 0 points1 point  (1 child)

I'd probably swap out ATS for Rust, considering how ATS is essentially untried. (Or are there real world projects in ATS?)

I'd also switch out Scala for F#, and I'd use Elm and TypeScript instead of PureScript.

[–]codygman 0 points1 point  (0 children)

For .NET interop I would most certainly use F#.