MyNixOS website logo
Description

the noodle programming language.

The noodle Programming Language Interpreter

Noodle is two things. It is a programming language, and it is this implementation of that programming language.

Briefly...

Noodle (the language) is functional, latently typed, and statically scoped. Noodle has no language level concept of mutable state. Data abstraction is handled with 'scope bound' wrappers that prevent pattern matching on some value outside of some mutually recursive scope. Numbers are arbitrary precision integer ratios. Operators are (possibly) high order functions with special application rules that omit evaluation of the right operand if their application to the left operand does not return a function. Modules are mutually recursive internally, are first class, and can be parameterized by constructing them with functions. Rather than arrays or linked lists, the most basic compound data structure in noodle is a binary tree, or product.

the primary points of interest in this package are:

noodle

the option directed command line interface

noodle-repl

the read-eval-print-loop

noodle-eval

an interface for evaluating a single noodle expression (computation) from stdin

You may also incorporate noodle into your own program as a library, but this is even less documented than the completely undocumented command line interface... so I don't know why you would want to do this.

Metadata

Version

0.0.19

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows