5 ms·
Lumen – Self-hosted Lisp for Lua and JavaScript
- yogthos 5y agoAlso recommend checking out Fennel https://fennel-lang.org/ https://fennel-lang.org/
- dgb23 5y agoProjects like these motivate me to finally start learning emacs and move on from VSCode. That would be my third attempt...
- aerique 5y agoDoom Emacs is worth a try. Comes with Vim bindings by default but these can be disabled. https://github.com/hlissner/doom-emacs#doom-emacs https://github.com/hlissner/doom-emacs#doom-emacs
- tbonesteaks 5y agoI recently moved to doom-emacs, and I love it. I had been piecemealing together an emacs config for a few years, and sometimes it was fun and sometimes frustrating. But, doom-emacs has so many of the things I need already, and adding a new packages is the same as adding them to regular emacs if you need something it doesn't already have.
- aerique 5y agoYeah, I had the same (also with the i3 window manager and the fish shell): it came with sane[1] defaults to allowed me to chuck out my previous big, grown-over-the-years config and start over much smaller. [1] very subjective but they were mostly similar to my tastes
- rkangel 5y agoIf it helps - I moved from Emacs to VSCode. It's not as simple as "objectively better you just need to know how". I had invested a lot of work into my emacs config in order to get things working in a usable way. The problem is that every new thing I added needed a whole lot more work. VSCode plugins usually work pretty well out of the box - e.g. I just installed the Elm plugin and it was working immediately with errors shown inline, autocomplete etc. If I had been able to get that going well in Emacs in less than an hour or two I'd have been pleasantly surprised. VSCode also has two things that Emacs doesn't. Live workspace sharing so you can pair program remotely (it's fantastic) and the ability work on a repo that's the other end of an SSH link (yes Emacs has tramp, not it's not in the same league). The SSH stuff works amazingly seamlessly, it's been my primary development mode since the start of pandemic. One proviso I will give to my Emacs opinions is that the Language Server Protocol was only just beginning to come in when I switched away. That abstraction level is exactly what Emacs needs (particularly given the threading restrictions) and a lot of language setup might be easier and more uniform if you can take advantage of it.
- ChunkyOnions 5y agoI think Lumen is also the name of a WASM-based BEAM implementation or something along those lines so I was very confused here
- the_only_law 5y ago> WASM-based BEAM implementation Well you certainly caught my interest...
- rgrmrts 5y agoSource: https://github.com/lumen/lumen https://github.com/lumen/lumen
- lawik 5y agoDon't worry, it is also something related to Laravel. These things happen :)
- guardian5x 5y agoLumen is also the name of a new Unreal Engine feature.
- bjoli 5y agoI have had this discussion with (I believe) one of the maintainers of lumen before: but why the paren-free let? In the beginning of my lisp journey I would have probably jumped on this, but then I found SRFI-71 that extends the regular scheme let with multiple values support in a backwards compatible way. I myself extended SRFI-71 in a small project with support for pattern matching in the multiple values form. None of this would have been possible using a clojure-style let.
- pankajdoharey 5y agoClojure's style *let* is probably a limitation of the JVM's inability to do proper tailcalls.
- bjoli 5y agoYou must have misunderstood. I was referring to the binding syntax. Clojure does (let [a 5 b 6] ...) whereas scheme and common lisp does (let* ((a 5) (b 6)) ...) SRFI-71 trivially extends this to do multiple values: (let ((a b (produces-2-values X y))) ...) Which I extended to to pattern matching: (let ((a (head . tail) (produces-an-atom-and-a-list ...))) ...)
- reitzensteinm 5y agoClojure absolutely supports this. (let [[a b] lst]) will destructure lst, binding a as the first element and b as the second. The destructuring then recurses to implement your second example.
- bjoli 5y agoThat was not my complaint.
- reitzensteinm 5y agoWell, OK then. Rereading your post hasn't made it clearer.
- tartoran 5y ago“Lumen was conceived and designed with Daniel Gackle”, Daniel Gackle is Dang on HN! Good job Dang!!