IRC channel logs

2016-12-16.log

back to list of logs

<dsmith-work>Hey hey
<zacts>hi guile nerds
<jmd>Is there a way to discover the path of the current .scm file or anything similar?
<taylan>jmd: (assoc-ref (current-source-location) 'filename) may do
<taylan>jmd: getting the filesystem path of (current-load-port) or so may also help...
<taylan>jmd: oh I just found out there's even current-filename. many current-... things :)
<jmd>I'll look at one of those. Thanks.
<janneke>ACTION has backported #' to guile-1.8 ... trying to run PEG
<taylan>janneke: you mean #'foo being converted to (syntax foo) by the reader ?
<taylan>ACTION wonders whether guile 1.8 has syntax-case at all?
<janneke>taylan: yes, 2x
<taylan>interesting that it had s-c but not #'
<janneke>guile-1.8 has a pre-r6rs syntax-case
<taylan>neat
<janneke>but loading PEG with that signals an error
<taylan>ACTION is frustrated about the s-c hate among R7RS folks :(
<taylan>I mostly gave up with R7RS-large by now, though I thought R7RS-small is a nice "replacement to R5RS"
<janneke>ACTION hasn't heard about that (green to all that)
<janneke>taylan: what's the hate about?
<taylan>janneke: "too complex" so they prefer inferior systems, is how I'd summarize it :P
<janneke>taylan: well, possibly i can sympathise
<janneke>implementing syntax-rules takes ~200 lines of scheme
<taylan>IMO as disingenuous as saying hygienic macros are too complex so let's stick with define-macro... it's a necessary complexity for what it offers, the way I see it.
<janneke>syntax-case is *expensive*
<janneke>i haven't fully grasped the gain of syntax-case, i must say
<taylan>hmm, ok, to be honest I view the issue from a user perspective (writing macros), not implementor perspective
<janneke>but i am trying to pay the cost of it, and it seems at least an order of magnitude more expensive than syntax-rules
<taylan>janneke: a significant gain to me is being able to have stand-alone syntax objects as first-class values. e.g. one module that has a private binding for foo can (within the expand phase) evaluate (syntax foo), and pass that to another module, and the other module can use that without having to have the binding for foo in its own scope
<taylan>I made use of this in the macro-based API of bytestructures... maybe it sounds too abstract until one has actually used it in practice.
<janneke>taylan: yes...i'm still playing catchup trying to grasp all this
<medfly>Hi guile! will you be willing to use a newer version of config.rpath? http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=build-aux/config.rpath;hb=HEAD
<jmd>medfly: I suggest you put that the developer mailing list.
<medfly>OK
<dsmith-work>Happy Friday, Guilers!!
<civodul>happy Friday!
<davexunit>happy friday!
<janneke>wow, nyacc is terribly impressive
<civodul>isn't it?
<civodul>janneke: let's Mes with it! :-)
<janneke>civodul: yeah, right!
<janneke>i needed a break from trying to get psyntax/PEG really up
<janneke>esp. as that's possibly not even the way to go (psyntax)
<janneke>nyacc parses (and preprocesses) C quite nicely, with guile
<janneke>but it uses quite some stuff that's not in mes, apart from syntax-case
<janneke>now looking at optargs :-)
<janneke>for mes
<OrangeShark>happy friday
<civodul>heh
<janneke>haha
<janneke>eval: unbound variable:
<janneke>
<janneke>woo, optargs hello-worlds with Mes!
<paroneayea>I am constantly accidentally doing #:init-val instead of #:init-value in goops, heh
<davexunit>is #:init-val a CLOS thing or something?
<davexunit>or is this just an unexplained phenomenon?
<amz3>Héllo :)
<amz3>I have a test failing with master
<amz3>it's test-language that fails under ubuntu 16.10
<amz3>So far wiredtiger is behaves correctly and tests pass
<paroneayea>davexunit: not AFAIK, I just always think "#:init-val" sounds so much nicer or shorter in my head
<paroneayea>thatt I just default to it
<paroneayea>I don't know why
<davexunit>:)
<davexunit>not completely guile related, but I implemented "signed distance field" rendering in my guile opengl program last night and it is really nice https://www.mapbox.com/blog/text-signed-distance-fields/
<daviid>davexunit: for info in clos, it is :initform
<davexunit>daviid: ah, okay
<daviid>paroneayea: sometimes I think, start to write, C-x C-e, error, whaaaat? then I realize I wrote (defclass ...) :)
<daviid>though it's been 15y by now :):)
<daviid>paroneayea: there is a retrospective 'the idea of lisp' 4th in HN ...
<daviid>I know you like to know where and when all this came from .. :)
<daviid>but that article is weak, imo, and some comments really stupid, then it does not mention scheme at all, says clojure is the most prominent lisp nowaday, (does not mention kawa either, a much better choice imo), and the reason is: the guy makes money teaching clojure... oh well
<OrangeShark>need more people writing blogs about scheme and making money from it :P
<daviid>OrangeShark: yes, and DrGuile maybe :)
<amz3>daviid: what is DrGuile?
<daviid>amz3: it does exist, DrRacket does ... but i was 'joking', I won't write it :)
<daviid>*it does not exist
<dsmith-work>No? Fire up guile-emacs and M-x doctor
<dsmith-work>;^}
<daviid>:)
<amz3>it should exist :)
<paroneayea>coming really close to another 8sync release, already!
<paroneayea>but I need to really do a lot of documenting
<amz3>davexunit: what do you plan for the next version of sly?
<davexunit>amz3: a complete rewrite
<amz3>can you tell me more?
<amz3>what' the plan basically of the the rewrite?
<amz3>do you plan to keep the signal machinery?
<davexunit>right now I'm playing around with new rendering techniques and paying closer attention to how much allocation is happening.
<davexunit>I'm going to rewrite the game that I wrote for a lisp game jam
<amz3>GPU side?
<davexunit>and the new sly will emerge from that
<paroneayea>davexunit: I look forward to seeing how the rewrite will go :)
<paroneayea>go Sly!
<davexunit>:)
<davexunit>there will be less functional stuff, I think.
<davexunit>more focus on lower level things
<paroneayea>davexunit: I'll be interested to see where that goes. I thought of sketching out a game engine that's a bit like Xelf for Guile, and figured I'd build it on top of guile-sdl(2)
<paroneayea>it'll be interesting to see if the lower level layers of Sly can / should be reused
<davexunit>I would hope so.
<paroneayea>or if it's best to just build on top of another game engine
<paroneayea>er
<paroneayea>on top of the lower level guile-sdl
<amz3>I think about building frontend for my database...
<davexunit>I think it would be a failure if it wasn't good enough
<davexunit>I want people to be able to use the rendering engine without necessarily using the coroutine stuff
<paroneayea>davexunit: let's see if I can build the most imperative, anti-FRP mutation heavy game engine on top of Sly's base alongside your nice FRP model ;)
<davexunit>I want it to be a toolkit for game devs
<amz3>hmmm
<davexunit>this rewrite has no frp at all
<davexunit>and probably won't have any when it's done
<amz3>ok
<paroneayea>davexunit: have you pulled an Elm???! ;)
<davexunit>I guess so ;)
<davexunit>I'm going to try out a fibers-like approach to things
<amz3>interesting
<paroneayea>davexunit: well I'm sure it'll be interesting regardless :)
<amz3>davexunit: don't forget to blog about it?
<amz3>BTW did anybody blog anything recently regarding guile?
<davexunit>I need to blog again
<davexunit>been over a year
<paroneayea>I need to blog too
<davexunit>if my guile optimization gets merged I'll write about it
<paroneayea>well, I've blogged on the 8sync blog, but not sure that counts.
<paroneayea>I should see about 8sync's blog being added to Planet GNU
<amz3>I have a brillant idea!
<amz3>that involves minikanren \\cc stis ;)
<amz3>ijp: how did you come with the minikaren implementation? because while reading the book it missing the implementation of a lot of forms
<amz3>ah ok it comes from https://github.com/miniKanren/TheReasonedSchemer/
<amz3>well, that is bummer I was looking for some kind of explanation. Also it doesn't seem like there is a new version of the book explaining the implementation of microkanren
<amz3>hell, you can't even pk something in microkanren
<amz3>I mean easily