Arc Forumnew | comments | leaders | submitlogin
2 points by rocketnia 4333 days ago | link | parent

"Racket does not provide any real depth for libraries. There's a lot of promoting for library depth, but as soon as you attempt to do anything practical you soon realize the available libraries are either really rough drafts or are largely out of date."

I've gotten the same impression of Racket libraries, but going by the article, mass-marketing of Racket would be a good way to end up with active libraries: "In other words, if you have people who need libraries, hackers will write them. When you have more libraries, your language looks more attractive to people who need them, so hackers write more of them[...]"

This rings true for me. I think Arc has experienced this phenomenon firsthand.

Anyway, although Racket lacks a variety of libraries, it has an impressive selection of features out of the box.

---

"Doesn't racket have the cobra or corba? for an oo-system?"

Racket has at least a few systems for stateful values with user-defined fields:

Scheme-style structs -- http://docs.racket-lang.org/guide/define-struct.html

Hash tables -- http://docs.racket-lang.org/reference/hashtables.html

Classical OO -- http://docs.racket-lang.org/guide/classes.html

Personally, I consider some of Racket's other systems to be on par with object systems in terms of supporting whole styles of program development:

Contracts -- http://docs.racket-lang.org/guide/contracts.html

Types -- http://docs.racket-lang.org/ts-guide/index.html

Reactive event handling -- http://docs.racket-lang.org/frtime/index.html

Continuations of various kinds -- http://docs.racket-lang.org/reference/cont.html

I haven't used any of these systems (aside from hash tables, I guess). I rarely use Racket, and when I do, I'm still getting the hang of its module system, lol....