@notjack: If rackunit-typed is transitively depended on by something in the main-distribution, then its repo will be in the release catalog.
I merged the PR anyway
@dustin I’ve been seeing that on /r/lisp… seems very early… do you actually use it?
once it develops enough features, it will become an editor
^_~
but of course
this is probably silly, but what do you people think about curried named arguments?
@zenspider I’ve not had a chance to try it yet. And yes, I think the project is fairly new. But I thought it was interesting because I don’t think there’s many browsers that work in the way programmers do.
https://pkgs.racket-lang.org/package/echonest This package of mine has failing tests — but IIUC they fail because the EchoNest API no longer exists due to Spotify gobbling them up and shutting it down some years ago. Should I just delete the package? On the one hand that seems harsh. But on the other hand I’m pretty sure anything depending on it has been broken a long time anyway and I can’t fix it. Suggestions? (Racket package system is new enough I don’t think there’s much precedent for this?)
I think deleting it seems unnecssary — the code might be interesting to someone
I could push a commit that disables the tests and updates the README
Also on GitHub I could use their newfangled “archive” thing to signal it’s end-of-life
that’s what I think makes sense
nEXT looks quite interesting, I’m unclear on whether it’s capable of executing Javascript? I noticed that there’s no mention of any security features which makes me rather concerned. Web browsing is one of the most hazardous computer activity one can do today. The manual is lacking in additional details unfortunately but still it looks really cool.
OK thanks for the advice!
archive? huh
cool. thanks. That’ll probably help me. I have a ton of repos
they’ve been rolling out a number of new features. I got tagged on one of the security alerts (for something that should be archived)
aaaand now I wish there was a tool to archive all my projects based on last commit date or somesuch.
i’m surprised that searching for keyworded currying turns up so little
i guess people prefer index locations to names
but it also allows easier insertion of arguments in an order-free manner
@slack1 curried named arguments sound a bit odd, but not totally unreasonable - I encourage you to make an #%app
macro exploring the possibility :)
I think curry already does that, actually
It doesn’t Welcome to Racket v6.11.0.2.
> (define (f #:x x #:y y) (cons x y))
> ((curry f) #:x 3)
; application: procedure does not accept keyword arguments
; procedure: curried
; [,bt for context]
but it could.
Interestingly, you are allowed to provide keyword arguments to curry
if you do it as part of the initial application. However, it’s pretty broken, and it does weird things.
@lexi.lambda I think this does what you want regarding keyword args https://docs.racket-lang.org/kw-utils/Partial_application_with_keywords.html
Like this, for example: > (define (g #:x x #:y y z) (list x y z))
> (curry g #:x 3 #:y 5)
#<procedure:curried>
> ((curry g #:x 3 #:y 5) 7)
#<procedure:curried>
@cfinegan As the docs mention, that has much more of a partial application feel than a currying feel. To be consistent with curry
, it would need to support something like this: > ((((curry (lambda (#:x x #:y y #:z z) (list x y z))) #:y 2) #:x 1) #:z 3)
'(1 2 3)
(Of course, “currying” means a very specific thing, and curry
is really closer to auto-partial
. But whatever.)
Heh, I wasn’t aware of the difference until you pointed it out. It’s strange that a util exits for one, but not both.
I think curry
is essentially broken in the presence of keyword arguments. The fact that ((curry (lambda (x #:k k) (cons x k)) #:k 2) 1)
doesn’t apply the function means it doesn’t really work.
That’s a bug, though, going by the documentation… it should probably be fixed.
I dooo wish I could write my own, but I’m going to get better at the basics first
I find that I’m often using directional, sequential methods even on non-sequential data
It’s very tempting to shove everything into lists
@mflatt what’s the best way to debug a macro that was broken by the set-of-scopes expander?
How does one see the code behind a standard Racket function?
@slack1 it depends if they’re implemented in the runtime or in a library, but for most, right click in drracket and go to the definition
You mean where it brings you to the Docs?
no
Oh thanks I found it
Anyone using macOS High Sierra might want to update ASAP. There’s a security concern that allows login using the username root
with no password. This happens to occur remotely as well.
Thought it was maybe a hoax until I saw this:
It’s amusing because the general sysadmin advice is not to set a root pw
What small mini app do Racketers make as a stepping stone of progress?
a programming language :wink:
ahhhhh
@samth @slack1 if pressing f1 opens the docs for a definition, maybe f2 should open the source
seems like a useful and easily taught shortcut
Yes it’s a beautiful website
I find it a little… episodic?
It jumps around and has funny gaps
oh quite exciting
you are on top of every bit of news