lexi-lambda changed the topic of #racket to: Racket v7.2 has been released: https://blog.racket-lang.org/2019/01/racket-v7-2.html -- Racket -- https://racket-lang.org -- https://pkgs.racket-lang.org -- Paste at http://pasterack.org
pierpal has joined #racket
soegaard has quit [Quit: soegaard]
forgottenwizard is now known as ZombieChicken
dddddd has quit [Remote host closed the connection]
pera has quit [Ping timeout: 246 seconds]
jao has quit [Remote host closed the connection]
jao has joined #racket
orivej has quit [Ping timeout: 248 seconds]
manualcrank has joined #racket
johnjay has quit [Ping timeout: 258 seconds]
johnjay has joined #racket
endforma1 has quit [Quit: WeeChat 2.4]
endformationage has joined #racket
FreeFull has quit []
johnjay has quit [Ping timeout: 245 seconds]
jao has quit [Ping timeout: 245 seconds]
johnjay has joined #racket
lavaflow has quit [Read error: Connection reset by peer]
lavaflow has joined #racket
iyzsong has joined #racket
pera has joined #racket
clacke_movim has left #racket [#racket]
clacke_movim has joined #racket
johnjay has quit [Ping timeout: 252 seconds]
johnjay has joined #racket
pera has quit [Ping timeout: 246 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #racket
pera has joined #racket
caltelt has quit [Remote host closed the connection]
caltelt has joined #racket
caltelt has quit [Ping timeout: 244 seconds]
sauvin has joined #racket
nicolasman2 has joined #racket
acarrico has quit [Ping timeout: 258 seconds]
jrslepak has quit [Ping timeout: 258 seconds]
vxe has quit [Read error: Connection reset by peer]
nicolasman has quit [Ping timeout: 258 seconds]
libertyprime has joined #racket
jrslepak has joined #racket
dddddd has joined #racket
lavaflow has quit [Read error: No route to host]
lavaflow has joined #racket
endformationage has quit [Ping timeout: 252 seconds]
rain1 has quit [Ping timeout: 258 seconds]
rain1 has joined #racket
libertyprime has quit [Ping timeout: 252 seconds]
libertyprime has joined #racket
reverse_light has quit [Remote host closed the connection]
pera has quit [Ping timeout: 268 seconds]
pera has joined #racket
orivej has joined #racket
libertyprime has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 245 seconds]
pera has quit [Ping timeout: 245 seconds]
_whitelogger has joined #racket
_whitelogger has joined #racket
lavaflow has joined #racket
m1dnight_ has quit [Quit: WeeChat 1.9.1]
m1dnight_ has joined #racket
m1dnight_ has quit [Client Quit]
m1dnight_ has joined #racket
m1dnight_ has quit [Client Quit]
m1dnight_ has joined #racket
libertyprime has joined #racket
soegaard has joined #racket
_whitelogger has joined #racket
libertyprime has quit [Quit: leaving]
<ZombieChicken> Can someone explain the purpose of boxes to me?
iyzsong has quit [Read error: Connection reset by peer]
<soegaard> With respect to what?
<ZombieChicken> just in general; a one element vector seems a little pointless at first glance
iyzsong has joined #racket
<soegaard> Boxes are indeed one-element vectors. Using a box signals how you are going to use that value.
<soegaard> Using a box makes it clear you are going to mutate it.
<ZombieChicken> what exactly do you mean by mutate?
<soegaard> Also you have an operation on a box, not available for vectors, namely box-cas!
<soegaard> A box holds some value. By mutate I mean change the element in the box.
<ZombieChicken> k
<soegaard> box-cas! Can atomically change the contents of a box
<ZombieChicken> as long as the previous and next values are the same type?
<soegaard> In Racket a box can hold any value.
<ZombieChicken> so in other words it would be useful for a global changing value
<soegaard> Yes.
<ZombieChicken> alright, thanks
<soegaard> Another use case:
<soegaard> In Racket lists are immutable, so set-car! is not present.
<soegaard> In stead you can have a list of boxes, and then then use set-box!
<ZombieChicken> yeah
<ZombieChicken> I'm looking to start cobbling together a text editor
<soegaard> Great project!
<ZombieChicken> and noticed that apparently vectors are fixed-length, which is a bit annoying; I was hoping for something with a nice, constant time access for everything
<soegaard> Do you know the "Emacs" book?
<ZombieChicken> The Craft of Text Editing?
<ZombieChicken> yeah, I have a copy
<soegaard> yes, that's the one
<ZombieChicken> (or whatever it's name is)
<soegaard> It's surprisingly tricky to make a nice data structure for a buffer.
<ZombieChicken> iirc it suggest using list, but the idea of trying to display line $BIGNUM of a file and having to walk the list every. single. time. seems really, really slow
<ZombieChicken> I was thinking a vector of list personally
<ZombieChicken> but that seems like a no-go without alot of weird vector->list and vise versa
<soegaard> There is an extensible vector data structure in racket/data btw.
orivej has joined #racket
<soegaard> Another great source of inspiration is the source of Edwin:
<ZombieChicken> soegaard: Did you mean racket/vector instead of racket/data? I'm finding a vector-append in ./vector, but not seeing a ./data
<soegaard> Oh, I think its just data
<ZombieChicken> yep. 2. Growable Vectors
<ZombieChicken> Operations on gvectors are not thread-safe. <- That is annoying
<soegaard> Yes!
<ZombieChicken> Yes, as in that's it?
<soegaard> Yes, it's annoying.
<ZombieChicken> don't imagine that will be /that/ annoying to handle to start with
<ZombieChicken> any good ways to make it thread-safe w/o having to implement your own system?
<soegaard> Don't know. If there is a simple solution, I'd like hear about it.
<soegaard> I know some use the rope data structure instead.
<ZombieChicken> rope?
Fernando-Basso has joined #racket
<soegaard> Hmmm - I wonder what DrRacket uses.
<ZombieChicken> that's an interesting idea
<ZombieChicken> think I'll stick with a vector-of-list until that seems to be a problem
pie_ has quit [Ping timeout: 258 seconds]
_whitelogger has joined #racket
orivej has quit [Ping timeout: 258 seconds]
orivej has joined #racket
orivej has quit [Ping timeout: 258 seconds]
orivej has joined #racket
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #racket
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
pie_ has joined #racket
pie_ has quit [Remote host closed the connection]
lavaflow has quit [Ping timeout: 258 seconds]
orivej has quit [Ping timeout: 258 seconds]
soegaard has quit [Quit: soegaard]
mb01 has joined #racket
mb01 has quit [Ping timeout: 264 seconds]
iyzsong has quit [Read error: Connection reset by peer]
FreeFull has joined #racket
ym555 has joined #racket
pera has joined #racket
<greghendershott> Another option is a gap buffer https://en.wikipedia.org/wiki/Gap_buffer
<greghendershott> Although maybe n/a for you, an argument for a gap buffer is better locality of reference https://en.wikipedia.org/wiki/Locality_of_reference
<greghendershott> (Big O isn't necessarily the whole story.)
caltelt has joined #racket
orivej has joined #racket
acarrico has joined #racket
acarrico has quit [Ping timeout: 246 seconds]
Sgeo_ has joined #racket
BSLANG has quit [Ping timeout: 255 seconds]
Sgeo__ has quit [Ping timeout: 248 seconds]
Sgeo has joined #racket
Sgeo_ has quit [Ping timeout: 246 seconds]
endformationage has joined #racket
BSLANG has joined #racket
orivej has quit [Ping timeout: 245 seconds]
orivej has joined #racket
pera has quit [Ping timeout: 246 seconds]
ricekrispie has joined #racket
pera has joined #racket
Arcaelyx has joined #racket
ricekrispie2 has quit [Ping timeout: 248 seconds]
orivej has quit [Ping timeout: 246 seconds]
pera has quit [Ping timeout: 246 seconds]
orivej has joined #racket
orivej_ has joined #racket
orivej has quit [Ping timeout: 255 seconds]
pera has joined #racket
pera has quit [Ping timeout: 255 seconds]
orivej_ has quit [Ping timeout: 245 seconds]
pera has joined #racket
pera has quit [Ping timeout: 245 seconds]
pera has joined #racket
ng0 has joined #racket
soegaard has joined #racket
odanoburu has joined #racket
efm has joined #racket
soegaard has quit [Quit: soegaard]
soegaard has joined #racket
johnjay has quit [Ping timeout: 248 seconds]
johnjay has joined #racket
selimcan has joined #racket
selimcan has quit [Remote host closed the connection]
dbmikus_ has joined #racket
ayerhart has quit [Quit: ayerhart]
pera has quit [Ping timeout: 255 seconds]
Fernando-Basso has quit [Read error: Connection reset by peer]
caltelt has quit [Ping timeout: 268 seconds]
jao has joined #racket
mSSM has joined #racket
orivej has joined #racket
dustyweb has quit [Ping timeout: 248 seconds]
jao has quit [Ping timeout: 245 seconds]
dbmikus__ has joined #racket
dbmikus_ has quit [Ping timeout: 258 seconds]
dustyweb has joined #racket
pera has joined #racket
pera has quit [Ping timeout: 258 seconds]
ym555_ has joined #racket
<dzoe> greghendershott: turned out to be a - rather silly - mistake of mine. I didn't expect it to return empty JSON structure and I interpreted my debug output of "()" incorrectly.
ym555 has quit [Ping timeout: 245 seconds]
<dzoe> Giving students a graph representing the european road network with reasonable edge weights (distances in km) turned out to be way more work than they will have to do with it :)
<soegaard> !
ym555_ has quit [Quit: leaving...]
pera has joined #racket
soegaard has quit [Quit: soegaard]
Sgeo has quit [Ping timeout: 246 seconds]
soegaard has joined #racket
Sgeo has joined #racket
Sgeo_ has joined #racket
caltelt has joined #racket
Sgeo has quit [Ping timeout: 246 seconds]
mSSM has quit [Ping timeout: 245 seconds]
Sgeo has joined #racket
Sgeo_ has quit [Ping timeout: 245 seconds]
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #racket
pierpal has quit [Read error: Connection reset by peer]
dimitarvp has joined #racket
pierpal has joined #racket
soegaard has quit [Quit: soegaard]
dimitarvp has quit [Client Quit]
pierpal has quit [Ping timeout: 245 seconds]
pierpal has joined #racket
efm has quit [Quit: Konversation terminated!]
jao has joined #racket