
Any idea?

You can’t do that hygenically because that specification is not hygenic. But it should be pretty easy by making that require
have the context of the (module ...)
form.

@samdphillips have you done aoc day 2?

I think the answer is yes, because he is #1 now on the leaderboard

It’s K? Really (I’m not disbelieving you… I’m just astonished I haven’t spotted that)

thanks all

what leaderboard?

Is this a private leaderboard?


hi all, how much is my compile-time performance going to hurt if i implement basically a whole grammar using syntax-class and splicing-syntax-class? am I looking at a greater-than-linear/constant slowdown if loads of patterns use each other, and themselves recursively?

obviously, recursive/nested patterns will take longer as appropriate. I guess I am asking if under the hood somewhere a >=n2 complexity is going to bite me.

@ryanc ^

@pezi_pink It depends on the grammar. For a linear grammar, the kind that you would normally feed to a LALR(1) parser generator (or similar), it could go very badly. For example, a left-recursive splicing syntax class (with the recursive case first) will just loop forever, I think. For a tree-structured grammar that you could parse with match
if not for the syntax nodes, it should work well, but you might need to put #:commit
declarations on your syntax classes (but not the splicing syntax classes).

@ryanc thanks for the tips, much appreciated. Ps. I watched one of your videos recently on this stuff, I didn’t know about (~?)
and (~@)
which have made my life a lot easier, thanks!

Is David’s “Felt” and “Brush” languages the same? (See the two top links at https://racket-stories.com/ )

Yeah I’m on Pacific Time so I have a bit of an advantage. Generally by the time I get to the 10th I cannot complete them as quickly.

I’m holding my GitHub pushes at least until 8am ish Pacific.

I am confused by the output of this: > (regexp-match #px"([:word:])(.*)" "foo")
'("oo" "o" "o")
I was expecting the f
to show up in the result as well.
What am I missing?

To clarify: did running xattr -d on the individual executables not work? Or is it just more convenient to do the whole directory at once?

FWIW, I’ve been (ab)using syntax-parse to do something like what you’re asking in https://github.com/Bogdanp/racket-review/blob/master/lint.rkt#L520 . I haven’t encountered any perf. issues thus far

I missed that [:word:]
belongs inside a [ ]
…

The solution to everything is more parenthesis!

I’m on pacific time too, but I always participated at 3am…

I’ve discovered from the programminglanguages discord server that it is possible to bridge discord server channels to IRC(freenode) is this desirable? (I’m assuming slack/irc bridge gone forever)

haha

@racket132 has joined the channel

Can you execve(2)
from a Racket program?

Like is there a good builtin/library to do it.

Yes, see system and process and other functions with similar names

Those don’t quite fit what I’m looking for (unless there is an option I’m missing), I need to exec a new process and racket would no longer be running.

Does someone have a link to the motivation behind creating the CS VM for Racket?

Never mind, found it: https://groups.google.com/forum/#!msg/racket-dev/2BV3ElyfF8Y/4RSd3XbECAAJ

find ./ -name \*.c

@bas has joined the channel