File: modules.fut

package info (click to toggle)
haskell-futhark 0.25.32-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 18,236 kB
  • sloc: haskell: 100,484; ansic: 12,100; python: 3,440; yacc: 785; sh: 561; javascript: 558; lisp: 399; makefile: 277
file content (39 lines) | stat: -rw-r--r-- 658 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
module type mt1 = {
  type a type b
  type c
}

module type mt2 = mt1 with a = i32

module type mt3 = mt1 with a = i32
                      with b = bool
                      with c = f32

module m : mt1 with a = i32
               with b = bool
               with c = f32 = {
  type a = i32
  type b = bool
  type c = f32
  def x = 123
  def y = 321
}

module type mt4 = {
  val f [n] : [n]i32 -> [n]i32

  val g [n] :
  [n]i32 -> [n]i32

  val g [n] :
    [n]i32
 -> [n]i32


  val block [m1] [m2] [n1] [n2] :
    (A: [m1][n1]i32) -> (B: [m1][n2]i32) -> (C: [m2][n1]i32) -> (D: [m2][n2]i32)
    -> [m1 + m2][n1 + n2]i32
}

module pm1 (P: {}) : {} = {
}