samth changed the topic of #racket to: Racket v7.6 has been released: https://blog.racket-lang.org/2020/02/racket-v7-6.html -- Racket -- https://racket-lang.org -- https://pkgs.racket-lang.org -- Paste at http://pasterack.org
badkins has quit []
nullcone has joined #racket
FreeFull has quit [Ping timeout: 256 seconds]
rmnull has quit [Ping timeout: 246 seconds]
epony has quit [Remote host closed the connection]
bitmapper has quit [Ping timeout: 264 seconds]
catonano has quit [Ping timeout: 256 seconds]
epony has joined #racket
efm has quit [Ping timeout: 250 seconds]
efm has joined #racket
YuGiOhJCJ has joined #racket
jackhill has joined #racket
N0S4A2 has quit [Quit: WeeChat 2.6]
orivej has quit [Ping timeout: 246 seconds]
lavaflow has quit [Ping timeout: 260 seconds]
lavaflow has joined #racket
mzan has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
mzan has joined #racket
iyzsong has joined #racket
iyzsong has quit [Quit: ZNC 1.7.1 - https://znc.in]
iyzsong has joined #racket
endformationage has quit [Ping timeout: 250 seconds]
dddddd has quit [Ping timeout: 246 seconds]
narimiran has joined #racket
sauvin has joined #racket
sauvin has quit [Max SendQ exceeded]
Sgeo__ has quit [Read error: Connection reset by peer]
Sgeo__ has joined #racket
sauvin has joined #racket
sauvin has quit [Max SendQ exceeded]
KDr22 has quit [Remote host closed the connection]
KDr22 has joined #racket
iyzsong has quit [Quit: ZNC 1.7.1 - https://znc.in]
iyzsong has joined #racket
rmnull has joined #racket
rmnull has quit [Quit: WeeChat 2.7.1]
rmnull has joined #racket
sauvin has joined #racket
orivej has joined #racket
lavaflow has quit [Ping timeout: 264 seconds]
jsgrant has joined #racket
<jsgrant> Would implementing something like https://github.com/gregcman/sucle , a crafting voxel engine -- be feasible in Racket? I know the performance of SBCL is roughly around Java and it looks like from the few benchmarks I've seen Racket is somewhere between 2-8 times slower than SBCL.
<jsgrant> I get that most of the work is also done by the graphics-card, but still know that a lot of issues with Java minecraft for example is the huge amount of garbage created / needs to be cleared regularly
rmnull has quit [Ping timeout: 246 seconds]
even4void has joined #racket
catonano has joined #racket
<aeth> Java Minecraft is/was poorly architectured and it's a miracle that it worked as well as it does for what it does.
<aeth> It's not a good example of what Java can do, and that was a decade ago, too.
<jsgrant> I'm not even saying it as an indictment of Java, but more-so I'm skeptical of the level of performance you can get in a game with that many objects that need to be swept -- or at least as I understand it.
<jsgrant> Like using GC generally, compared to manual-memory management
<aeth> Too much garbage in itself is bad architecture for a game loop
<aeth> Java is a *really* bad example, though, because it has real time garbage collectors, too
<aeth> Anyway, "you must use C++ to write a game" is a myth. You must reach at least 60 FPS to write a PC game. That's actually ridiculously easy to do.
<jsgrant> I think that is fair, and not even 'too too' relevant nowadays with ultra-lowlatency garbage-collectors around the corner -- but I more-so singuled out Java as 'fast enough' though still not ideal, which in-theory is probably where I view SBCL to be in this space. My question / concern is would it be 'fast enough' or probably more-importantly 'good enough' at clearing garbage to do similar in Racket
<aeth> I don't think that's the correct way of framing it. With a game you have a render FPS and a logic FPS. your logic FPS should be independent of the render FPS (which should reach at least 60). 100's a good arbitrary number imo.
<aeth> So the real question is how much can you get done in 0.01 ms
<aeth> or, sorry, 0.01 s / 10 ms
<aeth> I guess including the worst case GC
gluon has quit [Remote host closed the connection]
* jsgrant looks at the clock (4am) but wants to conitnue the convo still ... lol ; I mean I get ya, and I've heard about 'frame budgets' before. I'm actually pretty interested in this space, and a few months to a year in dipping into Racket I do want to mess around a bit with opengl and the like -- but am afraid (probably overly) I'm quickly going to hit a wall that'snot just more poor archeticture /
* jsgrant design descions
<aeth> I'm not sure about the quality of the bindings in Racket. The wrong bindings can lead to a very complex translation layer that destroys performance.
<jsgrant> From what I can tell, they have barely been touched for a few years ... but look, at least api / ergonomics wise, very close to upstream
<jsgrant> Okay, going to have to go afk and actually sleep. Need to wake up by at latest noon and go to work later today still -- wish I would've thought of this topic a few hours ago ... lol
dancek has quit [Ping timeout: 272 seconds]
dancek has joined #racket
rmnull has joined #racket
rmnull has quit [Ping timeout: 240 seconds]
rmnull has joined #racket
nullcone has quit [Quit: Connection closed for inactivity]
logicmoo has joined #racket
bars0_ has joined #racket
bars0 has quit [*.net *.split]
dmiles has quit [*.net *.split]
m1dnight1 is now known as m1dnight
narimiran has quit [Ping timeout: 250 seconds]
rmnull has quit [Ping timeout: 272 seconds]
catonano has quit [Quit: catonano]
catonano has joined #racket
catonano has quit [Remote host closed the connection]
catonano has joined #racket
ng0 is now known as nikita`
jmiven has quit [Quit: reboot]
jmiven has joined #racket
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
catonano has quit [Quit: catonano]
catonano has joined #racket
even4void has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ArthurStrong has joined #racket
catonano has quit [Quit: catonano]
catonano has joined #racket
rmnull has joined #racket
rmnull has quit [Ping timeout: 272 seconds]
narimiran has joined #racket
vraid has joined #racket
rmnull has joined #racket
iyzsong has quit [Quit: ZNC 1.7.1 - https://znc.in]
dddddd has joined #racket
logicmoo has quit [Ping timeout: 246 seconds]
dmiles has joined #racket
nullcone has joined #racket
lavaflow has joined #racket
setthemfree[m] has joined #racket
<setthemfree[m]> Dear everyone, I'm wondering if there is mose kind of string formatting with placeholders in Racket, a la Python's "{named} value".format(named=...)?
<setthemfree[m]> s/mose/some
<bremner> setthemfree[m]: yep. look for "format" or "printf"
<bremner> rudybot: doc printf
<bremner> lazy bot.
<rudybot> bremner: error: with-limit: out of time
<setthemfree[m]> bremner: looking at it, but I don't see named placeholders specifically, only positional, i.e., sequential
<bremner> ah, right. Name placeholders I'm not sure about in the stdlib. I think there are some templating packages around
<jcowan> Alternatively, forget templating and use format combinators
<setthemfree[m]> I guess I'm too predisposed with Python's way, maybe I should be doing that with quoted lists or something
<setthemfree[m]> jcowan: sorry for my ignorance, what rae format combinators?
<jcowan> SRFI 159 is quite portable
<jcowan> trivial example:
<jcowan> (show #f (numeric/comma 1234567)) => "1,234,567"
<bremner> you might call it C++ style if you were trying to troll scheme people...
<bremner> ofc _I_ would never troll scheme people.
<jcowan> show #f (with ((ellipses "...")) (trimmed 5 "abcdef"))) => "ab..."
<jcowan> s/show/(show
<setthemfree[m]> interesting
<jcowan> you can also add your own combinators, unlike most printf/format implementations where you have to hack the source
<setthemfree[m]> is it part of some racket package already?
<jcowan> Not that I know of, but packaging it should be simple
<jcowan> the only dependencies are SRFI 1, hashtables, a simple string lib, and SRFI 117 (also very portable).
catonano has quit [Quit: catonano]
catonano has joined #racket
catonano has quit [Read error: Connection reset by peer]
catonano_ has joined #racket
_whitelogger has joined #racket
even4void has joined #racket
bitmapper has joined #racket
<bitmapper> moin
KDr22 has quit [Remote host closed the connection]
<jcowan> https://srfi.schemers.org/srfi-159/srfi-159.html#proc-pad-char is a good example of what you can do with format combinators
KDr22 has joined #racket
even4void has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
vraid has quit [Quit: Leaving]
vraid has joined #racket
ArthurStrong has quit [Ping timeout: 264 seconds]
ArthurStrong has joined #racket
rmnull has quit [Ping timeout: 240 seconds]
<setthemfree[m]> nice
even4void has joined #racket
KDr22 has quit [Remote host closed the connection]
KDr22 has joined #racket
KDr22 has quit [Remote host closed the connection]
KDr22 has joined #racket
KDr23 has joined #racket
KDr22 has quit [Ping timeout: 256 seconds]
catonano_ has quit [Quit: catonano_]
catonano has joined #racket
even4void has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
catonano has quit [Quit: catonano]
catonano has joined #racket
orivej has quit [Read error: Connection reset by peer]
orivej has joined #racket
catonano has quit [Read error: Connection reset by peer]
catonano has joined #racket
FreeFull has joined #racket
sauvin has quit [Read error: Connection reset by peer]
<jcowan> I was just looking at the racket/control library. The intention seems to be to allow any existing code, no matter whose conventions it uses for delimited control, to be adaptable. But which ones are recommended for new development?
erkin has quit [Quit: Ouch! Got SIGIRL, dying...]
erkin has joined #racket
rmnull has joined #racket
johncob has quit [Ping timeout: 265 seconds]
catonano has quit [Quit: catonano]
catonano has joined #racket
jsgrant has quit [Ping timeout: 250 seconds]
MustardCheese has joined #racket
elioat has quit [Quit: WeeChat 1.9.1]
narimiran has quit [Ping timeout: 250 seconds]
catonano has quit [Quit: catonano]
catonano has joined #racket
catonano has quit [Read error: Connection reset by peer]
badkins has joined #racket
ArthurStrong has quit [Quit: leaving]
badkins has quit [Remote host closed the connection]
badkins has joined #racket
badkins has quit [Ping timeout: 250 seconds]
badkins has joined #racket
catonano has joined #racket
catonano has quit [Quit: catonano]
<MustardCheese> Quick question - it seems as though it's a standard to write out the word 'lambda' rather than using the 'λ' symbol. I say this because the full word is used in the documentation, in the racket source code and in many third party examples found online. Why is this?
<bremner> MustardCheese: I use λ a fair amount in my own code. it does occasionaly cause problems with non-utf8 aware tools, such as (shamefully) racket's own web server
<bremner> I think it's mainly a habit going back to the bad old days of writing LISP in ASCII
<MustardCheese> Hahaha should perhaps look into that. On that note, whenever I use the racket gist posting tool, I always need to disable syntax highlighting as it will otherwise try and fail to compile my code before throwing servlet errors at me
<MustardCheese> Is there a backend somewhere that I could contribute to/report bugs to?
<aeth> MustardCheese: Emacs can render lambda as λ. You have to be careful about doing things like this because it can break indentation, but in practice, it won't break indentation because you're probably doing (λ (variables)\n or (λ (variables) ...)\n and the only time it would break is when you're doing (λ (variable-1\n in which case you probably should be using a named procedure
<aeth> This is entirely local to your side, and you get it by typing "lambda", so it is a pretty good way to handle it
Rampoina[m] has left #racket ["User left"]
<MustardCheese> Very interesting. Thank you both
rmnull has quit [Ping timeout: 246 seconds]
MustardCheese has quit [Remote host closed the connection]
badkins has quit [Remote host closed the connection]
badkins has joined #racket
badkins has quit [Ping timeout: 250 seconds]
srji has quit [Ping timeout: 256 seconds]
orivej has quit [Ping timeout: 256 seconds]
manicennui has joined #racket
catonano has joined #racket
<greghendershott> setthemfree[m]: You can use at-expressions to do "string interpolation". https://www.greghendershott.com/2015/08/at-expressions.html
catonano has quit [Read error: Connection reset by peer]
orivej has joined #racket
catonano has joined #racket
catonano has quit [Remote host closed the connection]
badkins has joined #racket