4 ms·
Racket is a mixed bag for me. I've found a little quirks in the standard library, with simple fixes, but annoying. Stuff like decimal->string (?) producing odd
by uxp100 7y ago
Racket is a mixed bag for me.
I've found a little quirks in the standard library, with simple fixes, but annoying. Stuff like decimal->string (?) producing odd output. (It was a tiny fix on my end, but it's a little subjective, maybe the behavior was intended) Not a big deal, but maybe a little impediment for learners compared to python.
The article mentions Scribble, which I use as a static site generator for a a page with a leader board for EDH games (and maybe adding 9 ball lol). Some small CSS changes made it OK for cell phones (basic changes to make it responsive so it's ugly but readable), but as is it sucks, and the maintainers have no interest in changing that.
Dr. Racket is unfortunate. If I remember correctly it has a tabbed interface, but right clicking on the tabs does not bring up a menu, and the tabs might not have close buttons either? It's not bad, but inferior to any dedicated editor.
OTOH, I keep using it for little tasks, I like the language, and I seem to be one of the few people who are excited about the Racket2 syntax, so I think I will stick with it. I had been considering switching my lisp use to clojure.
- soegaard 7y agoThe modern way of converting numbers to strings is ~v. Unlike `number->string` (which is compatible with Scheme), ~v has all the features one would expect (min-width, padding rounding etc.).
- soegaard 7y agoAlso check racket-mode for Emacs.
- samth 7y agoCan you say more about the issue with number->string (probably that's the function you used)? Also, I think we'd be happy to take patches to improve the Scribble CSS for mobile.
- uxp100 7y agoJust looked at my code. It was "real->decimal-string" It includes the decimal point, even when the "digits" parameter is 0. Minor, but when throwing a tiny page together I probably spent 10% of my time just figuring out where that function lived and that there wasn't some other routine I should be using (though it sounds like there actually is). So I changed the format string to "~a~a~a~a" from "~a~a.~a" and did (if (zero? digits) "" "."). Potentially the existing behavior is correct for scheme compatibility? I'm not web guy, my changes are pretty haphazard, but I'm not the first person to notice this. https://github.com/racket/scribble/pull/62 https://github.com/racket/scribble/pull/62 is a rejected pull request (with you as a reviewer, so I'm sure you know that it doesn't work well currently, on my iPhone SE at least, maybe larger form factor phones do better)
- paroneayea 7y agoApparently we've had very different experiences. - Yes, there are some quirks in the standard library, but overall most of it seems very well designed. Having spent a bunch of time in Python, which also has a standard library with I'd argue even more quirks. But most Racket libraries seem very carefully thought out IME; I'm not sure that something this old can not have some weird oddities though. - We used DrRacket to teach a class to students who had never programmed before. What's amazing is that a) the students picked it up quickly and immediately... what other lisp can claim having something like that? and b) it's the only editor that I myself am happy to use other than Emacs. That's an interesting and unusual overlap, and deserves a pat on the back. Yes, Racket has its quirks, but what doesn't? It's still an extraordinary project, community, development environment IMO.
- snazz 7y agoWhat kind of machine do you have where DrRacket functions at an appropriate speed? Does it run better on Windows, maybe? It's noticeably laggy on my desktop with 5GB RAM free, a fast quad-core processor, and a fast SSD. I like the design and the ideas it has for teaching, but I can't imagine it being usable performance-wise on the kind of machines that schools usually purchase.
- laszlokorte 7y agoTurning off „background code expansion“ in the settings helps alot
- kd0amg 7y agoDrRacket seems to suffer a lot from re-implementing typical GUI components. Scrolling a text pane is slow (unless there's a very small amount of text in it), clicking buttons sometimes produces no visual acknowledgement, the "close window" hotkey does not work on some windows (e.g., Preferences), etc. The most entertaining example I've seen was a few years ago when some users with Retina MacBooks were confused as to why the close/minimize/resize buttons in DrRacket were blurry while no other applications they ran had that issue.
- uxp100 7y agoI just loaded it to check something, and it is slow to load and scroll, but other things are not too bad. It's written in racket, right? It could be worse, I'd compare favorably it to a java swing GUI 10 years ago, and it looks native on windows. Probably better behaving than electron UIs, to beat a dead horse.
- malloryerik 7y agoDrRacket's best feature might be that it has almost zero setup or configuration. Download, choose Beginner Student Language, and you're ready to rock. If one isn't using something like Beginner Student Language but just straight Racket then I imagine they've already graduated to another editor, except for maybe, as you say, keeping DrRacket around for little tasks. That's what I love about DrRacket: for the beginning user it has the complexity of a children's pull wagon.