aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/translation/r
diff options
context:
space:
mode:
authorEduardo Julian2018-07-31 18:36:18 -0400
committerEduardo Julian2018-07-31 18:36:18 -0400
commiteea58ee669f69fddf2cef9e1675c41959e2e0a55 (patch)
tree5424dab3ef26190958fe4371f3f50995025d31cf /new-luxc/source/luxc/lang/translation/r
parent748c868680683df1949f62aac274040ac5bf43da (diff)
Now implementing atom functionality in stdlib instead of the compiler.
Diffstat (limited to '')
-rw-r--r--new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux22
-rw-r--r--new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux16
-rw-r--r--new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux22
-rw-r--r--new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux14
4 files changed, 0 insertions, 74 deletions
diff --git a/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux
index c17eb6738..d8f4f4662 100644
--- a/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux
@@ -350,27 +350,6 @@
(install "current-time" (nullary (function (_ _)
(runtimeT.io//current-time! runtimeT.unit)))))))
-## [[Atoms]]
-(def: atom//new
- Unary
- (|>> [runtimeT.atom//field] (list) r.named-list))
-
-(def: atom//read
- Unary
- (r.nth (r.string runtimeT.atom//field)))
-
-(def: (atom//compare-and-swap [atomO oldO newO])
- Trinary
- (runtimeT.atom//compare-and-swap atomO oldO newO))
-
-(def: atom-procs
- Bundle
- (<| (prefix "atom")
- (|> (dict.new text.Hash<Text>)
- (install "new" (unary atom//new))
- (install "read" (unary atom//read))
- (install "compare-and-swap" (trinary atom//compare-and-swap)))))
-
## [[Box]]
(def: box//new
Unary
@@ -420,7 +399,6 @@
(dict.merge text-procs)
(dict.merge array-procs)
(dict.merge io-procs)
- (dict.merge atom-procs)
(dict.merge box-procs)
(dict.merge process-procs)
)))
diff --git a/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux
index fd4adfb1a..ee46836cb 100644
--- a/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux
@@ -764,21 +764,6 @@
@@array//get
@@array//put))
-(def: #export atom//field Text "lux_atom")
-
-(runtime: (atom//compare-and-swap atom old new)
- (let [atom//field (r.string atom//field)]
- (r.if (|> (@@ atom) (r.nth atom//field) (r.= (@@ old)))
- ($_ r.then
- (r.set-nth! atom//field (@@ new) atom)
- (r.bool #1))
- (r.bool #0))))
-
-(def: runtime//atom
- Runtime
- ($_ r.then
- @@atom//compare-and-swap))
-
(runtime: (box//write value box)
($_ r.then
(r.set-nth! (r.int 1) (@@ value) box)
@@ -859,7 +844,6 @@
runtime//frac
runtime//text
runtime//array
- runtime//atom
runtime//box
runtime//io
runtime//process
diff --git a/new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux
index ba6a1241a..96d42a4a9 100644
--- a/new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux
@@ -391,27 +391,6 @@
(install "exit" (unary io//exit))
(install "current-time" (nullary io//current-time)))))
-## [[Atoms]]
-(def: atom//new
- Unary
- (|>> [(ruby.string runtimeT.atom//field)] (list) ruby.dictionary))
-
-(def: atom//read
- Unary
- (ruby.nth (ruby.string runtimeT.atom//field)))
-
-(def: (atom//compare-and-swap [atomO oldO newO])
- Trinary
- (runtimeT.atom//compare-and-swap atomO oldO newO))
-
-(def: atom-procs
- Bundle
- (<| (prefix "atom")
- (|> (dict.new text.Hash<Text>)
- (install "new" (unary atom//new))
- (install "read" (unary atom//read))
- (install "compare-and-swap" (trinary atom//compare-and-swap)))))
-
## [[Box]]
(def: box//new
Unary
@@ -461,7 +440,6 @@
(dict.merge text-procs)
(dict.merge array-procs)
(dict.merge io-procs)
- (dict.merge atom-procs)
(dict.merge box-procs)
(dict.merge process-procs)
)))
diff --git a/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux
index 49f5d9d79..32ab5b10c 100644
--- a/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux
@@ -222,19 +222,6 @@
(format @@array//get
@@array//put))
-(def: #export atom//field Text "_lux_atom")
-
-(runtime: (atom//compare-and-swap atom old new)
- (let [atom//field (ruby.string atom//field)]
- (ruby.if! (ruby.= old (ruby.nth atom//field atom))
- (ruby.block! (list (ruby.set-nth! atom//field new atom)
- (ruby.return! (ruby.bool #1))))
- (ruby.return! (ruby.bool #0)))))
-
-(def: runtime//atom
- Runtime
- (format @@atom//compare-and-swap "\n"))
-
(runtime: (box//write value box)
(ruby.block! (list (ruby.set-nth! (ruby.int 0) value box)
(ruby.return! ..unit))))
@@ -263,7 +250,6 @@
runtime//bit "\n"
runtime//text "\n"
runtime//array "\n"
- runtime//atom "\n"
runtime//box "\n"
runtime//process "\n"
))