jfred has quit [Remote host closed the connection]
rekahsoft has joined #racket
jfred has joined #racket
nshp has joined #racket
_whitelogger has joined #racket
endformationage has quit [Ping timeout: 240 seconds]
ArneBab has quit [Read error: Connection reset by peer]
ArneBab has joined #racket
fredmanglis has joined #racket
_whitelogger has joined #racket
rekahsoft has quit [Ping timeout: 260 seconds]
dan_f has quit [Quit: dan_f]
Sgeo has quit [Read error: Connection reset by peer]
andreyorst has joined #racket
andreyorst has quit [Ping timeout: 256 seconds]
andreyorst has joined #racket
Fare has quit [Ping timeout: 260 seconds]
poga has quit [Quit: WeeChat 1.9.1]
Fare has joined #racket
andreyorst has quit [Ping timeout: 240 seconds]
<BitPuffin>
I'm a bit confused about what alternative of all the parser generator and so on libs are the best
<BitPuffin>
There is parsack, supermegaparsack, parser generator, some fork of the parser generator
<BitPuffin>
Inb4 it depends
<BitPuffin>
Ah brag etc as well
<mzan>
BitPuffin: I used Brag in Racket and MegaParsec in Haskell.
<mzan>
I prefer the MegaParsec approach, but I don't know how well is supported in Racket.
<mzan>
I like the Brag way to specify the synatx, but then the parser produces an s-expr structure that must be further normalized, and I have to write too much "(match ...)" code.
<mzan>
Instead using parser combinators I can embed simple normalization instructions directly during the parsing.
Fare has quit [Ping timeout: 264 seconds]
<BitPuffin>
Hmm I think with one of the other parser generator libs you can specify syntax similar to brag but also insert normalising
<BitPuffin>
But yeah whenever I've borrowed the reader etc for sexp syntax I ended up with a lot of match
cky has quit [Ping timeout: 260 seconds]
cky has joined #racket
aaaaaa has quit [Quit: leaving]
orivej has quit [Ping timeout: 256 seconds]
nebunez has joined #racket
phillbush has joined #racket
Sgeo has joined #racket
andreyorst has joined #racket
caente has joined #racket
andreyorst has quit [Ping timeout: 256 seconds]
narimiran has quit [Quit: leaving]
Fare has joined #racket
aeth_ has joined #racket
aeth has quit [Disconnected by services]
aeth_ is now known as aeth
aeth_ has joined #racket
aeth has quit [Disconnected by services]
aeth_ is now known as aeth
bru` has joined #racket
notzmv has joined #racket
<bru`>
hello! I am using DrRacket. I have this big sexp (100MiB+ when written on disk) that I want to work on. I want to be able to edit the functions that manipulate it in a file, and modify them and re-run the definitions, without having to reload my big structure.what's the best way to do it?
<bru`>
my current take on that is to have a file playground.txt where I load my structure. I run it, and then I require "my-functions.rkt". I use mmy functions, then modify the source, then reload "my-functions.rkt", and get updated definitions
<bru`>
I thougt that dynamic-rerequire would help me achieve that. However when I do it (without require-int it before as per the doc), no definition for what "my-functions.rkt" has in its (provide) are available
<bru`>
what amm I doing wrong? Thanks!
<samth>
`dynamic-rerequire` is only really going to work at the REPL in Drracket, not in the definitions window
<bru`>
Yes, I would be running it from the interactions window
<bru`>
(and from the interaction window of another file)
<samth>
bru`: here's my interaction with DrRacket, it worked right for me
dustyweb has quit [Read error: Connection reset by peer]
orivej has joined #racket
dustyweb has joined #racket
Fare has quit [Ping timeout: 258 seconds]
dustyweb has quit [Remote host closed the connection]
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
aeth has quit [Ping timeout: 260 seconds]
aeth has joined #racket
ArneBab has quit [Remote host closed the connection]
andreyorst has joined #racket
endformationage has joined #racket
narimiran has joined #racket
Vaelatern has joined #racket
<Vaelatern>
Stupid question. I'm trying to do this: (let ((a 3) (b 3)) (match (list 3 3) (`(,a ,b) 3))) but it matches any list (two bind matches instead of two equal? checks)
dan_f has joined #racket
nperez has joined #racket
<Vaelatern>
to be clear I want this to error on no matching clause: (let ((a 3) (b 3)) (match (list 1 3) (`(,a ,b) 3))) instead of just returning 3.
notzmv has quit [Remote host closed the connection]
notzmv has joined #racket
andreyorst has quit [Ping timeout: 240 seconds]
<Vaelatern>
This is definitely far confusing. The spec says right there that pat includes (quote datum) to "match equal? value"
<Vaelatern>
yet I can't seem to trigger that behaviour
aeth has quit [Ping timeout: 264 seconds]
dan_f has quit [Quit: dan_f]
aeth has joined #racket
Steeve has joined #racket
dustyweb has joined #racket
rgherdt has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #racket
narimiran has quit [Ping timeout: 260 seconds]
nebunez has quit [Ping timeout: 240 seconds]
harlchen has joined #racket
<samth>
Vaelatern: (quote 3) matches 3
<samth>
a matches anything
<Vaelatern>
then I should be able to: (let ((a 3) (b 3)) (match 3 ('a 3) (_ empty))) but that gives me empty
true-grue has quit [Read error: Connection reset by peer]