The Sigils WAR, Language Design and Coding Convention (2016)

By Xah Lee. Date: . Last updated: .

A story of why i have dollar sign in front of my variables.

Emacs Lisp Sigil War! Choose Your Side!

emacs lisp sigil war 03115
emacs lisp sigil war! which do you prefer?
emacs sigil poll result 2016-07-19 twitter
Sigil poll Twitter result. [ https://twitter.com/ErgoEmacs/status/752008581411540992 accessed: 2016-07-09]
emacs sigil poll result 2016-07-19 Google Plus
Sigil poll Google Plus result. https://plus.google.com/113859563190964307534/posts/YskMtvB7rkn

sigil war on reddit

sigil war on reddit. https://www.reddit.com/r/emacs/comments/4s499h/emacs_lisp_sigil_war/

voice your thoughts there.

my reasons for sigil, is Sigil for Variable Names

Sigils of the Clojure clan

clojure sigils 2016 07 10
Sigils of the Clojure clan [see Clojure Sigils (Magic Characters)]

Ξblood of the Φsigils

blood of the sigils 09434
Ξblood of the Φsigils

an eulogy to sigils ξ φ

(while reading this piece, you need to listen to Chopin, Funeral March 📺 )

feel pretty sad about to remove all my sigils. There are some 10 packages, thousands of sigils. Feel pretty sad, because in the process i felt something is lost. Sigils provide many linguistic advantages. For one thing, it is easy to change sigils φ ξ to the versions without, but hard to do the reverse. Precisely because the sigil'd variable provides a syntactic property that's advantageous.

ξsigil, is like a syntactic type. Sigil to syntax is types to semantics. #haskell #ocaml

i'm in the process of removing sigils on the third package, but having second thoughts. Yeah, convention didn't like it, but that's because convention isn't spiffy. 2 parts. (1) There's a natural aversion, because most people have problem typing the thing, especially western people, because it's foreign and they haven't encountered input system (as if u need to type Chinese). Most emacs dev, still really want ASCII. (they are already being outdated by current crop of programing languages now, which embrace unicode chars.) (2) the linguist issues: UUID, Referential Transparency, Point-Free Function Syntax, Combinatory Logic, Hygienic Macro. I outlined here Programing Style: Variable Naming: English Words Considered Harmful but most programers no unstand.

i resent wasamasa putting a damnation in there that got all upvotes to the top. (of course) Hackers are the worst enemy to programing progress, as Douglas Crockford and other observers have said.

perhaps, a comforting thought is that, if i want to do this, perhaps do it in ocaml haskell or create my own fp lang with enforced sigil! Emacs lisp, and the community, does not fit. I feel much better now.

sigil war 2

now experimenting with a new naming convention. Instead of starting with sigil @ for param and $ for local var, now use P and X prefix instead.

sigil war 2 2021-08-27
sigil war 2 2021-08-27

You see, here's the whole issue. I want sigils, cuz that truly is advantageous as a feature of programing lang syntax. . So, i started to use φ and ξ. Of course, met with lots resistence. Then, i thought, the unicode is pesky. Using ascii @ and $ is more acceptable, and familiarity, since there is already sigil of that in perl ruby php, and even clojure but with diff symbols. But in past month heavy coding, i find $ is annoying to type. So, thought about P and X. This is one more step closer to familiarity, since now it's just plain letters.

Between ξ vs $ vs X as sigil, the ξ is best, because it's unique. (best is actually have the language enforce it, as in perl ruby php, as part of syntax). Going to $, it's less unique, because for example, one cannot simply find/replace all $ to something else, since $ will appear in places that's not a sigil. The X is worst here. In order to identify them, one has to take code syntax into account, example: Else we have X11 Xemacs etc, no longer a matter of text processing.

looking back, people don't really like φ ξ

now, massively redo the sigil. Now, decided $ stays, but for parameters, change @name to Name

sigil war 2021-08-27
sigil war 2021-08-27