IRC channel logs

2016-04-19.log

back to list of logs

<jmarciano>daviid: thanks
<daviid>jmarciano: welcome
<davexunit>ijp: hey, could you explain your haunt situation a bit more?
<davexunit>I think I can help, but I need to understand your situation a bit more first.
<ijp>basically, I noticed that builders get a list of all the posts returned by the readers, and want to exclude some posts from some of the builders
<ijp>I wanted to know if this was possible without having multiple site objects
<davexunit>ijp: a builder can do whatever it wants with the posts list, including applying 'filter' or something
<davexunit>let me check out some code
<davexunit>(patches to improve the API welcome, btw :)
<davexunit>so, for example, the 'blog' procedure doesn't accept an argument for a posts filter, but you could easily write a wrapper procedure that does this.
***Guest33726 is now known as micro`
<ijp>filtering on the posts list works, but it just didn't seem very modular
<davexunit>(let ((build (blog))) (lambda (site posts) (blog site (filter awesome-post? posts))))
<davexunit>ijp: open to suggestions
<davexunit>paroneayea has asked similar questions
<davexunit>so there may very well be a better abstraction here.
<davexunit>but I have no bright ideas at this time.
<ijp>yeah, I dunno.
<ijp>Two ideas spring to mind: the current model could be kept with a way of adding extra metadata "tags" to posts for filtering on
<ijp>or some form of "subsite"
<davexunit>ijp: the first idea is already possible
<davexunit>you can associate arbitrary metadata with a post
<ijp>right
<davexunit>and write the filter wrapper
<davexunit>we could write a higher-order procedure to make the wrappers easy to write
<davexunit>(builder-filter awesome-post? (blog))
<davexunit>(define (awesome-post? post) (eq? (post-ref post 'category) 'awesome))
<ijp>I'm probably going to take this route for the moment, but I'll think on the subsite idea some more
<davexunit>let me know if a light bulb pops up over your head.
<davexunit>as a general tool, I like the composability of the above code.
<Chaos`Eternal>How can i get all opened files of current process?
<floor13>does substitution have ANY effect on runtime? http://pastebin.com/raw/d6SRAM0t
<floor13>would test this myself but I have no idea where statprof is in the modules
<floor13>leaving, checking logs tomorrow morning
<nalaginrut>it's great performance of 2.2 port operation, besides server development, it's also good for multi-lang frontend ;-D
<xieyuheng>any recommend simple test framework for guile ?
<xieyuheng>* any recommended simple test framework for guile ?
<taylan>xieyuheng: you can use SRFI-64
<xieyuheng>the doc does not say how to enter the debugger ? :: https://www.gnu.org/software/guile/docs/docs-1.8/guile-ref/Interactive-Debugger.html#Interactive-Debugger
<xieyuheng>is it possible to write a slime backend for guile ?
<ecraven>xieyuheng: it would be
<df_>theoretically, there's one for mit scheme
<ecraven>there are SLIME backends for chicken and a mostly-well-working one for MIT/GNU Scheme
<ecraven>df_: it mostly works well, I've been using (and partly trying to maintain) it for some time
<wleslie>there's a slime clone called geiser
<wleslie>that's more suited to scheme
<ecraven>wleslie: how is it more suited to scheme?
<ecraven>(not saying it isn't, but SLIME works quite ok for Scheme)
<wleslie>besides that it works well, I don't have anything particular to add
<wleslie>having not used slime on a scheme
<xieyuheng>wleslie: geiser has interactive debuger support now ?
<df_>having used both, I find slime a fair bit more polished (but then I've only used it for common lisp)
<df_>geiser sort of feels like it could be like slime if I put effort into it, but in that case it seems like the effort would be better put into slime
<ecraven>to be fair, there are things in SLIME that just don't map well to Scheme, but it is very usable
<ecraven>with some work, geiser might get there, but I don't have the feeling it's already there (or even close)
<ecraven>also, as badly documented as it is, SLIME is still better documented than geiser's internal protocol
<wleslie>well, it mostly uses the underlying repl for interactive debugging
<davexunit>geiser is the best tool for guile
<ecraven>isn't geiser also the only tool? :-)
<ecraven>or is there a swank server for guile?
<df_>not that I've seen
<davexunit>I wouldn't want to use slime
<davexunit>geiser is built for scheme
<df_>I'd just like the consistency
<df_>I use geiser and it works fine for me, but the other day I happened to be hacking some CL and just felt "hey, this is a bit slicker"
<df_>a bit swankier maybe
<ecraven>davexunit: I've tried building a MIT/GNU Scheme backend for geiser one afternoon a few months ago, but the debugging is worse than SLIMEs, and there's no documentation at all on the wire protocol
<ecraven>of course, I only tried for an hour or two
<wleslie>(debug) enters the debugger
<ecraven>all the fancy tracing and presentations and stuff in SLIME are nice to have too :)
<ecraven>but those could be added to geiser with little work, I guess
<xieyuheng>I tried (debug) but :: https://www.refheap.com/117843
<wleslie>haha. it didn't work, but hey, it dropped you into the debugger (:
<xieyuheng>oh !
<df_>the prompt isn't "debug>" ...
<wleslie>I think there's some version-related confusion here. it works on 1.8. maybe 2.0 doesn't need a debug> prompt.
<xieyuheng>yes, I must be reading a out dated doc
<wleslie>the core devs should be awake soon.
<wleslie>xieyuheng: so from that prompt you have there, these commands are available: https://www.gnu.org/software/guile/manual/html_node/Debug-Commands.html#Debug-Commands
<wleslie>here's the "interactive debugging" page for 2.0: https://www.gnu.org/software/guile/manual/html_node/Interactive-Debugging.html#Interactive-Debugging
<df_>ah commit 33df2ec719d281c70a5c7595dceee9f47770e910, "integrate the debugger into the repl"
<xieyuheng>how to set guile to print ,bt and the ,locals of the 1st frame by default ?
<xieyuheng>oh I see debug-options
<ecraven>davexunit: do you know things about the implementation of geiser?
<ecraven>davexunit: I'm having the problem that geiser-con--send-string/wait sends "(+ 1 2)" to my process, but it never successfully returns :-/ I don't see why
<dsmith-work>Morning Greetings, Guilers
<optikalmouse>is there a guile wiki?
<optikalmouse>I'm wondering where I should place a link to the instructions I have for setting up Guile on Mac OS X...
<df_>hmm, there's a scheme wiki
<df_>not much about guile on it apparently though: http://community.schemewiki.org/?Guile
<optikalmouse>hmm
<optikalmouse>damn you OS X...I got smacked down by the lack of gnu readline
<optikalmouse>Undefined symbols for architecture x86_64: "_rl_get_keymap_name", referenced from: _scm_init_readline in readline.o
<optikalmouse>anyone know which version of GNU readline guile depends on?
<optikalmouse>sigh looks like a known issue from back in 2011
<lloda>I use readline from macports, it works
<lloda>you need other stuff that isn't on the system anyway
<lloda>I mean to compile your own Guile on the Mac
<optikalmouse>it may have picked up a different readline library :/
<lloda>there's an option to configure --with-libreadline-prefix[=DIR]
<paroneayea>ACTION might be crazy, but is considering using canonical s-expressions as a message transport for an actor model implementation
<daviid>message passing is an old [and not a good] model/technology, largely surpassed by the generic function multimethod polimorphic dispatch model, which is not a surprise since it is precisely why it's been invented
<df_>not sure smalltalk people would agree with you :)
<df_>both have certain advantages
<jmarciano>as I am learning Guile, I wish to make "settings" kind of a file. What is common in Guile to make settings
<jmarciano>should I keep it in a hash, and make something like (myprog-settings '("Here" 12.00 "Description")) - like this?
<jmarciano>later with myprog-settings to insert the data into the hash.
<jmarciano>I will have such lines like 500
<paroneayea>daviid: message passing makes sense for distributed computation using the actor model
<ozzloy>it looks like older versions of guile had a "prolixity" (aka "verbosity") and quiet mode command line options. what happened to those?
<ozzloy> http://www.galassi.org/mark/mydocs/guile-user_3.html#SEC7 as shown here
<daviid>jmarciano: there are a lot of possibilities, but since nobody answered and as a source of inperation, aybe, here is what I do http://git.savannah.gnu.org/cgit/foliot.git/tree/foliot/config.scm, which uses http://git.savannah.gnu.org/cgit/grip.git/tree/grip/config.scm
<jmarciano>I am reading that, thank you. That looks to me as reading the configuration. Did not get clarity but thanks
<jmarciano>as I know this is list '(1 2 3 "string")
<jmarciano>I am interested, if people use lists in the manner like '(function 1 2 3)
<jmarciano>and if yes, how to invoke the function name that was in the list? As for me list is data
<jmarciano>for my understanding
<daviid>jmarciano: grip provides read-config/write-config, foliot read/write an alist and has its get/set procedures. the idea I have choosen wrt to app config is to read/write alist, but as I said it could be just about anything else...
<jmarciano>yes it is good for reading of config.
<jmarciano>as example for me, to learn from
<jmarciano>I have seen config of mcron: (job '(next-minute '(50)) "/home/data1/protected/bin/GitUpdate.pl")
<jmarciano>if I understand well that is "job" as function that is going to parse the list, and there is list within a list '(50)
<jmarciano>I guess that in that line the "next-minute" has to be evaluated
<wingo>ozzloy: that page was literally last updated 20 years ago :)
<wingo>i don't know whether to ask him to remove it
<wingo>i just dug out mark's contact info but i dunno, how does someone stumble on that web page?