Racket 6.0: New package system, new doc CSS, JIT support for ARM
11–20 of 78 posts
Re: Racket 6.0: New package system, new doc CSS, JIT support for ARM
#12Re: Racket 6.0: New package system, new doc CSS, JIT support for ARM
#13Racket is my first functional language and its been fun, but is it more of an educational language or is it used in production?
Personally I don't use it for anything server-side, but that doesn't mean it's just for education. I suppose it's an unavoidable misconception given that its most obvious strength is the quality documentation and IDE. Its built-in image support is much better than anything I've seen in any other language, so I've used it a couple times for writing simulations that need a histogram. It's also much better than Clojure…
http://docs.racket-lang.org/web-server/
I also recently discovered a web sockets library, but am not good enough at coding Racket to use either yet. I am definitely planning on it.
(And seeing you're handle, just want to thank you for your contributions to Clojure; I can only image what would happen if you got more involved in the Racket community).
Re: Racket 6.0: New package system, new doc CSS, JIT support for ARM
#14Racket is my first functional language and its been fun, but is it more of an educational language or is it used in production?
We're using it in production at my job. (In a decent-sized polyglot system also made up of Haskell and Clojure). There aren't as many libraries available compared to more popular languages, but I haven't yet had too much trouble getting things accomplished. For the above-mentioned languages we're using, I'd put the useful library situation at: Racket-> Haskell-> Clojure in order of least to greatest. Depending on wha…
Re: Racket 6.0: New package system, new doc CSS, JIT support for ARM
#15Earlier quoted context omitted.
We're using it in production at my job. (In a decent-sized polyglot system also made up of Haskell and Clojure). There aren't as many libraries available compared to more popular languages, but I haven't yet had too much trouble getting things accomplished. For the above-mentioned languages we're using, I'd put the useful library situation at: Racket-> Haskell-> Clojure in order of least to greatest. Depending on wha…
are you counting Java libs? then that ordering comes as no surprise.
Also, that's not a listing of the total number of libraries; it's ranked based on the number of useful ones (where "useful" is a completely subjective term that relates to how often I've looked to see if a library exists that does what I want).
Racket actually has more overall libraries than you'd expect considering its popularity, but I've found that many of them are old, no longer updated, scheme libraries (from the days before Racket rebranded from Dr. Scheme). That certainly doesn't make them useless, but I'm reticent to mix scheme-style code into my project.
I'm least familiar with Clojure (I've only been deploying it for the past two weeks or so), so I'm sure my opinion will change, but right now it feels like a slightly less good Racket with a philosophy I find agreeable and more practical libraries (plus Java interop).
Re: Racket 6.0: New package system, new doc CSS, JIT support for ARM
#16Re: Racket 6.0: New package system, new doc CSS, JIT support for ARM
#17Earlier quoted context omitted.
We're using it in production at my job. (In a decent-sized polyglot system also made up of Haskell and Clojure). There aren't as many libraries available compared to more popular languages, but I haven't yet had too much trouble getting things accomplished. For the above-mentioned languages we're using, I'd put the useful library situation at: Racket-> Haskell-> Clojure in order of least to greatest. Depending on wha…
How come you are using all three of those languages in production rather than just one of them?
While I could probably do everything in one language, I'm not sold on the idea that that's actually a good idea (aside from developer convenience, which considering I'm the only developer I don't rate very highly). I also don't feel qualified enough as a language person to really hold defensible opinions about their relative strengths and weaknesses yet.
For example, part of the system is a network service that runs deployed on servers in our environment. All that code is Haskell. I didn't want to have to deploy and manage an interpreter or JVM on those systems, and I don't trust myself to write C that I feel confident deploying in production. Haskell seemed like a good win there (other folks might use Go, or whatever). It turned out to be really easy to write a network server in Haskell that receives the messages that the service needs to receive. Also, it was the first time I used a language that had good (or really, any) pattern matching, and I'm sold on it.
The "business" logic of the system is all currently in Racket. It could certainly have been written in Haskell, but I'm still getting up to speed in it, whereas I was able to get pretty minimal functionality up and running with Racket very easily.
Right now only the web interface is Clojure. I briefly considered using Yesod for the web piece, but it seemed really complicated. And although Racket has a nice web server, it requires buying into the "continuations" style that they advocate (or rolling your own web libraries, which seemed like a bad idea for this project).
I think the continuation-based approach for web servers is certainly valid, and maybe even technically better, but they're swimming against the tide with that approach, and as web programming is so far my least favorite part of building this system, I wasn't willing to buy into that enterprise.
Thankfully, I was able to get a Clojure web app up and running very quickly (basically just Ring and Compojure).
The system is designed where there's pretty hard boundaries between all the parts, so by the time all is said and done, it might all be written in the same language; but that's not necessarily a design-goal. I figure different languages seem to have different strengths, and there's not really a good reason for me to try and shoehorn everything into one.
Re: Racket 6.0: New package system, new doc CSS, JIT support for ARM
#18Re: Racket 6.0: New package system, new doc CSS, JIT support for ARM
#19Re: Racket 6.0: New package system, new doc CSS, JIT support for ARM
#20Earlier quoted context omitted.
are you counting Java libs? then that ordering comes as no surprise.
I wasn't (although that admittedly is one of the best benefits of Clojure). Also, that's not a listing of the total number of libraries; it's ranked based on the number of useful ones (where "useful" is a completely subjective term that relates to how often I've looked to see if a library exists that does what I want). Racket actually has more overall libraries than you'd expect considering its popularity, but I've f…
Which libraries are you referring to? Libraries distributed with Racket, or libraries on Planet (or somewhere else on the internet)?
And any sense of which libraries in particular you notice being missing?