IRC channel logs

2015-09-24.log

back to list of logs

<paroneayea> http://dustycloud.org/blog/wisp-lisp-alternative/
<civodul>heh, fun
<amz3>héllo stis_
<amz3>I'm having a look at opencog, I was wondering what you know/think about PLN
<amz3>if you know it
<stis_>no!, sorry!
<amz3>the acronym means probabilistic logic network
<amz3>I did not read much about the subject, anyway it seems to be somekind of markov chain framework
<amz3>maybe
<amz3>it relates to markov chain somehow
<amz3>since opencog database is basicaly a graph, i think that they somehow how have something to infer knowledge by doing something like guile-log does but use probablity
<amz3> http://www.philipotoole.com/the-strange-economics-of-open-source-software/
<ArneBab>paroneayea: pong ☺
<ArneBab>paroneayea: *blush* — that blog entry is wow!
<nalaginrut>oh where?
<civodul>Hello Guilers!
<artyom-poptsov>Hello civodul
<ArneBab>nalaginrut: http://dustycloud.org/blog/wisp-lisp-alternative/
<taylanub>"Now what would really be hylarious would be to port [Wisp] to Hy..." definitely :D
<nalaginrut>oh nice
<ArneBab>:)
<lloda>what does it mean when ,profile gives me a (%, cumulative, self) line like [1.16 194.01 (!!) 0.15 srfi/srfi-1.scm:590:5:map1] even though the total time is ~13 seconds?
<nalaginrut>I want to know the answer too ;-)
<civodul>parentheses are fashionable! https://github.com/anko/eslisp
<ArneBab>paroneayea: could you link it to the standard article? http://draketo.de/english/wisp (or is the style of the bitbucket page better suited for people reading your site?)
<amz3>héllo :)
<paroneayea>ArneBab: I can link to it!
<paroneayea>ArneBab: glad you like the post :)
<ArneBab>paroneayea: thank you!
<paroneayea>ArneBab: done
<ArneBab>thanks you!
<ArneBab>besides: I already did changes to catch the locale errors and always use bash in bootstrapping, and I now also include wisp.scm in the tarball. I just have to create a release for that.
<ArneBab>I fear though, that I have some unpushed work for that lying on the other computer.
<ArneBab>…well, won’t kill me. If I have, I can still merge it later and release it as a further version.
<paroneayea>yep!
<paroneayea>ACTION submits to https://news.ycombinator.com/newest
<paroneayea>let's see if it goes anywhere
<paroneayea>too bad there's that name collision, I wonder if people will think of the other Wisp
<paroneayea>Wisp is a great name for this though!
<ArneBab>paroneayea: I just released 0.8.7: https://bitbucket.org/ArneBab/wisp/downloads/wisp-0.8.7.tar.gz
<paroneayea>ArneBab: cool! I'll look at updating the Guix package submission later.
<ArneBab>but my adding of wisp.scm did not work…
<dsmith-work>Thursday Greetings, Guilers
<ArneBab>paroneayea: I now released 0.9.0: it no longe depends on Python for building
<ArneBab>wget https://bitbucket.org/ArneBab/wisp/downloads/wisp-0.9.0.tar.gz; tar xf wisp-0.9.0.tar.gz; cd wisp-0.9.0; ./configure; make check
<civodul> http://wingolog.org/archives/2015/09/23/amores-prohibidos <- excellent writeup
<paroneayea>ArneBab: great! :)
<ArneBab>civodul: and damn sad
<civodul>yeah
<ArneBab>civodul: I wanted to answer, but could find no words which would have expressed the jadedness I felt
***karswell` is now known as karswell
<zacts>lol http://dustycloud.org/blog/wisp-lisp-alternative/
<taylanub>zacts: you mean the last sentence?
<zacts>yeah, but it does look neat
<zacts>but I still prefer parenthetical syntax
<taylanub>same here, if just for paredit. Wisp looks much nicer than SRFI-110 I have to say.
<sbp>wisp is the future, people
<ArneBab>taylanub: keep in mind that wisp is *almost* SRFI-110 — the differences are much smaller than the similarities.
<ArneBab>(mostly the differences are leaving out features)
<ArneBab>the : syntax grew out of the \\\\ syntax in SRFI-110
<ArneBab>the _ as optional prefix for lines to survive HTML grew out of the ! in SRFI-110
<ArneBab>so the only really new thing is the . as prefix for lines without parens
<ArneBab>(which is at the same time what I like best and what I expect will prove most confusing)
<ArneBab>the rest is “let’s to some letter statistics — the most common unused symbols are : and _”
<ArneBab>most common as in normal text
<davexunit>sbp: I disagree, but Wisp is certainly interesting.
<sbp>civodul is the future, people
<ArneBab>it will have to prove with usage that there are no important patterns which hit the nasty dark corners of wisp :)
<ArneBab>(I defend SRFI-110, because it’s unclear whether my choices for wisp as opposed as the choices of SRFI-110 will actually prove to be better)
<civodul>sbp: uh?
<ArneBab>(wisp feels as a system should feel, and thanks to being based on guile — and only ~1000 LOC — it’s likely to survive long enough that it can get enough testing and hopefully infrastructure, but I only have one and a half decades of programming experience, and systems from far better people fell flat when they encountered sexps)
<sbp>civodul: sorry, was referring to context from just before you joined
<sbp>in summary, just an admiration of your work
<ArneBab>(but then: if it should fall flat, all needed to salvage the work is `for i in *.w; do guile wisp.scm "$i" > "$(basename "$i" .w).scm" )
<ArneBab>and I fully agree with sbp: civodul, you’re doing awesome work!
<civodul>heh, thanks
<davexunit>paroneayea: I started checking out squee last night, but I only had ~10 minutes to look at it.
<davexunit>the first thing I thouht of doing was removing the paramstring connect procedure from the public interface and wite a procedure that accepts either an alist of config values or a uri object.
<civodul>and it needs an EDSL for SQL queries :-)
<davexunit>civodul: yes, a notoriously difficult problem.
<davexunit>I actually just fixed a sql injection vuln in a rails application :x
<civodul>oh
<davexunit>the postgresql syntax is *huge*
<davexunit>I mean, the SELECT syntax alone is daunting: http://www.postgresql.org/docs/9.0/static/sql-select.html
<davexunit>and from a language design standpoint, there's lots of decisions to make: s-exp based, or something with record types? how does one compose simple sql expressions to build more complicated ones?
<davexunit>do we attempt to use relational algebra as some have tried elsewhere or go a different route?
<daviid>paroneayea: davexunit I'm interested in participating in squee, I also have immediate suggestions about the structure of the project [source tree] and I'm hapy to immediately autotool chained it. Last, I really think it should be on savannah, I'm happy to do the admin prep/quizz if you agree. I actually think we should get it ready for an official GNU Project, I can do that too
<paroneayea>davexunit: the paramstring thing is built-in to postgres though
<davexunit>paroneayea: yeah, that would be the low-level procedure we'd call
<davexunit>but wouldn't expose
<paroneayea>davexunit: how would an alist work though? I don't remember that you can reference things by keys
<davexunit>paroneayea: the param string has a format like "key1=value1 key2=value2 ..."
<paroneayea>davexunit: oh maybe
<paroneayea>davexunit: patches welcome :)
<davexunit>yeah, I'd like to write the patch for it.
<davexunit>it would make a prettier and safer API
<paroneayea>daviid: hold on, I'd like to reply in a sec
<paroneayea>daviid: client is pinging me about htings
<paroneayea>daviid: or maybe they've gone quiet, okay :)
<paroneayea>daviid: here's my thoughts for now:
<daviid>paroneayea: cool, no hurry
<daviid>I'm busy on something else too
<daviid>i just took the oportunity to ping both of you wrt my interest ...
<paroneayea>daviid: I'm fine giving you commit access; you and I haven't worked on anything together yet, but you seem to do good work in here, and squee is pretty early stages... I usually don't give out commit access this early on to somoene I don't know well but I think I'm okay with it here, and I've heard good things about your guile-gnome stuff
<paroneayea>daviid: also re: being on savannah, sure I suppose, I don't have that strong of opinions at the moment if you want to take the work to do it
<paroneayea>daviid: autoconf'ing it up will be ggreatly appreciated, not my favorite thing to do!
<paroneayea>daviid: as for technical direction, I'd like to coordinate before making major decisions. In particular, at the moment guile-squee is verrrry minimalist and low-level, and I'd be happy to expand beyond that point, but looking forward to what that is, I think needs some talking about
<paroneayea>daviid: I'd like to keep the low level of it functional, though I'd be happy to have some optional goops-oriented wrappers higher up, as long as they're really optional, kind of how sqlalchemy has sqlalchemy core and sqlalchemy orm
<daviid>paroneayea: thanks! I'm sure it will be a very fruitfull colaboration, and agreed with all you said above.
<paroneayea>daviid: awesome
<daviid>tell me when you have set write priv, I will create a deval branch and autool first things first
<paroneayea>daviid: if really possible, I'd also love a system like https://github.com/fukamachi/sxql
<paroneayea>which is what Crane uses
<daviid>then I will ask to be an official GNU Project, if ok perfect, if not a nongnu savannah ...
<paroneayea> http://eudoxia.me/crane/ also looks promising as a higher layer stuff
<paroneayea>but I think that's kind of future stuff, if ever :)
<paroneayea>right now it doesn't even use nice types
<paroneayea>it's just strings
<daviid>paroneayea: I looked at these following your posts here.
<paroneayea>I'd like to do something like what racket's database stuff does
<paroneayea>they do a nice job of converting types
<paroneayea>daviid: so as for the GNU project thing, I have no objections, but do you think it's promising enough to shoot for that?
<paroneayea>I haven't put enough time into it to be totally confident it'll succeed yet
<paroneayea>hence my worry
<daviid>paroneayea: i have to concentrate on something else now, but I agree and will halp you and davexunit so we get a good sxql like approach, I really like it as well
<paroneayea>daviid: hey awesome
<paroneayea>yeah I think you davexunit and I might be a good team to getting that to happen, as I'm sure even if davexunit has tons else on his place he'll take verrrrry curious interest in that kinda thing :)
<paroneayea>er, on his plate
<paroneayea>daviid: what's your username on notabug?
<daviid>paroneayea: I don't have a noteabug account
<paroneayea>daviid?
<taylanub>ArneBab: interesting. still it makes a huge difference in impression for me. <*> and ! and \\\\ and $ look very ugly to me, to the point I feel like going "just say no" against SRFI-110 :-) the visual cleanliness in Wisp is very attractive in contrast.
<paroneayea>daviid: oh, well if I'm giving you commit access, until it's on savannah, so maybe you should set one up?
<daviid>do I have to have one to be committer ?
<paroneayea>daviid: yes
<daviid>ok will do and let you know
<paroneayea>it's all free software and run by free software people though
<daviid>ok, will create an account and ping you, give me a sec
<davexunit> https://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00849.html
<davexunit>hoping the next Emacs maintainer has good feelings about guile-emacs
<paroneayea>me too
<daviid>paroneayea: done, it's daviid
<paroneayea>Stefan has been sometimes a bit rocky but overall has served emacs well
<paroneayea>I'm grateful for his time on it
<taylanub>ArneBab: by the way how feasible is automatic transformation between regular sexpr and Wisp code, both with idiomatic indentation/formatting? the thought of having to work with other people's Wisp code worries me a bit because I'm used to editing with Paredit and reading parenthesized code.
<paroneayea>daviid: added as a collaborator... give it a go!
<davexunit>paroneayea: my notabug username is the usual: davexunit
<paroneayea>davexunit: adding you too!
<paroneayea>davexunit: daviid: where should we do collaboration for now on issues, etc?
<paroneayea>on notabug? or on guile-user?
<paroneayea>or?
<paroneayea>or commit to the orgmode file I added? ;)
<davexunit>paroneayea: guile-user would be appropriate for discussions
<davexunit>especially since knowledgable folks could chime in
<daviid>!+
<davexunit>that aren't directly involved in development
<daviid>1+ agree with davexunit
<paroneayea>maybe I should send an email about squee to that list
<paroneayea>since I never really announced it
<davexunit>would be a good idea.
<daviid>paroneayea: davexunit once i will have asked for a savannah either officla gnu or not, will have a mailing list
<daviid>but for now, guile-user is our best choice imo
<daviid>how do I clone as a commiter on noteabug, do you know?
<ArneBab>taylanub: for me it’s the same with visual cleanliness — visual impression does matter
<ArneBab>taylanub: for SRFI-110 there’s a script named sweeten, but I don’t have one for wisp. It would be great to have, but non-trivial to get *good*
<paroneayea>daviid: see that little cloud dropdown box on the guile-squee page?
<paroneayea>well, I'll make it easy for you anyway
<paroneayea>daviid: git@notabug.org:cwebber/guile-squee.git
<paroneayea>that's the address, it'll use your ssh key
<ArneBab>taylanub: the conversion wisp->regular scheme is clear, but requires string parsing to keep the comments.
<daviid>ok did you add my ssh key already ?
<paroneayea>daviid: nope, you do it
<paroneayea>on your profile page
<taylanub>ArneBab: it would be very very neat if I could just open Wisp files and have them appear as regular Scheme code transparently. (I have an Emacs mode doing that for JSON, representing it as sexprs, for instance.)
<ArneBab>functional conversion is easy, but complete conversion is harder
<taylanub>ah, I see the comments might be problematic
<daviid>ah ok, sorry for my ignorance
<ArneBab>taylanub: that would be cool, yes
<paroneayea>daviid: https://notabug.org/user/settings/ssh
<paroneayea>no worries
<paroneayea>daviid: what name do you go by btw, aside from daviid? :)
<davexunit>taylanub: whoa what emacs mode does that for JSON?
<davexunit>sounds very useful :)
<daviid>paroneayea: you mean my real name? David Pirotte
<taylanub> https://github.com/taylanub/json-sexp-mode I should advertise this a bit more perhaps :)
<davexunit>taylanub: guix package pls :)
<taylanub>oh, the README might be a bit outdated ... IIRC this currently requires the modded json.el there. I usually work on this in brief bursts in the middle of other tasks; should sit down and clean up the json.el compatibility issue.
<ArneBab>taylanub: what it might be able to do is adding an overlay which simply adds parens and replaces : by an opening paren and a closing paren at the end of the line
<ArneBab>but for using paredit it would need a wisp-equivalent of that
<taylanub>yeah, paredit wouldn't play along
<ArneBab>all in all that requires a wisp-parser in emacs lisp
<ArneBab>essentially it’s just a theoretically simple transformation, but there are lots of nasty corner cases
<paroneayea>ArneBab: might be fun to have a wisp-parser that can even allow one to code emacs lisp in wisp :)
<ArneBab>(I mostly stumbled over parsing of strings
<ArneBab>paroneayea: wisp.py can do that ☺
<paroneayea>:)_
<paroneayea>I do like that wisp's syntax is pretty "generic" for anywhere sexps can live
<ArneBab>wisp.scm should be able to do it for most elisp code
<ArneBab>it’s just a representation of arbitrary tree structures
<ArneBab>(plus lots of hacks for special cases like #'() and such ☺)
<ArneBab>the code actually doing the transformation into a tree isn’t that big
<paroneayea>ACTION shoots off email to guile-user
<ArneBab>actually all the code isn’t that much :)
<paroneayea>whoa
<paroneayea> https://lists.gnu.org/archive/html/guile-user/2015-09/msg00002.html
<paroneayea>this is indeed an awesome guile-ssh feature
<ArneBab>(partially thanks to using (read)
<davexunit>paroneayea: ah this indeed went unnoticed for me.
<davexunit>awesome feature!
<davexunit>artyom-poptsov: cool work on guile-ssh :)
<ArneBab>(I just realized that in my mind the special cases are much bigger than when I count the lines ☺)
<paroneayea>> ** New module: (ssh dist job)
<paroneayea>> Low-level API for distributed jobs.
<paroneayea>> ** New module: (ssh dist node)
<paroneayea>davexunit: that could be useful for us
<paroneayea>for guixops
<davexunit>paroneayea: now we're talking :)
<civodul>and for the offload hook!
<ArneBab>distributed map and eval? wow!
<davexunit>we're going to put a lot of miles on this feature, I think.
<paroneayea>we should rebrand it as guile-mapreduce and get all the hipsters to join in
<davexunit>;)
<ArneBab>bbad
<ArneBab>cu
<daviid>paroneayea: all set, I just created and pushed a devel branch [did not add anythig in it yet, just wanted to make things work, all fine]
<paroneayea>daviid: \\o/
<paroneayea>daviid: thanks for your help :)
<daviid>paroneayea: davexunit thanks! it will be very interesting to work together
<davexunit>yes indeed!
<davexunit>we're all busy, so if we can all slowly chip away at this together, we should get farther than we could have alone.
<paroneayea>:D
<daviid>davexunit: i agree, all very busy, and we will do more 3 of us then alone...
<paroneayea>sigh, reddit
<paroneayea> https://www.reddit.com/r/scheme/comments/3m8efq/wisp_lisp_minus_the_parentheses/ so even though I agree that s-expressions are nicest, people are being total trolls about it
<paroneayea>I even said I prefer parens in the post personally, but that I think it's a useful syntax to help people become accustomed to lisp
<paroneayea>oh well.
<davexunit>oh reddit...
<paroneayea>okay I guess it's just one guy
<paroneayea>but still
<daviid>how to define a module and export things using RS7RS, any quick tip/example?
<taylanub>daviid: I assume you mean R7RS. Guile doesn't have full support for R7RS yet, but you can just use native Guile modules.
<taylanub>(info "(guile) Modules")
<daviid>taylanub: it's for kawa
<daviid>i just don't know how to define nd use a module
<daviid>their doc has no example
<daviid>and this fails
<taylanub>oh, I see you asked in #scheme too, so let's move there
<daviid>(define-library ij)\\n(export ij-open)\\n(define (ij-open filename)\\n(ij.IJ:openImage filename))
<daviid>#|kawa:2|# (load "ij.scm")
<daviid>ij.scm:35:1: invalid list in library name
<daviid>yeah, sorry for the noise here folks!
<amz3>the path I've taken is very difficult
<amz3>too much features at once
<zacts>hi guilers