badkins has quit [Ping timeout: 260 seconds]
badkins has joined #racket
notzmv has joined #racket
rekahsoft has joined #racket
meinside has left #racket [#racket]
ur5us has quit [Ping timeout: 250 seconds]
winny has quit [Remote host closed the connection]
winny has joined #racket
monkey_ has quit [Read error: Connection reset by peer]
justsomeguy has joined #racket
<justsomeguy> Can you create static binaries with Racket, like you can with Golang?
average_ has joined #racket
<average_> I dont think racket is that cool
<justsomeguy> Racket is pretty cool, it just emphasizes different things.
<average_> different from?
<justsomeguy> I feel like whatever I say here will only get me into more trouble, since I'm failry ignorant of both languages. ...but I'm going to run my mouth anyways. My subjective first impression is that racket (the community) emphasises using language features to enable a set of problem solving techniques (language oriented design), while golang emphasizes solving logistical concerns of build/dep
<justsomeguy> mgmt/distribution/consistent style in a team/ over flexibility in the languages design.
<justsomeguy> I think they're both great languages, by the way, not trying to start a language war.
<winny> average_: hey did you have some examples of what you'd like to see racket improve upon?
<winny> I have a feeling you have some ideas
badkins has quit [Remote host closed the connection]
morte_ has joined #racket
proportions has quit [Quit: Tcl has many different data types, not just strings.]
justsomeguy has left #racket [WeeChat 3.4]
morte_ has quit [Ping timeout: 240 seconds]
ur5us has joined #racket
kengruven has joined #racket
emacsoma1 has quit [Quit: WeeChat 3.4.1]
emacsomancer has joined #racket
megachum[m] has joined #racket
badkins has joined #racket
badkins has quit [Ping timeout: 250 seconds]
livoreno has joined #racket
average_ has quit [Quit: Connection closed for inactivity]
rekahsoft has quit [Ping timeout: 248 seconds]
morte_ has joined #racket
codingquark has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
codingquark has joined #racket
codingquark has quit [Ping timeout: 246 seconds]
ermo has quit [Quit: ZNC 1.8.2 - https://znc.in]
ermo has joined #racket
codingquark has joined #racket
ur5us has quit [Ping timeout: 260 seconds]
morte_ has quit [Quit: ERC 5.4 (IRC client for GNU Emacs 28.1)]
<dzoe> linux-vdso.so.1 (0x00007ffc80997000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa12e163000) /lib64/ld-linux-x86-64.so.2 (0x00007fa12e3ab000)
<dzoe> Oh, he's gone.
<dzoe> Anyway, it is not purely "static", however the resulting binaries built with --orig-exe have second to no dynamic dependencies.
<dzoe> Which is actually a (one of the) feature(s) why we use Racket for one HUGE commercial project.
badkins has joined #racket
kenran has joined #racket
kenran has quit [Client Quit]
badkins has quit [Ping timeout: 240 seconds]
average_ has joined #racket
s-liao has joined #racket
s-liao has quit [Ping timeout: 250 seconds]
s-liao has joined #racket
ur5us has joined #racket
badkins has joined #racket
badkins has quit [Ping timeout: 246 seconds]
capfredf has joined #racket
capfredf has quit [Ping timeout: 256 seconds]
s-liao has quit [Ping timeout: 250 seconds]
Oxyd has quit [Ping timeout: 246 seconds]
Avichi has joined #racket
Oxyd has joined #racket
s-liao has joined #racket
ur5us has quit [Ping timeout: 250 seconds]
<jA_cOp> Golang binaries have those same dependencies (+ one more, libpthread) on Linux as soon as you import the "net" module of the standard library, and I believe that's true for a number of other modules, too. In other words, only trivial Go programs are fully static executables
<bremner> people sometimes think "doesn't require any non-OS provided libs" == "fully static"
<jA_cOp> mhm
<jA_cOp> I guess it's also worth pointing out that Go doesn't support creating shared libraries, even if you wanted them... not sure how the situation is in Racket
<jA_cOp> one thing I like about the D programming language is that, like C and C++, you can create shared libraries with an exported C interface, for plugging into software that uses shared libraries for runtime-loaded plugins, for example
<jA_cOp> I'm guessing both Go and Racket are in the same situation where any FFI can easily conflict with the in-built I/O and thread scheduler
littlebobeep has quit [Remote host closed the connection]
littlebobeep has joined #racket
skapata has quit [Remote host closed the connection]
s-liao has quit [Quit: Client closed]
s-liao has joined #racket
badkins has joined #racket
badkins has quit [Ping timeout: 260 seconds]
badkins has joined #racket
badkins has quit [Ping timeout: 256 seconds]
msiism has joined #racket
<msiism> I'm wondering how I would add items to an exsiting list (in-place) in Racket.
<msiism> Simply overwriting the existing list with the result of (cons new_item old_list) seems not exactly ideal.
ermo has quit [Quit: ZNC 1.8.2 - https://znc.in]
<msiism> Also, I wouldn't even know how to do that.
s-liao has quit [Ping timeout: 250 seconds]
s-liao has joined #racket
ermo has joined #racket
s-liao has quit [Quit: Client closed]
<bremner> msiism: (cons new_item old_list) is actually pretty efficient
<bremner> msiism: what is your objection?
<msiism> Well, I'll have to leave now for some time, unfortunately, but I'll come back later. But thanks so far anyway. :)
msiism has left #racket [Konversation vaporized.]
morte_ has joined #racket
badkins has joined #racket
badkins has quit [Ping timeout: 246 seconds]
Avichi has quit [Quit: Ping timeout (120 seconds)]
morte_ has quit [Ping timeout: 250 seconds]
average_ has quit [Quit: Connection closed for inactivity]
kengruven has quit [Remote host closed the connection]
kengruven has joined #racket
kengruven has quit [Ping timeout: 248 seconds]
badkins has joined #racket
badkins has quit [Ping timeout: 260 seconds]
notzmv has quit [Ping timeout: 248 seconds]
[deleted] has joined #racket
livoreno has quit [Ping timeout: 240 seconds]
[deleted] has quit [Ping timeout: 248 seconds]
livoreno has joined #racket
badkins has joined #racket
badkins has quit [Ping timeout: 256 seconds]
capfredf has joined #racket
capfredf has quit [Ping timeout: 260 seconds]
msiism has joined #racket
<mikko> https://docs.racket-lang.org/reference/time.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._date%29%29
<mikko> this must be the most ridiculous api i've ever seen for creating a date
<mikko> why do i need to first calculate week-day and year-day? finding out the weekday was exactly why i wanted to make a date in the first place!
<samth> mikko: that's the data structure that _represents_ a date, if you want to construct one with less information you'd use some other functions, many of which appear on that page
<samth> rudybot: init racket/base
<rudybot> samth: your racket/base sandbox is ready
<samth> rudybot: (require racket/date)
<rudybot> samth: Done.
<samth> rudybot: (seconds->date (current-seconds))
<rudybot> samth: ; Value: (date* 40 48 19 15 4 2022 5 104 #f 0 0 "UTC")
<mikko> rudybot: (seconds->date (current-seconds #:year 1945 #:month 1 #:day 2))
<rudybot> mikko: your sandbox is ready
<rudybot> mikko: error: application: procedure does not accept keyword arguments <NEWLINE> procedure: current-seconds <NEWLINE> arguments...: <NEWLINE> #:day 2 <NEWLINE> #:month 1 <NEWLINE> #:year 1945
<samth> mikko: you want the `find-seconds` function
<samth> rudybot: (seconds->date (find-seconds 0 0 0 2 1 1945))
<rudybot> samth: ; Value: (date* 0 0 0 2 1 1945 2 1 #f 0 0 "UTC")
<mikko> oh i see
<samth> mikko: but you also might like the gregor library: https://docs.racket-lang.org/gregor/
<mikko> yeah i did stumble upon that and it looks like a much saner API
<msiism> I've already asked this earlier today, but had to leave then: What's a good way to modify an existing list in-place?
<mikko> if you're mutating a lot you probably want to convert it to a vector
badkins has joined #racket
<msiism> I was actually working with hash tables before.
<msiism> What I'm trying to do is use Racket as a data storage format for a small accounting program (my first real Racket project).
<samth> msiism: it depends on what you're doing, but i recommend either not mutating things at all, or storing a list in a mutable variable and changing the variable to point to a different list
capfredf has joined #racket
badkins has quit [Ping timeout: 260 seconds]
<msiism> Here's a draft of what I was thinking would be some sort of appropriate format: https://paste.debian.net/plainh/27aa09bc
<msiism> Though a list of hash tables might be more suitable.
kenran has joined #racket
<samth> i would model that with hashes
<msiism> Like, hashes and subhashes?
<msiism> Or just a list of hashes?
capfredf has quit [Ping timeout: 272 seconds]
<msiism> Hash of hashes probably makes the most sense.
<msiism> Yeah, I could then use the Unix time stamp as the key, and put the other data into a hash that would then be the vaulue belong to that key.
<msiism> s/belong/belonging/
<mikko> that's all fine until you have two transactions at the exact same time
<mikko> list of hashes sounds reasonable though
<mikko> or you could give them an id that is guaranteed to be unique i guess
<msiism> Two transactions at the same time are not a problem, as far as I can see.
<msiism> The Unix time stamü nerly marks the time the entry was created.
<msiism> s/stamü nerly/stamp only/
<msiism> Entries will be created by hand.
<msiism> As for the time of an actual transaction, I only need to know the date.
<msiism> The problem I now see with a list of hashes is that the hash tables will be mutable, but the list holding them won't.
<mikko> assuming you're mostly adding data that is completely fine, probably filtering isn't too bad either
ur5us has joined #racket
<msiism> Yeah, adding and filtering data will be the most common actions.
littlebobeep has quit [Remote host closed the connection]
littlebobeep has joined #racket
<msiism> But then, I might want to remove an entry occasionally, e.g., when I made a mistake that warrants deletion of the whole entry.
* msiism reads about mutable pairs.
littlebo1eep has joined #racket
littlebobeep has quit [Remote host closed the connection]
TCZ has joined #racket
<msiism> Now, if I use a hash of hashes, using Racket itself also as the data format doesn't seem to make to much sense anymore.
jao has joined #racket
kenran has quit [Quit: WeeChat info:version]
skapata has joined #racket
skapata has quit [Changing host]
skapata has joined #racket
TCZ has quit [Quit: Tcl has many different data types, not just strings.]
capfredf has joined #racket
morte_ has joined #racket
littlebo1eep has quit [Ping timeout: 240 seconds]
capfredf has quit [Remote host closed the connection]
capfredf has joined #racket
kengruven has joined #racket
kengruven has quit [Ping timeout: 240 seconds]
capfredf has quit [Remote host closed the connection]
capfredf has joined #racket
badkins has joined #racket
TCZ has joined #racket
capfredf has quit [Ping timeout: 272 seconds]
badkins has quit [Ping timeout: 250 seconds]
badkins has joined #racket
badkins has quit [Ping timeout: 260 seconds]
badkins has joined #racket
msiism has quit [Read error: Connection reset by peer]
msiism has joined #racket
TCZ has quit [Quit: Tcl has many different data types, not just strings.]
capfredf has joined #racket
morte_ has quit [Ping timeout: 248 seconds]
capfredf has quit [Ping timeout: 250 seconds]
jao has quit [Remote host closed the connection]
ur5us has quit [Ping timeout: 250 seconds]
s-liao has joined #racket
badkins has quit [Remote host closed the connection]
noa has quit [Quit: they're coming for me]
eriol has quit [Quit: If you know neither the enemy nor yourself, you will succumb in every battle.]
jao has joined #racket
msiism has quit [Ping timeout: 260 seconds]
TCZ has joined #racket
noa has joined #racket
noa has quit [Client Quit]
noa has joined #racket