Connery

From Esolang
Jump to navigation Jump to search
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

External resources