IRC channel logs

2017-01-15.log

back to list of logs

<paroneayea>okay, I think I've read enough of the websocket spec to understand what davexunit wrote enough to port to 8sync :)
<janneke>ACTION -> zZzzz
<paroneayea>oh
<paroneayea>I'm dumb
<paroneayea>guile-websocket ships with an example .html file :)
<wleslie>wingo: I'm sorry I won't be there in tassie, I would like to share a (fluid-ref *beverage*) with you; definitely owe you one for your work on guile
<wleslie>wingo: the word from a grumpy team member was more or less they think matched the memory model correctly but they could be wrong
<wleslie>notably < ssbr> nothing gets reordered the way it does in C/C++/Java
<wleslie>anyway, there's always the nice feature that you do get to look at the code produced so you can audit that. keeping the user in the loop throughout lowering is a sensible thing to do.
<paroneayea>wheee!
<paroneayea>davexunit: I have your websockets code working in 8sync (barely, but it works) :)
<amz3`>héllo :)
<jmd>Is it possible to redefine Guile's idea of what a character is?
<ft>In terms of what char? returns?
<amz3`>you want #\\foobar for instance?
<jmd>I'm using guile-ncurses, which has things "complex characters" which are characters with attributes. And there are corresponding "complex strings". I'd like guile's string functions (string-split, string-join etc) to work with these.
<ft>What are you building? :)
<janneke>grrr why won't (gdb) quit with ,q
<paroneayea>janneke: do you use the .foo notation for all methods, or just getters/accessors?
<janneke>paroneayea: just for accesssor
<janneke>but i haven't used methods in years (last time was my guile-gnome project schikkers-list)
<daviid>paroneayea: fwiw, i use !, like in !foo, and just for accessors. I don't like . because it is java, and also since it can be used in (set! (!foo bar) 'fox) ... i feel it is schemier ...
<janneke>i think the `.'-metaphor does not work for methods when you have multiple dispatch
<venom00ut>hi, I'm a newbie with guile/Scheme, I'm trying to run cgen using a very old version of guile (1.6.8, which is one of the supported few)
<venom00ut>I'm running `guile -l ./cgen/cgen-sim.scm -- -s .` but I get the following error: `ERROR: In procedure open-file: ERROR: No such file or directory: "./cgen/./pmacros"`
<paroneayea>janneke: yeah I was thinking similarly about multiple dispatc
<paroneayea>h
<venom00ut>now, there's no such a file (./cgen/./pmacros), but there's `./cgen/./pmacros.scm`, is there a switch or something I don't know about that I should use?
<paroneayea>I think one thing that bothers me about doing the .foo generics on accessors/getters
<paroneayea>is knowing that when there are duplicates they'll probably merged, to which that should probably be fine but
<janneke>paroneayea: yeah...it's a `feature'
<paroneayea>it bothers me a bit thinking about the overhead of accessors/getters having generic method dispatch for multiple items when it isn't needed :)
<janneke>when i hit performance issues with GOOPS -- i.e. pre-wingo hacks
<paroneayea>I'm pretty sure that generic methods in GOOPS are O(n) the number of implementers, right?
<janneke>i tried avoiding generics and it helped
<janneke>it does not seem to matter anymore
<janneke>generics used to be very expensive
<paroneayea>they do seem pretty fast, but I don't have a lot of implementers
<paroneayea>I don't use generics on the things that need to be "fast" in 8sync right now, aside from the implicit getter/accessor aspects, but those are single-implementer, for now
<janneke>makes sense
<paroneayea>it seems like single-implementer generics are fast (but of course, what's the point of generics then), but am I right in that they're O(n) on number of implementers to dispatch?
<paroneayea>looking at the code, it looks like the cache is a simple aslist
<paroneayea>alist
<paroneayea>so I would think so
<janneke>i'm not sure, yes probably
<janneke>it used to be much worse, that's all i know
<paroneayea>:)
<paroneayea>yes, I'm glad things are faster
<paroneayea>but I do want to think about keeping things performant :)
<janneke>in a library like 8sync you don't want to waste anything
<paroneayea>right
<paroneayea>janneke: this also makes me wonder more if I should be using accessors as the way to do (clone) or if I should just use the slot names
<paroneayea>accessors would allow a more changeable interface, CLOS style
<paroneayea>but
<paroneayea>it also feels unnecessary, when the slot name itself with slot-set! would do fine
<paroneayea>janneke: I mention this because I hope to have a demo of "functional actors" in time for my FOSDEM talk
<paroneayea>so I will probably use the clone code
<paroneayea>I know I'm probably overthinking here in channel, sorry if anyone's annoyed :)
<paroneayea>janneke: also, to contradict myself about worrying about accessor/getter overhead on being "merged"
<janneke>oh?
<paroneayea>I could always namespace the accessor/getters in a module I'm importing them
<paroneayea>if I really didn't want them to merge
<paroneayea>so it probably isn't a problem.
<janneke>*nice*
<paroneayea>janneke: I hope you don't mind me braindumping at you so much :)
<janneke>paroneayea: if anything, i find it helping
<paroneayea>:)
<janneke>we had a nice streak, yesterday
<paroneayea>yes!
<janneke>i find it much more difficult to sort-out my still-vague ideas
<janneke>by myself
<paroneayea>rubber ducking is useful, and talking to someone who can jump in and sanity-check, even more so :)
<paroneayea>damn, guile's module system is *so nice*
<paroneayea>so much nicer than importing in python
<paroneayea>it took me a long time to appreciate it
<paroneayea>I also used to think that since guile's importing usually isn't used with namespacing it would be like "from foo import *" in python, which I hate
<paroneayea>but, in guile + geiser, geiser can tell me where everything comes from
<paroneayea>so no problem.
<janneke>paroneayea: i have a similar experience, coming from python
<paroneayea>wow, now that I've moved back to the "snow-better" emacs color theme, rainbow-identifiers-mode is finally a delight
<paroneayea>I guess, and it should have been obvious, that whether that was enjoyable depended on the mode used.
***Guest47965 is now known as micro`
<daviid>someone responded my guile-lib patch email saying: "... your use of tabs is inconsistent within the patch and across the rest of the file...", but in a zillion contrib :), this is the first time some 'complains' on possible tab inconsistency? i use emacs of course, no specific tab setting in my .emacs, except '(geiser-mode-smart-tab-p t) ...
<daviid>emacs does the indentation, some time I M-C-q if I see reindent is need, and save the file, as I ever did, do you guys have a specific .emacs settings maybe?
<daviid>* as I always did ...
<daviid>anyone can out some light on my pathetic tab/emacs ignorance here? there is no tab in the saved file as I can tell, spaces only, all indented correctly afaict (the API I added, I did not touch the rest of the file...)
<janneke>daviid: you could respond with: I'm using Emacs, did you forget to checkin .dir-locals.el?
<janneke>ACTION breaks head over *p++ = c
<janneke>thought i got that working
<daviid>janneke: yeah I thought answering that, but wanted to ask here first, did you noticed something wrong ? guile-lib does not have a .dir-locals.el by the way, so the indentation of this (and all the projects I contribute or maintain use the default emacs settings for scheme mode ...)
<daviid>I don't have .dir-locals.el in any of 'my' projects
<janneke>daviid: yes, there are many ways of looking at it
<janneke>it's nice, in a way, that people look at your stuff, and not only that, they even look at your whitespace
<janneke>otoh, emacs was conceived to automate such trivialities away, i think
<alezost>daviid: I see tabs in this patch: http://lists.gnu.org/archive/html/guile-devel/2016-10/txtCufshT7lgd.txt if that's what you mean
<alezost>daviid: I use (setq-default indent-tabs-mode nil) to avoid inserting TABs by default
<daviid>alezost: that would git format-patch then? because there a re no tab in the file itself
<daviid>i can add indent-tabs-mode nil) in my .emacs though
<alezost>and the next ones
<daviid>hum, i see one tab in my last modification in the original file indeed
<daviid>alezost: thanks
<alezost>no problem. I think that's what Lluís Vilanova meant saying about tabs
<daviid>alezost: yes, I see now, thanks
<paroneayea>janneke: davexunit: I have a combo websocket server + http web server
<paroneayea>technically, I added an extension mechanism to the web server so you can pass off known upgrade requests to different protocols
<paroneayea>which I think is probably the right way to do it.
<paroneayea>but anyway, I have websockets and vanilla HTTP running side by side on the same port :)
<random-nick>janneke: stuff like *p++ = c is why prefix is better
<janneke>random-nick: no need to solve the problems that you avoid ;-)
<davexunit>paroneayea: that is some fantastic news.
<sneek>davexunit, you have 1 message.
<sneek>davexunit, lfam says: Do you think that docker-compose is affect by this Docker bug? <http://seclists.org/oss-sec/2017/q1/54> In any case, our package is several versions behind
<paroneayea>davexunit: :)
<amz3`>great news indeed