Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/regb/inca
Design progress on the Inca programming language
https://github.com/regb/inca
Last synced: about 1 month ago
JSON representation
Design progress on the Inca programming language
- Host: GitHub
- URL: https://github.com/regb/inca
- Owner: regb
- Created: 2014-02-14T22:26:21.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2015-10-12T13:24:26.000Z (about 9 years ago)
- Last Synced: 2023-03-22T16:29:04.465Z (almost 2 years ago)
- Homepage:
- Size: 145 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
The Inca Programming Language
=============================This repository contains the design of the Inca programming language.
This is (obviously) a work in progress. Hopefully implementation will
follow at some point.Overview
--------Inca is an experimental language created to explore some design possibilites
for future programming languages. It introduces some radical concepts that,
to the best of my knowledge, are not present in other programming languages.
One such concept is incrementallity (hence the name INCa), which is
developed more in the corresponding [document](incremental.md). For proper
incremental compilation, the language needs to rely on a well design module
system. Inca basically uses the `trait` mechanism of Scala, described
in [Scalable Component Abstraction](http://lampwww.epfl.ch/~odersky/papers/ScalableComponent.pdf).Inca is more than just another programming language. It aims at being a
complete development system. In this sense, the design of Inca is strongly
influenciated by the potential tooling around the language. For example, Inca
does not recognize a concept of file or compilation unit. A program &mdash or
rather a component &mdash is always fully represented in the RAM of a running
compiler. The end goal is to use an editor aware of this system, that will
provide a clean structuration of the program according to the components, and
not the filenames. The incremental and interactive compiler will be the basis
to build such editors.