
Can define-values
be used in internal definitions? For example: (define (test)
(define-values (x y z) (values 1 2 3))
)
>> begin (possibly implicit): no expression after a sequence of internal definitions in: (begin (define-values (x y z) (values 1 2 3)))
But it works in top level definition.

Yes, it can be used in internal definitions. The problem here is exactly what the error message says: the function must return value(s).

(define (test)
(define-values (x y z) (values 1 2 3))
#f)

@sorawee I understand, thanks!

I like the mission control binding though… I’d really like the plain up-arrow to do this, as it does in racket
cli
how are custom keybindings defined?

I can’t see the difference, what am I missing? https://docs.racket-lang.org/style/Textual_Matters.html


Turns out Scribble fixes the bad example.

“Task failed successfully”

Or rather, check the snapshot doc: https://www.cs.utah.edu/plt/snapshots/current/doc/style/Textual_Matters.html?q=style#%28part._.Where_to_.Put_.Parentheses%29

It’s been fixed for a while, but the fix hasn’t made to the release doc (it should within a week?)

no worries, I guessed these were both the ‘good’ form :)

just want to say this slack is great, everyone is so helpful


But I’m not sure that will be sufficient to cover changing the keybinding for arrow keys.

I found there is a count
function can count element by comparing multiple lists. (count equal? list-a list-b)
But it seems that I can’t do the same thing with sequence-count
on multiple sequences. Also can’t do the same with stream-count
.
Is there any suggestion?

(define xs (list 1 2 3))
(define ys (list 1 -2 3))
(sequence-count equal? (in-parallel xs ys))

(define xs (stream 1 2 3))
(define ys (stream 1 -2 3))
(stream-count equal? (sequence->stream (in-parallel xs ys)))

packaging question… I have seen a few packages which have a single main.rkt
with (provides ...)
from various private modules for the public interface of the package is main.rkt
a privileged filename like info.rkt
? or a package will expose the provided names from any files in the top-level dir? …or something else?

Yep. (require abc)
will search abc/main.rkt

only main.rkt
? so every package should have a main.rkt
?

I mean, technically you can ask people to always write (require abc/def)
, and this will look for abc/def.rkt
, so strictly speaking, no.

But usually, it’s easier to write (require abc)
, so most library packages will have main.rkt

There’s also tool packages for DrRacket, and those will have tools.rkt
instead of main.rkt

perfect, thanks