1.27.0 • Published 6 years ago

wonderlang v1.27.0

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

wonder

NPM

NPM

Are you a functional programming elitist? Are you a lazy coder? Do you just wish there was a wonderful programming language? If so, then Wonder is for you.

Wonder 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, Wonder can become quite obfuscated at times.

For installation/docs, visit the wiki.

Features

  • Mostly functional, with some imperative/object-oriented structures
  • Lazily evaluated
  • Fresh syntax design
  • Dynamically and weakly typed
  • Implements a zero-indexed version of de Bruijn indices
  • Code as data
  • Pattern matching support
  • Polish notation
  • Arbitrary decimal precision support (note that trig functions are limited to 1000 digits of precision)
  • Simple package system
  • Easy installation via Node.js and NPM

Examples

"Hello, world!":

"Hello, world!"

Recursive Fibonacci sequence:

f\ 0\\0;
f\ 1\\1;
f\\\ x\\(+ f - #x 1) f - #x 2;
f 10 #. Usage example

Recursive Fibonacci sequence with memoization:

f\ 0\\0;
f\ 1\\1;
f\\\ x\\(
  f\#x\\#y;
  #y
) y\ (+ f - #x 1) f - #x 2;
oN map #f rng 1 50

Alternative Fibonacci sequence:

oN tk 100 (genc round . * #phi) 1

FizzBuzz:

oN 
  (map x\\(
    and % #x 3 % #x 5
      ? #x
      ? ++ (% #x 3 ? "" ? "fizz") (% #x 5 ? "" ? "buzz")
  )) rng 1 101

Quine (run with --noexpr flag):

f\ @ol ["f\ ";f;";f0"];f0

∞ x ∞ Matrix:

os rpt oo rpt oo 1

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

t\ 0\\@ol 0;
t\ 1\\@t ol 1;
a\ rl ();
t get 0 a

You can find some PPCG.SE Wonder submissions here.

1.27.0

6 years ago

1.26.0

6 years ago

1.25.1

6 years ago

1.25.0

6 years ago

1.24.5

6 years ago

1.24.4

6 years ago

1.24.3

6 years ago

1.24.2

6 years ago

1.24.1

6 years ago

1.24.0

6 years ago

1.23.13

6 years ago

1.23.12

6 years ago

1.23.11

6 years ago

1.23.10

6 years ago

1.23.9

6 years ago

1.23.8

6 years ago

1.23.7

6 years ago

1.23.6

6 years ago

1.23.5

6 years ago

1.23.4

7 years ago

1.23.3

7 years ago

1.23.2

7 years ago

1.23.1

7 years ago

1.23.0

7 years ago

1.22.3

7 years ago

1.22.2

7 years ago

1.22.1

7 years ago

1.22.0

7 years ago

1.21.6

7 years ago

1.21.5

7 years ago

1.21.4

7 years ago

1.21.3

7 years ago

1.21.2

7 years ago

1.21.1

7 years ago

1.21.0

7 years ago

1.20.0

7 years ago

1.19.3

7 years ago

1.19.2

7 years ago

1.19.1

7 years ago

1.19.0

7 years ago

1.18.0

7 years ago

1.17.14

7 years ago

1.17.13

7 years ago

1.17.12

7 years ago

1.17.11

7 years ago

1.17.10

7 years ago

1.17.9

7 years ago

1.17.8

7 years ago

1.17.7

7 years ago

1.17.6

7 years ago

1.17.5

7 years ago

1.17.4

7 years ago

1.17.3

7 years ago

1.17.2

7 years ago

1.17.1

7 years ago

1.17.0

7 years ago

1.16.1

7 years ago

1.16.0

7 years ago

1.15.0

7 years ago

1.14.3

7 years ago

1.14.2

7 years ago

1.14.1

7 years ago

1.14.0

7 years ago

1.13.3

7 years ago

1.13.2

7 years ago

1.13.1

7 years ago

1.13.0

7 years ago

1.12.5

7 years ago

1.12.4

7 years ago

1.12.3

7 years ago

1.12.2

7 years ago

1.12.1

7 years ago

1.12.0

7 years ago

1.11.2

7 years ago

1.11.1

7 years ago

1.11.0

7 years ago

1.10.1

7 years ago

1.10.0

7 years ago

1.9.2

7 years ago

1.9.1

7 years ago

1.9.0

7 years ago

1.8.0

7 years ago

1.7.1

7 years ago

1.7.0

7 years ago

1.6.2-0

7 years ago

1.6.1-0

7 years ago

1.6.0

7 years ago

1.5.6

7 years ago

1.5.5

7 years ago

1.5.4

7 years ago

1.5.4-0

7 years ago

1.5.3-0

7 years ago

1.5.2-0

7 years ago

1.5.1

7 years ago

1.5.0

7 years ago

1.4.2-0

7 years ago

1.4.1-0

7 years ago

1.4.0

7 years ago

1.3.2-0

7 years ago

1.3.1

7 years ago

1.3.0

7 years ago

1.2.0

7 years ago

1.1.0

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.2-0

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago