***michel_mno_afk is now known as michel_mno
<taylanub>nalaginrut: I'm gathering opinions for SRFI-123 (draft). which syntax would you prefer: "(set! object field value)", or "(set! (~ object field) value)" where ~ is a getter-with-setter? (in both cases there's dynamic dispatch to the actual setter; the only question is syntax.) <nalaginrut>taylanub: personally, I prefer explicit getter, it's clearer for me, and friendly for parsing ;-) <nalaginrut>so (set! (~ object field) val) is better for me, although looks verbose <taylanub>ok, that's the opinion most people are on, so thanks for further confirming it :) <rekado_>for my next project I'd like to try proper literate programming, i.e. laying out code in the order best suited to explain things, rather than the order required by Guile. <rekado_>I'd like to weave in imports as they become necessary, not all in one block, etc. <rekado_>are there tools that make this possible for Guile? <rekado_>I don't want to simply invert comments and code, but to subject the code to the narrative. <ArneBab_>taylanub: I like limiting the number of arguments, and there is already (set! foo bar), so I prefer sticking to that: (set! (~ object field) val) is closer. However that makes me ask why I should use (ref object field) instead of (~ object field) <ArneBab_>rekado_: do you want to do that in the code file or is it OK to use an external format? <ArneBab_>rekado_: for tutorials I found emacs org-mode to be very well suited (with noweb-syntax) <amz3>literrate programs are runnable, isn't it? <rekado_>ArneBab_: I don't mind writing in an external format and generate the code from it. <rekado_>I'm not a fan of org-mode for literate programming. I don't know why, but I never got used to the odd markup. <rekado_>I'm mostly concerned with the literate features of going around the language-imposed order of expressions. <rekado_>as a text language I'd prefer something simple like texinfo or lout or something with no markup at all even. <rekado_>I don't care much about pretty documentation being generated from all this when the document itself is readable as is. <remi`bd>given two functions f,g and two constants a,b; is there a nice way to express `x → (f a (g b x))` ? <remi`bd>something like (compose (curry f a) (curry f b)) I presume <lloda`>(compose f (cut g b <>)) with srfi-26 not sure if I'd call it nice <lloda`>sry (compose (cut f a <>) (cut g b <>)) <amz3>I'd love to have automatic currying some how <amz3>imo the most readable programs are the ones written using things like jupyter (formely ipython) a mix of document and program <amz3>it's give the liberty to experiment and is (supposed) to be fully runnable code <amz3>it's an REPL in a document, sounds a bit like texmacs <amz3>(which has guile bindings and is not maintained anymore) <wleslie>quite disturbingly, no datalog implementations here. maybe they are on my old laptop. <amz3>wleslie: don't make it hard for you, I will look at the racket implementation. I wanted to have a look at several implementation/algorithm maybe i can work with the paperse eventually <wleslie>I think I've lost a stack of my research. research I could have done better, mind, but it would have been nice to refer to <amz3>backup always do backup say the elder ;) <wleslie>I also couldn't find my superb llgraph serialiser and had to write one from scratch, and that was not at all easy to figure out how to do. <taylanub>ArneBab_: you can (and I suspect many people will) use (~ obj field field* ...). ***michel_mno is now known as michel_mno_afk
***michel_mno_afk is now known as michel_mno
<ArneBab_>rekado_: for me org-mode syntax works really well, since most things which have syntax overhead are available as templates: <s TAB → #+begin_src (?) ... #+end_src where (?) shows where the point is. <ArneBab_>taylanub: that was unclear to me from the SRFI <taylanub>ArneBab_: I don't know which version you read, but the latest one says that ~ is a synonym to ref*, and further down lists ref* and ~ together as one procedure in the spec <ArneBab_>ah, yes: “And define ~ as a synonym to ref*” <ArneBab_>taylanub: maybe you could put the synonym info in the line before <ArneBab_>it would additionally be nice to have an example for ~ with multiple values. <taylanub>ArneBab_: I'm thinking of outlying some conventions for how the SRFI should be used, such as strongly encouraging ~ to be used consistently for set!, so I'd like to keep the mention of the synonym and setter on the same line, at least until I know what direction to take (after which I might make changes to that part). <taylanub>You're right about the examples though, will add some early examples for ref*. <paroneayea>davexunit: I wonder if I found a bug in the json module you wrote <paroneayea>it seems when write-json'ed some incorrect escaping is added? <davexunit>well it's weird, \\/ is a JSON escape code for a literal / <paroneayea>davexunit: well it reads back in correctly again <taylanub>\\/ for / in JSON is for historical HTML-related reasons AFAIK <davexunit>paroneayea: well if it reads correctly then it's not a bug. <davexunit>does say, JSON.parse in your web browser accept the string? <paroneayea>davexunit: you're right, it's fine in python, let me see in my browser <davexunit>paroneayea: thanks for kicking the tires on this thing, though. <davexunit>I'm sure you let me know if you find other might-be-bugs :) <paroneayea>davexunit: i'm starting a branch where I have this in activitystuff/contrib/json.scm and I'll try conditionally importing from ice-9 json or it <davexunit>I plan to do the same for guix if/when the patch is accepted <davexunit>there will surely be some back and forth to fix issues that are found. <paroneayea>I'm in a better position than most to be an early adopter ;) <paroneayea>given that my code doesn't really have a userbase yet! <paroneayea>davexunit: anyway, gonna convert it in a branch first. I'll led you know how it goes ***michel_mno is now known as michel_mno_afk
***dje is now known as xdje
<daviid>guile-clutter-1.12.2 make distcheck pass <remi`bd>In Guile? Not every procedure has a name… <rekado->finished converting my Hakyll blog to Haunt. Yay! <rekado->when I have some free time I'll try to clean this all up. <davexunit>rekado-: do you think the final result will be better? <rekado->I have done a few "dirty" things to make everything work, but overall I'm satisfied. <davexunit>let's figure out how to make it clean sometime. :) <davexunit>rekado-: I definitely want to get that skribe reader supported out-of-the-box <paroneayea>amz3: it's fully documented that markdown isn't there yet but that davexunit wants it :P <rekado->as I was converting page after page from markdown to skribe I found that I didn't like markdown all that much after all. <rekado->skribe allows me to extend the markup on the fly. <rekado->with markdown I had to fall back to raw HTML if I wanted to go beyond the simple use cases the syntax covers. <rekado->I some posts I have some tables, for example. With markdown I had to be sure to use pandoc with particular extensions. With skribe I just wrote a (table ...) procedure with keyword arguments that generates the sxml I want. It's beautiful. <amz3>I find the terse syntax of markdown nice too.. <rekado->amz: If I switch from skribe to something else it's probably going to be your simplified syntax. <rekado->writing (p [...]) got on my nerves after a while.