]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.runtime/scl/Prelude.scl
New solver for SCL effects inequalities
[simantics/platform.git] / bundles / org.simantics.scl.runtime / scl / Prelude.scl
index 2be6ed745e7a9edf90c5519d99291763c007b33c..4a51875b2be4595c056e725f734aaee8cd26cfab 100644 (file)
@@ -1166,10 +1166,12 @@ class IndexedSequence f where
 
 "Returns the first element of a sequence"
 @inline
+first :: [a] -> a
 first l = l!0
 
 "Returns the last element of a sequence"
 @inline
+last :: [a] -> a
 last l = l!(length l-1)
 
 instance IndexedSequence [] where
@@ -1965,6 +1967,11 @@ importJava "org.simantics.scl.runtime.Lists" where
     """
     index :: [(a,b)] -> a -> Maybe b
     
+    """
+    Given a list of elements, the function produces its characteristic function.
+    """
+    indexSet :: [a] -> a -> Boolean
+    
     """
     Given a list of values and a function computing a key for each value, the function produces a function that finds a value
     effeciently for the given key.
@@ -2053,6 +2060,7 @@ Transposes the rows and columns of its argument. For example,
     transpose [[1,2,3],[4,5,6]] == [[1,4],[2,5],[3,6]]
     transpose [[1,2],[3,4,5]] == [[1,3],[2,4],[5]]
 """
+transpose :: [[a]] -> [[a]]
 transpose xss = [[xs!i | xs <- xss, i < length xs]
                 | i <- [0..maximum [length xs | xs <- xss]-1]]
 
@@ -2288,16 +2296,6 @@ instance Show TypeRep where
         isSpecialType (TApply a _) = isSpecialType a
 */
 
-// ByteArray
-
-importJava "java.util.Arrays" where
-    @private
-    @JavaName toString
-    byteArrayToString :: ByteArray -> String
-
-instance Show ByteArray where
-    show = byteArrayToString
-
 // Type
 
 @private