One of the weaknesses of Clojure on the JVM is its ridiculously long startup time. How fast does Frege start up on the JVM?
Clojure is slow at startup because of the long list of classes have to be loaded at init I think.
Frege – a Haskell for the JVM
21–30 of 51 posts
Re: Frege – a Haskell for the JVM
#22Earlier quoted context omitted.
It's okay, at least when you have SSD or at least decent RAM. Here is an example: ingo@freguntu:~/Frege/frege$ time java -jar fregec.jar -version 3.23.900 0:00.22 62016k ingo@freguntu:~/Frege/frege$ ls -l fregec.jar -rw------- 1 ingo ingo 33426802 Mär 6 12:32 fregec.jar
Aren't you checking the Frege compiler, there? The complaint about Clojure is that Clojure apps start slow. Frege compiles to Java and from there to bytecode, so you'd need to compare a hello world in both languages to answer the original question, I think.
Re: Frege – a Haskell for the JVM
#23Last I checked it was not possible to use a Frege program on Android. Has that changed any? http://stackoverflow.com/questions/17222383/how-to-run-frege... http://stackoverflow.com/questions/5151858/running-a-haskell...
Re: Frege – a Haskell for the JVM
#24Re: Frege – a Haskell for the JVM
#25Are typeclasses possible on the JVM? I'm a .NET person, and I've always heard that typclasses aren't possible on the .NET CLR, so I wonder what's different about the JVM that makes this possible?
Re: Frege – a Haskell for the JVM
#26Are typeclasses possible on the JVM? I'm a .NET person, and I've always heard that typclasses aren't possible on the .NET CLR, so I wonder what's different about the JVM that makes this possible?
Whoever told you it's impossible in .NET is probably wrong. Don't you have interfaces in C# ? But you don't even need interfaces. Strictly speaking, unless you use typeclasses with polymorphic recursion, you don't need a runtime representation for typeclasses at all.
Re: Frege – a Haskell for the JVM
#27I need to take a serious look at Frege. I am writing a book on Haskell and I have spent years using various JVM languages, so Frege seems like a good bet to invest some time on - if the development environment, REPL style Dev, etc. is as smooth as it is for Haskell.
Re: Frege – a Haskell for the JVM
#28Earlier quoted context omitted.
I fail to understand the question. Isn't hosting "pure" Haskell code in an imperative modern OS environment a common thing to do?
I mean leaving IO to a program to which the (pure-only) Haskell code is linked, dispensing with monad-based separation. Frege seems to make this particularly easy.
You can call "into" Frege code from any JVM language. OTOH, you can call any JVM code you could with Java (Frege is compiled to Java source code).
The crucial point are the data that get exchanged between Frege and Java in either direction. While there are no problems with primitive types or Strings, standard JVM container classes like java.util.HashMap or java.util.ArrayList represent mutable data, and thus we can't use them with _pure_ Frege code.
For that reason, we still need monads (in particuar, IO and ST) to deal with mutable data in Frege.