Settings

Theme

Racket News – Issue 31

racket-news.com

68 points by pmatos 6 years ago · 27 comments

Reader

mark_l_watson 6 years ago

I would like to see wider adoption of Racket. I spent six weeks earlier this year evaluating and comparing Racket, LispWorks Common Lisp, and Swift for an application [1] I am working on. I ended up not choosing Racket, but it was a very close decision.

As a modern Lisp, Racket really has it all: vibrant user and dev community, portable GUI support, easy to make standalone applications, and great libraries.

[1] http://knowledgegraphnavigator.com/

  • tjr 6 years ago

    Can you share, what was the deciding factor against Racket?

    • 147 6 years ago

      Not OP but for me, I wanted to write http server applications and I was put off by having to specify the http response status messages and timestamps. I'm wondering why something slightly higher level isn't built into the standard lib.

klibertp 6 years ago

Interesting[1]:

> This library defines disposables, composable first-class producers of values with associated external resources that must be allocated and deallocated such as database connections. Several safe abstractions are provided to consume disposable values while ensuring their associated resources are deallocated after use.

Apparently, disposable supplement custodians to work better for cleaning up externally allocated resources. I found the concept of custodians powerful, but not quite powerful enough, so it's good to see some work done in this area.

[1] https://docs.racket-lang.org/disposable/Basic_Disposable_API...

pontusrehula 6 years ago

A lot of new MIDI packages :p

  rs(src/pkg) is a live coding tool that lets you sequence MIDI using Racket.

  fuzzy-search(src/pkg) is a live coding tool that lets you sequence MIDI using Racket.

  planning(src/pkg) is a live coding tool that lets you sequence MIDI using Racket.
rudolfwinestock 6 years ago

Related: The Racket Stories news aggregator focuses on the Racket programming language, including news such as the original post.

https://racket-stories.com/

iddiid 6 years ago

Long time ago hygienic macros move me to decide to farewell racket. Common Lisp, clojure or scheme allow me to program in Lisp when I have some code to do. So I don't look back to racket. /rant

Edited: Hygienic macros are powerful but as an user of a computer language and not as a researcher I find them very difficult to grasp compared to Common Lisp macros. And this is only the tip of the iceberg, what is down is that the language is more oriented to researcher than to get things done. Should I work in Northwest University, I would appreciate a lot those complexity and make progress in the field, but that is not my cup of tea now. I don't have problems to program in Haskell or any other language, but I don't buy racket complexity.

  • baldfat 6 years ago

    Quote: the language is more oriented to researcher than to get things done.

    I can't disagree with that more. The whole reason why I switched to Racket is how quickly I can do things. I actually feel like it is much faster to go from idea to a running program in Racket then in Python. If I want to write a MIDI program o do sequences it takes me seconds to get something working making some noise.

    EXAMPLE: Racket makes executables super easy and fast. Python doesn't still have a way to go from my program on my computer to others easily.

  • p4bl0 6 years ago

    I'm not sure I understand what you said, but if you absolutely want to have "traditional" non-hygienic macros that manipulate Sexprs rather than syntax objects in Racket, you can: https://docs.racket-lang.org/compatibility/defmacro.html

  • klibertp 6 years ago

    Racket provides a defmacro in its stdlib IIRC, and even if it didn't, you can trivially implement it using syntax-case or syntax-parse with syntax->datum (and the other way around).

    You either don't really know what you're talking about, or you want to spread misinformation about Racket for some reason. I'd like to ask you to, in both cases, stop doing that.

  • jdormit 6 years ago

    What don't you like about Racket macros? AFAIK Racket has the most advanced macro hygiene system out of any of the other languages you mentioned - it guarantees that all macros are hygienic by default, as opposed to other Lisps which require you to manually call (gensym) or use special syntax in your macro to guarantee that macro symbols don't shadow existing bindings.

    • iddiid 6 years ago

      From (1) Fear of Macros ( this is from someone that mainly program in racket, not my personal opinion)

      But the moment I stepped past routine pattern-matching, I kind of fell off a cliff into a terminology soup. I marinaded myself in material, hoping it would eventually sink in after enough re-readings. I even found myself using trial and error, rather than having a clear mental model what was going on. Gah.

      (1) https://www.greghendershott.com/fear-of-macros/all.html

      My personal opinion: I think racket is more an ivory tower for researcher, many for northwest university. “PLT” refers to the group that is the core of the Racket development team. PLT consists of numerous people distributed across several different universities in the USA.

      As I am getting older I should prefer some middle ground between racket and go. Hygienic macros are difficult to understand in this context, that is I don't want to buy the power of hygienic macros, it is over sold.

      Anyway, I admire Mattew Flatt efforts in compilation tecniques and the author of Beautiful Racket.

      • klibertp 6 years ago

        So, what is it that you don't like about Racket macros? The quote doesn't explain it. Is it the fact that there are some concepts to learn before you can use them effectively?

        > that precludes hygienic macros.

        The fact that you are so fixated on hygiene as problematic, but can't really explain why you think it's like this, is a huge red herring.

      • baldfat 6 years ago

        This is FAR from a research language. What multi-purpose language is a research first language? Racket is no Haskell.

mindB 6 years ago

The videos for the "European Lisp Symposium" appear to just be random 30-second clips. Am I missing something?

https://www.twitch.tv/elsconf/videos

  • slightwinder 6 years ago

    Videos of the streams are gone. Likely this account had no status to make them available for a longer time:

    [..]Twitch Partners, Twitch Prime and Twitch Turbo users will have their broadcasts saved for 60 days before being deleted. All other broadcasters will have their broadcasts saved for 14 days before they are deleted.[..]

    Source: https://help.twitch.tv/s/article/video-on-demand?language=en...

    I hope someone made backups. I think are ways to reupload those videos, or make them longer available. I looked at some other streamers archive, and some do have way older videos under the highlights-section available.

dependenttypes 6 years ago

I really wish that racket had something similar to the c preprocessor's #line.

  • samth 6 years ago

    You can do that with `syntax/loc` when you're writing macros.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection