mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-23 08:18:04 +03:00
Commit transcript changes for new builtins
- These were generated using the existing runtime
This commit is contained in:
parent
7a33467f9f
commit
3091d34b34
@ -18,174 +18,251 @@ Let's try it!
|
||||
|
||||
.builtin> find
|
||||
|
||||
1. builtin type Boolean
|
||||
2. Boolean.not : Boolean -> Boolean
|
||||
3. builtin type Bytes
|
||||
4. Bytes.++ : Bytes -> Bytes -> Bytes
|
||||
5. Bytes.at : Nat -> Bytes -> Optional Nat
|
||||
6. Bytes.drop : Nat -> Bytes -> Bytes
|
||||
7. Bytes.empty : Bytes
|
||||
8. Bytes.flatten : Bytes -> Bytes
|
||||
9. Bytes.fromList : [Nat] -> Bytes
|
||||
10. Bytes.size : Bytes -> Nat
|
||||
11. Bytes.take : Nat -> Bytes -> Bytes
|
||||
12. Bytes.toList : Bytes -> [Nat]
|
||||
13. builtin type Char
|
||||
14. Char.fromNat : Nat -> Char
|
||||
15. Char.toNat : Char -> Nat
|
||||
16. Debug.watch : Text -> a -> a
|
||||
17. unique type Doc
|
||||
18. Doc.Blob : Text -> Doc
|
||||
19. Doc.Evaluate : Term -> Doc
|
||||
20. Doc.Join : [Doc] -> Doc
|
||||
21. Doc.Link : Link -> Doc
|
||||
22. Doc.Signature : Term -> Doc
|
||||
23. Doc.Source : Link -> Doc
|
||||
24. builtin type Float
|
||||
25. Float.* : Float -> Float -> Float
|
||||
26. Float.+ : Float -> Float -> Float
|
||||
27. Float.- : Float -> Float -> Float
|
||||
28. Float./ : Float -> Float -> Float
|
||||
29. Float.abs : Float -> Float
|
||||
30. Float.acos : Float -> Float
|
||||
31. Float.acosh : Float -> Float
|
||||
32. Float.asin : Float -> Float
|
||||
33. Float.asinh : Float -> Float
|
||||
34. Float.atan : Float -> Float
|
||||
35. Float.atan2 : Float -> Float -> Float
|
||||
36. Float.atanh : Float -> Float
|
||||
37. Float.ceiling : Float -> Int
|
||||
38. Float.cos : Float -> Float
|
||||
39. Float.cosh : Float -> Float
|
||||
40. Float.eq : Float -> Float -> Boolean
|
||||
41. Float.exp : Float -> Float
|
||||
42. Float.floor : Float -> Int
|
||||
43. Float.fromText : Text -> Optional Float
|
||||
44. Float.gt : Float -> Float -> Boolean
|
||||
45. Float.gteq : Float -> Float -> Boolean
|
||||
46. Float.log : Float -> Float
|
||||
47. Float.logBase : Float -> Float -> Float
|
||||
48. Float.lt : Float -> Float -> Boolean
|
||||
49. Float.lteq : Float -> Float -> Boolean
|
||||
50. Float.max : Float -> Float -> Float
|
||||
51. Float.min : Float -> Float -> Float
|
||||
52. Float.pow : Float -> Float -> Float
|
||||
53. Float.round : Float -> Int
|
||||
54. Float.sin : Float -> Float
|
||||
55. Float.sinh : Float -> Float
|
||||
56. Float.sqrt : Float -> Float
|
||||
57. Float.tan : Float -> Float
|
||||
58. Float.tanh : Float -> Float
|
||||
59. Float.toText : Float -> Text
|
||||
60. Float.truncate : Float -> Int
|
||||
61. builtin type Int
|
||||
62. Int.* : Int -> Int -> Int
|
||||
63. Int.+ : Int -> Int -> Int
|
||||
64. Int.- : Int -> Int -> Int
|
||||
65. Int./ : Int -> Int -> Int
|
||||
66. Int.and : Int -> Int -> Int
|
||||
67. Int.complement : Int -> Int
|
||||
68. Int.eq : Int -> Int -> Boolean
|
||||
69. Int.fromText : Text -> Optional Int
|
||||
70. Int.gt : Int -> Int -> Boolean
|
||||
71. Int.gteq : Int -> Int -> Boolean
|
||||
72. Int.increment : Int -> Int
|
||||
73. Int.isEven : Int -> Boolean
|
||||
74. Int.isOdd : Int -> Boolean
|
||||
75. Int.leadingZeros : Int -> Nat
|
||||
76. Int.lt : Int -> Int -> Boolean
|
||||
77. Int.lteq : Int -> Int -> Boolean
|
||||
78. Int.mod : Int -> Int -> Int
|
||||
79. Int.negate : Int -> Int
|
||||
80. Int.or : Int -> Int -> Int
|
||||
81. Int.pow : Int -> Nat -> Int
|
||||
82. Int.shiftLeft : Int -> Nat -> Int
|
||||
83. Int.shiftRight : Int -> Nat -> Int
|
||||
84. Int.signum : Int -> Int
|
||||
85. Int.toFloat : Int -> Float
|
||||
86. Int.toText : Int -> Text
|
||||
87. Int.trailingZeros : Int -> Nat
|
||||
88. Int.truncate0 : Int -> Nat
|
||||
89. Int.xor : Int -> Int -> Int
|
||||
90. unique type Link
|
||||
91. builtin type Link.Term
|
||||
92. Link.Term : Term -> Link
|
||||
93. builtin type Link.Type
|
||||
94. Link.Type : Type -> Link
|
||||
95. builtin type List
|
||||
96. List.++ : [a] -> [a] -> [a]
|
||||
97. List.+: : a -> [a] -> [a]
|
||||
98. List.:+ : [a] -> a -> [a]
|
||||
99. List.at : Nat -> [a] -> Optional a
|
||||
100. List.cons : a -> [a] -> [a]
|
||||
101. List.drop : Nat -> [a] -> [a]
|
||||
102. List.empty : [a]
|
||||
103. List.size : [a] -> Nat
|
||||
104. List.snoc : [a] -> a -> [a]
|
||||
105. List.take : Nat -> [a] -> [a]
|
||||
106. builtin type Nat
|
||||
107. Nat.* : Nat -> Nat -> Nat
|
||||
108. Nat.+ : Nat -> Nat -> Nat
|
||||
109. Nat./ : Nat -> Nat -> Nat
|
||||
110. Nat.and : Nat -> Nat -> Nat
|
||||
111. Nat.complement : Nat -> Nat
|
||||
112. Nat.drop : Nat -> Nat -> Nat
|
||||
113. Nat.eq : Nat -> Nat -> Boolean
|
||||
114. Nat.fromText : Text -> Optional Nat
|
||||
115. Nat.gt : Nat -> Nat -> Boolean
|
||||
116. Nat.gteq : Nat -> Nat -> Boolean
|
||||
117. Nat.increment : Nat -> Nat
|
||||
118. Nat.isEven : Nat -> Boolean
|
||||
119. Nat.isOdd : Nat -> Boolean
|
||||
120. Nat.leadingZeros : Nat -> Nat
|
||||
121. Nat.lt : Nat -> Nat -> Boolean
|
||||
122. Nat.lteq : Nat -> Nat -> Boolean
|
||||
123. Nat.mod : Nat -> Nat -> Nat
|
||||
124. Nat.or : Nat -> Nat -> Nat
|
||||
125. Nat.pow : Nat -> Nat -> Nat
|
||||
126. Nat.shiftLeft : Nat -> Nat -> Nat
|
||||
127. Nat.shiftRight : Nat -> Nat -> Nat
|
||||
128. Nat.sub : Nat -> Nat -> Int
|
||||
129. Nat.toFloat : Nat -> Float
|
||||
130. Nat.toInt : Nat -> Int
|
||||
131. Nat.toText : Nat -> Text
|
||||
132. Nat.trailingZeros : Nat -> Nat
|
||||
133. Nat.xor : Nat -> Nat -> Nat
|
||||
134. type Optional a
|
||||
135. Optional.None : Optional a
|
||||
136. Optional.Some : a -> Optional a
|
||||
137. builtin type Request
|
||||
138. unique type Test.Result
|
||||
139. Test.Result.Fail : Text -> Result
|
||||
140. Test.Result.Ok : Text -> Result
|
||||
141. builtin type Text
|
||||
142. Text.!= : Text -> Text -> Boolean
|
||||
143. Text.++ : Text -> Text -> Text
|
||||
144. Text.drop : Nat -> Text -> Text
|
||||
145. Text.empty : Text
|
||||
146. Text.eq : Text -> Text -> Boolean
|
||||
147. Text.fromCharList : [Char] -> Text
|
||||
148. Text.gt : Text -> Text -> Boolean
|
||||
149. Text.gteq : Text -> Text -> Boolean
|
||||
150. Text.lt : Text -> Text -> Boolean
|
||||
151. Text.lteq : Text -> Text -> Boolean
|
||||
152. Text.size : Text -> Nat
|
||||
153. Text.take : Nat -> Text -> Text
|
||||
154. Text.toCharList : Text -> [Char]
|
||||
155. Text.uncons : Text -> Optional (Char, Text)
|
||||
156. Text.unsnoc : Text -> Optional (Text, Char)
|
||||
157. type Tuple a b
|
||||
158. Tuple.Cons : a -> b -> Tuple a b
|
||||
159. type Unit
|
||||
160. Unit.Unit : ()
|
||||
161. Universal.< : a -> a -> Boolean
|
||||
162. Universal.<= : a -> a -> Boolean
|
||||
163. Universal.== : a -> a -> Boolean
|
||||
164. Universal.> : a -> a -> Boolean
|
||||
165. Universal.>= : a -> a -> Boolean
|
||||
166. Universal.compare : a -> a -> Int
|
||||
167. bug : a -> b
|
||||
168. todo : a -> b
|
||||
1. AlreadyExists : IOError
|
||||
2. builtin type Boolean
|
||||
3. Boolean.not : Boolean -> Boolean
|
||||
4. type BufferMode
|
||||
5. BufferMode.BlockBuffering : BufferMode
|
||||
6. BufferMode.LineBuffering : BufferMode
|
||||
7. BufferMode.NoBuffering : BufferMode
|
||||
8. BufferMode.SizedBlockBuffering : Nat -> BufferMode
|
||||
9. builtin type Bytes
|
||||
10. Bytes.++ : Bytes -> Bytes -> Bytes
|
||||
11. Bytes.at : Nat -> Bytes -> Optional Nat
|
||||
12. Bytes.drop : Nat -> Bytes -> Bytes
|
||||
13. Bytes.empty : Bytes
|
||||
14. Bytes.flatten : Bytes -> Bytes
|
||||
15. Bytes.fromList : [Nat] -> Bytes
|
||||
16. Bytes.size : Bytes -> Nat
|
||||
17. Bytes.take : Nat -> Bytes -> Bytes
|
||||
18. Bytes.toList : Bytes -> [Nat]
|
||||
19. builtin type Char
|
||||
20. Char.fromNat : Nat -> Char
|
||||
21. Char.toNat : Char -> Nat
|
||||
22. Debug.watch : Text -> a -> a
|
||||
23. unique type Doc
|
||||
24. Doc.Blob : Text -> Doc
|
||||
25. Doc.Evaluate : Term -> Doc
|
||||
26. Doc.Join : [Doc] -> Doc
|
||||
27. Doc.Link : Link -> Doc
|
||||
28. Doc.Signature : Term -> Doc
|
||||
29. Doc.Source : Link -> Doc
|
||||
30. EOF : IOError
|
||||
31. type Either a b
|
||||
32. Either.Left : a -> Either a b
|
||||
33. Either.Right : b -> Either a b
|
||||
34. type FileMode
|
||||
35. FileMode.Append : FileMode
|
||||
36. FileMode.Read : FileMode
|
||||
37. FileMode.ReadWrite : FileMode
|
||||
38. FileMode.Write : FileMode
|
||||
39. builtin type Float
|
||||
40. Float.* : Float -> Float -> Float
|
||||
41. Float.+ : Float -> Float -> Float
|
||||
42. Float.- : Float -> Float -> Float
|
||||
43. Float./ : Float -> Float -> Float
|
||||
44. Float.abs : Float -> Float
|
||||
45. Float.acos : Float -> Float
|
||||
46. Float.acosh : Float -> Float
|
||||
47. Float.asin : Float -> Float
|
||||
48. Float.asinh : Float -> Float
|
||||
49. Float.atan : Float -> Float
|
||||
50. Float.atan2 : Float -> Float -> Float
|
||||
51. Float.atanh : Float -> Float
|
||||
52. Float.ceiling : Float -> Int
|
||||
53. Float.cos : Float -> Float
|
||||
54. Float.cosh : Float -> Float
|
||||
55. Float.eq : Float -> Float -> Boolean
|
||||
56. Float.exp : Float -> Float
|
||||
57. Float.floor : Float -> Int
|
||||
58. Float.fromText : Text -> Optional Float
|
||||
59. Float.gt : Float -> Float -> Boolean
|
||||
60. Float.gteq : Float -> Float -> Boolean
|
||||
61. Float.log : Float -> Float
|
||||
62. Float.logBase : Float -> Float -> Float
|
||||
63. Float.lt : Float -> Float -> Boolean
|
||||
64. Float.lteq : Float -> Float -> Boolean
|
||||
65. Float.max : Float -> Float -> Float
|
||||
66. Float.min : Float -> Float -> Float
|
||||
67. Float.pow : Float -> Float -> Float
|
||||
68. Float.round : Float -> Int
|
||||
69. Float.sin : Float -> Float
|
||||
70. Float.sinh : Float -> Float
|
||||
71. Float.sqrt : Float -> Float
|
||||
72. Float.tan : Float -> Float
|
||||
73. Float.tanh : Float -> Float
|
||||
74. Float.toText : Float -> Text
|
||||
75. Float.truncate : Float -> Int
|
||||
76. IO.clientSocket : Text
|
||||
-> Text
|
||||
->{##IO} Either IOError ##Socket
|
||||
77. IO.closeFile : ##Handle ->{##IO} Either IOError ()
|
||||
78. IO.closeSocket : ##Socket ->{##IO} Either IOError ()
|
||||
79. IO.createDirectory : Text ->{##IO} Either IOError ()
|
||||
80. IO.fileExists : Text ->{##IO} Either IOError Boolean
|
||||
81. IO.forkComp : '{##IO} Either IOError a
|
||||
->{##IO} Either IOError ##ThreadId
|
||||
82. IO.getBuffering : ##Handle
|
||||
->{##IO} Either IOError BufferMode
|
||||
83. IO.getCurrentDirectory : '{##IO} Either IOError Text
|
||||
84. IO.getFileSize : Text ->{##IO} Either IOError Nat
|
||||
85. IO.getFileTimestamp : Text ->{##IO} Either IOError Nat
|
||||
86. IO.getLine : ##Handle ->{##IO} Either IOError Text
|
||||
87. IO.getTempDirectory : '{##IO} Either IOError Text
|
||||
88. IO.getText : ##Handle ->{##IO} Either IOError Text
|
||||
89. IO.handlePosition : ##Handle ->{##IO} Either IOError Int
|
||||
90. IO.isDirectory : Text ->{##IO} Either IOError Boolean
|
||||
91. IO.isFileEOF : ##Handle ->{##IO} Either IOError Boolean
|
||||
92. IO.isFileOpen : ##Handle ->{##IO} Either IOError Boolean
|
||||
93. IO.isSeekable : ##Handle ->{##IO} Either IOError Boolean
|
||||
94. IO.listen : ##Socket ->{##IO} Either IOError ()
|
||||
95. IO.openFile : Text ->{##IO} Either IOError ##Handle
|
||||
96. IO.putText : ##Handle -> Text ->{##IO} Either IOError ()
|
||||
97. IO.removeDirectory : Text ->{##IO} Either IOError ()
|
||||
98. IO.removeFile : Text ->{##IO} Either IOError ()
|
||||
99. IO.renameDirectory : Text
|
||||
-> Text
|
||||
->{##IO} Either IOError ()
|
||||
100. IO.renameFile : Text -> Text ->{##IO} Either IOError ()
|
||||
101. IO.seekHandle : ##Handle
|
||||
-> FileMode
|
||||
-> Int
|
||||
->{##IO} Either IOError ()
|
||||
102. IO.serverSocket : Text
|
||||
-> Text
|
||||
->{##IO} Either IOError ##Socket
|
||||
103. IO.setBuffering : ##Handle
|
||||
-> BufferMode
|
||||
->{##IO} Either IOError ()
|
||||
104. IO.setCurrentDirectory : Text ->{##IO} Either IOError ()
|
||||
105. IO.socketAccept : ##Socket
|
||||
->{##IO} Either IOError ##Socket
|
||||
106. IO.socketReceive : ##Socket
|
||||
-> Nat
|
||||
->{##IO} Either IOError Bytes
|
||||
107. IO.socketSend : ##Socket
|
||||
-> Bytes
|
||||
->{##IO} Either IOError ()
|
||||
108. IO.stdHandle : Nat -> Optional ##Handle
|
||||
109. IO.systemTime : '{##IO} Either IOError Nat
|
||||
110. type IOError
|
||||
111. IllegalOperation : IOError
|
||||
112. builtin type Int
|
||||
113. Int.* : Int -> Int -> Int
|
||||
114. Int.+ : Int -> Int -> Int
|
||||
115. Int.- : Int -> Int -> Int
|
||||
116. Int./ : Int -> Int -> Int
|
||||
117. Int.and : Int -> Int -> Int
|
||||
118. Int.complement : Int -> Int
|
||||
119. Int.eq : Int -> Int -> Boolean
|
||||
120. Int.fromText : Text -> Optional Int
|
||||
121. Int.gt : Int -> Int -> Boolean
|
||||
122. Int.gteq : Int -> Int -> Boolean
|
||||
123. Int.increment : Int -> Int
|
||||
124. Int.isEven : Int -> Boolean
|
||||
125. Int.isOdd : Int -> Boolean
|
||||
126. Int.leadingZeros : Int -> Nat
|
||||
127. Int.lt : Int -> Int -> Boolean
|
||||
128. Int.lteq : Int -> Int -> Boolean
|
||||
129. Int.mod : Int -> Int -> Int
|
||||
130. Int.negate : Int -> Int
|
||||
131. Int.or : Int -> Int -> Int
|
||||
132. Int.pow : Int -> Nat -> Int
|
||||
133. Int.shiftLeft : Int -> Nat -> Int
|
||||
134. Int.shiftRight : Int -> Nat -> Int
|
||||
135. Int.signum : Int -> Int
|
||||
136. Int.toFloat : Int -> Float
|
||||
137. Int.toText : Int -> Text
|
||||
138. Int.trailingZeros : Int -> Nat
|
||||
139. Int.truncate0 : Int -> Nat
|
||||
140. Int.xor : Int -> Int -> Int
|
||||
141. unique type Link
|
||||
142. builtin type Link.Term
|
||||
143. Link.Term : Term -> Link
|
||||
144. builtin type Link.Type
|
||||
145. Link.Type : Type -> Link
|
||||
146. builtin type List
|
||||
147. List.++ : [a] -> [a] -> [a]
|
||||
148. List.+: : a -> [a] -> [a]
|
||||
149. List.:+ : [a] -> a -> [a]
|
||||
150. List.at : Nat -> [a] -> Optional a
|
||||
151. List.cons : a -> [a] -> [a]
|
||||
152. List.drop : Nat -> [a] -> [a]
|
||||
153. List.empty : [a]
|
||||
154. List.size : [a] -> Nat
|
||||
155. List.snoc : [a] -> a -> [a]
|
||||
156. List.take : Nat -> [a] -> [a]
|
||||
157. builtin type Nat
|
||||
158. Nat.* : Nat -> Nat -> Nat
|
||||
159. Nat.+ : Nat -> Nat -> Nat
|
||||
160. Nat./ : Nat -> Nat -> Nat
|
||||
161. Nat.and : Nat -> Nat -> Nat
|
||||
162. Nat.complement : Nat -> Nat
|
||||
163. Nat.drop : Nat -> Nat -> Nat
|
||||
164. Nat.eq : Nat -> Nat -> Boolean
|
||||
165. Nat.fromText : Text -> Optional Nat
|
||||
166. Nat.gt : Nat -> Nat -> Boolean
|
||||
167. Nat.gteq : Nat -> Nat -> Boolean
|
||||
168. Nat.increment : Nat -> Nat
|
||||
169. Nat.isEven : Nat -> Boolean
|
||||
170. Nat.isOdd : Nat -> Boolean
|
||||
171. Nat.leadingZeros : Nat -> Nat
|
||||
172. Nat.lt : Nat -> Nat -> Boolean
|
||||
173. Nat.lteq : Nat -> Nat -> Boolean
|
||||
174. Nat.mod : Nat -> Nat -> Nat
|
||||
175. Nat.or : Nat -> Nat -> Nat
|
||||
176. Nat.pow : Nat -> Nat -> Nat
|
||||
177. Nat.shiftLeft : Nat -> Nat -> Nat
|
||||
178. Nat.shiftRight : Nat -> Nat -> Nat
|
||||
179. Nat.sub : Nat -> Nat -> Int
|
||||
180. Nat.toFloat : Nat -> Float
|
||||
181. Nat.toInt : Nat -> Int
|
||||
182. Nat.toText : Nat -> Text
|
||||
183. Nat.trailingZeros : Nat -> Nat
|
||||
184. Nat.xor : Nat -> Nat -> Nat
|
||||
185. NoSuchThing : IOError
|
||||
186. type Optional a
|
||||
187. Optional.None : Optional a
|
||||
188. Optional.Some : a -> Optional a
|
||||
189. PermissionDenied : IOError
|
||||
190. builtin type Request
|
||||
191. ResourceBusy : IOError
|
||||
192. ResourceExhausted : IOError
|
||||
193. type SeqView a
|
||||
194. SeqView.VElem : a -> SeqView a -> SeqView a
|
||||
195. SeqView.VEmpty : SeqView a
|
||||
196. unique type Test.Result
|
||||
197. Test.Result.Fail : Text -> Result
|
||||
198. Test.Result.Ok : Text -> Result
|
||||
199. builtin type Text
|
||||
200. Text.!= : Text -> Text -> Boolean
|
||||
201. Text.++ : Text -> Text -> Text
|
||||
202. Text.drop : Nat -> Text -> Text
|
||||
203. Text.empty : Text
|
||||
204. Text.eq : Text -> Text -> Boolean
|
||||
205. Text.fromCharList : [Char] -> Text
|
||||
206. Text.gt : Text -> Text -> Boolean
|
||||
207. Text.gteq : Text -> Text -> Boolean
|
||||
208. Text.lt : Text -> Text -> Boolean
|
||||
209. Text.lteq : Text -> Text -> Boolean
|
||||
210. Text.size : Text -> Nat
|
||||
211. Text.take : Nat -> Text -> Text
|
||||
212. Text.toCharList : Text -> [Char]
|
||||
213. Text.uncons : Text -> Optional (Char, Text)
|
||||
214. Text.unsnoc : Text -> Optional (Text, Char)
|
||||
215. type Tuple a b
|
||||
216. Tuple.Cons : a -> b -> Tuple a b
|
||||
217. type Unit
|
||||
218. Unit.Unit : ()
|
||||
219. Universal.< : a -> a -> Boolean
|
||||
220. Universal.<= : a -> a -> Boolean
|
||||
221. Universal.== : a -> a -> Boolean
|
||||
222. Universal.> : a -> a -> Boolean
|
||||
223. Universal.>= : a -> a -> Boolean
|
||||
224. Universal.compare : a -> a -> Int
|
||||
225. UserError : IOError
|
||||
226. bug : a -> b
|
||||
227. todo : a -> b
|
||||
|
||||
|
||||
.builtin> alias.many 94-104 .mylib
|
||||
@ -194,17 +271,32 @@ Let's try it!
|
||||
|
||||
Added definitions:
|
||||
|
||||
1. builtin type List
|
||||
2. Link.Type : Type -> Link
|
||||
3. List.++ : [a] -> [a] -> [a]
|
||||
4. ┌ List.+: : a -> [a] -> [a]
|
||||
5. └ List.cons : a -> [a] -> [a]
|
||||
6. ┌ List.:+ : [a] -> a -> [a]
|
||||
7. └ List.snoc : [a] -> a -> [a]
|
||||
8. List.at : Nat -> [a] -> Optional a
|
||||
9. List.drop : Nat -> [a] -> [a]
|
||||
10. List.empty : [a]
|
||||
11. List.size : [a] -> Nat
|
||||
1. IO.listen : ##Socket
|
||||
->{##IO} Either IOError ()
|
||||
2. IO.openFile : Text
|
||||
->{##IO} Either IOError ##Handle
|
||||
3. IO.putText : ##Handle
|
||||
-> Text
|
||||
->{##IO} Either IOError ()
|
||||
4. IO.removeDirectory : Text ->{##IO} Either IOError ()
|
||||
5. IO.removeFile : Text ->{##IO} Either IOError ()
|
||||
6. IO.renameDirectory : Text
|
||||
-> Text
|
||||
->{##IO} Either IOError ()
|
||||
7. IO.renameFile : Text
|
||||
-> Text
|
||||
->{##IO} Either IOError ()
|
||||
8. IO.seekHandle : ##Handle
|
||||
-> FileMode
|
||||
-> Int
|
||||
->{##IO} Either IOError ()
|
||||
9. IO.serverSocket : Text
|
||||
-> Text
|
||||
->{##IO} Either IOError ##Socket
|
||||
10. IO.setBuffering : ##Handle
|
||||
-> BufferMode
|
||||
->{##IO} Either IOError ()
|
||||
11. IO.setCurrentDirectory : Text ->{##IO} Either IOError ()
|
||||
|
||||
Tip: You can use `undo` or `reflog` to undo this change.
|
||||
|
||||
@ -266,29 +358,38 @@ I want to incorporate a few more from another namespace:
|
||||
|
||||
.mylib> find
|
||||
|
||||
1. Link.Type : Type -> Link
|
||||
2. builtin type List
|
||||
3. List.++ : [a] -> [a] -> [a]
|
||||
4. List.+: : a -> [a] -> [a]
|
||||
5. List.:+ : [a] -> a -> [a]
|
||||
6. List.adjacentPairs : [a] -> [(a, a)]
|
||||
7. List.all : (a ->{𝕖} Boolean) ->{𝕖} [a] ->{𝕖} Boolean
|
||||
8. List.any : (a ->{𝕖} Boolean) ->{𝕖} [a] ->{𝕖} Boolean
|
||||
9. List.at : Nat -> [a] -> Optional a
|
||||
10. List.chunk : Nat -> [a] -> [[a]]
|
||||
11. List.chunksOf : Nat -> [a] -> [[a]]
|
||||
12. List.cons : a -> [a] -> [a]
|
||||
13. List.drop : Nat -> [a] -> [a]
|
||||
14. List.dropWhile : (a ->{𝕖} Boolean) ->{𝕖} [a] ->{𝕖} [a]
|
||||
15. List.empty : [a]
|
||||
16. List.first : [a] -> Optional a
|
||||
17. List.init : [a] -> Optional [a]
|
||||
18. List.intersperse : a -> [a] -> [a]
|
||||
19. List.isEmpty : [a] -> Boolean
|
||||
20. List.last : [a] -> Optional a
|
||||
21. List.replicate : Nat -> a -> [a]
|
||||
22. List.size : [a] -> Nat
|
||||
23. List.snoc : [a] -> a -> [a]
|
||||
1. IO.listen : ##Socket ->{##IO} Either IOError ()
|
||||
2. IO.openFile : Text ->{##IO} Either IOError ##Handle
|
||||
3. IO.putText : ##Handle -> Text ->{##IO} Either IOError ()
|
||||
4. IO.removeDirectory : Text ->{##IO} Either IOError ()
|
||||
5. IO.removeFile : Text ->{##IO} Either IOError ()
|
||||
6. IO.renameDirectory : Text
|
||||
-> Text
|
||||
->{##IO} Either IOError ()
|
||||
7. IO.renameFile : Text -> Text ->{##IO} Either IOError ()
|
||||
8. IO.seekHandle : ##Handle
|
||||
-> FileMode
|
||||
-> Int
|
||||
->{##IO} Either IOError ()
|
||||
9. IO.serverSocket : Text
|
||||
-> Text
|
||||
->{##IO} Either IOError ##Socket
|
||||
10. IO.setBuffering : ##Handle
|
||||
-> BufferMode
|
||||
->{##IO} Either IOError ()
|
||||
11. IO.setCurrentDirectory : Text ->{##IO} Either IOError ()
|
||||
12. List.adjacentPairs : [a] -> [(a, a)]
|
||||
13. List.all : (a ->{𝕖} Boolean) ->{𝕖} [a] ->{𝕖} Boolean
|
||||
14. List.any : (a ->{𝕖} Boolean) ->{𝕖} [a] ->{𝕖} Boolean
|
||||
15. List.chunk : Nat -> [a] -> [[a]]
|
||||
16. List.chunksOf : Nat -> [a] -> [[a]]
|
||||
17. List.dropWhile : (a ->{𝕖} Boolean) ->{𝕖} [a] ->{𝕖} [a]
|
||||
18. List.first : [a] -> Optional a
|
||||
19. List.init : [a] -> Optional [a]
|
||||
20. List.intersperse : a -> [a] -> [a]
|
||||
21. List.isEmpty : [a] -> Boolean
|
||||
22. List.last : [a] -> Optional a
|
||||
23. List.replicate : Nat -> a -> [a]
|
||||
24. List.splitAt : Nat -> [a] -> ([a], [a])
|
||||
25. List.tail : [a] -> Optional [a]
|
||||
26. List.takeWhile : (a ->{𝕖} Boolean) -> [a] ->{𝕖} [a]
|
||||
|
@ -9,37 +9,55 @@ The `builtins.merge` command adds the known builtins to a `builtin` subnamespace
|
||||
|
||||
.tmp> ls builtin
|
||||
|
||||
1. Boolean (builtin type)
|
||||
2. Boolean/ (1 definition)
|
||||
3. Bytes (builtin type)
|
||||
4. Bytes/ (9 definitions)
|
||||
5. Char (builtin type)
|
||||
6. Char/ (2 definitions)
|
||||
7. Debug/ (1 definition)
|
||||
8. Doc (type)
|
||||
9. Doc/ (6 definitions)
|
||||
10. Float (builtin type)
|
||||
11. Float/ (36 definitions)
|
||||
12. Int (builtin type)
|
||||
13. Int/ (28 definitions)
|
||||
14. Link (type)
|
||||
15. Link/ (4 definitions)
|
||||
16. List (builtin type)
|
||||
17. List/ (10 definitions)
|
||||
18. Nat (builtin type)
|
||||
19. Nat/ (27 definitions)
|
||||
20. Optional (type)
|
||||
21. Optional/ (2 definitions)
|
||||
22. Request (builtin type)
|
||||
23. Test/ (3 definitions)
|
||||
24. Text (builtin type)
|
||||
25. Text/ (15 definitions)
|
||||
26. Tuple (type)
|
||||
27. Tuple/ (1 definition)
|
||||
28. Unit (type)
|
||||
29. Unit/ (1 definition)
|
||||
30. Universal/ (6 definitions)
|
||||
31. bug (a -> b)
|
||||
32. todo (a -> b)
|
||||
1. AlreadyExists (IOError)
|
||||
2. Boolean (builtin type)
|
||||
3. Boolean/ (1 definition)
|
||||
4. BufferMode (type)
|
||||
5. BufferMode/ (4 definitions)
|
||||
6. Bytes (builtin type)
|
||||
7. Bytes/ (9 definitions)
|
||||
8. Char (builtin type)
|
||||
9. Char/ (2 definitions)
|
||||
10. Debug/ (1 definition)
|
||||
11. Doc (type)
|
||||
12. Doc/ (6 definitions)
|
||||
13. EOF (IOError)
|
||||
14. Either (type)
|
||||
15. Either/ (2 definitions)
|
||||
16. FileMode (type)
|
||||
17. FileMode/ (4 definitions)
|
||||
18. Float (builtin type)
|
||||
19. Float/ (36 definitions)
|
||||
20. IO/ (34 definitions)
|
||||
21. IOError (type)
|
||||
22. IllegalOperation (IOError)
|
||||
23. Int (builtin type)
|
||||
24. Int/ (28 definitions)
|
||||
25. Link (type)
|
||||
26. Link/ (4 definitions)
|
||||
27. List (builtin type)
|
||||
28. List/ (10 definitions)
|
||||
29. Nat (builtin type)
|
||||
30. Nat/ (27 definitions)
|
||||
31. NoSuchThing (IOError)
|
||||
32. Optional (type)
|
||||
33. Optional/ (2 definitions)
|
||||
34. PermissionDenied (IOError)
|
||||
35. Request (builtin type)
|
||||
36. ResourceBusy (IOError)
|
||||
37. ResourceExhausted (IOError)
|
||||
38. SeqView (type)
|
||||
39. SeqView/ (2 definitions)
|
||||
40. Test/ (3 definitions)
|
||||
41. Text (builtin type)
|
||||
42. Text/ (15 definitions)
|
||||
43. Tuple (type)
|
||||
44. Tuple/ (1 definition)
|
||||
45. Unit (type)
|
||||
46. Unit/ (1 definition)
|
||||
47. Universal/ (6 definitions)
|
||||
48. UserError (IOError)
|
||||
49. bug (a -> b)
|
||||
50. todo (a -> b)
|
||||
|
||||
```
|
||||
|
@ -23,7 +23,7 @@ Technically, the definitions all exist, but they have no names. `builtins.merge`
|
||||
|
||||
.foo> ls
|
||||
|
||||
1. builtin/ (168 definitions)
|
||||
1. builtin/ (227 definitions)
|
||||
|
||||
```
|
||||
And for a limited time, you can get even more builtin goodies:
|
||||
@ -35,7 +35,7 @@ And for a limited time, you can get even more builtin goodies:
|
||||
|
||||
.foo> ls
|
||||
|
||||
1. builtin/ (334 definitions)
|
||||
1. builtin/ (390 definitions)
|
||||
|
||||
```
|
||||
More typically, you'd start out by pulling `base.
|
||||
|
@ -112,13 +112,13 @@ We can also delete the fork if we're done with it. (Don't worry, it's still in t
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #1pdgtsicq9
|
||||
⊙ #gjkmcnvfuh
|
||||
|
||||
- Deletes:
|
||||
|
||||
feature1.y
|
||||
|
||||
⊙ #9e8gvv7r3e
|
||||
⊙ #kqloe7510g
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
@ -129,30 +129,34 @@ We can also delete the fork if we're done with it. (Don't worry, it's still in t
|
||||
Original name New name(s)
|
||||
feature1.y master.y
|
||||
|
||||
⊙ #6sqsddkikv
|
||||
⊙ #aj79ekpoo3
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
feature1.y
|
||||
|
||||
⊙ #loe9apjdis
|
||||
⊙ #tlh9bnckss
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
x master.x
|
||||
|
||||
⊙ #p90pbjip7l
|
||||
⊙ #om14e19o1o
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
x
|
||||
|
||||
⊙ #givahf3f6f
|
||||
⊙ #1ggq0kemne
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
builtin.Boolean builtin.Boolean.not builtin.Bytes
|
||||
builtin.AlreadyExists builtin.Boolean builtin.Boolean.not
|
||||
builtin.BufferMode builtin.BufferMode.BlockBuffering
|
||||
builtin.BufferMode.LineBuffering
|
||||
builtin.BufferMode.NoBuffering
|
||||
builtin.BufferMode.SizedBlockBuffering builtin.Bytes
|
||||
builtin.Bytes.++ builtin.Bytes.at builtin.Bytes.drop
|
||||
builtin.Bytes.empty builtin.Bytes.flatten
|
||||
builtin.Bytes.fromList builtin.Bytes.size
|
||||
@ -160,11 +164,15 @@ We can also delete the fork if we're done with it. (Don't worry, it's still in t
|
||||
builtin.Char.fromNat builtin.Char.toNat
|
||||
builtin.Debug.watch builtin.Doc builtin.Doc.Blob
|
||||
builtin.Doc.Evaluate builtin.Doc.Join builtin.Doc.Link
|
||||
builtin.Doc.Signature builtin.Doc.Source builtin.Float
|
||||
builtin.Float.* builtin.Float.+ builtin.Float.-
|
||||
builtin.Float./ builtin.Float.abs builtin.Float.acos
|
||||
builtin.Float.acosh builtin.Float.asin builtin.Float.asinh
|
||||
builtin.Float.atan builtin.Float.atan2 builtin.Float.atanh
|
||||
builtin.Doc.Signature builtin.Doc.Source builtin.EOF
|
||||
builtin.Either builtin.Either.Left builtin.Either.Right
|
||||
builtin.FileMode builtin.FileMode.Append
|
||||
builtin.FileMode.Read builtin.FileMode.ReadWrite
|
||||
builtin.FileMode.Write builtin.Float builtin.Float.*
|
||||
builtin.Float.+ builtin.Float.- builtin.Float./
|
||||
builtin.Float.abs builtin.Float.acos builtin.Float.acosh
|
||||
builtin.Float.asin builtin.Float.asinh builtin.Float.atan
|
||||
builtin.Float.atan2 builtin.Float.atanh
|
||||
builtin.Float.ceiling builtin.Float.cos builtin.Float.cosh
|
||||
builtin.Float.eq builtin.Float.exp builtin.Float.floor
|
||||
builtin.Float.fromText builtin.Float.gt builtin.Float.gteq
|
||||
@ -173,7 +181,25 @@ We can also delete the fork if we're done with it. (Don't worry, it's still in t
|
||||
builtin.Float.pow builtin.Float.round builtin.Float.sin
|
||||
builtin.Float.sinh builtin.Float.sqrt builtin.Float.tan
|
||||
builtin.Float.tanh builtin.Float.toText
|
||||
builtin.Float.truncate builtin.Int builtin.Int.*
|
||||
builtin.Float.truncate builtin.IO.clientSocket
|
||||
builtin.IO.closeFile builtin.IO.closeSocket
|
||||
builtin.IO.createDirectory builtin.IO.fileExists
|
||||
builtin.IO.forkComp builtin.IO.getBuffering
|
||||
builtin.IO.getCurrentDirectory builtin.IO.getFileSize
|
||||
builtin.IO.getFileTimestamp builtin.IO.getLine
|
||||
builtin.IO.getTempDirectory builtin.IO.getText
|
||||
builtin.IO.handlePosition builtin.IO.isDirectory
|
||||
builtin.IO.isFileEOF builtin.IO.isFileOpen
|
||||
builtin.IO.isSeekable builtin.IO.listen
|
||||
builtin.IO.openFile builtin.IO.putText
|
||||
builtin.IO.removeDirectory builtin.IO.removeFile
|
||||
builtin.IO.renameDirectory builtin.IO.renameFile
|
||||
builtin.IO.seekHandle builtin.IO.serverSocket
|
||||
builtin.IO.setBuffering builtin.IO.setCurrentDirectory
|
||||
builtin.IO.socketAccept builtin.IO.socketReceive
|
||||
builtin.IO.socketSend builtin.IO.stdHandle
|
||||
builtin.IO.systemTime builtin.IOError
|
||||
builtin.IllegalOperation builtin.Int builtin.Int.*
|
||||
builtin.Int.+ builtin.Int.- builtin.Int./ builtin.Int.and
|
||||
builtin.Int.complement builtin.Int.eq builtin.Int.fromText
|
||||
builtin.Int.gt builtin.Int.gteq builtin.Int.increment
|
||||
@ -199,13 +225,16 @@ We can also delete the fork if we're done with it. (Don't worry, it's still in t
|
||||
builtin.Nat.pow builtin.Nat.shiftLeft
|
||||
builtin.Nat.shiftRight builtin.Nat.sub builtin.Nat.toFloat
|
||||
builtin.Nat.toInt builtin.Nat.toText
|
||||
builtin.Nat.trailingZeros builtin.Nat.xor builtin.Optional
|
||||
builtin.Optional.None builtin.Optional.Some
|
||||
builtin.Request builtin.Test.Result
|
||||
builtin.Test.Result.Fail builtin.Test.Result.Ok
|
||||
builtin.Text builtin.Text.!= builtin.Text.++
|
||||
builtin.Text.drop builtin.Text.empty builtin.Text.eq
|
||||
builtin.Text.fromCharList builtin.Text.gt
|
||||
builtin.Nat.trailingZeros builtin.Nat.xor
|
||||
builtin.NoSuchThing builtin.Optional builtin.Optional.None
|
||||
builtin.Optional.Some builtin.PermissionDenied
|
||||
builtin.Request builtin.ResourceBusy
|
||||
builtin.ResourceExhausted builtin.SeqView
|
||||
builtin.SeqView.VElem builtin.SeqView.VEmpty
|
||||
builtin.Test.Result builtin.Test.Result.Fail
|
||||
builtin.Test.Result.Ok builtin.Text builtin.Text.!=
|
||||
builtin.Text.++ builtin.Text.drop builtin.Text.empty
|
||||
builtin.Text.eq builtin.Text.fromCharList builtin.Text.gt
|
||||
builtin.Text.gteq builtin.Text.lt builtin.Text.lteq
|
||||
builtin.Text.size builtin.Text.take
|
||||
builtin.Text.toCharList builtin.Text.uncons
|
||||
@ -213,7 +242,8 @@ We can also delete the fork if we're done with it. (Don't worry, it's still in t
|
||||
builtin.Unit builtin.Unit.Unit builtin.Universal.<
|
||||
builtin.Universal.<= builtin.Universal.==
|
||||
builtin.Universal.> builtin.Universal.>=
|
||||
builtin.Universal.compare builtin.bug builtin.todo
|
||||
builtin.Universal.compare builtin.UserError builtin.bug
|
||||
builtin.todo
|
||||
|
||||
□ #7asfbtqmoj (start of history)
|
||||
|
||||
|
@ -59,16 +59,16 @@ y = 2
|
||||
most recent, along with the command that got us there. Try:
|
||||
|
||||
`fork 2 .old`
|
||||
`fork #akq10qch4d .old` to make an old namespace
|
||||
`fork #jm7aftpo4a .old` to make an old namespace
|
||||
accessible again,
|
||||
|
||||
`reset-root #akq10qch4d` to reset the root namespace and
|
||||
`reset-root #jm7aftpo4a` to reset the root namespace and
|
||||
its history to that of the
|
||||
specified namespace.
|
||||
|
||||
1. #c7f5p7bir3 : add
|
||||
2. #akq10qch4d : add
|
||||
3. #givahf3f6f : builtins.merge
|
||||
1. #matsdm7js8 : add
|
||||
2. #jm7aftpo4a : add
|
||||
3. #1ggq0kemne : builtins.merge
|
||||
4. #7asfbtqmoj : (initial reflogged namespace)
|
||||
|
||||
```
|
||||
|
@ -13,7 +13,7 @@ Let's look at some examples. We'll start with a namespace with just the builtins
|
||||
|
||||
|
||||
|
||||
□ #huqm38uob6 (start of history)
|
||||
□ #70ji6gqmer (start of history)
|
||||
|
||||
.> fork builtin builtin2
|
||||
|
||||
@ -42,21 +42,21 @@ Now suppose we `fork` a copy of builtin, then rename `Nat.+` to `frobnicate`, th
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #sd7g31r8v9
|
||||
⊙ #mgfejr51nc
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
Nat.frobnicate Nat.+
|
||||
|
||||
⊙ #d8qganh7nh
|
||||
⊙ #2f8m4slvjf
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
Nat.+ Nat.frobnicate
|
||||
|
||||
□ #huqm38uob6 (start of history)
|
||||
□ #70ji6gqmer (start of history)
|
||||
|
||||
```
|
||||
If we merge that back into `builtin`, we get that same chain of history:
|
||||
@ -71,21 +71,21 @@ If we merge that back into `builtin`, we get that same chain of history:
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #sd7g31r8v9
|
||||
⊙ #mgfejr51nc
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
Nat.frobnicate Nat.+
|
||||
|
||||
⊙ #d8qganh7nh
|
||||
⊙ #2f8m4slvjf
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
Nat.+ Nat.frobnicate
|
||||
|
||||
□ #huqm38uob6 (start of history)
|
||||
□ #70ji6gqmer (start of history)
|
||||
|
||||
```
|
||||
Let's try again, but using a `merge.squash` (or just `squash`) instead. The history will be unchanged:
|
||||
@ -106,7 +106,7 @@ Let's try again, but using a `merge.squash` (or just `squash`) instead. The hist
|
||||
|
||||
|
||||
|
||||
□ #huqm38uob6 (start of history)
|
||||
□ #70ji6gqmer (start of history)
|
||||
|
||||
```
|
||||
The churn that happened in `mybuiltin` namespace ended up back in the same spot, so the squash merge of that namespace with our original namespace had no effect.
|
||||
|
Loading…
Reference in New Issue
Block a user