aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--input/lux/data/number.lux28
-rw-r--r--input/program.lux8
-rw-r--r--src/lux.clj8
-rw-r--r--src/lux/analyser.clj8
-rw-r--r--src/lux/analyser/base.clj8
-rw-r--r--src/lux/analyser/case.clj8
-rw-r--r--src/lux/analyser/env.clj8
-rw-r--r--src/lux/analyser/host.clj8
-rw-r--r--src/lux/analyser/lambda.clj8
-rw-r--r--src/lux/analyser/lux.clj8
-rw-r--r--src/lux/analyser/module.clj8
-rw-r--r--src/lux/base.clj8
-rw-r--r--src/lux/compiler.clj8
-rw-r--r--src/lux/compiler/base.clj8
-rw-r--r--src/lux/compiler/case.clj8
-rw-r--r--src/lux/compiler/host.clj8
-rw-r--r--src/lux/compiler/lambda.clj8
-rw-r--r--src/lux/compiler/lux.clj8
-rw-r--r--src/lux/host.clj8
-rw-r--r--src/lux/lexer.clj8
-rw-r--r--src/lux/optimizer.clj9
-rw-r--r--src/lux/parser.clj8
-rw-r--r--src/lux/reader.clj8
-rw-r--r--src/lux/type.clj8
24 files changed, 186 insertions, 27 deletions
diff --git a/input/lux/data/number.lux b/input/lux/data/number.lux
index 8203d2ecd..e1c10d6b0 100644
--- a/input/lux/data/number.lux
+++ b/input/lux/data/number.lux
@@ -15,39 +15,15 @@
## Signatures
(defsig #export (Number n)
(do-template [<name>]
- [(: (-> n n n)
- <name>)]
+ [(: (-> n n n) <name>)]
[+] [-] [*] [/] [%])
- ## (: (-> n n n)
- ## +)
-
- ## (: (-> n n n)
- ## -)
-
- ## (: (-> n n n)
- ## *)
-
- ## (: (-> n n n)
- ## /)
-
- ## (: (-> n n n)
- ## %)
(: (-> Int n)
from-int)
(do-template [<name>]
- [(: (-> n n)
- <name>)]
+ [(: (-> n n) <name>)]
[negate] [signum] [abs])
- ## (: (-> n n)
- ## negate)
-
- ## (: (-> n n)
- ## signum)
-
- ## (: (-> n n)
- ## abs)
)
## [Structures]
diff --git a/input/program.lux b/input/program.lux
index 19ee964e2..1bdb237b1 100644
--- a/input/program.lux
+++ b/input/program.lux
@@ -1,3 +1,11 @@
+## Copyright (c) Eduardo Julian. All rights reserved.
+## The use and distribution terms for this software are covered by the
+## Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+## which can be found in the file epl-v10.html at the root of this distribution.
+## By using this software in any fashion, you are agreeing to be bound by
+## the terms of this license.
+## You must not remove this notice, or any other, from this software.
+
(;import lux
(lux (codata (stream #as S))
(control monoid
diff --git a/src/lux.clj b/src/lux.clj
index eb025f55e..0fcb33785 100644
--- a/src/lux.clj
+++ b/src/lux.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux
(:gen-class)
(:require [lux.base :as &]
diff --git a/src/lux/analyser.clj b/src/lux/analyser.clj
index 782ae4685..995e77fe6 100644
--- a/src/lux/analyser.clj
+++ b/src/lux/analyser.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.analyser
(:require (clojure [template :refer [do-template]])
[clojure.core.match :as M :refer [matchv]]
diff --git a/src/lux/analyser/base.clj b/src/lux/analyser/base.clj
index 11e92f7b7..9fc3f1030 100644
--- a/src/lux/analyser/base.clj
+++ b/src/lux/analyser/base.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.analyser.base
(:require [clojure.core.match :as M :refer [match matchv]]
clojure.core.match.array
diff --git a/src/lux/analyser/case.clj b/src/lux/analyser/case.clj
index 267bd1269..659b2b0f6 100644
--- a/src/lux/analyser/case.clj
+++ b/src/lux/analyser/case.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.analyser.case
(:require [clojure.core.match :as M :refer [match matchv]]
clojure.core.match.array
diff --git a/src/lux/analyser/env.clj b/src/lux/analyser/env.clj
index de6bdb036..cac0f8cd4 100644
--- a/src/lux/analyser/env.clj
+++ b/src/lux/analyser/env.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.analyser.env
(:require [clojure.core.match :as M :refer [matchv]]
clojure.core.match.array
diff --git a/src/lux/analyser/host.clj b/src/lux/analyser/host.clj
index 918bcb8f1..68bd627fc 100644
--- a/src/lux/analyser/host.clj
+++ b/src/lux/analyser/host.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.analyser.host
(:require (clojure [template :refer [do-template]])
[clojure.core.match :as M :refer [match matchv]]
diff --git a/src/lux/analyser/lambda.clj b/src/lux/analyser/lambda.clj
index 4dd1be38f..b1b9e2c22 100644
--- a/src/lux/analyser/lambda.clj
+++ b/src/lux/analyser/lambda.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.analyser.lambda
(:require [clojure.core.match :as M :refer [matchv]]
clojure.core.match.array
diff --git a/src/lux/analyser/lux.clj b/src/lux/analyser/lux.clj
index 75881c80a..fc96fecff 100644
--- a/src/lux/analyser/lux.clj
+++ b/src/lux/analyser/lux.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.analyser.lux
(:require (clojure [template :refer [do-template]])
[clojure.core.match :as M :refer [matchv]]
diff --git a/src/lux/analyser/module.clj b/src/lux/analyser/module.clj
index 27aa7374c..c13be61c4 100644
--- a/src/lux/analyser/module.clj
+++ b/src/lux/analyser/module.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.analyser.module
(:require [clojure.string :as string]
[clojure.core.match :as M :refer [matchv]]
diff --git a/src/lux/base.clj b/src/lux/base.clj
index e22e51473..7ed21e9bd 100644
--- a/src/lux/base.clj
+++ b/src/lux/base.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.base
(:require (clojure [template :refer [do-template]])
[clojure.core.match :as M :refer [matchv]]
diff --git a/src/lux/compiler.clj b/src/lux/compiler.clj
index 559c1179b..549f2e0a9 100644
--- a/src/lux/compiler.clj
+++ b/src/lux/compiler.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.compiler
(:refer-clojure :exclude [compile])
(:require (clojure [string :as string]
diff --git a/src/lux/compiler/base.clj b/src/lux/compiler/base.clj
index 7ac48e67e..25451aae0 100644
--- a/src/lux/compiler/base.clj
+++ b/src/lux/compiler/base.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.compiler.base
(:require [clojure.string :as string]
[clojure.java.io :as io]
diff --git a/src/lux/compiler/case.clj b/src/lux/compiler/case.clj
index 1a0a9c6bc..fc0cce31f 100644
--- a/src/lux/compiler/case.clj
+++ b/src/lux/compiler/case.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.compiler.case
(:require (clojure [set :as set]
[template :refer [do-template]])
diff --git a/src/lux/compiler/host.clj b/src/lux/compiler/host.clj
index 5c2c43296..1dca81857 100644
--- a/src/lux/compiler/host.clj
+++ b/src/lux/compiler/host.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.compiler.host
(:require (clojure [string :as string]
[set :as set]
diff --git a/src/lux/compiler/lambda.clj b/src/lux/compiler/lambda.clj
index 7b08532fe..9f4bef80c 100644
--- a/src/lux/compiler/lambda.clj
+++ b/src/lux/compiler/lambda.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.compiler.lambda
(:require (clojure [string :as string]
[set :as set]
diff --git a/src/lux/compiler/lux.clj b/src/lux/compiler/lux.clj
index ecb614732..ac3d6f56d 100644
--- a/src/lux/compiler/lux.clj
+++ b/src/lux/compiler/lux.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.compiler.lux
(:require (clojure [string :as string]
[set :as set]
diff --git a/src/lux/host.clj b/src/lux/host.clj
index e2efd92e9..abbdb8c6d 100644
--- a/src/lux/host.clj
+++ b/src/lux/host.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.host
(:require (clojure [string :as string]
[template :refer [do-template]])
diff --git a/src/lux/lexer.clj b/src/lux/lexer.clj
index fbfe1f757..bb6e54cb4 100644
--- a/src/lux/lexer.clj
+++ b/src/lux/lexer.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.lexer
(:require [clojure.template :refer [do-template]]
(lux [base :as & :refer [|do return* return fail fail*]]
diff --git a/src/lux/optimizer.clj b/src/lux/optimizer.clj
index 8b97b6ebb..5056a09e0 100644
--- a/src/lux/optimizer.clj
+++ b/src/lux/optimizer.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.optimizer
(:require [lux.analyser :as &analyser]))
@@ -12,7 +20,6 @@
;; Pre-compute constant expressions: Find function calls for which all arguments are known at compile-time and pre-calculate everything prior to compilation.
;; Convert pattern-matching on booleans into regular if-then-else structures
;; Local var aliasing.
-;; Global var aliasing.
;; [Exports]
(defn optimize [eval! compile-module]
diff --git a/src/lux/parser.clj b/src/lux/parser.clj
index 7a3ad18aa..966c322bf 100644
--- a/src/lux/parser.clj
+++ b/src/lux/parser.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.parser
(:require [clojure.template :refer [do-template]]
[clojure.core.match :as M :refer [matchv]]
diff --git a/src/lux/reader.clj b/src/lux/reader.clj
index bef093247..9fd9b14ea 100644
--- a/src/lux/reader.clj
+++ b/src/lux/reader.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.reader
(:require [clojure.string :as string]
[clojure.core.match :as M :refer [matchv]]
diff --git a/src/lux/type.clj b/src/lux/type.clj
index c3a27ce2b..77fc6a2f8 100644
--- a/src/lux/type.clj
+++ b/src/lux/type.clj
@@ -1,3 +1,11 @@
+;; Copyright (c) Eduardo Julian. All rights reserved.
+;; The use and distribution terms for this software are covered by the
+;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
+;; which can be found in the file epl-v10.html at the root of this distribution.
+;; By using this software in any fashion, you are agreeing to be bound by
+;; the terms of this license.
+;; You must not remove this notice, or any other, from this software.
+
(ns lux.type
(:refer-clojure :exclude [deref apply merge bound?])
(:require [clojure.core.match :as M :refer [match matchv]]