Giter VIP home page Giter VIP logo

simplex's Introduction

Simplex

Simple Programming Language. Inspired by Lisp programming language.
It's a Lisp for everyone, and no one.

Get Simplex Here

Introduction

Brief Intro

Simplex is a Lisp-based programming language (lisp-diaclet or lisp-variant), built for experimentation and educational purposes as a side project, it was meant to be different from the mainstream languages with some amazing features borrowed from many languages.

The motivation behind it was to push my limits in programming and in C especially, also as a part of my learning process to explore computer science and as a personal challenge.

More detailed documentation and tutorials is being added.

What is simplex ?

Simplex is simple programming language. Inspired by Lisp, Python, Fortran and BASIC.
With many improvements and modifications, it's my trial to re-invent Lisp.

Main Features

  • Functional
  • Turing-Complete
  • Imperative
  • Dynamically-Typed
  • Weakly-Typed
  • Live Interpreter
  • Batch Interpreter
  • Implemented in C++

What's working right now ?

  • Variables
  • Scopes
  • Live Interpreter
  • Functions
  • First Order Functions
  • Recursion
  • Standard Library
  • Strings
  • Floating Point Numbers
  • Logical Operations
  • Arithmetic Operations
  • Batch Interpreter
  • User Input
  • Loading Files
  • Library Loading
  • If Conditional Statements
  • Case Statements
  • Select Statements
  • List operations

Basic Tutorial

Printing :

(print "Hello World")

Input :

(scan "x")

Arithmetic :

(+ 3 4 5 6 7) == 25
(- 3 2) == 1
(* 3 4) == 12
(/ 12 6) == 2

Variables :

(define [a] 100)

Lists :

(define [w] [1 2 3 4 5 6])

Functions :

(fun [add x y] [+ x y])

Comments:

# This is a comment
# Multiline comment

Conditonal Statements :

# If Statement
if (<condition>)
    [<condition true>]
    [<condition false>]

# Select Statement
select
    [ (<case>) <do stuff> ]
    [ (<other case>) <do other stuff> ]
    [ otherwise (<do other other stuff>) ]

# Case Statement
case x
    [0 "Monday"]
    [1 "Tuesday"]
    [2 "Wednesday"]
    [3 "Thursday"]
    [4 "Friday"]
    [5 "Saturday"]
    [6 "Sunday"]

Documentation and Tutorials

You can always refer to Simplex Wiki for in-depth details.

License

This project is signed under GNU Public License V3.0

simplex's People

Contributors

greatsharma avatar mohammedrashad avatar prankshaw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

simplex's Issues

first issue

why we are using C and not C++ ?As C++ provides excellent OO features which make our code more versatile and increases reusibility as compared to C

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.