]> jfr.im git - irc/thales.git/commitdiff
Add list of modules, provided by Guile itself
authorDmitry Bogatov <redacted>
Tue, 22 Oct 2013 10:29:43 +0000 (14:29 +0400)
committerDmitry Bogatov <redacted>
Tue, 22 Oct 2013 10:29:43 +0000 (14:29 +0400)
bin/thales [new file with mode: 0644]
src/thales/core-modules.scm [new file with mode: 0644]

diff --git a/bin/thales b/bin/thales
new file mode 100644 (file)
index 0000000..65cf273
--- /dev/null
@@ -0,0 +1,44 @@
+(use-modules (ice-9 match))
+(use-modules (ice-9 ftw))
+(define *scheme-sources-root* (format #f "~a/src/" (getcwd)))
+(define *scheme-binary-dir* (format #f "~a/bin/" (getcwd)))
+(define-syntax push
+    (syntax-rules ()
+           ((_ val list) (set! list (cons val list)))))
+
+(define-syntax pop
+    (syntax-rules ()
+           ((_ list) (let ((val (car list)))
+                         (begin
+                             (set! list (cdr list))
+                             val)))))
+
+(define (list-modules root)
+    (define current-prefix '())
+    (define modules '())
+    (file-system-fold
+     (and #:enter? (const #t))
+     (and #:leaf (lambda (file . <>)
+                    (match (string-split (basename file) #\.)
+                           ((name "scm")
+                            (push modules (cons (string->symbol name)
+                                                current-prefix)))
+                           (_ #f))))
+     (and #:down (lambda (path . <>)
+                    (unless (equal? path root)
+                            (push current-prefix
+                                  (string->symbol (basename path))))))
+     (and #:up (lambda (path . <>)
+                  (unless (equal? path root)
+                          (pop current-prefix))))
+     (and #:skip (const #t))
+
+     (and #:error list)
+     (and #:init #f)
+     (and #:file-name root))
+    (map reverse modules))
+
+(define (module-interface->list interface)
+
+    #f
+)
diff --git a/src/thales/core-modules.scm b/src/thales/core-modules.scm
new file mode 100644 (file)
index 0000000..8234671
--- /dev/null
@@ -0,0 +1,304 @@
+(define-module (thales core-modules)
+    #:export (guile-provides?))
+
+(define (guile-provides? modname)
+    (and (member modname *guile-core-modules*)
+        'guile))
+
+(define *guile-core-modules* '((value-history) ;; ??
+                              (guile)
+                              (ice-9 peg cache)
+                              (ice-9 peg using-parsers)
+                              (ice-9 peg string-peg)
+                              (ice-9 peg codegen)
+                              (ice-9 peg simplify-tree)
+                              (ice-9 time)
+                              (ice-9 list)
+                              (ice-9 iconv)
+                              (ice-9 slib)
+                              (ice-9 poe)
+                              (ice-9 compile-psyntax)
+                              (ice-9 quasisyntax)
+                              (ice-9 arrays)
+                              (ice-9 pretty-print)
+                              (ice-9 posix)
+                              (ice-9 ls)
+                              (ice-9 history)
+                              (ice-9 hcons)
+                              (ice-9 null)
+                              (ice-9 receive)
+                              (ice-9 r5rs)
+                              (ice-9 top-repl)
+                              (ice-9 occam-channel)
+                              (ice-9 stack-catch)
+                              (ice-9 safe)
+                              (ice-9 syncase)
+                              (ice-9 boot-9)
+                              (ice-9 mapping)
+                              (ice-9 threads)
+                              (ice-9 test)
+                              (ice-9 rw)
+                              (ice-9 i18n)
+                              (ice-9 getopt-long)
+                              (ice-9 optargs)
+                              (ice-9 curried-definitions)
+                              (ice-9 control)
+                              (ice-9 local-eval)
+                              (ice-9 poll)
+                              (ice-9 vlist)
+                              (ice-9 lineio)
+                              (ice-9 scm-style-repl)
+                              (ice-9 rdelim)
+                              (ice-9 weak-vector)
+                              (ice-9 string-fun)
+                              (ice-9 command-line)
+                              (ice-9 binary-ports)
+                              (ice-9 futures)
+                              (ice-9 deprecated)
+                              (ice-9 regex)
+                              (ice-9 match)
+                              (ice-9 psyntax)
+                              (ice-9 format)
+                              (ice-9 match.upstream)
+                              (ice-9 debug)
+                              (ice-9 and-let-star)
+                              (ice-9 documentation)
+                              (ice-9 popen)
+                              (ice-9 psyntax-pp)
+                              (ice-9 peg)
+                              (ice-9 eval)
+                              (ice-9 channel)
+                              (ice-9 session)
+                              (ice-9 calling)
+                              (ice-9 runq)
+                              (ice-9 networking)
+                              (ice-9 r6rs-libraries)
+                              (ice-9 eval-string)
+                              (ice-9 safe-r5rs)
+                              (ice-9 serialize)
+                              (ice-9 streams)
+                              (ice-9 buffered-input)
+                              (ice-9 gap-buffer)
+                              (ice-9 expect)
+                              (ice-9 save-stack)
+                              (ice-9 ftw)
+                              (ice-9 common-list)
+                              (ice-9 q)
+                              (language value spec)
+                              (language glil spec)
+                              (language glil compile-assembly)
+                              (language ecmascript array)
+                              (language ecmascript tokenize)
+                              (language ecmascript compile-tree-il)
+                              (language ecmascript spec)
+                              (language ecmascript function)
+                              (language ecmascript impl)
+                              (language ecmascript parse)
+                              (language ecmascript base)
+                              (language bytecode spec)
+                              (language elisp runtime function-slot)
+                              (language elisp runtime value-slot)
+                              (language elisp falias)
+                              (language elisp compile-tree-il)
+                              (language elisp parser)
+                              (language elisp spec)
+                              (language elisp bindings)
+                              (language elisp lexer)
+                              (language elisp runtime)
+                              (language cps compile-rtl)
+                              (language cps contification)
+                              (language cps spec)
+                              (language cps reify-primitives)
+                              (language cps primitives)
+                              (language cps closure-conversion)
+                              (language cps dfg)
+                              (language cps slot-allocation)
+                              (language cps arities)
+                              (language cps verify)
+                              (language scheme compile-tree-il)
+                              (language scheme spec)
+                              (language scheme decompile-tree-il)
+                              (language tree-il inline)
+                              (language tree-il peval)
+                              (language tree-il fix-letrec)
+                              (language tree-il canonicalize)
+                              (language tree-il compile-cps)
+                              (language tree-il cse)
+                              (language tree-il spec)
+                              (language tree-il primitives)
+                              (language tree-il analyze)
+                              (language tree-il debug)
+                              (language tree-il optimize)
+                              (language tree-il effects)
+                              (language tree-il compile-glil)
+                              (language objcode elf)
+                              (language objcode spec)
+                              (language rtl spec)
+                              (language assembly spec)
+                              (language assembly compile-bytecode)
+                              (language assembly decompile-bytecode)
+                              (language assembly disassemble)
+                              (language brainfuck compile-tree-il)
+                              (language brainfuck spec)
+                              (language brainfuck compile-scheme)
+                              (language brainfuck parse)
+                              (language objcode)
+                              (language rtl)
+                              (language glil)
+                              (language assembly)
+                              (language tree-il)
+                              (language cps)
+                              (oop goops active-slot)
+                              (oop goops compile)
+                              (oop goops simple)
+                              (oop goops stklos)
+                              (oop goops describe)
+                              (oop goops accessors)
+                              (oop goops save)
+                              (oop goops composite-slot)
+                              (oop goops dispatch)
+                              (oop goops util)
+                              (oop goops internal)
+                              (oop goops)
+                              (texinfo plain-text)
+                              (texinfo docbook)
+                              (texinfo indexing)
+                              (texinfo string-utils)
+                              (texinfo html)
+                              (texinfo reflection)
+                              (texinfo serialize)
+                              (web server http)
+                              (web client)
+                              (web server)
+                              (web uri)
+                              (web http)
+                              (web request)
+                              (web response)
+                              (scripts help)
+                              (scripts snarf-check-and-output-texi)
+                              (scripts list)
+                              (scripts lint)
+                              (scripts read-text-outline)
+                              (scripts compile)
+                              (scripts read-scheme-source)
+                              (scripts display-commentary)
+                              (scripts generate-autoload)
+                              (scripts use2dot)
+                              (scripts frisk)
+                              (scripts doc-snarf)
+                              (scripts read-rfc822)
+                              (scripts summarize-guile-TODO)
+                              (scripts api-diff)
+                              (scripts punify)
+                              (scripts snarf-guile-m4-docs)
+                              (scripts autofrisk)
+                              (scripts scan-api)
+                              (scripts disassemble)
+                              (system base compile)
+                              (system base ck)
+                              (system base syntax)
+                              (system base message)
+                              (system base language)
+                              (system base lalr.upstream)
+                              (system base target)
+                              (system base pmatch)
+                              (system base lalr)
+                              (system vm disassembler)
+                              (system vm vm)
+                              (system vm program)
+                              (system vm coverage)
+                              (system vm trap-state)
+                              (system vm objcode)
+                              (system vm frame)
+                              (system vm elf)
+                              (system vm linker)
+                              (system vm traps)
+                              (system vm inspect)
+                              (system vm assembler)
+                              (system vm debug)
+                              (system vm instruction)
+                              (system vm trace)
+                              (system repl server)
+                              (system repl common)
+                              (system repl repl)
+                              (system repl describe)
+                              (system repl command)
+                              (system repl debug)
+                              (system repl error-handling)
+                              (system xref)
+                              (system foreign)
+                              (sxml ssax input-parse)
+                              (sxml upstream assert)
+                              (sxml upstream SXPath-old)
+                              (sxml upstream input-parse)
+                              (sxml upstream SXML-tree-trans)
+                              (sxml upstream SSAX)
+                              (sxml simple)
+                              (sxml xpath)
+                              (sxml fold)
+                              (sxml match)
+                              (sxml ssax)
+                              (sxml transform)
+                              (sxml apply-templates)
+                              (srfi srfi-67 compare)
+                              (srfi srfi-42 ec)
+                              (srfi srfi-9 gnu)
+                              (srfi srfi-4 gnu)
+                              (srfi srfi-16)
+                              (srfi srfi-27)
+                              (srfi srfi-4)
+                              (srfi srfi-45)
+                              (srfi srfi-38)
+                              (srfi srfi-42)
+                              (srfi srfi-26)
+                              (srfi srfi-34)
+                              (srfi srfi-69)
+                              (srfi srfi-19)
+                              (srfi srfi-18)
+                              (srfi srfi-88)
+                              (srfi srfi-13)
+                              (srfi srfi-31)
+                              (srfi srfi-60)
+                              (srfi srfi-11)
+                              (srfi srfi-2)
+                              (srfi srfi-37)
+                              (srfi srfi-39)
+                              (srfi srfi-98)
+                              (srfi srfi-9)
+                              (srfi srfi-6)
+                              (srfi srfi-67)
+                              (srfi srfi-1)
+                              (srfi srfi-14)
+                              (srfi srfi-41)
+                              (srfi srfi-17)
+                              (srfi srfi-10)
+                              (srfi srfi-35)
+                              (srfi srfi-8)
+                              (rnrs records syntactic)
+                              (rnrs records inspection)
+                              (rnrs records procedural)
+                              (rnrs arithmetic flonums)
+                              (rnrs arithmetic bitwise)
+                              (rnrs arithmetic fixnums)
+                              (rnrs io ports)
+                              (rnrs io simple)
+                              (rnrs syntax-case)
+                              (rnrs bytevectors)
+                              (rnrs r5rs)
+                              (rnrs control)
+                              (rnrs conditions)
+                              (rnrs sorting)
+                              (rnrs hashtables)
+                              (rnrs mutable-pairs)
+                              (rnrs exceptions)
+                              (rnrs programs)
+                              (rnrs files)
+                              (rnrs unicode)
+                              (rnrs lists)
+                              (rnrs eval)
+                              (rnrs base)
+                              (rnrs mutable-strings)
+                              (rnrs enums)
+                              (statprof)
+                              (texinfo)
+                              (rnrs)))