samth changed the topic of #racket to: Racket v7.8 has been released: https://blog.racket-lang.org/2020/08/racket-v7-8.html -- Racket -- https://racket-lang.org -- https://pkgs.racket-lang.org -- Paste at http://pasterack.org
aeth has quit [Ping timeout: 258 seconds]
aeth has joined #racket
phillbush has quit [Remote host closed the connection]
TCZ has quit [Quit: Leaving]
Batzy_ has joined #racket
Batzy has quit [Ping timeout: 258 seconds]
zBatzy has joined #racket
Batzy_ has quit [Ping timeout: 260 seconds]
vejetaryenvampir has quit [Quit: vejetaryenvampir]
MetaHertz has quit [Ping timeout: 272 seconds]
<samth> dzoe: there's not a standardized format for license info
<samth> dzoe: i think something was wrong with the server, but it's not clear what
phillbush has joined #racket
vejetaryenvampir has joined #racket
countvajhula has joined #racket
phillbush has quit [Ping timeout: 256 seconds]
<countvajhula> nice dzoe samth , now that I think about it I did try installing the terminal space shooter game recently - that may have added the ansi dependency. i seem to have reported this in the right place :)
phillbush has joined #racket
Batz has joined #racket
zBatzy has quit [Ping timeout: 260 seconds]
badkins has quit [Remote host closed the connection]
badkins has joined #racket
badkins has quit [Remote host closed the connection]
vejetaryenvampir has quit [Ping timeout: 258 seconds]
vejetaryenvampir has joined #racket
badkins has joined #racket
badkins has quit [Ping timeout: 240 seconds]
emacsen has left #racket ["Leaving"]
countvajhula has quit [Ping timeout: 260 seconds]
countvajhula has joined #racket
phillbush has quit [Remote host closed the connection]
<countvajhula> hi, i have a macro question: i'd like to write a macro to replace a built-in one (i.e. with the same name) while internally retaining a pointer to the one being replaced
<countvajhula> how would I do this without the internal reference resulting in an infinite loop to itself?
<countvajhula> I think the internal reference would need to be namespaced in some way, to differentiate it from the new macro being defined, but i'm not sure how to do that
<countvajhula> basically `require`ing the built-in version of the macro under a different name as a duplicate, and using that alternate name within the macro definition
<countvajhula> didn't realize that require form renaming would work for syntax too, neat!
Batz has quit [Ping timeout: 240 seconds]
Batzy has joined #racket
<countvajhula> cool, I just realized that re-providing an import verbatim doesn't lead to compile errors (identifier already required) when both modules are imported from a third module. i guess racket's compiler is smart enough to know they are the same object
<countvajhula> that opens up some possibilities to avoid annoying `require` exclusions/renaming
badkins has joined #racket
badkins has quit [Ping timeout: 265 seconds]
countvajhula has quit [Ping timeout: 260 seconds]
caente has quit [Ping timeout: 258 seconds]
endformationage has quit [Quit: WeeChat 2.9]
Batzy has quit [Quit: WeeChat 2.8]
orivej has joined #racket
arpunk has quit [Remote host closed the connection]
arpunk has joined #racket
narimiran has joined #racket
orivej has quit [Ping timeout: 272 seconds]
orivej has joined #racket
zenspider has quit [Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in]
zenspider has joined #racket
DGASAU has joined #racket
mirrorbird has joined #racket
Sgeo has quit [Read error: Connection reset by peer]
mirrorbird has quit [Quit: Leaving]
orivej has quit [Ping timeout: 265 seconds]
badkins has joined #racket
badkins has quit [Ping timeout: 260 seconds]
nullcone has quit [Quit: Connection closed for inactivity]
mirrorbird has joined #racket
TCZ has joined #racket
badkins has joined #racket
badkins has quit [Ping timeout: 272 seconds]
orivej has joined #racket
mirrorbird has quit [Quit: Leaving]
phillbush has joined #racket
_whitelogger has joined #racket
vejetaryenvampir has quit [Quit: vejetaryenvampir]
vejetaryenvampir has joined #racket
aaaaaa has joined #racket
badkins has joined #racket
badkins has quit [Ping timeout: 260 seconds]
TCZ has quit [Quit: Leaving]
caente has joined #racket
aaaaaa has quit [Ping timeout: 258 seconds]
badkins has joined #racket
TCZ has joined #racket
bitmapper has quit [Quit: Connection closed for inactivity]
aaaaaa has joined #racket
aaaaaa has quit [Client Quit]
Sgeo has joined #racket
TCZ has quit [Quit: Leaving]
phillbush has quit [Ping timeout: 260 seconds]
caente has quit [Ping timeout: 265 seconds]
caente has joined #racket
nullcone has joined #racket
badkins has quit [Remote host closed the connection]
badkins has joined #racket
badkins has quit [Ping timeout: 264 seconds]
sagax has quit [Remote host closed the connection]
badkins has joined #racket
tilpner has quit [Remote host closed the connection]
tilpner has joined #racket
tilpner has quit [Remote host closed the connection]
tilpner has joined #racket
dvdmuckle has quit [Ping timeout: 240 seconds]
dvdmuckle has joined #racket
MetaHertz has joined #racket
badkins has quit [Remote host closed the connection]
badkins has joined #racket
Batzy has joined #racket
Lowl3v3l has quit [Remote host closed the connection]
sagax has joined #racket
catonano has joined #racket
badkins has quit [Remote host closed the connection]
badkins has joined #racket
aeth has quit [Ping timeout: 272 seconds]
badkins has quit [Ping timeout: 240 seconds]
aeth has joined #racket
countvajhula has joined #racket
badkins has joined #racket
mirrorbird has joined #racket
selimcan has joined #racket
<dzoe> countvajhula, dustyweb: Jay has agreed on merging changes to racket-ansi, I'll prepare it tonight.
<dzoe> dustyweb: I still have the impression that unix-signals are not necessary for terminal-phase, but the dependencies pull it in, if I have some time I'll try to find a solution for that as well.
<dzoe> I have basically switched over to CS for all of my work anyway.
countvajhula has quit [Ping timeout: 240 seconds]
bitmapper has joined #racket
Sauvin has quit [Read error: Connection reset by peer]
countvajhula has joined #racket
TCZ has joined #racket
phillbush has joined #racket
countvajhula has quit [Ping timeout: 272 seconds]
true-grue has joined #racket
badkins has quit [Remote host closed the connection]
badkins has joined #racket
caente has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
badkins has quit [Ping timeout: 265 seconds]
caente has joined #racket
caente has quit [Client Quit]
caente has joined #racket
<dzoe> PR created. Let's see.
badkins has joined #racket
vejetaryenvampir has quit [Quit: vejetaryenvampir]
narimiran has quit [Ping timeout: 246 seconds]
vejetaryenvampir has joined #racket
mmohammadi9812 has joined #racket
countvajhula has joined #racket
<countvajhula> that's great dzoe, way to jump on it!
<countvajhula> on the subject of CS, I've also noticed, since the 7.8 CS upgrade, that `raco setup` sometimes hangs for no particular reason
<countvajhula> and C-c and then re-running the command works fine
<countvajhula> I thought it might be just something on my local setup, but I just saw the same thing happen on Travis:
<countvajhula> notice that CS is the only build that failed
<countvajhula> i was using 7.6 CS before and haven't seen this before
badkins has quit [Remote host closed the connection]
<dzoe> Well, if you can get your hands on gdb-attached raco setup while it hangs, I am pretty sure, Matthew will fix it immediately.
badkins has joined #racket
<countvajhula> how does one attach gdb?
<dzoe> Hunting bugs like this, I usually wrote a shell oneliner to start under gdb in the first place.
badkins has quit [Remote host closed the connection]
badkins_ has joined #racket
<dzoe> And now I am neither fixing nor developing anything... procrastination time!
<dzoe> And by procrastination I mean, of course, writing 3D games for text terminal in Racket - http://joe.cz/tmp/td4/ ;-)
izh_ has joined #racket
<countvajhula> oh dang, those look amazing
<dzoe> It's just a 80x24 terminal with unicode font.
<countvajhula> and good idea, i'll look into hooking up gdb. since it's transient it may be hard to track down. I might just report it for now and then update with more info if I manage to get it
<countvajhula> you mean the sprites are all made up of unicode characters?
<dzoe> No, it is an actual terminal :)
<dzoe> There is no graphics output involved.
<countvajhula> how do you refresh the frames? freshly printing one screen at a time?
<dzoe> That is easy, a (bytes?) buffer that I populate and then write-bytes the whole frame at once.
<dzoe> And then some (current-inexact-milliseconds) trickery to limit the frame rate to roughly 60fps.
<dzoe> Without the limiter it runs around 250fps right now. And there are parts which are highly inefficient. I'll look into that later.
<dzoe> I am more interested in finishing lighting/shading before I dive into some more optimizations.
endformationage has joined #racket
<dzoe> My colleague convinced me I should implement it as telnet server - which means I will finally port my old NVT code and probably create a full-featured package for that before I finish this.
<countvajhula> oh cool, that's "double buffering" right?
<dzoe> Although I am sure that telnet-based 3D multiplayer world written in Racket won't have a very wide audience ;-)
<countvajhula> is this a platform or a specific game?
<countvajhula> lol
<dzoe> Just a platform for experimentation.
<countvajhula> fun stuff
<dzoe> I missed this kind of stuff - I spent most of the 90's writing game engines.
<dzoe> And then if people say stupid things like "Racket is slow" or "you can't do low-level stuff in Racket", I just show a few examples ...
<dzoe> Earlier this year I implemented full opengl-like rasterizer http://joe.cz/tmp/tut24-screenshot.png
<dzoe> Still a few things missing here and there, but definitely Racket is well-suited for any high-performance task.
<dzoe> You just have to know how to approach the problem.
true-grue has quit [Read error: Connection reset by peer]
<countvajhula> the 90s, golden age of gaming /curmudgeon
<countvajhula> are there any game engines written in racket? would be cool to be able to write games in racket, instead of C++
<dustyweb> dzoe: cool
<aeth> countvajhula: but in general, the problem is that game engines take a very long time to write
badkins_ has quit [Remote host closed the connection]
badkins has joined #racket
<countvajhula> what about a wrapper around a more mature C++ game engine.. like unity or something (not that I know much about these things)
<countvajhula> (btw re: the raco issue, I found a similar issue on github and commented on it: https://github.com/racket/racket/issues/3155 )
<aeth> The problem is that the big game engines are all incredibly opinionated with how you script them.
<aeth> You could potentially try Godot, though
<dzoe> The trouble is with the definition.
<dzoe> What is a game engine anyway?
<aeth> The problem with Godot, of course, is that it's GDScript first and C# second, and GDScript is some custom Python-like language that basically no tool outside of Godot's editor will support, making it completely useless as a language.
<aeth> So even if you can run a Lisp in Godot, it's going to be a third class citizen.
<aeth> And you'll have to translate examples from a language that literally nobody knows.
<dzoe> For graphics, it should provide double/triple buffering support, some scene rendering ...
<dzoe> Sound? Music and effects mixing, positioned sound?
<dzoe> Physics? 2D/3D? How to configure that?
<dzoe> Networking? Uh-oh ... Server side? ...
<dzoe> It is relatively straightforward to implement any of those for particular game type.
<dzoe> So a "game engine for FPS" or "game engine for platform arcade" make sense to me.
<dzoe> But those "big" game engines - I do not see the value for individual developer who just wants to hack something from time to time. Quite contrary actually.
badkins has quit [Ping timeout: 240 seconds]
<countvajhula> you'd think that after all this time "game engine" would be more decoupled instead of monolithic, like all of those components would be independently written and pluggable via common interfaces
<dzoe> And what about a "game engine for Dwarf Fortress" - graphics is super easy, sound is just playing some music ... but the mechanics? CRAZY
<dzoe> countvajhula: That would be amazing - but to achieve that, you cannot use corporate development methods and hired coding monkeys.
<aeth> dzoe: A game engine is a lot of, in isolation, simple tasks that all have to be done together (except sound, that's pretty cleanly isolated from the rest) before you get any tangible results that don't look terrible.
<aeth> That's the hard part.
<aeth> That and supporting a ton of third party formats, like importing in 3D models and textures.
<dzoe> You would need people with understanding of the "game engine" part and people with deep understanding of programming languages that would make it easy to use.
<dzoe> aeth: Agreed, it's always one of the first things I encounter every semester :)
<dzoe> Explaining to students that it's OK they want to develop games, it is actually very challenging and they can learn a lot ...
<dzoe> ... but without math, algorithms, graphics ... and a metric ton of other hard things, they won't be able to even write a coherent demo game.
countvajhula has quit [Ping timeout: 240 seconds]
<aeth> Game engine math is simple if you have a numerical(ish) CS background, which is increasingly common because of things like machine learning, but which is still a specialization that not everyone with a CS background will encounter.
<aeth> As an undergraduate class, it must be even harder, since it can't assume that you took numerical/ML classes first.
<aeth> I mean, that's kind of backwards, actually. Games caused GPUs which drove modern machine learning. So technically, ML is just taking advantage of hardware used to accelerate some parts of computer game math.
<dzoe> Yup
selimcan has quit [Ping timeout: 260 seconds]
selimcan has joined #racket
mmohammadi9812 has quit [Quit: I quit (╯°□°)╯︵ ┻━┻]
izh_ has quit [Quit: Leaving]
mirrorbird has quit [Ping timeout: 272 seconds]
TCZ has quit [Quit: Leaving]
Batzy has quit [Quit: WeeChat 2.8]
evhan has quit [Ping timeout: 240 seconds]
evhan` has joined #racket
lexi-lambda has quit [Read error: Connection reset by peer]
conjunctive has quit [Read error: Connection reset by peer]
lexi-lambda has joined #racket
nullcone has quit [Read error: Connection reset by peer]
conjunctive has joined #racket
nullcone has joined #racket
vejetaryenvampir has quit [Ping timeout: 260 seconds]
vejetaryenvampir has joined #racket
orivej has quit [Ping timeout: 246 seconds]
TCZ has joined #racket
badkins has joined #racket
badkins has quit [Ping timeout: 258 seconds]
orivej has joined #racket
badkins has joined #racket
nullcone has quit [Quit: Connection closed for inactivity]
TCZ has quit [Ping timeout: 264 seconds]
TCZ has joined #racket