IRC channel logs

2020-12-20.log

back to list of logs

<sneek>Yey!
<tohoyn>sneek: botsnack
<sneek>:)
***apteryx is now known as Guest47059
***apteryx_ is now known as apteryx
<tohoyn>str1ngs: What do you think about the debianized G-Golf? See http://tohoyn.fi/g-golf-debian/index.html.
<taw10>Make a histogram of the number of times each number has appeared (should fit into memory, 16Gb or so if the full range is seen), then split the density of the histogram into two halves
<taw10>Sorry, mis-paste!
***chrislck_ is now known as chrislck
<str1ngs>tohoyn: just tested the .deb works perfectly! can we get the source into git? I'm not familiar with debian development.
<wingo>civodul: regarding warning pass -- getting interesting warnings, e.g. GUILEC language/ecmascript/function.go
<wingo>language/ecmascript/function.scm:34:0: warning: non-idempotent binding for `pput`. When first loaded, value for `pput` comes from imported binding, but later module-local definition overrides it; any module reload would capture module-local binding rather than import.
<wingo>a bogus warning in the context of that module, as pput comes from an import, and the expansion of the `define-method' is something like (unless (defined 'pput) (define-generic pput)) or something
<wingo>but still, an interesting warning. i wonder if we couldn't move that "if" to compile-time
<wingo>i.e. determine whether we need a local define-generic or not based on the import structure of the module. dunno. goops vs modules, episode LXVIII
<wingo>maybe we need a goops-specific warning pass
<wingo>the warning as emitted (in my draft pass) is bogus because the definition doesn't always happen; it's in an if
<wingo>so i can detect that and avoid the warning in that case. but the goops question stands, i think
<civodul>wingo: interesting!
<civodul>catching issues with define-generic is definitely worthwhile
<civodul>it's a common mistake
<wingo>more with define-method i guess
<civodul>oh yes, define-method
<wingo>i.e. the implicit define-generic in define-method
<civodul>another approach would be for define-method to not define a generic if it's not already there
<civodul>yes
<civodul>but of course that's a breaking change
<wingo>yeah that's a harder thing to do
<civodul>perhaps we can do both: have a warning pass, and also start recommending explicit define-generic
<wingo>i mean, a harder change to manage :)
<civodul>yeah
<wingo>honestly i don't know what the right thing is -- i am not really a goops user
<civodul>me neither :-), but i think explicit is good
<wingo>we could emit a warning in the pass that causes the implicit define-generic
<wingo>s/pass/arm of the conditional/
<civodul>that would be a run-time warning though, right?
<civodul>i think we should avoid run-time warnings
<civodul>because they reach the wrong audience
<wingo>at the REPL it would be useful, but i guess that's compile-time too
<wingo>but yeah, *nod*
<wingo>problem would be in code that is designed to be reloaded
<wingo>unless we made define-generic expand to (define-once foo (make-generic 'foo))
<wingo>rather than just "define"
<wingo>haha funny, turns out you can have a module (foo) that defines and exports a class <foo>, then you can have (bar) using (foo) which also has (define-class <foo>) -- what do you think that does
<wingo>redefines <foo> in (foo) :)
<wingo>may error if the class isn't redefinable, but still, gnarly gnarly stuff
<civodul>oh, fun :-)
<civodul>yeah it's the same kind of issue
<civodul>you never know if you're referring to the local thing or to some imported thing
<wingo>maybe we can solve it for generics by issuing compile-time warnings when define-generic is missing and there is no import.
<wingo>for classes, that define-class can redefine another module's class sounds like a bug to me
<wingo>hum, with generics there is the whole primitive-generic thing :/
<wingo>and extending "raw" procedures
<wingo>something to think about another day, methinks
<civodul>:-)
<Noisytoot>Does anyone know where sneek's source code is?
<RhodiumToad>iirc it's not published?
<bandali>iirc dsmith operates it and would know
<bandali>i seem to recall it being mentioned that sneek was born from http://community.schemewiki.org/?sarahbot
<dsmith>I finally found this https://github.com/igorhvr/bedlam/tree/master/sisc/sisc-contrib/irc/scheme/sarah
<dsmith>I munged that to work with guile, bobot++ and sqlite. Need to dig into copyrights and legal stuff. Maybe I do something these next two weeks? Who knows, maybe it can happen.
<bandali>nice. that would be much appreciated :-)