Changed around line 0
-
-
-
-
-
-
-
Particles-
-
- const data = new jtree.TreeNode(`helloWorld3D
- title Hello world
- description Particle Syntax (Particles) is a simple new syntax for writing code and data. Particles brings code to life, by giving it physical dimensions. Particles is code you could hold.
- noSyntaxChars
- title No Syntax
- description Say goodbye to unnecessary syntax characters! Particles drops those. The Particles Experiment is to see if we can ditch all of that syntax for easier parsing without losing functionality.
- createLanguages
- title Create New Languages
- description Particles is a basic building block that you can build higher level languages on top of.
Try it now.
- paper
- title Works Offline
- description You can use Particles with pen and paper too.
Graph paper works great. For example, healthcare providers could write notes directly in Particles. This can make it easier for lab scientists to analyze that data later on.
- programWithPictures
- title Program With Pictures
- description Particles can easily support non-traditional programming language designs. For example, you can design new languages that use
pictures instead of words.
- webForms
- title Web Forms Reinvented
- description Particles could be the future of web forms. Web forms would still be able to look and operate just like they do today, but under the hood web forms could soon be creating Particles documents. Designing forms would be easier. Autocomplete would be better. And eReceipts and copy/paste for web forms could become standard.
See demo.- cleanData
- title Bug Free Data
- description We no longer need to store our data in error prone CSV, XML, or JSON. Particles gives us a simpler, more powerful encoding for data with lots of new advanced features. See an
early example.
- programsAreAlsoSpreadsheets
- title Programs Are Spreadsheets
- description With Particles, you think of code as being in rows and cells, just like in spreadsheets. Future spreadsheet applications could save their files in languages built on Particles.
- visualProgramming
- title Visual Programming
- description Particles might help make true visual programming a reality. Visual editors generate clean Particles code under the hood, that, with the help of tools, may be as good as the same code handwritten. Try an
early example.
- apis
- title A New Wave of APIs
- description In the 2000's, JSON was invented and as a simpler XML it led to an explosion in new web APIs. In the 2020's Particles could do a similar thing. Compared to JSON APIs, Particles APIs could be easier for end users, more intelligent through shared grammars, and more robust via reduced complexity. See an
early demo.
- complexityCanBeCounted
- title We Can Now Count Complexity
- description Particles allows you to easily count the complexity of a given piece of code or data. With Particles, you can objectively decide which thing is simpler than another. You can count complexity in "Particle Units" like particles, subparticles, atoms, callbacks and bits. You can count complexity starting from 0's and 1's or from a higher level.
Read more.
- aFutureWithoutCompilers
- title A Future Without Compilers?
- description In the decades ahead, Particles could change the way we think about computers. Particles is like a 2-dimensional binary and could be used at the lowest levels of computing. We could see new types of Tree Machines that operate very differently than the computers we have today.
Read more.`)
- const changeImage = event => {
- if (!event.target.href) return true
- event.preventDefault()
- const id = event.target.value
- loadSlide(id)
- location.hash = id
- }
- const loadSlide = id => {
- const node = data.getNode(id)
- if (!node) return true
- const sel = document.getElementsByClassName("selected")[0]
- if (sel) sel.classList.remove("selected")
- document.getElementById(id + "Link").classList.add("selected")
- document.getElementById("heroImage").src = `demos/${id}.svg`
- document.getElementById("caption").innerHTML = node.get("description") || ""
- }
- const start = () => {
- data.forEach(node => {
- const id = node.getLine()
- const aTag = document.createElement("A")
- aTag.appendChild(document.createTextNode(node.get("title")))
- aTag.href = `demos/${id}.svg`
- aTag.value = id
- aTag.id = id + "Link"
- document.getElementById("slideHolder").appendChild(aTag)
- })
-
- const url = new URL(document.location.href)
- if (url.hash && url.hash.length > 1) {
- loadSlide(url.hash.substr(1))
- } else {
- loadSlide("helloWorld3D")
- }
- }
-
-
-
-
-
-
- - - | -
-
-
- - | -
-
-
-
-
-
-
-
- start()
-
-
-