Haxell

From Esolang
Jump to navigation Jump to search
Haxell
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 module Data.List, while import "./data/list" imports the local file list.hs from the directory data relative to the current file (not to the current working directory of the compiler invocation). Imports from parent directory are also supported import "../../util". If the path represents a directory, then index.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, the let x = expr syntax behaves exactly as x <- pure # expr (no indentation quirks, unlike in Haskell).
  • Snake case is recommended instead of camel case for user-defined functions.

External resources