aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/documentation/lux/ffi.rb.lux
blob: 3eec0ed72381afc7db2d8c17cdcae43b617a4bc0 (plain)
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
40
41
42
(.require
 [library
  [lux (.except int char)
   ["$" documentation]
   [data
    ["[0]" text (.only \n)
     ["%" \\format (.only format)]]]]]
 [\\library
  ["[0]" /]])

(.def .public documentation
  (.List $.Module)
  ($.module /._
            ""
            [($.default (/.Object brand))
             ($.default /.Nil)
             ($.default /.Function)
             ($.default /.Integer)
             ($.default /.Float)
             ($.default /.String)

             ($.documentation /.import
               "Easily import types, methods, functions and constants."
               [(import Stat
                  "[1]::[0]"
                  (executable? [] Bit)
                  (size Int))

                (import File "as" RubyFile
                  "[1]::[0]"
                  ("static" SEPARATOR ..String)
                  ("static" open [Path ..String] "io" "try" RubyFile)
                  ("static" stat [Path] "io" "try" Stat)
                  ("static" delete [Path] "io" "try" Int)
                  ("static" file? [Path] "io" "try" Bit)
                  ("static" directory? [Path] "io" "try" Bit)

                  (read [] "io" "try" Binary)
                  (write [Binary] "io" "try" Int)
                  (flush [] "io" "try" "?" Any)
                  (close [] "io" "try" "?" Any))])]
            []))