All Projects → pointless-lang → Pointless

pointless-lang / Pointless

Licence: mit
Pointless: a scripting language for learning and fun

Programming Languages

dart
5743 projects
language
365 projects

Projects that are alternatives of or similar to Pointless

Functional Light Js
Pragmatic, balanced FP in JavaScript. @FLJSBook on twitter.
Stars: ✭ 14,764 (+12627.59%)
Mutual labels:  education, functional-programming
Plam
An interpreter for learning and exploring pure λ-calculus
Stars: ✭ 385 (+231.9%)
Mutual labels:  interpreter, functional-programming
Arturo
Simple, expressive & portable programming language for efficient scripting
Stars: ✭ 225 (+93.97%)
Mutual labels:  interpreter, functional-programming
Metalang99
A functional language for C99 preprocessor metaprogramming
Stars: ✭ 152 (+31.03%)
Mutual labels:  interpreter, functional-programming
Cfl
a Compileable statically typed Functional programming Language
Stars: ✭ 7 (-93.97%)
Mutual labels:  interpreter, functional-programming
Bartosz Basics Of Haskell
Code and exercises from Bartosz Milewski's Basics of Haskell Tutorial
Stars: ✭ 483 (+316.38%)
Mutual labels:  interpreter, functional-programming
Haskell Study Startup
Launch your own Haskell study group. Now.
Stars: ✭ 269 (+131.9%)
Mutual labels:  education, functional-programming
Codeworld
Educational computer programming environment using Haskell
Stars: ✭ 1,142 (+884.48%)
Mutual labels:  education, functional-programming
Elm Cheat Sheet
An overview of Elm syntax and features
Stars: ✭ 928 (+700%)
Mutual labels:  education, functional-programming
Pointfreeco
🎬 The source for www.pointfree.co, a video series on functional programming and the Swift programming language.
Stars: ✭ 782 (+574.14%)
Mutual labels:  education, functional-programming
Mappy
A functional programming language. Like LISP but focused around maps rather than lists.
Stars: ✭ 10 (-91.38%)
Mutual labels:  interpreter, functional-programming
Snap4arduino
Binding Snap! and Arduino together
Stars: ✭ 107 (-7.76%)
Mutual labels:  dynamic-programming, education
Apple Juice Actionscript
Pure .NET 2.0 code Implementation of the ActionScript3 compiler and runtime. Can be used to run scripts in environments where "just-in-time compilation" is not possible
Stars: ✭ 112 (-3.45%)
Mutual labels:  interpreter
Seai
CMU Lecture: Machine Learning In Production / AI Engineering / Software Engineering for AI-Enabled Systems (SE4AI)
Stars: ✭ 114 (-1.72%)
Mutual labels:  education
Freasy Monad
Easy way to create Free Monad using Scala macros with first-class Intellij support.
Stars: ✭ 112 (-3.45%)
Mutual labels:  functional-programming
Lift
constexpr C++17 library for simplifying higher order functions in application code
Stars: ✭ 111 (-4.31%)
Mutual labels:  functional-programming
Cilib
Typesafe, purely functional Computational Intelligence
Stars: ✭ 114 (-1.72%)
Mutual labels:  functional-programming
Spb
⚓️ Saint Petersburg, Russia
Stars: ✭ 113 (-2.59%)
Mutual labels:  education
Scalajs React
Facebook's React on Scala.JS
Stars: ✭ 1,524 (+1213.79%)
Mutual labels:  functional-programming
Masala Parser
Javascript Generalized Parser Combinators
Stars: ✭ 110 (-5.17%)
Mutual labels:  functional-programming

Pointless: A Scripting Language for Learning and Fun (v0.1.0)

Why Learn Pointless?

Documentation and examples at https://ptls.dev

Email: [email protected]

Pointless 0.1.0 brings a number of changes from the initial release, informed by feedback and experience. The latest implementation of Pointless is interpreted, rather than compiled, and is written in Dart. This move marks a deemphasis on performance with a focus instead on improved language design and faster development. It's my hope that the new Dart-based implementation will make Pointless easier for others to install, use, and modify.

New utilities:

  • A repl for interactive programming
  • An web-based language playground
  • Auto-generated API docs for prelude functions

Language updates:

  • Syntax consolidation and updates
  • Better error messages with location information for incorrect types (showing where in the code the incorrect type came from)
  • Explicit exports for multi-file projects
  • Expanded standard library
  • Try / catch error handling mechanism
  • Support for labeled objects

Implementation updates:

  • A smaller, easier to edit codebase
  • Improved Windows support
  • Bug fixes
  • MIT licensed source code

Site updates:

  • Updated documentation
  • More in-depth examples
  • Automatic syntax highlighting
  • Faster loading

Installation

You can try Pointless online without installing.
To install Pointless locally, you'll need to have Git installed to clone the repository, as well as the Dart SDK.

Installing on Linux, Mac and Windows (PowerShell):

  1. Clone the repository

    git clone https://github.com/pointless-lang/pointless.git
    
  2. Enter the repo directory

    cd pointless
    
  3. Download Dart dependencies:

    pub get
    
  4. You can now run the Pointless repl using:

    dart lib/pointless.dart
    

    or supply a path to a file to run; for example:

    dart lib/pointless.dart examples/beer/beer.ptls
    

    (for repl readline support, try rlwrap)

Compiling the interpreter with dart2native:

Compiling the interpreter avoids the startup overhead of the Dart VM.

After performing the steps above:

  • Linux and Mac:

    Run the following commands in the repository root (generates ./bin/pointless):

    dart2native lib/pointless.dart -o bin/pointless
    

    Alternatively, using Make, simply run:

    make
    

    Now you can run Pointless like this:

    bin/pointless examples/beer/beer.ptls
    
  • Windows:

    Run the following commands in the repository root (generates ./bin/pointless.exe):

    dart2native lib/pointless.dart -o bin/pointless.exe
    

    Now you can run Pointless like this:

    bin/pointless.exe examples/beer/beer.ptls
    

Contributions are welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].