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]
<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.
<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
<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