<NieDzejkob>
in a syntax-case's literal-id list, how can I list an identifier such that it's treated as unbound, even if it's bound in the module I'm defining the macro in?
kaytwo has joined #racket
zzappie has quit [Remote host closed the connection]
gracefu_ has quit [Ping timeout: 252 seconds]
gracefu_ has joined #racket
joe_gb has joined #racket
<joe_gb>
Hi all, I am working on a pretty heavy number crunching code. I am at a stage where I need to convert a Flvector to Flarray, but I can't understand how to do this from the documentation alone. I tried with vector->array, but: vector->array: contract violation
<joe_gb>
expected: vector?
joe_gb1 has joined #racket
joe_gb has quit [Read error: Connection reset by peer]
badkins has quit [Remote host closed the connection]
badkins has joined #racket
badkins has quit [Ping timeout: 260 seconds]
badkins has joined #racket
zzappie has joined #racket
orivej has joined #racket
<kaytwo>
what does "/c" mean in "any/c"?
<joe_gb1>
Contract, I guess
<kaytwo>
so the /c in "any/c" means it's a contract, and "any" without the /c is also a contract? huh.
aeth_ has joined #racket
aeth has quit [Disconnected by services]
aeth_ is now known as aeth
<joe_gb1>
I'm afraid I don't know more than what is written here: file:///opt/racket-8.0/doc/guide/contract-func.html#%28part._any_and_any_c%29
badkins has quit [Remote host closed the connection]
badkins has joined #racket
badkins has quit [Ping timeout: 252 seconds]
joe_gb1 has left #racket [#racket]
catonano has joined #racket
rj has quit [Ping timeout: 240 seconds]
c2f0 has joined #racket
badkins has joined #racket
c2f00 has quit [Ping timeout: 248 seconds]
<yurb>
kaytwo: any/c checks for any single value; `any` can only be used on the function return value(s) and allows any number of values, not just a single value
<kaytwo>
yurb: right, but does the /c mean "contract"? (so some contracts have that suffix and some don't?)
<yurb>
afaict, `/c` is used to distinguish a contract from something else with the same name
rgherdt has quit [Remote host closed the connection]
<yurb>
for instance, `or/c`, `list/c`, etc
<yurb>
`any` is just a very special case I guess
<yurb>
technically, any function returning #t or #f can be a contract
rj has joined #racket
<kaytwo>
is the converse also true? is it valid to apply any contract to a value to determine if it passes?
<kaytwo>
(i don't see this explicitly documented but it seems to work)
<yurb>
kaytwo: not sure if that applies to all contracts or just some
irc_user has joined #racket
<yurb>
kaytwo: from the manual: "All of the flat contracts returned by functions in this library can be used directly as predicates, but ordinary Racket values that double as flat contracts (e.g., numbers or symbols) cannot"