IRC channel logs

2020-12-23.log

back to list of logs

***jakelp is now known as surpador
<rlb>civodul: wrt libgc/gnutls - does the current arrangement mean that any other code that uses libgmp will also be potentially broken? If so, I'd think we might want to avoid that since we're intending to be somewhat universally embeddable
<rlb>Not sure which option that suggests, though -- sounded like mini-gmp was intentionally potentially slow...
<rlb>(whatever that means)
<civodul>rlb: mini-gmp would be a reasonable option for Guile
*civodul -> zZz
<civodul>later!
<leoprikler>rlb: "intentionally potentially slow", perhaps w.r.t. side channels if TLS is a concern?
<spk121>if guile pulled allowed minigmp as an option, it would improve its cross-platform portability
<surpador>Hey, I've been having trouble sending messages to freenode- any chance anyone can see this?
<lfam>Gotcha surpador
<surpador>Cool thanks so much!
<surpador>So, I've been trying to use the procedure `peg-string-compile` from (ice-9 peg), but it turns out that even though it's in the documentation, the procedure isn't exported by (ice-9 peg) or (ice-9 peg string-peg)- does anyone know if that's intentional?
<lfam>Not sure... hopefully someone else can help!
<surpador>Sounds good, I'll look through the code a bit more :)
<daviid>surpador: I don't know the answer either, but mean while, you may refer to unexported bindings from a module using @@, like (@@ (ice-9 peg string-peg) peg-string-compile) - if (ice-9 peg string-peg) is where is it defined, don't use peg, didn't check ...
<surpador>Ah ok that's super nice, thanks!
<daviid>surpador: np! you may also want to locally bind it if you use it more then once ... (define %peg-string-compile (@@ (ice-9 peg string-peg) peg-string-compile)) - the % is totally optional of course, I (and others) do that to visually 'mark it' as 'special' so to speak ...
<surpador>Ok, that makes sense- funny enough, I tried to ask about the meaning of the % a few days ago but I think that message didn't go through either XD
<surpador>daviid: just to push my luck, any chance you know of a way to evaluate an expression before passing it to a macro? I'm using a macro that is expecting a literal string and I'd like to pass it a variable
<daviid>surpador: % has more then one 'use case' in guile itself, i do use it in my own code (with caution, not 'everywhere') to somewhat mark the binding as 'special', but it is not a justification fort why and where it is used in guile core
<surpador>Ah ok, noted
<daviid>surpador: not sure what you are trying to acheive (wrt your macro quiz, there could be more then one way to interpret what you wrote, i think) can you be a bit more precise, and give an example - what a call would look like, what the transformation should acheive ...
<surpador>Yep, sorry: I'm trying to use the macro `define-peg-string-patterns` from (ice-9 peg)
<surpador>The behavior is like this: https://paste.debian.net/1178029
<surpador>I'm not sure I entirely understand what's going on, but it looks like the macro is expecting a string literal and not a symbol that evaluates to a string maybe?
<surpador>And so I guess I'm asking if there's a way to substitute the value of the string variable in before the macro gets expanded
<daviid>surpador: you'd need to surround the(se) call(s) with another (your own) syntax, which would expand in a proper call
<daviid>that would acheive the same as `(define-peg-string-patterns ,pat) in a repl
<surpador>Aaah ok, I think it's working! I totally forgot quasiquote and unquote were things, thanks so much!
<daviid>welcome!
***wxie1 is now known as wxie
<tohoyn>sneek: botsnack
<sneek>:)
***wxie1 is now known as wxie
<cybersyn>hallo "geilers"
<cybersyn>i am sure this is something you get all the time, but i have found myself caught between guile, gerbil, and racket
<cybersyn>but really more guile and racket
<tohoyn>cybersyn: IMHO guiles object system is better
<cybersyn>the deeper I get into guix (its now my main OS), the more I want to focus on Guile. I really think guix is a beautiful demonstration of the practical elaboration of the concept of freedom, and Guile is obviously a progenitor here
<cybersyn>but I am also a recovering philosophy of mathematics PhD, and the ease with which Racket allows you to explore deep concepts like type classes or dependent types, while also being a very useful language, is probably the most important thing I could ask for
<tohoyn>cybersyn: do you mean Typed Racket?
<tohoyn>IMHO it looks interesting
<cybersyn>that said, I haven't had any experience with the other Schemes, but it seems like Racket does a great job of streamlining metaprogramming for quick and easy experimentation with difficult concepts.
<cybersyn>tohoyn: I just mean racket and its ecosystem of languages in general
<rlb>If you need to define goops methods on an applicable struct type, I see you can (define <foo> (class-of (make-an-instance)) and then specialize <foo>, but is that the the preferred way?
<ruffni>leoprikler: i haven't really abstracted at all and am still wondering about the terminology and what should do which job.. has anyone any resources that might help? should i get acquainted with SDL first?
<ruffni>what's a 'texture', a 'surface' in context of sdl?
<leoprikler>Ah, sorry, perhaps I jumped a bit too far ahead.
<ruffni>i've come across (racket based) fluxus and really like it, but am intending to do other stuff than what fluxus is intended for
<ruffni>np
<leoprikler>That's a good pointer, what *are* you intending to do?
<leoprikler>I suppose your interest in Fluxus means you want to use it for some kind of game, right?
***sneek_ is now known as sneek
<ruffni>well, not exactly.. i've played with fluxus and really like it! and i think i figured it out to a reasonable degree :) but i had this idea of a very specific kind of drawing application and since i love guile i thought i'd do it with GOOPS and ... probably sdl2 bindings library? the thing is: i have absolutely no experience with graphical stuff in programming (except command line output and ncurses).
<ruffni>the drawing software should draw lines and fill shapes defined through those lines... nothing too fancy (not even gradients, just solid fills)
<rekado>ruffni: are you aware of the picture language?
<rekado>it is a simple language in Guile that allows you to create 2D drawings (as SVGs)
<rekado>(it’s not meant for dynamic graphics)