npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

Bynd

v0.0.2

Published

Bynd language Compiler

Readme

Bynd Programming Language

Bynd is a functional Programming Language.

Concepts

Major concepts that Bynd supports.

* Map
* Reduce
* Composite
* Partial

Data types

Data types that are supported Bynd eldest version.

* Number
* String
* Boolean
* List
* Function

How to Use

Installation

run ``bynd -v``` to see the version.

Hello World

(print "Hello World") ;;prints 'Hello World' 

Comments

;;Everything followed a pair of two semicolons is a comment.
;;These are single line comments.
//Everything inside a pair of two slashes is 
a multi line comment.
//

Arithmetic operation

(print (add 20 10)) ;;prints 30
(print (sub 20 10)) ;;prints 10

Comparison operation

(print (eq 20 20)) ;;prints true
(print (gt 40 50)) ;;prints false

Conditional operation

(print (if (eq 20 20) "yes" "no")) ;;prints 'yes'
(print (if (false) "yes" "no")) ;;prints 'no'

Variable Binding

(. x 20)
(print x) ;;prints 20

Function Creation

Regular Map Declaration

Regular map takes exactly one parameter.

(. inc => n (add n 1)) ;;function to increment by 1
(. isEven => n
    (eq (mod n 2) 0)
)
(. cube => n    ;;function to find cube
    (multi n n n)   
)

Irregular Map Declaration

Irregular map takes no parameter. Hence NULL has to be given as argument.

(. one => NULL 1) ;;function returning one always
(. random => NULL (random)) ;;function returning random number b/w 0-1

Reduce Declaration

Reduce takes exactly two parameters.

(. sum => previous current
    (add previous current)
)
(sum 10 20 30 40) ;; evaluates to 100

In first iteration the first two numbers are previous and current values. In the second iteration onwards the current will be the next number in the queue, and the previous will be the previous iteration return value.

Composite

Calling a Map passing a Map will return a Composite. For example, square and cube are two Map functions.

(. cube => n
    (multi n n n)
)
(. square => n
    (multi n n n)
)

To find n to the power 6, one has to simply call square of cube of n.

(. sixtyFour square cube 2)     ;; all these are equivalent
(. sixtyFour square 8)          ;; all these are equivalent
(. sixtyFour square (cube 2))   ;; all these are equivalent
(. sixtyFour (square cube) 2)   ;; all these are equivalent

(. toThePower6 square cube)     ;; a composite can be passed around like this
(. sixtyFour toThePower6 2)     ;; gives sixty four

Note that Composite is also a Map. A Composite cannot be created by calling a Map passing a Reduce. But can be created by calling a Reduce passing a Map. The Associative property of the operations has to be taken care.

Partial

Any Function call returns a PUT object which can be treated as a function or a value. How it is treated is upto the consumer.

So, a Reduce call returns a PUT.This PUT has a partial function and the accumulated value as a result of the Reduce call. For example, add is a Reduce function. (add is a in built function)

(. incByTwo (add 2))
(print incByTwo)