<paroneayea>okay, I think I've read enough of the websocket spec to understand what davexunit wrote enough to port to 8sync :) <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>davexunit: I have your websockets code working in 8sync (barely, but it works) :) <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? :) <paroneayea>janneke: do you use the .foo notation for all methods, or just getters/accessors? <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 <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 <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 <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 <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 <janneke>it used to be much worse, that's all i know <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>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>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>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" <paroneayea>I could always namespace the accessor/getters in a module I'm importing them <paroneayea>janneke: I hope you don't mind me braindumping at you so much :) <janneke>paroneayea: if anything, i find it helping <janneke>i find it much more difficult to sort-out my still-vague ideas <paroneayea>rubber ducking is useful, and talking to someone who can jump in and sanity-check, even more so :) <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 <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>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? <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 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 <daviid>hum, i see one tab in my last modification in the original file indeed <alezost>no problem. I think that's what Lluís Vilanova meant saying about tabs <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 ;-) <sneek>davexunit, you have 1 message.