Haxell
Jump to navigation
Jump to search
Paradigm(s) | Functional |
---|---|
Designed by | User:Hakerh400 |
Appeared in | 2024 |
Computational class | Turing complete |
Major implementations | Implemented |
File extension(s) | .hs |
Haxell is an esolang invented by User:Hakerh400 in 2024.
Overview
Haxell is similar to Haskell, but there are few differences:
- File name and module name are unrelated. Relative import paths are supported. For example
import Data.List
imports built-in moduleData.List
, whileimport "./data/list"
imports the local filelist.hs
from the directorydata
relative to the current file (not to the current working directory of the compiler invocation). Imports from parent directory are also supportedimport "../../util"
. If the path represents a directory, thenindex.hs
file is imported from that directory. Quotes are optional. - Compiler flag
-trans-imports
allows transitive imports (module exports itself as well as all imported modules). - Infix operator
#
is used instead of$
. - In a
do
block, thelet x = expr
syntax behaves exactly asx <- pure # expr
(no indentation quirks, unlike in Haskell). - Snake case is recommended instead of camel case for user-defined functions.