News for hackers. Stuff that matters.
Re:Racket 8.1 by yewenjie on Friday May 07, 2021 @06:46AM (#27074471)
I think Racket is the only modern lisp which has a sufficiently large community. What, if any, do you think should be the flagship project for introducing Racket?
Re:Racket 8.1 by forgotpwd16 on Friday May 07, 2021 @07:04AM (#27074569)
Interestingly you're writing this on a forum which runs on (or used to run?) on Racket. HN was written in Arc[0] which was implemented atop Racket[1]. And that's a good example case of using Racket as it is proponent of language-oriented programming[2].

[0]: http://arclanguage.org

[1]: http://arclanguage.org/install

[2]: https://beautifulracket.com/appendix/why-lop-why-racket.html

Re:Racket 8.1 by e12e on Saturday May 08, 2021 @06:32AM (#27085775)
See also community fork, anarki: http://arclanguage.github.io/
Re:Racket 8.1 by dermal on Friday May 07, 2021 @07:19AM (#27074654)
Yes, this forum was implemented in Arc, atop of Racket. But the reason for that is because Arc is great, not Racket.
Re:Racket 8.1 by forgotpwd16 on Friday May 07, 2021 @07:24AM (#27074696)
Writing a domain-specific language on Racket is kinda Racket's main selling point. If you don't trust me, you can trust the people who made Arc and HN. Afterall back in 2007 you had other options. Some of them vastly popular even now (Rails, Django, PHP, Scala, ...).
Re:Racket 8.1 by baldfat on Friday May 07, 2021 @10:40AM (#27076423)
I don't think HN News uses Arc anymore. Also Arc is just a language written with racket. Racket is a language for making languages.
Re:Racket 8.1 by dang on Friday May 07, 2021 @02:38PM (#27079279)
Re:Racket 8.1 by samth on Saturday May 08, 2021 @05:39PM (#27090976)
By the way, we'd be interested to hear how your deployment is going, what versions you're using, etc. Feel free to drop me or Matthew a line anytime.
Re:Racket 8.1 by gus_massa on Friday May 07, 2021 @04:47PM (#27080702)
Arc has many design decisions that are different than Racket, so Arc reimplements a lot of parts.
Re:Racket 8.1 by wa1987 on Friday May 07, 2021 @06:49AM (#27074488)
There's Clojure too.
Re:Racket 8.1 by jnxx on Saturday May 08, 2021 @06:30AM (#27085767)
I think both Clojure and Common Lisp are modern lisps too, both have large user communities. Common Lisp is mostly different in that it is much more agnostic than Scheme, for example it as no constraints in using imperative patterns. On the other hand, it also has acquired libraries for purely functional data types, which is one of the main innovations of Clojure.
Re:Racket 8.1 by polytely on Friday May 07, 2021 @07:35AM (#27074751)
I'm not really a racket user (more of an admirer) but every time I see an online book created in Pollen it looks amazing.

https://docs.racket-lang.org/pollen/

Re:Racket 8.1 by alessivs on Friday May 07, 2021 @11:12AM (#27076806)
Pollen is just a very extensible and composable slate for you to compose content. Under the hood, Pollen may be equivalent to the Scribble language without the fixed export structures and styles.

That the outputs look very good may be correlated with the author and other prominent users caring for typography and web delivery.

As-is, my impression is that generation of multiple pages seems slower than scribble/manual, but the community has been exploring use of databases to speed up caches. In this respect, I've been eyeing the work of this member in particular: https://github.com/otherjoel

All this speaks very good of the seemingly limitless flexibility of the Racket ecosystem.

Re:Racket 8.1 by rataata_jr on Friday May 07, 2021 @07:45AM (#27074827)
I really like Guile
Re:Racket 8.1 by bjoli on Friday May 07, 2021 @03:59PM (#27080243)
So do I. However, whenever I think of changes I would like to do to guile I end up with a language a lot closer to racket... Immutable pairs, immutable hash tables, immutable strings (which racket has not), user extensible pattern matching and a proper looping facility (preferrablymore powerful than rackets).

Add to that some better facilities for mixing languages and it is a very nice language that is very close to racket. Yet for some reason I find guile more fun.

Re:Racket 8.1 by gus_massa on Friday May 07, 2021 @06:09PM (#27081416)
Nitpicking:

> immutable strings (which racket has not)

The reader makes strings in the sour code immutable by default. And if you have a mutable string you can use string->immutable-string https://docs.racket-lang.org/reference/strings.html#%28def._...

Re:Racket 8.1 by bjoli on Sunday May 09, 2021 @02:04AM (#27093630)
Yeah. I should have been more clear. I meant as the default. There are all kinds of nice optimizations that can be done with immutable strings compared to mutable ones. Which I probably don't have to tell you, Gustavo :) I have been reading every patch you have made to chez, not understanding half of it but loving every moment.
Re:Racket 8.1 by Decabytes on Friday May 07, 2021 @12:11PM (#27077430)
Christopher Lemmer Webber has some really great talks about Racket and Guile. Guile certainly does a lot better on the interactive programming front
Re:Racket 8.1 by spdegabrielle on Friday May 07, 2021 @01:55PM (#27078773)
So many things have been made in Racket you would have specify the sort of thing you were after.

Maybe web services? https://youtu.be/ZvwE6_MMJjM

Re:Racket 8.1 by dermal on Friday May 07, 2021 @07:00AM (#27074544)
There are some very valid reasons [1] why we should stay away from Racket: toxic community, toxic people... And come on: no one has ever really used Racket to write some decent nontrivial web application, documentation is awful (and, please, don't count HN here, cause HN is written in Arc).

[1] https://www.youtube.com/watch?v=_wY7FBtr7_c

Re:Racket 8.1 by dang on Friday May 07, 2021 @02:35PM (#27079241)
Could you please stop creating accounts to post like this? I realize you have some strong opinions about Racket. I have no doubt that there is some truth in there. But what you're doing here is absolutely not what this forum is supposed to be for, and you're hurting it. If you would please stop, we'd be grateful.

https://news.ycombinator.com/newsguidelines.html

Re:Racket 8.1 by GavinMcG on Friday May 07, 2021 @07:23AM (#27074688)
I watched the whole video.

He acknowledged that Racket has excellent documentation, a wide-ranging toolset, etc. All the good stuff you've heard elsewhere.

He criticizes the language-oriented model (in comparison to languages that people are familiar with but that allow embedded Deals, like Lua or Ruby) because creating a new DSL is antithetical to code that communicates with other programmers. This is fair, and a common criticism of Lisps: the complete freedom of the macro system means that individual programmers can create their own dialects quite easily, and other users of that code have a harder time working with it than in languages where there's not as much metaprogramming.

On the "toxic" front, one of the core team apparently asked a waitress a cringy question about higher education, referred to some other educators (at the creator's institution) as doofuses and the like, and was arrogant.

And at the end of it all, though he doesn't see a use for Racket's language-oriented model, he recommends learning and using it.

Re:Racket 8.1 by protomyth on Friday May 07, 2021 @07:56AM (#27074913)
because creating a new DSL is antithetical to code that communicates with other programmers.

DSLs communicate wonderfully with the business users paying for the program. It also allows a programmer to match the jargon / industry speak used by the users.

Re:Racket 8.1 by Bootvis on Friday May 07, 2021 @08:32AM (#27075169)
Do you have an example of such a DSL? I like the idea but I myself can’t come up with a tool that implements it well.
Re:Racket 8.1 by lukego on Friday May 07, 2021 @10:10AM (#27076063)
Design rules in CAD software?

I know that Cadence's ASIC design tools are based on a custom Lisp dialect. I've seen a presentation at a Lisp conference from an architect who was representing myriad building regulations as Lisp expressions e.g. minimum clearance between toilet and bathroom door. There was another presentation about Lisp software for simulating aircraft engine performance based on various input parameters.

I don't know how close these applications are to Racket's ideal but I imagine they're somewhere on that spectrum.

Re:Racket 8.1 by dagw on Friday May 07, 2021 @10:21AM (#27076178)
I've seen a presentation at a Lisp conference from an architect

If you start talking to older architects and civil engineers who where active in the early to mid 90s, you'll be surprised how many of them know (or at least knew) Lisp.

Re:Racket 8.1 by blacktriangle on Friday May 07, 2021 @08:41AM (#27075235)
Not Racked based, but I'd say Cucumber/Gherkin. Yes it is absolutely overkill for small teams, but if you have a dedicated person who is not really a programmer but who is managing requirements between the developers and the stakeholders, Cucumber is amazing in that scenario.
Re:Racket 8.1 by protomyth on Friday May 07, 2021 @10:05AM (#27076007)
The ones I know of are locked in corporate IT departments, but Zed Shaw in his "The ACL is Dead" talk[1] from 2008 describes the use of one in relation to permissions on documents with rules specified in the DSL.

1) https://vimeo.com/2723800

Re:Racket 8.1 by hashkb on Friday May 07, 2021 @09:17AM (#27075518)
Rails routes. ActiveRecord. RSpec
Re:Racket 8.1 by e12e on Saturday May 08, 2021 @06:39AM (#27085818)
> He criticizes the language-oriented model (in comparison to languages that people are familiar with but that allow embedded Deals, like Lua or Ruby)

Oh, I whish ruby had a more formal way to switch to DSLs - I love ruby, but can't stand meta-heavy/DSL-heavy subsystems. The rspec test system is a prime example (saved to some small degree by its excellent and detailed documentation): https://rspec.info/

Re:Racket 8.1 by alessivs on Friday May 07, 2021 @10:13AM (#27076084)
> On the "toxic" front, one of the core team apparently ... was arrogant.

An ingredient that may contribute to judgment of this video testimony, is that the same person that describes this toxic environment accuses someone providing a different personal impression of the community of engaging in "micro-agression" in the video comments.

Re:Racket 8.1 by rscho on Friday May 07, 2021 @07:54AM (#27074896)
Hey, you're improving! You actually modified your spiel instead of only copy/pasting the last iteration of your smear campaign like last time. Way to go :D

PS : what happened to the "you can't make a web app in Racket" part?

Re:Racket 8.1 by ashton314 on Friday May 07, 2021 @11:58AM (#27077245)
Lol. Who is this person you’re replying to, and can we get them banned for being a troll?

I really don’t know what this guy’s talking about in other comments. Web apps seem super easy to put together in Racket. For those curious, see:

https://docs.racket-lang.org/web-server/index.html

https://docs.racket-lang.org/continue/index.html

(The troll also acknowledges that Arc is a neat language— apparently, they think that racket is a terrible language to write bad applications, but I guess it’s good enough to write a language to write good web applications in!)

(I have heard a Racket described as the “second best programming language, the best programming language is the one you use Racket to build!)

Re:Racket 8.1 by GavinMcG on Friday May 07, 2021 @07:10AM (#27074604)
Racket's documentation isn't something I've ever heard criticized. It's extensive, well-written, and even has various formats for users at different levels of familiarity. I don't think I've run into another language whose documentation gave me as much confidence.
Re:Racket 8.1 by borodi on Friday May 07, 2021 @07:14AM (#27074617)
I would say that racket has one of the best tutorials ever made for any language. Specially with the reduced versions inside DrRacket. Also some books like How to Design Programs.
Re:Racket 8.1 by baldfat on Friday May 07, 2021 @01:06PM (#27078189)
How to Design Programs is maybe my all time favorite programming book. BUT it is incredibly dense and you can't go to it for your first book. Realms of Racket is a good one though.
Re:Racket 8.1 by tdsamardzhiev on Friday May 07, 2021 @07:46AM (#27074837)
I remember a time when people could take being called a "doofus" without starting a smear campaign.
Re:Racket 8.1 by notriskfree on Friday May 07, 2021 @08:14AM (#27075049)
You doofus.
Re:Racket 8.1 by nickpeterson on Friday May 07, 2021 @07:18AM (#27074645)
I watched this video (skimmed), it seems like the creator had a few incidents involving people in the racket community. I’m not a racket community participant or racket user, but every community has these issues. Honestly this feels like a really weird ax to grind against racket?
Re:Racket 8.1 by lukego on Friday May 07, 2021 @09:46AM (#27075783)
He's talking in measured terms about his own personal experience on his own personal vlog. It was probably cathartic for him (and for other people too.) No big deal.