Skip to content

molarmanful/DASH

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

###NOTICE: DASH has been renamed to Wonder and now resides here.

DASH

NPM

NPM

Are you a functional elitist? Are you a lazy coder? Do you just love esolangs? If so, then DASH is for you.

DASH is a general-purpose functional programming language influenced by countless other programming languages, especially Haskell, Lisp, and Javascript. Although meant to be a practical language, DASH does contain some... golfy... syntax structures.

For installation/docs, visit the wiki.

#Features

  • Mostly functional, with some side effects
  • Lazily evaluated
  • Implements a zero-indexed version of de Bruijn indices
  • Mainly prefix-based
  • Float support for up to 1000-digit precision
  • Simple package system
  • Easy installation via Node.js and NPM

#Examples "Hello, world!":

"Hello, world!"

Fibonacci sequence (overflows really quickly):

while[
  1
  @[
    get 1 #0
    oN + get 0 #0 get 1 #0
  ]
][oN 1; oN 1]

FizzBuzz:

(join "
") (map @
  [
    and % #0 3 % #0 5
      ? #0
      ? con [
          % #0 3
            ? ""
            ? "fizz"
        ] [
          % #0 5
            ? ""
            ? "buzz"
        ]
  ]
) rng 1 101

Quine (run with --noexpr flag):

f\ @(ol "f\ ";ol src f;ol ";f0");f0

∞ x ∞ Matrix:

rpt rpt 1

Truth Machine (enter nothing for falsy and anything for truthy):

t\ @[
  #0
    ? t ol 1
    ? 0
];
t rl ()

About

Easy, functional, lazy.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published