Connery
Designed by | Will Cipriano |
---|---|
Appeared in | 2020 |
Computational class | Turing complete |
Major implementations | Original |
Influenced by | ArnoldC |
File extension(s) | .connery |
Connery is an esoteric programming language created by Will Cipriano in 2020. It is a experimental lisp-like interpreted programming language that has error messages themed after Sean Connery.
Computational model
Connery is a AST walker that is composed of S-Expressions and Q-Expressions. S-Expressions or symbolic expressions are evaluated as soon as they are encountered, while Q-expressions are evaluated whenever they are called. It contains a number of simple builtins as well as a standard library containing several general purpose functions. It supports Integers, Floats, Strings, and Lists.
Sample programs
Here's the traditional "Hello World!" in Connery:
(print "Hello World!")
The following program returns what highlander should be chosen by Juan Sánchez-Villalobos Ramírez to be mentored:
(def {highlanders} (list "Connor MacLeod" "General Katana" "Rachel Ellenstein" "Methos")) (fun {there_can_only_be_one highlander} {!= -1 (caseless_find highlander "MACLEOD")}) (eval (filter there_can_only_be_one highlanders))
This program toggles the caterpillar drive in the Red October:
(fun {toggle_caterpillar_drive caterpillar_drive_status} { if (caterpillar_drive_status) {False} {True} })
Error Messages
Errors in Connery are pronounced with a Scottish lisp, often making them difficult to understand.
Here's what happens when you pass a String into is_leap_year:
is_leap_year requiresh a number ash input!
Or when you try to divide by zero:
Divishion by zero