paren-face
macro-lisp
paren-face | macro-lisp | |
---|---|---|
8 | 10 | |
155 | 417 | |
- | - | |
4.4 | 3.9 | |
26 days ago | 11 months ago | |
Emacs Lisp | Rust | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
paren-face
- paren-face: A face dedicated to lisp parentheses
-
Script for merging fonts to create lighter ()[]{} brackets
Alternative using Emacs: https://github.com/tarsius/paren-face
-
prism.el: New feature: colorize parens distinctly (e.g. fade into background)
In the spirit of u/tarsius_'s paren-face, I just pushed a new feature to prism.el: parens can be colorized distinctly from other text, so they can be, e.g. faded out into the background (or made to stand out more, if you like).
-
Practical questions from a lisp beginner
There is paren-face-mode that can dim the parentheses, especially useful until your mind gets used to lisps.
-
Lisp as an Alternative to Java
In a similar idea, you can also make them less visible, so indentation strikes more: https://github.com/tarsius/paren-face/
-
Are Rainbow Parens helpful or distracting for beginners?
I like paren-face mode more. Reduce the contrast on the parens a bit so they're still visible but less prominent and it makes it easier to focus on the indentation, which is usually a better at-a-glance indicator of scope and intent. I ended up liking this setup so much that I eventually set it to dim [] {} and (), and to do it for all languages, not just lisps.
-
If the number of arguments to a function is known, can the parentheses be implicit?
If you are using emacs, you might find paren-face-mode useful
macro-lisp
-
Bare minimum atw-style K interpreter for learning purposes
Rust’s macro system is safe and hygienic, people have implemented lisps in it. I just did a google search to find an example, so I have no idea how well supported this is, https://github.com/JunSuzukiJapan/macro-lisp
-
Lust 🦞
You can already have both: https://github.com/JunSuzukiJapan/macro-lisp
- What would be your “perfect” programming language?
-
"RIIR"
Via a lisp macro?
-
In theory, is it possible to bundle a rust-to-rust transpiler with rustc in order to make "breaking" language changes, without actually breaking anything? And how would you prove the accuracy of such a system?
Rust macros can make the language look like anything, even lisp: https://github.com/JunSuzukiJapan/macro-lisp
-
Lisp as an Alternative to Java
Why not get the best (?) of both worlds with the macro-lisp crate: https://github.com/JunSuzukiJapan/macro-lisp
A small snippet from the project's examples shows minimal boilerplate between Rust and a native-looking Lisp experience:
-
Sharing Saturday #353
After that, I'm going to go back to working on adding some scripting. My attempts at making a Lisp in Rust failed spectacularly, but when trying to find a ready made replacement that's not too big (so not RustPython and not Rhai or Dyon) I found mentions of DSL, which are usually Rust macros, which led me to https://github.com/JunSuzukiJapan/macro-lisp (single file, circa 400 lines, that does basically the whole job I want, i.e. being able to call Rust functions when I need them, e.g. from an in-game console)
What are some alternatives?
emacs-noob - A curated emacs set up intended to decrease the learning curve
Carp - A statically typed lisp, without a GC, for real-time applications.
rainbow-identifiers - Rainbow identifier highlighting for Emacs
Kind2 - A next-gen functional language [Moved to: https://github.com/Kindelia/Kind]
rainbow-delimiters - Emacs rainbow delimiters mode
innit - A roguelike game where you play a micro organism inside a larger organism!
awesome-cl - A curated list of awesome Common Lisp frameworks, libraries and other shiny stuff.
aplus - A+ Programming Language
rainbow-blocks - block syntax highlighting in emacs
union - Anonymous unions in Nim
aggressive-indent-mode - Emacs minor mode that keeps your code always indented. More reliable than electric-indent-mode.
ksimple - k/simple is a bare minimum k interpreter for learning purposes by arthur whitney