IRC channel logs

2014-03-31.log

back to list of logs

<zacts>mark_weaver: I'm having such a difficult time giving up my modal editing
<zacts>will you guys still accept patches if I use evil-mode when editing scheme? :D
<mark_weaver>heh. I don't care what editor you use, as long as the code you submit follows our conventions.
<mark_weaver>I've never used any of the vi-like modes in emacs. I suspect that you're losing out on many of the advantages of emacs by using such a mode, but that's your business, not mine :)
<mark_weaver>in particular, 'paredit-mode' has dramatically improved my productivity editing scheme code, and I don't know how you'd use it in evil-mode.
<mark_weaver>(though I should warn that paredit has a steep learning curve)
<zacts>mark_weaver: I don't mind steep learning curves, I'm coming from vim and I know about emacs. I'm a nerd.
<zacts>(I was j/k btw) But yeah, I do like modal editing.
<zacts>mark_weaver: I'm looking at contributing to emacs evil-mode. I'll try it with geiser and paredit.
<nalaginrut>morning guilers~
<b4283>good morniang
<nalaginrut>Is there any way to disassemble a delimited-continuation object? I tried ,x but it shows no info available
<nalaginrut>maybe it doesn't become 'real' before run it?
<ArneBab>zacts: to get modal editing, you could also look at control-lock-mode and god-mode
<zacts>ok
<ArneBab>zacts: I generally use control-lock-mode for spell-checking: hit äü to enable control-lock-mode (via key-chord-mode) and then just hit , to go to the next mistake and . to cycle through the corrections.
<ArneBab>hi mark_weaver
<ArneBab>mark_weaver: do you still have a few minutes (or are you short of heading to bed)?
<civodul>Hello Guilers!
<civodul>ouch: http://dorey.github.io/JavaScript-Equality-Table/
<civodul>(courtesy of Fulax)
<artyom-poptsov>Hi civodul
<artyom-poptsov>Thanks for the link
<civodul>a bit scary
<civodul>oh, gnu.org has a new face
<civodul>and a new "Sponsored by the Free Software Foundation"...
<civodul>morning, wingo!
<wingo>morning civodul :)
<ArneBab>moin wingo
<wingo>good day ArneBab
<nalaginrut>ijp: it's too bad, I fixed my program. The fixed semantic of shift/reset can't work under Guile, but it works on Racket.
<nalaginrut>And the old version can run on Guile but not Racket
<nalaginrut> https://gist.github.com/NalaGinrut/9889971
<nalaginrut>ijp: anyway, I think it's my problem when I mixed 'abort' and shift/reset
<nalaginrut>(shift k k) would be ok
<roelj>I added a guile interpreter to my C program and defined some extra functions for it, but now I'd like to load a script that uses these extra functions that are only available when guile is loaded from my program.. Is there a way to do that?
<artyom-poptsov>roej: Hi! If I understood you right, you have a C program that uses libguile and you want to use your functions from a Scheme script.
<artyom-poptsov>roelj: ^
<bhattigurjot>hello, I wanted to ask how much of a work is to upgrade a software from old guile (1.6) to the latest one?
<bhattigurjot>What would be the best way to do it? I mean the workflow, how shall I proceed with it?
<ArneBab>bhattigurjot: did you embed guile into your program?
<bhattigurjot>ArneBab: actually it is not my program, there's an old software available and I'm trying to upgrade it
<ArneBab>I can’t really give you all info I’d like to (being a newbie to Guile myself), but I hope I can help with a few questions…
<ArneBab>bhattigurjot: for deeper knowledge you’ll have to wait for wingo, ijp, mark_weaver or some other experts
<bhattigurjot>Oh that'd be very helpful
<wingo>bhattigurjot: the first thing to do is to read NEWS, it has all the details
<ArneBab>did you try to just build the program with the new guile? (there were a lot of changes since 1.6)
*ArneBab better stops giving possibly wrong advice
<ArneBab>NEWS: http://git.savannah.gnu.org/gitweb/?p=guile.git;a=blob;f=NEWS;h=c8071557bd4c28e5da3883520ec7e24d679c43b5;hb=HEAD
<bhattigurjot>wingo: there are lots of news files there for each update.. shall I go through them all starting from 1.6?
<civodul>bhattigurjot: if it has C code, the switch from 1.6 (last release 10 years ago) to 2.0 will be a bit of work
<wingo>bhattigurjot: yes, i'm afraid that's the thing to do
<bhattigurjot>civodul: it is in C++
<civodul>if it doesn't, it might just work or need reasonable adjustments
<civodul>ok, so quite a bit of work probably
<civodul>the C API changed noticeably in the 1.6->1.8 switch
<bhattigurjot>civodul: how shall I check the amount of guile being used in the code?
<lloda>you have to look for all the functions that start gh_...
<lloda>replace them by modern equivalents scm_...
<lloda>for a start
<civodul>yes
<ArneBab>wingo: damn, I read the NEWS myself, and now I really, really want to use guile 2.2… ☺
<wingo>:)
<bhattigurjot>lloda: ok.. so how do I setup my environment? Use a virtual box.. install guile latest... and try to compile the software to see the error?
<ArneBab>and I hope, there’ll be a guile-emacs GSoC project again - which then finally gets guile-emacs into prroduction
<bhattigurjot>for instance: gh_new_procedure should be replaced with scm_new_procedure ??
<lloda>bhattigurjot: environment, that could work. I just define GUILE=... before configure/build so I have different versions side by side.
<lloda> bhattigurjot: for the functions, look at the NEWS as wingo said. Some functions are just named differently now, not just gh_ -> scm_. For example if you look up gh_int2scmb, you'll see this line in NEWS: 'gh_int2scmb - replaced by gh_bool2scm'.
<lloda>It's probably useful to have the docs for both 1.6 and 2.0 side by side.
<bhattigurjot>lloda: okay.. and I was just using the grep command to see where is this guile-1.6 specified
<bhattigurjot>but I couldn't find so..
<lloda>NEWS is cumulative, any modern version should do. http://git.savannah.gnu.org/gitweb/?p=guile.git;a=blob;f=NEWS;h=0292dcd3c0835ddc7b6c9666c6d374a1eb06d9d8;hb=972fb41f0ce124d97f5cf64bde1075510cd21e18
<bhattigurjot>where do you define or declare this ?
<lloda>this? can you precise?
<bhattigurjot>where do you specify what version of guile is needed ?
<bhattigurjot>in your program I mean
<bhattigurjot>or you don't have to?
<lloda>You mean to do #ifdef GUILE_2 and such? I've never done that myself.
<bhattigurjot>so that's not really a necessity then..
<lloda>well if you need to do things where different versions are incompatible, then you would need to do it. But not otherwise.
<bhattigurjot>in aclocal.m4 file here it checks for the guile_progs, guile_flags, guile_check, guile_module_check...
<bhattigurjot>etc.
<bhattigurjot>so this works the same way?
<bhattigurjot>these checks, do they check for the version or just the guile availability?
<lloda>you can check for the version too. For example in guile-figl:configure.ac you see
<lloda>GUILE_PKG([2.2 2.0])
<lloda>GUILE_PROGS
<lloda>
<lloda>that uses pkg-config
<lloda>(I think?)
<lloda>but there are other older macros...
<lloda>honestly I've never checked for the version, after I upgrade I forget about older ones :-/
<bhattigurjot>in my software, there is no GUILE_PKG ... just GUILE_PROGS
<bhattigurjot>in configure.ac
<bhattigurjot>and this GUILE_PROGS is defined in the aclocal.m4
<bhattigurjot>where it set paths to Guile interpreter, config and tool programs
<bhattigurjot>so I guess I don't really have to worry about setting the guile version in the code
<lloda>it's just that when something doesn't work (compile failure, likely) you won't immediately know that it's because Guile is too old. But other than that, I don't think so.
<bhattigurjot>okay.. so first step I should follow is to set up my env. with latest guile and see what's the first error I encounter..
<bhattigurjot>while compiling
<bhattigurjot>right?
<lloda>sure, try :)
<wingo>though i would recommend reading NEWS first :)
<bhattigurjot>ok.. thankyou .. what is the general time everyone is available on IRC?
<ArneBab>wingo: is this description of the history of ice-9 halfways correct? http://draketo.de/proj/guile-basics/#sec-2-7
<wingo> http://www.gnu.org/software/guile/docs/docs-2.0/guile-ref/Status.html#Status is the ref for the ice-9 thing
<ArneBab>wingo: thanks!
<ArneBab>linked ☺
<ArneBab>wingo: I just saw that you updated this in master, replacing the “imperfect emacs lisp-support” with “excellent emacs lisp”
<bhattigurjot>guile-2.0.11 is a development version?
<bhattigurjot>shall I aim for this or 2.0.10?
<davexunit>bhattigurjot: you should used 2.0.11. it is the latest stable release.
<bhattigurjot>davexunit: ok
<bhattigurjot>does these steps seem ok? http://www.linuxfromscratch.org/blfs/view/svn/general/guile.html
<mark_weaver>bhattigurjot: "./configure && make && make check" is usually reasonable for most users.
<mark_weaver>followed by "sudo make install" and "sudo ldconfig'
<bhattigurjot>and any dependencies?
<mark_weaver>out of curiosity, what program are you converting?
<mark_weaver>bhattigurjot: yes. what distro are you using?
<bhattigurjot>mark_weaver: I'm using Linux Mint 15..
<bhattigurjot>I'm going for the GNU Dr. Geo
<mark_weaver>bhattigurjot: if you do "apt-cache show guile-2.0", what version number is shown?
<bhattigurjot>it's a GSoC project
<mark_weaver>ah, okay.
<bhattigurjot>version 2.0.7
<mark_weaver>bhattigurjot: "apt-get build-dep guile-2.0" should install all the build dependencies you need.
<bhattigurjot>mark_weaver: ok
<bhattigurjot>mark_weaver: in my gsoc proposal I set my milestone of 10 days to upgrade the guile library.. do you think it's sufficient?
<mark_weaver>what do you mean by "upgrade the guile library" ?
<mark_weaver>also, what version number does "apt-cache show libgc-dev" report?
<bhattigurjot>"Version: 1:7.2d-0ubuntu5"
<mark_weaver>good
<bhattigurjot>by upgrading I mean shifing the support to latest guile
<mark_weaver>you mean converting Dr Geo to use guile 2? I'm sorry, I have no idea. It depends how much code there is in Dr Geo, your experience level, and how efficiently you work.
<mark_weaver>I don't know any of those things.
<bhattigurjot>mark_weaver: ok
<bhattigurjot>also "apt-get build-dep guile-2.0" shows "E: You must put some 'source' URIs in your sources.list"
<mark_weaver>I'm willing to answer your questions though.
<bhattigurjot>thankyou for that :)
<bhattigurjot>shall I get the source directly and compile it?
<mark_weaver>bhattigurjot: so you need to edit the file(s) /etc/apt/sources.list, and possibly the files in /etc/apt/sources.list.d/*, and for every line that starts with "deb ", insert a line below it that's exactly the same except with "deb " replaced by "deb-src "
<mark_weaver>bhattigurjot: yes, you should compile guile-2.0.11 from source code. but in order for "apt-get build-dep" to work it needs to know about the build dependencies, which are in the source package index.
<bhattigurjot>ok
<mark_weaver>after you make those edits to /etc/apt/sources.list, run "apt-get update" and then try the "apt-get build-dep" command again.
<bhattigurjot>yeah I'm editing
<bhattigurjot>mark_weaver: done with build-dep
<mark_weaver>bhattigurjot: good! now I'd suggest "./configure && make && make check" in a freshly unpacked guile-2.0.11
<bhattigurjot>ok
<bhattigurjot>mark_weaver: what's the usual time that I can catch you on IRC?
<bhattigurjot>:D
<mark_weaver>I don't know, it varies.
<bhattigurjot>ok
<bhattigurjot>mark_weaver: its suck at " GUILEC ice-9/psyntax-pp.go " from 7 minutes or so
<mark_weaver>bhattigurjot: be patient, it takes a while to bootstrap
<mark_weaver>guile's compiler is written in guile. at this point, the compiler is being interpreted, so it's very slow.
<mark_weaver>it gets progressively faster as more modules of the compiler are compiled.
<bhattigurjot>ok..
<dsmith-work>bhattigurjot: be *very* patient
<ijp>it's not stuck, it's digesting
<bhattigurjot>ok.. yeah its progressing but really slowly.. and does " make -j4 " instead of "make" would have any difference?
<ijp>not as much as you'd think
<ijp>once boot-9 and psyntax are done, it'll speed up
<bhattigurjot>okay.. yep it has sped up
<mark_weaver>bhattigurjot: you'd also find that after everything else is compiled, if you needed to recompile psyntax-pp.go it would be fairly quick.
<mark_weaver>but when the entire compiler is interpreted, it's very slow.
<bhattigurjot>ok
<mark_weaver>I actually have a trick I sometimes do, when I want to recompile everything (e.g. because of a compiler optimization improvment): I delete each .go file individually and remake it, one by one. much faster.
<mark_weaver>from the module directory, I do something like: for file in $(find . -name \\*.go); do rm $file; make; done
<dsmith-work>mark_weaver: Do you ever run into dependancy issues with that?
<dsmith-work>Hmm, make should handle that I guess.
<bhattigurjot>mark_weaver: how much faster is that?
<mark_weaver>dsmith-work: If there's a problem, I'm not aware of what it would be.
<mark_weaver>bhattigurjot: I haven't measured it, but several times faster at least.
<wingo>mark_weaver: usually when i want to do that i "touch module/ice-9/eval.scm && make -j8"
<mark_weaver>wingo: ah, right. I guess that's a lot nicer :)
<wingo>and if i don't want to wait on eval.scm recompiling, i touch the .go instead
<wingo>anyway, silly things :)
<dsmith-work>mark_weaver: Oh, I don't don't know. Something like it comples soeme thing first usign the old .go files without the advantage of the just introduced changes/advantages.
<bhattigurjot>mark_weaver: FAIL: check-guile
<bhattigurjot>failures: 1
<mark_weaver>bhattigurjot: which test failed? (search for FAIL)
<bhattigurjot>is there a log?
<mark_weaver>bhattigurjot: yes: check-guile.log
<mark_weaver>dsmith-work: I could imagine extreme cases where this wouldn't work, e.g. for macros that expand into macro definitions, if those macros are changed to generate different macro definitions, this trick method might not quite do the right thing.
<bhattigurjot>mark_weaver: it won't let me open it.. wait
<mark_weaver>e.g. you might use an old .go file that had the old version of the macro-generating-macro.
<mark_weaver>bhattigurjot: what is "it" ?
<mark_weaver>oh, if you double-clicked in some GUI program, it might launch some fancy log viewer program or something.
<bhattigurjot>mark_weaver: gedit
<mark_weaver>gedit won't let you open 'check-guile.log' ?
<mark_weaver>what is the error message?
<mark_weaver>anyway, just "grep FAIL check-guile.log"
<bhattigurjot>yeah.. "Could not open the file /home/scott/guile-2.0.11/check-guile.log."
<mark_weaver>that's it? no other information?
<bhattigurjot>"FAIL: net-db.test: getaddrinfo: no name"
<bhattigurjot>does XFAIL count?
<mark_weaver>bhattigurjot: no, XFAIL doesn't count. don't worry about that test.
<mark_weaver>bhattigurjot: now "sudo make install" and "sudo ldconfig"
<bhattigurjot>and what about that net-db.test ?
<ijp>nothing serious
<bhattigurjot>ok
<bhattigurjot>"sudo ldconfig" gives "/sbin/ldconfig.real: /usr/local/lib/libguile-2.0.so.22.7.2-gdb.scm is not an ELF file - it has the wrong magic bytes at the start."
<mark_weaver>bhattigurjot: most likely, it's because your internet service provider has a hacked name server that always redirects you to their web page when you type in a non-existent host name.
<mark_weaver>bhattigurjot: don't worry about that either.
<bhattigurjot>ok.. so that's it then?
<mark_weaver>yep. try running "guile"
<bhattigurjot>YEP "GNU Guile 2.0.11" ^_^
<mark_weaver>excellent!
<bhattigurjot>:D thankyou :)
<mark_weaver>btw, unfortunately you'll get that warning about "libguile-2.0.so.22.7.2-gdb.scm" every time you install a new package that contains a shared library. it's a harmless warning, but if it gets on your nerves too much, you can remove the file for now.
<bhattigurjot>ok.. I'll keep that in mind
<mark_weaver>it enables nicer debugging with very recent GDB that supports integration with Guile, but your GDB is probably too old for that anyway.
<bhattigurjot>oh okay
<mark_weaver>the proper fix will probably be to fix 'ldconfig' to be more tolerant of non-ELF files in /usr/local/lib
<bhattigurjot>and hows that?
<mark_weaver>I don't understand your question.
<mark_weaver>alternatively, maybe people will pressure the GDB folks to look for that file in a different place, dunno.
<bhattigurjot>you said to make 'ldconfig' more tolerant
<mark_weaver>yes, and I still don't understand what you're asking.
<bhattigurjot>oh well you said a proper fix is to make 'ldconfig' more tolerant of non-ELF files .. I was asking how should I do that?
<bhattigurjot>do i need to make some changes regarding that or this is something else entirely?
<mark_weaver>I'm not suggesting that you do that, and I don't know the answer off hand.
<bhattigurjot>ok..
<mark_weaver>the developers of GDB and ldconfig will hash it out, I suppose.
<bhattigurjot>here;'s the make error for drgeo now: ../drgenius_config.h:28:22: fatal error: guile/gh.h: No such file or directory
<bhattigurjot>compilation terminated.
<mark_weaver>read the NEWS
<mark_weaver>I can answer some questions, but I don't have time to walk you through the entire process.
<bhattigurjot>yeah.. ok.. starting from the 1.6 up?
<mark_weaver>yes\\
<bhattigurjot>ok
<bhattigurjot>what would be the ideal way to move now.. change the syntax and code (taking help from the manuals) wherever I encounter the error in make process or first go through the news and manuals?
<mark_weaver>bhattigurjot: if you look in the NEWS file in guile-1.8.x, you'll an entry "The GH interface is now subject to the deprecation mechanism". In there is mentions a section of the 1.8 manual "Transitioning away from GH". I suggest you start there.
<bhattigurjot>okay .. thanks (y)
<mark_weaver>the manuals are all available at http://www.gnu.org/software/guile/docs/docs.html
<mark_weaver>np!
<bhattigurjot>:-)
<bhattigurjot>oh one more thing..
<bhattigurjot>sed command ... will that be helpful or is it too extreme?
<mark_weaver>I would instead use a decent editor. for one thing, 'sed' will not reformat the code properly in most cases, e.g. for multi-line expressions.
<mark_weaver>also, in many cases the calling conventions are different, so it's not a simple find/replace.
<mark_weaver>in general, when it says "use XXX instead", that doesn't necessarily mean that the calling convention is the same.
<mark_weaver>well, I don't know. maybe they call attention to cases where the calling convention is different, I'm not sure.
<bhattigurjot>okay..
<mark_weaver>(I never used the gh interface; that was before my time here)
<bhattigurjot>okay.. so it's better to do it manually with a help of grep
<mark_weaver>bhattigurjot: what editor do you use?
<saul>bhattigurjot, one of the things that people have encountered when migrating software to Guile 2.0 is that macros can no longer be referenced before they've been defined.
<bhattigurjot>gedit usually... but I use vim occasionally
<mark_weaver>okay.
<bhattigurjot>saul: ok..
<mark_weaver>fwiw, most experienced programmers use either emacs or vim. there's a bit of a learning curve to both of them, but I think you'll find that the time spent learning them will be very well spent.
<saul>bhattigurjot, are you working on migrating Dr Geo to Guile 2.0 ?
<bhattigurjot>saul: yes
<ijp>in soviet russia, emacs learns you
<bhattigurjot>mark_weaver: yeah leaning towards vim :
<bhattigurjot>:)
<mark_weaver>(IMO, emacs is by far the best editor, but this is a controversial topic and many prefer vim)
<bhattigurjot>yep user preferences
<ijp>as long as you agree that eclipse is the great satan, we're cool
<mark_weaver>:)
<mark_weaver>fwiw, I used 'vim' as my primary editor for many years, so I have some standing to make a fair comparison between vim and emacs.
<bhattigurjot>mark_weaver: I'll take your word for it.. I've never used emacs..
<saul>bhattigurjot, you may be interested in some of the problems encountered during the transition of GnuCash to Guile 2.0: https://bugzilla.gnome.org/show_bug.cgi?id=615168
<bhattigurjot>saul: thanks :-)
<mark_weaver>saul: IMO, we shouldn't overwhelm bhattigurjot with these details at this time. Those issues may not even arise in this case.
<mark_weaver>the first step is to change the C code away from the GH interfaces. then we can cross other bridges as we come to them.
<bhattigurjot>okay
<dsmith-work>bhattigurjot: fwiw, I went throught the upgrade procsess with scwm. It was at guile 1.4.x, now at 2.0. Going though the changes I made might help.
<bhattigurjot>dsmith-work: any link to that?
<dsmith-work>Hmm.
<dsmith-work> http://sourceforge.net/p/scwm/git/ci/master/tree/
<bhattigurjot>(y)
<dsmith-work>Starting from f6e603
<dsmith-work>Some things are not obvious, like using scm_is_eq instead of ==.
<bhattigurjot>dsmith-work: dates back to 2006.. woah!
<dsmith-work>Yeah, It's been slow going...
<bhattigurjot>and here I was thinking of doing in 10 days :P
<bhattigurjot>I think its better I start doing it now... it seems quite a long process
<dsmith-work>NEWS is your guide
<bhattigurjot>yeah!
<dsmith-work>When something is deperecated but before it is removed, the the something is often just a wrapper around the new way.
<dsmith-work>s/the the/the/
<dsmith-work>When skipping versions, (like 1.4 -> 2.0) it's useful to get the intermediate versions and examine those wrappers as a reference.
<bhattigurjot>do you mean like having 1.8 and other inbetweeners?
<bhattigurjot>having them on your system?
<dsmith-work>Just the source.
<dsmith-work>I don't remember exatly what it was, but I did need to do that.
<dsmith-work>Like the 1.6 replacement for a 1.4 function doesn't exist in 2.0, because IT was deprecated in 1.8.
<bhattigurjot>so i guess i should move step by step .. hmm?
<bhattigurjot>from 1.6 to 1.8
<bhattigurjot>then to 2.0
<mark_weaver>perhaps, dunno!
<mark_weaver>I can see advantages to both ways.
<bhattigurjot>But I think the second one would be more time consuming.. no?
<mark_weaver>one issue is that I will be less able/interested to help you debug problems with 1.8, since I've never really used it myself.
<mark_weaver>and we don't support it anymore.
<dsmith-work>Personally, I'd just do the big leap and then handle the edge cases as needed.
<dsmith-work>The far biggest change is gh_* to scm_*
<bhattigurjot>mark_weaver: ok
<bhattigurjot>dsmith-work: yeah.. seems I'd be using this approach
<mark_weaver>bhattigurjot: out of curiosity, what is the larger GsoC project of which this upgrade is a part?
<mark_weaver>(a link is fine)
<bhattigurjot>upgrading guile, gtk+ and glade
<mark_weaver>i.e. modernizing Dr Geo in general?
<bhattigurjot>yup
<mark_weaver>cool!
<dsmith-work>Indeed
<bhattigurjot>its been a dead project since 2005
<bhattigurjot>and heres the change to revive it..
<bhattigurjot>:)
<mark_weaver>sounds great!
<bhattigurjot>s/change/chance
<bhattigurjot>yeah :-D
<bhattigurjot>o my.. i should sleep now.. its pretty late and I've a test tomorrow... thankyou everyone so much for you help ^_^
<bhattigurjot>I'll keep you posted on my progress
<mark_weaver>okay, ttyl!
<bhattigurjot>yh .. bye! :-)
<wingo>evening, civodul
<ArneBab>davexunit: what I wanted to say on licensing last week: My requirement is copyleft and GPL-compatible. If you’d want to use the text along with cc by-sa, I would not mind dual-licensing.
<davexunit>ArneBab: was this for the write-up about coroutines?
<ArneBab>jepp
<didi>Is `[]' synonym of `()'? I'm having difficulties finding it in the manual.
<mark_weaver>didi: yes
<mark_weaver>by default, anyway.
<didi>mark_weaver: Oh, can you change it? Also, is there other characters in this set?
<mark_weaver>there are no other brackets that can be made equivalent to () in the standard reader.
<didi>OK.
<didi>OK, I found (info "(guile) Read/Load/Eval/Compile") which might help.
<mark_weaver>at present, there are only APIs for configuring it globally, which is a bad idea because it violates modularity.
<mark_weaver>(i.e. changing the 'read' options globally might affect the behavior of other code)
<didi>I see.
<mark_weaver>I've done some work to improve this situation, but it's a work in progress.
<mark_weaver>so far, the only read options that can be reasonably tweaked within a single file without affecting other code are case-sensitivity and curly-infix (SRFI-105) mode.
<zacts>lo
<mark_weaver>hi zacts!
<zacts>mark_weaver: I've discovered that there is indeed an evil-paredit mode that is 98% functional.
<mark_weaver>ah, interesting!
<zacts>so it looks like I can retain my modal editing when editing with scheme. sometimes I may do m-x, but I have an alternate binding for that that doesn't use meta.
<zacts>C-x C-m
<davexunit>hey guilers. I did some more hacking on guile-2048 clone today. Here's the final(ish) result: https://cdn.mediacru.sh/hQ65gl5R198w.png
<dsmith-work>The test-out-of-memory on master is failing for me. 64bit. "Bad GET_MEM arg"
<dsmith-work>Hmm. Might be a libgc thing.
<dsmith-work>Ya, that's a libgc message from os_dep.c