Pointless: A Scripting Language for Learning and Fun

Why Learn Pointless?

What language should beginner programmers learn? Pointless, of course!

Here's the deal: I like the way that writing programs in scripting languages (like Python) tends to feel -- easy and flexible -- and I like the types of programs that functional languages (like Haskell) are designed to produce -- declarative and correct. But Python and Haskell are very different languages -- is there a middle-ground between the two? Pointless aims to provide just this.

Comparison with Scripting Languages:

While scripting languages may be flexible, my own experience has show me that languages which are easy to use also make it easy to write bad programs. One of the primary goals of Pointless ... (click for full text)


I've made this site to share a project I've been working on intermittently for the last couple of years -- a programming language called Pointless. The language is a distillation of some of the concepts from functional programming that I find interesting, with a design goal that can be roughly summarized as "creating the programming language that I'd like to have learned as a beginner programmer". This language is still very much in-the-works, but I'm excited to share the progress that I've made so far.

- Avery N. Nortonsmith (averyn.net)
contact@ptls.dev

import "chart.ptls" as chart

output =
  iterate(step, 175) -- sequence starts at 175
  |> takeUntil(eq(1))
  |> chart.scale(4)
  |> println

-----------------------------------------------------------
-- get the next number in a collatz sequence

step(n) =
  if n % 2 == 0 then n / 2 else n * 3 + 1
$ bin/pointless examples/collatz.ptls

                                    ▂         █                                 
                                  ▁ █       ▅ █▁                                
                                ▃ █▁█▅  ▂ ▆ █▃██▁                               
▁▂▁▃▂▄▂▆▃▂▅▃▂▁▂▁▃▂▄▂▁▃▂▄▂▁▃▂▅▃▇▄█▅████▆▃█▅█▇█████▄▂▆▃▂▄▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁