(defmodule leap (export (leap-year 1))) (defun leap-year ([year] (when (=:= (rem year 400) 0)) 'true) ([year] (when (=:= (rem year 100) 0)) 'false) ([year] (when (=:= (rem year 4) 0)) 'true) ([_] 'false))
Lisp Flavoured Erlang (AKA LFE) is a lisp syntax front-end to the Erlang compiler. Code produced with it is compatible with "normal" Erlang code. LFE is a (proper) Lisp based on the features and limitations of the Erlang VM.
LFE has many origins, depending upon whether you're looking at Lisp, Erlang, or LFE-proper. The LFE community of contributors embraces all of these and more.
LFE is a Lisp-2. In Lisp-2, the rules for evaluation in the functional position of a form are distinct from those for evaluation in the argument positions of the form. In addition, LFE not only has separate value and function space but it also allows multiple function definitions for the same name. Like Erlang does.Join the LFE track
Exercism is fantastic in learning new languages but that is not the extent of it. If you are a "more experienced" programmer you may have encountered impostor syndrome: the idea you don't really know what you think you know. Exercism lets you solve problems and put them in the space of open feedback which is a tremendous learning opportunity to explore the depth of your own knowledge. Even if you have been programming in a language for awhile it is worth checking into Exercism to see where you stand with current implementation practices.
These are a few of the 31 exercises on the LFE track. You can see all the exercises here.