IRC channel logs

2021-12-08.log

back to list of logs

<cybersyn>hello guilers. are people actively using zile-on-guile? i'm considering putting writing a slimmed down evil mode for it, but i'm unsure whether its an active project or not
<spk121>cybersyn: well I wrote and maintain zile-on-guile. I almost never get questions about it. So either it works perfectly (hahaha) or no one really uses it.
<spk121>cybersyn: Reuben wrote upstream zile, and he's decided to port it to Vala, so zile-on-guile is probably not going to be updated, beyone basic fixes
<spk121>There is a guile emacs port that people have updated occasionally. I don't know if it ever got finished.
<attila_lendvai>is there a way to set the backtrace width and depth from an env variable? i'm struggling with guix/shepherd printing a backtrace that is useless, but i don't know how to change the command line of guile when it's started...
<mbakke>attila_lendvai: (setenv "COLUMNS" "300") may fix your width issues
<attila_lendvai>mbakke, thanks! i didn't think this through... shepherd is the pid 0 in guix, i can't affect its startup with env variables.
<taylan>spk121: I don't think Guile-Emacs is functional yet. and the active development of Elisp in Emacs makes me think the community doesn't want a replacement, so it will likely remain obscure.
<pinoaffe>I'd very much be interested in guile-emacs, personally - guile (the language) cannot replace elisp, but it might make some nice addons possible
<pinoaffe>I've tried to run it before, but the guix build failed whenever I tried
<spk121>taylan: my very first real hack in Guile was to attempt to write a text editor fully in Guile. Never finished.
<spk121>I think that Guile Emacs is interesting as a demonstration of tech, but, emacs as a community is strong and I also think they'll keep fixing elisp
<lilyp>To be fair, Elisp becoming a better Lisp is not that scary a future either.
<drakonis>but can it be a better lisp than common lisp?
<drakonis>before someone makes a better emacs in common lisp?
<lampilelo>someone checked on github and there's much more elisp code than cl code in the wild
<lampilelo>so better chances are that someone will implement cl in elisp than the other way around
<lilyp>What about cl-lib?
<drakonis>i wouldn't be so sure about that
<lampilelo>lilyp: see? it started already! :D
<civodul>spk121: re Guile Emacs vs. elisp, i think there's no fatality: the most determined wins
<civodul>and clearly the "keep fixing elisp" camp is far more determined
<drakonis>now you have the common lisp camp writing their own emacs
<drakonis>its going to be a fun year
<drakonis>what's the relationship with elisp and emacs?
<drakonis>does elisp exist for emacs or emacs for elisp?
<drakonis>rather, who exists in service of who?
<drakonis>lampilelo: the bulk of emacs packages are for editing, not to extend the language
<lampilelo>that's fair
<taylan>drakonis: Elisp "belongs to" and is a central part of Emacs. there's no independent Elisp implementation.
<taylan>well I mean, there's Guile implementing Elisp, but Elisp is under the control of Emacs.
<taylan>maybe I should have said "there's no independent Elisp committee/standard"
<taylan>kind of like the polar opposite of Scheme, if you will :P no standardization, one implementation to rule them all.
<lilyp>Well, the RnRS is more like a suggestion too
<lilyp>but so is ISO C++ if you squint hard enough
<drakonis>elisp doesnt lend itself as a language for general purpose programming like other lisps
<drakonis>but you can surely do it
<drakonis>i've seen the things people have done with elisp
<drakonis>its all really cool, but it is not comparable at all to a full implementation
<drakonis>one that isnt coupled to an editor
<drakonis>well, what i said was needlessly aggressive
<taylan>I didn't read it as aggressive... but I think Elisp actually has most things you'd need for general purpose programming. networking, filesystem, library system (even if clunky), vectors, hash tables, record types, ... a GUI framework is missing but that's what buffers, windows, and frames are for. ;-P
<lilyp>I'll take a hack that only works inside my editor over an over-engineered Python NodeJS blob every day.
<taylan>and you have to be very diligent about naming identifiers with a prefix, due to the global namespace.
<lilyp>global namespace is not an issue if you don't share your implementation
<lilyp>e.g. for batch script purposes and the like
<lampilelo>i think modules in elisp are on the horizon, at least people talked about it on emacs-devel
<amazigh>I tried to implement a code editor with scheme, you quickly see the advantage of the global namespace
<amazigh>Being able to override an existing behavior without global / shared namespace requires a hashtable or something anyway
<amazigh>the thing is emacs has already a LOT of features, and a giant community, keeping up is very difficult but not impossible, e.g. kotlin bootstraped a company from an editor IIUC.
<amazigh>And I would use a faster-than-emacs but emacs-like editor built with scheme anyday.
<lilyp>faster-than-emacs is the crux holding back Guile Emacs though
<amazigh>s/a hashtable or something anyway/a hashtable or parameters or something/
<lilyp>Emacs Lisp has native compilation soon and Guile Elisp is not optimized.
<lilyp>parameters are a restricted "global" namespace
<lilyp>At least in the Emacs sense that you can let-bind them (or parameterize in Guile speech) during function invocation to get implicit arguments passed for free.
<amazigh>yes
<amazigh>re native compilation, it will remain single threaded; fwiw, several times a week I crash debian stable's emacs, and hit the single thread limitation.
<amazigh>luckily they are file backups, and recovery but that is still "slow" imo
<taylan>if the Guile Elisp implementation got some love I can imagine that it would be superior to Emacs's, due to Guile's (presumably) better overall optimization framework
<taylan>all the more so if you delegate tasks to well-written Scheme code where even more optimization is possible due to inherent differences between the languages (actually not sure how much this still applies given lexically scoped elisp)
<taylan>but yeah I definitely love the idea too
<lilyp>lexically scoped elisp still allows let-binding à la parameterize
<lilyp>so it's not the same as guile
<dsmith-work>{appropriate time} Greetings, Guilers
<dsmith-work>!uptime
<sneek>I've been running for one month and 4 days
<sneek>This system has been up 20 weeks, 2 hours, 38 minutes
<dsmith-work>sneek: botsnack
<sneek>:)
***berndj-blackout is now known as berndj
***lampilelo_ is now known as lampilelo`
***lampilelo` is now known as lampilelo