Live data from Hacker News

Frege: A JVM pure functional programming language in the spirit of Haskell

github.com

91–100 of 112 posts

Re: Frege: A JVM pure functional programming language in the spirit of Haskell

#91
post #81
post #77

Earlier quoted context omitted.

It's a real shame that FFI-dependent Haskell libraries don't build out of the box on platforms other than Linux. If you really like the language, have you considered some workarounds for this problem directly? It may be a lot easier to do a workaround than to switch to a new language entirely. It sounds like multi-platform support is important to you, how do you intend to deploy your software? In many cases, you can…

I tried to get it to work, but it's really hard. Imagine you barely know the language and you barely understand how binary libraries work in linux and you're getting these errors that you've never seen before. You ask for help but it seems like you're the 2nd person on the planet who's ever experienced this issue. You read the post of the 1st guy, but for some reason his solution doesn't work for you and you don't un…

Most people in #haskell told me to switch to linux which seems like a ridiculous solution.

Yeah, that's really unfortunate. This problem will continue to persist as long as people keep switching to linux to avoid it or abandoning the language altogether.

How long ago was your attempt and how did you install Haskell itself on your system?

Re: Frege: A JVM pure functional programming language in the spirit of Haskell

#92
post #51

Earlier quoted context omitted.

Another difference not mentioned is given the use of recursion in Haskell and the JVM's lack of tail-call optimisation, I have to wonder how dangerous this is. I know Clojure has recur (I'm not a Clojure programmer) but unless Frege has something similar, I predict many an exploding stack.

It can compile to a loop. JVM can't optimize it for free at runtime. Scala has tail recursion elimination

What about tail calls for mutually recursive functions? My understanding is that Scala is not able to do tail call elimination in this situation. So the only situation where you can be sure that deep recursion won't overflow the stack is when a function is tail calling itself.

If Frege isn't able to do any better with mutual recursion then that might be a severe limitation on its utility. Scala users can work around the issue by writing loops manually. In a pure language, not so much.

Re: Frege: A JVM pure functional programming language in the spirit of Haskell

#93
post #60

As a programmer who's getting annoyed and tired of Java's boilerplate, I welcome this. I went from Haskell to Clojure to JavaScript. I loved Haskell the language . What I don't is third party libraries are usually directly or indirectly (through a dependency) tied to an OS. I've heard, even on irc's #haskell, that it's hard to reuse code unless you're on linux. Coming from Java, this is a deal breaker for me. Then I…

Scala is the most enjoyable language I've ever programmed in. Most of the complexity is superficial or shaped to the problem; there are a lot of features and they can be combined to make complex things, but each of them makes sense, and there's very little in the way of fiddly edge cases to memorize.

Re: Frege: A JVM pure functional programming language in the spirit of Haskell

#94
post #64

Earlier quoted context omitted.

I'm not sure what you're saying. If you're calling into question the portability of Java, then I can run the same bytecode on Windows, Mac, Linux, the browser (in theory) and, with a little transpiling, my Android. If you're saying that that priority of decision drivers is backward, then I disagree: If you want to develop a Windows app you start by saying "I want to develop something on Windows because my clients/cus…

I believe he's trying to criticize Java for being owned by Oracle. The implication appears to be that alternative implementations are just compatibility layers for Oracle's technology like WINE is for Windows. (For the record, I don't particularly agree with this. It seems like you could level the same criticism at nearly any language that has one person or stable group controlling it — for example, you could just as…

Do the MRI people own Ruby trademarks and patents? Did they use them to torpedo a free Apache implementation of Ruby?

Re: Frege: A JVM pure functional programming language in the spirit of Haskell

#95

Earlier quoted context omitted.

It can compile to a loop. JVM can't optimize it for free at runtime. Scala has tail recursion elimination

What about tail calls for mutually recursive functions? My understanding is that Scala is not able to do tail call elimination in this situation. So the only situation where you can be sure that deep recursion won't overflow the stack is when a function is tail calling itself. If Frege isn't able to do any better with mutual recursion then that might be a severe limitation on its utility. Scala users can work around…

Scala provides trampolining via a library. Frege can do the same.

Re: Frege: A JVM pure functional programming language in the spirit of Haskell

#96
post #94
post #64

Earlier quoted context omitted.

I believe he's trying to criticize Java for being owned by Oracle. The implication appears to be that alternative implementations are just compatibility layers for Oracle's technology like WINE is for Windows. (For the record, I don't particularly agree with this. It seems like you could level the same criticism at nearly any language that has one person or stable group controlling it — for example, you could just as…

Do the MRI people own Ruby trademarks and patents? Did they use them to torpedo a free Apache implementation of Ruby?

IIRC Harmony was scuttled primarily because of OpenJDK — Harmony's major corporate sponsor switched its support to OpenJDK, and shortly thereafter the Harmony committee unanimously agreed to put the project in the attic. I don't think Oracle ever actually went after Apache.

Re: Frege: A JVM pure functional programming language in the spirit of Haskell

#98

Earlier quoted context omitted.

It can compile to a loop. JVM can't optimize it for free at runtime. Scala has tail recursion elimination

What about tail calls for mutually recursive functions? My understanding is that Scala is not able to do tail call elimination in this situation. So the only situation where you can be sure that deep recursion won't overflow the stack is when a function is tail calling itself. If Frege isn't able to do any better with mutual recursion then that might be a severe limitation on its utility. Scala users can work around…

Frege can handle mutual recursion.

The only problematic point is recursion through a strict function argument, like in:

    length (x:xs) = 1 + length xs

Re: Frege: A JVM pure functional programming language in the spirit of Haskell

#99
post #96
post #94

Earlier quoted context omitted.

Do the MRI people own Ruby trademarks and patents? Did they use them to torpedo a free Apache implementation of Ruby?

IIRC Harmony was scuttled primarily because of OpenJDK — Harmony's major corporate sponsor switched its support to OpenJDK, and shortly thereafter the Harmony committee unanimously agreed to put the project in the attic. I don't think Oracle ever actually went after Apache.

Nope. Oracle denied Harmony a TCK license, meaning they had no license to Java patents (and trademarks). IBM switched to OpenJDK because of this.

Re: Frege: A JVM pure functional programming language in the spirit of Haskell

#100

Cute name. I wonder to what extent the language has anything to do with Frege's work in logic. I mean Haskell's last name was Curry, and currying is a big deal in FP. Thankfully that wasn't named after Moses Schoenfinkel.

Let me introduce you to the legendary Tokyo Schönfinkel Appreciation Club:

http://www.cynic.net/tsac.html

Post reply on HN