Matus Goljer (@Fuco1337) profile picture

Smartparens and Elsa developer, Emacs enthusiast. Fuco1@github. You can support my work on Patreon

Czech Rep / Bulgaria
Joined May 2010
Photo by Matus Goljer (@Fuco1337)Photo by Matus Goljer (@Fuco1337)Photo by Matus Goljer (@Fuco1337)Photo by Matus Goljer (@Fuco1337)Photo by Matus Goljer (@Fuco1337)Photo by Matus Goljer (@Fuco1337)Photo by Matus Goljer (@Fuco1337)Photo by Matus Goljer (@Fuco1337)Photo by Matus Goljer (@Fuco1337)Photo by Matus Goljer (@Fuco1337)
Spring cleanup at @github , 50 issues down, 215 to go. Some long standing bugs (10+ years) finally fixed! (sorry everyone :blush:)
1
110
People have been asking how can they use the #Emacs cats package. I've prepared an example of term unification with state monad github.com/Fuco1/emacs-cats/… and added some more sentences to the readme. If you have questions or some cool examples, share here or on GitHub!
2
3
266
Still working on #Emacs #Elsa generic types... the 80/20 applies brutally here (it's rather more like 95/5) :D The 5% I've finished gives you a lot of milage, but the finishing grind is just brutal. Didn't make a single useful commit in 2 weeks, mostly just reading papers...
1
3
241
It's rather humbling reading papers from the 80s when people actually already figured all this shit... "but mah typescript" lol no. One of them I'm heavily adapting is dl.acm.org/doi/pdf/10.1145/7… . Good read in general.
1
81
Still a lot of work to do, but somewhat the generics now work #emacs #elsa There is no extra code, everything is derived just from the types.
1
202
Improved interface support for classes and plists in #emacs #elsa github.com/emacs-elsa/Elsa
1
2
299
Slowly working on #emacs #Elsa unification and generics, now we can detect infinite substitution cycles. Once generics are in we are very close to a 1.0 release, it's *the* killer feature that is missing. (the monad interface is from github.com/Fuco1/emacs-cats)
5
368
Endofunctors of course included xD
1
55
I'm starting a blog series on functional programming in #Emacs and #Elsa. The first part on functors is live fuco1.github.io/2023-03-22-F… There is a library being developed that will encapsulate a lot of the stuff from the series, I will publish it shortly as well :)
2
7
295
I'm adding generic types to #Emacs #Elsa but got distracted implementing monads :D On the left is the implementation of bind for the substitution monad (kind of a MaybeT State), on the right is the polytype instantiation and a bit of unification code. Not a trivial example!
1
1
5
475
Before I was "hand rolling" the propagation of all the effects and the code was incredibly messy. With the monadic interface you can see unification or instantiation is mostly just "walking the monad over the type structure". Super simple!
1
59
And yes, it does work :D (cons final unification . unifying substitution)
46
#Emacs Please someone explain this to me (defmacro my-foobar (x) (if (symbolp x) "yes" "no")) (my-foobar 'my-function) ;; => "no" How??? I hope this is something dumb because I *really* need it to work :D
3
2
529
While working on #Elsa for #emacs I remembered an old hack I made almost 10 years ago youtube.com/watch?v=mNO-vgq3… Maybe some of you new cats will enjoy this :D (btw there is an updated version called blablabla on my GH but it's not very polished yet...)
1
4
216
After discussion with github.com/alphapapa we figured what to do with macros in Elsa. We now expand all built-in macros (cl, pcase...) as well as dash and some other "safe" libraries. Before, confusion, after... => #emacs #Elsa
5
254