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 🙏

© 2024 – Pkg Stats / Ryan Hefner

xoclang

v0.0.2-devpr

Published

Xoc, the programming language of the future.

Downloads

1

Readme

The Xoc Programming Language

Xoc is our vision for a consistent language that can handle basic tasks while implementing a human-readable interface and syntax. While creating projects, we had a problem: some languages had an inconsistent and hard to understand syntax. That's why we created Xoc, a programming language that haves a clean syntax and surfaces a consistent design.

We can assure than Xoc is extremely powerful, and soon it will be capable to create the things you love.

Installation

Xoc compiler is included in an NPM module, as languages like TypeScript. You can install Xoc by executing:

$ npm install -g xoclang

Compiling Xoc files

Xoc now compiles by a CLI, so you have to execute the xoc command to let your code work. For example, if you have a main.xoc file in your root directory, you should run:

$ xoc main.xoc

Xoc will return you errors on-board, so you can know what is happening with your code.

Learning Xoc

Here we will explain some Xoc basics and how to make them.

My first hello world

NOTE: As Xoc is a strict-typed language, you should specify the type of your content.

cout('Hello World!') String

Variables and constants

Defining a variable:

var String hi: 'Hi'
let String bye: 'Bye'

Defining a constant:

const String goodMorning: 'Good morning!'

Assigning to variables:

let String response: 'Yes'
const String anotherResponse: 'Maybe'
assignto response: 'No' // works
assignto anotherResponse: 'No' // don't works, assignment to a constant

Conditionals

Supported operators and their equivalents:

  • equals: ==
  • sameType: ===
  • moreThan: >
  • lessThan: <
  • moreEqual: >=
  • lessEqual: <=
  • and: &&
  • or: ||

Conditional syntax:

var String yes: 'Yes'
var String anotherYes: 'Yes'
var String oneMoreYes: 'Yes'

if yes equals anotherYes (testCond):
    cout('It matches :D') String
end conditional (testCond)

// with more options
if yes equals anotherYes or yes equals oneMoreYes (secondCond):
    cout('It matches x2 :D')
end conditional (secondCond)

Functions

All functions need to be declared with pub, prot or priv at the first line, and to be closed at the end.

pub fn sayHelloWorld():
    cout('Hello World!') String
end fn (sayHelloWorld)

And you can call the function anywhere:

sayHelloWorld()