Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MohammedRashad/Simplex
Programming Language for everyone, and no one.
https://github.com/MohammedRashad/Simplex
batch-interpreter c interpreter language lisp lisp-dialect lisp-variant live-coding programming programming-language simplex
Last synced: 3 months ago
JSON representation
Programming Language for everyone, and no one.
- Host: GitHub
- URL: https://github.com/MohammedRashad/Simplex
- Owner: MohammedRashad
- License: gpl-3.0
- Created: 2017-06-22T01:35:52.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-02-13T20:10:29.000Z (over 6 years ago)
- Last Synced: 2024-07-12T07:33:49.357Z (4 months ago)
- Topics: batch-interpreter, c, interpreter, language, lisp, lisp-dialect, lisp-variant, live-coding, programming, programming-language, simplex
- Language: C
- Homepage:
- Size: 64.5 KB
- Stars: 18
- Watchers: 7
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- AwesomeInterpreter - Simplex
README
# Simplex
Simple Programming Language. Inspired by Lisp programming language.
It's a Lisp for everyone, and no one.**[Get Simplex Here](https://github.com/MohammedRashad/Simplex/releases)**
## 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 ()
[]
[]# Select Statement
select
[ () ]
[ () ]
[ otherwise () ]# 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](https://github.com/MohammedRashad/Simplex/wiki/) for in-depth details.
## License
This project is signed under GNU Public License V3.0