IRC channel logs

2023-04-23.log

back to list of logs

<cow_2001>oh no
<cow_2001>oh, okay
<RhodiumToad>as long as you hold onto that return value until you're done with it, you're ok
<cow_2001>what do you feel about brackets in let?
<RhodiumToad>you mean ( vs [ ?
<cow_2001>(let ([x (f)] [y (g)]) …)
<RhodiumToad>I'm kind of on the fence
<cow_2001>it's not really a matter of substance, but i've seen it being used and i wonder maybe i should too
<RhodiumToad>using [ ] consistently for declaration/binding terms seems like a slight readability improvement
<RhodiumToad>but I often find myself sticking to () out of habit
<cow_2001> https://paste.debian.net/1278172/
<RhodiumToad>looks good to me
<cow_2001>thank you!
<dsmith>Emacs uses [ ] for vectors. Coming from than to Scheme #( ) for vectors was quite jarring. Also using [ ] for lists. Twisted.
<daviid>stick to (), leave [] for special 'treatment', i.e. as to trigger a reader for sql expresssions ..., or as skribilo does, to trigger 'string' processing ... my 2c
<daviid>[] in normal code is just noise, annoying unusefull noise ... imo ... my ther 2c
<haugh>At first I thought brackets were a cool way to visually indicate that two statements were at the same level of indentation without any tooling required, compensating for a minor disadvantage of lisp syntax, but I've found that using only the one form of delimiter is much more efficient in terms of editing workflow. Most Guilers are emacs users though; idk what difference that makes. One of the first things I did in Guile was bind $bracket-list$ to
<haugh>`cut', sort of emulating Graham's Arc lambdas, but that was really messy.
<haugh>that's $bracket-list$, possibly munged by the bridge
<cow_2001>another day another obstacle. now i need to learn how to use guile-config.
<cow_2001>let's read the manual.
<cow_2001>(you don't say)
<cow_2001>failed to write configuration file :|
<cow_2001>oh alright
<cow_2001>no, that wasn't it.
<cow_2001>works
<mwette>!uptime
<cow_2001>now i need to figure out how to get the various values of the configuration object of guile-config (not the codex object)
<cow_2001>i want to get the configuration path value
<rlb>cow_2001: you mean the ./configure --prfix? And if so, from guile, perhaps: https://www.gnu.org/software/guile/manual/html_node/Build-Config.html
<cow_2001>no, the library / module / package called guile-config
<cow_2001>guix show guile-config
<rlb>Oh, ok, can't help there.
<cow_2001>sorry <_<
<Arsen>yeah, it's a bit of confusion, there's a script called guile-config that just emits pkg-config variables, and a cli/config parsing library called guile-config
<cow_2001>i've seen it! arsen
<cow_2001>the names namespace is crowded
<cow_2001>when you put compound data into records, you need special procedures to read and write them
<cow_2001>gets hairy
<cow_2001>seems like
<haugh>cow_2001, I've been using set-fields and the $ match operator, and it's reasonably elegant. It's what Rick Hickey calls "Place Oriented Programming" and it's a little esoteric if you're used to method chaining with dict literals in OOP languages, but it works. It's also pretty easy to write syntax around.
<cow_2001>oh, so records have their own general purpose access procedures? (this is where you tell me to go read the records documentation(s?) and/or the rnrs)
<haugh>`match' has \$, which destructures a generic record and lexically binds values based on their position in the record rather than their fieldname. I don't know if it works with match's `set!', though.