ASau has quit [Read error: Connection reset by peer]
lucas_ta has quit [Remote host closed the connection]
lucas_ta has joined #racket
lucas_ta has quit [Client Quit]
ASau has joined #racket
vancz has quit []
vancz has joined #racket
fun-safe-math has quit [Quit: Leaving]
mjt128 has quit [Ping timeout: 252 seconds]
Origin has quit [Ping timeout: 276 seconds]
cky has quit [Ping timeout: 248 seconds]
cky has joined #racket
Origin has joined #racket
shawnw has joined #racket
skapata has quit [Remote host closed the connection]
Tuplanolla has joined #racket
mwnaylor has quit [Ping timeout: 248 seconds]
cow_2001 has quit [Quit: cow_2001]
cow_2001 has joined #racket
avocadoist has quit [Ping timeout: 240 seconds]
vancz_ has joined #racket
vancz has quit [Ping timeout: 305 seconds]
micro has quit [Ping timeout: 305 seconds]
lucasta has joined #racket
micro has joined #racket
sarna has quit [Ping timeout: 265 seconds]
shawnw has quit [Ping timeout: 246 seconds]
mdhughes_ has joined #racket
lucas_ta has joined #racket
mdhughes has quit [Ping timeout: 250 seconds]
lucasta has quit [Ping timeout: 248 seconds]
mdhughes_ is now known as mdhughes
simendsjo has joined #racket
simendsjo has quit [Ping timeout: 252 seconds]
runrin has quit [Quit: leaving]
runrin has joined #racket
skapata has joined #racket
FreeFull has joined #racket
ika has joined #racket
<ika>
hi folks, why would `(foldl and #t (#t #t #f))' not work?
<ika>
it just returns `bad syntax' but i do not understand, isn't (and) considered as a procedure? like `cons' ?
ika has quit [Ping timeout: 255 seconds]
ika has joined #racket
<leah2>
and is a macro
<leah2>
and the list needs quoting
<ika>
> and is a macro thx i understand, i'll just use a lambda
<ika>
> list needs quoting yeah it was a typo, i was filtering some other list, thx anyway
ika has quit [Quit: WeeChat 3.8]
lucas_ta has quit [Remote host closed the connection]
johnjaye has joined #racket
msiism has joined #racket
<msiism>
Why does `(regexp-match? #rx"[^0-9ymd-]" "")` return #f? I expected it to return #t because the empty string matches the pattern, as far as I understand it.
<johnjaye>
does it still do it if you say ^a or ^b
<msiism>
Let me check.
<msiism>
Yes, it does.
<msiism>
This is on Racket 7.9.
<msiism>
…and also on 8.5.
FreeFull has quit [*.net *.split]
runrin has quit [*.net *.split]
micro has quit [*.net *.split]
micro has joined #racket
FreeFull has joined #racket
runrin has joined #racket
ec has joined #racket
ec has quit [Client Quit]
ec has joined #racket
<Tuplanolla>
That's a regular expression for matching a single character. Did you forget an asterisk?
<msiism>
Well, yeah it matches a single character. But it's not anchored.
<msiism>
So, it matches any single character that is not [0-9ymd-] in an arbitrary string.
<johnjaye>
well. doesn't that mean empty wouldn't be a match then?
<msiism>
That's what I thought.
<msiism>
That's why I was expecting #t.
<johnjaye>
i don't understand. if you're matching a single character which is not a digit, that doesn't match empty string.
<msiism>
[^0-9ymd-] means "not 0-9, y, m, d, or -".
<msiism>
But then, the empty string contains no characters.
<msiism>
I can work around this by saying (^$|[^0-9ymd-]), though.
<johnjaye>
i don't think those words mean what you think they mean.
<msiism>
Okay, so, now it makes sense: Does "" contain any characters that are not "0-9", "y", "m", "d", or "-"? Answer: No, because the string does not contain any characters.
<johnjaye>
[^0-9ymd-] means "a character such as a or b, but NOT 0-9, y, m, d, or -"
<msiism>
Yeah.
<msiism>
I just "forgot" that the empty string does not contain any characters.
<Tuplanolla>
If only we had a universal string that contains all the characters...
<msiism>
I'm not sure that would be useful.
<msiism>
I think, my misconception here might be influenced by using grep(1) on the Unix command line.