IRC channel logs

2013-12-18.log

back to list of logs

<nalaginrut>morning guilers~
<nalaginrut>what is 'dummy' imported?
<mark_weaver>huh?
<mark_weaver>I don't understand your question.
<nalaginrut>WARNING: (lambdabit ir): `dummy' imported from both (lambdabit ast) and (lambdabit env)
<nalaginrut>something like this
<nalaginrut>just WARNING, but I want to know the reason
<nalaginrut>the word 'dummy' is not so clear
<mark_weaver>it sounds like both of those modules export an identifier named 'dummy'.
<nalaginrut>but the strange point is that I don't have any thing named 'dummy'
<nalaginrut>and I grep it, no result
<nalaginrut>maybe it's in some Guile modules?
<nalaginrut>seems there's 'dummy' in rnrs/records/syntactic.scm, but it's not a exported one
<mark_weaver>do you ever do anything like automatically exporting all identifiers in a module? I seem to recall you asking about doing that at some point.
<nalaginrut>yes I used module-export-all! in these two modules
<nalaginrut>with (current-module)
<mark_weaver>do you use R6RS records?
<nalaginrut>but I only imported #:use-module ((rnrs) #:select (define-record-type))
<nalaginrut>I thought there shouldn't be other things, no?
<mark_weaver>module-export-all! is a very bad idea.
<nalaginrut>oops
<mark_weaver>you're probably exporting top-level defines that are meant to be internal to some macro.
<nalaginrut>there're so many things to export that I don't want to type them...
<mark_weaver>so use define-publid
<mark_weaver>*define-public
<nalaginrut>ok
<nalaginrut>but what about record-type of r6rs?
<nalaginrut>the accessor has no public define interface
<mark_weaver>I have to go afk for a while...
<nalaginrut>ok
*nalaginrut go for lunch
<nalaginrut>see you then
***sneek_ is now known as sneek
<nalaginrut>sneek: later tell mark_weaver If 'dummy' exported from two modules is no harm, it doesn't matter. I don't know if it's worth to spend time on this issue ;-)
<sneek>Will do.
***haroldwu_ is now known as haroldwu
<bubble>I am working on a meta-circular gc, there's a fast one with fixed size chunks, the same with better recursion and then one with data as large as the mem chunk
<bubble>later on I'll put in a SMOB hook
<bubble>I'll post to the list as soon as it works somewhat, I wrote it out of my head
<bubble>HTH
<bubble>It's mark and sweep more or less
<bubble>Project is hosted at https://github.com/zork9/scheme.code
<taylanub>bubble: What is a meta-circular garbage collector ?
<taylanub>You mean it's written in Guile (Scheme) ?
<bubble>a gc written in scheme
<bubble>so it adds a layer of abstraction
<bubble>a REPL is meta-circular somewhat
<bubble>a scheme written in scheme (Guile)
<bubble>IIRC lambda calculus provides better abstraction this way
<taylanub>Well the REPL just uses `eval'. But anyway ..
<bubble>then eval should be emulated
<bubble>again meta-circular eval
<bubble>slib is one of the old things for this
<taylanub>You seem to have unbalanced double-quotes in some files. Let me recommend Paredit.
<taylanub>(In this case syntax highlighting already reveals the unbalanced quotes though; aren't you using syntax highlighting ?..)
<bubble>I work in bare-bones vi
<bubble>I can load it in emacs for that
<bubble>or a perl script which prints parens
<taylanub>I'm curious, why are you working in bare-bones vi ?
<bubble>good question
<bubble>I am only used to vi and emacs, I work in both
<bubble>fast load on our GNU server, always there
<bubble>I have to look into the (gc) command of guile, if it has one
<bubble>to 'hook' it
<taylanub>It does, but I don't think replacing that will replace the GC.
*bubble nods
<bubble>It's an option
<bubble>It works outside of guile too
<bubble>I'll try to bring up the GC
<bubble>Then coalesce into guile dev versions
<mark_weaver>emacs launches quite fast if you build it from the upstream tarball. it's only the distro packages that low as slow as molasses.
<sneek>Welcome back mark_weaver, you have 1 message.
<sneek>mark_weaver, nalaginrut says: If 'dummy' exported from two modules is no harm, it doesn't matter. I don't know if it's worth to spend time on this issue ;-)
<mark_weaver>s/low/load/
<mark_weaver>nalaginrut: I continue to believe that your habit of 'module-export-all!' because you can't be bothered to write the export list is a *very* bad idea. but, do as you will...
<mark_weaver>bubble: so you are replacing the low-level allocator as well, I presume? (otherwise, how can you sweep?)
<bubble>There's a version in the works for that, yes
<mark_weaver>so how do you cope with the fact that your Scheme code might allocate memory that you're unaware of?
<bubble>I can do that by hooking a chunk system in C or scheme
<bubble>This can be transparent or not
<mark_weaver>I don't understand what you mean.
<bubble>I'll try to explain
<bubble>If you use libguile gc, you can link in procedures written in C, e.g. a garbage collector
<bubble>the other option is to use a chunk mechanism writtein Scheme
<mark_weaver>we use the Boehm GC.
<bubble>I know
<bubble>I can then make something which puts chunks from scheme to C
<bubble>or vv.
<bubble>Look at gc-sized.scm, you'll see a chunk mechanism
<bubble>albeit a simple one
<civodul>Hello Guilers!
<bubble>I have to go offline for a while, bbl
<mark_weaver>hi civodul!
<ArneBab_>sneek later tell bubble: emacs -Q is really fast: It’s a bare bones emacs. emacs --no-site-file only loads your customizations, not the system ones. Also there’s the emacs deamon (to have a persistent emacs session you simply log in to again). I generally have alias e='emacsclient -c' ; alias ee='emacs -Q -nw' (the latter for quickly editing config files)
<sneek>Will do.
<ArneBab_>sneek: later tell bubble: emacs -Q is really fast: It’s a bare bones emacs. emacs --no-site-file only loads your customizations, not the system ones. Also there’s the emacs deamon (to have a persistent emacs session you simply log in to again). I generally have alias e='emacsclient -c' ; alias ee='emacs -Q -nw' (the latter for quickly editing config files)
<ArneBab_>sneek: botsnack
<sneek>Okay.
<sneek>:)