IRC channel logs

2022-10-12.log

back to list of logs

<jab>cwebber I hear ya'll via dial in via a phone number...
<jab>Come participate at https://8x8.vc/mugorg/meeting or Dial-in: +1-209-844-4600 PIN: 713 052 336#
<Zelphir>cwebber: Thank you for the great talk! This will probably leave me with many ideas, that go like: "Could I do this with that actor model thing?" or "How could this be made with various capabilities?"
<cwebber>:D
<Zelphir>Also amazing, how you kept the live state in head and modified it live :D
<cwebber>:)
<Zelphir>I will recommend this dark magic to colleagues to watch, once I find the YouTube link.
<cwebber>haha
<cwebber>I should make a cleaner version of this talk, lol
<Zelphir>Maybe also put code examples somewhere for people to do the things you did live.
<Zelphir>So many cool ideas connected to that "you only have that object, so you can only do this and that".
<Zelphir>Like for example I could imagine some screen sharing tool, which also allows to take control, but only for certain things. Or so.
<Zelphir>OK I should really head off now : ) Bye!
<cwebber>g'night Zelphir, and appreciated your questions/comments!
<sneek>ArneBab: Greetings!
<graywolf>Hello, does guile has some coding style documented somewhere? I've looked at the source of guile for inspiration, however it does not seem completely consistent, so I would like to know if the "preferred" way is documented somewhere.
<lloda>there's a 'Coding standards' section in HACKING. The link to the GNU coding standards should definitely be updated.
<lloda>just did
<graywolf>The standards (https://www.gnu.org/prep/standards/standards.html ?) seems to have little in regards of coding style for scheme/lisp, it seems to mostly talk about behaviour of programs and what is there of coding style is mostly for C? Maybe I'm just blind.
<lloda>i think you're right. It's mostly for C
<lloda>maybe there's a need here
<lloda>i'm curious if you could point out some of the inconsistencies you saw
<graywolf>I'm trying to improve indent of lisp in vim, so I was checking what is the "correct" way. Since currently I'm working on consequent for else in cond, I was checking how it's done. And it looks like guile does both 1 space indent and 2 space indent and I don't see a pattern there. Maybe there is one.
<graywolf>Grepping for '\(cond$' gives examples fairly quickly.
<lloda>i think most contributors just do C-M-SPC TAB on emacs but of course the result will depend on their settings
<antipode>graywolf: Guix has one, you could borrow it.
<graywolf>antipode: Thanks, will take a look :)
***Colere is now known as Sauvin
<dsmith-work>Morning Greetings, Guilers
<dsmith-work>The Scheme coding style is basically what emacs wants it to be.
<Zelphir>Here is me being stuck, asking another (CK) macro question: So I have this macro https://notabug.org/ZelphirKaltstahl/guile-examples/src/55d82aaaffb6e36d89928670473d0f957dbc822d/macros/contracts/contract.scm#L231-L293 and a test https://notabug.org/ZelphirKaltstahl/guile-examples/src/55d82aaaffb6e36d89928670473d0f957dbc822d/macros/contracts/test.scm#L209-L243 The test is currently failing, because the `origin` field of my exception record is wrong.
<Zelphir>It should be the string "unknown origin", since the contract violation of the test is caused inside a lambda, so no name for the origin. In my code I have this if (https://notabug.org/ZelphirKaltstahl/guile-examples/src/55d82aaaffb6e36d89928670473d0f957dbc822d/macros/contracts/contract.scm#L267-L269) to check what the origin is and then set `func-name` to the appropriate thing. Then I pass it in https://notabug.org/ZelphirKaltstahl/guile-examples/src/
<Zelphir>55d82aaaffb6e36d89928670473d0f957dbc822d/macros/contracts/contract.scm#L288. However, the failing test case shows, that actually the record contains the symbol `func-name`. I am not sure what I am doing wrong. Somehow the `(quote func-name)` is no associated with the variable `func-name`, but I am not sure what to do about it. -- How could I make this work?
<jab>Zelphir: you could try to run the macro in Dr. Racket editor...I think they have a macro debugger...
<Zelphir>Hm, I will try. Not sure I will get all required imports in Racket, but I will try.
<jab>Zelphir: yeah not everything will work.
<jab>Guile needs a better debugging facilities.
<Zelphir>Trying to figure out how the DrRacket thing works and what it actually shows me, but I do wish I had a good macro stepper in Guile. I somewhere online found a trick that I have used sometimes: Quasiquote all expansions of a macro definition, then evaluate again and unquote parts and this way one can go on a bit. But it is not as easy as if one having a macro stepper.
<jab>Zelphir_: I agree a macro stepper would be awesome.
<jab>and a debugger!
<Zelphir_>check!
<old>dsmith-work: Gods will
<ZelphirKalt>Hm. To use the Racket macro stepper I need to change things in the code, because lambda* works differently.
<jab>ZelphirKalt: that's fun. :)
<ZelphirKalt>^^'
<ZelphirKalt>I think part of the problem becomes understanding the macro stepper's output.
<ZelphirKalt>Argh, and exception handling of course also is different ... Beginning to think, that putting Guile code in DrRacket and evaluating there, is not such a simple matter after all.
<jab>ZelphirKalt: sorry dude. Maybe try writing a guile specific macro debugger? hahaha
<ZelphirKalt>Wait, that's more macro magic, when I am already trying to fix my macro!
<jab>more macro magic ?
<ZelphirKalt>Macro to expand macros, I guess.
<jab>ah