shen-ruby 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,7 +27,7 @@ For an explication of this license see http://www.lambdassociates.org/News/june1
27
27
 
28
28
  (defun version (V568) (set *version* V568))
29
29
 
30
- (version "version 7.1")
30
+ (version "version 8")
31
31
 
32
32
  (defun shen-credits ()
33
33
  (do (intoutput "~%Shen 2010, copyright (C) 2010 Mark Tarver~%" ())
@@ -15,12 +15,12 @@
15
15
 
16
16
  For an explication of this license see http://www.lambdassociates.org/News/june11/license.htm which explains this license in full."
17
17
 
18
- (defun declare (V1681 V1682)
19
- (let Record (set shen-*signedfuncs* (adjoin V1681 (value shen-*signedfuncs*)))
18
+ (defun declare (V1679 V1680)
19
+ (let Record (set shen-*signedfuncs* (adjoin V1679 (value shen-*signedfuncs*)))
20
20
  (let Variancy
21
- (trap-error (shen-variancy-test V1681 V1682) (lambda E shen-skip))
22
- (let Type (shen-rcons_form (shen-normalise-type V1682))
23
- (let F* (concat shen-type-signature-of- V1681)
21
+ (trap-error (shen-variancy-test V1679 V1680) (lambda E shen-skip))
22
+ (let Type (shen-rcons_form (shen-normalise-type V1680))
23
+ (let F* (concat shen-type-signature-of- V1679)
24
24
  (let Parameters (shen-parameters 1)
25
25
  (let Clause
26
26
  (cons (cons F* (cons X ()))
@@ -33,43 +33,43 @@ For an explication of this license see http://www.lambdassociates.org/News/june1
33
33
  (append Parameters
34
34
  (append (cons ProcessN (cons Continuation ()))
35
35
  (cons -> (cons Code ()))))))
36
- (let Eval (shen-eval-without-macros ShenDef) V1681)))))))))))
36
+ (let Eval (shen-eval-without-macros ShenDef) V1679)))))))))))
37
37
 
38
- (defun shen-normalise-type (V1683)
39
- (fix (lambda V1684 (shen-normalise-type-help V1684)) V1683))
38
+ (defun shen-normalise-type (V1681)
39
+ (fix (lambda V1682 (shen-normalise-type-help V1682)) V1681))
40
40
 
41
- (defun shen-normalise-type-help (V1685)
41
+ (defun shen-normalise-type-help (V1683)
42
42
  (cond
43
- ((cons? V1685)
43
+ ((cons? V1683)
44
44
  (shen-normalise-X
45
- (map (lambda V1686 (shen-normalise-type-help V1686)) V1685)))
46
- (true (shen-normalise-X V1685))))
45
+ (map (lambda V1684 (shen-normalise-type-help V1684)) V1683)))
46
+ (true (shen-normalise-X V1683))))
47
47
 
48
- (defun shen-normalise-X (V1687)
49
- (let Val (assoc V1687 (value shen-*synonyms*))
50
- (if (empty? Val) V1687 (tl Val))))
48
+ (defun shen-normalise-X (V1685)
49
+ (let Val (assoc V1685 (value shen-*synonyms*))
50
+ (if (empty? Val) V1685 (tl Val))))
51
51
 
52
- (defun shen-variancy-test (V1688 V1689)
53
- (let TypeF (shen-typecheck V1688 B)
52
+ (defun shen-variancy-test (V1686 V1687)
53
+ (let TypeF (shen-typecheck V1686 B)
54
54
  (let Check
55
55
  (if (= symbol TypeF) shen-skip
56
- (if (shen-variant? TypeF V1689) shen-skip
56
+ (if (shen-variant? TypeF V1687) shen-skip
57
57
  (intoutput "warning: changing the type of ~A may create errors~%"
58
- (@p V1688 ()))))
58
+ (@p V1686 ()))))
59
59
  shen-skip)))
60
60
 
61
- (defun shen-variant? (V1698 V1699)
62
- (cond ((= V1699 V1698) true)
63
- ((and (cons? V1698) (and (cons? V1699) (= (hd V1699) (hd V1698))))
64
- (shen-variant? (tl V1698) (tl V1699)))
65
- ((and (cons? V1698)
66
- (and (cons? V1699) (and (shen-pvar? (hd V1698)) (variable? (hd V1699)))))
67
- (shen-variant? (subst shen-a (hd V1698) (tl V1698))
68
- (subst shen-a (hd V1699) (tl V1699))))
69
- ((and (cons? V1698)
70
- (and (cons? (hd V1698)) (and (cons? V1699) (cons? (hd V1699)))))
71
- (shen-variant? (append (hd V1698) (tl V1698))
72
- (append (hd V1699) (tl V1699))))
61
+ (defun shen-variant? (V1696 V1697)
62
+ (cond ((= V1697 V1696) true)
63
+ ((and (cons? V1696) (and (cons? V1697) (= (hd V1697) (hd V1696))))
64
+ (shen-variant? (tl V1696) (tl V1697)))
65
+ ((and (cons? V1696)
66
+ (and (cons? V1697) (and (shen-pvar? (hd V1696)) (variable? (hd V1697)))))
67
+ (shen-variant? (subst shen-a (hd V1696) (tl V1696))
68
+ (subst shen-a (hd V1697) (tl V1697))))
69
+ ((and (cons? V1696)
70
+ (and (cons? (hd V1696)) (and (cons? V1697) (cons? (hd V1697)))))
71
+ (shen-variant? (append (hd V1696) (tl V1696))
72
+ (append (hd V1697) (tl V1697))))
73
73
  (true false)))
74
74
 
75
75
  (declare absvector? (cons A (cons --> (cons boolean ()))))
@@ -313,13 +313,17 @@ For an explication of this license see http://www.lambdassociates.org/News/june1
313
313
  (declare read-byte
314
314
  (cons (cons stream (cons in ())) (cons --> (cons number ()))))
315
315
 
316
- (declare read-file
317
- (cons string (cons --> (cons (cons list (cons unit ())) ()))))
318
-
319
316
  (declare read-file-as-bytelist
320
317
  (cons string (cons --> (cons (cons list (cons number ())) ()))))
321
318
 
322
- (declare read-file-as-string (cons string (cons --> (cons string ()))))
319
+ (declare read-file-as-string
320
+ (cons string (cons --> (cons string ()))))
321
+
322
+ (declare read-file
323
+ (cons string (cons --> (cons (cons list (cons unit ())) ()))))
324
+
325
+ (declare read-from-string
326
+ (cons string (cons --> (cons (cons list (cons unit ())) ()))))
323
327
 
324
328
  (declare remove
325
329
  (cons A
@@ -388,6 +392,8 @@ For an explication of this license see http://www.lambdassociates.org/News/june1
388
392
 
389
393
  (declare tuple? (cons A (cons --> (cons boolean ()))))
390
394
 
395
+ (declare shen-undefmacro (cons symbol (cons --> (cons symbol ()))))
396
+
391
397
  (declare union
392
398
  (cons (cons list (cons A ()))
393
399
  (cons -->
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shen-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-01-17 00:00:00.000000000 Z
13
+ date: 2013-01-24 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec