IRC channel logs

2023-01-08.log

back to list of logs

<a12l>lilyp: Thanks for the definitive answer
<a12l>Is there a procedure that takes an array as an argument, and returns that array's starting index?
<a12l>Can't find it when looking in the manual
<old>What do you mean by starting index?
<old>Arrays are always start from 0 no?
<a12l>old: Then I certainly misunderstood the @lower syntax described here: https://www.gnu.org/software/guile/manual/guile.html#Array-Syntax
<a12l>And the examples below
<old>oh I got confused with vector
<old>I don't know anything about array unfortunately
<old>I guess what you're asking is getting the `lower' bound of an array?
<old>So it would be array-shape or array-dimensions
<mwette>.
<mwette>array-shape
<a12l>thanks
<flatwhatson>huh, never looked closely at guile's arrays before, these look really powerful, particularly make-shared-array for traversing subsets
<flatwhatson>seems like you could use make-shared-array to create an efficient 2d-view into a string, which came up a bunch in the advent-of-code
<daviid>array fans, our array ceo is lloda, who's working on guie's future array system, here - https://notabug.org/lloda/guile-newra
<daviid>our array ceo and probably most importantly our array cto :) - many projects, many years of expertise involving arrays, try guile-newra and help him with feedback ...
<daviid>'newra' is pronounced 'new R A' ... [not 'ra', as in 'rat' :)]
<daviid>think 'new aRrAy ...'
<haugh>> still not APL
<haugh>> pass
<haugh>jokes aside this looks amazing
<sneek>Welcome back lilyp!
<lilyp>sneek thanks, take a botsnack
<sneek>:)
<count3rmeasure>hey all, curious about certain numbers when I get an exception in my code, the interpreter gives me back the line number followed by a colon and a second number, what exactly is this second number?
<count3rmeasure>EX /grab-file.scm:12:2: let: bad let in form
<mfiano>count3rmeasure: I have no idea but my first guess would be the column number
<count3rmeasure>fair enough! thank you for the response
<mfiano>I am just starting out myself. Coded for the first time in guile yesterday (but no stranger to lisp)
<count3rmeasure>ahhh, gotcha
<count3rmeasure>and this is a specifically guile implementation focused question
<mfiano>Yep, that pattern is typically used to denote file:line:column
<mfiano>Unless it deviates from this. I haven't got that far as I said :)
<count3rmeasure>I was guessing token number
<ArneBab>Scheme entered the TIOBE top50 of January 2023 (place 48). Last time it was in the index was 2020 (place 44). https://www.tiobe.com/tiobe-index/ ⇒ at the very least, a decline is stopped.
<mwette>I'd guess guix gets credit for a good chunk of the recent growth.
<mfiano>It's sad watching #scheme as a newbie a lot of the time.
<mfiano>A lot of people look down on Racket and Guile for not being "pure" enough and accused of being monolithic single-implementation languages.
<mfiano>In other news, I am finally coding me some Guile. I have been fully enjoying porting my hacky bash scripts to something _slightly_ more debuggable and maintainable ;) The module system is very natural to use and I'm not about to switch to `library` for the sake of conformance.
<haugh>mfiano, maybe "monolith" is not a useful classification but do you really think it's unreasonable to refer to implementations with heavy standards-departure as their own thing? Of course people who are largely invested in the standards process are going to feel a little snippy about those who breakdance on the edge of lawlessness, so to speaj
<haugh>Yeah the guile module system is a killer feature imo
<mfiano>I don't have an opinion. I stopped participating in language wars a very long time ago. It just makes me sad. I will probably just participate with the friendly folk here.
<haugh>Portability is not a production requirement for me, but I was having a lot of trouble with terminology that the Guile manual (just for example) sort of assumes familiarity with. Those "purists" turned me on to The Scheme Programming Language (4th Ed.) which is just snapping block after block into place. I don't think discussion of different approaches has to be a language war, especially because so much is transferable. Why did you pick Guile, mfiano?
<mfiano>I am currently about 1/3 through TSPL4.
<mfiano>haugh: I picked Guile about a year ago, because I liked its feature set after reading the manual in its entirety. A CL project picked up the pace around that time, so didn't get a chance to really try it out until recently.
<mfiano>Also, because about 8 years or so ago, I wasn't much of a fan for Racket. Recently though, before picking Guile again, I actually did go and browse the manuals of a few popular implementations, none of which appealed to me at all.
<mfiano>GOOPS was a strong selling point. While others have something similar, I think GOOPS adds a few features that I have always wished for in the original CLOS. CHICKEN's COOPS for example, tries to much more closely mimic CLOS.
<mfiano>The overall feature set, and the cohesive feel of it all, along with the fantastic manual, is what made me keep with learning Guile.
<mwette>mfiano: if you want detail on syntax-case: https://doc.lagout.org/programmation/Lisp/Scheme/Programming%20With%20Hygienic%20Macros%20-%20R%20K%20Dybvig.pdf
<old>ArneBab: Scratch is 20th lol
<ArneBab>old: Scratch is used a lot for teaching.
<old>Yes that was my guess
<old>Python also
<old>Sad that Scheme and D are lower than something like COBOL
<old>Lisp is 28th at least
<haugh>mfiano, thanks for explaining your perspective
<ArneBab>old: COBOL is big money
<stis>hello people!