Currently paying the price of months of non-diligent git usage. Here's what has changed. - Theming support in Gvcci and wpgtk - Dropping support for i3 - Supporting EXWM - Many Elisp modules - Collapsed redundant directories in ./configs
		
			
				
	
	
		
			20 lines
		
	
	
	
		
			842 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
	
		
			842 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Elisp Conventions
 | |
| 
 | |
| Some of this aligns with existing style guides. Some of it does not.
 | |
| 
 | |
| In general, prefer functions with fixed arities instead of variadic
 | |
| alternatives.
 | |
| 
 | |
| - Namespace functions with `namespace/function-name`
 | |
| - Use `ensure`, `assert`, `refute` whenever possible.
 | |
| - When talking about encoding and decoding, let's use the words "encoding" and
 | |
|   "decoding" rather than the myriad of other variants that appear like:
 | |
|   - `marshalling` and `unmarshalling`
 | |
|   - `parse` and `deparse`, `serialize`, `stringify`
 | |
|   - `unpickle` and `pickle` (Python)
 | |
|   - `from-string` and `to-string`
 | |
|   - TODO: Add more examples of these; there should be close to a dozen.
 | |
| - Annotate assertions with `!` endings.
 | |
| - Prefer the Scheme style of `predicate?`
 | |
| - Variadic functions *should* encode this by appending * onto their
 | |
|   name. E.g. `maybe/nil?*`
 |