1.27.0 • Published 7 years ago

wonderlang v1.27.0

Weekly downloads
2
License
MIT
Repository
github
Last release
7 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

7 years ago

1.26.0

7 years ago

1.25.1

7 years ago

1.25.0

7 years ago

1.24.5

7 years ago

1.24.4

7 years ago

1.24.3

7 years ago

1.24.2

7 years ago

1.24.1

7 years ago

1.24.0

7 years ago

1.23.13

7 years ago

1.23.12

7 years ago

1.23.11

7 years ago

1.23.10

7 years ago

1.23.9

7 years ago

1.23.8

7 years ago

1.23.7

7 years ago

1.23.6

7 years ago

1.23.5

7 years ago

1.23.4

8 years ago

1.23.3

8 years ago

1.23.2

8 years ago

1.23.1

8 years ago

1.23.0

8 years ago

1.22.3

8 years ago

1.22.2

8 years ago

1.22.1

8 years ago

1.22.0

8 years ago

1.21.6

8 years ago

1.21.5

8 years ago

1.21.4

8 years ago

1.21.3

8 years ago

1.21.2

8 years ago

1.21.1

8 years ago

1.21.0

8 years ago

1.20.0

8 years ago

1.19.3

8 years ago

1.19.2

8 years ago

1.19.1

8 years ago

1.19.0

8 years ago

1.18.0

8 years ago

1.17.14

8 years ago

1.17.13

8 years ago

1.17.12

8 years ago

1.17.11

8 years ago

1.17.10

8 years ago

1.17.9

8 years ago

1.17.8

8 years ago

1.17.7

8 years ago

1.17.6

8 years ago

1.17.5

8 years ago

1.17.4

8 years ago

1.17.3

8 years ago

1.17.2

9 years ago

1.17.1

9 years ago

1.17.0

9 years ago

1.16.1

9 years ago

1.16.0

9 years ago

1.15.0

9 years ago

1.14.3

9 years ago

1.14.2

9 years ago

1.14.1

9 years ago

1.14.0

9 years ago

1.13.3

9 years ago

1.13.2

9 years ago

1.13.1

9 years ago

1.13.0

9 years ago

1.12.5

9 years ago

1.12.4

9 years ago

1.12.3

9 years ago

1.12.2

9 years ago

1.12.1

9 years ago

1.12.0

9 years ago

1.11.2

9 years ago

1.11.1

9 years ago

1.11.0

9 years ago

1.10.1

9 years ago

1.10.0

9 years ago

1.9.2

9 years ago

1.9.1

9 years ago

1.9.0

9 years ago

1.8.0

9 years ago

1.7.1

9 years ago

1.7.0

9 years ago

1.6.2-0

9 years ago

1.6.1-0

9 years ago

1.6.0

9 years ago

1.5.6

9 years ago

1.5.5

9 years ago

1.5.4

9 years ago

1.5.4-0

9 years ago

1.5.3-0

9 years ago

1.5.2-0

9 years ago

1.5.1

9 years ago

1.5.0

9 years ago

1.4.2-0

9 years ago

1.4.1-0

9 years ago

1.4.0

9 years ago

1.3.2-0

9 years ago

1.3.1

9 years ago

1.3.0

9 years ago

1.2.0

9 years ago

1.1.0

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.2-0

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago