swish 0.0.0-akku.259.842f51f

Swish Concurrency Engine (like Erlang/Node)

The Swish Concurrency Engine is a framework used to write fault-tolerant programs with message-passing concurrency. It uses the Chez Scheme programming language and embeds concepts from the Erlang programming language. Swish also provides a web server.

This package provides swish, swish-build and swish-test. Try running swish with and enter this expression to start up a web server that serves files from the ./web directory:

  (parameterize ((http-port-number 8080)) (http-sup:start&link))

More information, including a manual, is available on the homepage.

This package requires Akku 0.4.0+ and Chez Scheme 9.5.2+. It is quite experimental and unlike any other Akku package. Any problems or requests for the packaging go to Akku's bug tracker! If installation doesn't work then try to debug it with "env AKKU_LOG_LEVEL=debug akku install".

$ akku update
$ akku install swish
$ .akku/env
Authors

Bob Burger

Chris Payne

Oscar Waddell

Uploaded to Akku by Göran Weinholt

License

MIT

Dependencies

No dependencies.

Source code

https://github.com/becls/swish.git git
842f51fd36f12c61c2fd41da27d58e0dfd73eb75

Package contents

  • (swish app-io) R6 Chez Scheme
    • → base-dir data-dir log-file tmp-dir web-dir
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish io)
    • ← (swish software-info)
  • (swish app) R6 Chez Scheme
    • → app-exception-handler app-sup-spec app:name app:resume app:shutdown app:start app:suspend init-main-sup make-swish-sup-spec
    • ← (chezscheme) Built-in
    • ← (swish application)
    • ← (swish cli)
    • ← (swish erlang)
    • ← (swish errors)
    • ← (swish event-mgr)
    • ← (swish gatekeeper)
    • ← (swish http)
    • ← (swish io)
    • ← (swish log-db)
    • ← (swish osi)
    • ← (swish pregexp)
    • ← (swish software-info)
    • ← (swish statistics)
    • ← (swish supervisor)
  • (swish application) R6 Chez Scheme
    • → application:shutdown application:start
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish gen-server)
    • ← (swish osi)
  • (swish cli) R6 Chez Scheme
    • → <arg-spec> cli-specs display-help display-options display-usage format-spec help-wrap-width parse-command-line-arguments
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish errors)
    • ← (swish meta)
    • ← (swish pregexp)
    • ← (swish string-utils)
  • (swish db) R6 Chez Scheme
    • → SQLITE_OPEN_CREATE SQLITE_OPEN_READONLY SQLITE_OPEN_READWRITE SQLITE_STATUS_MEMORY_USED columns database-count database-create-time database-filename database? db:filename db:log db:start&link db:stop db:transaction execute execute-sql lazy-execute parse-sql print-databases print-statements sqlite:bind sqlite:clear-bindings sqlite:close sqlite:columns sqlite:execute sqlite:expanded-sql sqlite:finalize sqlite:interrupt sqlite:last-insert-rowid sqlite:open sqlite:prepare sqlite:sql sqlite:step statement-count statement-create-time statement-database statement-sql statement? transaction with-db
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish event-mgr)
    • ← (swish events)
    • ← (swish gen-server)
    • ← (swish osi)
    • ← (swish queue)
    • ← (swish string-utils)
  • (swish erlang) R6 Chez Scheme
    • → add-finalizer bad-arg catch complete-io console-event-handler dbg define-tuple demonitor demonitor&flush dump-stack erlang:now get-registered kill link make-process-parameter match match-let* monitor monitor? on-exit pps process-id process-trap-exit process? profile-me receive register reset-console-event-handler self send spawn spawn&link unlink unregister wait-for-io whereis
    • ← (chezscheme) Built-in
    • ← (swish meta)
    • ← (swish osi)
  • (swish errors) R6 Chez Scheme
    • → current-exit-reason->english exit-reason->english swish-exit-reason->english
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish io)
    • ← (swish osi)
    • ← (swish string-utils)
  • (swish event-mgr-notify) R6 Chez Scheme
    • → event-mgr:notify system-detail
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish meta)
  • (swish event-mgr) R6 Chez Scheme
    • → event-mgr:add-handler event-mgr:flush-buffer event-mgr:notify event-mgr:set-log-handler event-mgr:start&link event-mgr:unregister system-detail
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish event-mgr-notify)
    • ← (swish gen-server)
  • (swish events) R6 Chez Scheme
    • → <child-end> <child-start> <gen-server-debug> <gen-server-terminating> <http-request> <statistics> <supervisor-error> <system-attributes> <transaction-retry>
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish meta)
  • (swish gatekeeper) R6 Chez Scheme
    • → gatekeeper:enter gatekeeper:leave gatekeeper:start&link with-gatekeeper-mutex
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish gen-server)
  • (swish gen-server) R6 Chez Scheme
    • → define-state-tuple gen-server:call gen-server:cast gen-server:debug gen-server:reply gen-server:start gen-server:start&link
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish event-mgr-notify)
    • ← (swish events)
  • (swish ht) R6 Chez Scheme
    • → ht:delete ht:fold ht:is? ht:keys ht:make ht:ref ht:set ht:size
    • ← (chezscheme) Built-in
    • ← (swish erlang)
  • (swish html) R6 Chez Scheme
    • → html->bytevector html->string html:encode
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish io)
  • (swish http) R6 Chez Scheme
    • → <request> http-port-number http-sup:start&link http:find-header http:find-param http:get-header http:get-param http:get-port-number http:handle-input http:percent-encode http:read-header http:read-status http:respond http:respond-file http:write-header http:write-status
    • ← (chezscheme) Built-in
    • ← (swish app-io)
    • ← (swish erlang)
    • ← (swish event-mgr)
    • ← (swish events)
    • ← (swish gen-server)
    • ← (swish ht)
    • ← (swish html)
    • ← (swish io)
    • ← (swish osi)
    • ← (swish pregexp)
    • ← (swish string-utils)
    • ← (swish supervisor)
    • ← (swish watcher)
  • (swish imports) R6 Chez Scheme
    • ← (chezscheme) Built-in
  • (swish io) R6 Chez Scheme
    • → <stat> binary->utf8 close-osi-port close-path-watcher close-tcp-listener connect-tcp directory? force-close-output-port get-datum/annotations-all get-file-size get-real-path get-source-offset get-stat hook-console-input io-error list-directory listen-tcp listener-address listener-create-time listener-port-number listener? make-directory make-directory-path make-osi-input-port make-osi-output-port make-utf8-transcoder open-fd-port open-file open-file-port open-file-to-append open-file-to-read open-file-to-replace open-file-to-write open-utf8-bytevector osi-port-closed? osi-port-count osi-port-create-time osi-port-name osi-port? path-combine path-watcher-count path-watcher-create-time path-watcher-path path-watcher? print-osi-ports print-path-watchers print-tcp-listeners read-bytevector read-file read-osi-port regular-file? remove-directory remove-file rename-path set-file-mode spawn-os-process stat-directory? stat-regular-file? tcp-listener-count watch-path with-sfd-source-offset write-osi-port
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish osi)
  • (swish json) R6 Chez Scheme
    • → json:extend-object json:make-object json:object->bytevector json:object->string json:read json:string->object json:write json:write-object json:write-structural-char
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish io)
  • (swish log-db) R6 Chez Scheme
    • → <event-logger> coerce create-table define-simple-events log-db:get-instance-id log-db:setup log-db:start&link log-db:version swish-event-logger
    • ← (chezscheme) Built-in
    • ← (swish app-io)
    • ← (swish db)
    • ← (swish erlang)
    • ← (swish event-mgr)
    • ← (swish events)
    • ← (swish io)
    • ← (swish osi)
    • ← (swish software-info)
    • ← (swish string-utils)
  • (swish mat) R6 Chez Scheme
    • → $run-mats add-mat for-each-mat load-results mat mat-result mat-result-message mat-result-sstats mat-result-tags mat-result-test mat-result-test-file mat-result-type mat-result? run-mat run-mats run-mats-to-file summarize
    • ← (chezscheme) Built-in
  • (swish meta) R6 Chez Scheme
    • → add-if-absent bad-syntax collect-clauses compound-id find-clause find-source get-clause profile-me replace-source scar scdr snull? syntax-datum-eq?
    • ← (chezscheme) Built-in
  • (swish osi) R6 Chez Scheme
    • → osi_bind_statement osi_bind_statement* osi_chmod osi_chmod* osi_clear_statement_bindings osi_clear_statement_bindings* osi_close_database osi_close_database* osi_close_path_watcher osi_close_port osi_close_port* osi_close_tcp_listener osi_connect_tcp osi_connect_tcp* osi_exit osi_finalize_statement osi_finalize_statement* osi_get_argv osi_get_bytes_used osi_get_callbacks osi_get_error_text osi_get_executable_path osi_get_file_size osi_get_file_size* osi_get_hostname osi_get_hostname* osi_get_hrtime osi_get_ip_address osi_get_ip_address* osi_get_last_insert_rowid osi_get_last_insert_rowid* osi_get_real_path osi_get_real_path* osi_get_sqlite_status osi_get_sqlite_status* osi_get_stat osi_get_stat* osi_get_statement_columns osi_get_statement_columns* osi_get_statement_expanded_sql osi_get_statement_expanded_sql* osi_get_tcp_listener_port osi_get_tcp_listener_port* osi_get_temp_directory osi_get_temp_directory* osi_get_time osi_interrupt_database osi_is_quantum_over osi_kill osi_kill* osi_list_directory osi_list_directory* osi_list_uv_handles osi_listen_tcp osi_listen_tcp* osi_make_directory osi_make_directory* osi_make_uuid osi_make_uuid* osi_open_database osi_open_database* osi_open_fd osi_open_fd* osi_open_file osi_open_file* osi_prepare_statement osi_prepare_statement* osi_read_port osi_read_port* osi_remove_directory osi_remove_directory* osi_rename osi_rename* osi_reset_statement osi_reset_statement* osi_set_quantum osi_spawn osi_spawn* osi_step_statement osi_step_statement* osi_unlink osi_unlink* osi_watch_path osi_watch_path* osi_write_port osi_write_port* string->uuid uuid->string
    • ← (chezscheme) Built-in
  • (swish pregexp) R6 Chez Scheme
    • → pregexp pregexp-match pregexp-match-positions pregexp-quote pregexp-replace pregexp-replace* pregexp-split
    • ← (chezscheme) Built-in
    • ← (swish erlang)
  • (swish profile) R6 Chez Scheme
    • → profile:dump-html profile:exclude profile:filename profile:merge profile:prepare profile:save profile:start profile:start&link profile:stop
    • ← (chezscheme) Built-in
    • ← (swish app-io)
    • ← (swish erlang)
    • ← (swish gen-server)
    • ← (swish io)
    • ← (swish meta)
    • ← (swish pregexp)
  • (swish queue) R6 Chez Scheme
    • → queue:add queue:add-front queue:drop queue:empty queue:empty? queue:get
    • ← (chezscheme) Built-in
    • ← (swish erlang)
  • (swish script-testing) R6 Chez Scheme
    • → <os-process-failed> fix-exe output-dir prereq-path script-test swish-exe test-os-process write-test-file
    • ← (scheme) Built-in
    • ← (swish imports)
    • ← (swish profile)
    • ← (swish testing)
  • (swish software-info) R6 Chez Scheme
    • → include-line software-company software-company-dir software-copyright-year software-internal-name software-product-name software-revision software-version swish-version
    • ← (chezscheme) Built-in
  • (swish statistics) R6 Chez Scheme
    • → statistics:resume statistics:start&link statistics:suspend
    • ← (chezscheme) Built-in
    • ← (swish db)
    • ← (swish erlang)
    • ← (swish event-mgr)
    • ← (swish events)
    • ← (swish gen-server)
    • ← (swish io)
    • ← (swish osi)
  • (swish string-utils) R6 Chez Scheme
    • → ends-with-ci? ends-with? format-rfc2822 join split split-n starts-with-ci? starts-with? symbol-append trim-whitespace wrap-text
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish pregexp)
  • (swish supervisor) R6 Chez Scheme
    • → <child> supervisor:delete-child supervisor:get-children supervisor:restart-child supervisor:start&link supervisor:start-child supervisor:terminate-child supervisor:validate-start-specs
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish event-mgr)
    • ← (swish events)
    • ← (swish gen-server)
  • (swish testing) R6 Chez Scheme
    • → $run-test-spec <os-result> <test-spec> assert-syntax-error capture-events delete-tree gc handle-gone? isolate-mat match-prefix match-regexps process-alive? run-os-process run-test-spec scheme-exe sleep-ms start-event-mgr start-silent-event-mgr system-mat
    • ← (chezscheme) Built-in
    • ← (swish app)
    • ← (swish app-io)
    • ← (swish erlang)
    • ← (swish event-mgr)
    • ← (swish gatekeeper)
    • ← (swish gen-server)
    • ← (swish io)
    • ← (swish log-db)
    • ← (swish mat)
    • ← (swish osi)
    • ← (swish pregexp)
    • ← (swish profile)
    • ← (swish string-utils)
    • ← (swish supervisor)
    • ← (swish watcher)
  • (swish watcher) R6 Chez Scheme
    • → watcher:shutdown-children watcher:start&link watcher:start-child
    • ← (chezscheme) Built-in
    • ← (swish erlang)
    • ← (swish supervisor)

Version history

  • 2019-04-23 ~ 0.0.0-akku.259.842f51f