From cece76226a0ab6740d37a8c94cafe6e9d7eed620 Mon Sep 17 00:00:00 2001 From: shubhendu Date: Tue, 7 Jul 2015 15:18:04 +0530 Subject: [PATCH] first commit --- .gitignore | 7 + bertie | 1 + erlang_hello_cowboy/.erlang.mk/deps.log | 3 + erlang_hello_cowboy/Makefile | 3 + erlang_hello_cowboy/erlang.mk | 5990 +++++++++++++++++ erlang_hello_cowboy/rel/sys.config | 2 + erlang_hello_cowboy/rel/vm.args | 3 + erlang_hello_cowboy/relx | Bin 0 -> 164214 bytes erlang_hello_cowboy/relx.config | 4 + .../src/erlang_hello_cowboy.app.src | 14 + .../src/erlang_hello_cowboy_app.erl | 13 + .../src/erlang_hello_cowboy_sup.erl | 12 + erlang_hello_cowboy/src/hello_handler.erl | 20 + programming-erlang-code/.erlang | 0 programming-erlang-code/354984si.ngl.gz | Bin 0 -> 1050416 bytes programming-erlang-code/Makefile | 64 + programming-erlang-code/Makefile.template | 52 + programming-erlang-code/a.erl | 24 + programming-erlang-code/abc.erl | 15 + programming-erlang-code/adapter_db.erl | 49 + programming-erlang-code/adapter_db1.erl | 30 + programming-erlang-code/adapter_db1_test.erl | 27 + programming-erlang-code/afile_client.erl | 25 + programming-erlang-code/afile_server.erl | 27 + programming-erlang-code/allocator.erl | 74 + .../application_template.full | 59 + programming-erlang-code/area_server.erl | 45 + programming-erlang-code/area_server0.erl | 23 + programming-erlang-code/area_server1.erl | 32 + programming-erlang-code/area_server2.erl | 34 + programming-erlang-code/area_server_final.erl | 33 + programming-erlang-code/attrs.erl | 16 + programming-erlang-code/b.erl | 12 + programming-erlang-code/bad.erl | 50 + programming-erlang-code/benchmark_assoc.erl | 167 + .../benchmark_mk_assoc.erl | 127 + programming-erlang-code/bertie/Makefile | 6 + programming-erlang-code/bertie/bertie.erl | 26 + programming-erlang-code/bertie/rebar.config | 3 + programming-erlang-code/boot.sh | 48 + programming-erlang-code/broadcast.erl | 67 + programming-erlang-code/chat_cluster.erl | 47 + .../chat_file_transfer.erl | 84 + programming-erlang-code/chat_multi.erl | 84 + programming-erlang-code/chat_secure.erl | 84 + programming-erlang-code/chat_socket.erl | 84 + programming-erlang-code/checker.erl | 100 + programming-erlang-code/clock.erl | 22 + programming-erlang-code/convert1.erl | 16 + programming-erlang-code/convert2.erl | 14 + programming-erlang-code/convert3.erl | 15 + programming-erlang-code/convert4.erl | 17 + programming-erlang-code/convert5.erl | 45 + programming-erlang-code/cookbook_examples.erl | 93 + programming-erlang-code/counter.erl | 13 + programming-erlang-code/counter1.erl | 32 + programming-erlang-code/counter2.erl | 31 + programming-erlang-code/counter3.erl | 38 + programming-erlang-code/counter4.erl | 23 + programming-erlang-code/cowboy/Makefile | 13 + .../cowboy/cgi_web_server.erl | 70 + programming-erlang-code/cowboy/echo.erl | 14 + programming-erlang-code/cowboy/mochijson2.erl | 897 +++ .../cowboy/simple_web_server.erl | 47 + programming-erlang-code/cowboy/test1.html | 9 + programming-erlang-code/cowboy/test2.html | 34 + programming-erlang-code/ctemplate.erl | 30 + programming-erlang-code/data1.dat | 6 + programming-erlang-code/dialyzer/bad.erl | 16 + programming-erlang-code/dialyzer/test1.erl | 17 + programming-erlang-code/dialyzer/test2.erl | 14 + programming-erlang-code/dialyzer/test3.erl | 17 + programming-erlang-code/dialyzer/types1.erl | 25 + .../dialyzer/types1_bug.erl | 19 + programming-erlang-code/dist_demo.erl | 28 + programming-erlang-code/edemo1.erl | 114 + programming-erlang-code/edemo2.erl | 109 + programming-erlang-code/elog1.config | 6 + programming-erlang-code/elog2.config | 9 + programming-erlang-code/elog3.config | 14 + programming-erlang-code/elog4.config | 17 + programming-erlang-code/elog5.config | 4 + programming-erlang-code/emacs.setup | 27 + programming-erlang-code/error1.erl | 22 + .../escript-4.1/Installing | 29 + programming-erlang-code/escript-4.1/Makefile | 32 + programming-erlang-code/escript-4.1/escript | 6 + .../escript-4.1/escript.erl | 195 + .../escript-4.1/escript.html | 148 + programming-erlang-code/escript-4.1/factorial | 11 + programming-erlang-code/escript-4.1/fibc | 30 + programming-erlang-code/escript-4.1/fibi | 26 + programming-erlang-code/escript-4.1/hello | 4 + programming-erlang-code/escript-4.1/history | 139 + .../escript-4.1/mk_escript.sh | 18 + programming-erlang-code/ets_test.erl | 24 + programming-erlang-code/event_handler.erl | 29 + programming-erlang-code/exprs.dat | 5 + programming-erlang-code/extract.erl | 27 + programming-erlang-code/fac.erl | 14 + programming-erlang-code/fac1.erl | 20 + programming-erlang-code/factorial | 9 + programming-erlang-code/gathered.html | 25 + .../gen_server_template.full | 127 + .../gen_server_template.mini | 16 + programming-erlang-code/geometry.erl | 13 + programming-erlang-code/geometry1.erl | 18 + programming-erlang-code/hello | 4 + programming-erlang-code/hello.bat | 9 + programming-erlang-code/hello.erl | 13 + programming-erlang-code/hello.sh | 12 + programming-erlang-code/id3_tag_lengths.erl | 104 + programming-erlang-code/id3_v1.erl | 62 + programming-erlang-code/indexer-1.1/.erlang | 6 + programming-erlang-code/indexer-1.1/Makefile | 24 + programming-erlang-code/indexer-1.1/Readme | 6 + .../indexer-1.1/indexer.erl | 87 + .../indexer-1.1/indexer_checkpoint.erl | 74 + .../indexer-1.1/indexer_dir_crawler.erl | 52 + .../indexer-1.1/indexer_filenames_dets.erl | 50 + .../indexer-1.1/indexer_misc.erl | 155 + .../indexer-1.1/indexer_porter.erl | 372 + .../indexer-1.1/indexer_server.erl | 135 + .../indexer-1.1/indexer_trigrams.erl | 128 + .../indexer-1.1/indexer_words.erl | 255 + programming-erlang-code/lib_auth_cs.erl | 89 + .../lib_filenames_dets.erl | 50 + programming-erlang-code/lib_files_find.erl | 60 + programming-erlang-code/lib_find.erl | 61 + programming-erlang-code/lib_io_widget.erl | 111 + programming-erlang-code/lib_lin.erl | 96 + programming-erlang-code/lib_md5.erl | 79 + programming-erlang-code/lib_misc.erl | 737 ++ programming-erlang-code/lib_primes.erl | 83 + programming-erlang-code/lib_rsa.erl | 65 + programming-erlang-code/lib_tcp_server.erl | 268 + programming-erlang-code/lib_trigrams.erl | 135 + .../lib_trigrams_complete.erl | 141 + programming-erlang-code/lists1.erl | 41 + programming-erlang-code/m1.erl | 22 + programming-erlang-code/math1.erl | 13 + programming-erlang-code/math2.erl | 16 + programming-erlang-code/math3.erl | 19 + programming-erlang-code/misc.erl | 25 + programming-erlang-code/monitor1.erl | 27 + programming-erlang-code/monitor2.erl | 32 + programming-erlang-code/monitor3.erl | 29 + programming-erlang-code/motor_controller.erl | 17 + programming-erlang-code/mp3_manager.erl | 144 + programming-erlang-code/mp3_sync.erl | 115 + programming-erlang-code/multi_server.erl | 27 + programming-erlang-code/my_alarm_handler.erl | 35 + programming-erlang-code/my_bank.erl | 65 + programming-erlang-code/my_fac_server.erl | 22 + programming-erlang-code/mylists.erl | 42 + programming-erlang-code/name_server.erl | 21 + programming-erlang-code/name_server1.erl | 21 + programming-erlang-code/new_name_server.erl | 24 + programming-erlang-code/nifs/Makefile | 43 + programming-erlang-code/nifs/Makefile.linux | 25 + programming-erlang-code/nifs/darray.c | 101 + programming-erlang-code/nifs/darray.erl | 32 + programming-erlang-code/nifs/darray_test.erl | 32 + programming-erlang-code/nifs/nif_test1.c | 22 + programming-erlang-code/nifs/nif_test1.erl | 20 + programming-erlang-code/nifs/nif_test2.c | 31 + programming-erlang-code/nifs/nif_test2.erl | 20 + programming-erlang-code/nifs/nif_test3.c | 97 + programming-erlang-code/nifs/nif_test3.erl | 32 + programming-erlang-code/nifs/notes | 148 + programming-erlang-code/nifs/test1.erl | 12 + programming-erlang-code/nifs/test1_nif.c | 29 + programming-erlang-code/nifs/test1_nif.erl | 18 + programming-erlang-code/phofs.erl | 66 + programming-erlang-code/ports/Makefile | 20 + programming-erlang-code/ports/Makefile.mac | 18 + programming-erlang-code/ports/erl_comm.c | 54 + programming-erlang-code/ports/example1.c | 16 + programming-erlang-code/ports/example1.erl | 54 + .../ports/example1_driver.c | 42 + programming-erlang-code/ports/example1_lid.c | 75 + .../ports/example1_lid.erl | 67 + programming-erlang-code/ports/link | 3 + programming-erlang-code/ports/log | 23 + programming-erlang-code/ports/port_driver.c | 59 + programming-erlang-code/ports/unit_test.erl | 21 + programming-erlang-code/prime_server.erl | 59 + programming-erlang-code/processes.erl | 43 + programming-erlang-code/ptests.erl | 69 + programming-erlang-code/readme.trigrams | 27 + programming-erlang-code/records.hrl | 1 + programming-erlang-code/registrar.erl | 43 + programming-erlang-code/runtests | 13 + programming-erlang-code/scavenge_urls.erl | 38 + programming-erlang-code/see/error_handler.erl | 34 + programming-erlang-code/see/lists.erl | 2466 +++++++ programming-erlang-code/see/my_code.erl | 13 + programming-erlang-code/see/otp_test1.erl | 13 + programming-erlang-code/see/see.erl | 311 + programming-erlang-code/see/see_err1.erl | 14 + programming-erlang-code/see/see_err2.erl | 14 + programming-erlang-code/see/see_test1.erl | 13 + programming-erlang-code/see/see_test2.erl | 15 + programming-erlang-code/see/see_test3.erl | 22 + programming-erlang-code/see/see_test4.erl | 15 + programming-erlang-code/see/sos_work.sh | 11 + programming-erlang-code/sellaprime.app | 12 + programming-erlang-code/sellaprime_app.erl | 17 + .../sellaprime_supervisor.erl | 73 + programming-erlang-code/server1.erl | 26 + programming-erlang-code/server2.erl | 42 + programming-erlang-code/server3.erl | 29 + programming-erlang-code/server4.erl | 43 + programming-erlang-code/server5.erl | 20 + programming-erlang-code/sherlock/LOG | 88 + programming-erlang-code/sherlock/Makefile | 13 + .../sherlock/src/mochiweb_html.erl | 1340 ++++ .../sherlock/src/sherlock.app.src | 12 + .../sherlock/src/sherlock.erl | 62 + .../sherlock/src/sherlock.hrl | 7 + .../sherlock/src/sherlock_app.erl | 27 + .../sherlock/src/sherlock_best.erl | 30 + .../sherlock/src/sherlock_get_mails.erl | 102 + .../sherlock/src/sherlock_lib.erl | 75 + .../sherlock/src/sherlock_mails.erl | 327 + .../sherlock/src/sherlock_parse_mails.erl | 154 + .../sherlock/src/sherlock_similar.erl | 45 + .../sherlock/src/sherlock_tfidf.erl | 171 + .../sherlock/src/text_analyzers.erl | 142 + programming-erlang-code/shop.erl | 17 + programming-erlang-code/shop1.erl | 13 + programming-erlang-code/shop2.erl | 15 + programming-erlang-code/shop3.erl | 22 + programming-erlang-code/shout.erl | 192 + programming-erlang-code/simple.app | 13 + programming-erlang-code/socket_dist/Makefile | 56 + .../socket_dist/any_apply.erl | 14 + programming-erlang-code/socket_dist/chat.conf | 3 + .../socket_dist/chat_client.erl | 110 + .../socket_dist/chat_group.erl | 45 + .../socket_dist/chat_server.erl | 57 + programming-erlang-code/socket_dist/conf | 7 + programming-erlang-code/socket_dist/config1 | 2 + .../socket_dist/io_widget.erl | 135 + programming-erlang-code/socket_dist/kvs.erl | 34 + .../socket_dist/lib_chan.erl | 205 + .../socket_dist/lib_chan_auth.erl | 33 + .../socket_dist/lib_chan_cs.erl | 153 + .../socket_dist/lib_chan_mm.erl | 70 + .../socket_dist/lib_chan_test.erl | 100 + .../socket_dist/lib_md5.erl | 79 + .../socket_dist/mod_chat_controller.erl | 30 + .../socket_dist/mod_echo.erl | 29 + .../socket_dist/mod_math.erl | 34 + .../socket_dist/mod_name_server.erl | 25 + .../socket_dist/mod_srpc.erl | 62 + programming-erlang-code/socket_dist/readme | 41 + programming-erlang-code/socket_dist/test1.erl | 14 + .../socket_dist/test_name_server.erl | 29 + programming-erlang-code/socket_examples.erl | 83 + programming-erlang-code/status.erl | 25 + programming-erlang-code/stdmacros.hrl | 4 + programming-erlang-code/stimer.erl | 20 + .../supervisor_template.full | 70 + programming-erlang-code/terms1.dat | 5 + programming-erlang-code/terms1.dat.tmp | 5 + programming-erlang-code/test1.erl | 25 + programming-erlang-code/test_mapreduce.erl | 27 + programming-erlang-code/test_mnesia.erl | 168 + programming-erlang-code/tracer_test.erl | 73 + programming-erlang-code/try_test.erl | 44 + programming-erlang-code/type_examples.erl | 42 + programming-erlang-code/types1.erl | 55 + programming-erlang-code/types2.erl | 60 + programming-erlang-code/types3.erl | 52 + programming-erlang-code/udp_test.erl | 53 + programming-erlang-code/upcase.erl | 27 + .../update_binary_file.erl | 23 + programming-erlang-code/update_file.erl | 23 + programming-erlang-code/user_default.erl | 19 + programming-erlang-code/validate.dat | 10 + programming-erlang-code/vfs.erl | 177 + programming-erlang-code/vshlr1.erl | 31 + programming-erlang-code/vshlr2.erl | 31 + programming-erlang-code/walks.erl | 31 + programming-erlang-code/websockets/Makefile | 15 + programming-erlang-code/websockets/Readme | 39 + programming-erlang-code/websockets/chat1.css | 36 + programming-erlang-code/websockets/chat1.erl | 33 + programming-erlang-code/websockets/chat1.html | 40 + programming-erlang-code/websockets/chat2.erl | 50 + programming-erlang-code/websockets/chat2.html | 56 + programming-erlang-code/websockets/clock1.css | 22 + programming-erlang-code/websockets/clock1.erl | 35 + .../websockets/clock1.html | 21 + .../websockets/favicon.ico | Bin 0 -> 198 bytes programming-erlang-code/websockets/index.html | 23 + .../websockets/interact1.css | 22 + .../websockets/interact1.erl | 22 + .../websockets/interact1.html | 22 + programming-erlang-code/websockets/irc.erl | 59 + .../websockets/jquery-1.7.1.min.js | 12 + .../websockets/mochijson2.erl | 897 +++ .../websockets/rebar.config | 4 + programming-erlang-code/websockets/shell1.css | 24 + programming-erlang-code/websockets/shell1.erl | 44 + .../websockets/shell1.html | 27 + programming-erlang-code/websockets/svg1.css | 8 + programming-erlang-code/websockets/svg1.erl | 25 + programming-erlang-code/websockets/svg1.html | 41 + programming-erlang-code/websockets/web.erl | 41 + programming-erlang-code/websockets/websock.js | 113 + .../websockets/websockets.erl | 245 + programming-erlang-code/wordcount.erl | 74 + test-code/afile_client.erl | 17 + test-code/afile_server.erl | 14 + test-code/cards.erl | 16 + test-code/counter.erl | 18 + test-code/hello.erl | 5 + test-code/hofuns.erl | 6 + test-code/lib_misc.erl | 14 + test-code/mnesia_test.erl | 72 + test-code/rpc_area.erl | 26 + 323 files changed, 27203 insertions(+) create mode 100644 .gitignore create mode 160000 bertie create mode 100644 erlang_hello_cowboy/.erlang.mk/deps.log create mode 100644 erlang_hello_cowboy/Makefile create mode 100644 erlang_hello_cowboy/erlang.mk create mode 100644 erlang_hello_cowboy/rel/sys.config create mode 100644 erlang_hello_cowboy/rel/vm.args create mode 100755 erlang_hello_cowboy/relx create mode 100644 erlang_hello_cowboy/relx.config create mode 100644 erlang_hello_cowboy/src/erlang_hello_cowboy.app.src create mode 100644 erlang_hello_cowboy/src/erlang_hello_cowboy_app.erl create mode 100644 erlang_hello_cowboy/src/erlang_hello_cowboy_sup.erl create mode 100644 erlang_hello_cowboy/src/hello_handler.erl create mode 100644 programming-erlang-code/.erlang create mode 100644 programming-erlang-code/354984si.ngl.gz create mode 100644 programming-erlang-code/Makefile create mode 100644 programming-erlang-code/Makefile.template create mode 100644 programming-erlang-code/a.erl create mode 100644 programming-erlang-code/abc.erl create mode 100644 programming-erlang-code/adapter_db.erl create mode 100644 programming-erlang-code/adapter_db1.erl create mode 100644 programming-erlang-code/adapter_db1_test.erl create mode 100644 programming-erlang-code/afile_client.erl create mode 100644 programming-erlang-code/afile_server.erl create mode 100644 programming-erlang-code/allocator.erl create mode 100644 programming-erlang-code/application_template.full create mode 100644 programming-erlang-code/area_server.erl create mode 100644 programming-erlang-code/area_server0.erl create mode 100644 programming-erlang-code/area_server1.erl create mode 100644 programming-erlang-code/area_server2.erl create mode 100644 programming-erlang-code/area_server_final.erl create mode 100644 programming-erlang-code/attrs.erl create mode 100644 programming-erlang-code/b.erl create mode 100644 programming-erlang-code/bad.erl create mode 100644 programming-erlang-code/benchmark_assoc.erl create mode 100644 programming-erlang-code/benchmark_mk_assoc.erl create mode 100644 programming-erlang-code/bertie/Makefile create mode 100644 programming-erlang-code/bertie/bertie.erl create mode 100644 programming-erlang-code/bertie/rebar.config create mode 100755 programming-erlang-code/boot.sh create mode 100644 programming-erlang-code/broadcast.erl create mode 100644 programming-erlang-code/chat_cluster.erl create mode 100644 programming-erlang-code/chat_file_transfer.erl create mode 100644 programming-erlang-code/chat_multi.erl create mode 100644 programming-erlang-code/chat_secure.erl create mode 100644 programming-erlang-code/chat_socket.erl create mode 100644 programming-erlang-code/checker.erl create mode 100644 programming-erlang-code/clock.erl create mode 100644 programming-erlang-code/convert1.erl create mode 100644 programming-erlang-code/convert2.erl create mode 100644 programming-erlang-code/convert3.erl create mode 100644 programming-erlang-code/convert4.erl create mode 100644 programming-erlang-code/convert5.erl create mode 100644 programming-erlang-code/cookbook_examples.erl create mode 100644 programming-erlang-code/counter.erl create mode 100644 programming-erlang-code/counter1.erl create mode 100644 programming-erlang-code/counter2.erl create mode 100644 programming-erlang-code/counter3.erl create mode 100644 programming-erlang-code/counter4.erl create mode 100644 programming-erlang-code/cowboy/Makefile create mode 100644 programming-erlang-code/cowboy/cgi_web_server.erl create mode 100644 programming-erlang-code/cowboy/echo.erl create mode 100644 programming-erlang-code/cowboy/mochijson2.erl create mode 100644 programming-erlang-code/cowboy/simple_web_server.erl create mode 100644 programming-erlang-code/cowboy/test1.html create mode 100644 programming-erlang-code/cowboy/test2.html create mode 100644 programming-erlang-code/ctemplate.erl create mode 100644 programming-erlang-code/data1.dat create mode 100644 programming-erlang-code/dialyzer/bad.erl create mode 100644 programming-erlang-code/dialyzer/test1.erl create mode 100644 programming-erlang-code/dialyzer/test2.erl create mode 100644 programming-erlang-code/dialyzer/test3.erl create mode 100644 programming-erlang-code/dialyzer/types1.erl create mode 100644 programming-erlang-code/dialyzer/types1_bug.erl create mode 100644 programming-erlang-code/dist_demo.erl create mode 100644 programming-erlang-code/edemo1.erl create mode 100644 programming-erlang-code/edemo2.erl create mode 100644 programming-erlang-code/elog1.config create mode 100644 programming-erlang-code/elog2.config create mode 100644 programming-erlang-code/elog3.config create mode 100644 programming-erlang-code/elog4.config create mode 100644 programming-erlang-code/elog5.config create mode 100644 programming-erlang-code/emacs.setup create mode 100644 programming-erlang-code/error1.erl create mode 100644 programming-erlang-code/escript-4.1/Installing create mode 100644 programming-erlang-code/escript-4.1/Makefile create mode 100755 programming-erlang-code/escript-4.1/escript create mode 100644 programming-erlang-code/escript-4.1/escript.erl create mode 100644 programming-erlang-code/escript-4.1/escript.html create mode 100755 programming-erlang-code/escript-4.1/factorial create mode 100755 programming-erlang-code/escript-4.1/fibc create mode 100755 programming-erlang-code/escript-4.1/fibi create mode 100755 programming-erlang-code/escript-4.1/hello create mode 100644 programming-erlang-code/escript-4.1/history create mode 100755 programming-erlang-code/escript-4.1/mk_escript.sh create mode 100644 programming-erlang-code/ets_test.erl create mode 100644 programming-erlang-code/event_handler.erl create mode 100644 programming-erlang-code/exprs.dat create mode 100644 programming-erlang-code/extract.erl create mode 100644 programming-erlang-code/fac.erl create mode 100644 programming-erlang-code/fac1.erl create mode 100755 programming-erlang-code/factorial create mode 100644 programming-erlang-code/gathered.html create mode 100644 programming-erlang-code/gen_server_template.full create mode 100644 programming-erlang-code/gen_server_template.mini create mode 100644 programming-erlang-code/geometry.erl create mode 100644 programming-erlang-code/geometry1.erl create mode 100755 programming-erlang-code/hello create mode 100644 programming-erlang-code/hello.bat create mode 100644 programming-erlang-code/hello.erl create mode 100644 programming-erlang-code/hello.sh create mode 100644 programming-erlang-code/id3_tag_lengths.erl create mode 100644 programming-erlang-code/id3_v1.erl create mode 100644 programming-erlang-code/indexer-1.1/.erlang create mode 100644 programming-erlang-code/indexer-1.1/Makefile create mode 100644 programming-erlang-code/indexer-1.1/Readme create mode 100644 programming-erlang-code/indexer-1.1/indexer.erl create mode 100644 programming-erlang-code/indexer-1.1/indexer_checkpoint.erl create mode 100644 programming-erlang-code/indexer-1.1/indexer_dir_crawler.erl create mode 100644 programming-erlang-code/indexer-1.1/indexer_filenames_dets.erl create mode 100644 programming-erlang-code/indexer-1.1/indexer_misc.erl create mode 100644 programming-erlang-code/indexer-1.1/indexer_porter.erl create mode 100644 programming-erlang-code/indexer-1.1/indexer_server.erl create mode 100644 programming-erlang-code/indexer-1.1/indexer_trigrams.erl create mode 100644 programming-erlang-code/indexer-1.1/indexer_words.erl create mode 100644 programming-erlang-code/lib_auth_cs.erl create mode 100644 programming-erlang-code/lib_filenames_dets.erl create mode 100644 programming-erlang-code/lib_files_find.erl create mode 100644 programming-erlang-code/lib_find.erl create mode 100644 programming-erlang-code/lib_io_widget.erl create mode 100644 programming-erlang-code/lib_lin.erl create mode 100644 programming-erlang-code/lib_md5.erl create mode 100644 programming-erlang-code/lib_misc.erl create mode 100644 programming-erlang-code/lib_primes.erl create mode 100644 programming-erlang-code/lib_rsa.erl create mode 100644 programming-erlang-code/lib_tcp_server.erl create mode 100644 programming-erlang-code/lib_trigrams.erl create mode 100644 programming-erlang-code/lib_trigrams_complete.erl create mode 100644 programming-erlang-code/lists1.erl create mode 100644 programming-erlang-code/m1.erl create mode 100644 programming-erlang-code/math1.erl create mode 100644 programming-erlang-code/math2.erl create mode 100644 programming-erlang-code/math3.erl create mode 100644 programming-erlang-code/misc.erl create mode 100644 programming-erlang-code/monitor1.erl create mode 100644 programming-erlang-code/monitor2.erl create mode 100644 programming-erlang-code/monitor3.erl create mode 100644 programming-erlang-code/motor_controller.erl create mode 100644 programming-erlang-code/mp3_manager.erl create mode 100644 programming-erlang-code/mp3_sync.erl create mode 100644 programming-erlang-code/multi_server.erl create mode 100644 programming-erlang-code/my_alarm_handler.erl create mode 100644 programming-erlang-code/my_bank.erl create mode 100644 programming-erlang-code/my_fac_server.erl create mode 100644 programming-erlang-code/mylists.erl create mode 100644 programming-erlang-code/name_server.erl create mode 100644 programming-erlang-code/name_server1.erl create mode 100644 programming-erlang-code/new_name_server.erl create mode 100644 programming-erlang-code/nifs/Makefile create mode 100644 programming-erlang-code/nifs/Makefile.linux create mode 100644 programming-erlang-code/nifs/darray.c create mode 100644 programming-erlang-code/nifs/darray.erl create mode 100644 programming-erlang-code/nifs/darray_test.erl create mode 100644 programming-erlang-code/nifs/nif_test1.c create mode 100644 programming-erlang-code/nifs/nif_test1.erl create mode 100644 programming-erlang-code/nifs/nif_test2.c create mode 100644 programming-erlang-code/nifs/nif_test2.erl create mode 100644 programming-erlang-code/nifs/nif_test3.c create mode 100644 programming-erlang-code/nifs/nif_test3.erl create mode 100644 programming-erlang-code/nifs/notes create mode 100644 programming-erlang-code/nifs/test1.erl create mode 100644 programming-erlang-code/nifs/test1_nif.c create mode 100644 programming-erlang-code/nifs/test1_nif.erl create mode 100644 programming-erlang-code/phofs.erl create mode 100644 programming-erlang-code/ports/Makefile create mode 100644 programming-erlang-code/ports/Makefile.mac create mode 100644 programming-erlang-code/ports/erl_comm.c create mode 100644 programming-erlang-code/ports/example1.c create mode 100644 programming-erlang-code/ports/example1.erl create mode 100644 programming-erlang-code/ports/example1_driver.c create mode 100644 programming-erlang-code/ports/example1_lid.c create mode 100644 programming-erlang-code/ports/example1_lid.erl create mode 100644 programming-erlang-code/ports/link create mode 100644 programming-erlang-code/ports/log create mode 100644 programming-erlang-code/ports/port_driver.c create mode 100644 programming-erlang-code/ports/unit_test.erl create mode 100644 programming-erlang-code/prime_server.erl create mode 100644 programming-erlang-code/processes.erl create mode 100644 programming-erlang-code/ptests.erl create mode 100644 programming-erlang-code/readme.trigrams create mode 100644 programming-erlang-code/records.hrl create mode 100644 programming-erlang-code/registrar.erl create mode 100755 programming-erlang-code/runtests create mode 100644 programming-erlang-code/scavenge_urls.erl create mode 100644 programming-erlang-code/see/error_handler.erl create mode 100644 programming-erlang-code/see/lists.erl create mode 100644 programming-erlang-code/see/my_code.erl create mode 100644 programming-erlang-code/see/otp_test1.erl create mode 100644 programming-erlang-code/see/see.erl create mode 100644 programming-erlang-code/see/see_err1.erl create mode 100644 programming-erlang-code/see/see_err2.erl create mode 100644 programming-erlang-code/see/see_test1.erl create mode 100644 programming-erlang-code/see/see_test2.erl create mode 100644 programming-erlang-code/see/see_test3.erl create mode 100644 programming-erlang-code/see/see_test4.erl create mode 100755 programming-erlang-code/see/sos_work.sh create mode 100644 programming-erlang-code/sellaprime.app create mode 100644 programming-erlang-code/sellaprime_app.erl create mode 100644 programming-erlang-code/sellaprime_supervisor.erl create mode 100644 programming-erlang-code/server1.erl create mode 100644 programming-erlang-code/server2.erl create mode 100644 programming-erlang-code/server3.erl create mode 100644 programming-erlang-code/server4.erl create mode 100644 programming-erlang-code/server5.erl create mode 100644 programming-erlang-code/sherlock/LOG create mode 100644 programming-erlang-code/sherlock/Makefile create mode 100644 programming-erlang-code/sherlock/src/mochiweb_html.erl create mode 100644 programming-erlang-code/sherlock/src/sherlock.app.src create mode 100644 programming-erlang-code/sherlock/src/sherlock.erl create mode 100644 programming-erlang-code/sherlock/src/sherlock.hrl create mode 100644 programming-erlang-code/sherlock/src/sherlock_app.erl create mode 100644 programming-erlang-code/sherlock/src/sherlock_best.erl create mode 100644 programming-erlang-code/sherlock/src/sherlock_get_mails.erl create mode 100644 programming-erlang-code/sherlock/src/sherlock_lib.erl create mode 100644 programming-erlang-code/sherlock/src/sherlock_mails.erl create mode 100644 programming-erlang-code/sherlock/src/sherlock_parse_mails.erl create mode 100644 programming-erlang-code/sherlock/src/sherlock_similar.erl create mode 100644 programming-erlang-code/sherlock/src/sherlock_tfidf.erl create mode 100644 programming-erlang-code/sherlock/src/text_analyzers.erl create mode 100644 programming-erlang-code/shop.erl create mode 100644 programming-erlang-code/shop1.erl create mode 100644 programming-erlang-code/shop2.erl create mode 100644 programming-erlang-code/shop3.erl create mode 100644 programming-erlang-code/shout.erl create mode 100644 programming-erlang-code/simple.app create mode 100644 programming-erlang-code/socket_dist/Makefile create mode 100644 programming-erlang-code/socket_dist/any_apply.erl create mode 100644 programming-erlang-code/socket_dist/chat.conf create mode 100644 programming-erlang-code/socket_dist/chat_client.erl create mode 100644 programming-erlang-code/socket_dist/chat_group.erl create mode 100644 programming-erlang-code/socket_dist/chat_server.erl create mode 100644 programming-erlang-code/socket_dist/conf create mode 100644 programming-erlang-code/socket_dist/config1 create mode 100644 programming-erlang-code/socket_dist/io_widget.erl create mode 100644 programming-erlang-code/socket_dist/kvs.erl create mode 100644 programming-erlang-code/socket_dist/lib_chan.erl create mode 100644 programming-erlang-code/socket_dist/lib_chan_auth.erl create mode 100644 programming-erlang-code/socket_dist/lib_chan_cs.erl create mode 100644 programming-erlang-code/socket_dist/lib_chan_mm.erl create mode 100644 programming-erlang-code/socket_dist/lib_chan_test.erl create mode 100644 programming-erlang-code/socket_dist/lib_md5.erl create mode 100644 programming-erlang-code/socket_dist/mod_chat_controller.erl create mode 100644 programming-erlang-code/socket_dist/mod_echo.erl create mode 100644 programming-erlang-code/socket_dist/mod_math.erl create mode 100644 programming-erlang-code/socket_dist/mod_name_server.erl create mode 100644 programming-erlang-code/socket_dist/mod_srpc.erl create mode 100644 programming-erlang-code/socket_dist/readme create mode 100644 programming-erlang-code/socket_dist/test1.erl create mode 100644 programming-erlang-code/socket_dist/test_name_server.erl create mode 100644 programming-erlang-code/socket_examples.erl create mode 100644 programming-erlang-code/status.erl create mode 100644 programming-erlang-code/stdmacros.hrl create mode 100644 programming-erlang-code/stimer.erl create mode 100644 programming-erlang-code/supervisor_template.full create mode 100644 programming-erlang-code/terms1.dat create mode 100644 programming-erlang-code/terms1.dat.tmp create mode 100644 programming-erlang-code/test1.erl create mode 100644 programming-erlang-code/test_mapreduce.erl create mode 100644 programming-erlang-code/test_mnesia.erl create mode 100644 programming-erlang-code/tracer_test.erl create mode 100644 programming-erlang-code/try_test.erl create mode 100644 programming-erlang-code/type_examples.erl create mode 100644 programming-erlang-code/types1.erl create mode 100644 programming-erlang-code/types2.erl create mode 100644 programming-erlang-code/types3.erl create mode 100644 programming-erlang-code/udp_test.erl create mode 100644 programming-erlang-code/upcase.erl create mode 100644 programming-erlang-code/update_binary_file.erl create mode 100644 programming-erlang-code/update_file.erl create mode 100644 programming-erlang-code/user_default.erl create mode 100644 programming-erlang-code/validate.dat create mode 100644 programming-erlang-code/vfs.erl create mode 100644 programming-erlang-code/vshlr1.erl create mode 100644 programming-erlang-code/vshlr2.erl create mode 100644 programming-erlang-code/walks.erl create mode 100644 programming-erlang-code/websockets/Makefile create mode 100644 programming-erlang-code/websockets/Readme create mode 100644 programming-erlang-code/websockets/chat1.css create mode 100644 programming-erlang-code/websockets/chat1.erl create mode 100644 programming-erlang-code/websockets/chat1.html create mode 100644 programming-erlang-code/websockets/chat2.erl create mode 100644 programming-erlang-code/websockets/chat2.html create mode 100644 programming-erlang-code/websockets/clock1.css create mode 100644 programming-erlang-code/websockets/clock1.erl create mode 100644 programming-erlang-code/websockets/clock1.html create mode 100644 programming-erlang-code/websockets/favicon.ico create mode 100644 programming-erlang-code/websockets/index.html create mode 100644 programming-erlang-code/websockets/interact1.css create mode 100644 programming-erlang-code/websockets/interact1.erl create mode 100644 programming-erlang-code/websockets/interact1.html create mode 100644 programming-erlang-code/websockets/irc.erl create mode 100644 programming-erlang-code/websockets/jquery-1.7.1.min.js create mode 100644 programming-erlang-code/websockets/mochijson2.erl create mode 100644 programming-erlang-code/websockets/rebar.config create mode 100644 programming-erlang-code/websockets/shell1.css create mode 100644 programming-erlang-code/websockets/shell1.erl create mode 100644 programming-erlang-code/websockets/shell1.html create mode 100644 programming-erlang-code/websockets/svg1.css create mode 100644 programming-erlang-code/websockets/svg1.erl create mode 100644 programming-erlang-code/websockets/svg1.html create mode 100644 programming-erlang-code/websockets/web.erl create mode 100644 programming-erlang-code/websockets/websock.js create mode 100644 programming-erlang-code/websockets/websockets.erl create mode 100644 programming-erlang-code/wordcount.erl create mode 100644 test-code/afile_client.erl create mode 100644 test-code/afile_server.erl create mode 100644 test-code/cards.erl create mode 100644 test-code/counter.erl create mode 100644 test-code/hello.erl create mode 100644 test-code/hofuns.erl create mode 100644 test-code/lib_misc.erl create mode 100644 test-code/mnesia_test.erl create mode 100644 test-code/rpc_area.erl diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..393594b --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +*/deps/* +*/ebin +*/priv/*.so +*/*.o +*/*.beam +*/_rel/* + diff --git a/bertie b/bertie new file mode 160000 index 0000000..32f3abb --- /dev/null +++ b/bertie @@ -0,0 +1 @@ +Subproject commit 32f3abbe5e7e58adfa0330dba82038cd0442a60e diff --git a/erlang_hello_cowboy/.erlang.mk/deps.log b/erlang_hello_cowboy/.erlang.mk/deps.log new file mode 100644 index 0000000..e6f7978 --- /dev/null +++ b/erlang_hello_cowboy/.erlang.mk/deps.log @@ -0,0 +1,3 @@ +/work/workspace/erlang_hello_cowboy/deps/cowboy +/work/workspace/erlang_hello_cowboy/deps/cowlib +/work/workspace/erlang_hello_cowboy/deps/ranch diff --git a/erlang_hello_cowboy/Makefile b/erlang_hello_cowboy/Makefile new file mode 100644 index 0000000..b1c600b --- /dev/null +++ b/erlang_hello_cowboy/Makefile @@ -0,0 +1,3 @@ +PROJECT = erlang_hello_cowboy +DEPS = cowboy +include erlang.mk diff --git a/erlang_hello_cowboy/erlang.mk b/erlang_hello_cowboy/erlang.mk new file mode 100644 index 0000000..476664b --- /dev/null +++ b/erlang_hello_cowboy/erlang.mk @@ -0,0 +1,5990 @@ +# Copyright (c) 2013-2015, Loïc Hoguin +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +.PHONY: all app deps search rel docs install-docs check tests clean distclean help erlang-mk + +ERLANG_MK_FILENAME := $(realpath $(lastword $(MAKEFILE_LIST))) + +ERLANG_MK_VERSION = 1.2.0-620-g061d449 + +# Core configuration. + +PROJECT ?= $(notdir $(CURDIR)) +PROJECT := $(strip $(PROJECT)) + +PROJECT_VERSION ?= rolling + +# Verbosity. + +V ?= 0 + +gen_verbose_0 = @echo " GEN " $@; +gen_verbose = $(gen_verbose_$(V)) + +# Temporary files directory. + +ERLANG_MK_TMP ?= $(CURDIR)/.erlang.mk +export ERLANG_MK_TMP + +# "erl" command. + +ERL = erl +A0 -noinput -boot start_clean + +# Platform detection. +# @todo Add Windows/Cygwin detection eventually. + +ifeq ($(PLATFORM),) +UNAME_S := $(shell uname -s) + +ifeq ($(UNAME_S),Linux) +PLATFORM = linux +else ifeq ($(UNAME_S),Darwin) +PLATFORM = darwin +else ifeq ($(UNAME_S),SunOS) +PLATFORM = solaris +else ifeq ($(UNAME_S),GNU) +PLATFORM = gnu +else ifeq ($(UNAME_S),FreeBSD) +PLATFORM = freebsd +else ifeq ($(UNAME_S),NetBSD) +PLATFORM = netbsd +else ifeq ($(UNAME_S),OpenBSD) +PLATFORM = openbsd +else +$(error Unable to detect platform. Please open a ticket with the output of uname -a.) +endif + +export PLATFORM +endif + +# Core targets. + +ifneq ($(words $(MAKECMDGOALS)),1) +.NOTPARALLEL: +endif + +all:: deps + @$(MAKE) --no-print-directory app + @$(MAKE) --no-print-directory rel + +# Noop to avoid a Make warning when there's nothing to do. +rel:: + @echo -n + +check:: clean app tests + +clean:: clean-crashdump + +clean-crashdump: +ifneq ($(wildcard erl_crash.dump),) + $(gen_verbose) rm -f erl_crash.dump +endif + +distclean:: clean + +help:: + @printf "%s\n" \ + "erlang.mk (version $(ERLANG_MK_VERSION)) is distributed under the terms of the ISC License." \ + "Copyright (c) 2013-2015 Loïc Hoguin " \ + "" \ + "Usage: [V=1] $(MAKE) [-jNUM] [target]..." \ + "" \ + "Core targets:" \ + " all Run deps, app and rel targets in that order" \ + " app Compile the project" \ + " deps Fetch dependencies (if needed) and compile them" \ + " search q=... Search for a package in the built-in index" \ + " rel Build a release for this project, if applicable" \ + " docs Build the documentation for this project" \ + " install-docs Install the man pages for this project" \ + " check Compile and run all tests and analysis for this project" \ + " tests Run the tests for this project" \ + " clean Delete temporary and output files from most targets" \ + " distclean Delete all temporary and output files" \ + " help Display this help and exit" \ + " erlang-mk Update erlang.mk to the latest version" + +# Core functions. + +empty := +space := $(empty) $(empty) +comma := , + +define newline + + +endef + +define erlang_list +[$(subst $(space),$(comma),$(strip $(1)))] +endef + +# Adding erlang.mk to make Erlang scripts who call init:get_plain_arguments() happy. +define erlang +$(ERL) -pa $(ERLANG_MK_TMP)/rebar/ebin -eval "$(subst $(newline),,$(subst ",\",$(1)))" -- erlang.mk +endef + +ifeq ($(shell which wget 2>/dev/null | wc -l), 1) +define core_http_get + wget --no-check-certificate -O $(1) $(2)|| rm $(1) +endef +else +define core_http_get.erl + ssl:start(), + inets:start(), + case httpc:request(get, {"$(2)", []}, [{autoredirect, true}], []) of + {ok, {{_, 200, _}, _, Body}} -> + case file:write_file("$(1)", Body) of + ok -> ok; + {error, R1} -> halt(R1) + end; + {error, R2} -> + halt(R2) + end, + halt(0). +endef + +define core_http_get + $(call erlang,$(call core_http_get.erl,$(1),$(2))) +endef +endif + +core_eq = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) + +core_lc = $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$(1))))))))))))))))))))))))))) + +# Automated update. + +ERLANG_MK_BUILD_CONFIG ?= build.config +ERLANG_MK_BUILD_DIR ?= .erlang.mk.build + +erlang-mk: + git clone https://github.com/ninenines/erlang.mk $(ERLANG_MK_BUILD_DIR) + if [ -f $(ERLANG_MK_BUILD_CONFIG) ]; then cp $(ERLANG_MK_BUILD_CONFIG) $(ERLANG_MK_BUILD_DIR); fi + cd $(ERLANG_MK_BUILD_DIR) && $(MAKE) + cp $(ERLANG_MK_BUILD_DIR)/erlang.mk ./erlang.mk + rm -rf $(ERLANG_MK_BUILD_DIR) + +# The erlang.mk package index is bundled in the default erlang.mk build. +# Search for the string "copyright" to skip to the rest of the code. + +PACKAGES += aberth +pkg_aberth_name = aberth +pkg_aberth_description = Generic BERT-RPC server in Erlang +pkg_aberth_homepage = https://github.com/a13x/aberth +pkg_aberth_fetch = git +pkg_aberth_repo = https://github.com/a13x/aberth +pkg_aberth_commit = master + +PACKAGES += active +pkg_active_name = active +pkg_active_description = Active development for Erlang: rebuild and reload source/binary files while the VM is running +pkg_active_homepage = https://github.com/proger/active +pkg_active_fetch = git +pkg_active_repo = https://github.com/proger/active +pkg_active_commit = master + +PACKAGES += actordb_core +pkg_actordb_core_name = actordb_core +pkg_actordb_core_description = ActorDB main source +pkg_actordb_core_homepage = http://www.actordb.com/ +pkg_actordb_core_fetch = git +pkg_actordb_core_repo = https://github.com/biokoda/actordb_core +pkg_actordb_core_commit = master + +PACKAGES += actordb_thrift +pkg_actordb_thrift_name = actordb_thrift +pkg_actordb_thrift_description = Thrift API for ActorDB +pkg_actordb_thrift_homepage = http://www.actordb.com/ +pkg_actordb_thrift_fetch = git +pkg_actordb_thrift_repo = https://github.com/biokoda/actordb_thrift +pkg_actordb_thrift_commit = master + +PACKAGES += aleppo +pkg_aleppo_name = aleppo +pkg_aleppo_description = Alternative Erlang Pre-Processor +pkg_aleppo_homepage = https://github.com/ErlyORM/aleppo +pkg_aleppo_fetch = git +pkg_aleppo_repo = https://github.com/ErlyORM/aleppo +pkg_aleppo_commit = master + +PACKAGES += alog +pkg_alog_name = alog +pkg_alog_description = Simply the best logging framework for Erlang +pkg_alog_homepage = https://github.com/siberian-fast-food/alogger +pkg_alog_fetch = git +pkg_alog_repo = https://github.com/siberian-fast-food/alogger +pkg_alog_commit = master + +PACKAGES += amqp_client +pkg_amqp_client_name = amqp_client +pkg_amqp_client_description = RabbitMQ Erlang AMQP client +pkg_amqp_client_homepage = https://www.rabbitmq.com/erlang-client-user-guide.html +pkg_amqp_client_fetch = git +pkg_amqp_client_repo = https://github.com/rabbitmq/rabbitmq-erlang-client.git +pkg_amqp_client_commit = master + +PACKAGES += annotations +pkg_annotations_name = annotations +pkg_annotations_description = Simple code instrumentation utilities +pkg_annotations_homepage = https://github.com/hyperthunk/annotations +pkg_annotations_fetch = git +pkg_annotations_repo = https://github.com/hyperthunk/annotations +pkg_annotations_commit = master + +PACKAGES += antidote +pkg_antidote_name = antidote +pkg_antidote_description = Large-scale computation without synchronisation +pkg_antidote_homepage = https://syncfree.lip6.fr/ +pkg_antidote_fetch = git +pkg_antidote_repo = https://github.com/SyncFree/antidote +pkg_antidote_commit = master + +PACKAGES += apns +pkg_apns_name = apns +pkg_apns_description = Apple Push Notification Server for Erlang +pkg_apns_homepage = http://inaka.github.com/apns4erl +pkg_apns_fetch = git +pkg_apns_repo = https://github.com/inaka/apns4erl +pkg_apns_commit = 1.0.4 + +PACKAGES += azdht +pkg_azdht_name = azdht +pkg_azdht_description = Azureus Distributed Hash Table (DHT) in Erlang +pkg_azdht_homepage = https://github.com/arcusfelis/azdht +pkg_azdht_fetch = git +pkg_azdht_repo = https://github.com/arcusfelis/azdht +pkg_azdht_commit = master + +PACKAGES += backoff +pkg_backoff_name = backoff +pkg_backoff_description = Simple exponential backoffs in Erlang +pkg_backoff_homepage = https://github.com/ferd/backoff +pkg_backoff_fetch = git +pkg_backoff_repo = https://github.com/ferd/backoff +pkg_backoff_commit = master + +PACKAGES += barrel +pkg_barrel_name = barrel +pkg_barrel_description = barrel is a generic TCP acceptor pool with low latency in Erlang. +pkg_barrel_homepage = https://github.com/benoitc/barrel +pkg_barrel_fetch = git +pkg_barrel_repo = https://github.com/benoitc/barrel +pkg_barrel_commit = master + +PACKAGES += basho_bench +pkg_basho_bench_name = basho_bench +pkg_basho_bench_description = A load-generation and testing tool for basically whatever you can write a returning Erlang function for. +pkg_basho_bench_homepage = https://github.com/basho/basho_bench +pkg_basho_bench_fetch = git +pkg_basho_bench_repo = https://github.com/basho/basho_bench +pkg_basho_bench_commit = master + +PACKAGES += bcrypt +pkg_bcrypt_name = bcrypt +pkg_bcrypt_description = Bcrypt Erlang / C library +pkg_bcrypt_homepage = https://github.com/riverrun/branglecrypt +pkg_bcrypt_fetch = git +pkg_bcrypt_repo = https://github.com/riverrun/branglecrypt +pkg_bcrypt_commit = master + +PACKAGES += beam +pkg_beam_name = beam +pkg_beam_description = BEAM emulator written in Erlang +pkg_beam_homepage = https://github.com/tonyrog/beam +pkg_beam_fetch = git +pkg_beam_repo = https://github.com/tonyrog/beam +pkg_beam_commit = master + +PACKAGES += beanstalk +pkg_beanstalk_name = beanstalk +pkg_beanstalk_description = An Erlang client for beanstalkd +pkg_beanstalk_homepage = https://github.com/tim/erlang-beanstalk +pkg_beanstalk_fetch = git +pkg_beanstalk_repo = https://github.com/tim/erlang-beanstalk +pkg_beanstalk_commit = master + +PACKAGES += bear +pkg_bear_name = bear +pkg_bear_description = a set of statistics functions for erlang +pkg_bear_homepage = https://github.com/boundary/bear +pkg_bear_fetch = git +pkg_bear_repo = https://github.com/boundary/bear +pkg_bear_commit = master + +PACKAGES += bertconf +pkg_bertconf_name = bertconf +pkg_bertconf_description = Make ETS tables out of statc BERT files that are auto-reloaded +pkg_bertconf_homepage = https://github.com/ferd/bertconf +pkg_bertconf_fetch = git +pkg_bertconf_repo = https://github.com/ferd/bertconf +pkg_bertconf_commit = master + +PACKAGES += bifrost +pkg_bifrost_name = bifrost +pkg_bifrost_description = Erlang FTP Server Framework +pkg_bifrost_homepage = https://github.com/thorstadt/bifrost +pkg_bifrost_fetch = git +pkg_bifrost_repo = https://github.com/thorstadt/bifrost +pkg_bifrost_commit = master + +PACKAGES += binpp +pkg_binpp_name = binpp +pkg_binpp_description = Erlang Binary Pretty Printer +pkg_binpp_homepage = https://github.com/jtendo/binpp +pkg_binpp_fetch = git +pkg_binpp_repo = https://github.com/jtendo/binpp +pkg_binpp_commit = master + +PACKAGES += bisect +pkg_bisect_name = bisect +pkg_bisect_description = Ordered fixed-size binary dictionary in Erlang +pkg_bisect_homepage = https://github.com/knutin/bisect +pkg_bisect_fetch = git +pkg_bisect_repo = https://github.com/knutin/bisect +pkg_bisect_commit = master + +PACKAGES += bitcask +pkg_bitcask_name = bitcask +pkg_bitcask_description = because you need another a key/value storage engine +pkg_bitcask_homepage = https://github.com/basho/bitcask +pkg_bitcask_fetch = git +pkg_bitcask_repo = https://github.com/basho/bitcask +pkg_bitcask_commit = master + +PACKAGES += bitstore +pkg_bitstore_name = bitstore +pkg_bitstore_description = A document based ontology development environment +pkg_bitstore_homepage = https://github.com/bdionne/bitstore +pkg_bitstore_fetch = git +pkg_bitstore_repo = https://github.com/bdionne/bitstore +pkg_bitstore_commit = master + +PACKAGES += bootstrap +pkg_bootstrap_name = bootstrap +pkg_bootstrap_description = A simple, yet powerful Erlang cluster bootstrapping application. +pkg_bootstrap_homepage = https://github.com/schlagert/bootstrap +pkg_bootstrap_fetch = git +pkg_bootstrap_repo = https://github.com/schlagert/bootstrap +pkg_bootstrap_commit = master + +PACKAGES += boss_db +pkg_boss_db_name = boss_db +pkg_boss_db_description = BossDB: a sharded, caching, pooling, evented ORM for Erlang +pkg_boss_db_homepage = https://github.com/ErlyORM/boss_db +pkg_boss_db_fetch = git +pkg_boss_db_repo = https://github.com/ErlyORM/boss_db +pkg_boss_db_commit = master + +PACKAGES += boss +pkg_boss_name = boss +pkg_boss_description = Erlang web MVC, now featuring Comet +pkg_boss_homepage = https://github.com/ChicagoBoss/ChicagoBoss +pkg_boss_fetch = git +pkg_boss_repo = https://github.com/ChicagoBoss/ChicagoBoss +pkg_boss_commit = master + +PACKAGES += bson +pkg_bson_name = bson +pkg_bson_description = BSON documents in Erlang, see bsonspec.org +pkg_bson_homepage = https://github.com/comtihon/bson-erlang +pkg_bson_fetch = git +pkg_bson_repo = https://github.com/comtihon/bson-erlang +pkg_bson_commit = master + +PACKAGES += bullet +pkg_bullet_name = bullet +pkg_bullet_description = Simple, reliable, efficient streaming for Cowboy. +pkg_bullet_homepage = http://ninenines.eu +pkg_bullet_fetch = git +pkg_bullet_repo = https://github.com/extend/bullet +pkg_bullet_commit = master + +PACKAGES += cache +pkg_cache_name = cache +pkg_cache_description = Erlang in-memory cache +pkg_cache_homepage = https://github.com/fogfish/cache +pkg_cache_fetch = git +pkg_cache_repo = https://github.com/fogfish/cache +pkg_cache_commit = master + +PACKAGES += cake +pkg_cake_name = cake +pkg_cake_description = Really simple terminal colorization +pkg_cake_homepage = https://github.com/darach/cake-erl +pkg_cake_fetch = git +pkg_cake_repo = https://github.com/darach/cake-erl +pkg_cake_commit = v0.1.2 + +PACKAGES += carotene +pkg_carotene_name = carotene +pkg_carotene_description = Real-time server +pkg_carotene_homepage = https://github.com/carotene/carotene +pkg_carotene_fetch = git +pkg_carotene_repo = https://github.com/carotene/carotene +pkg_carotene_commit = master + +PACKAGES += cberl +pkg_cberl_name = cberl +pkg_cberl_description = NIF based Erlang bindings for Couchbase +pkg_cberl_homepage = https://github.com/chitika/cberl +pkg_cberl_fetch = git +pkg_cberl_repo = https://github.com/chitika/cberl +pkg_cberl_commit = master + +PACKAGES += cecho +pkg_cecho_name = cecho +pkg_cecho_description = An ncurses library for Erlang +pkg_cecho_homepage = https://github.com/mazenharake/cecho +pkg_cecho_fetch = git +pkg_cecho_repo = https://github.com/mazenharake/cecho +pkg_cecho_commit = master + +PACKAGES += cferl +pkg_cferl_name = cferl +pkg_cferl_description = Rackspace / Open Stack Cloud Files Erlang Client +pkg_cferl_homepage = https://github.com/ddossot/cferl +pkg_cferl_fetch = git +pkg_cferl_repo = https://github.com/ddossot/cferl +pkg_cferl_commit = master + +PACKAGES += chaos_monkey +pkg_chaos_monkey_name = chaos_monkey +pkg_chaos_monkey_description = This is The CHAOS MONKEY. It will kill your processes. +pkg_chaos_monkey_homepage = https://github.com/dLuna/chaos_monkey +pkg_chaos_monkey_fetch = git +pkg_chaos_monkey_repo = https://github.com/dLuna/chaos_monkey +pkg_chaos_monkey_commit = master + +PACKAGES += check_node +pkg_check_node_name = check_node +pkg_check_node_description = Nagios Scripts for monitoring Riak +pkg_check_node_homepage = https://github.com/basho-labs/riak_nagios +pkg_check_node_fetch = git +pkg_check_node_repo = https://github.com/basho-labs/riak_nagios +pkg_check_node_commit = master + +PACKAGES += chronos +pkg_chronos_name = chronos +pkg_chronos_description = Timer module for Erlang that makes it easy to abstact time out of the tests. +pkg_chronos_homepage = https://github.com/lehoff/chronos +pkg_chronos_fetch = git +pkg_chronos_repo = https://github.com/lehoff/chronos +pkg_chronos_commit = master + +PACKAGES += classifier +pkg_classifier_name = classifier +pkg_classifier_description = An Erlang Bayesian Filter and Text Classifier +pkg_classifier_homepage = https://github.com/inaka/classifier +pkg_classifier_fetch = git +pkg_classifier_repo = https://github.com/inaka/classifier +pkg_classifier_commit = master + +PACKAGES += clique +pkg_clique_name = clique +pkg_clique_description = CLI Framework for Erlang +pkg_clique_homepage = https://github.com/basho/clique +pkg_clique_fetch = git +pkg_clique_repo = https://github.com/basho/clique +pkg_clique_commit = develop + +PACKAGES += cl +pkg_cl_name = cl +pkg_cl_description = OpenCL binding for Erlang +pkg_cl_homepage = https://github.com/tonyrog/cl +pkg_cl_fetch = git +pkg_cl_repo = https://github.com/tonyrog/cl +pkg_cl_commit = master + +PACKAGES += cloudi_core +pkg_cloudi_core_name = cloudi_core +pkg_cloudi_core_description = CloudI internal service runtime +pkg_cloudi_core_homepage = http://cloudi.org/ +pkg_cloudi_core_fetch = git +pkg_cloudi_core_repo = https://github.com/CloudI/cloudi_core +pkg_cloudi_core_commit = master + +PACKAGES += cloudi_service_api_requests +pkg_cloudi_service_api_requests_name = cloudi_service_api_requests +pkg_cloudi_service_api_requests_description = CloudI Service API requests (JSON-RPC/Erlang-term support) +pkg_cloudi_service_api_requests_homepage = http://cloudi.org/ +pkg_cloudi_service_api_requests_fetch = git +pkg_cloudi_service_api_requests_repo = https://github.com/CloudI/cloudi_service_api_requests +pkg_cloudi_service_api_requests_commit = master + +PACKAGES += cloudi_service_db_cassandra_cql +pkg_cloudi_service_db_cassandra_cql_name = cloudi_service_db_cassandra_cql +pkg_cloudi_service_db_cassandra_cql_description = Cassandra CQL CloudI Service +pkg_cloudi_service_db_cassandra_cql_homepage = http://cloudi.org/ +pkg_cloudi_service_db_cassandra_cql_fetch = git +pkg_cloudi_service_db_cassandra_cql_repo = https://github.com/CloudI/cloudi_service_db_cassandra_cql +pkg_cloudi_service_db_cassandra_cql_commit = master + +PACKAGES += cloudi_service_db_cassandra +pkg_cloudi_service_db_cassandra_name = cloudi_service_db_cassandra +pkg_cloudi_service_db_cassandra_description = Cassandra CloudI Service +pkg_cloudi_service_db_cassandra_homepage = http://cloudi.org/ +pkg_cloudi_service_db_cassandra_fetch = git +pkg_cloudi_service_db_cassandra_repo = https://github.com/CloudI/cloudi_service_db_cassandra +pkg_cloudi_service_db_cassandra_commit = master + +PACKAGES += cloudi_service_db_couchdb +pkg_cloudi_service_db_couchdb_name = cloudi_service_db_couchdb +pkg_cloudi_service_db_couchdb_description = CouchDB CloudI Service +pkg_cloudi_service_db_couchdb_homepage = http://cloudi.org/ +pkg_cloudi_service_db_couchdb_fetch = git +pkg_cloudi_service_db_couchdb_repo = https://github.com/CloudI/cloudi_service_db_couchdb +pkg_cloudi_service_db_couchdb_commit = master + +PACKAGES += cloudi_service_db_elasticsearch +pkg_cloudi_service_db_elasticsearch_name = cloudi_service_db_elasticsearch +pkg_cloudi_service_db_elasticsearch_description = elasticsearch CloudI Service +pkg_cloudi_service_db_elasticsearch_homepage = http://cloudi.org/ +pkg_cloudi_service_db_elasticsearch_fetch = git +pkg_cloudi_service_db_elasticsearch_repo = https://github.com/CloudI/cloudi_service_db_elasticsearch +pkg_cloudi_service_db_elasticsearch_commit = master + +PACKAGES += cloudi_service_db_memcached +pkg_cloudi_service_db_memcached_name = cloudi_service_db_memcached +pkg_cloudi_service_db_memcached_description = memcached CloudI Service +pkg_cloudi_service_db_memcached_homepage = http://cloudi.org/ +pkg_cloudi_service_db_memcached_fetch = git +pkg_cloudi_service_db_memcached_repo = https://github.com/CloudI/cloudi_service_db_memcached +pkg_cloudi_service_db_memcached_commit = master + +PACKAGES += cloudi_service_db +pkg_cloudi_service_db_name = cloudi_service_db +pkg_cloudi_service_db_description = CloudI Database (in-memory/testing/generic) +pkg_cloudi_service_db_homepage = http://cloudi.org/ +pkg_cloudi_service_db_fetch = git +pkg_cloudi_service_db_repo = https://github.com/CloudI/cloudi_service_db +pkg_cloudi_service_db_commit = master + +PACKAGES += cloudi_service_db_mysql +pkg_cloudi_service_db_mysql_name = cloudi_service_db_mysql +pkg_cloudi_service_db_mysql_description = MySQL CloudI Service +pkg_cloudi_service_db_mysql_homepage = http://cloudi.org/ +pkg_cloudi_service_db_mysql_fetch = git +pkg_cloudi_service_db_mysql_repo = https://github.com/CloudI/cloudi_service_db_mysql +pkg_cloudi_service_db_mysql_commit = master + +PACKAGES += cloudi_service_db_pgsql +pkg_cloudi_service_db_pgsql_name = cloudi_service_db_pgsql +pkg_cloudi_service_db_pgsql_description = PostgreSQL CloudI Service +pkg_cloudi_service_db_pgsql_homepage = http://cloudi.org/ +pkg_cloudi_service_db_pgsql_fetch = git +pkg_cloudi_service_db_pgsql_repo = https://github.com/CloudI/cloudi_service_db_pgsql +pkg_cloudi_service_db_pgsql_commit = master + +PACKAGES += cloudi_service_db_riak +pkg_cloudi_service_db_riak_name = cloudi_service_db_riak +pkg_cloudi_service_db_riak_description = Riak CloudI Service +pkg_cloudi_service_db_riak_homepage = http://cloudi.org/ +pkg_cloudi_service_db_riak_fetch = git +pkg_cloudi_service_db_riak_repo = https://github.com/CloudI/cloudi_service_db_riak +pkg_cloudi_service_db_riak_commit = master + +PACKAGES += cloudi_service_db_tokyotyrant +pkg_cloudi_service_db_tokyotyrant_name = cloudi_service_db_tokyotyrant +pkg_cloudi_service_db_tokyotyrant_description = Tokyo Tyrant CloudI Service +pkg_cloudi_service_db_tokyotyrant_homepage = http://cloudi.org/ +pkg_cloudi_service_db_tokyotyrant_fetch = git +pkg_cloudi_service_db_tokyotyrant_repo = https://github.com/CloudI/cloudi_service_db_tokyotyrant +pkg_cloudi_service_db_tokyotyrant_commit = master + +PACKAGES += cloudi_service_filesystem +pkg_cloudi_service_filesystem_name = cloudi_service_filesystem +pkg_cloudi_service_filesystem_description = Filesystem CloudI Service +pkg_cloudi_service_filesystem_homepage = http://cloudi.org/ +pkg_cloudi_service_filesystem_fetch = git +pkg_cloudi_service_filesystem_repo = https://github.com/CloudI/cloudi_service_filesystem +pkg_cloudi_service_filesystem_commit = master + +PACKAGES += cloudi_service_http_client +pkg_cloudi_service_http_client_name = cloudi_service_http_client +pkg_cloudi_service_http_client_description = HTTP client CloudI Service +pkg_cloudi_service_http_client_homepage = http://cloudi.org/ +pkg_cloudi_service_http_client_fetch = git +pkg_cloudi_service_http_client_repo = https://github.com/CloudI/cloudi_service_http_client +pkg_cloudi_service_http_client_commit = master + +PACKAGES += cloudi_service_http_cowboy +pkg_cloudi_service_http_cowboy_name = cloudi_service_http_cowboy +pkg_cloudi_service_http_cowboy_description = cowboy HTTP/HTTPS CloudI Service +pkg_cloudi_service_http_cowboy_homepage = http://cloudi.org/ +pkg_cloudi_service_http_cowboy_fetch = git +pkg_cloudi_service_http_cowboy_repo = https://github.com/CloudI/cloudi_service_http_cowboy +pkg_cloudi_service_http_cowboy_commit = master + +PACKAGES += cloudi_service_http_elli +pkg_cloudi_service_http_elli_name = cloudi_service_http_elli +pkg_cloudi_service_http_elli_description = elli HTTP CloudI Service +pkg_cloudi_service_http_elli_homepage = http://cloudi.org/ +pkg_cloudi_service_http_elli_fetch = git +pkg_cloudi_service_http_elli_repo = https://github.com/CloudI/cloudi_service_http_elli +pkg_cloudi_service_http_elli_commit = master + +PACKAGES += cloudi_service_map_reduce +pkg_cloudi_service_map_reduce_name = cloudi_service_map_reduce +pkg_cloudi_service_map_reduce_description = Map/Reduce CloudI Service +pkg_cloudi_service_map_reduce_homepage = http://cloudi.org/ +pkg_cloudi_service_map_reduce_fetch = git +pkg_cloudi_service_map_reduce_repo = https://github.com/CloudI/cloudi_service_map_reduce +pkg_cloudi_service_map_reduce_commit = master + +PACKAGES += cloudi_service_oauth1 +pkg_cloudi_service_oauth1_name = cloudi_service_oauth1 +pkg_cloudi_service_oauth1_description = OAuth v1.0 CloudI Service +pkg_cloudi_service_oauth1_homepage = http://cloudi.org/ +pkg_cloudi_service_oauth1_fetch = git +pkg_cloudi_service_oauth1_repo = https://github.com/CloudI/cloudi_service_oauth1 +pkg_cloudi_service_oauth1_commit = master + +PACKAGES += cloudi_service_queue +pkg_cloudi_service_queue_name = cloudi_service_queue +pkg_cloudi_service_queue_description = Persistent Queue Service +pkg_cloudi_service_queue_homepage = http://cloudi.org/ +pkg_cloudi_service_queue_fetch = git +pkg_cloudi_service_queue_repo = https://github.com/CloudI/cloudi_service_queue +pkg_cloudi_service_queue_commit = master + +PACKAGES += cloudi_service_quorum +pkg_cloudi_service_quorum_name = cloudi_service_quorum +pkg_cloudi_service_quorum_description = CloudI Quorum Service +pkg_cloudi_service_quorum_homepage = http://cloudi.org/ +pkg_cloudi_service_quorum_fetch = git +pkg_cloudi_service_quorum_repo = https://github.com/CloudI/cloudi_service_quorum +pkg_cloudi_service_quorum_commit = master + +PACKAGES += cloudi_service_router +pkg_cloudi_service_router_name = cloudi_service_router +pkg_cloudi_service_router_description = CloudI Router Service +pkg_cloudi_service_router_homepage = http://cloudi.org/ +pkg_cloudi_service_router_fetch = git +pkg_cloudi_service_router_repo = https://github.com/CloudI/cloudi_service_router +pkg_cloudi_service_router_commit = master + +PACKAGES += cloudi_service_tcp +pkg_cloudi_service_tcp_name = cloudi_service_tcp +pkg_cloudi_service_tcp_description = TCP CloudI Service +pkg_cloudi_service_tcp_homepage = http://cloudi.org/ +pkg_cloudi_service_tcp_fetch = git +pkg_cloudi_service_tcp_repo = https://github.com/CloudI/cloudi_service_tcp +pkg_cloudi_service_tcp_commit = master + +PACKAGES += cloudi_service_timers +pkg_cloudi_service_timers_name = cloudi_service_timers +pkg_cloudi_service_timers_description = Timers CloudI Service +pkg_cloudi_service_timers_homepage = http://cloudi.org/ +pkg_cloudi_service_timers_fetch = git +pkg_cloudi_service_timers_repo = https://github.com/CloudI/cloudi_service_timers +pkg_cloudi_service_timers_commit = master + +PACKAGES += cloudi_service_udp +pkg_cloudi_service_udp_name = cloudi_service_udp +pkg_cloudi_service_udp_description = UDP CloudI Service +pkg_cloudi_service_udp_homepage = http://cloudi.org/ +pkg_cloudi_service_udp_fetch = git +pkg_cloudi_service_udp_repo = https://github.com/CloudI/cloudi_service_udp +pkg_cloudi_service_udp_commit = master + +PACKAGES += cloudi_service_validate +pkg_cloudi_service_validate_name = cloudi_service_validate +pkg_cloudi_service_validate_description = CloudI Validate Service +pkg_cloudi_service_validate_homepage = http://cloudi.org/ +pkg_cloudi_service_validate_fetch = git +pkg_cloudi_service_validate_repo = https://github.com/CloudI/cloudi_service_validate +pkg_cloudi_service_validate_commit = master + +PACKAGES += cloudi_service_zeromq +pkg_cloudi_service_zeromq_name = cloudi_service_zeromq +pkg_cloudi_service_zeromq_description = ZeroMQ CloudI Service +pkg_cloudi_service_zeromq_homepage = http://cloudi.org/ +pkg_cloudi_service_zeromq_fetch = git +pkg_cloudi_service_zeromq_repo = https://github.com/CloudI/cloudi_service_zeromq +pkg_cloudi_service_zeromq_commit = master + +PACKAGES += cluster_info +pkg_cluster_info_name = cluster_info +pkg_cluster_info_description = Fork of Hibari's nifty cluster_info OTP app +pkg_cluster_info_homepage = https://github.com/basho/cluster_info +pkg_cluster_info_fetch = git +pkg_cluster_info_repo = https://github.com/basho/cluster_info +pkg_cluster_info_commit = master + +PACKAGES += color +pkg_color_name = color +pkg_color_description = ANSI colors for your Erlang +pkg_color_homepage = https://github.com/julianduque/erlang-color +pkg_color_fetch = git +pkg_color_repo = https://github.com/julianduque/erlang-color +pkg_color_commit = master + +PACKAGES += confetti +pkg_confetti_name = confetti +pkg_confetti_description = Erlang configuration provider / application:get_env/2 on steroids +pkg_confetti_homepage = https://github.com/jtendo/confetti +pkg_confetti_fetch = git +pkg_confetti_repo = https://github.com/jtendo/confetti +pkg_confetti_commit = master + +PACKAGES += couchbeam +pkg_couchbeam_name = couchbeam +pkg_couchbeam_description = Apache CouchDB client in Erlang +pkg_couchbeam_homepage = https://github.com/benoitc/couchbeam +pkg_couchbeam_fetch = git +pkg_couchbeam_repo = https://github.com/benoitc/couchbeam +pkg_couchbeam_commit = master + +PACKAGES += couch +pkg_couch_name = couch +pkg_couch_description = A embeddable document oriented database compatible with Apache CouchDB +pkg_couch_homepage = https://github.com/benoitc/opencouch +pkg_couch_fetch = git +pkg_couch_repo = https://github.com/benoitc/opencouch +pkg_couch_commit = master + +PACKAGES += covertool +pkg_covertool_name = covertool +pkg_covertool_description = Tool to convert Erlang cover data files into Cobertura XML reports +pkg_covertool_homepage = https://github.com/idubrov/covertool +pkg_covertool_fetch = git +pkg_covertool_repo = https://github.com/idubrov/covertool +pkg_covertool_commit = master + +PACKAGES += cowboy +pkg_cowboy_name = cowboy +pkg_cowboy_description = Small, fast and modular HTTP server. +pkg_cowboy_homepage = http://ninenines.eu +pkg_cowboy_fetch = git +pkg_cowboy_repo = https://github.com/ninenines/cowboy +pkg_cowboy_commit = 1.0.1 + +PACKAGES += cowdb +pkg_cowdb_name = cowdb +pkg_cowdb_description = Pure Key/Value database library for Erlang Applications +pkg_cowdb_homepage = https://github.com/refuge/cowdb +pkg_cowdb_fetch = git +pkg_cowdb_repo = https://github.com/refuge/cowdb +pkg_cowdb_commit = master + +PACKAGES += cowlib +pkg_cowlib_name = cowlib +pkg_cowlib_description = Support library for manipulating Web protocols. +pkg_cowlib_homepage = http://ninenines.eu +pkg_cowlib_fetch = git +pkg_cowlib_repo = https://github.com/ninenines/cowlib +pkg_cowlib_commit = 1.0.1 + +PACKAGES += cpg +pkg_cpg_name = cpg +pkg_cpg_description = CloudI Process Groups +pkg_cpg_homepage = https://github.com/okeuday/cpg +pkg_cpg_fetch = git +pkg_cpg_repo = https://github.com/okeuday/cpg +pkg_cpg_commit = master + +PACKAGES += cqerl +pkg_cqerl_name = cqerl +pkg_cqerl_description = Native Erlang CQL client for Cassandra +pkg_cqerl_homepage = https://matehat.github.io/cqerl/ +pkg_cqerl_fetch = git +pkg_cqerl_repo = https://github.com/matehat/cqerl +pkg_cqerl_commit = master + +PACKAGES += cr +pkg_cr_name = cr +pkg_cr_description = Chain Replication +pkg_cr_homepage = https://synrc.com/apps/cr/doc/cr.htm +pkg_cr_fetch = git +pkg_cr_repo = https://github.com/spawnproc/cr +pkg_cr_commit = master + +PACKAGES += cuttlefish +pkg_cuttlefish_name = cuttlefish +pkg_cuttlefish_description = never lose your childlike sense of wonder baby cuttlefish, promise me? +pkg_cuttlefish_homepage = https://github.com/basho/cuttlefish +pkg_cuttlefish_fetch = git +pkg_cuttlefish_repo = https://github.com/basho/cuttlefish +pkg_cuttlefish_commit = master + +PACKAGES += damocles +pkg_damocles_name = damocles +pkg_damocles_description = Erlang library for generating adversarial network conditions for QAing distributed applications/systems on a single Linux box. +pkg_damocles_homepage = https://github.com/lostcolony/damocles +pkg_damocles_fetch = git +pkg_damocles_repo = https://github.com/lostcolony/damocles +pkg_damocles_commit = master + +PACKAGES += debbie +pkg_debbie_name = debbie +pkg_debbie_description = .DEB Built In Erlang +pkg_debbie_homepage = https://github.com/crownedgrouse/debbie +pkg_debbie_fetch = git +pkg_debbie_repo = https://github.com/crownedgrouse/debbie +pkg_debbie_commit = master + +PACKAGES += decimal +pkg_decimal_name = decimal +pkg_decimal_description = An Erlang decimal arithmetic library +pkg_decimal_homepage = https://github.com/tim/erlang-decimal +pkg_decimal_fetch = git +pkg_decimal_repo = https://github.com/tim/erlang-decimal +pkg_decimal_commit = master + +PACKAGES += detergent +pkg_detergent_name = detergent +pkg_detergent_description = An emulsifying Erlang SOAP library +pkg_detergent_homepage = https://github.com/devinus/detergent +pkg_detergent_fetch = git +pkg_detergent_repo = https://github.com/devinus/detergent +pkg_detergent_commit = master + +PACKAGES += detest +pkg_detest_name = detest +pkg_detest_description = Tool for running tests on a cluster of erlang nodes +pkg_detest_homepage = https://github.com/biokoda/detest +pkg_detest_fetch = git +pkg_detest_repo = https://github.com/biokoda/detest +pkg_detest_commit = master + +PACKAGES += dh_date +pkg_dh_date_name = dh_date +pkg_dh_date_description = Date formatting / parsing library for erlang +pkg_dh_date_homepage = https://github.com/daleharvey/dh_date +pkg_dh_date_fetch = git +pkg_dh_date_repo = https://github.com/daleharvey/dh_date +pkg_dh_date_commit = master + +PACKAGES += dhtcrawler +pkg_dhtcrawler_name = dhtcrawler +pkg_dhtcrawler_description = dhtcrawler is a DHT crawler written in erlang. It can join a DHT network and crawl many P2P torrents. +pkg_dhtcrawler_homepage = https://github.com/kevinlynx/dhtcrawler +pkg_dhtcrawler_fetch = git +pkg_dhtcrawler_repo = https://github.com/kevinlynx/dhtcrawler +pkg_dhtcrawler_commit = master + +PACKAGES += dirbusterl +pkg_dirbusterl_name = dirbusterl +pkg_dirbusterl_description = DirBuster successor in Erlang +pkg_dirbusterl_homepage = https://github.com/silentsignal/DirBustErl +pkg_dirbusterl_fetch = git +pkg_dirbusterl_repo = https://github.com/silentsignal/DirBustErl +pkg_dirbusterl_commit = master + +PACKAGES += dispcount +pkg_dispcount_name = dispcount +pkg_dispcount_description = Erlang task dispatcher based on ETS counters. +pkg_dispcount_homepage = https://github.com/ferd/dispcount +pkg_dispcount_fetch = git +pkg_dispcount_repo = https://github.com/ferd/dispcount +pkg_dispcount_commit = master + +PACKAGES += dlhttpc +pkg_dlhttpc_name = dlhttpc +pkg_dlhttpc_description = dispcount-based lhttpc fork for massive amounts of requests to limited endpoints +pkg_dlhttpc_homepage = https://github.com/ferd/dlhttpc +pkg_dlhttpc_fetch = git +pkg_dlhttpc_repo = https://github.com/ferd/dlhttpc +pkg_dlhttpc_commit = master + +PACKAGES += dns +pkg_dns_name = dns +pkg_dns_description = Erlang DNS library +pkg_dns_homepage = https://github.com/aetrion/dns_erlang +pkg_dns_fetch = git +pkg_dns_repo = https://github.com/aetrion/dns_erlang +pkg_dns_commit = master + +PACKAGES += dnssd +pkg_dnssd_name = dnssd +pkg_dnssd_description = Erlang interface to Apple's Bonjour D NS Service Discovery implementation +pkg_dnssd_homepage = https://github.com/benoitc/dnssd_erlang +pkg_dnssd_fetch = git +pkg_dnssd_repo = https://github.com/benoitc/dnssd_erlang +pkg_dnssd_commit = master + +PACKAGES += dtl +pkg_dtl_name = dtl +pkg_dtl_description = Django Template Language: A full-featured port of the Django template engine to Erlang. +pkg_dtl_homepage = https://github.com/oinksoft/dtl +pkg_dtl_fetch = git +pkg_dtl_repo = https://github.com/oinksoft/dtl +pkg_dtl_commit = master + +PACKAGES += dynamic_compile +pkg_dynamic_compile_name = dynamic_compile +pkg_dynamic_compile_description = compile and load erlang modules from string input +pkg_dynamic_compile_homepage = https://github.com/jkvor/dynamic_compile +pkg_dynamic_compile_fetch = git +pkg_dynamic_compile_repo = https://github.com/jkvor/dynamic_compile +pkg_dynamic_compile_commit = master + +PACKAGES += e2 +pkg_e2_name = e2 +pkg_e2_description = Library to simply writing correct OTP applications. +pkg_e2_homepage = http://e2project.org +pkg_e2_fetch = git +pkg_e2_repo = https://github.com/gar1t/e2 +pkg_e2_commit = master + +PACKAGES += eamf +pkg_eamf_name = eamf +pkg_eamf_description = eAMF provides Action Message Format (AMF) support for Erlang +pkg_eamf_homepage = https://github.com/mrinalwadhwa/eamf +pkg_eamf_fetch = git +pkg_eamf_repo = https://github.com/mrinalwadhwa/eamf +pkg_eamf_commit = master + +PACKAGES += eavro +pkg_eavro_name = eavro +pkg_eavro_description = Apache Avro encoder/decoder +pkg_eavro_homepage = https://github.com/SIfoxDevTeam/eavro +pkg_eavro_fetch = git +pkg_eavro_repo = https://github.com/SIfoxDevTeam/eavro +pkg_eavro_commit = master + +PACKAGES += ecapnp +pkg_ecapnp_name = ecapnp +pkg_ecapnp_description = Cap'n Proto library for Erlang +pkg_ecapnp_homepage = https://github.com/kaos/ecapnp +pkg_ecapnp_fetch = git +pkg_ecapnp_repo = https://github.com/kaos/ecapnp +pkg_ecapnp_commit = master + +PACKAGES += econfig +pkg_econfig_name = econfig +pkg_econfig_description = simple Erlang config handler using INI files +pkg_econfig_homepage = https://github.com/benoitc/econfig +pkg_econfig_fetch = git +pkg_econfig_repo = https://github.com/benoitc/econfig +pkg_econfig_commit = master + +PACKAGES += edate +pkg_edate_name = edate +pkg_edate_description = date manipulation library for erlang +pkg_edate_homepage = https://github.com/dweldon/edate +pkg_edate_fetch = git +pkg_edate_repo = https://github.com/dweldon/edate +pkg_edate_commit = master + +PACKAGES += edgar +pkg_edgar_name = edgar +pkg_edgar_description = Erlang Does GNU AR +pkg_edgar_homepage = https://github.com/crownedgrouse/edgar +pkg_edgar_fetch = git +pkg_edgar_repo = https://github.com/crownedgrouse/edgar +pkg_edgar_commit = master + +PACKAGES += edis +pkg_edis_name = edis +pkg_edis_description = An Erlang implementation of Redis KV Store +pkg_edis_homepage = http://inaka.github.com/edis/ +pkg_edis_fetch = git +pkg_edis_repo = https://github.com/inaka/edis +pkg_edis_commit = master + +PACKAGES += edns +pkg_edns_name = edns +pkg_edns_description = Erlang/OTP DNS server +pkg_edns_homepage = https://github.com/hcvst/erlang-dns +pkg_edns_fetch = git +pkg_edns_repo = https://github.com/hcvst/erlang-dns +pkg_edns_commit = master + +PACKAGES += edown +pkg_edown_name = edown +pkg_edown_description = EDoc extension for generating Github-flavored Markdown +pkg_edown_homepage = https://github.com/uwiger/edown +pkg_edown_fetch = git +pkg_edown_repo = https://github.com/uwiger/edown +pkg_edown_commit = master + +PACKAGES += eep_app +pkg_eep_app_name = eep_app +pkg_eep_app_description = Embedded Event Processing +pkg_eep_app_homepage = https://github.com/darach/eep-erl +pkg_eep_app_fetch = git +pkg_eep_app_repo = https://github.com/darach/eep-erl +pkg_eep_app_commit = master + +PACKAGES += eep +pkg_eep_name = eep +pkg_eep_description = Erlang Easy Profiling (eep) application provides a way to analyze application performance and call hierarchy +pkg_eep_homepage = https://github.com/virtan/eep +pkg_eep_fetch = git +pkg_eep_repo = https://github.com/virtan/eep +pkg_eep_commit = master + +PACKAGES += efene +pkg_efene_name = efene +pkg_efene_description = Alternative syntax for the Erlang Programming Language focusing on simplicity, ease of use and programmer UX +pkg_efene_homepage = https://github.com/efene/efene +pkg_efene_fetch = git +pkg_efene_repo = https://github.com/efene/efene +pkg_efene_commit = master + +PACKAGES += eganglia +pkg_eganglia_name = eganglia +pkg_eganglia_description = Erlang library to interact with Ganglia +pkg_eganglia_homepage = https://github.com/inaka/eganglia +pkg_eganglia_fetch = git +pkg_eganglia_repo = https://github.com/inaka/eganglia +pkg_eganglia_commit = v0.9.1 + +PACKAGES += egeoip +pkg_egeoip_name = egeoip +pkg_egeoip_description = Erlang IP Geolocation module, currently supporting the MaxMind GeoLite City Database. +pkg_egeoip_homepage = https://github.com/mochi/egeoip +pkg_egeoip_fetch = git +pkg_egeoip_repo = https://github.com/mochi/egeoip +pkg_egeoip_commit = master + +PACKAGES += ehsa +pkg_ehsa_name = ehsa +pkg_ehsa_description = Erlang HTTP server basic and digest authentication modules +pkg_ehsa_homepage = https://bitbucket.org/a12n/ehsa +pkg_ehsa_fetch = hg +pkg_ehsa_repo = https://bitbucket.org/a12n/ehsa +pkg_ehsa_commit = 2.0.4 + +PACKAGES += ejabberd +pkg_ejabberd_name = ejabberd +pkg_ejabberd_description = Robust, ubiquitous and massively scalable Jabber / XMPP Instant Messaging platform +pkg_ejabberd_homepage = https://github.com/processone/ejabberd +pkg_ejabberd_fetch = git +pkg_ejabberd_repo = https://github.com/processone/ejabberd +pkg_ejabberd_commit = master + +PACKAGES += ej +pkg_ej_name = ej +pkg_ej_description = Helper module for working with Erlang terms representing JSON +pkg_ej_homepage = https://github.com/seth/ej +pkg_ej_fetch = git +pkg_ej_repo = https://github.com/seth/ej +pkg_ej_commit = master + +PACKAGES += ejwt +pkg_ejwt_name = ejwt +pkg_ejwt_description = erlang library for JSON Web Token +pkg_ejwt_homepage = https://github.com/artefactop/ejwt +pkg_ejwt_fetch = git +pkg_ejwt_repo = https://github.com/artefactop/ejwt +pkg_ejwt_commit = master + +PACKAGES += ekaf +pkg_ekaf_name = ekaf +pkg_ekaf_description = A minimal, high-performance Kafka client in Erlang. +pkg_ekaf_homepage = https://github.com/helpshift/ekaf +pkg_ekaf_fetch = git +pkg_ekaf_repo = https://github.com/helpshift/ekaf +pkg_ekaf_commit = master + +PACKAGES += elarm +pkg_elarm_name = elarm +pkg_elarm_description = Alarm Manager for Erlang. +pkg_elarm_homepage = https://github.com/esl/elarm +pkg_elarm_fetch = git +pkg_elarm_repo = https://github.com/esl/elarm +pkg_elarm_commit = master + +PACKAGES += eleveldb +pkg_eleveldb_name = eleveldb +pkg_eleveldb_description = Erlang LevelDB API +pkg_eleveldb_homepage = https://github.com/basho/eleveldb +pkg_eleveldb_fetch = git +pkg_eleveldb_repo = https://github.com/basho/eleveldb +pkg_eleveldb_commit = master + +PACKAGES += elli +pkg_elli_name = elli +pkg_elli_description = Simple, robust and performant Erlang web server +pkg_elli_homepage = https://github.com/knutin/elli +pkg_elli_fetch = git +pkg_elli_repo = https://github.com/knutin/elli +pkg_elli_commit = master + +PACKAGES += elvis +pkg_elvis_name = elvis +pkg_elvis_description = Erlang Style Reviewer +pkg_elvis_homepage = https://github.com/inaka/elvis +pkg_elvis_fetch = git +pkg_elvis_repo = https://github.com/inaka/elvis +pkg_elvis_commit = 0.2.4 + +PACKAGES += emagick +pkg_emagick_name = emagick +pkg_emagick_description = Wrapper for Graphics/ImageMagick command line tool. +pkg_emagick_homepage = https://github.com/kivra/emagick +pkg_emagick_fetch = git +pkg_emagick_repo = https://github.com/kivra/emagick +pkg_emagick_commit = master + +PACKAGES += emysql +pkg_emysql_name = emysql +pkg_emysql_description = Stable, pure Erlang MySQL driver. +pkg_emysql_homepage = https://github.com/Eonblast/Emysql +pkg_emysql_fetch = git +pkg_emysql_repo = https://github.com/Eonblast/Emysql +pkg_emysql_commit = master + +PACKAGES += enm +pkg_enm_name = enm +pkg_enm_description = Erlang driver for nanomsg +pkg_enm_homepage = https://github.com/basho/enm +pkg_enm_fetch = git +pkg_enm_repo = https://github.com/basho/enm +pkg_enm_commit = master + +PACKAGES += entop +pkg_entop_name = entop +pkg_entop_description = A top-like tool for monitoring an Erlang node +pkg_entop_homepage = https://github.com/mazenharake/entop +pkg_entop_fetch = git +pkg_entop_repo = https://github.com/mazenharake/entop +pkg_entop_commit = master + +PACKAGES += epcap +pkg_epcap_name = epcap +pkg_epcap_description = Erlang packet capture interface using pcap +pkg_epcap_homepage = https://github.com/msantos/epcap +pkg_epcap_fetch = git +pkg_epcap_repo = https://github.com/msantos/epcap +pkg_epcap_commit = master + +PACKAGES += eper +pkg_eper_name = eper +pkg_eper_description = Erlang performance and debugging tools. +pkg_eper_homepage = https://github.com/massemanet/eper +pkg_eper_fetch = git +pkg_eper_repo = https://github.com/massemanet/eper +pkg_eper_commit = master + +PACKAGES += epgsql +pkg_epgsql_name = epgsql +pkg_epgsql_description = Erlang PostgreSQL client library. +pkg_epgsql_homepage = https://github.com/epgsql/epgsql +pkg_epgsql_fetch = git +pkg_epgsql_repo = https://github.com/epgsql/epgsql +pkg_epgsql_commit = master + +PACKAGES += episcina +pkg_episcina_name = episcina +pkg_episcina_description = A simple non intrusive resource pool for connections +pkg_episcina_homepage = https://github.com/erlware/episcina +pkg_episcina_fetch = git +pkg_episcina_repo = https://github.com/erlware/episcina +pkg_episcina_commit = master + +PACKAGES += eplot +pkg_eplot_name = eplot +pkg_eplot_description = A plot engine written in erlang. +pkg_eplot_homepage = https://github.com/psyeugenic/eplot +pkg_eplot_fetch = git +pkg_eplot_repo = https://github.com/psyeugenic/eplot +pkg_eplot_commit = master + +PACKAGES += epocxy +pkg_epocxy_name = epocxy +pkg_epocxy_description = Erlang Patterns of Concurrency +pkg_epocxy_homepage = https://github.com/duomark/epocxy +pkg_epocxy_fetch = git +pkg_epocxy_repo = https://github.com/duomark/epocxy +pkg_epocxy_commit = master + +PACKAGES += epubnub +pkg_epubnub_name = epubnub +pkg_epubnub_description = Erlang PubNub API +pkg_epubnub_homepage = https://github.com/tsloughter/epubnub +pkg_epubnub_fetch = git +pkg_epubnub_repo = https://github.com/tsloughter/epubnub +pkg_epubnub_commit = master + +PACKAGES += eqm +pkg_eqm_name = eqm +pkg_eqm_description = Erlang pub sub with supply-demand channels +pkg_eqm_homepage = https://github.com/loucash/eqm +pkg_eqm_fetch = git +pkg_eqm_repo = https://github.com/loucash/eqm +pkg_eqm_commit = master + +PACKAGES += eredis +pkg_eredis_name = eredis +pkg_eredis_description = Erlang Redis client +pkg_eredis_homepage = https://github.com/wooga/eredis +pkg_eredis_fetch = git +pkg_eredis_repo = https://github.com/wooga/eredis +pkg_eredis_commit = master + +PACKAGES += eredis_pool +pkg_eredis_pool_name = eredis_pool +pkg_eredis_pool_description = eredis_pool is Pool of Redis clients, using eredis and poolboy. +pkg_eredis_pool_homepage = https://github.com/hiroeorz/eredis_pool +pkg_eredis_pool_fetch = git +pkg_eredis_pool_repo = https://github.com/hiroeorz/eredis_pool +pkg_eredis_pool_commit = master + +PACKAGES += erlang_cep +pkg_erlang_cep_name = erlang_cep +pkg_erlang_cep_description = A basic CEP package written in erlang +pkg_erlang_cep_homepage = https://github.com/danmacklin/erlang_cep +pkg_erlang_cep_fetch = git +pkg_erlang_cep_repo = https://github.com/danmacklin/erlang_cep +pkg_erlang_cep_commit = master + +PACKAGES += erlang_js +pkg_erlang_js_name = erlang_js +pkg_erlang_js_description = A linked-in driver for Erlang to Mozilla's Spidermonkey Javascript runtime. +pkg_erlang_js_homepage = https://github.com/basho/erlang_js +pkg_erlang_js_fetch = git +pkg_erlang_js_repo = https://github.com/basho/erlang_js +pkg_erlang_js_commit = master + +PACKAGES += erlang_localtime +pkg_erlang_localtime_name = erlang_localtime +pkg_erlang_localtime_description = Erlang library for conversion from one local time to another +pkg_erlang_localtime_homepage = https://github.com/dmitryme/erlang_localtime +pkg_erlang_localtime_fetch = git +pkg_erlang_localtime_repo = https://github.com/dmitryme/erlang_localtime +pkg_erlang_localtime_commit = master + +PACKAGES += erlang_smtp +pkg_erlang_smtp_name = erlang_smtp +pkg_erlang_smtp_description = Erlang SMTP and POP3 server code. +pkg_erlang_smtp_homepage = https://github.com/tonyg/erlang-smtp +pkg_erlang_smtp_fetch = git +pkg_erlang_smtp_repo = https://github.com/tonyg/erlang-smtp +pkg_erlang_smtp_commit = master + +PACKAGES += erlang_term +pkg_erlang_term_name = erlang_term +pkg_erlang_term_description = Erlang Term Info +pkg_erlang_term_homepage = https://github.com/okeuday/erlang_term +pkg_erlang_term_fetch = git +pkg_erlang_term_repo = https://github.com/okeuday/erlang_term +pkg_erlang_term_commit = master + +PACKAGES += erlastic_search +pkg_erlastic_search_name = erlastic_search +pkg_erlastic_search_description = An Erlang app for communicating with Elastic Search's rest interface. +pkg_erlastic_search_homepage = https://github.com/tsloughter/erlastic_search +pkg_erlastic_search_fetch = git +pkg_erlastic_search_repo = https://github.com/tsloughter/erlastic_search +pkg_erlastic_search_commit = master + +PACKAGES += erlasticsearch +pkg_erlasticsearch_name = erlasticsearch +pkg_erlasticsearch_description = Erlang thrift interface to elastic_search +pkg_erlasticsearch_homepage = https://github.com/dieswaytoofast/erlasticsearch +pkg_erlasticsearch_fetch = git +pkg_erlasticsearch_repo = https://github.com/dieswaytoofast/erlasticsearch +pkg_erlasticsearch_commit = master + +PACKAGES += erlbrake +pkg_erlbrake_name = erlbrake +pkg_erlbrake_description = Erlang Airbrake notification client +pkg_erlbrake_homepage = https://github.com/kenpratt/erlbrake +pkg_erlbrake_fetch = git +pkg_erlbrake_repo = https://github.com/kenpratt/erlbrake +pkg_erlbrake_commit = master + +PACKAGES += erlcloud +pkg_erlcloud_name = erlcloud +pkg_erlcloud_description = Cloud Computing library for erlang (Amazon EC2, S3, SQS, SimpleDB, Mechanical Turk, ELB) +pkg_erlcloud_homepage = https://github.com/gleber/erlcloud +pkg_erlcloud_fetch = git +pkg_erlcloud_repo = https://github.com/gleber/erlcloud +pkg_erlcloud_commit = master + +PACKAGES += erlcron +pkg_erlcron_name = erlcron +pkg_erlcron_description = Erlang cronish system +pkg_erlcron_homepage = https://github.com/erlware/erlcron +pkg_erlcron_fetch = git +pkg_erlcron_repo = https://github.com/erlware/erlcron +pkg_erlcron_commit = master + +PACKAGES += erldb +pkg_erldb_name = erldb +pkg_erldb_description = ORM (Object-relational mapping) application implemented in Erlang +pkg_erldb_homepage = http://erldb.org +pkg_erldb_fetch = git +pkg_erldb_repo = https://github.com/erldb/erldb +pkg_erldb_commit = master + +PACKAGES += erldis +pkg_erldis_name = erldis +pkg_erldis_description = redis erlang client library +pkg_erldis_homepage = https://github.com/cstar/erldis +pkg_erldis_fetch = git +pkg_erldis_repo = https://github.com/cstar/erldis +pkg_erldis_commit = master + +PACKAGES += erldns +pkg_erldns_name = erldns +pkg_erldns_description = DNS server, in erlang. +pkg_erldns_homepage = https://github.com/aetrion/erl-dns +pkg_erldns_fetch = git +pkg_erldns_repo = https://github.com/aetrion/erl-dns +pkg_erldns_commit = master + +PACKAGES += erldocker +pkg_erldocker_name = erldocker +pkg_erldocker_description = Docker Remote API client for Erlang +pkg_erldocker_homepage = https://github.com/proger/erldocker +pkg_erldocker_fetch = git +pkg_erldocker_repo = https://github.com/proger/erldocker +pkg_erldocker_commit = master + +PACKAGES += erlfsmon +pkg_erlfsmon_name = erlfsmon +pkg_erlfsmon_description = Erlang filesystem event watcher for Linux and OSX +pkg_erlfsmon_homepage = https://github.com/proger/erlfsmon +pkg_erlfsmon_fetch = git +pkg_erlfsmon_repo = https://github.com/proger/erlfsmon +pkg_erlfsmon_commit = master + +PACKAGES += erlgit +pkg_erlgit_name = erlgit +pkg_erlgit_description = Erlang convenience wrapper around git executable +pkg_erlgit_homepage = https://github.com/gleber/erlgit +pkg_erlgit_fetch = git +pkg_erlgit_repo = https://github.com/gleber/erlgit +pkg_erlgit_commit = master + +PACKAGES += erlguten +pkg_erlguten_name = erlguten +pkg_erlguten_description = ErlGuten is a system for high-quality typesetting, written purely in Erlang. +pkg_erlguten_homepage = https://github.com/richcarl/erlguten +pkg_erlguten_fetch = git +pkg_erlguten_repo = https://github.com/richcarl/erlguten +pkg_erlguten_commit = master + +PACKAGES += erlmc +pkg_erlmc_name = erlmc +pkg_erlmc_description = Erlang memcached binary protocol client +pkg_erlmc_homepage = https://github.com/jkvor/erlmc +pkg_erlmc_fetch = git +pkg_erlmc_repo = https://github.com/jkvor/erlmc +pkg_erlmc_commit = master + +PACKAGES += erlmongo +pkg_erlmongo_name = erlmongo +pkg_erlmongo_description = Record based Erlang driver for MongoDB with gridfs support +pkg_erlmongo_homepage = https://github.com/SergejJurecko/erlmongo +pkg_erlmongo_fetch = git +pkg_erlmongo_repo = https://github.com/SergejJurecko/erlmongo +pkg_erlmongo_commit = master + +PACKAGES += erlog +pkg_erlog_name = erlog +pkg_erlog_description = Prolog interpreter in and for Erlang +pkg_erlog_homepage = https://github.com/rvirding/erlog +pkg_erlog_fetch = git +pkg_erlog_repo = https://github.com/rvirding/erlog +pkg_erlog_commit = master + +PACKAGES += erlpass +pkg_erlpass_name = erlpass +pkg_erlpass_description = A library to handle password hashing and changing in a safe manner, independent from any kind of storage whatsoever. +pkg_erlpass_homepage = https://github.com/ferd/erlpass +pkg_erlpass_fetch = git +pkg_erlpass_repo = https://github.com/ferd/erlpass +pkg_erlpass_commit = master + +PACKAGES += erlport +pkg_erlport_name = erlport +pkg_erlport_description = ErlPort - connect Erlang to other languages +pkg_erlport_homepage = https://github.com/hdima/erlport +pkg_erlport_fetch = git +pkg_erlport_repo = https://github.com/hdima/erlport +pkg_erlport_commit = master + +PACKAGES += erlsha2 +pkg_erlsha2_name = erlsha2 +pkg_erlsha2_description = SHA-224, SHA-256, SHA-384, SHA-512 implemented in Erlang NIFs. +pkg_erlsha2_homepage = https://github.com/vinoski/erlsha2 +pkg_erlsha2_fetch = git +pkg_erlsha2_repo = https://github.com/vinoski/erlsha2 +pkg_erlsha2_commit = master + +PACKAGES += erlsh +pkg_erlsh_name = erlsh +pkg_erlsh_description = Erlang shell tools +pkg_erlsh_homepage = https://github.com/proger/erlsh +pkg_erlsh_fetch = git +pkg_erlsh_repo = https://github.com/proger/erlsh +pkg_erlsh_commit = master + +PACKAGES += erlsom +pkg_erlsom_name = erlsom +pkg_erlsom_description = XML parser for Erlang +pkg_erlsom_homepage = https://github.com/willemdj/erlsom +pkg_erlsom_fetch = git +pkg_erlsom_repo = https://github.com/willemdj/erlsom +pkg_erlsom_commit = master + +PACKAGES += erl_streams +pkg_erl_streams_name = erl_streams +pkg_erl_streams_description = Streams in Erlang +pkg_erl_streams_homepage = https://github.com/epappas/erl_streams +pkg_erl_streams_fetch = git +pkg_erl_streams_repo = https://github.com/epappas/erl_streams +pkg_erl_streams_commit = master + +PACKAGES += erlubi +pkg_erlubi_name = erlubi +pkg_erlubi_description = Ubigraph Erlang Client (and Process Visualizer) +pkg_erlubi_homepage = https://github.com/krestenkrab/erlubi +pkg_erlubi_fetch = git +pkg_erlubi_repo = https://github.com/krestenkrab/erlubi +pkg_erlubi_commit = master + +PACKAGES += erlvolt +pkg_erlvolt_name = erlvolt +pkg_erlvolt_description = VoltDB Erlang Client Driver +pkg_erlvolt_homepage = https://github.com/VoltDB/voltdb-client-erlang +pkg_erlvolt_fetch = git +pkg_erlvolt_repo = https://github.com/VoltDB/voltdb-client-erlang +pkg_erlvolt_commit = master + +PACKAGES += erlware_commons +pkg_erlware_commons_name = erlware_commons +pkg_erlware_commons_description = Erlware Commons is an Erlware project focused on all aspects of reusable Erlang components. +pkg_erlware_commons_homepage = https://github.com/erlware/erlware_commons +pkg_erlware_commons_fetch = git +pkg_erlware_commons_repo = https://github.com/erlware/erlware_commons +pkg_erlware_commons_commit = master + +PACKAGES += erlydtl +pkg_erlydtl_name = erlydtl +pkg_erlydtl_description = Django Template Language for Erlang. +pkg_erlydtl_homepage = https://github.com/erlydtl/erlydtl +pkg_erlydtl_fetch = git +pkg_erlydtl_repo = https://github.com/erlydtl/erlydtl +pkg_erlydtl_commit = master + +PACKAGES += errd +pkg_errd_name = errd +pkg_errd_description = Erlang RRDTool library +pkg_errd_homepage = https://github.com/archaelus/errd +pkg_errd_fetch = git +pkg_errd_repo = https://github.com/archaelus/errd +pkg_errd_commit = master + +PACKAGES += erserve +pkg_erserve_name = erserve +pkg_erserve_description = Erlang/Rserve communication interface +pkg_erserve_homepage = https://github.com/del/erserve +pkg_erserve_fetch = git +pkg_erserve_repo = https://github.com/del/erserve +pkg_erserve_commit = master + +PACKAGES += erwa +pkg_erwa_name = erwa +pkg_erwa_description = A WAMP router and client written in Erlang. +pkg_erwa_homepage = https://github.com/bwegh/erwa +pkg_erwa_fetch = git +pkg_erwa_repo = https://github.com/bwegh/erwa +pkg_erwa_commit = 0.1.1 + +PACKAGES += espec +pkg_espec_name = espec +pkg_espec_description = ESpec: Behaviour driven development framework for Erlang +pkg_espec_homepage = https://github.com/lucaspiller/espec +pkg_espec_fetch = git +pkg_espec_repo = https://github.com/lucaspiller/espec +pkg_espec_commit = master + +PACKAGES += estatsd +pkg_estatsd_name = estatsd +pkg_estatsd_description = Erlang stats aggregation app that periodically flushes data to graphite +pkg_estatsd_homepage = https://github.com/RJ/estatsd +pkg_estatsd_fetch = git +pkg_estatsd_repo = https://github.com/RJ/estatsd +pkg_estatsd_commit = master + +PACKAGES += etap +pkg_etap_name = etap +pkg_etap_description = etap is a simple erlang testing library that provides TAP compliant output. +pkg_etap_homepage = https://github.com/ngerakines/etap +pkg_etap_fetch = git +pkg_etap_repo = https://github.com/ngerakines/etap +pkg_etap_commit = master + +PACKAGES += etest_http +pkg_etest_http_name = etest_http +pkg_etest_http_description = etest Assertions around HTTP (client-side) +pkg_etest_http_homepage = https://github.com/wooga/etest_http +pkg_etest_http_fetch = git +pkg_etest_http_repo = https://github.com/wooga/etest_http +pkg_etest_http_commit = master + +PACKAGES += etest +pkg_etest_name = etest +pkg_etest_description = A lightweight, convention over configuration test framework for Erlang +pkg_etest_homepage = https://github.com/wooga/etest +pkg_etest_fetch = git +pkg_etest_repo = https://github.com/wooga/etest +pkg_etest_commit = master + +PACKAGES += etoml +pkg_etoml_name = etoml +pkg_etoml_description = TOML language erlang parser +pkg_etoml_homepage = https://github.com/kalta/etoml +pkg_etoml_fetch = git +pkg_etoml_repo = https://github.com/kalta/etoml +pkg_etoml_commit = master + +PACKAGES += eunit_formatters +pkg_eunit_formatters_name = eunit_formatters +pkg_eunit_formatters_description = Because eunit's output sucks. Let's make it better. +pkg_eunit_formatters_homepage = https://github.com/seancribbs/eunit_formatters +pkg_eunit_formatters_fetch = git +pkg_eunit_formatters_repo = https://github.com/seancribbs/eunit_formatters +pkg_eunit_formatters_commit = master + +PACKAGES += eunit +pkg_eunit_name = eunit +pkg_eunit_description = The EUnit lightweight unit testing framework for Erlang - this is the canonical development repository. +pkg_eunit_homepage = https://github.com/richcarl/eunit +pkg_eunit_fetch = git +pkg_eunit_repo = https://github.com/richcarl/eunit +pkg_eunit_commit = master + +PACKAGES += euthanasia +pkg_euthanasia_name = euthanasia +pkg_euthanasia_description = Merciful killer for your Erlang processes +pkg_euthanasia_homepage = https://github.com/doubleyou/euthanasia +pkg_euthanasia_fetch = git +pkg_euthanasia_repo = https://github.com/doubleyou/euthanasia +pkg_euthanasia_commit = master + +PACKAGES += evum +pkg_evum_name = evum +pkg_evum_description = Spawn Linux VMs as Erlang processes in the Erlang VM +pkg_evum_homepage = https://github.com/msantos/evum +pkg_evum_fetch = git +pkg_evum_repo = https://github.com/msantos/evum +pkg_evum_commit = master + +PACKAGES += exec +pkg_exec_name = exec +pkg_exec_description = Execute and control OS processes from Erlang/OTP. +pkg_exec_homepage = http://saleyn.github.com/erlexec +pkg_exec_fetch = git +pkg_exec_repo = https://github.com/saleyn/erlexec +pkg_exec_commit = master + +PACKAGES += exml +pkg_exml_name = exml +pkg_exml_description = XML parsing library in Erlang +pkg_exml_homepage = https://github.com/paulgray/exml +pkg_exml_fetch = git +pkg_exml_repo = https://github.com/paulgray/exml +pkg_exml_commit = master + +PACKAGES += exometer +pkg_exometer_name = exometer +pkg_exometer_description = Basic measurement objects and probe behavior +pkg_exometer_homepage = https://github.com/Feuerlabs/exometer +pkg_exometer_fetch = git +pkg_exometer_repo = https://github.com/Feuerlabs/exometer +pkg_exometer_commit = 1.2 + +PACKAGES += exs1024 +pkg_exs1024_name = exs1024 +pkg_exs1024_description = Xorshift1024star pseudo random number generator for Erlang. +pkg_exs1024_homepage = https://github.com/jj1bdx/exs1024 +pkg_exs1024_fetch = git +pkg_exs1024_repo = https://github.com/jj1bdx/exs1024 +pkg_exs1024_commit = master + +PACKAGES += exs64 +pkg_exs64_name = exs64 +pkg_exs64_description = Xorshift64star pseudo random number generator for Erlang. +pkg_exs64_homepage = https://github.com/jj1bdx/exs64 +pkg_exs64_fetch = git +pkg_exs64_repo = https://github.com/jj1bdx/exs64 +pkg_exs64_commit = master + +PACKAGES += exsplus116 +pkg_exsplus116_name = exsplus116 +pkg_exsplus116_description = Xorshift116plus for Erlang +pkg_exsplus116_homepage = https://github.com/jj1bdx/exsplus116 +pkg_exsplus116_fetch = git +pkg_exsplus116_repo = https://github.com/jj1bdx/exsplus116 +pkg_exsplus116_commit = master + +PACKAGES += exsplus128 +pkg_exsplus128_name = exsplus128 +pkg_exsplus128_description = Xorshift128plus pseudo random number generator for Erlang. +pkg_exsplus128_homepage = https://github.com/jj1bdx/exsplus128 +pkg_exsplus128_fetch = git +pkg_exsplus128_repo = https://github.com/jj1bdx/exsplus128 +pkg_exsplus128_commit = master + +PACKAGES += ezmq +pkg_ezmq_name = ezmq +pkg_ezmq_description = zMQ implemented in Erlang +pkg_ezmq_homepage = https://github.com/RoadRunnr/ezmq +pkg_ezmq_fetch = git +pkg_ezmq_repo = https://github.com/RoadRunnr/ezmq +pkg_ezmq_commit = master + +PACKAGES += ezmtp +pkg_ezmtp_name = ezmtp +pkg_ezmtp_description = ZMTP protocol in pure Erlang. +pkg_ezmtp_homepage = https://github.com/a13x/ezmtp +pkg_ezmtp_fetch = git +pkg_ezmtp_repo = https://github.com/a13x/ezmtp +pkg_ezmtp_commit = master + +PACKAGES += fast_disk_log +pkg_fast_disk_log_name = fast_disk_log +pkg_fast_disk_log_description = Pool-based asynchronous Erlang disk logger +pkg_fast_disk_log_homepage = https://github.com/lpgauth/fast_disk_log +pkg_fast_disk_log_fetch = git +pkg_fast_disk_log_repo = https://github.com/lpgauth/fast_disk_log +pkg_fast_disk_log_commit = master + +PACKAGES += feeder +pkg_feeder_name = feeder +pkg_feeder_description = Stream parse RSS and Atom formatted XML feeds. +pkg_feeder_homepage = https://github.com/michaelnisi/feeder +pkg_feeder_fetch = git +pkg_feeder_repo = https://github.com/michaelnisi/feeder +pkg_feeder_commit = v1.4.6 + +PACKAGES += fix +pkg_fix_name = fix +pkg_fix_description = http://fixprotocol.org/ implementation. +pkg_fix_homepage = https://github.com/maxlapshin/fix +pkg_fix_fetch = git +pkg_fix_repo = https://github.com/maxlapshin/fix +pkg_fix_commit = master + +PACKAGES += flower +pkg_flower_name = flower +pkg_flower_description = FlowER - a Erlang OpenFlow development platform +pkg_flower_homepage = https://github.com/travelping/flower +pkg_flower_fetch = git +pkg_flower_repo = https://github.com/travelping/flower +pkg_flower_commit = master + +PACKAGES += fn +pkg_fn_name = fn +pkg_fn_description = Function utilities for Erlang +pkg_fn_homepage = https://github.com/reiddraper/fn +pkg_fn_fetch = git +pkg_fn_repo = https://github.com/reiddraper/fn +pkg_fn_commit = master + +PACKAGES += folsom_cowboy +pkg_folsom_cowboy_name = folsom_cowboy +pkg_folsom_cowboy_description = A Cowboy based Folsom HTTP Wrapper. +pkg_folsom_cowboy_homepage = https://github.com/boundary/folsom_cowboy +pkg_folsom_cowboy_fetch = git +pkg_folsom_cowboy_repo = https://github.com/boundary/folsom_cowboy +pkg_folsom_cowboy_commit = master + +PACKAGES += folsomite +pkg_folsomite_name = folsomite +pkg_folsomite_description = blow up your graphite / riemann server with folsom metrics +pkg_folsomite_homepage = https://github.com/campanja/folsomite +pkg_folsomite_fetch = git +pkg_folsomite_repo = https://github.com/campanja/folsomite +pkg_folsomite_commit = master + +PACKAGES += folsom +pkg_folsom_name = folsom +pkg_folsom_description = Expose Erlang Events and Metrics +pkg_folsom_homepage = https://github.com/boundary/folsom +pkg_folsom_fetch = git +pkg_folsom_repo = https://github.com/boundary/folsom +pkg_folsom_commit = master + +PACKAGES += fs +pkg_fs_name = fs +pkg_fs_description = Erlang FileSystem Listener +pkg_fs_homepage = https://github.com/synrc/fs +pkg_fs_fetch = git +pkg_fs_repo = https://github.com/synrc/fs +pkg_fs_commit = master + +PACKAGES += fuse +pkg_fuse_name = fuse +pkg_fuse_description = A Circuit Breaker for Erlang +pkg_fuse_homepage = https://github.com/jlouis/fuse +pkg_fuse_fetch = git +pkg_fuse_repo = https://github.com/jlouis/fuse +pkg_fuse_commit = master + +PACKAGES += gcm +pkg_gcm_name = gcm +pkg_gcm_description = An Erlang application for Google Cloud Messaging +pkg_gcm_homepage = https://github.com/pdincau/gcm-erlang +pkg_gcm_fetch = git +pkg_gcm_repo = https://github.com/pdincau/gcm-erlang +pkg_gcm_commit = master + +PACKAGES += gcprof +pkg_gcprof_name = gcprof +pkg_gcprof_description = Garbage Collection profiler for Erlang +pkg_gcprof_homepage = https://github.com/knutin/gcprof +pkg_gcprof_fetch = git +pkg_gcprof_repo = https://github.com/knutin/gcprof +pkg_gcprof_commit = master + +PACKAGES += geas +pkg_geas_name = geas +pkg_geas_description = Guess Erlang Application Scattering +pkg_geas_homepage = https://github.com/crownedgrouse/geas +pkg_geas_fetch = git +pkg_geas_repo = https://github.com/crownedgrouse/geas +pkg_geas_commit = master + +PACKAGES += geef +pkg_geef_name = geef +pkg_geef_description = Git NEEEEF (Erlang NIF) +pkg_geef_homepage = https://github.com/carlosmn/geef +pkg_geef_fetch = git +pkg_geef_repo = https://github.com/carlosmn/geef +pkg_geef_commit = master + +PACKAGES += gen_cycle +pkg_gen_cycle_name = gen_cycle +pkg_gen_cycle_description = Simple, generic OTP behaviour for recurring tasks +pkg_gen_cycle_homepage = https://github.com/aerosol/gen_cycle +pkg_gen_cycle_fetch = git +pkg_gen_cycle_repo = https://github.com/aerosol/gen_cycle +pkg_gen_cycle_commit = develop + +PACKAGES += gen_icmp +pkg_gen_icmp_name = gen_icmp +pkg_gen_icmp_description = Erlang interface to ICMP sockets +pkg_gen_icmp_homepage = https://github.com/msantos/gen_icmp +pkg_gen_icmp_fetch = git +pkg_gen_icmp_repo = https://github.com/msantos/gen_icmp +pkg_gen_icmp_commit = master + +PACKAGES += gen_nb_server +pkg_gen_nb_server_name = gen_nb_server +pkg_gen_nb_server_description = OTP behavior for writing non-blocking servers +pkg_gen_nb_server_homepage = https://github.com/kevsmith/gen_nb_server +pkg_gen_nb_server_fetch = git +pkg_gen_nb_server_repo = https://github.com/kevsmith/gen_nb_server +pkg_gen_nb_server_commit = master + +PACKAGES += gen_paxos +pkg_gen_paxos_name = gen_paxos +pkg_gen_paxos_description = An Erlang/OTP-style implementation of the PAXOS distributed consensus protocol +pkg_gen_paxos_homepage = https://github.com/gburd/gen_paxos +pkg_gen_paxos_fetch = git +pkg_gen_paxos_repo = https://github.com/gburd/gen_paxos +pkg_gen_paxos_commit = master + +PACKAGES += gen_smtp +pkg_gen_smtp_name = gen_smtp +pkg_gen_smtp_description = A generic Erlang SMTP server and client that can be extended via callback modules +pkg_gen_smtp_homepage = https://github.com/Vagabond/gen_smtp +pkg_gen_smtp_fetch = git +pkg_gen_smtp_repo = https://github.com/Vagabond/gen_smtp +pkg_gen_smtp_commit = master + +PACKAGES += gen_tracker +pkg_gen_tracker_name = gen_tracker +pkg_gen_tracker_description = supervisor with ets handling of children and their metadata +pkg_gen_tracker_homepage = https://github.com/erlyvideo/gen_tracker +pkg_gen_tracker_fetch = git +pkg_gen_tracker_repo = https://github.com/erlyvideo/gen_tracker +pkg_gen_tracker_commit = master + +PACKAGES += gen_unix +pkg_gen_unix_name = gen_unix +pkg_gen_unix_description = Erlang Unix socket interface +pkg_gen_unix_homepage = https://github.com/msantos/gen_unix +pkg_gen_unix_fetch = git +pkg_gen_unix_repo = https://github.com/msantos/gen_unix +pkg_gen_unix_commit = master + +PACKAGES += getopt +pkg_getopt_name = getopt +pkg_getopt_description = Module to parse command line arguments using the GNU getopt syntax +pkg_getopt_homepage = https://github.com/jcomellas/getopt +pkg_getopt_fetch = git +pkg_getopt_repo = https://github.com/jcomellas/getopt +pkg_getopt_commit = master + +PACKAGES += gettext +pkg_gettext_name = gettext +pkg_gettext_description = Erlang internationalization library. +pkg_gettext_homepage = https://github.com/etnt/gettext +pkg_gettext_fetch = git +pkg_gettext_repo = https://github.com/etnt/gettext +pkg_gettext_commit = master + +PACKAGES += giallo +pkg_giallo_name = giallo +pkg_giallo_description = Small and flexible web framework on top of Cowboy +pkg_giallo_homepage = https://github.com/kivra/giallo +pkg_giallo_fetch = git +pkg_giallo_repo = https://github.com/kivra/giallo +pkg_giallo_commit = master + +PACKAGES += gin +pkg_gin_name = gin +pkg_gin_description = The guards and for Erlang parse_transform +pkg_gin_homepage = https://github.com/mad-cocktail/gin +pkg_gin_fetch = git +pkg_gin_repo = https://github.com/mad-cocktail/gin +pkg_gin_commit = master + +PACKAGES += gitty +pkg_gitty_name = gitty +pkg_gitty_description = Git access in erlang +pkg_gitty_homepage = https://github.com/maxlapshin/gitty +pkg_gitty_fetch = git +pkg_gitty_repo = https://github.com/maxlapshin/gitty +pkg_gitty_commit = master + +PACKAGES += gold_fever +pkg_gold_fever_name = gold_fever +pkg_gold_fever_description = A Treasure Hunt for Erlangers +pkg_gold_fever_homepage = https://github.com/inaka/gold_fever +pkg_gold_fever_fetch = git +pkg_gold_fever_repo = https://github.com/inaka/gold_fever +pkg_gold_fever_commit = master + +PACKAGES += gossiperl +pkg_gossiperl_name = gossiperl +pkg_gossiperl_description = Gossip middleware in Erlang +pkg_gossiperl_homepage = http://gossiperl.com/ +pkg_gossiperl_fetch = git +pkg_gossiperl_repo = https://github.com/gossiperl/gossiperl +pkg_gossiperl_commit = master + +PACKAGES += gpb +pkg_gpb_name = gpb +pkg_gpb_description = A Google Protobuf implementation for Erlang +pkg_gpb_homepage = https://github.com/tomas-abrahamsson/gpb +pkg_gpb_fetch = git +pkg_gpb_repo = https://github.com/tomas-abrahamsson/gpb +pkg_gpb_commit = master + +PACKAGES += gproc +pkg_gproc_name = gproc +pkg_gproc_description = Extended process registry for Erlang +pkg_gproc_homepage = https://github.com/uwiger/gproc +pkg_gproc_fetch = git +pkg_gproc_repo = https://github.com/uwiger/gproc +pkg_gproc_commit = master + +PACKAGES += grapherl +pkg_grapherl_name = grapherl +pkg_grapherl_description = Create graphs of Erlang systems and programs +pkg_grapherl_homepage = https://github.com/eproxus/grapherl +pkg_grapherl_fetch = git +pkg_grapherl_repo = https://github.com/eproxus/grapherl +pkg_grapherl_commit = master + +PACKAGES += gun +pkg_gun_name = gun +pkg_gun_description = Asynchronous SPDY, HTTP and Websocket client written in Erlang. +pkg_gun_homepage = http//ninenines.eu +pkg_gun_fetch = git +pkg_gun_repo = https://github.com/ninenines/gun +pkg_gun_commit = master + +PACKAGES += hackney +pkg_hackney_name = hackney +pkg_hackney_description = simple HTTP client in Erlang +pkg_hackney_homepage = https://github.com/benoitc/hackney +pkg_hackney_fetch = git +pkg_hackney_repo = https://github.com/benoitc/hackney +pkg_hackney_commit = master + +PACKAGES += hamcrest +pkg_hamcrest_name = hamcrest +pkg_hamcrest_description = Erlang port of Hamcrest +pkg_hamcrest_homepage = https://github.com/hyperthunk/hamcrest-erlang +pkg_hamcrest_fetch = git +pkg_hamcrest_repo = https://github.com/hyperthunk/hamcrest-erlang +pkg_hamcrest_commit = master + +PACKAGES += hanoidb +pkg_hanoidb_name = hanoidb +pkg_hanoidb_description = Erlang LSM BTree Storage +pkg_hanoidb_homepage = https://github.com/krestenkrab/hanoidb +pkg_hanoidb_fetch = git +pkg_hanoidb_repo = https://github.com/krestenkrab/hanoidb +pkg_hanoidb_commit = master + +PACKAGES += hottub +pkg_hottub_name = hottub +pkg_hottub_description = Permanent Erlang Worker Pool +pkg_hottub_homepage = https://github.com/bfrog/hottub +pkg_hottub_fetch = git +pkg_hottub_repo = https://github.com/bfrog/hottub +pkg_hottub_commit = master + +PACKAGES += hpack +pkg_hpack_name = hpack +pkg_hpack_description = HPACK Implementation for Erlang +pkg_hpack_homepage = https://github.com/joedevivo/hpack +pkg_hpack_fetch = git +pkg_hpack_repo = https://github.com/joedevivo/hpack +pkg_hpack_commit = master + +PACKAGES += hyper +pkg_hyper_name = hyper +pkg_hyper_description = Erlang implementation of HyperLogLog +pkg_hyper_homepage = https://github.com/GameAnalytics/hyper +pkg_hyper_fetch = git +pkg_hyper_repo = https://github.com/GameAnalytics/hyper +pkg_hyper_commit = master + +PACKAGES += ibrowse +pkg_ibrowse_name = ibrowse +pkg_ibrowse_description = Erlang HTTP client +pkg_ibrowse_homepage = https://github.com/cmullaparthi/ibrowse +pkg_ibrowse_fetch = git +pkg_ibrowse_repo = https://github.com/cmullaparthi/ibrowse +pkg_ibrowse_commit = v4.1.1 + +PACKAGES += ierlang +pkg_ierlang_name = ierlang +pkg_ierlang_description = An Erlang language kernel for IPython. +pkg_ierlang_homepage = https://github.com/robbielynch/ierlang +pkg_ierlang_fetch = git +pkg_ierlang_repo = https://github.com/robbielynch/ierlang +pkg_ierlang_commit = master + +PACKAGES += iota +pkg_iota_name = iota +pkg_iota_description = iota (Inter-dependency Objective Testing Apparatus) - a tool to enforce clean separation of responsibilities in Erlang code +pkg_iota_homepage = https://github.com/jpgneves/iota +pkg_iota_fetch = git +pkg_iota_repo = https://github.com/jpgneves/iota +pkg_iota_commit = master + +PACKAGES += ircd +pkg_ircd_name = ircd +pkg_ircd_description = A pluggable IRC daemon application/library for Erlang. +pkg_ircd_homepage = https://github.com/tonyg/erlang-ircd +pkg_ircd_fetch = git +pkg_ircd_repo = https://github.com/tonyg/erlang-ircd +pkg_ircd_commit = master + +PACKAGES += irc_lib +pkg_irc_lib_name = irc_lib +pkg_irc_lib_description = Erlang irc client library +pkg_irc_lib_homepage = https://github.com/OtpChatBot/irc_lib +pkg_irc_lib_fetch = git +pkg_irc_lib_repo = https://github.com/OtpChatBot/irc_lib +pkg_irc_lib_commit = master + +PACKAGES += iris +pkg_iris_name = iris +pkg_iris_description = Iris Erlang binding +pkg_iris_homepage = https://github.com/project-iris/iris-erl +pkg_iris_fetch = git +pkg_iris_repo = https://github.com/project-iris/iris-erl +pkg_iris_commit = master + +PACKAGES += iso8601 +pkg_iso8601_name = iso8601 +pkg_iso8601_description = Erlang ISO 8601 date formatter/parser +pkg_iso8601_homepage = https://github.com/seansawyer/erlang_iso8601 +pkg_iso8601_fetch = git +pkg_iso8601_repo = https://github.com/seansawyer/erlang_iso8601 +pkg_iso8601_commit = master + +PACKAGES += itweet +pkg_itweet_name = itweet +pkg_itweet_description = Twitter Stream API on ibrowse +pkg_itweet_homepage = http://inaka.github.com/itweet/ +pkg_itweet_fetch = git +pkg_itweet_repo = https://github.com/inaka/itweet +pkg_itweet_commit = v2.0 + +PACKAGES += jerg +pkg_jerg_name = jerg +pkg_jerg_description = JSON Schema to Erlang Records Generator +pkg_jerg_homepage = https://github.com/ddossot/jerg +pkg_jerg_fetch = git +pkg_jerg_repo = https://github.com/ddossot/jerg +pkg_jerg_commit = master + +PACKAGES += jesse +pkg_jesse_name = jesse +pkg_jesse_description = jesse (JSon Schema Erlang) is an implementation of a json schema validator for Erlang. +pkg_jesse_homepage = https://github.com/klarna/jesse +pkg_jesse_fetch = git +pkg_jesse_repo = https://github.com/klarna/jesse +pkg_jesse_commit = master + +PACKAGES += jiffy +pkg_jiffy_name = jiffy +pkg_jiffy_description = JSON NIFs for Erlang. +pkg_jiffy_homepage = https://github.com/davisp/jiffy +pkg_jiffy_fetch = git +pkg_jiffy_repo = https://github.com/davisp/jiffy +pkg_jiffy_commit = master + +PACKAGES += jiffy_v +pkg_jiffy_v_name = jiffy_v +pkg_jiffy_v_description = JSON validation utility +pkg_jiffy_v_homepage = https://github.com/shizzard/jiffy-v +pkg_jiffy_v_fetch = git +pkg_jiffy_v_repo = https://github.com/shizzard/jiffy-v +pkg_jiffy_v_commit = 0.3.3 + +PACKAGES += jobs +pkg_jobs_name = jobs +pkg_jobs_description = a Job scheduler for load regulation +pkg_jobs_homepage = https://github.com/esl/jobs +pkg_jobs_fetch = git +pkg_jobs_repo = https://github.com/esl/jobs +pkg_jobs_commit = 0.3 + +PACKAGES += joxa +pkg_joxa_name = joxa +pkg_joxa_description = A Modern Lisp for the Erlang VM +pkg_joxa_homepage = https://github.com/joxa/joxa +pkg_joxa_fetch = git +pkg_joxa_repo = https://github.com/joxa/joxa +pkg_joxa_commit = master + +PACKAGES += jsonerl +pkg_jsonerl_name = jsonerl +pkg_jsonerl_description = yet another but slightly different erlang <-> json encoder/decoder +pkg_jsonerl_homepage = https://github.com/lambder/jsonerl +pkg_jsonerl_fetch = git +pkg_jsonerl_repo = https://github.com/lambder/jsonerl +pkg_jsonerl_commit = master + +PACKAGES += json +pkg_json_name = json +pkg_json_description = a high level json library for erlang (17.0+) +pkg_json_homepage = https://github.com/talentdeficit/json +pkg_json_fetch = git +pkg_json_repo = https://github.com/talentdeficit/json +pkg_json_commit = master + +PACKAGES += jsonpath +pkg_jsonpath_name = jsonpath +pkg_jsonpath_description = Fast Erlang JSON data retrieval and updates via javascript-like notation +pkg_jsonpath_homepage = https://github.com/GeneStevens/jsonpath +pkg_jsonpath_fetch = git +pkg_jsonpath_repo = https://github.com/GeneStevens/jsonpath +pkg_jsonpath_commit = master + +PACKAGES += json_rec +pkg_json_rec_name = json_rec +pkg_json_rec_description = JSON to erlang record +pkg_json_rec_homepage = https://github.com/justinkirby/json_rec +pkg_json_rec_fetch = git +pkg_json_rec_repo = https://github.com/justinkirby/json_rec +pkg_json_rec_commit = master + +PACKAGES += jsonx +pkg_jsonx_name = jsonx +pkg_jsonx_description = JSONX is an Erlang library for efficient decode and encode JSON, written in C. +pkg_jsonx_homepage = https://github.com/iskra/jsonx +pkg_jsonx_fetch = git +pkg_jsonx_repo = https://github.com/iskra/jsonx +pkg_jsonx_commit = master + +PACKAGES += jsx +pkg_jsx_name = jsx +pkg_jsx_description = An Erlang application for consuming, producing and manipulating JSON. +pkg_jsx_homepage = https://github.com/talentdeficit/jsx +pkg_jsx_fetch = git +pkg_jsx_repo = https://github.com/talentdeficit/jsx +pkg_jsx_commit = master + +PACKAGES += kafka +pkg_kafka_name = kafka +pkg_kafka_description = Kafka consumer and producer in Erlang +pkg_kafka_homepage = https://github.com/wooga/kafka-erlang +pkg_kafka_fetch = git +pkg_kafka_repo = https://github.com/wooga/kafka-erlang +pkg_kafka_commit = master + +PACKAGES += kai +pkg_kai_name = kai +pkg_kai_description = DHT storage by Takeshi Inoue +pkg_kai_homepage = https://github.com/synrc/kai +pkg_kai_fetch = git +pkg_kai_repo = https://github.com/synrc/kai +pkg_kai_commit = master + +PACKAGES += katja +pkg_katja_name = katja +pkg_katja_description = A simple Riemann client written in Erlang. +pkg_katja_homepage = https://github.com/nifoc/katja +pkg_katja_fetch = git +pkg_katja_repo = https://github.com/nifoc/katja +pkg_katja_commit = master + +PACKAGES += kdht +pkg_kdht_name = kdht +pkg_kdht_description = kdht is an erlang DHT implementation +pkg_kdht_homepage = https://github.com/kevinlynx/kdht +pkg_kdht_fetch = git +pkg_kdht_repo = https://github.com/kevinlynx/kdht +pkg_kdht_commit = master + +PACKAGES += key2value +pkg_key2value_name = key2value +pkg_key2value_description = Erlang 2-way map +pkg_key2value_homepage = https://github.com/okeuday/key2value +pkg_key2value_fetch = git +pkg_key2value_repo = https://github.com/okeuday/key2value +pkg_key2value_commit = master + +PACKAGES += keys1value +pkg_keys1value_name = keys1value +pkg_keys1value_description = Erlang set associative map for key lists +pkg_keys1value_homepage = https://github.com/okeuday/keys1value +pkg_keys1value_fetch = git +pkg_keys1value_repo = https://github.com/okeuday/keys1value +pkg_keys1value_commit = master + +PACKAGES += kinetic +pkg_kinetic_name = kinetic +pkg_kinetic_description = Erlang Kinesis Client +pkg_kinetic_homepage = https://github.com/AdRoll/kinetic +pkg_kinetic_fetch = git +pkg_kinetic_repo = https://github.com/AdRoll/kinetic +pkg_kinetic_commit = master + +PACKAGES += kjell +pkg_kjell_name = kjell +pkg_kjell_description = Erlang Shell +pkg_kjell_homepage = https://github.com/karlll/kjell +pkg_kjell_fetch = git +pkg_kjell_repo = https://github.com/karlll/kjell +pkg_kjell_commit = master + +PACKAGES += kraken +pkg_kraken_name = kraken +pkg_kraken_description = Distributed Pubsub Server for Realtime Apps +pkg_kraken_homepage = https://github.com/Asana/kraken +pkg_kraken_fetch = git +pkg_kraken_repo = https://github.com/Asana/kraken +pkg_kraken_commit = master + +PACKAGES += kucumberl +pkg_kucumberl_name = kucumberl +pkg_kucumberl_description = A pure-erlang, open-source, implementation of Cucumber +pkg_kucumberl_homepage = https://github.com/openshine/kucumberl +pkg_kucumberl_fetch = git +pkg_kucumberl_repo = https://github.com/openshine/kucumberl +pkg_kucumberl_commit = master + +PACKAGES += kvc +pkg_kvc_name = kvc +pkg_kvc_description = KVC - Key Value Coding for Erlang data structures +pkg_kvc_homepage = https://github.com/etrepum/kvc +pkg_kvc_fetch = git +pkg_kvc_repo = https://github.com/etrepum/kvc +pkg_kvc_commit = master + +PACKAGES += kvlists +pkg_kvlists_name = kvlists +pkg_kvlists_description = Lists of key-value pairs (decoded JSON) in Erlang +pkg_kvlists_homepage = https://github.com/jcomellas/kvlists +pkg_kvlists_fetch = git +pkg_kvlists_repo = https://github.com/jcomellas/kvlists +pkg_kvlists_commit = master + +PACKAGES += kvs +pkg_kvs_name = kvs +pkg_kvs_description = Container and Iterator +pkg_kvs_homepage = https://github.com/synrc/kvs +pkg_kvs_fetch = git +pkg_kvs_repo = https://github.com/synrc/kvs +pkg_kvs_commit = master + +PACKAGES += lager_amqp_backend +pkg_lager_amqp_backend_name = lager_amqp_backend +pkg_lager_amqp_backend_description = AMQP RabbitMQ Lager backend +pkg_lager_amqp_backend_homepage = https://github.com/jbrisbin/lager_amqp_backend +pkg_lager_amqp_backend_fetch = git +pkg_lager_amqp_backend_repo = https://github.com/jbrisbin/lager_amqp_backend +pkg_lager_amqp_backend_commit = master + +PACKAGES += lager +pkg_lager_name = lager +pkg_lager_description = A logging framework for Erlang/OTP. +pkg_lager_homepage = https://github.com/basho/lager +pkg_lager_fetch = git +pkg_lager_repo = https://github.com/basho/lager +pkg_lager_commit = master + +PACKAGES += lager_syslog +pkg_lager_syslog_name = lager_syslog +pkg_lager_syslog_description = Syslog backend for lager +pkg_lager_syslog_homepage = https://github.com/basho/lager_syslog +pkg_lager_syslog_fetch = git +pkg_lager_syslog_repo = https://github.com/basho/lager_syslog +pkg_lager_syslog_commit = master + +PACKAGES += lambdapad +pkg_lambdapad_name = lambdapad +pkg_lambdapad_description = Static site generator using Erlang. Yes, Erlang. +pkg_lambdapad_homepage = https://github.com/gar1t/lambdapad +pkg_lambdapad_fetch = git +pkg_lambdapad_repo = https://github.com/gar1t/lambdapad +pkg_lambdapad_commit = master + +PACKAGES += lasp +pkg_lasp_name = lasp +pkg_lasp_description = A Language for Distributed, Eventually Consistent Computations +pkg_lasp_homepage = http://lasp-lang.org/ +pkg_lasp_fetch = git +pkg_lasp_repo = https://github.com/lasp-lang/lasp +pkg_lasp_commit = master + +PACKAGES += lasse +pkg_lasse_name = lasse +pkg_lasse_description = SSE handler for Cowboy +pkg_lasse_homepage = https://github.com/inaka/lasse +pkg_lasse_fetch = git +pkg_lasse_repo = https://github.com/inaka/lasse +pkg_lasse_commit = 0.1.0 + +PACKAGES += ldap +pkg_ldap_name = ldap +pkg_ldap_description = LDAP server written in Erlang +pkg_ldap_homepage = https://github.com/spawnproc/ldap +pkg_ldap_fetch = git +pkg_ldap_repo = https://github.com/spawnproc/ldap +pkg_ldap_commit = master + +PACKAGES += lethink +pkg_lethink_name = lethink +pkg_lethink_description = erlang driver for rethinkdb +pkg_lethink_homepage = https://github.com/taybin/lethink +pkg_lethink_fetch = git +pkg_lethink_repo = https://github.com/taybin/lethink +pkg_lethink_commit = master + +PACKAGES += lfe +pkg_lfe_name = lfe +pkg_lfe_description = Lisp Flavoured Erlang (LFE) +pkg_lfe_homepage = https://github.com/rvirding/lfe +pkg_lfe_fetch = git +pkg_lfe_repo = https://github.com/rvirding/lfe +pkg_lfe_commit = master + +PACKAGES += ling +pkg_ling_name = ling +pkg_ling_description = Erlang on Xen +pkg_ling_homepage = https://github.com/cloudozer/ling +pkg_ling_fetch = git +pkg_ling_repo = https://github.com/cloudozer/ling +pkg_ling_commit = master + +PACKAGES += live +pkg_live_name = live +pkg_live_description = Automated module and configuration reloader. +pkg_live_homepage = http://ninenines.eu +pkg_live_fetch = git +pkg_live_repo = https://github.com/ninenines/live +pkg_live_commit = master + +PACKAGES += lmq +pkg_lmq_name = lmq +pkg_lmq_description = Lightweight Message Queue +pkg_lmq_homepage = https://github.com/iij/lmq +pkg_lmq_fetch = git +pkg_lmq_repo = https://github.com/iij/lmq +pkg_lmq_commit = master + +PACKAGES += locker +pkg_locker_name = locker +pkg_locker_description = Atomic distributed 'check and set' for short-lived keys +pkg_locker_homepage = https://github.com/wooga/locker +pkg_locker_fetch = git +pkg_locker_repo = https://github.com/wooga/locker +pkg_locker_commit = master + +PACKAGES += locks +pkg_locks_name = locks +pkg_locks_description = A scalable, deadlock-resolving resource locker +pkg_locks_homepage = https://github.com/uwiger/locks +pkg_locks_fetch = git +pkg_locks_repo = https://github.com/uwiger/locks +pkg_locks_commit = master + +PACKAGES += log4erl +pkg_log4erl_name = log4erl +pkg_log4erl_description = A logger for erlang in the spirit of Log4J. +pkg_log4erl_homepage = https://github.com/ahmednawras/log4erl +pkg_log4erl_fetch = git +pkg_log4erl_repo = https://github.com/ahmednawras/log4erl +pkg_log4erl_commit = master + +PACKAGES += lol +pkg_lol_name = lol +pkg_lol_description = Lisp on erLang, and programming is fun again +pkg_lol_homepage = https://github.com/b0oh/lol +pkg_lol_fetch = git +pkg_lol_repo = https://github.com/b0oh/lol +pkg_lol_commit = master + +PACKAGES += lucid +pkg_lucid_name = lucid +pkg_lucid_description = HTTP/2 server written in Erlang +pkg_lucid_homepage = https://github.com/tatsuhiro-t/lucid +pkg_lucid_fetch = git +pkg_lucid_repo = https://github.com/tatsuhiro-t/lucid +pkg_lucid_commit = master + +PACKAGES += luerl +pkg_luerl_name = luerl +pkg_luerl_description = Lua in Erlang +pkg_luerl_homepage = https://github.com/rvirding/luerl +pkg_luerl_fetch = git +pkg_luerl_repo = https://github.com/rvirding/luerl +pkg_luerl_commit = develop + +PACKAGES += luwak +pkg_luwak_name = luwak +pkg_luwak_description = Large-object storage interface for Riak +pkg_luwak_homepage = https://github.com/basho/luwak +pkg_luwak_fetch = git +pkg_luwak_repo = https://github.com/basho/luwak +pkg_luwak_commit = master + +PACKAGES += lux +pkg_lux_name = lux +pkg_lux_description = Lux (LUcid eXpect scripting) simplifies test automation and provides an Expect-style execution of commands +pkg_lux_homepage = https://github.com/hawk/lux +pkg_lux_fetch = git +pkg_lux_repo = https://github.com/hawk/lux +pkg_lux_commit = master + +PACKAGES += machi +pkg_machi_name = machi +pkg_machi_description = Machi file store +pkg_machi_homepage = https://github.com/basho/machi +pkg_machi_fetch = git +pkg_machi_repo = https://github.com/basho/machi +pkg_machi_commit = master + +PACKAGES += mad +pkg_mad_name = mad +pkg_mad_description = Small and Fast Rebar Replacement +pkg_mad_homepage = https://github.com/synrc/mad +pkg_mad_fetch = git +pkg_mad_repo = https://github.com/synrc/mad +pkg_mad_commit = master + +PACKAGES += marina +pkg_marina_name = marina +pkg_marina_description = Non-blocking Erlang Cassandra CQL3 client +pkg_marina_homepage = https://github.com/lpgauth/marina +pkg_marina_fetch = git +pkg_marina_repo = https://github.com/lpgauth/marina +pkg_marina_commit = master + +PACKAGES += mavg +pkg_mavg_name = mavg +pkg_mavg_description = Erlang :: Exponential moving average library +pkg_mavg_homepage = https://github.com/EchoTeam/mavg +pkg_mavg_fetch = git +pkg_mavg_repo = https://github.com/EchoTeam/mavg +pkg_mavg_commit = master + +PACKAGES += mcd +pkg_mcd_name = mcd +pkg_mcd_description = Fast memcached protocol client in pure Erlang +pkg_mcd_homepage = https://github.com/EchoTeam/mcd +pkg_mcd_fetch = git +pkg_mcd_repo = https://github.com/EchoTeam/mcd +pkg_mcd_commit = master + +PACKAGES += mcerlang +pkg_mcerlang_name = mcerlang +pkg_mcerlang_description = The McErlang model checker for Erlang +pkg_mcerlang_homepage = https://github.com/fredlund/McErlang +pkg_mcerlang_fetch = git +pkg_mcerlang_repo = https://github.com/fredlund/McErlang +pkg_mcerlang_commit = master + +PACKAGES += mc_erl +pkg_mc_erl_name = mc_erl +pkg_mc_erl_description = mc-erl is a server for Minecraft 1.4.7 written in Erlang. +pkg_mc_erl_homepage = https://github.com/clonejo/mc-erl +pkg_mc_erl_fetch = git +pkg_mc_erl_repo = https://github.com/clonejo/mc-erl +pkg_mc_erl_commit = master + +PACKAGES += meck +pkg_meck_name = meck +pkg_meck_description = A mocking library for Erlang +pkg_meck_homepage = https://github.com/eproxus/meck +pkg_meck_fetch = git +pkg_meck_repo = https://github.com/eproxus/meck +pkg_meck_commit = master + +PACKAGES += mekao +pkg_mekao_name = mekao +pkg_mekao_description = SQL constructor +pkg_mekao_homepage = https://github.com/ddosia/mekao +pkg_mekao_fetch = git +pkg_mekao_repo = https://github.com/ddosia/mekao +pkg_mekao_commit = master + +PACKAGES += memo +pkg_memo_name = memo +pkg_memo_description = Erlang memoization server +pkg_memo_homepage = https://github.com/tuncer/memo +pkg_memo_fetch = git +pkg_memo_repo = https://github.com/tuncer/memo +pkg_memo_commit = master + +PACKAGES += merge_index +pkg_merge_index_name = merge_index +pkg_merge_index_description = MergeIndex is an Erlang library for storing ordered sets on disk. It is very similar to an SSTable (in Google's Bigtable) or an HFile (in Hadoop). +pkg_merge_index_homepage = https://github.com/basho/merge_index +pkg_merge_index_fetch = git +pkg_merge_index_repo = https://github.com/basho/merge_index +pkg_merge_index_commit = master + +PACKAGES += merl +pkg_merl_name = merl +pkg_merl_description = Metaprogramming in Erlang +pkg_merl_homepage = https://github.com/richcarl/merl +pkg_merl_fetch = git +pkg_merl_repo = https://github.com/richcarl/merl +pkg_merl_commit = master + +PACKAGES += mimetypes +pkg_mimetypes_name = mimetypes +pkg_mimetypes_description = Erlang MIME types library +pkg_mimetypes_homepage = https://github.com/spawngrid/mimetypes +pkg_mimetypes_fetch = git +pkg_mimetypes_repo = https://github.com/spawngrid/mimetypes +pkg_mimetypes_commit = master + +PACKAGES += mixer +pkg_mixer_name = mixer +pkg_mixer_description = Mix in functions from other modules +pkg_mixer_homepage = https://github.com/chef/mixer +pkg_mixer_fetch = git +pkg_mixer_repo = https://github.com/chef/mixer +pkg_mixer_commit = master + +PACKAGES += mochiweb +pkg_mochiweb_name = mochiweb +pkg_mochiweb_description = MochiWeb is an Erlang library for building lightweight HTTP servers. +pkg_mochiweb_homepage = https://github.com/mochi/mochiweb +pkg_mochiweb_fetch = git +pkg_mochiweb_repo = https://github.com/mochi/mochiweb +pkg_mochiweb_commit = master + +PACKAGES += mochiweb_xpath +pkg_mochiweb_xpath_name = mochiweb_xpath +pkg_mochiweb_xpath_description = XPath support for mochiweb's html parser +pkg_mochiweb_xpath_homepage = https://github.com/retnuh/mochiweb_xpath +pkg_mochiweb_xpath_fetch = git +pkg_mochiweb_xpath_repo = https://github.com/retnuh/mochiweb_xpath +pkg_mochiweb_xpath_commit = master + +PACKAGES += mockgyver +pkg_mockgyver_name = mockgyver +pkg_mockgyver_description = A mocking library for Erlang +pkg_mockgyver_homepage = https://github.com/klajo/mockgyver +pkg_mockgyver_fetch = git +pkg_mockgyver_repo = https://github.com/klajo/mockgyver +pkg_mockgyver_commit = master + +PACKAGES += modlib +pkg_modlib_name = modlib +pkg_modlib_description = Web framework based on Erlang's inets httpd +pkg_modlib_homepage = https://github.com/gar1t/modlib +pkg_modlib_fetch = git +pkg_modlib_repo = https://github.com/gar1t/modlib +pkg_modlib_commit = master + +PACKAGES += mongodb +pkg_mongodb_name = mongodb +pkg_mongodb_description = MongoDB driver for Erlang +pkg_mongodb_homepage = https://github.com/comtihon/mongodb-erlang +pkg_mongodb_fetch = git +pkg_mongodb_repo = https://github.com/comtihon/mongodb-erlang +pkg_mongodb_commit = master + +PACKAGES += mongooseim +pkg_mongooseim_name = mongooseim +pkg_mongooseim_description = Jabber / XMPP server with focus on performance and scalability, by Erlang Solutions +pkg_mongooseim_homepage = https://www.erlang-solutions.com/products/mongooseim-massively-scalable-ejabberd-platform +pkg_mongooseim_fetch = git +pkg_mongooseim_repo = https://github.com/esl/MongooseIM +pkg_mongooseim_commit = master + +PACKAGES += moyo +pkg_moyo_name = moyo +pkg_moyo_description = Erlang utility functions library +pkg_moyo_homepage = https://github.com/dwango/moyo +pkg_moyo_fetch = git +pkg_moyo_repo = https://github.com/dwango/moyo +pkg_moyo_commit = master + +PACKAGES += msgpack +pkg_msgpack_name = msgpack +pkg_msgpack_description = MessagePack (de)serializer implementation for Erlang +pkg_msgpack_homepage = https://github.com/msgpack/msgpack-erlang +pkg_msgpack_fetch = git +pkg_msgpack_repo = https://github.com/msgpack/msgpack-erlang +pkg_msgpack_commit = master + +PACKAGES += mu2 +pkg_mu2_name = mu2 +pkg_mu2_description = Erlang mutation testing tool +pkg_mu2_homepage = https://github.com/ramsay-t/mu2 +pkg_mu2_fetch = git +pkg_mu2_repo = https://github.com/ramsay-t/mu2 +pkg_mu2_commit = master + +PACKAGES += mustache +pkg_mustache_name = mustache +pkg_mustache_description = Mustache template engine for Erlang. +pkg_mustache_homepage = https://github.com/mojombo/mustache.erl +pkg_mustache_fetch = git +pkg_mustache_repo = https://github.com/mojombo/mustache.erl +pkg_mustache_commit = master + +PACKAGES += myproto +pkg_myproto_name = myproto +pkg_myproto_description = MySQL Server Protocol in Erlang +pkg_myproto_homepage = https://github.com/altenwald/myproto +pkg_myproto_fetch = git +pkg_myproto_repo = https://github.com/altenwald/myproto +pkg_myproto_commit = master + +PACKAGES += mysql +pkg_mysql_name = mysql +pkg_mysql_description = Erlang MySQL Driver (from code.google.com) +pkg_mysql_homepage = https://github.com/dizzyd/erlang-mysql-driver +pkg_mysql_fetch = git +pkg_mysql_repo = https://github.com/dizzyd/erlang-mysql-driver +pkg_mysql_commit = master + +PACKAGES += n2o +pkg_n2o_name = n2o +pkg_n2o_description = WebSocket Application Server +pkg_n2o_homepage = https://github.com/5HT/n2o +pkg_n2o_fetch = git +pkg_n2o_repo = https://github.com/5HT/n2o +pkg_n2o_commit = master + +PACKAGES += nat_upnp +pkg_nat_upnp_name = nat_upnp +pkg_nat_upnp_description = Erlang library to map your internal port to an external using UNP IGD +pkg_nat_upnp_homepage = https://github.com/benoitc/nat_upnp +pkg_nat_upnp_fetch = git +pkg_nat_upnp_repo = https://github.com/benoitc/nat_upnp +pkg_nat_upnp_commit = master + +PACKAGES += neo4j +pkg_neo4j_name = neo4j +pkg_neo4j_description = Erlang client library for Neo4J. +pkg_neo4j_homepage = https://github.com/dmitriid/neo4j-erlang +pkg_neo4j_fetch = git +pkg_neo4j_repo = https://github.com/dmitriid/neo4j-erlang +pkg_neo4j_commit = master + +PACKAGES += neotoma +pkg_neotoma_name = neotoma +pkg_neotoma_description = Erlang library and packrat parser-generator for parsing expression grammars. +pkg_neotoma_homepage = https://github.com/seancribbs/neotoma +pkg_neotoma_fetch = git +pkg_neotoma_repo = https://github.com/seancribbs/neotoma +pkg_neotoma_commit = master + +PACKAGES += newrelic +pkg_newrelic_name = newrelic +pkg_newrelic_description = Erlang library for sending metrics to New Relic +pkg_newrelic_homepage = https://github.com/wooga/newrelic-erlang +pkg_newrelic_fetch = git +pkg_newrelic_repo = https://github.com/wooga/newrelic-erlang +pkg_newrelic_commit = master + +PACKAGES += nifty +pkg_nifty_name = nifty +pkg_nifty_description = Erlang NIF wrapper generator +pkg_nifty_homepage = https://github.com/parapluu/nifty +pkg_nifty_fetch = git +pkg_nifty_repo = https://github.com/parapluu/nifty +pkg_nifty_commit = master + +PACKAGES += nitrogen_core +pkg_nitrogen_core_name = nitrogen_core +pkg_nitrogen_core_description = The core Nitrogen library. +pkg_nitrogen_core_homepage = http://nitrogenproject.com/ +pkg_nitrogen_core_fetch = git +pkg_nitrogen_core_repo = https://github.com/nitrogen/nitrogen_core +pkg_nitrogen_core_commit = master + +PACKAGES += nkbase +pkg_nkbase_name = nkbase +pkg_nkbase_description = NkBASE distributed database +pkg_nkbase_homepage = https://github.com/Nekso/nkbase +pkg_nkbase_fetch = git +pkg_nkbase_repo = https://github.com/Nekso/nkbase +pkg_nkbase_commit = develop + +PACKAGES += nkdocker +pkg_nkdocker_name = nkdocker +pkg_nkdocker_description = Erlang Docker client +pkg_nkdocker_homepage = https://github.com/Nekso/nkdocker +pkg_nkdocker_fetch = git +pkg_nkdocker_repo = https://github.com/Nekso/nkdocker +pkg_nkdocker_commit = master + +PACKAGES += nkpacket +pkg_nkpacket_name = nkpacket +pkg_nkpacket_description = Generic Erlang transport layer +pkg_nkpacket_homepage = https://github.com/Nekso/nkpacket +pkg_nkpacket_fetch = git +pkg_nkpacket_repo = https://github.com/Nekso/nkpacket +pkg_nkpacket_commit = master + +PACKAGES += nodefinder +pkg_nodefinder_name = nodefinder +pkg_nodefinder_description = automatic node discovery via UDP multicast +pkg_nodefinder_homepage = https://github.com/erlanger/nodefinder +pkg_nodefinder_fetch = git +pkg_nodefinder_repo = https://github.com/okeuday/nodefinder +pkg_nodefinder_commit = master + +PACKAGES += nprocreg +pkg_nprocreg_name = nprocreg +pkg_nprocreg_description = Minimal Distributed Erlang Process Registry +pkg_nprocreg_homepage = http://nitrogenproject.com/ +pkg_nprocreg_fetch = git +pkg_nprocreg_repo = https://github.com/nitrogen/nprocreg +pkg_nprocreg_commit = master + +PACKAGES += oauth2c +pkg_oauth2c_name = oauth2c +pkg_oauth2c_description = Erlang OAuth2 Client +pkg_oauth2c_homepage = https://github.com/kivra/oauth2_client +pkg_oauth2c_fetch = git +pkg_oauth2c_repo = https://github.com/kivra/oauth2_client +pkg_oauth2c_commit = master + +PACKAGES += oauth2 +pkg_oauth2_name = oauth2 +pkg_oauth2_description = Erlang Oauth2 implementation +pkg_oauth2_homepage = https://github.com/kivra/oauth2 +pkg_oauth2_fetch = git +pkg_oauth2_repo = https://github.com/kivra/oauth2 +pkg_oauth2_commit = master + +PACKAGES += oauth +pkg_oauth_name = oauth +pkg_oauth_description = An Erlang OAuth 1.0 implementation +pkg_oauth_homepage = https://github.com/tim/erlang-oauth +pkg_oauth_fetch = git +pkg_oauth_repo = https://github.com/tim/erlang-oauth +pkg_oauth_commit = master + +PACKAGES += of_protocol +pkg_of_protocol_name = of_protocol +pkg_of_protocol_description = OpenFlow Protocol Library for Erlang +pkg_of_protocol_homepage = https://github.com/FlowForwarding/of_protocol +pkg_of_protocol_fetch = git +pkg_of_protocol_repo = https://github.com/FlowForwarding/of_protocol +pkg_of_protocol_commit = master + +PACKAGES += openflow +pkg_openflow_name = openflow +pkg_openflow_description = An OpenFlow controller written in pure erlang +pkg_openflow_homepage = https://github.com/renatoaguiar/erlang-openflow +pkg_openflow_fetch = git +pkg_openflow_repo = https://github.com/renatoaguiar/erlang-openflow +pkg_openflow_commit = master + +PACKAGES += openid +pkg_openid_name = openid +pkg_openid_description = Erlang OpenID +pkg_openid_homepage = https://github.com/brendonh/erl_openid +pkg_openid_fetch = git +pkg_openid_repo = https://github.com/brendonh/erl_openid +pkg_openid_commit = master + +PACKAGES += openpoker +pkg_openpoker_name = openpoker +pkg_openpoker_description = Genesis Texas hold'em Game Server +pkg_openpoker_homepage = https://github.com/hpyhacking/openpoker +pkg_openpoker_fetch = git +pkg_openpoker_repo = https://github.com/hpyhacking/openpoker +pkg_openpoker_commit = master + +PACKAGES += pal +pkg_pal_name = pal +pkg_pal_description = Pragmatic Authentication Library +pkg_pal_homepage = https://github.com/manifest/pal +pkg_pal_fetch = git +pkg_pal_repo = https://github.com/manifest/pal +pkg_pal_commit = master + +PACKAGES += parse_trans +pkg_parse_trans_name = parse_trans +pkg_parse_trans_description = Parse transform utilities for Erlang +pkg_parse_trans_homepage = https://github.com/uwiger/parse_trans +pkg_parse_trans_fetch = git +pkg_parse_trans_repo = https://github.com/uwiger/parse_trans +pkg_parse_trans_commit = master + +PACKAGES += parsexml +pkg_parsexml_name = parsexml +pkg_parsexml_description = Simple DOM XML parser with convenient and very simple API +pkg_parsexml_homepage = https://github.com/maxlapshin/parsexml +pkg_parsexml_fetch = git +pkg_parsexml_repo = https://github.com/maxlapshin/parsexml +pkg_parsexml_commit = master + +PACKAGES += pegjs +pkg_pegjs_name = pegjs +pkg_pegjs_description = An implementation of PEG.js grammar for Erlang. +pkg_pegjs_homepage = https://github.com/dmitriid/pegjs +pkg_pegjs_fetch = git +pkg_pegjs_repo = https://github.com/dmitriid/pegjs +pkg_pegjs_commit = 0.3 + +PACKAGES += percept2 +pkg_percept2_name = percept2 +pkg_percept2_description = Concurrent profiling tool for Erlang +pkg_percept2_homepage = https://github.com/huiqing/percept2 +pkg_percept2_fetch = git +pkg_percept2_repo = https://github.com/huiqing/percept2 +pkg_percept2_commit = master + +PACKAGES += pgsql +pkg_pgsql_name = pgsql +pkg_pgsql_description = Erlang PostgreSQL driver +pkg_pgsql_homepage = https://github.com/semiocast/pgsql +pkg_pgsql_fetch = git +pkg_pgsql_repo = https://github.com/semiocast/pgsql +pkg_pgsql_commit = master + +PACKAGES += pkgx +pkg_pkgx_name = pkgx +pkg_pkgx_description = Build .deb packages from Erlang releases +pkg_pkgx_homepage = https://github.com/arjan/pkgx +pkg_pkgx_fetch = git +pkg_pkgx_repo = https://github.com/arjan/pkgx +pkg_pkgx_commit = master + +PACKAGES += pkt +pkg_pkt_name = pkt +pkg_pkt_description = Erlang network protocol library +pkg_pkt_homepage = https://github.com/msantos/pkt +pkg_pkt_fetch = git +pkg_pkt_repo = https://github.com/msantos/pkt +pkg_pkt_commit = master + +PACKAGES += plain_fsm +pkg_plain_fsm_name = plain_fsm +pkg_plain_fsm_description = A behaviour/support library for writing plain Erlang FSMs. +pkg_plain_fsm_homepage = https://github.com/uwiger/plain_fsm +pkg_plain_fsm_fetch = git +pkg_plain_fsm_repo = https://github.com/uwiger/plain_fsm +pkg_plain_fsm_commit = master + +PACKAGES += plumtree +pkg_plumtree_name = plumtree +pkg_plumtree_description = Epidemic Broadcast Trees +pkg_plumtree_homepage = https://github.com/helium/plumtree +pkg_plumtree_fetch = git +pkg_plumtree_repo = https://github.com/helium/plumtree +pkg_plumtree_commit = master + +PACKAGES += pmod_transform +pkg_pmod_transform_name = pmod_transform +pkg_pmod_transform_description = Parse transform for parameterized modules +pkg_pmod_transform_homepage = https://github.com/erlang/pmod_transform +pkg_pmod_transform_fetch = git +pkg_pmod_transform_repo = https://github.com/erlang/pmod_transform +pkg_pmod_transform_commit = master + +PACKAGES += pobox +pkg_pobox_name = pobox +pkg_pobox_description = External buffer processes to protect against mailbox overflow in Erlang +pkg_pobox_homepage = https://github.com/ferd/pobox +pkg_pobox_fetch = git +pkg_pobox_repo = https://github.com/ferd/pobox +pkg_pobox_commit = master + +PACKAGES += ponos +pkg_ponos_name = ponos +pkg_ponos_description = ponos is a simple yet powerful load generator written in erlang +pkg_ponos_homepage = https://github.com/klarna/ponos +pkg_ponos_fetch = git +pkg_ponos_repo = https://github.com/klarna/ponos +pkg_ponos_commit = master + +PACKAGES += poolboy +pkg_poolboy_name = poolboy +pkg_poolboy_description = A hunky Erlang worker pool factory +pkg_poolboy_homepage = https://github.com/devinus/poolboy +pkg_poolboy_fetch = git +pkg_poolboy_repo = https://github.com/devinus/poolboy +pkg_poolboy_commit = master + +PACKAGES += pooler +pkg_pooler_name = pooler +pkg_pooler_description = An OTP Process Pool Application +pkg_pooler_homepage = https://github.com/seth/pooler +pkg_pooler_fetch = git +pkg_pooler_repo = https://github.com/seth/pooler +pkg_pooler_commit = master + +PACKAGES += pqueue +pkg_pqueue_name = pqueue +pkg_pqueue_description = Erlang Priority Queues +pkg_pqueue_homepage = https://github.com/okeuday/pqueue +pkg_pqueue_fetch = git +pkg_pqueue_repo = https://github.com/okeuday/pqueue +pkg_pqueue_commit = master + +PACKAGES += procket +pkg_procket_name = procket +pkg_procket_description = Erlang interface to low level socket operations +pkg_procket_homepage = http://blog.listincomprehension.com/search/label/procket +pkg_procket_fetch = git +pkg_procket_repo = https://github.com/msantos/procket +pkg_procket_commit = master + +PACKAGES += proper +pkg_proper_name = proper +pkg_proper_description = PropEr: a QuickCheck-inspired property-based testing tool for Erlang. +pkg_proper_homepage = http://proper.softlab.ntua.gr +pkg_proper_fetch = git +pkg_proper_repo = https://github.com/manopapad/proper +pkg_proper_commit = master + +PACKAGES += props +pkg_props_name = props +pkg_props_description = Property structure library +pkg_props_homepage = https://github.com/greyarea/props +pkg_props_fetch = git +pkg_props_repo = https://github.com/greyarea/props +pkg_props_commit = master + +PACKAGES += protobuffs +pkg_protobuffs_name = protobuffs +pkg_protobuffs_description = An implementation of Google's Protocol Buffers for Erlang, based on ngerakines/erlang_protobuffs. +pkg_protobuffs_homepage = https://github.com/basho/erlang_protobuffs +pkg_protobuffs_fetch = git +pkg_protobuffs_repo = https://github.com/basho/erlang_protobuffs +pkg_protobuffs_commit = master + +PACKAGES += psycho +pkg_psycho_name = psycho +pkg_psycho_description = HTTP server that provides a WSGI-like interface for applications and middleware. +pkg_psycho_homepage = https://github.com/gar1t/psycho +pkg_psycho_fetch = git +pkg_psycho_repo = https://github.com/gar1t/psycho +pkg_psycho_commit = master + +PACKAGES += ptrackerl +pkg_ptrackerl_name = ptrackerl +pkg_ptrackerl_description = Pivotal Tracker API Client written in Erlang +pkg_ptrackerl_homepage = https://github.com/inaka/ptrackerl +pkg_ptrackerl_fetch = git +pkg_ptrackerl_repo = https://github.com/inaka/ptrackerl +pkg_ptrackerl_commit = master + +PACKAGES += purity +pkg_purity_name = purity +pkg_purity_description = A side-effect analyzer for Erlang +pkg_purity_homepage = https://github.com/mpitid/purity +pkg_purity_fetch = git +pkg_purity_repo = https://github.com/mpitid/purity +pkg_purity_commit = master + +PACKAGES += push_service +pkg_push_service_name = push_service +pkg_push_service_description = Push service +pkg_push_service_homepage = https://github.com/hairyhum/push_service +pkg_push_service_fetch = git +pkg_push_service_repo = https://github.com/hairyhum/push_service +pkg_push_service_commit = master + +PACKAGES += qdate +pkg_qdate_name = qdate +pkg_qdate_description = Date, time, and timezone parsing, formatting, and conversion for Erlang. +pkg_qdate_homepage = https://github.com/choptastic/qdate +pkg_qdate_fetch = git +pkg_qdate_repo = https://github.com/choptastic/qdate +pkg_qdate_commit = 0.4.0 + +PACKAGES += qrcode +pkg_qrcode_name = qrcode +pkg_qrcode_description = QR Code encoder in Erlang +pkg_qrcode_homepage = https://github.com/komone/qrcode +pkg_qrcode_fetch = git +pkg_qrcode_repo = https://github.com/komone/qrcode +pkg_qrcode_commit = master + +PACKAGES += quest +pkg_quest_name = quest +pkg_quest_description = Learn Erlang through this set of challenges. An interactive system for getting to know Erlang. +pkg_quest_homepage = https://github.com/eriksoe/ErlangQuest +pkg_quest_fetch = git +pkg_quest_repo = https://github.com/eriksoe/ErlangQuest +pkg_quest_commit = master + +PACKAGES += quickrand +pkg_quickrand_name = quickrand +pkg_quickrand_description = Quick Erlang Random Number Generation +pkg_quickrand_homepage = https://github.com/okeuday/quickrand +pkg_quickrand_fetch = git +pkg_quickrand_repo = https://github.com/okeuday/quickrand +pkg_quickrand_commit = master + +PACKAGES += rabbit_exchange_type_riak +pkg_rabbit_exchange_type_riak_name = rabbit_exchange_type_riak +pkg_rabbit_exchange_type_riak_description = Custom RabbitMQ exchange type for sticking messages in Riak +pkg_rabbit_exchange_type_riak_homepage = https://github.com/jbrisbin/riak-exchange +pkg_rabbit_exchange_type_riak_fetch = git +pkg_rabbit_exchange_type_riak_repo = https://github.com/jbrisbin/riak-exchange +pkg_rabbit_exchange_type_riak_commit = master + +PACKAGES += rabbit +pkg_rabbit_name = rabbit +pkg_rabbit_description = RabbitMQ Server +pkg_rabbit_homepage = https://www.rabbitmq.com/ +pkg_rabbit_fetch = git +pkg_rabbit_repo = https://github.com/rabbitmq/rabbitmq-server.git +pkg_rabbit_commit = master + +PACKAGES += rack +pkg_rack_name = rack +pkg_rack_description = Rack handler for erlang +pkg_rack_homepage = https://github.com/erlyvideo/rack +pkg_rack_fetch = git +pkg_rack_repo = https://github.com/erlyvideo/rack +pkg_rack_commit = master + +PACKAGES += radierl +pkg_radierl_name = radierl +pkg_radierl_description = RADIUS protocol stack implemented in Erlang. +pkg_radierl_homepage = https://github.com/vances/radierl +pkg_radierl_fetch = git +pkg_radierl_repo = https://github.com/vances/radierl +pkg_radierl_commit = master + +PACKAGES += rafter +pkg_rafter_name = rafter +pkg_rafter_description = An Erlang library application which implements the Raft consensus protocol +pkg_rafter_homepage = https://github.com/andrewjstone/rafter +pkg_rafter_fetch = git +pkg_rafter_repo = https://github.com/andrewjstone/rafter +pkg_rafter_commit = master + +PACKAGES += ranch +pkg_ranch_name = ranch +pkg_ranch_description = Socket acceptor pool for TCP protocols. +pkg_ranch_homepage = http://ninenines.eu +pkg_ranch_fetch = git +pkg_ranch_repo = https://github.com/ninenines/ranch +pkg_ranch_commit = 1.1.0 + +PACKAGES += rbeacon +pkg_rbeacon_name = rbeacon +pkg_rbeacon_description = LAN discovery and presence in Erlang. +pkg_rbeacon_homepage = https://github.com/refuge/rbeacon +pkg_rbeacon_fetch = git +pkg_rbeacon_repo = https://github.com/refuge/rbeacon +pkg_rbeacon_commit = master + +PACKAGES += rebar +pkg_rebar_name = rebar +pkg_rebar_description = Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases. +pkg_rebar_homepage = http://www.rebar3.org +pkg_rebar_fetch = git +pkg_rebar_repo = https://github.com/rebar/rebar3 +pkg_rebar_commit = master + +PACKAGES += rebus +pkg_rebus_name = rebus +pkg_rebus_description = A stupid simple, internal, pub/sub event bus written in- and for Erlang. +pkg_rebus_homepage = https://github.com/olle/rebus +pkg_rebus_fetch = git +pkg_rebus_repo = https://github.com/olle/rebus +pkg_rebus_commit = master + +PACKAGES += rec2json +pkg_rec2json_name = rec2json +pkg_rec2json_description = Compile erlang record definitions into modules to convert them to/from json easily. +pkg_rec2json_homepage = https://github.com/lordnull/rec2json +pkg_rec2json_fetch = git +pkg_rec2json_repo = https://github.com/lordnull/rec2json +pkg_rec2json_commit = master + +PACKAGES += recon +pkg_recon_name = recon +pkg_recon_description = Collection of functions and scripts to debug Erlang in production. +pkg_recon_homepage = https://github.com/ferd/recon +pkg_recon_fetch = git +pkg_recon_repo = https://github.com/ferd/recon +pkg_recon_commit = 2.2.1 + +PACKAGES += record_info +pkg_record_info_name = record_info +pkg_record_info_description = Convert between record and proplist +pkg_record_info_homepage = https://github.com/bipthelin/erlang-record_info +pkg_record_info_fetch = git +pkg_record_info_repo = https://github.com/bipthelin/erlang-record_info +pkg_record_info_commit = master + +PACKAGES += redgrid +pkg_redgrid_name = redgrid +pkg_redgrid_description = automatic Erlang node discovery via redis +pkg_redgrid_homepage = https://github.com/jkvor/redgrid +pkg_redgrid_fetch = git +pkg_redgrid_repo = https://github.com/jkvor/redgrid +pkg_redgrid_commit = master + +PACKAGES += redo +pkg_redo_name = redo +pkg_redo_description = pipelined erlang redis client +pkg_redo_homepage = https://github.com/jkvor/redo +pkg_redo_fetch = git +pkg_redo_repo = https://github.com/jkvor/redo +pkg_redo_commit = master + +PACKAGES += reltool_util +pkg_reltool_util_name = reltool_util +pkg_reltool_util_description = Erlang reltool utility functionality application +pkg_reltool_util_homepage = https://github.com/okeuday/reltool_util +pkg_reltool_util_fetch = git +pkg_reltool_util_repo = https://github.com/okeuday/reltool_util +pkg_reltool_util_commit = master + +PACKAGES += relx +pkg_relx_name = relx +pkg_relx_description = Sane, simple release creation for Erlang +pkg_relx_homepage = https://github.com/erlware/relx +pkg_relx_fetch = git +pkg_relx_repo = https://github.com/erlware/relx +pkg_relx_commit = master + +PACKAGES += resource_discovery +pkg_resource_discovery_name = resource_discovery +pkg_resource_discovery_description = An application used to dynamically discover resources present in an Erlang node cluster. +pkg_resource_discovery_homepage = http://erlware.org/ +pkg_resource_discovery_fetch = git +pkg_resource_discovery_repo = https://github.com/erlware/resource_discovery +pkg_resource_discovery_commit = master + +PACKAGES += restc +pkg_restc_name = restc +pkg_restc_description = Erlang Rest Client +pkg_restc_homepage = https://github.com/kivra/restclient +pkg_restc_fetch = git +pkg_restc_repo = https://github.com/kivra/restclient +pkg_restc_commit = master + +PACKAGES += rfc4627_jsonrpc +pkg_rfc4627_jsonrpc_name = rfc4627_jsonrpc +pkg_rfc4627_jsonrpc_description = Erlang RFC4627 (JSON) codec and JSON-RPC server implementation. +pkg_rfc4627_jsonrpc_homepage = https://github.com/tonyg/erlang-rfc4627 +pkg_rfc4627_jsonrpc_fetch = git +pkg_rfc4627_jsonrpc_repo = https://github.com/tonyg/erlang-rfc4627 +pkg_rfc4627_jsonrpc_commit = master + +PACKAGES += riakc +pkg_riakc_name = riakc +pkg_riakc_description = Erlang clients for Riak. +pkg_riakc_homepage = https://github.com/basho/riak-erlang-client +pkg_riakc_fetch = git +pkg_riakc_repo = https://github.com/basho/riak-erlang-client +pkg_riakc_commit = master + +PACKAGES += riak_core +pkg_riak_core_name = riak_core +pkg_riak_core_description = Distributed systems infrastructure used by Riak. +pkg_riak_core_homepage = https://github.com/basho/riak_core +pkg_riak_core_fetch = git +pkg_riak_core_repo = https://github.com/basho/riak_core +pkg_riak_core_commit = master + +PACKAGES += riak_dt +pkg_riak_dt_name = riak_dt +pkg_riak_dt_description = Convergent replicated datatypes in Erlang +pkg_riak_dt_homepage = https://github.com/basho/riak_dt +pkg_riak_dt_fetch = git +pkg_riak_dt_repo = https://github.com/basho/riak_dt +pkg_riak_dt_commit = master + +PACKAGES += riak_ensemble +pkg_riak_ensemble_name = riak_ensemble +pkg_riak_ensemble_description = Multi-Paxos framework in Erlang +pkg_riak_ensemble_homepage = https://github.com/basho/riak_ensemble +pkg_riak_ensemble_fetch = git +pkg_riak_ensemble_repo = https://github.com/basho/riak_ensemble +pkg_riak_ensemble_commit = master + +PACKAGES += riakhttpc +pkg_riakhttpc_name = riakhttpc +pkg_riakhttpc_description = Riak Erlang client using the HTTP interface +pkg_riakhttpc_homepage = https://github.com/basho/riak-erlang-http-client +pkg_riakhttpc_fetch = git +pkg_riakhttpc_repo = https://github.com/basho/riak-erlang-http-client +pkg_riakhttpc_commit = master + +PACKAGES += riak_kv +pkg_riak_kv_name = riak_kv +pkg_riak_kv_description = Riak Key/Value Store +pkg_riak_kv_homepage = https://github.com/basho/riak_kv +pkg_riak_kv_fetch = git +pkg_riak_kv_repo = https://github.com/basho/riak_kv +pkg_riak_kv_commit = master + +PACKAGES += riaknostic +pkg_riaknostic_name = riaknostic +pkg_riaknostic_description = A diagnostic tool for Riak installations, to find common errors asap +pkg_riaknostic_homepage = https://github.com/basho/riaknostic +pkg_riaknostic_fetch = git +pkg_riaknostic_repo = https://github.com/basho/riaknostic +pkg_riaknostic_commit = master + +PACKAGES += riak_pg +pkg_riak_pg_name = riak_pg +pkg_riak_pg_description = Distributed process groups with riak_core. +pkg_riak_pg_homepage = https://github.com/cmeiklejohn/riak_pg +pkg_riak_pg_fetch = git +pkg_riak_pg_repo = https://github.com/cmeiklejohn/riak_pg +pkg_riak_pg_commit = master + +PACKAGES += riak_pipe +pkg_riak_pipe_name = riak_pipe +pkg_riak_pipe_description = Riak Pipelines +pkg_riak_pipe_homepage = https://github.com/basho/riak_pipe +pkg_riak_pipe_fetch = git +pkg_riak_pipe_repo = https://github.com/basho/riak_pipe +pkg_riak_pipe_commit = master + +PACKAGES += riakpool +pkg_riakpool_name = riakpool +pkg_riakpool_description = erlang riak client pool +pkg_riakpool_homepage = https://github.com/dweldon/riakpool +pkg_riakpool_fetch = git +pkg_riakpool_repo = https://github.com/dweldon/riakpool +pkg_riakpool_commit = master + +PACKAGES += riak_sysmon +pkg_riak_sysmon_name = riak_sysmon +pkg_riak_sysmon_description = Simple OTP app for managing Erlang VM system_monitor event messages +pkg_riak_sysmon_homepage = https://github.com/basho/riak_sysmon +pkg_riak_sysmon_fetch = git +pkg_riak_sysmon_repo = https://github.com/basho/riak_sysmon +pkg_riak_sysmon_commit = master + +PACKAGES += riak_test +pkg_riak_test_name = riak_test +pkg_riak_test_description = I'm in your cluster, testing your riaks +pkg_riak_test_homepage = https://github.com/basho/riak_test +pkg_riak_test_fetch = git +pkg_riak_test_repo = https://github.com/basho/riak_test +pkg_riak_test_commit = master + +PACKAGES += rivus_cep +pkg_rivus_cep_name = rivus_cep +pkg_rivus_cep_description = Complex event processing in Erlang +pkg_rivus_cep_homepage = https://github.com/vascokk/rivus_cep +pkg_rivus_cep_fetch = git +pkg_rivus_cep_repo = https://github.com/vascokk/rivus_cep +pkg_rivus_cep_commit = master + +PACKAGES += rlimit +pkg_rlimit_name = rlimit +pkg_rlimit_description = Magnus Klaar's rate limiter code from etorrent +pkg_rlimit_homepage = https://github.com/jlouis/rlimit +pkg_rlimit_fetch = git +pkg_rlimit_repo = https://github.com/jlouis/rlimit +pkg_rlimit_commit = master + +PACKAGES += safetyvalve +pkg_safetyvalve_name = safetyvalve +pkg_safetyvalve_description = A safety valve for your erlang node +pkg_safetyvalve_homepage = https://github.com/jlouis/safetyvalve +pkg_safetyvalve_fetch = git +pkg_safetyvalve_repo = https://github.com/jlouis/safetyvalve +pkg_safetyvalve_commit = master + +PACKAGES += seestar +pkg_seestar_name = seestar +pkg_seestar_description = The Erlang client for Cassandra 1.2+ binary protocol +pkg_seestar_homepage = https://github.com/iamaleksey/seestar +pkg_seestar_fetch = git +pkg_seestar_repo = https://github.com/iamaleksey/seestar +pkg_seestar_commit = master + +PACKAGES += service +pkg_service_name = service +pkg_service_description = A minimal Erlang behavior for creating CloudI internal services +pkg_service_homepage = http://cloudi.org/ +pkg_service_fetch = git +pkg_service_repo = https://github.com/CloudI/service +pkg_service_commit = master + +PACKAGES += setup +pkg_setup_name = setup +pkg_setup_description = Generic setup utility for Erlang-based systems +pkg_setup_homepage = https://github.com/uwiger/setup +pkg_setup_fetch = git +pkg_setup_repo = https://github.com/uwiger/setup +pkg_setup_commit = master + +PACKAGES += sext +pkg_sext_name = sext +pkg_sext_description = Sortable Erlang Term Serialization +pkg_sext_homepage = https://github.com/uwiger/sext +pkg_sext_fetch = git +pkg_sext_repo = https://github.com/uwiger/sext +pkg_sext_commit = master + +PACKAGES += sfmt +pkg_sfmt_name = sfmt +pkg_sfmt_description = SFMT pseudo random number generator for Erlang. +pkg_sfmt_homepage = https://github.com/jj1bdx/sfmt-erlang +pkg_sfmt_fetch = git +pkg_sfmt_repo = https://github.com/jj1bdx/sfmt-erlang +pkg_sfmt_commit = master + +PACKAGES += sgte +pkg_sgte_name = sgte +pkg_sgte_description = A simple Erlang Template Engine +pkg_sgte_homepage = https://github.com/filippo/sgte +pkg_sgte_fetch = git +pkg_sgte_repo = https://github.com/filippo/sgte +pkg_sgte_commit = master + +PACKAGES += sheriff +pkg_sheriff_name = sheriff +pkg_sheriff_description = Parse transform for type based validation. +pkg_sheriff_homepage = http://ninenines.eu +pkg_sheriff_fetch = git +pkg_sheriff_repo = https://github.com/extend/sheriff +pkg_sheriff_commit = master + +PACKAGES += shotgun +pkg_shotgun_name = shotgun +pkg_shotgun_description = better than just a gun +pkg_shotgun_homepage = https://github.com/inaka/shotgun +pkg_shotgun_fetch = git +pkg_shotgun_repo = https://github.com/inaka/shotgun +pkg_shotgun_commit = 0.1.0 + +PACKAGES += sidejob +pkg_sidejob_name = sidejob +pkg_sidejob_description = Parallel worker and capacity limiting library for Erlang +pkg_sidejob_homepage = https://github.com/basho/sidejob +pkg_sidejob_fetch = git +pkg_sidejob_repo = https://github.com/basho/sidejob +pkg_sidejob_commit = master + +PACKAGES += sieve +pkg_sieve_name = sieve +pkg_sieve_description = sieve is a simple TCP routing proxy (layer 7) in erlang +pkg_sieve_homepage = https://github.com/benoitc/sieve +pkg_sieve_fetch = git +pkg_sieve_repo = https://github.com/benoitc/sieve +pkg_sieve_commit = master + +PACKAGES += sighandler +pkg_sighandler_name = sighandler +pkg_sighandler_description = Handle UNIX signals in Er lang +pkg_sighandler_homepage = https://github.com/jkingsbery/sighandler +pkg_sighandler_fetch = git +pkg_sighandler_repo = https://github.com/jkingsbery/sighandler +pkg_sighandler_commit = master + +PACKAGES += simhash +pkg_simhash_name = simhash +pkg_simhash_description = Simhashing for Erlang -- hashing algorithm to find near-duplicates in binary data. +pkg_simhash_homepage = https://github.com/ferd/simhash +pkg_simhash_fetch = git +pkg_simhash_repo = https://github.com/ferd/simhash +pkg_simhash_commit = master + +PACKAGES += simple_bridge +pkg_simple_bridge_name = simple_bridge +pkg_simple_bridge_description = A simple, standardized interface library to Erlang HTTP Servers. +pkg_simple_bridge_homepage = https://github.com/nitrogen/simple_bridge +pkg_simple_bridge_fetch = git +pkg_simple_bridge_repo = https://github.com/nitrogen/simple_bridge +pkg_simple_bridge_commit = master + +PACKAGES += simple_oauth2 +pkg_simple_oauth2_name = simple_oauth2 +pkg_simple_oauth2_description = Simple erlang OAuth2 client module for any http server framework (Google, Facebook, Yandex, Vkontakte are preconfigured) +pkg_simple_oauth2_homepage = https://github.com/virtan/simple_oauth2 +pkg_simple_oauth2_fetch = git +pkg_simple_oauth2_repo = https://github.com/virtan/simple_oauth2 +pkg_simple_oauth2_commit = master + +PACKAGES += skel +pkg_skel_name = skel +pkg_skel_description = A Streaming Process-based Skeleton Library for Erlang +pkg_skel_homepage = https://github.com/ParaPhrase/skel +pkg_skel_fetch = git +pkg_skel_repo = https://github.com/ParaPhrase/skel +pkg_skel_commit = master + +PACKAGES += smother +pkg_smother_name = smother +pkg_smother_description = Extended code coverage metrics for Erlang. +pkg_smother_homepage = https://ramsay-t.github.io/Smother/ +pkg_smother_fetch = git +pkg_smother_repo = https://github.com/ramsay-t/Smother +pkg_smother_commit = master + +PACKAGES += social +pkg_social_name = social +pkg_social_description = Cowboy handler for social login via OAuth2 providers +pkg_social_homepage = https://github.com/dvv/social +pkg_social_fetch = git +pkg_social_repo = https://github.com/dvv/social +pkg_social_commit = master + +PACKAGES += spapi_router +pkg_spapi_router_name = spapi_router +pkg_spapi_router_description = Partially-connected Erlang clustering +pkg_spapi_router_homepage = https://github.com/spilgames/spapi-router +pkg_spapi_router_fetch = git +pkg_spapi_router_repo = https://github.com/spilgames/spapi-router +pkg_spapi_router_commit = master + +PACKAGES += sqerl +pkg_sqerl_name = sqerl +pkg_sqerl_description = An Erlang-flavoured SQL DSL +pkg_sqerl_homepage = https://github.com/hairyhum/sqerl +pkg_sqerl_fetch = git +pkg_sqerl_repo = https://github.com/hairyhum/sqerl +pkg_sqerl_commit = master + +PACKAGES += srly +pkg_srly_name = srly +pkg_srly_description = Native Erlang Unix serial interface +pkg_srly_homepage = https://github.com/msantos/srly +pkg_srly_fetch = git +pkg_srly_repo = https://github.com/msantos/srly +pkg_srly_commit = master + +PACKAGES += sshrpc +pkg_sshrpc_name = sshrpc +pkg_sshrpc_description = Erlang SSH RPC module (experimental) +pkg_sshrpc_homepage = https://github.com/jj1bdx/sshrpc +pkg_sshrpc_fetch = git +pkg_sshrpc_repo = https://github.com/jj1bdx/sshrpc +pkg_sshrpc_commit = master + +PACKAGES += stable +pkg_stable_name = stable +pkg_stable_description = Library of assorted helpers for Cowboy web server. +pkg_stable_homepage = https://github.com/dvv/stable +pkg_stable_fetch = git +pkg_stable_repo = https://github.com/dvv/stable +pkg_stable_commit = master + +PACKAGES += statebox +pkg_statebox_name = statebox +pkg_statebox_description = Erlang state monad with merge/conflict-resolution capabilities. Useful for Riak. +pkg_statebox_homepage = https://github.com/mochi/statebox +pkg_statebox_fetch = git +pkg_statebox_repo = https://github.com/mochi/statebox +pkg_statebox_commit = master + +PACKAGES += statebox_riak +pkg_statebox_riak_name = statebox_riak +pkg_statebox_riak_description = Convenience library that makes it easier to use statebox with riak, extracted from best practices in our production code at Mochi Media. +pkg_statebox_riak_homepage = https://github.com/mochi/statebox_riak +pkg_statebox_riak_fetch = git +pkg_statebox_riak_repo = https://github.com/mochi/statebox_riak +pkg_statebox_riak_commit = master + +PACKAGES += statman +pkg_statman_name = statman +pkg_statman_description = Efficiently collect massive volumes of metrics inside the Erlang VM +pkg_statman_homepage = https://github.com/knutin/statman +pkg_statman_fetch = git +pkg_statman_repo = https://github.com/knutin/statman +pkg_statman_commit = master + +PACKAGES += statsderl +pkg_statsderl_name = statsderl +pkg_statsderl_description = StatsD client (erlang) +pkg_statsderl_homepage = https://github.com/lpgauth/statsderl +pkg_statsderl_fetch = git +pkg_statsderl_repo = https://github.com/lpgauth/statsderl +pkg_statsderl_commit = master + +PACKAGES += stdinout_pool +pkg_stdinout_pool_name = stdinout_pool +pkg_stdinout_pool_description = stdinout_pool : stuff goes in, stuff goes out. there's never any miscommunication. +pkg_stdinout_pool_homepage = https://github.com/mattsta/erlang-stdinout-pool +pkg_stdinout_pool_fetch = git +pkg_stdinout_pool_repo = https://github.com/mattsta/erlang-stdinout-pool +pkg_stdinout_pool_commit = master + +PACKAGES += stockdb +pkg_stockdb_name = stockdb +pkg_stockdb_description = Database for storing Stock Exchange quotes in erlang +pkg_stockdb_homepage = https://github.com/maxlapshin/stockdb +pkg_stockdb_fetch = git +pkg_stockdb_repo = https://github.com/maxlapshin/stockdb +pkg_stockdb_commit = master + +PACKAGES += stripe +pkg_stripe_name = stripe +pkg_stripe_description = Erlang interface to the stripe.com API +pkg_stripe_homepage = https://github.com/mattsta/stripe-erlang +pkg_stripe_fetch = git +pkg_stripe_repo = https://github.com/mattsta/stripe-erlang +pkg_stripe_commit = v1 + +PACKAGES += surrogate +pkg_surrogate_name = surrogate +pkg_surrogate_description = Proxy server written in erlang. Supports reverse proxy load balancing and forward proxy with http (including CONNECT), socks4, socks5, and transparent proxy modes. +pkg_surrogate_homepage = https://github.com/skruger/Surrogate +pkg_surrogate_fetch = git +pkg_surrogate_repo = https://github.com/skruger/Surrogate +pkg_surrogate_commit = master + +PACKAGES += swab +pkg_swab_name = swab +pkg_swab_description = General purpose buffer handling module +pkg_swab_homepage = https://github.com/crownedgrouse/swab +pkg_swab_fetch = git +pkg_swab_repo = https://github.com/crownedgrouse/swab +pkg_swab_commit = master + +PACKAGES += swarm +pkg_swarm_name = swarm +pkg_swarm_description = Fast and simple acceptor pool for Erlang +pkg_swarm_homepage = https://github.com/jeremey/swarm +pkg_swarm_fetch = git +pkg_swarm_repo = https://github.com/jeremey/swarm +pkg_swarm_commit = master + +PACKAGES += switchboard +pkg_switchboard_name = switchboard +pkg_switchboard_description = A framework for processing email using worker plugins. +pkg_switchboard_homepage = https://github.com/thusfresh/switchboard +pkg_switchboard_fetch = git +pkg_switchboard_repo = https://github.com/thusfresh/switchboard +pkg_switchboard_commit = master + +PACKAGES += sync +pkg_sync_name = sync +pkg_sync_description = On-the-fly recompiling and reloading in Erlang. +pkg_sync_homepage = https://github.com/rustyio/sync +pkg_sync_fetch = git +pkg_sync_repo = https://github.com/rustyio/sync +pkg_sync_commit = master + +PACKAGES += syntaxerl +pkg_syntaxerl_name = syntaxerl +pkg_syntaxerl_description = Syntax checker for Erlang +pkg_syntaxerl_homepage = https://github.com/ten0s/syntaxerl +pkg_syntaxerl_fetch = git +pkg_syntaxerl_repo = https://github.com/ten0s/syntaxerl +pkg_syntaxerl_commit = master + +PACKAGES += syslog +pkg_syslog_name = syslog +pkg_syslog_description = Erlang port driver for interacting with syslog via syslog(3) +pkg_syslog_homepage = https://github.com/Vagabond/erlang-syslog +pkg_syslog_fetch = git +pkg_syslog_repo = https://github.com/Vagabond/erlang-syslog +pkg_syslog_commit = master + +PACKAGES += taskforce +pkg_taskforce_name = taskforce +pkg_taskforce_description = Erlang worker pools for controlled parallelisation of arbitrary tasks. +pkg_taskforce_homepage = https://github.com/g-andrade/taskforce +pkg_taskforce_fetch = git +pkg_taskforce_repo = https://github.com/g-andrade/taskforce +pkg_taskforce_commit = master + +PACKAGES += tddreloader +pkg_tddreloader_name = tddreloader +pkg_tddreloader_description = Shell utility for recompiling, reloading, and testing code as it changes +pkg_tddreloader_homepage = https://github.com/version2beta/tddreloader +pkg_tddreloader_fetch = git +pkg_tddreloader_repo = https://github.com/version2beta/tddreloader +pkg_tddreloader_commit = master + +PACKAGES += tempo +pkg_tempo_name = tempo +pkg_tempo_description = NIF-based date and time parsing and formatting for Erlang. +pkg_tempo_homepage = https://github.com/selectel/tempo +pkg_tempo_fetch = git +pkg_tempo_repo = https://github.com/selectel/tempo +pkg_tempo_commit = master + +PACKAGES += ticktick +pkg_ticktick_name = ticktick +pkg_ticktick_description = Ticktick is an id generator for message service. +pkg_ticktick_homepage = https://github.com/ericliang/ticktick +pkg_ticktick_fetch = git +pkg_ticktick_repo = https://github.com/ericliang/ticktick +pkg_ticktick_commit = master + +PACKAGES += tinymq +pkg_tinymq_name = tinymq +pkg_tinymq_description = TinyMQ - a diminutive, in-memory message queue +pkg_tinymq_homepage = https://github.com/ChicagoBoss/tinymq +pkg_tinymq_fetch = git +pkg_tinymq_repo = https://github.com/ChicagoBoss/tinymq +pkg_tinymq_commit = master + +PACKAGES += tinymt +pkg_tinymt_name = tinymt +pkg_tinymt_description = TinyMT pseudo random number generator for Erlang. +pkg_tinymt_homepage = https://github.com/jj1bdx/tinymt-erlang +pkg_tinymt_fetch = git +pkg_tinymt_repo = https://github.com/jj1bdx/tinymt-erlang +pkg_tinymt_commit = master + +PACKAGES += tirerl +pkg_tirerl_name = tirerl +pkg_tirerl_description = Erlang interface to Elastic Search +pkg_tirerl_homepage = https://github.com/inaka/tirerl +pkg_tirerl_fetch = git +pkg_tirerl_repo = https://github.com/inaka/tirerl +pkg_tirerl_commit = master + +PACKAGES += traffic_tools +pkg_traffic_tools_name = traffic_tools +pkg_traffic_tools_description = Simple traffic limiting library +pkg_traffic_tools_homepage = https://github.com/systra/traffic_tools +pkg_traffic_tools_fetch = git +pkg_traffic_tools_repo = https://github.com/systra/traffic_tools +pkg_traffic_tools_commit = master + +PACKAGES += trane +pkg_trane_name = trane +pkg_trane_description = SAX style broken HTML parser in Erlang +pkg_trane_homepage = https://github.com/massemanet/trane +pkg_trane_fetch = git +pkg_trane_repo = https://github.com/massemanet/trane +pkg_trane_commit = master + +PACKAGES += transit +pkg_transit_name = transit +pkg_transit_description = transit format for erlang +pkg_transit_homepage = https://github.com/isaiah/transit-erlang +pkg_transit_fetch = git +pkg_transit_repo = https://github.com/isaiah/transit-erlang +pkg_transit_commit = master + +PACKAGES += trie +pkg_trie_name = trie +pkg_trie_description = Erlang Trie Implementation +pkg_trie_homepage = https://github.com/okeuday/trie +pkg_trie_fetch = git +pkg_trie_repo = https://github.com/okeuday/trie +pkg_trie_commit = master + +PACKAGES += triq +pkg_triq_name = triq +pkg_triq_description = Trifork QuickCheck +pkg_triq_homepage = https://github.com/krestenkrab/triq +pkg_triq_fetch = git +pkg_triq_repo = https://github.com/krestenkrab/triq +pkg_triq_commit = master + +PACKAGES += tunctl +pkg_tunctl_name = tunctl +pkg_tunctl_description = Erlang TUN/TAP interface +pkg_tunctl_homepage = https://github.com/msantos/tunctl +pkg_tunctl_fetch = git +pkg_tunctl_repo = https://github.com/msantos/tunctl +pkg_tunctl_commit = master + +PACKAGES += twerl +pkg_twerl_name = twerl +pkg_twerl_description = Erlang client for the Twitter Streaming API +pkg_twerl_homepage = https://github.com/lucaspiller/twerl +pkg_twerl_fetch = git +pkg_twerl_repo = https://github.com/lucaspiller/twerl +pkg_twerl_commit = oauth + +PACKAGES += twitter_erlang +pkg_twitter_erlang_name = twitter_erlang +pkg_twitter_erlang_description = An Erlang twitter client +pkg_twitter_erlang_homepage = https://github.com/ngerakines/erlang_twitter +pkg_twitter_erlang_fetch = git +pkg_twitter_erlang_repo = https://github.com/ngerakines/erlang_twitter +pkg_twitter_erlang_commit = master + +PACKAGES += ucol_nif +pkg_ucol_nif_name = ucol_nif +pkg_ucol_nif_description = ICU based collation Erlang module +pkg_ucol_nif_homepage = https://github.com/refuge/ucol_nif +pkg_ucol_nif_fetch = git +pkg_ucol_nif_repo = https://github.com/refuge/ucol_nif +pkg_ucol_nif_commit = master + +PACKAGES += unicorn +pkg_unicorn_name = unicorn +pkg_unicorn_description = Generic configuration server +pkg_unicorn_homepage = https://github.com/shizzard/unicorn +pkg_unicorn_fetch = git +pkg_unicorn_repo = https://github.com/shizzard/unicorn +pkg_unicorn_commit = 0.3.0 + +PACKAGES += unsplit +pkg_unsplit_name = unsplit +pkg_unsplit_description = Resolves conflicts in Mnesia after network splits +pkg_unsplit_homepage = https://github.com/uwiger/unsplit +pkg_unsplit_fetch = git +pkg_unsplit_repo = https://github.com/uwiger/unsplit +pkg_unsplit_commit = master + +PACKAGES += uuid +pkg_uuid_name = uuid +pkg_uuid_description = Erlang UUID Implementation +pkg_uuid_homepage = https://github.com/okeuday/uuid +pkg_uuid_fetch = git +pkg_uuid_repo = https://github.com/okeuday/uuid +pkg_uuid_commit = v1.4.0 + +PACKAGES += ux +pkg_ux_name = ux +pkg_ux_description = Unicode eXtention for Erlang (Strings, Collation) +pkg_ux_homepage = https://github.com/erlang-unicode/ux +pkg_ux_fetch = git +pkg_ux_repo = https://github.com/erlang-unicode/ux +pkg_ux_commit = master + +PACKAGES += vert +pkg_vert_name = vert +pkg_vert_description = Erlang binding to libvirt virtualization API +pkg_vert_homepage = https://github.com/msantos/erlang-libvirt +pkg_vert_fetch = git +pkg_vert_repo = https://github.com/msantos/erlang-libvirt +pkg_vert_commit = master + +PACKAGES += verx +pkg_verx_name = verx +pkg_verx_description = Erlang implementation of the libvirtd remote protocol +pkg_verx_homepage = https://github.com/msantos/verx +pkg_verx_fetch = git +pkg_verx_repo = https://github.com/msantos/verx +pkg_verx_commit = master + +PACKAGES += vmq_acl +pkg_vmq_acl_name = vmq_acl +pkg_vmq_acl_description = Component of VerneMQ: A distributed MQTT message broker +pkg_vmq_acl_homepage = https://verne.mq/ +pkg_vmq_acl_fetch = git +pkg_vmq_acl_repo = https://github.com/erlio/vmq_acl +pkg_vmq_acl_commit = master + +PACKAGES += vmq_bridge +pkg_vmq_bridge_name = vmq_bridge +pkg_vmq_bridge_description = Component of VerneMQ: A distributed MQTT message broker +pkg_vmq_bridge_homepage = https://verne.mq/ +pkg_vmq_bridge_fetch = git +pkg_vmq_bridge_repo = https://github.com/erlio/vmq_bridge +pkg_vmq_bridge_commit = master + +PACKAGES += vmq_graphite +pkg_vmq_graphite_name = vmq_graphite +pkg_vmq_graphite_description = Component of VerneMQ: A distributed MQTT message broker +pkg_vmq_graphite_homepage = https://verne.mq/ +pkg_vmq_graphite_fetch = git +pkg_vmq_graphite_repo = https://github.com/erlio/vmq_graphite +pkg_vmq_graphite_commit = master + +PACKAGES += vmq_passwd +pkg_vmq_passwd_name = vmq_passwd +pkg_vmq_passwd_description = Component of VerneMQ: A distributed MQTT message broker +pkg_vmq_passwd_homepage = https://verne.mq/ +pkg_vmq_passwd_fetch = git +pkg_vmq_passwd_repo = https://github.com/erlio/vmq_passwd +pkg_vmq_passwd_commit = master + +PACKAGES += vmq_server +pkg_vmq_server_name = vmq_server +pkg_vmq_server_description = Component of VerneMQ: A distributed MQTT message broker +pkg_vmq_server_homepage = https://verne.mq/ +pkg_vmq_server_fetch = git +pkg_vmq_server_repo = https://github.com/erlio/vmq_server +pkg_vmq_server_commit = master + +PACKAGES += vmq_snmp +pkg_vmq_snmp_name = vmq_snmp +pkg_vmq_snmp_description = Component of VerneMQ: A distributed MQTT message broker +pkg_vmq_snmp_homepage = https://verne.mq/ +pkg_vmq_snmp_fetch = git +pkg_vmq_snmp_repo = https://github.com/erlio/vmq_snmp +pkg_vmq_snmp_commit = master + +PACKAGES += vmq_systree +pkg_vmq_systree_name = vmq_systree +pkg_vmq_systree_description = Component of VerneMQ: A distributed MQTT message broker +pkg_vmq_systree_homepage = https://verne.mq/ +pkg_vmq_systree_fetch = git +pkg_vmq_systree_repo = https://github.com/erlio/vmq_systree +pkg_vmq_systree_commit = master + +PACKAGES += vmstats +pkg_vmstats_name = vmstats +pkg_vmstats_description = tiny Erlang app that works in conjunction with statsderl in order to generate information on the Erlang VM for graphite logs. +pkg_vmstats_homepage = https://github.com/ferd/vmstats +pkg_vmstats_fetch = git +pkg_vmstats_repo = https://github.com/ferd/vmstats +pkg_vmstats_commit = master + +PACKAGES += walrus +pkg_walrus_name = walrus +pkg_walrus_description = Walrus - Mustache-like Templating +pkg_walrus_homepage = https://github.com/devinus/walrus +pkg_walrus_fetch = git +pkg_walrus_repo = https://github.com/devinus/walrus +pkg_walrus_commit = master + +PACKAGES += webmachine +pkg_webmachine_name = webmachine +pkg_webmachine_description = A REST-based system for building web applications. +pkg_webmachine_homepage = https://github.com/basho/webmachine +pkg_webmachine_fetch = git +pkg_webmachine_repo = https://github.com/basho/webmachine +pkg_webmachine_commit = master + +PACKAGES += websocket_client +pkg_websocket_client_name = websocket_client +pkg_websocket_client_description = Erlang websocket client (ws and wss supported) +pkg_websocket_client_homepage = https://github.com/jeremyong/websocket_client +pkg_websocket_client_fetch = git +pkg_websocket_client_repo = https://github.com/jeremyong/websocket_client +pkg_websocket_client_commit = master + +PACKAGES += worker_pool +pkg_worker_pool_name = worker_pool +pkg_worker_pool_description = a simple erlang worker pool +pkg_worker_pool_homepage = https://github.com/inaka/worker_pool +pkg_worker_pool_fetch = git +pkg_worker_pool_repo = https://github.com/inaka/worker_pool +pkg_worker_pool_commit = 1.0.2 + +PACKAGES += wrangler +pkg_wrangler_name = wrangler +pkg_wrangler_description = Import of the Wrangler svn repository. +pkg_wrangler_homepage = http://www.cs.kent.ac.uk/projects/wrangler/Home.html +pkg_wrangler_fetch = git +pkg_wrangler_repo = https://github.com/RefactoringTools/wrangler +pkg_wrangler_commit = master + +PACKAGES += wsock +pkg_wsock_name = wsock +pkg_wsock_description = Erlang library to build WebSocket clients and servers +pkg_wsock_homepage = https://github.com/madtrick/wsock +pkg_wsock_fetch = git +pkg_wsock_repo = https://github.com/madtrick/wsock +pkg_wsock_commit = master + +PACKAGES += xhttpc +pkg_xhttpc_name = xhttpc +pkg_xhttpc_description = Extensible HTTP Client for Erlang +pkg_xhttpc_homepage = https://github.com/seriyps/xhttpc +pkg_xhttpc_fetch = git +pkg_xhttpc_repo = https://github.com/seriyps/xhttpc +pkg_xhttpc_commit = master + +PACKAGES += xref_runner +pkg_xref_runner_name = xref_runner +pkg_xref_runner_description = Erlang Xref Runner (inspired in rebar xref) +pkg_xref_runner_homepage = https://github.com/inaka/xref_runner +pkg_xref_runner_fetch = git +pkg_xref_runner_repo = https://github.com/inaka/xref_runner +pkg_xref_runner_commit = 0.2.0 + +PACKAGES += yamerl +pkg_yamerl_name = yamerl +pkg_yamerl_description = YAML 1.2 parser in pure Erlang +pkg_yamerl_homepage = https://github.com/yakaz/yamerl +pkg_yamerl_fetch = git +pkg_yamerl_repo = https://github.com/yakaz/yamerl +pkg_yamerl_commit = master + +PACKAGES += yamler +pkg_yamler_name = yamler +pkg_yamler_description = libyaml-based yaml loader for Erlang +pkg_yamler_homepage = https://github.com/goertzenator/yamler +pkg_yamler_fetch = git +pkg_yamler_repo = https://github.com/goertzenator/yamler +pkg_yamler_commit = master + +PACKAGES += yaws +pkg_yaws_name = yaws +pkg_yaws_description = Yaws webserver +pkg_yaws_homepage = http://yaws.hyber.org +pkg_yaws_fetch = git +pkg_yaws_repo = https://github.com/klacke/yaws +pkg_yaws_commit = master + +PACKAGES += zab_engine +pkg_zab_engine_name = zab_engine +pkg_zab_engine_description = zab propotocol implement by erlang +pkg_zab_engine_homepage = https://github.com/xinmingyao/zab_engine +pkg_zab_engine_fetch = git +pkg_zab_engine_repo = https://github.com/xinmingyao/zab_engine +pkg_zab_engine_commit = master + +PACKAGES += zeta +pkg_zeta_name = zeta +pkg_zeta_description = HTTP access log parser in Erlang +pkg_zeta_homepage = https://github.com/s1n4/zeta +pkg_zeta_fetch = git +pkg_zeta_repo = https://github.com/s1n4/zeta +pkg_zeta_commit = + +PACKAGES += zippers +pkg_zippers_name = zippers +pkg_zippers_description = A library for functional zipper data structures in Erlang. Read more on zippers +pkg_zippers_homepage = https://github.com/ferd/zippers +pkg_zippers_fetch = git +pkg_zippers_repo = https://github.com/ferd/zippers +pkg_zippers_commit = master + +PACKAGES += zlists +pkg_zlists_name = zlists +pkg_zlists_description = Erlang lazy lists library. +pkg_zlists_homepage = https://github.com/vjache/erlang-zlists +pkg_zlists_fetch = git +pkg_zlists_repo = https://github.com/vjache/erlang-zlists +pkg_zlists_commit = master + +PACKAGES += zraft_lib +pkg_zraft_lib_name = zraft_lib +pkg_zraft_lib_description = Erlang raft consensus protocol implementation +pkg_zraft_lib_homepage = https://github.com/dreyk/zraft_lib +pkg_zraft_lib_fetch = git +pkg_zraft_lib_repo = https://github.com/dreyk/zraft_lib +pkg_zraft_lib_commit = master + +PACKAGES += zucchini +pkg_zucchini_name = zucchini +pkg_zucchini_description = An Erlang INI parser +pkg_zucchini_homepage = https://github.com/devinus/zucchini +pkg_zucchini_fetch = git +pkg_zucchini_repo = https://github.com/devinus/zucchini +pkg_zucchini_commit = master + +# Copyright (c) 2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: search + +define pkg_print + @printf "%s\n" \ + $(if $(call core_eq,$(1),$(pkg_$(1)_name)),,"Pkg name: $(1)") \ + "App name: $(pkg_$(1)_name)" \ + "Description: $(pkg_$(1)_description)" \ + "Home page: $(pkg_$(1)_homepage)" \ + "Fetch with: $(pkg_$(1)_fetch)" \ + "Repository: $(pkg_$(1)_repo)" \ + "Commit: $(pkg_$(1)_commit)" \ + "" + +endef + +search: +ifdef q + $(foreach p,$(PACKAGES), \ + $(if $(findstring $(call core_lc,$(q)),$(call core_lc,$(pkg_$(p)_name) $(pkg_$(p)_description))), \ + $(call pkg_print,$(p)))) +else + $(foreach p,$(PACKAGES),$(call pkg_print,$(p))) +endif + +# Copyright (c) 2013-2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: distclean-deps distclean-pkg + +# Configuration. + +IGNORE_DEPS ?= + +DEPS_DIR ?= $(CURDIR)/deps +export DEPS_DIR + +REBAR_DEPS_DIR = $(DEPS_DIR) +export REBAR_DEPS_DIR + +ALL_DEPS_DIRS = $(addprefix $(DEPS_DIR)/,$(filter-out $(IGNORE_DEPS),$(DEPS))) + +ifeq ($(filter $(DEPS_DIR),$(subst :, ,$(ERL_LIBS))),) +ifeq ($(ERL_LIBS),) + ERL_LIBS = $(DEPS_DIR) +else + ERL_LIBS := $(ERL_LIBS):$(DEPS_DIR) +endif +endif +export ERL_LIBS + +# Verbosity. + +dep_verbose_0 = @echo " DEP " $(1); +dep_verbose = $(dep_verbose_$(V)) + +# Core targets. + +ifneq ($(SKIP_DEPS),) +deps:: +else +deps:: $(ALL_DEPS_DIRS) +ifneq ($(IS_DEP),1) + @rm -f $(ERLANG_MK_TMP)/deps.log +endif + @mkdir -p $(ERLANG_MK_TMP) + @for dep in $(ALL_DEPS_DIRS) ; do \ + if grep -qs ^$$dep$$ $(ERLANG_MK_TMP)/deps.log; then \ + echo -n; \ + else \ + echo $$dep >> $(ERLANG_MK_TMP)/deps.log; \ + if [ -f $$dep/GNUmakefile ] || [ -f $$dep/makefile ] || [ -f $$dep/Makefile ]; then \ + $(MAKE) -C $$dep IS_DEP=1 || exit $$?; \ + else \ + echo "ERROR: No Makefile to build dependency $$dep."; \ + exit 1; \ + fi \ + fi \ + done +endif + +distclean:: distclean-deps distclean-pkg + +# Deps related targets. + +# @todo rename GNUmakefile and makefile into Makefile first, if they exist +# While Makefile file could be GNUmakefile or makefile, +# in practice only Makefile is needed so far. +define dep_autopatch + if [ -f $(DEPS_DIR)/$(1)/Makefile ]; then \ + if [ 0 != `grep -c "include ../\w*\.mk" $(DEPS_DIR)/$(1)/Makefile` ]; then \ + $(call dep_autopatch2,$(1)); \ + elif [ 0 != `grep -ci rebar $(DEPS_DIR)/$(1)/Makefile` ]; then \ + $(call dep_autopatch2,$(1)); \ + elif [ -n "`find $(DEPS_DIR)/$(1)/ -type f -name \*.mk -not -name erlang.mk | xargs -r grep -i rebar`" ]; then \ + $(call dep_autopatch2,$(1)); \ + else \ + if [ -f $(DEPS_DIR)/$(1)/erlang.mk ]; then \ + $(call erlang,$(call dep_autopatch_appsrc.erl,$(1))); \ + $(call dep_autopatch_erlang_mk,$(1)); \ + else \ + $(call erlang,$(call dep_autopatch_app.erl,$(1))); \ + fi \ + fi \ + else \ + if [ ! -d $(DEPS_DIR)/$(1)/src/ ]; then \ + $(call dep_autopatch_noop,$(1)); \ + else \ + $(call dep_autopatch2,$(1)); \ + fi \ + fi +endef + +define dep_autopatch2 + $(call erlang,$(call dep_autopatch_appsrc.erl,$(1))); \ + if [ -f $(DEPS_DIR)/$(1)/rebar.config -o -f $(DEPS_DIR)/$(1)/rebar.config.script ]; then \ + $(call dep_autopatch_fetch_rebar); \ + $(call dep_autopatch_rebar,$(1)); \ + else \ + $(call dep_autopatch_gen,$(1)); \ + fi +endef + +define dep_autopatch_noop + printf "noop:\n" > $(DEPS_DIR)/$(1)/Makefile +endef + +# Overwrite erlang.mk with the current file by default. +ifeq ($(NO_AUTOPATCH_ERLANG_MK),) +define dep_autopatch_erlang_mk + echo "include $(ERLANG_MK_FILENAME)" > $(DEPS_DIR)/$(1)/erlang.mk +endef +else +define dep_autopatch_erlang_mk + echo -n +endef +endif + +define dep_autopatch_gen + printf "%s\n" \ + "ERLC_OPTS = +debug_info" \ + "include ../../erlang.mk" > $(DEPS_DIR)/$(1)/Makefile +endef + +define dep_autopatch_fetch_rebar + mkdir -p $(ERLANG_MK_TMP); \ + if [ ! -d $(ERLANG_MK_TMP)/rebar ]; then \ + git clone -q -n -- https://github.com/rebar/rebar $(ERLANG_MK_TMP)/rebar; \ + cd $(ERLANG_MK_TMP)/rebar; \ + git checkout -q 791db716b5a3a7671e0b351f95ddf24b848ee173; \ + $(MAKE); \ + cd -; \ + fi +endef + +define dep_autopatch_rebar + if [ -f $(DEPS_DIR)/$(1)/Makefile ]; then \ + mv $(DEPS_DIR)/$(1)/Makefile $(DEPS_DIR)/$(1)/Makefile.orig.mk; \ + fi; \ + $(call erlang,$(call dep_autopatch_rebar.erl,$(1))); \ + rm -f $(DEPS_DIR)/$(1)/ebin/$(1).app +endef + +define dep_autopatch_rebar.erl + application:set_env(rebar, log_level, debug), + Conf1 = case file:consult("$(DEPS_DIR)/$(1)/rebar.config") of + {ok, Conf0} -> Conf0; + _ -> [] + end, + {Conf, OsEnv} = fun() -> + case filelib:is_file("$(DEPS_DIR)/$(1)/rebar.config.script") of + false -> {Conf1, []}; + true -> + Bindings0 = erl_eval:new_bindings(), + Bindings1 = erl_eval:add_binding('CONFIG', Conf1, Bindings0), + Bindings = erl_eval:add_binding('SCRIPT', "$(DEPS_DIR)/$(1)/rebar.config.script", Bindings1), + Before = os:getenv(), + {ok, Conf2} = file:script("$(DEPS_DIR)/$(1)/rebar.config.script", Bindings), + {Conf2, lists:foldl(fun(E, Acc) -> lists:delete(E, Acc) end, os:getenv(), Before)} + end + end(), + Write = fun (Text) -> + file:write_file("$(DEPS_DIR)/$(1)/Makefile", Text, [append]) + end, + Escape = fun (Text) -> + re:replace(Text, "\\\\$$$$", "\$$$$$$$$", [global, {return, list}]) + end, + Write("IGNORE_DEPS = edown eper eunit_formatters meck node_package " + "rebar_lock_deps_plugin rebar_vsn_plugin reltool_util\n"), + Write("C_SRC_DIR = /path/do/not/exist\n"), + Write("DRV_CFLAGS = -fPIC\nexport DRV_CFLAGS\n"), + Write(["ERLANG_ARCH = ", rebar_utils:wordsize(), "\nexport ERLANG_ARCH\n"]), + fun() -> + Write("ERLC_OPTS = +debug_info\nexport ERLC_OPTS\n"), + case lists:keyfind(erl_opts, 1, Conf) of + false -> ok; + {_, ErlOpts} -> + lists:foreach(fun + ({d, D}) -> + Write("ERLC_OPTS += -D" ++ atom_to_list(D) ++ "=1\n"); + ({i, I}) -> + Write(["ERLC_OPTS += -I ", I, "\n"]); + ({platform_define, Regex, D}) -> + case rebar_utils:is_arch(Regex) of + true -> Write("ERLC_OPTS += -D" ++ atom_to_list(D) ++ "=1\n"); + false -> ok + end; + ({parse_transform, PT}) -> + Write("ERLC_OPTS += +'{parse_transform, " ++ atom_to_list(PT) ++ "}'\n"); + (_) -> ok + end, ErlOpts) + end, + Write("\n") + end(), + fun() -> + File = case lists:keyfind(deps, 1, Conf) of + false -> []; + {_, Deps} -> + [begin case case Dep of + {N, S} when is_atom(N), is_list(S) -> {N, {hex, S}}; + {N, S} when is_tuple(S) -> {N, S}; + {N, _, S} -> {N, S}; + {N, _, S, _} -> {N, S}; + _ -> false + end of + false -> ok; + {Name, Source} -> + {Method, Repo, Commit} = case Source of + {hex, V} -> {hex, undefined, V}; + {git, R} -> {git, R, master}; + {M, R, {branch, C}} -> {M, R, C}; + {M, R, {tag, C}} -> {M, R, C}; + {M, R, C} -> {M, R, C} + end, + Write(io_lib:format("DEPS += ~s\ndep_~s = ~s ~s ~s~n", [Name, Name, Method, Repo, Commit])) + end end || Dep <- Deps] + end + end(), + fun() -> + case lists:keyfind(erl_first_files, 1, Conf) of + false -> ok; + {_, Files} -> + Names = [[" ", case lists:reverse(F) of + "lre." ++ Elif -> lists:reverse(Elif); + Elif -> lists:reverse(Elif) + end] || "src/" ++ F <- Files], + Write(io_lib:format("COMPILE_FIRST +=~s\n", [Names])) + end + end(), + FindFirst = fun(F, Fd) -> + case io:parse_erl_form(Fd, undefined) of + {ok, {attribute, _, compile, {parse_transform, PT}}, _} -> + [PT, F(F, Fd)]; + {ok, {attribute, _, compile, CompileOpts}, _} when is_list(CompileOpts) -> + case proplists:get_value(parse_transform, CompileOpts) of + undefined -> [F(F, Fd)]; + PT -> [PT, F(F, Fd)] + end; + {ok, {attribute, _, include, Hrl}, _} -> + case file:open("$(DEPS_DIR)/$(1)/include/" ++ Hrl, [read]) of + {ok, HrlFd} -> [F(F, HrlFd), F(F, Fd)]; + _ -> + case file:open("$(DEPS_DIR)/$(1)/src/" ++ Hrl, [read]) of + {ok, HrlFd} -> [F(F, HrlFd), F(F, Fd)]; + _ -> [F(F, Fd)] + end + end; + {ok, {attribute, _, include_lib, "$(1)/include/" ++ Hrl}, _} -> + {ok, HrlFd} = file:open("$(DEPS_DIR)/$(1)/include/" ++ Hrl, [read]), + [F(F, HrlFd), F(F, Fd)]; + {ok, {attribute, _, include_lib, Hrl}, _} -> + case file:open("$(DEPS_DIR)/$(1)/include/" ++ Hrl, [read]) of + {ok, HrlFd} -> [F(F, HrlFd), F(F, Fd)]; + _ -> [F(F, Fd)] + end; + {ok, {attribute, _, import, {Imp, _}}, _} -> + case file:open("$(DEPS_DIR)/$(1)/src/" ++ atom_to_list(Imp) ++ ".erl", [read]) of + {ok, ImpFd} -> [Imp, F(F, ImpFd), F(F, Fd)]; + _ -> [F(F, Fd)] + end; + {eof, _} -> + file:close(Fd), + []; + _ -> + F(F, Fd) + end + end, + fun() -> + ErlFiles = filelib:wildcard("$(DEPS_DIR)/$(1)/src/*.erl"), + First0 = lists:usort(lists:flatten([begin + {ok, Fd} = file:open(F, [read]), + FindFirst(FindFirst, Fd) + end || F <- ErlFiles])), + First = lists:flatten([begin + {ok, Fd} = file:open("$(DEPS_DIR)/$(1)/src/" ++ atom_to_list(M) ++ ".erl", [read]), + FindFirst(FindFirst, Fd) + end || M <- First0, lists:member("$(DEPS_DIR)/$(1)/src/" ++ atom_to_list(M) ++ ".erl", ErlFiles)]) ++ First0, + Write(["COMPILE_FIRST +=", [[" ", atom_to_list(M)] || M <- First, + lists:member("$(DEPS_DIR)/$(1)/src/" ++ atom_to_list(M) ++ ".erl", ErlFiles)], "\n"]) + end(), + Write("\n\nrebar_dep: preprocess pre-deps deps pre-app app\n"), + Write("\npreprocess::\n"), + Write("\npre-deps::\n"), + Write("\npre-app::\n"), + PatchHook = fun(Cmd) -> + case Cmd of + "make -C" ++ Cmd1 -> "$$$$\(MAKE) -C" ++ Escape(Cmd1); + "gmake -C" ++ Cmd1 -> "$$$$\(MAKE) -C" ++ Escape(Cmd1); + "make " ++ Cmd1 -> "$$$$\(MAKE) -f Makefile.orig.mk " ++ Escape(Cmd1); + "gmake " ++ Cmd1 -> "$$$$\(MAKE) -f Makefile.orig.mk " ++ Escape(Cmd1); + _ -> Escape(Cmd) + end + end, + fun() -> + case lists:keyfind(pre_hooks, 1, Conf) of + false -> ok; + {_, Hooks} -> + [case H of + {'get-deps', Cmd} -> + Write("\npre-deps::\n\t" ++ PatchHook(Cmd) ++ "\n"); + {compile, Cmd} -> + Write("\npre-app::\n\tCC=$$$$\(CC) " ++ PatchHook(Cmd) ++ "\n"); + {Regex, compile, Cmd} -> + case rebar_utils:is_arch(Regex) of + true -> Write("\npre-app::\n\tCC=$$$$\(CC) " ++ PatchHook(Cmd) ++ "\n"); + false -> ok + end; + _ -> ok + end || H <- Hooks] + end + end(), + ShellToMk = fun(V) -> + re:replace(re:replace(V, "(\\\\$$$$)(\\\\w*)", "\\\\1(\\\\2)", [global]), + "-Werror\\\\b", "", [{return, list}, global]) + end, + PortSpecs = fun() -> + case lists:keyfind(port_specs, 1, Conf) of + false -> + case filelib:is_dir("$(DEPS_DIR)/$(1)/c_src") of + false -> []; + true -> + [{"priv/" ++ proplists:get_value(so_name, Conf, "$(1)_drv.so"), + proplists:get_value(port_sources, Conf, ["c_src/*.c"]), []}] + end; + {_, Specs} -> + lists:flatten([case S of + {Output, Input} -> {ShellToMk(Output), Input, []}; + {Regex, Output, Input} -> + case rebar_utils:is_arch(Regex) of + true -> {ShellToMk(Output), Input, []}; + false -> [] + end; + {Regex, Output, Input, [{env, Env}]} -> + case rebar_utils:is_arch(Regex) of + true -> {ShellToMk(Output), Input, Env}; + false -> [] + end + end || S <- Specs]) + end + end(), + PortSpecWrite = fun (Text) -> + file:write_file("$(DEPS_DIR)/$(1)/c_src/Makefile.erlang.mk", Text, [append]) + end, + case PortSpecs of + [] -> ok; + _ -> + Write("\npre-app::\n\t$$$$\(MAKE) -f c_src/Makefile.erlang.mk\n"), + PortSpecWrite(io_lib:format("ERL_CFLAGS = -finline-functions -Wall -fPIC -I ~s/erts-~s/include -I ~s\n", + [code:root_dir(), erlang:system_info(version), code:lib_dir(erl_interface, include)])), + PortSpecWrite(io_lib:format("ERL_LDFLAGS = -L ~s -lerl_interface -lei\n", + [code:lib_dir(erl_interface, lib)])), + [PortSpecWrite(["\n", E, "\n"]) || E <- OsEnv], + FilterEnv = fun(Env) -> + lists:flatten([case E of + {_, _} -> E; + {Regex, K, V} -> + case rebar_utils:is_arch(Regex) of + true -> {K, V}; + false -> [] + end + end || E <- Env]) + end, + MergeEnv = fun(Env) -> + lists:foldl(fun ({K, V}, Acc) -> + case lists:keyfind(K, 1, Acc) of + false -> [{K, rebar_utils:expand_env_variable(V, K, "")}|Acc]; + {_, V0} -> [{K, rebar_utils:expand_env_variable(V, K, V0)}|Acc] + end + end, [], Env) + end, + PortEnv = case lists:keyfind(port_env, 1, Conf) of + false -> []; + {_, PortEnv0} -> FilterEnv(PortEnv0) + end, + PortSpec = fun ({Output, Input0, Env}) -> + filelib:ensure_dir("$(DEPS_DIR)/$(1)/" ++ Output), + Input = [[" ", I] || I <- Input0], + PortSpecWrite([ + [["\n", K, " = ", ShellToMk(V)] || {K, V} <- lists:reverse(MergeEnv(PortEnv))], + case $(PLATFORM) of + darwin -> "\n\nLDFLAGS += -flat_namespace -undefined suppress"; + _ -> "" + end, + "\n\nall:: ", Output, "\n\n", + "%.o: %.c\n\t$$$$\(CC) -c -o $$$$\@ $$$$\< $$$$\(CFLAGS) $$$$\(ERL_CFLAGS) $$$$\(DRV_CFLAGS) $$$$\(EXE_CFLAGS)\n\n", + "%.o: %.C\n\t$$$$\(CXX) -c -o $$$$\@ $$$$\< $$$$\(CXXFLAGS) $$$$\(ERL_CFLAGS) $$$$\(DRV_CFLAGS) $$$$\(EXE_CFLAGS)\n\n", + "%.o: %.cc\n\t$$$$\(CXX) -c -o $$$$\@ $$$$\< $$$$\(CXXFLAGS) $$$$\(ERL_CFLAGS) $$$$\(DRV_CFLAGS) $$$$\(EXE_CFLAGS)\n\n", + "%.o: %.cpp\n\t$$$$\(CXX) -c -o $$$$\@ $$$$\< $$$$\(CXXFLAGS) $$$$\(ERL_CFLAGS) $$$$\(DRV_CFLAGS) $$$$\(EXE_CFLAGS)\n\n", + [[Output, ": ", K, " = ", ShellToMk(V), "\n"] || {K, V} <- lists:reverse(MergeEnv(FilterEnv(Env)))], + Output, ": $$$$\(foreach ext,.c .C .cc .cpp,", + "$$$$\(patsubst %$$$$\(ext),%.o,$$$$\(filter %$$$$\(ext),$$$$\(wildcard", Input, "))))\n", + "\t$$$$\(CC) -o $$$$\@ $$$$\? $$$$\(LDFLAGS) $$$$\(ERL_LDFLAGS) $$$$\(DRV_LDFLAGS) $$$$\(EXE_LDFLAGS)", + case filename:extension(Output) of + [] -> "\n"; + _ -> " -shared\n" + end]) + end, + [PortSpec(S) || S <- PortSpecs] + end, + Write("\ninclude $(ERLANG_MK_FILENAME)"), + RunPlugin = fun(Plugin, Step) -> + case erlang:function_exported(Plugin, Step, 2) of + false -> ok; + true -> + c:cd("$(DEPS_DIR)/$(1)/"), + Ret = Plugin:Step({config, "", Conf, dict:new(), dict:new(), dict:new(), + dict:store(base_dir, "", dict:new())}, undefined), + io:format("rebar plugin ~p step ~p ret ~p~n", [Plugin, Step, Ret]) + end + end, + fun() -> + case lists:keyfind(plugins, 1, Conf) of + false -> ok; + {_, Plugins} -> + [begin + case lists:keyfind(deps, 1, Conf) of + false -> ok; + {_, Deps} -> + case lists:keyfind(P, 1, Deps) of + false -> ok; + _ -> + Path = "$(DEPS_DIR)/" ++ atom_to_list(P), + io:format("~s", [os:cmd("$(MAKE) -C $(DEPS_DIR)/$(1) " ++ Path)]), + io:format("~s", [os:cmd("$(MAKE) -C " ++ Path ++ " IS_DEP=1")]), + code:add_patha(Path ++ "/ebin") + end + end + end || P <- Plugins], + [case code:load_file(P) of + {module, P} -> ok; + _ -> + case lists:keyfind(plugin_dir, 1, Conf) of + false -> ok; + {_, PluginsDir} -> + ErlFile = "$(DEPS_DIR)/$(1)/" ++ PluginsDir ++ "/" ++ atom_to_list(P) ++ ".erl", + {ok, P, Bin} = compile:file(ErlFile, [binary]), + {module, P} = code:load_binary(P, ErlFile, Bin) + end + end || P <- Plugins], + [RunPlugin(P, preprocess) || P <- Plugins], + [RunPlugin(P, pre_compile) || P <- Plugins] + end + end(), + halt() +endef + +define dep_autopatch_app.erl + UpdateModules = fun(App) -> + case filelib:is_regular(App) of + false -> ok; + true -> + {ok, [{application, $(1), L0}]} = file:consult(App), + Mods = filelib:fold_files("$(DEPS_DIR)/$(1)/src", "\\\\.erl$$$$", true, + fun (F, Acc) -> [list_to_atom(filename:rootname(filename:basename(F)))|Acc] end, []), + L = lists:keystore(modules, 1, L0, {modules, Mods}), + ok = file:write_file(App, io_lib:format("~p.~n", [{application, $(1), L}])) + end + end, + UpdateModules("$(DEPS_DIR)/$(1)/ebin/$(1).app"), + halt() +endef + +define dep_autopatch_appsrc.erl + AppSrcOut = "$(DEPS_DIR)/$(1)/src/$(1).app.src", + AppSrcIn = case filelib:is_regular(AppSrcOut) of false -> "$(DEPS_DIR)/$(1)/ebin/$(1).app"; true -> AppSrcOut end, + case filelib:is_regular(AppSrcIn) of + false -> ok; + true -> + {ok, [{application, $(1), L0}]} = file:consult(AppSrcIn), + L1 = lists:keystore(modules, 1, L0, {modules, []}), + L2 = case lists:keyfind(vsn, 1, L1) of {_, git} -> lists:keyreplace(vsn, 1, L1, {vsn, "git"}); _ -> L1 end, + L3 = case lists:keyfind(registered, 1, L2) of false -> [{registered, []}|L2]; _ -> L2 end, + ok = file:write_file(AppSrcOut, io_lib:format("~p.~n", [{application, $(1), L3}])), + case AppSrcOut of AppSrcIn -> ok; _ -> ok = file:delete(AppSrcIn) end + end, + halt() +endef + +define hex_fetch.erl + ssl:start(), + inets:start(), + {ok, {{_, 200, _}, _, Body}} = httpc:request(get, + {"https://s3.amazonaws.com/s3.hex.pm/tarballs/$(1)-$(2).tar", []}, + [], [{body_format, binary}]), + {ok, Files} = erl_tar:extract({binary, Body}, [memory]), + {_, Source} = lists:keyfind("contents.tar.gz", 1, Files), + ok = erl_tar:extract({binary, Source}, [{cwd, "$(DEPS_DIR)/$(1)"}, compressed]), + halt() +endef + +define dep_fetch + if [ "$(2)" = "git" ]; then \ + git clone -q -n -- $(3) $(DEPS_DIR)/$(1); \ + cd $(DEPS_DIR)/$(1) && git checkout -q $(4); \ + elif [ "$(2)" = "hg" ]; then \ + hg clone -q -U $(3) $(DEPS_DIR)/$(1); \ + cd $(DEPS_DIR)/$(1) && hg update -q $(4); \ + elif [ "$(2)" = "svn" ]; then \ + svn checkout -q $(3) $(DEPS_DIR)/$(1); \ + elif [ "$(2)" = "cp" ]; then \ + cp -R $(3) $(DEPS_DIR)/$(1); \ + elif [ "$(2)" = "hex" ]; then \ + $(call erlang,$(call hex_fetch.erl,$(1),$(strip $(4)))); \ + else \ + echo "Unknown or invalid dependency: $(1). Please consult the erlang.mk README for instructions." >&2; \ + exit 78; \ + fi +endef + +define dep_target +$(DEPS_DIR)/$(1): + @mkdir -p $(DEPS_DIR) +ifeq (,$(dep_$(1))) + $(dep_verbose) $(call dep_fetch,$(pkg_$(1)_name),$(pkg_$(1)_fetch), \ + $(patsubst git://github.com/%,https://github.com/%,$(pkg_$(1)_repo)), \ + $(pkg_$(1)_commit)) +else +ifeq (1,$(words $(dep_$(1)))) + $(dep_verbose) $(call dep_fetch,$(1),git, \ + $(patsubst git://github.com/%,https://github.com/%,$(dep_$(1))), \ + master) +else +ifeq (2,$(words $(dep_$(1)))) + $(dep_verbose) $(call dep_fetch,$(1),git, \ + $(patsubst git://github.com/%,https://github.com/%,$(word 1,$(dep_$(1)))), \ + $(word 2,$(dep_$(1)))) +else + $(dep_verbose) $(call dep_fetch,$(1),$(word 1,$(dep_$(1))), \ + $(patsubst git://github.com/%,https://github.com/%,$(word 2,$(dep_$(1)))), \ + $(word 3,$(dep_$(1)))) +endif +endif +endif + @if [ -f $(DEPS_DIR)/$(1)/configure.ac -o -f $(DEPS_DIR)/$(1)/configure.in ]; then \ + echo " AUTO " $(1); \ + cd $(DEPS_DIR)/$(1) && autoreconf -Wall -vif -I m4; \ + fi + -@if [ -f $(DEPS_DIR)/$(1)/configure ]; then \ + echo " CONF " $(1); \ + cd $(DEPS_DIR)/$(1) && ./configure; \ + fi +ifeq ($(filter $(1),$(NO_AUTOPATCH)),) + @if [ "$(1)" = "amqp_client" -a "$(RABBITMQ_CLIENT_PATCH)" ]; then \ + if [ ! -d $(DEPS_DIR)/rabbitmq-codegen ]; then \ + echo " PATCH Downloading rabbitmq-codegen"; \ + git clone https://github.com/rabbitmq/rabbitmq-codegen.git $(DEPS_DIR)/rabbitmq-codegen; \ + fi; \ + if [ ! -d $(DEPS_DIR)/rabbitmq-server ]; then \ + echo " PATCH Downloading rabbitmq-server"; \ + git clone https://github.com/rabbitmq/rabbitmq-server.git $(DEPS_DIR)/rabbitmq-server; \ + fi; \ + ln -s $(DEPS_DIR)/amqp_client/deps/rabbit_common-0.0.0 $(DEPS_DIR)/rabbit_common; \ + elif [ "$(1)" = "rabbit" -a "$(RABBITMQ_SERVER_PATCH)" ]; then \ + if [ ! -d $(DEPS_DIR)/rabbitmq-codegen ]; then \ + echo " PATCH Downloading rabbitmq-codegen"; \ + git clone https://github.com/rabbitmq/rabbitmq-codegen.git $(DEPS_DIR)/rabbitmq-codegen; \ + fi \ + else \ + $(call dep_autopatch,$(1)) \ + fi +endif +endef + +$(foreach dep,$(DEPS),$(eval $(call dep_target,$(dep)))) + +distclean-deps: + $(gen_verbose) rm -rf $(DEPS_DIR) + +# Copyright (c) 2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +# Verbosity. + +proto_verbose_0 = @echo " PROTO " $(filter %.proto,$(?F)); +proto_verbose = $(proto_verbose_$(V)) + +# Core targets. + +define compile_proto + @mkdir -p ebin/ include/ + $(proto_verbose) $(call erlang,$(call compile_proto.erl,$(1))) + $(proto_verbose) erlc +debug_info -o ebin/ ebin/*.erl + @rm ebin/*.erl +endef + +define compile_proto.erl + [begin + Dir = filename:dirname(filename:dirname(F)), + protobuffs_compile:generate_source(F, + [{output_include_dir, Dir ++ "/include"}, + {output_src_dir, Dir ++ "/ebin"}]) + end || F <- string:tokens("$(1)", " ")], + halt(). +endef + +ifneq ($(wildcard src/),) +ebin/$(PROJECT).app:: $(shell find src -type f -name \*.proto 2>/dev/null) + $(if $(strip $?),$(call compile_proto,$?)) +endif + +# Copyright (c) 2013-2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: clean-app + +# Configuration. + +ERLC_OPTS ?= -Werror +debug_info +warn_export_vars +warn_shadow_vars \ + +warn_obsolete_guard # +bin_opt_info +warn_export_all +warn_missing_spec +COMPILE_FIRST ?= +COMPILE_FIRST_PATHS = $(addprefix src/,$(addsuffix .erl,$(COMPILE_FIRST))) +ERLC_EXCLUDE ?= +ERLC_EXCLUDE_PATHS = $(addprefix src/,$(addsuffix .erl,$(ERLC_EXCLUDE))) + +ERLC_MIB_OPTS ?= +COMPILE_MIB_FIRST ?= +COMPILE_MIB_FIRST_PATHS = $(addprefix mibs/,$(addsuffix .mib,$(COMPILE_MIB_FIRST))) + +# Verbosity. + +app_verbose_0 = @echo " APP " $(PROJECT); +app_verbose = $(app_verbose_$(V)) + +appsrc_verbose_0 = @echo " APP " $(PROJECT).app.src; +appsrc_verbose = $(appsrc_verbose_$(V)) + +erlc_verbose_0 = @echo " ERLC " $(filter-out $(patsubst %,%.erl,$(ERLC_EXCLUDE)),\ + $(filter %.erl %.core,$(?F))); +erlc_verbose = $(erlc_verbose_$(V)) + +xyrl_verbose_0 = @echo " XYRL " $(filter %.xrl %.yrl,$(?F)); +xyrl_verbose = $(xyrl_verbose_$(V)) + +asn1_verbose_0 = @echo " ASN1 " $(filter %.asn1,$(?F)); +asn1_verbose = $(asn1_verbose_$(V)) + +mib_verbose_0 = @echo " MIB " $(filter %.bin %.mib,$(?F)); +mib_verbose = $(mib_verbose_$(V)) + +# Targets. + +ifeq ($(wildcard ebin/test),) +app:: app-build +else +app:: clean app-build +endif + +ifeq ($(wildcard src/$(PROJECT)_app.erl),) +define app_file +{application, $(PROJECT), [ + {description, "$(PROJECT_DESCRIPTION)"}, + {vsn, "$(PROJECT_VERSION)"}, + {id, "$(1)"}, + {modules, [$(2)]}, + {registered, []}, + {applications, $(call erlang_list,kernel stdlib $(OTP_DEPS) $(DEPS))} +]}. +endef +else +define app_file +{application, $(PROJECT), [ + {description, "$(PROJECT_DESCRIPTION)"}, + {vsn, "$(PROJECT_VERSION)"}, + {id, "$(1)"}, + {modules, [$(2)]}, + {registered, $(call erlang_list,$(PROJECT)_sup $(PROJECT_REGISTERED))}, + {applications, $(call erlang_list,kernel stdlib $(OTP_DEPS) $(DEPS))}, + {mod, {$(PROJECT)_app, []}} +]}. +endef +endif + +app-build: erlc-include ebin/$(PROJECT).app + $(eval GITDESCRIBE := $(shell git describe --dirty --abbrev=7 --tags --always --first-parent 2>/dev/null || true)) + $(eval MODULES := $(shell find ebin -type f -name \*.beam \ + | sed "s/ebin\//'/;s/\.beam/',/" | sed '$$s/.$$//')) +ifeq ($(wildcard src/$(PROJECT).app.src),) + $(app_verbose) echo $(subst $(newline),,$(subst ",\",$(call app_file,$(GITDESCRIBE),$(MODULES)))) \ + > ebin/$(PROJECT).app +else + @if [ -z "$$(grep -E '^[^%]*{\s*modules\s*,' src/$(PROJECT).app.src)" ]; then \ + echo "Empty modules entry not found in $(PROJECT).app.src. Please consult the erlang.mk README for instructions." >&2; \ + exit 1; \ + fi + $(appsrc_verbose) cat src/$(PROJECT).app.src \ + | sed "s/{[[:space:]]*modules[[:space:]]*,[[:space:]]*\[\]}/{modules, \[$(MODULES)\]}/" \ + | sed "s/{id,[[:space:]]*\"git\"}/{id, \"$(GITDESCRIBE)\"}/" \ + > ebin/$(PROJECT).app +endif + +erlc-include: + -@if [ -d ebin/ ]; then \ + find include/ src/ -type f -name \*.hrl -newer ebin -exec touch $(shell find src/ -type f -name "*.erl") \; 2>/dev/null || printf ''; \ + fi + +define compile_erl + $(erlc_verbose) erlc -v $(ERLC_OPTS) -o ebin/ \ + -pa ebin/ -I include/ $(filter-out $(ERLC_EXCLUDE_PATHS),\ + $(COMPILE_FIRST_PATHS) $(1)) +endef + +define compile_xyrl + $(xyrl_verbose) erlc -v -o ebin/ $(1) + $(xyrl_verbose) erlc $(ERLC_OPTS) -o ebin/ ebin/*.erl + @rm ebin/*.erl +endef + +define compile_asn1 + $(asn1_verbose) erlc -v -I include/ -o ebin/ $(1) + @mv ebin/*.hrl include/ + @mv ebin/*.asn1db include/ + @rm ebin/*.erl +endef + +define compile_mib + $(mib_verbose) erlc -v $(ERLC_MIB_OPTS) -o priv/mibs/ \ + -I priv/mibs/ $(COMPILE_MIB_FIRST_PATHS) $(1) + $(mib_verbose) erlc -o include/ -- priv/mibs/*.bin +endef + +ifneq ($(wildcard src/),) +ebin/$(PROJECT).app:: + @mkdir -p ebin/ + +ifneq ($(wildcard asn1/),) +ebin/$(PROJECT).app:: $(shell find asn1 -type f -name \*.asn1) + @mkdir -p include + $(if $(strip $?),$(call compile_asn1,$?)) +endif + +ifneq ($(wildcard mibs/),) +ebin/$(PROJECT).app:: $(shell find mibs -type f -name \*.mib) + @mkdir -p priv/mibs/ include + $(if $(strip $?),$(call compile_mib,$?)) +endif + +ebin/$(PROJECT).app:: $(shell find src -type f -name \*.erl -o -name \*.core) + $(if $(strip $?),$(call compile_erl,$?)) + +ebin/$(PROJECT).app:: $(shell find src -type f -name \*.xrl -o -name \*.yrl) + $(if $(strip $?),$(call compile_xyrl,$?)) +endif + +clean:: clean-app + +clean-app: + $(gen_verbose) rm -rf ebin/ priv/mibs/ \ + $(addprefix include/,$(addsuffix .hrl,$(notdir $(basename $(wildcard mibs/*.mib))))) + +# Copyright (c) 2015, Viktor Söderqvist +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: docs-deps + +# Configuration. + +ALL_DOC_DEPS_DIRS = $(addprefix $(DEPS_DIR)/,$(DOC_DEPS)) + +# Targets. + +$(foreach dep,$(DOC_DEPS),$(eval $(call dep_target,$(dep)))) + +ifneq ($(SKIP_DEPS),) +doc-deps: +else +doc-deps: $(ALL_DOC_DEPS_DIRS) + @for dep in $(ALL_DOC_DEPS_DIRS) ; do $(MAKE) -C $$dep; done +endif + +# Copyright (c) 2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: test-deps test-dir test-build clean-test-dir + +# Configuration. + +TEST_DIR ?= $(CURDIR)/test + +ALL_TEST_DEPS_DIRS = $(addprefix $(DEPS_DIR)/,$(TEST_DEPS)) + +TEST_ERLC_OPTS ?= +debug_info +warn_export_vars +warn_shadow_vars +warn_obsolete_guard +TEST_ERLC_OPTS += -DTEST=1 + +# Targets. + +$(foreach dep,$(TEST_DEPS),$(eval $(call dep_target,$(dep)))) + +ifneq ($(SKIP_DEPS),) +test-deps: +else +test-deps: $(ALL_TEST_DEPS_DIRS) + @for dep in $(ALL_TEST_DEPS_DIRS) ; do $(MAKE) -C $$dep; done +endif + +ifneq ($(strip $(TEST_DIR)),) +test-dir: + $(gen_verbose) erlc -v $(TEST_ERLC_OPTS) -I include/ -o $(TEST_DIR) \ + $(wildcard $(TEST_DIR)/*.erl $(TEST_DIR)/*/*.erl) -pa ebin/ +endif + +ifeq ($(wildcard ebin/test),) +test-build:: ERLC_OPTS=$(TEST_ERLC_OPTS) +test-build:: clean deps test-deps + @$(MAKE) --no-print-directory app-build test-dir ERLC_OPTS="$(TEST_ERLC_OPTS)" + $(gen_verbose) touch ebin/test +else +test-build:: ERLC_OPTS=$(TEST_ERLC_OPTS) +test-build:: deps test-deps + @$(MAKE) --no-print-directory app-build test-dir ERLC_OPTS="$(TEST_ERLC_OPTS)" +endif + +clean:: clean-test-dir + +clean-test-dir: +ifneq ($(wildcard $(TEST_DIR)/*.beam),) + $(gen_verbose) rm -f $(TEST_DIR)/*.beam +endif + +# Copyright (c) 2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: asciidoc asciidoc-guide asciidoc-manual install-asciidoc distclean-asciidoc + +MAN_INSTALL_PATH ?= /usr/local/share/man +MAN_SECTIONS ?= 3 7 + +docs:: asciidoc + +asciidoc: distclean-asciidoc doc-deps asciidoc-guide asciidoc-manual + +ifeq ($(wildcard doc/src/guide/book.asciidoc),) +asciidoc-guide: +else +asciidoc-guide: + a2x -v -f pdf doc/src/guide/book.asciidoc && mv doc/src/guide/book.pdf doc/guide.pdf + a2x -v -f chunked doc/src/guide/book.asciidoc && mv doc/src/guide/book.chunked/ doc/html/ +endif + +ifeq ($(wildcard doc/src/manual/*.asciidoc),) +asciidoc-manual: +else +asciidoc-manual: + for f in doc/src/manual/*.asciidoc ; do \ + a2x -v -f manpage $$f ; \ + done + for s in $(MAN_SECTIONS); do \ + mkdir -p doc/man$$s/ ; \ + mv doc/src/manual/*.$$s doc/man$$s/ ; \ + gzip doc/man$$s/*.$$s ; \ + done + +install-docs:: install-asciidoc + +install-asciidoc: asciidoc-manual + for s in $(MAN_SECTIONS); do \ + mkdir -p $(MAN_INSTALL_PATH)/man$$s/ ; \ + install -g 0 -o 0 -m 0644 doc/man$$s/*.gz $(MAN_INSTALL_PATH)/man$$s/ ; \ + done +endif + +distclean:: distclean-asciidoc + +distclean-asciidoc: + $(gen_verbose) rm -rf doc/html/ doc/guide.pdf doc/man3/ doc/man7/ + +# Copyright (c) 2014-2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: bootstrap bootstrap-lib bootstrap-rel new list-templates + +# Core targets. + +help:: + @printf "%s\n" "" \ + "Bootstrap targets:" \ + " bootstrap Generate a skeleton of an OTP application" \ + " bootstrap-lib Generate a skeleton of an OTP library" \ + " bootstrap-rel Generate the files needed to build a release" \ + " new t=TPL n=NAME Generate a module NAME based on the template TPL" \ + " list-templates List available templates" + +# Bootstrap templates. + +define bs_appsrc +{application, $(PROJECT), [ + {description, ""}, + {vsn, "0.1.0"}, + {id, "git"}, + {modules, []}, + {registered, []}, + {applications, [ + kernel, + stdlib + ]}, + {mod, {$(PROJECT)_app, []}}, + {env, []} +]}. +endef + +define bs_appsrc_lib +{application, $(PROJECT), [ + {description, ""}, + {vsn, "0.1.0"}, + {id, "git"}, + {modules, []}, + {registered, []}, + {applications, [ + kernel, + stdlib + ]} +]}. +endef + +define bs_Makefile +PROJECT = $(PROJECT) +include erlang.mk +endef + +define bs_app +-module($(PROJECT)_app). +-behaviour(application). + +-export([start/2]). +-export([stop/1]). + +start(_Type, _Args) -> + $(PROJECT)_sup:start_link(). + +stop(_State) -> + ok. +endef + +define bs_relx_config +{release, {$(PROJECT)_release, "1"}, [$(PROJECT)]}. +{extended_start_script, true}. +{sys_config, "rel/sys.config"}. +{vm_args, "rel/vm.args"}. +endef + +define bs_sys_config +[ +]. +endef + +define bs_vm_args +-name $(PROJECT)@127.0.0.1 +-setcookie $(PROJECT) +-heart +endef + +# Normal templates. + +define tpl_supervisor +-module($(n)). +-behaviour(supervisor). + +-export([start_link/0]). +-export([init/1]). + +start_link() -> + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +init([]) -> + Procs = [], + {ok, {{one_for_one, 1, 5}, Procs}}. +endef + +define tpl_gen_server +-module($(n)). +-behaviour(gen_server). + +%% API. +-export([start_link/0]). + +%% gen_server. +-export([init/1]). +-export([handle_call/3]). +-export([handle_cast/2]). +-export([handle_info/2]). +-export([terminate/2]). +-export([code_change/3]). + +-record(state, { +}). + +%% API. + +-spec start_link() -> {ok, pid()}. +start_link() -> + gen_server:start_link(?MODULE, [], []). + +%% gen_server. + +init([]) -> + {ok, #state{}}. + +handle_call(_Request, _From, State) -> + {reply, ignored, State}. + +handle_cast(_Msg, State) -> + {noreply, State}. + +handle_info(_Info, State) -> + {noreply, State}. + +terminate(_Reason, _State) -> + ok. + +code_change(_OldVsn, State, _Extra) -> + {ok, State}. +endef + +define tpl_cowboy_http +-module($(n)). +-behaviour(cowboy_http_handler). + +-export([init/3]). +-export([handle/2]). +-export([terminate/3]). + +-record(state, { +}). + +init(_, Req, _Opts) -> + {ok, Req, #state{}}. + +handle(Req, State=#state{}) -> + {ok, Req2} = cowboy_req:reply(200, Req), + {ok, Req2, State}. + +terminate(_Reason, _Req, _State) -> + ok. +endef + +define tpl_gen_fsm +-module($(n)). +-behaviour(gen_fsm). + +%% API. +-export([start_link/0]). + +%% gen_fsm. +-export([init/1]). +-export([state_name/2]). +-export([handle_event/3]). +-export([state_name/3]). +-export([handle_sync_event/4]). +-export([handle_info/3]). +-export([terminate/3]). +-export([code_change/4]). + +-record(state, { +}). + +%% API. + +-spec start_link() -> {ok, pid()}. +start_link() -> + gen_fsm:start_link(?MODULE, [], []). + +%% gen_fsm. + +init([]) -> + {ok, state_name, #state{}}. + +state_name(_Event, StateData) -> + {next_state, state_name, StateData}. + +handle_event(_Event, StateName, StateData) -> + {next_state, StateName, StateData}. + +state_name(_Event, _From, StateData) -> + {reply, ignored, state_name, StateData}. + +handle_sync_event(_Event, _From, StateName, StateData) -> + {reply, ignored, StateName, StateData}. + +handle_info(_Info, StateName, StateData) -> + {next_state, StateName, StateData}. + +terminate(_Reason, _StateName, _StateData) -> + ok. + +code_change(_OldVsn, StateName, StateData, _Extra) -> + {ok, StateName, StateData}. +endef + +define tpl_cowboy_loop +-module($(n)). +-behaviour(cowboy_loop_handler). + +-export([init/3]). +-export([info/3]). +-export([terminate/3]). + +-record(state, { +}). + +init(_, Req, _Opts) -> + {loop, Req, #state{}, 5000, hibernate}. + +info(_Info, Req, State) -> + {loop, Req, State, hibernate}. + +terminate(_Reason, _Req, _State) -> + ok. +endef + +define tpl_cowboy_rest +-module($(n)). + +-export([init/3]). +-export([content_types_provided/2]). +-export([get_html/2]). + +init(_, _Req, _Opts) -> + {upgrade, protocol, cowboy_rest}. + +content_types_provided(Req, State) -> + {[{{<<"text">>, <<"html">>, '*'}, get_html}], Req, State}. + +get_html(Req, State) -> + {<<"This is REST!">>, Req, State}. +endef + +define tpl_cowboy_ws +-module($(n)). +-behaviour(cowboy_websocket_handler). + +-export([init/3]). +-export([websocket_init/3]). +-export([websocket_handle/3]). +-export([websocket_info/3]). +-export([websocket_terminate/3]). + +-record(state, { +}). + +init(_, _, _) -> + {upgrade, protocol, cowboy_websocket}. + +websocket_init(_, Req, _Opts) -> + Req2 = cowboy_req:compact(Req), + {ok, Req2, #state{}}. + +websocket_handle({text, Data}, Req, State) -> + {reply, {text, Data}, Req, State}; +websocket_handle({binary, Data}, Req, State) -> + {reply, {binary, Data}, Req, State}; +websocket_handle(_Frame, Req, State) -> + {ok, Req, State}. + +websocket_info(_Info, Req, State) -> + {ok, Req, State}. + +websocket_terminate(_Reason, _Req, _State) -> + ok. +endef + +define tpl_ranch_protocol +-module($(n)). +-behaviour(ranch_protocol). + +-export([start_link/4]). +-export([init/4]). + +-type opts() :: []. +-export_type([opts/0]). + +-record(state, { + socket :: inet:socket(), + transport :: module() +}). + +start_link(Ref, Socket, Transport, Opts) -> + Pid = spawn_link(?MODULE, init, [Ref, Socket, Transport, Opts]), + {ok, Pid}. + +-spec init(ranch:ref(), inet:socket(), module(), opts()) -> ok. +init(Ref, Socket, Transport, _Opts) -> + ok = ranch:accept_ack(Ref), + loop(#state{socket=Socket, transport=Transport}). + +loop(State) -> + loop(State). +endef + +# Plugin-specific targets. + +define render_template + @echo "$${$(1)}" > $(2) +endef + +$(foreach template,$(filter bs_%,$(.VARIABLES)),$(eval export $(template))) +$(foreach template,$(filter tpl_%,$(.VARIABLES)),$(eval export $(template))) + +bootstrap: +ifneq ($(wildcard src/),) + $(error Error: src/ directory already exists) +endif + $(call render_template,bs_Makefile,Makefile) + @mkdir src/ + $(call render_template,bs_appsrc,src/$(PROJECT).app.src) + $(call render_template,bs_app,src/$(PROJECT)_app.erl) + $(eval n := $(PROJECT)_sup) + $(call render_template,tpl_supervisor,src/$(PROJECT)_sup.erl) + +bootstrap-lib: +ifneq ($(wildcard src/),) + $(error Error: src/ directory already exists) +endif + $(call render_template,bs_Makefile,Makefile) + @mkdir src/ + $(call render_template,bs_appsrc_lib,src/$(PROJECT).app.src) + +bootstrap-rel: +ifneq ($(wildcard relx.config),) + $(error Error: relx.config already exists) +endif +ifneq ($(wildcard rel/),) + $(error Error: rel/ directory already exists) +endif + $(call render_template,bs_relx_config,relx.config) + @mkdir rel/ + $(call render_template,bs_sys_config,rel/sys.config) + $(call render_template,bs_vm_args,rel/vm.args) + +new: +ifeq ($(wildcard src/),) + $(error Error: src/ directory does not exist) +endif +ifndef t + $(error Usage: $(MAKE) new t=TEMPLATE n=NAME) +endif +ifndef tpl_$(t) + $(error Unknown template) +endif +ifndef n + $(error Usage: $(MAKE) new t=TEMPLATE n=NAME) +endif + $(call render_template,tpl_$(t),src/$(n).erl) + +list-templates: + @echo Available templates: $(sort $(patsubst tpl_%,%,$(filter tpl_%,$(.VARIABLES)))) + +# Copyright (c) 2014-2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: clean-c_src distclean-c_src-env + +# Configuration. + +C_SRC_DIR ?= $(CURDIR)/c_src +C_SRC_ENV ?= $(C_SRC_DIR)/env.mk +C_SRC_OUTPUT ?= $(CURDIR)/priv/$(PROJECT).so +C_SRC_TYPE ?= shared + +# System type and C compiler/flags. + +ifeq ($(PLATFORM),darwin) + CC ?= cc + CFLAGS ?= -O3 -std=c99 -arch x86_64 -finline-functions -Wall -Wmissing-prototypes + CXXFLAGS ?= -O3 -arch x86_64 -finline-functions -Wall + LDFLAGS ?= -arch x86_64 -flat_namespace -undefined suppress +else ifeq ($(PLATFORM),freebsd) + CC ?= cc + CFLAGS ?= -O3 -std=c99 -finline-functions -Wall -Wmissing-prototypes + CXXFLAGS ?= -O3 -finline-functions -Wall +else ifeq ($(PLATFORM),linux) + CC ?= gcc + CFLAGS ?= -O3 -std=c99 -finline-functions -Wall -Wmissing-prototypes + CXXFLAGS ?= -O3 -finline-functions -Wall +endif + +CFLAGS += -fPIC -I $(ERTS_INCLUDE_DIR) -I $(ERL_INTERFACE_INCLUDE_DIR) +CXXFLAGS += -fPIC -I $(ERTS_INCLUDE_DIR) -I $(ERL_INTERFACE_INCLUDE_DIR) + +LDLIBS += -L $(ERL_INTERFACE_LIB_DIR) -lerl_interface -lei + +ifeq ($(C_SRC_TYPE),shared) +LDFLAGS += -shared +endif + +# Verbosity. + +c_verbose_0 = @echo " C " $(?F); +c_verbose = $(c_verbose_$(V)) + +cpp_verbose_0 = @echo " CPP " $(?F); +cpp_verbose = $(cpp_verbose_$(V)) + +link_verbose_0 = @echo " LD " $(@F); +link_verbose = $(link_verbose_$(V)) + +# Targets. + +ifeq ($(wildcard $(C_SRC_DIR)),) +else ifneq ($(wildcard $(C_SRC_DIR)/Makefile),) +app:: app-c_src + +test-build:: app-c_src + +app-c_src: + $(MAKE) -C $(C_SRC_DIR) + +clean:: + $(MAKE) -C $(C_SRC_DIR) clean + +else + +ifeq ($(SOURCES),) +SOURCES := $(shell find $(C_SRC_DIR) -type f \( -name "*.c" -o -name "*.C" -o -name "*.cc" -o -name "*.cpp" \)) +endif +OBJECTS = $(addsuffix .o, $(basename $(SOURCES))) + +COMPILE_C = $(c_verbose) $(CC) $(CFLAGS) $(CPPFLAGS) -c +COMPILE_CPP = $(cpp_verbose) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c + +app:: $(C_SRC_ENV) $(C_SRC_OUTPUT) + +test-build:: $(C_SRC_ENV) $(C_SRC_OUTPUT) + +$(C_SRC_OUTPUT): $(OBJECTS) + @mkdir -p priv/ + $(link_verbose) $(CC) $(OBJECTS) $(LDFLAGS) $(LDLIBS) -o $(C_SRC_OUTPUT) + +%.o: %.c + $(COMPILE_C) $(OUTPUT_OPTION) $< + +%.o: %.cc + $(COMPILE_CPP) $(OUTPUT_OPTION) $< + +%.o: %.C + $(COMPILE_CPP) $(OUTPUT_OPTION) $< + +%.o: %.cpp + $(COMPILE_CPP) $(OUTPUT_OPTION) $< + +clean:: clean-c_src + +clean-c_src: + $(gen_verbose) rm -f $(C_SRC_OUTPUT) $(OBJECTS) + +endif + +ifneq ($(wildcard $(C_SRC_DIR)),) +$(C_SRC_ENV): + @$(ERL) -eval "file:write_file(\"$(C_SRC_ENV)\", \ + io_lib:format( \ + \"ERTS_INCLUDE_DIR ?= ~s/erts-~s/include/~n\" \ + \"ERL_INTERFACE_INCLUDE_DIR ?= ~s~n\" \ + \"ERL_INTERFACE_LIB_DIR ?= ~s~n\", \ + [code:root_dir(), erlang:system_info(version), \ + code:lib_dir(erl_interface, include), \ + code:lib_dir(erl_interface, lib)])), \ + halt()." + +distclean:: distclean-c_src-env + +distclean-c_src-env: + $(gen_verbose) rm -f $(C_SRC_ENV) + +-include $(C_SRC_ENV) +endif + +# Copyright (c) 2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: ci ci-setup distclean-kerl + +KERL ?= $(CURDIR)/kerl +export KERL + +KERL_URL ?= https://raw.githubusercontent.com/yrashk/kerl/master/kerl + +OTP_GIT ?= https://github.com/erlang/otp + +CI_INSTALL_DIR ?= $(HOME)/erlang +CI_OTP ?= + +ifeq ($(strip $(CI_OTP)),) +ci:: +else +ci:: $(KERL) $(addprefix ci-,$(CI_OTP)) + +ci-setup:: + +ci_verbose_0 = @echo " CI " $(1); +ci_verbose = $(ci_verbose_$(V)) + +define ci_target +ci-$(1): $(CI_INSTALL_DIR)/$(1) + -$(ci_verbose) \ + PATH="$(CI_INSTALL_DIR)/$(1)/bin:$(PATH)" \ + CI_OTP_RELEASE="$(1)" \ + CT_OPTS="-label $(1)" \ + $(MAKE) clean ci-setup tests +endef + +$(foreach otp,$(CI_OTP),$(eval $(call ci_target,$(otp)))) + +define ci_otp_target +$(CI_INSTALL_DIR)/$(1): + $(KERL) build git $(OTP_GIT) $(1) $(1) + $(KERL) install $(1) $(CI_INSTALL_DIR)/$(1) +endef + +$(foreach otp,$(CI_OTP),$(eval $(call ci_otp_target,$(otp)))) + +define kerl_fetch + $(call core_http_get,$(KERL),$(KERL_URL)) + chmod +x $(KERL) +endef + +$(KERL): + @$(call kerl_fetch) + +help:: + @printf "%s\n" "" \ + "Continuous Integration targets:" \ + " ci Run '$(MAKE) tests' on all configured Erlang versions." \ + "" \ + "The CI_OTP variable must be defined with the Erlang versions" \ + "that must be tested. For example: CI_OTP = OTP-17.3.4 OTP-17.5.3" + +distclean:: distclean-kerl + +distclean-kerl: + $(gen_verbose) rm -rf $(KERL) +endif + +# Copyright (c) 2013-2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: ct distclean-ct + +# Configuration. + +CT_OPTS ?= +ifneq ($(wildcard $(TEST_DIR)),) + CT_SUITES ?= $(sort $(subst _SUITE.erl,,$(shell find $(TEST_DIR) -type f -name \*_SUITE.erl -exec basename {} \;))) +else + CT_SUITES ?= +endif + +# Core targets. + +tests:: ct + +distclean:: distclean-ct + +help:: + @printf "%s\n" "" \ + "Common_test targets:" \ + " ct Run all the common_test suites for this project" \ + "" \ + "All your common_test suites have their associated targets." \ + "A suite named http_SUITE can be ran using the ct-http target." + +# Plugin-specific targets. + +CT_RUN = ct_run \ + -no_auto_compile \ + -noinput \ + -pa $(CURDIR)/ebin $(DEPS_DIR)/*/ebin $(TEST_DIR) \ + -dir $(TEST_DIR) \ + -logdir $(CURDIR)/logs + +ifeq ($(CT_SUITES),) +ct: +else +ct: test-build + @mkdir -p $(CURDIR)/logs/ + $(gen_verbose) $(CT_RUN) -suite $(addsuffix _SUITE,$(CT_SUITES)) $(CT_OPTS) +endif + +define ct_suite_target +ct-$(1): test-build + @mkdir -p $(CURDIR)/logs/ + $(gen_verbose) $(CT_RUN) -suite $(addsuffix _SUITE,$(1)) $(CT_OPTS) +endef + +$(foreach test,$(CT_SUITES),$(eval $(call ct_suite_target,$(test)))) + +distclean-ct: + $(gen_verbose) rm -rf $(CURDIR)/logs/ + +# Copyright (c) 2013-2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: plt distclean-plt dialyze + +# Configuration. + +DIALYZER_PLT ?= $(CURDIR)/.$(PROJECT).plt +export DIALYZER_PLT + +PLT_APPS ?= +DIALYZER_DIRS ?= --src -r src +DIALYZER_OPTS ?= -Werror_handling -Wrace_conditions \ + -Wunmatched_returns # -Wunderspecs + +# Core targets. + +check:: dialyze + +distclean:: distclean-plt + +help:: + @printf "%s\n" "" \ + "Dialyzer targets:" \ + " plt Build a PLT file for this project" \ + " dialyze Analyze the project using Dialyzer" + +# Plugin-specific targets. + +$(DIALYZER_PLT): deps app + @dialyzer --build_plt --apps erts kernel stdlib $(PLT_APPS) $(OTP_DEPS) $(ALL_DEPS_DIRS) + +plt: $(DIALYZER_PLT) + +distclean-plt: + $(gen_verbose) rm -f $(DIALYZER_PLT) + +ifneq ($(wildcard $(DIALYZER_PLT)),) +dialyze: +else +dialyze: $(DIALYZER_PLT) +endif + @dialyzer --no_native $(DIALYZER_DIRS) $(DIALYZER_OPTS) + +# Copyright (c) 2013-2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: distclean-edoc edoc + +# Configuration. + +EDOC_OPTS ?= + +# Core targets. + +docs:: distclean-edoc edoc + +distclean:: distclean-edoc + +# Plugin-specific targets. + +edoc: doc-deps + $(gen_verbose) $(ERL) -eval 'edoc:application($(PROJECT), ".", [$(EDOC_OPTS)]), halt().' + +distclean-edoc: + $(gen_verbose) rm -f doc/*.css doc/*.html doc/*.png doc/edoc-info + +# Copyright (c) 2015, Erlang Solutions Ltd. +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: elvis distclean-elvis + +# Configuration. + +ELVIS_CONFIG ?= $(CURDIR)/elvis.config + +ELVIS ?= $(CURDIR)/elvis +export ELVIS + +ELVIS_URL ?= https://github.com/inaka/elvis/releases/download/0.2.5-beta2/elvis +ELVIS_CONFIG_URL ?= https://github.com/inaka/elvis/releases/download/0.2.5-beta2/elvis.config +ELVIS_OPTS ?= + +# Core targets. + +help:: + @printf "%s\n" "" \ + "Elvis targets:" \ + " elvis Run Elvis using the local elvis.config or download the default otherwise" + +distclean:: distclean-elvis + +# Plugin-specific targets. + +$(ELVIS): + @$(call core_http_get,$(ELVIS),$(ELVIS_URL)) + @chmod +x $(ELVIS) + +$(ELVIS_CONFIG): + @$(call core_http_get,$(ELVIS_CONFIG),$(ELVIS_CONFIG_URL)) + +elvis: $(ELVIS) $(ELVIS_CONFIG) + @$(ELVIS) rock -c $(ELVIS_CONFIG) $(ELVIS_OPTS) + +distclean-elvis: + $(gen_verbose) rm -rf $(ELVIS) + +# Copyright (c) 2013-2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +# Configuration. + +DTL_FULL_PATH ?= 0 + +# Verbosity. + +dtl_verbose_0 = @echo " DTL " $(filter %.dtl,$(?F)); +dtl_verbose = $(dtl_verbose_$(V)) + +# Core targets. + +define compile_erlydtl + $(dtl_verbose) $(ERL) -pa ebin/ $(DEPS_DIR)/erlydtl/ebin/ -eval ' \ + Compile = fun(F) -> \ + S = fun (1) -> re:replace(filename:rootname(string:sub_string(F, 11), ".dtl"), "/", "_", [{return, list}, global]); \ + (0) -> filename:basename(F, ".dtl") \ + end, \ + Module = list_to_atom(string:to_lower(S($(DTL_FULL_PATH))) ++ "_dtl"), \ + {ok, _} = erlydtl:compile(F, Module, [{out_dir, "ebin/"}, return_errors, {doc_root, "templates"}]) \ + end, \ + _ = [Compile(F) || F <- string:tokens("$(1)", " ")], \ + halt().' +endef + +ifneq ($(wildcard src/),) +ebin/$(PROJECT).app:: $(shell find templates -type f -name \*.dtl 2>/dev/null) + $(if $(strip $?),$(call compile_erlydtl,$?)) +endif + +# Copyright (c) 2014 Dave Cottlehuber +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: distclean-escript escript + +# Configuration. + +ESCRIPT_NAME ?= $(PROJECT) +ESCRIPT_COMMENT ?= This is an -*- erlang -*- file + +ESCRIPT_BEAMS ?= "ebin/*", "deps/*/ebin/*" +ESCRIPT_SYS_CONFIG ?= "rel/sys.config" +ESCRIPT_EMU_ARGS ?= -pa . \ + -sasl errlog_type error \ + -escript main $(ESCRIPT_NAME) +ESCRIPT_SHEBANG ?= /usr/bin/env escript +ESCRIPT_STATIC ?= "deps/*/priv/**", "priv/**" + +# Core targets. + +distclean:: distclean-escript + +help:: + @printf "%s\n" "" \ + "Escript targets:" \ + " escript Build an executable escript archive" \ + +# Plugin-specific targets. + +# Based on https://github.com/synrc/mad/blob/master/src/mad_bundle.erl +# Copyright (c) 2013 Maxim Sokhatsky, Synrc Research Center +# Modified MIT License, https://github.com/synrc/mad/blob/master/LICENSE : +# Software may only be used for the great good and the true happiness of all +# sentient beings. + +define ESCRIPT_RAW +'Read = fun(F) -> {ok, B} = file:read_file(filename:absname(F)), B end,'\ +'Files = fun(L) -> A = lists:concat([filelib:wildcard(X)||X<- L ]),'\ +' [F || F <- A, not filelib:is_dir(F) ] end,'\ +'Squash = fun(L) -> [{filename:basename(F), Read(F) } || F <- L ] end,'\ +'Zip = fun(A, L) -> {ok,{_,Z}} = zip:create(A, L, [{compress,all},memory]), Z end,'\ +'Ez = fun(Escript) ->'\ +' Static = Files([$(ESCRIPT_STATIC)]),'\ +' Beams = Squash(Files([$(ESCRIPT_BEAMS), $(ESCRIPT_SYS_CONFIG)])),'\ +' Archive = Beams ++ [{ "static.gz", Zip("static.gz", Static)}],'\ +' escript:create(Escript, [ $(ESCRIPT_OPTIONS)'\ +' {archive, Archive, [memory]},'\ +' {shebang, "$(ESCRIPT_SHEBANG)"},'\ +' {comment, "$(ESCRIPT_COMMENT)"},'\ +' {emu_args, " $(ESCRIPT_EMU_ARGS)"}'\ +' ]),'\ +' file:change_mode(Escript, 8#755)'\ +'end,'\ +'Ez("$(ESCRIPT_NAME)"),'\ +'halt().' +endef + +ESCRIPT_COMMAND = $(subst ' ',,$(ESCRIPT_RAW)) + +escript:: distclean-escript deps app + $(gen_verbose) $(ERL) -eval $(ESCRIPT_COMMAND) + +distclean-escript: + $(gen_verbose) rm -f $(ESCRIPT_NAME) + +# Copyright (c) 2014, Enrique Fernandez +# Copyright (c) 2015, Loïc Hoguin +# This file is contributed to erlang.mk and subject to the terms of the ISC License. + +.PHONY: eunit + +# Configuration + +# All modules in TEST_DIR +ifeq ($(strip $(TEST_DIR)),) +TEST_DIR_MODS = +else +TEST_DIR_MODS = $(notdir $(basename $(shell find $(TEST_DIR) -type f -name *.beam))) +endif + +# All modules in 'ebin' +EUNIT_EBIN_MODS = $(notdir $(basename $(shell find ebin -type f -name *.beam))) +# Only those modules in TEST_DIR with no matching module in 'ebin'. +# This is done to avoid some tests being executed twice. +EUNIT_MODS = $(filter-out $(patsubst %,%_tests,$(EUNIT_EBIN_MODS)),$(TEST_DIR_MODS)) +TAGGED_EUNIT_TESTS = $(foreach mod,$(EUNIT_EBIN_MODS) $(EUNIT_MODS),{module,$(mod)}) + +EUNIT_OPTS ?= + +# Utility functions + +define str-join + $(shell echo '$(strip $(1))' | sed -e "s/ /,/g") +endef + +# Core targets. + +tests:: eunit + +help:: + @printf "%s\n" "" \ + "EUnit targets:" \ + " eunit Run all the EUnit tests for this project" + +# Plugin-specific targets. + +EUNIT_RUN_BEFORE ?= +EUNIT_RUN_AFTER ?= +EUNIT_RUN = $(ERL) \ + -pa $(TEST_DIR) $(DEPS_DIR)/*/ebin \ + -pz ebin \ + $(EUNIT_RUN_BEFORE) \ + -eval 'case eunit:test([$(call str-join,$(TAGGED_EUNIT_TESTS))],\ + [$(EUNIT_OPTS)]) of ok -> ok; error -> halt(1) end.' \ + $(EUNIT_RUN_AFTER) \ + -eval 'halt(0).' + +eunit: test-build + $(gen_verbose) $(EUNIT_RUN) + +# Copyright (c) 2013-2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: relx-rel distclean-relx-rel distclean-relx run + +# Configuration. + +RELX_CONFIG ?= $(CURDIR)/relx.config + +RELX ?= $(CURDIR)/relx +export RELX + +RELX_URL ?= https://github.com/erlware/relx/releases/download/v2.0.0/relx +RELX_OPTS ?= +RELX_OUTPUT_DIR ?= _rel + +ifeq ($(firstword $(RELX_OPTS)),-o) + RELX_OUTPUT_DIR = $(word 2,$(RELX_OPTS)) +else + RELX_OPTS += -o $(RELX_OUTPUT_DIR) +endif + +# Core targets. + +ifeq ($(IS_DEP),) +ifneq ($(wildcard $(RELX_CONFIG)),) +rel:: distclean-relx-rel relx-rel +endif +endif + +distclean:: distclean-relx-rel distclean-relx + +# Plugin-specific targets. + +define relx_fetch + $(call core_http_get,$(RELX),$(RELX_URL)) + chmod +x $(RELX) +endef + +$(RELX): + @$(call relx_fetch) + +relx-rel: $(RELX) + @$(RELX) -c $(RELX_CONFIG) $(RELX_OPTS) + +distclean-relx-rel: + $(gen_verbose) rm -rf $(RELX_OUTPUT_DIR) + +distclean-relx: + $(gen_verbose) rm -rf $(RELX) + +# Run target. + +ifeq ($(wildcard $(RELX_CONFIG)),) +run: +else + +define get_relx_release.erl + {ok, Config} = file:consult("$(RELX_CONFIG)"), + {release, {Name, _}, _} = lists:keyfind(release, 1, Config), + io:format("~s", [Name]), + halt(0). +endef + +RELX_RELEASE = `$(call erlang,$(get_relx_release.erl))` + +run: all + @$(RELX_OUTPUT_DIR)/$(RELX_RELEASE)/bin/$(RELX_RELEASE) console + +help:: + @printf "%s\n" "" \ + "Relx targets:" \ + " run Compile the project, build the release and run it" + +endif + +# Copyright (c) 2014, M Robert Martin +# This file is contributed to erlang.mk and subject to the terms of the ISC License. + +.PHONY: shell + +# Configuration. + +SHELL_PATH ?= -pa $(CURDIR)/ebin $(DEPS_DIR)/*/ebin +SHELL_OPTS ?= + +ALL_SHELL_DEPS_DIRS = $(addprefix $(DEPS_DIR)/,$(SHELL_DEPS)) + +# Core targets + +help:: + @printf "%s\n" "" \ + "Shell targets:" \ + " shell Run an erlang shell with SHELL_OPTS or reasonable default" + +# Plugin-specific targets. + +$(foreach dep,$(SHELL_DEPS),$(eval $(call dep_target,$(dep)))) + +build-shell-deps: $(ALL_SHELL_DEPS_DIRS) + @for dep in $(ALL_SHELL_DEPS_DIRS) ; do $(MAKE) -C $$dep ; done + +shell: build-shell-deps + $(gen_verbose) erl $(SHELL_PATH) $(SHELL_OPTS) + +# Copyright (c) 2015, Loïc Hoguin +# This file is part of erlang.mk and subject to the terms of the ISC License. + +ifneq ($(wildcard $(DEPS_DIR)/triq),) +.PHONY: triq + +# Targets. + +tests:: triq + +define triq_check.erl + code:add_pathsa(["$(CURDIR)/ebin", "$(DEPS_DIR)/*/ebin"]), + try + case $(1) of + all -> [true] =:= lists:usort([triq:check(M) || M <- [$(MODULES)]]); + module -> triq:check($(2)); + function -> triq:check($(2)) + end + of + true -> halt(0); + _ -> halt(1) + catch error:undef -> + io:format("Undefined property or module~n"), + halt(0) + end. +endef + +ifdef t +ifeq (,$(findstring :,$(t))) +triq: test-build + @$(call erlang,$(call triq_check.erl,module,$(t))) +else +triq: test-build + @echo Testing $(t)/0 + @$(call erlang,$(call triq_check.erl,function,$(t)())) +endif +else +triq: test-build + $(eval MODULES := $(shell find ebin -type f -name \*.beam \ + | sed "s/ebin\//'/;s/\.beam/',/" | sed '$$s/.$$//')) + $(gen_verbose) $(call erlang,$(call triq_check.erl,all,undefined)) +endif +endif + +# Copyright (c) 2015, Erlang Solutions Ltd. +# This file is part of erlang.mk and subject to the terms of the ISC License. + +.PHONY: xref distclean-xref + +# Configuration. + +ifeq ($(XREF_CONFIG),) + XREF_ARGS := +else + XREF_ARGS := -c $(XREF_CONFIG) +endif + +XREFR ?= $(CURDIR)/xrefr +export XREFR + +XREFR_URL ?= https://github.com/inaka/xref_runner/releases/download/0.2.2/xrefr + +# Core targets. + +help:: + @printf "%s\n" "" \ + "Xref targets:" \ + " xref Run Xrefr using $XREF_CONFIG as config file if defined" + +distclean:: distclean-xref + +# Plugin-specific targets. + +$(XREFR): + @$(call core_http_get,$(XREFR),$(XREFR_URL)) + @chmod +x $(XREFR) + +xref: deps app $(XREFR) + $(gen_verbose) $(XREFR) $(XREFR_ARGS) + +distclean-xref: + $(gen_verbose) rm -rf $(XREFR) + +# Copyright 2015, Viktor Söderqvist +# This file is part of erlang.mk and subject to the terms of the ISC License. + +COVER_REPORT_DIR = cover + +# Hook in coverage to eunit + +ifdef COVER +ifdef EUNIT_RUN +EUNIT_RUN_BEFORE += -eval \ + 'case cover:compile_beam_directory("ebin") of \ + {error, _} -> halt(1); \ + _ -> ok \ + end.' +EUNIT_RUN_AFTER += -eval 'cover:export("eunit.coverdata").' +endif +endif + +# Hook in coverage to ct + +ifdef COVER +ifdef CT_RUN +# All modules in 'ebin' +COVER_MODS = $(notdir $(basename $(shell echo ebin/*.beam))) + +test-build:: $(TEST_DIR)/ct.cover.spec + +$(TEST_DIR)/ct.cover.spec: + @echo Cover mods: $(COVER_MODS) + $(gen_verbose) printf "%s\n" \ + '{incl_mods,[$(subst $(space),$(comma),$(COVER_MODS))]}.' \ + '{export,"$(CURDIR)/ct.coverdata"}.' > $@ + +CT_RUN += -cover $(TEST_DIR)/ct.cover.spec +endif +endif + +# Core targets + +ifdef COVER +ifneq ($(COVER_REPORT_DIR),) +tests:: + @$(MAKE) --no-print-directory cover-report +endif +endif + +clean:: coverdata-clean + +ifneq ($(COVER_REPORT_DIR),) +distclean:: cover-report-clean +endif + +help:: + @printf "%s\n" "" \ + "Cover targets:" \ + " cover-report Generate a HTML coverage report from previously collected" \ + " cover data." \ + " all.coverdata Merge {eunit,ct}.coverdata into one coverdata file." \ + "" \ + "If COVER=1 is set, coverage data is generated by the targets eunit and ct. The" \ + "target tests additionally generates a HTML coverage report from the combined" \ + "coverdata files from each of these testing tools. HTML reports can be disabled" \ + "by setting COVER_REPORT_DIR to empty." + +# Plugin specific targets + +COVERDATA = $(filter-out all.coverdata,$(wildcard *.coverdata)) + +.PHONY: coverdata-clean +coverdata-clean: + $(gen_verbose) rm -f *.coverdata ct.cover.spec + +# Merge all coverdata files into one. +all.coverdata: $(COVERDATA) + $(gen_verbose) $(ERL) -eval ' \ + $(foreach f,$(COVERDATA),cover:import("$(f)") == ok orelse halt(1),) \ + cover:export("$@"), halt(0).' + +# These are only defined if COVER_REPORT_DIR is non-empty. Set COVER_REPORT_DIR to +# empty if you want the coverdata files but not the HTML report. +ifneq ($(COVER_REPORT_DIR),) + +.PHONY: cover-report-clean cover-report + +cover-report-clean: + $(gen_verbose) rm -rf $(COVER_REPORT_DIR) + +ifeq ($(COVERDATA),) +cover-report: +else + +# Modules which include eunit.hrl always contain one line without coverage +# because eunit defines test/0 which is never called. We compensate for this. +EUNIT_HRL_MODS = $(subst $(space),$(comma),$(shell \ + grep -e '^\s*-include.*include/eunit\.hrl"' src/*.erl \ + | sed "s/^src\/\(.*\)\.erl:.*/'\1'/" | uniq)) + +define cover_report.erl + $(foreach f,$(COVERDATA),cover:import("$(f)") == ok orelse halt(1),) + Ms = cover:imported_modules(), + [cover:analyse_to_file(M, "$(COVER_REPORT_DIR)/" ++ atom_to_list(M) + ++ ".COVER.html", [html]) || M <- Ms], + Report = [begin {ok, R} = cover:analyse(M, module), R end || M <- Ms], + EunitHrlMods = [$(EUNIT_HRL_MODS)], + Report1 = [{M, {Y, case lists:member(M, EunitHrlMods) of + true -> N - 1; false -> N end}} || {M, {Y, N}} <- Report], + TotalY = lists:sum([Y || {_, {Y, _}} <- Report1]), + TotalN = lists:sum([N || {_, {_, N}} <- Report1]), + TotalPerc = round(100 * TotalY / (TotalY + TotalN)), + {ok, F} = file:open("$(COVER_REPORT_DIR)/index.html", [write]), + io:format(F, "~n" + "~n" + "Coverage report~n" + "~n", []), + io:format(F, "

Coverage

~n

Total: ~p%

~n", [TotalPerc]), + io:format(F, "~n", []), + [io:format(F, "" + "~n", + [M, M, round(100 * Y / (Y + N))]) || {M, {Y, N}} <- Report1], + How = "$(subst $(space),$(comma)$(space),$(basename $(COVERDATA)))", + Date = "$(shell date -u "+%Y-%m-%dT%H:%M:%SZ")", + io:format(F, "
ModuleCoverage
~p~p%
~n" + "

Generated using ~s and erlang.mk on ~s.

~n" + "", [How, Date]), + halt(). +endef + +cover-report: + $(gen_verbose) mkdir -p $(COVER_REPORT_DIR) + $(gen_verbose) $(call erlang,$(cover_report.erl)) + +endif +endif # ifneq ($(COVER_REPORT_DIR),) diff --git a/erlang_hello_cowboy/rel/sys.config b/erlang_hello_cowboy/rel/sys.config new file mode 100644 index 0000000..0dbd0fd --- /dev/null +++ b/erlang_hello_cowboy/rel/sys.config @@ -0,0 +1,2 @@ +[ +]. diff --git a/erlang_hello_cowboy/rel/vm.args b/erlang_hello_cowboy/rel/vm.args new file mode 100644 index 0000000..7674eea --- /dev/null +++ b/erlang_hello_cowboy/rel/vm.args @@ -0,0 +1,3 @@ +-name erlang_hello_cowboy@127.0.0.1 +-setcookie erlang_hello_cowboy +-heart diff --git a/erlang_hello_cowboy/relx b/erlang_hello_cowboy/relx new file mode 100755 index 0000000000000000000000000000000000000000..f4df0932f6d4343dc588aa0c6d4441202b8d3a03 GIT binary patch literal 164214 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

;h@ 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%0D5XZ0}Kh8cdnF62{Z@TXC=3c4`YJ_Rm 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 + Dispatch = cowboy_router:compile([{'_', [{"/", hello_handler, []}]}]), + cowboy:start_http(my_http_listener, 100, [{port, 8080}],[{env, [{dispatch, Dispatch}]}]), + erlang_hello_cowboy_sup:start_link(). + +stop(_State) -> + ok. diff --git a/erlang_hello_cowboy/src/erlang_hello_cowboy_sup.erl b/erlang_hello_cowboy/src/erlang_hello_cowboy_sup.erl new file mode 100644 index 0000000..48ab271 --- /dev/null +++ b/erlang_hello_cowboy/src/erlang_hello_cowboy_sup.erl @@ -0,0 +1,12 @@ +-module(erlang_hello_cowboy_sup). +-behaviour(supervisor). + +-export([start_link/0]). +-export([init/1]). + +start_link() -> + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +init([]) -> + Procs = [], + {ok, {{one_for_one, 1, 5}, Procs}}. diff --git a/erlang_hello_cowboy/src/hello_handler.erl b/erlang_hello_cowboy/src/hello_handler.erl new file mode 100644 index 0000000..a41722e --- /dev/null +++ b/erlang_hello_cowboy/src/hello_handler.erl @@ -0,0 +1,20 @@ +-module(hello_handler). +-behaviour(cowboy_http_handler). + +-export([init/3]). +-export([handle/2]). +-export([terminate/3]). + +-record(state, { +}). + +init(_, Req, _Opts) -> + {ok, Req, #state{}}. + +handle(Req, State=#state{}) -> + {ok, Req2} = cowboy_req:reply(200, [{<<"content-type">>, <<"text/plain">>}],<<"Hello Erlang!">>,Req), + {ok, Req2, State}. + +terminate(_Reason, _Req, _State) -> + error_logger:info_msg("Terminating request on hello_handler"), + ok. diff --git a/programming-erlang-code/.erlang b/programming-erlang-code/.erlang new file mode 100644 index 0000000..e69de29 diff --git a/programming-erlang-code/354984si.ngl.gz b/programming-erlang-code/354984si.ngl.gz new file mode 100644 index 0000000000000000000000000000000000000000..79b403a186923d324a6b0bfad622949aca16dc0a GIT binary patch literal 1050416 zcmV)MK)AmjiwFoUK-)zC12Z)=IXE+Bhm6Uc>dsvRYOAmfif4Y^w`CP@1?%%5!`M>^O{y+a0`4w0H zuM(gCTl?Fak^g&XKmQLA|3BsD|0O^FZ~6KE$j|>*ex~;KA^)4#)Bm|8+Vp>I|3#`l zkN%V9t}Oe#t73Lq`_HmKQCa`p zmG5bFB*IVmKlPuR{(^KXq8(J5mL=Wy`7ctQ1GqF3L_cfBbB8m zkKpE9gzH5@FOFOkoOI`0>65ET(X0`hXV{+8pA4|yffhCM^`(jiYN^wHOMpE)J177( z8Bo3N35xo=dYY_Dvcv+O1JN>KjF$4A45*Xa6G|`UMATDtpP|4R0n_K2jHEe0q-`g` zNC~hSW;g|Jt@aPZjS-!jf&_ziO`m;VERN6RhOBYrsLoFF;$bzqs;zE@Is1GP~_2JGwqPq{Xz_hB5)pZ4$JrBYo1OX+nsTACx z(!oW`Y}J}ntJZ*eOl5Yo{30EWf&@OS5FFDTfXWQjf^>vbIgly`Q{_M;4+PE1@3ByW z$u9`9Klv<2@=_d8cv6KUC+Z9MOO+osIX?@MM)T&HG`}?s zdrPTJr8H#fu{2$q!An&s{8=G%G;>6q0VvV5mlV=4^yG91-Ah&cRw$;L$1d0yKC5>}T`#q_}9YXo!+l8=e7D z47Y!O)z_lG=|y$%G7CE3ITEc^WHk^JPBJZV&Z5y=1~O_z4^W&wOP+34k3YMK9`_sa zsD1WoPsm&Af8?!~q#o>9bGj*uszvMlJawmLVX!&>>O#R6AM&Ou@vuOas{iTdzRePHypTy#oZWOK#G_X}<-6 zmIn!62}oMeUV@2xYM-4Dto)F&UsCH!Y}dOqkHTlJ?;)tS{7fSa7LG?Qt*Hp!pCM?k z={}@TZhbn|{rS`$hp00Fl338;D4CRinSS1A>@Y`;pveNE@S_G|7?JJhBS=%g20KW- z6Wf#mg}tZLqB1STF$z2JK9Cw%ibOjEBtfSqyhap_S(^3hk?v5J-Yx#@o#6JHpr|7( zh7BCh*|L6K6~WkcQrN~LYEU~{O;IDgp!Qr(&*gYr8zNff>9uHYuHmHhNKlZTj$4oE zp^+*Dilt?TOqfnCgNLIvNX_h#9L)w%FcjxKVl9(o?he|Bjx&SU+5&VHgjfYh<=k)P zb;q!R9&}Ubo<`tci>gSyrGh%#0Y!++LGKTCRT^UK4*Ghq;HFm_BzTlH!7fYaj;g^W zU^Ci7`PEALY@nNZq@9IV;AKEXt@dA&qMCHn@aU}`+WLnEwJAlT))4|mTm!ir9|5i| zcL$4ET->{YWO^WNmj0<)ZV%Lm1s|-YA{dI)@H}gYUS?=%sGC}-!XPayP}J8BG_W1A zKfNTawhQCFAbv|aP@)=2JCRmB0lR^OrneI}0NeLzSq)T2=&&sJq#xu47N~G;owBO* zeqC5>8?=s#V3Y)bmw^w+)=5=$ZBt9qxLXY6)0NQG16f9LIAa=+AlsZGnfv!JSY#>* zhKV)b-9E_bdO#L13zP*Rct3c3l>B^{At9=vg{76n12s!Ak^y)QgvAF;D>9ijDK@BF z)Wz0w>)=nind$>LVQ>b}#p<3wjfWt!mlqB3pA%o64rU?*v_b2;5zm2)#u$(@^w0jB zceB4E1_I3N?jb!(a3i$fouF^`2R&I)X9AXE!NmaWCIW=^Tfg^BS)g{8d&aM=dkmHN z2sk^2J0Ke1b^7m2W}`rDy|7Kojo@V`Lg8J_g1L`Q(i(hmFDyj_He#+UuW2=y9BIZY zrdiFGbvh5K(9yx;ir+-a{8Lm7GF0eNNV8I*`+Ts+q?jfe_LC2b){C!NfZ+v*ymVN}PW}V7gvkni|{I@HoegoDMg{T9yaq2Y6dLji*X47f0 z?}#Pn^bBg9Bbew~+ap8i+FO=^6x&&_Zm`?gEzuRt4y!?wk3HlCaWM39XEfshVFaRr z@`IVLJ)M|@*>l+vlDl<5E z6ud#<+|Ml)R)wB%8FN*lVxlMCvJ|!sXPtk^T9lfiAIpq>MN`>CW%MXAyApZszRL_o zHlRix8x*CjGcuiyg78P-s>)%;4mWm~u~u6&lr8Na1}wHh5b6#~fYq@>#zU~hlH{Wf zl#B%y5cLNPCCS-5Q1?&yHn3x4(LdL{;$i~bHHw#EdmHqm?W6fhJe^K)Q8gci-N2nF?~XpIV@5od$ubnl;(1aI53PN(60@8Sq}s)V+hoMhA_**ks^;)W)D@- z?64YSh_d%kiG!h+JEI>aKp5FkUHdkTu4-cEN)4_&mfVKnD1#ZzbqDIf`8=pvf(tH& zsu|D~OGSHth+HG?04s(5_)>RmW1Vl5{Cd-tpmLq115GuBE=8&-R^K}=SxZ;FEjuit zr__OqDv`M)(4};9sV37NjiQerO%7e^!o^*Rt}=h?Eu*#xnhm4~H6fKm)0!`U=G<&? z%J|d>V(@*c=Be9AhR&6dJ*)!(` z6d}1gw&d-sI1JM2uCO@eFpHoB@lCBem)2YLCOMz4Qe4^wUpzu4|~ z95qaeY!zf_^Rj5aSfsfhtRrT=Ks5fu@L-?l7$q3YgoAh7LDU9GTGK-J$!vcvh58GaZD_!$63je44C-=e)2)l;_}t z_4>$AalwMtD@APKe8!;(IJ4oub2?7WYZ{~Xt*h<;>EB@quo`AM3AUC_2#lnSJ!4{o z5zNAP=#U~}Rx6`Nq|uuBP_!qfXm-ee33js<_!c9xS3MLqNF@%TEgssIBFt&Um*XQq zHowZ44j2H}0|{Kv%T{C+rZYxKFHN{z?Oh5gSrn1W|L;$tB{CK_?J{56hlb4+FAPUSbL@F@+X)29wi*YCsmuhC?vH zQsBj*rQzwNP%!60!PMzfyZlY{#^cnXyQpwi5S(q0xz?de&HYZU06$E=n%JV#umOC~ zUwQ4$>Q5@RZ|8WRVd~nR zK-2#$SWG-C>v}_X04g(8_=GNVQ@_sDk?A(fTw)13xdW9GQCK=TIS8>bC*Xt;RL#@p z8P3=c>LgO@ldQ1X5w!R{IDN~-Nd;RjPTO*Ea?8cZEf*bpm}VhjaDRVA={x&a>O}3v z{_0-zzmskV6t&BH40HqJrKxbiIo(EaY5i!5hOYyScY`oO<%3|N3Oh*PONL*|6yP2) z&1C6~Jh0oo3tErqLHtZ>D?HTd*&^iDH`Cv==S|Xk(v4uVLPOp6u2ulkF*S8C>u=hU zfl35dI$9m>4&CU@Q83G{uCZVtI&?$21g66;3VQy4xWVMeg*62@JJt*bap!twAL+o#5tgaMPlxZRZUK0lK=H(~NZ5Rr60isj98@hBmFi1m*cKFgbEvxGB(uND+Z~ znGHjFF_#)*QRvXZaoyNi6!JU@$%f_O+q6@;C0g61Ji}=nmv(hB5R5i96D1v6}9F@8C@blj?Jn*wyPJKHj* z!~i_=9Py~NO~)uG9(kE63&9mSm~H&J#|YKrx-rNHs@)+Wc&0j;#2lL0 z43))-LxYm~3=r74k{_D>3CcYetA5&D=qiGM#BS|MF=qrryH!xQcd}qK0JmFreoYm-q8n9m zOOa8F`P({~)sQAycfTKhyK%eyEqqJ;3!pCFbdzycXM)}Jih)W*fKSh@??V>F_CbL%x^k=|*i*CDM=jCIH`O zs*BA^fik`J%5>PPMP;uHDpPN_C zlHhO*&>1qMGY=JtX?h-1rK6f{)8kMml$MOvUQ8 zs@mE%39CUT?)!qXqa>qa?!aN_l>+ootRZxsn4UF)7Y{^^N!Z8|usfQ^z$|b6MHlEcKClfW1JK*=$-qp+L|>lL`WN8E66CoYF2%`LVg_0W zIs=WEc~s?=fG88_xwa9yD+J-{umo5QGrWQ+-Mq~r30k>CtU+Fzzuv?vb2o$r z9R{l7jVYtFI<}B4+nZZU9ldJ&-N2w5JzSV6V52X;Zw~*yJN!H74i5hg4*w2O`5nAr zRazG|QY$z734Cz^6@-1jm5VMNnl!5@qho#3HOr>16MBIi%?>N!VN&KoUTJwv24+K$ zZJ)m3P^j!@X2Kb>+NzQx4P+h|Y98r7RtLtkbUIp(A5)5kpdS8pZ~+@4my9mF(i?sA z^z~1uQBjOhGbYA!+C$1Uwphw^QX;8=SiN!j@vd)iq#zoo$3Q+ty}+&jJ?T4hH`Wvb zw5E_=&vkKhOA*(Bu(P0?MZL3Nus$M=iDw&`ot2Rd&ZL2bn1y}K1OKS+l0jhR0m@9( z16gM4-vZY_F2_fJtIO>ZO;RH>hm(2D6eu>NmgAxD>IA`6>&A$wXKdB%_hV`qstYSc6kYPC=FN_ZHE9bx4RDTvo}6$GP} zi=7-1f7HlEVrBod{z``>K(}FublQd>B_$1%Hl7y#p`yw{5;Y2C?x&nRpB=lWvJmHv zfK{gkSt13^4x{BVY#mMG=3BibNBcnLC6XKn{W;88i;Rbr-^r3fID^lJ*J>r~aVm2iwB2Rd zykEj?qCoUiuz42lnh>_It5JM{qHuab0ClNFM^7&z4Hp6$r+;b!34eZimY$!>F&WZ1 zP=zp?&__Dg<76LPF=9(H53EMUP>|AZqocc_5vAl6{9@0NWRA?dLQMLW$FAC#tK-99 z0XkPp`A&`j&ymzX+`}_WU>F;Wz6O#;wq7H*mQy9U4CG_f1AD>^m@SiyIR#VGqE@^= z*|B?B3XN0;vm>+R7cq5asZp4LCA1$bQ$8r^@FH9dm_cS#weP@Lqk~hZsbGP;+(}RH zIwW^}OYCX~LX|MxJ6wW$ods7oz!O}SpNP#lhJZ=Q5f--y+-~;8Jv}X}cRkMP(Xfym zd2juwOy30i@hI=)zt%Qo z$Zpfum##GeLY#M;iO}m)WX^q}y1|0NL|hFVih7I_#{W&#ttPj$&eIl<+FMtykfm+W zRkOFakX>t_*J|3S`a(#27y0cwu5#-|`w4PkJabYat=23uB44NQ)9gNq~AXL@w3 zlSsga;eMx%GlW7gp+Xk>@(#%^BrE2$odw)bT<4?0dpvYV+< z-pD&O|E;*mw67;;agfcde!qAbi-Oq@ZG`0cZAIP_;j^?7;nbSQqo?+-X)F^mlKHlL z`2`tD>8-%xuo7Md*fg}d!u3eS#atIc3-p3<*4@%KULhlZInENiNd(p*FSOC0T#*0C zt~?}Uj?vA%P)L@u4CIy#a-kVbe{vgfCu#r9X16Eu;L+`|;-qnB%f3$=zeY!9jLj?C zA=9x3DkNWy$p>N{kfNDVf#F=95Aza?LD?s+!IRvKNP6aA@(9ohMlcXviVm@eU{9Z- z7U0!v4i%i|-a9;tyLpx&L98eXdJD=Wd0|wtwPp4E&Mi?~5RDAlqn3O1T%N7Dbb1xH zb``hPy3fn)S}g^tY4GdUU|vsauVq$ga>tIx61{EZ-Wd zqOgTR@K5n;0{0>I0UCQ;ThJ@{nSv)Rvw9QQC$An;>UVQKL0G*X(^pdU4t3?8vB&g; z=)V)7K-rT4PFOW^!P=3i!iz)i7sh<{LoaS?DuSlBBXDZ%krE8IF`Isj1R_ky_T)8K zOjv@D2!Txaj!0WP8CZ$5ae2hlX?QlHc{U>mmR|Ct0K3mR#^?7z?`l4wi3CaKnrQxS zLTu3|YN`%`8hC|yc%@pZ1v{7xSr(A!(A}uB;>d-DQ2HOs9ij9LSaf+*R1~U?c8AsA zvIm$9n*r2BfmzOPaBpT8v_Z*2516O;$cW0kw9O)lOnRrfBHS5iF93!L+%M>(J-!i- z_IbFtM5%;BVd<4gwMNj$Ze(&#o^1nF0V`2!{(J=b$lvOEW_ivyX>+sPl(Gr>q=?-Z zh0xz;3%cTeSwU> zx%)fl4(|RA?&cvKLRTOB88v0A@*92EjtQxPTNI4i^^Jx^%wsUlKmxRK+gL#6Wf&E8 z+IMLi3p=knmqE(IopCKY9MQ4m#D3i#Zs@Jl{#$I_s73rp?L&wOszz3-(wQ}>sjswZ zMxJcyHNh^X`eo6%m>d_QvGfK*yEnv12_{}Ta8YrD;;m$LTn!y5z?oRTXo}RVYRy(% zW$V67^?|t9jw#^^*`_}9&UzqdYF;+0B0v*#AbgGqN+NYp?9+|eZLJ}bz(xcq$g~t1XGeSx)Im~4Hfj#+ zEnx3%dp|!)OrY`AGtoEi0%~+x$DHS88mve56Jp9WmsU5$4VyN1(5hWei?ts;TQBT* zST*6dDXyGZFHQULI1#%IMqmK#?2g}A6_&F-Ee`QT!iZqc=*;eVHECD7PM)-1AZoXf zZ~AG|9)VtICdwxUIr)|k1!=X;CNNT_vw(^AA>Np;%_z=UI|;rtXwAI!_~kB|2Q{zT zVK&k1c2J2P1}4{rLx?I8$pgFF1UC^%t%`wY>XmYM4vaQBTICNXCaEmmP{$ zrUtasH2?vU1s5-MfD%=C+*uLzRV4FZGr|MR6h2ub&zm0l6rd&Hv~PTe1=8JwIT($(&UMFr4>#k9-?o-OatZE%9PgrQ%tv0vfvuK4&)PPCh=IoNO6Io(g1(J@F_zE*jE zC}P;%@^1bK&gV$zF{pdr1kl=NS?q}zZtwJ+C1XK;qZ;;iJ^*0FJ_!wG&eV}p16y-A zFH!Q)A8K@Sa0H0-28KUi6=Z*NN?xDj)N!NLQ5&WHn6YCDnEu#ffr>Ap!@!5>_H*v+ zm36@Y8Q9M_{RrxApvTZLr7L!|HCQg@ZvK?V(JWfw9)Xg>UbB+pHZfy^Ua%(=0qe89 z+K?9XedXTU-R?~2tS`mlV1)>ZbYo|*YqHxHifueAtpk3O_0CA>;&=%|<9Rgzx ziK18W0$N;beW2vAJlrQY)G%U;MakmREXAMHF}%8I%H?=GrPn?sgJzWr9f~N_D~Eul z-7$R^Ov4-ql;I5@&=gEDff_!OK^Wew^_L0rkjh)SdkIl;izG#JbS$mYdUs3sFxfP2 z2P@I7xHK4$yI@{ESE-_*3^l==)+6#qe~Mytens8gQ0*6;1eaxndk+@F3x6VL-R_o~ zTWDoA-xt})WtY={+#Kg%>d2nVoly^VEeQKmZrMDO7e>6cSRvfK<=A7+H}VJ?kD!xT zsQ2q;z|3CJk?Zzw6pTDZGZwu@jzBg8A1}d8CJ;l?I~?QH9Wu+2*0X! z-%!cLI|aFvM>_e5tgRS13PO5XZ)@_qdcb`pMc?^j1S`C&)~r@Mk}L2j7fD%_sLzF= z>u`2#`B^;%0xfSVRZHd?K9Y6#MhbgGtw*%;uo9whAr0ZjQ{Qb8|$Y^iglJb0YA6Da%NZ92Pl9PB+2sXD9vfjgeWh+Qt}ScQkZQ zJAL?lg~lr;vAUp0A`a|GMo;Uz2p#*3U9!Xpq%H}`8~ceu-_4SToHZE>ygWwSyTX$P zOF9n$KOX~e_lKgJJ(gG%6S#)hu1mZI@Zy$v*kvU4|l-BKM$8d$U_{0L!a{GAS#kI}MKAR*b>h0a1101c@ul0eNFX<%bH zvlc^J-$>lH+%_1sLTk`yxvZt(J%k;WHX3zfcF!PLbR*s}7zDuxU$#~fQlf@h;g!6< zsr_b2&V8(rnZ3UF|FrMpo2ZU5bMVMNT$t&!Z``mZO+IM1hv}X&N#&Zq*@M#X?%1-5 z-eO~fA_SR+I4{_z1jEOy(=`R`^3_l=AuAO3p@)O4{>B>N?AX3gdFM?@HXV6*_PsnX zFKcaHTrE~;M*Xw*3Lo6p6dZnWqcPw|loQjN#JKz9r=63OEAHumeWG6eiF#QgyzKf6 z#Vjc=UX##o%V*;H?JjnSK9IY?G<|uJzC1-OIb{Hb2~4bTGVT`dTySBA#lERnE8yWy zeFNiW*N1iR;V?N=^U6>CMZDyyIo~~|GzB<2W;{+i$EWZJ5NUY&6Op%Yn_Y*$qi??{ zz&T*I{2P2;%^}Nq9!PJ1eOy2@Y(1ybZbTDk+IHia-LL1D>-o)k;aa_Lr=DM^r|6?P z2Fy&-LY41M->~3$oIId&4s(vDN$InD%+%hjE-7^02^A16Z7MuLdUKuIQ`8;U`9E-lh_H;v%}MzvAsIy zlT|_y)8;8}7+Z>x(Ou=`e+ZDC;AtRpWDGBr_IQQ)03N?wdi(Mlli+)TE0&R@N`@!}A?cXQ)oH`1N8s2_2YkKFFwVu}`|-}V0K zT2I+L#lWBu(~%LP+?u>RGY6%PAm%^$nsnnr53tPA`s2f$8ops@*a55g#r2(wb0j)C zl(8mM9)JW4=UH&J2C!0gIG7DpB4l?sKGO!Mn6hnXaR4j%=Q1D%G$wkk`X$~cefb=z zOsPx6B?vk(Z9wG;dz-9SYsCy3eHClQ8dg)akrW^&l>($bWhSU~*&w{Svi7wGc@0^; zP_H)>PoQdW3HTy94CqdL#X9~Z)?T5q)or5iDzUL(q|st#AO#0Goq#GEzitI-v&r_6 z13|GcnFLm<3$Sfuwj|i^D?r86>pVRXlIH=%dw9xVWw>h<)C{4p8UCn|A^gThd%@_7 zUZvSU@UgcF3MkU@-jRhM`e^ULfS5fjtabbf$in6wIc1(CHa6_U!D7B<3!kcLM$Xh@ zI;)XQJ(U+^eTU|ZGJGsh)V{X0P1PWrD5rn*R~`Dho{*|TKMaoAxzwfKU(L>2|4~10 zNS0R6zPb}V@%#3J_UomAmyb2@14YXh&8AOe+-!;_=bX}}>ONDQ2r9w3IfAf2`P64L z1b%4)KI0a$u09v){?$i|=5Uen%v+QjxS6`c*v(Xgc?nMzb%r7~+cP_aA2kriuM{BS zzr=w7sbPT40!1IQD$uX={g|k_6~)?r6dGLfV8>8xZNDKN1 zQg_qh>vd`7V{L+v`weKOBg@t#PvGtmBcoPRv0I)njRZj;wM?+<%LE4LQ$MkUbHvfu znrRs#X4{IH)Q%Kr_;*e2thIU0xH71rN~Ccw^rj4VDU%~yqS0f2Xc2D#NnUP)!5}&w@(xT@WlkNhdb|$Rq&kYm0X7X{3` zBR~O7A4@$~9i$B31XCQEB_xSp#AGvmCW zd!bxbETa%J_MKcF+{=2L&Vt9X7{CO~{XQtHdv< z$Ep3m^!t;-OuvxF^=z#~EKwqolQK1#4N8`OB@BRN6<%3UIF>^SE~Dr!Dn5c^MC&4x zWn-$W%k!NaA(h&wX^M{dmIhA(BZQ%(0r#%^lJlyQd-F4jl0WW&{e?FJW@G6YX32NW~~ zd@FrU{*l3x=mOZo!n+e))rrtK{daPcq2h}O!R%-aQgiIT(_8tDwbS5DVA=5HC>&X* ziqx*pj2spOM_Qk0=M?U2FFVLySyeTLCmRz?`_EsA9h$GNlKVU}PzM z`GbIem6TvZ5IPj@jJa}`rP{WNd!9<{GpeW!n1-Lr)fOlpA z6J|kCatvfJs6|~#^fUw%1I-58$A^=btZY0|D&QfTB-Th!;*FZCoiiYfSfE%e7Hf5u z&j~q#oe?vaTV_1y(bN-4h1y$y<^D)e)!4n@-9p()uRHf=+0~$?_Ln_ZJ)5Eqa$vhW zy*4d=p;p5P|I>=x)A}L`?Rq5TB|tANN{^t&6npXt27#eh(HM6V1G^3V$~C}EjEWC4 zZBFn@yo9$1J7M*1*!OA)d-B;hB|pm)aFo+2i@QCYti+I;boSyBR=Oah~8|y(mP+TL6XZGee*Y$e>iHHiMZ_G z0z9k~B|qR}bi=`CWlZoASB;gLq1C{LX|DlU_&{8XeJdsAAUZe#W6(l!#-tpRF(hH3 z0p@*SzhPTg<9HUkBLXW8g-6939#(LaGI8Rwm7q~8CY(K6shE-Tw<<{-zfyp1H?y9i z$g%VvhX>3~RU39gSfJZ@+8T%+9Qw$OA~#vgfhG8233f0IP`rNV^bdXhF|$7hRZE5+ zb{+uLj?}A%BRHwJ1RPA$6B5L#Q)_vRebkW~wU7aS3_9+4toxwBBr*`#gTjKUkj*04 zV9YTqZZ6>py+&V9)T`1B?UT>FC_WS(5YhVXRclYr2kr%F7?=0Uda2pA3E(~bK$)mg zu36LoyZ8;t0IbJjmp3?IRN)%r7ACzTw5#d_AFL9#Bb<*|e|+1p<~Z3pm~$-@x4eF-(vL#uS>pCPEvo7$u%DuUj;WPuGIRiFX7zHg0{tcf zGZBM;??X#%egYLDS+maLX6_F{1DuEbLfQ8VWj>$W5zBJs5@WXak~=g_a}_yedwm*0 zUq%rIge3Hdv3Z7YTm8#nZ%~eVgGdf1Zs9a&aj@E$F-xr#GRLoAwvS*QzJb|3ft(2w z)g(x>knlbt!BR)YcPZmrl=&%Q=iEBx*}p@2D~~9_<(&@gbZIxIc5`Eoj<68~{HTEt zXQ~uH#cl$~a>_ymuX*QxA(y$EZ)- zh%1-ug-wS27$(9 z5X|oqWR#08quNdYx>M2F)lKJMgaPSi*aW1aN9zTfv+gJx>;^McUz+Z0j52sXLxV}a zAoW9=|4R4&A$6lRO{nB>ot8JJ4YG=^yA_Y~yX%9q$V^oh&fJ&f3zA;i zs#>)=swPCLH^g?KPCaYvy=d)X-HidXO!XqY8K=1G6F1M7TqkJ-q(F9^ggD zmX@2Zr1o*Y^0^{7_=Gf&ih+rNRqQ4#oQK^fYGl14+s*UC?i(es=p3Pk1D4A`+*$}; zDj!iEa2;^)bcuNPNT4b17`2Qz#3wAWbxxf}&P;;k#%(Sjba!384bon43~g^iA@r(l zpJ;bFLY4?bCMcW(c6*k_N|3}P(cCKy1YvA6tt`;qXF2y96b53qS?mVUNHoN>)GpJ> zCj6}5s(_ihg7D$+$ahU7lWklJS%5?jCcqJEgf za;`&EaI)VN*c!CFXqL}4xKB_g15E!0%Q8j029jzZA;i^ghz7d?{BXG!qY~a%?bPHf zCJhDM=vg@P<~(?BnZ+Y)3Xc$cPr(|3WKJ+Ktim^BwX);O@e!bf*c*r@31L z;3(gMyP%ei6hvMkjv4{SApH(O`i*c7cnHRC@Z~o+{2LrrDb}7uWku&C`fG_Z!LN`u z3N51-KKk3?O2Dqwi|J^IxbVecg~6d@Cb7=mp&^Upkgk@fo}wMG*|D_sgk7vKEpZD~ zW0`6(U?Is?uR69U=vkQ6F)8y}@3u%8_$G^AO z-IZ&fu-{QpHFzUZbGlvN!e+lm7+>fWb&SqSn|A8vM%A{$91 zQ?KuODz>S(5jE*H6j2sxm1R+17rRBb;WafnY3c;B#+- z0_;`{f(#RO!(6)CC8`Z(G#?5TU2R0aB1ta#zHnQ5TIK%2UJ=rIVy3DixdtyqqEYRP zTgc^r`=hH!xm}<2YN|T4C%?*42y7*&%f0VzQ-DWUn+@5*+i%xXiloPLSE9~Pbb^po_KfuvslTo=!4`(v!kqOtT&16izjI}H z2?uKa6~fg)jF?2(V5*X=UJ(K{Z4`t2X$8SRV?FjaUhEkNHuow5G3e;X$dPHgw?S- zrKekgD71c<6K0}OCN2b)iQw*3as*+r7i*lb!62v6tsg)@p8eA#wJzJTI)bHpS`Cg{l;nE~C0R~65bAA%K+GM%)gTL&pIIcaV1*NlPNNG; zij1D0NCSD@a?Io|v2F(WIx(#}_sifYVPaUbZG9(2E_^r&DZ|^c6*4d#QtZvi(3aR0 z+Q3YB#jXL5w$|BxOqQ?PbPttl+1Y~;b`hl_4NieEVC0o_j(T$B!reJi9&((A z0~8kbLg)8Ve=HH-Y&MQNTQRv{)e-F~W&p@opq1A^Skr`1p1ug|rrOjmtY%>MYz3)9 z^DZglU2gk7kcWK9h9xWf`~b?ojm zg15ywOQFLfmq8z%W#`I#sw{_fV!^35xt=PLi`YKlc8RrNFP*&0GU0w}QROWVYhpSJ zO-_{u=&<-NG_MAHpBZ_Icn-w6Mvc*>=X9g_Ck`kky&8L=n};R9;k_=!%r9j%kQ{8A zJn+EkMdN zsf`_x{ieX^zIV18(Z(Z4aAHakgKamM5?9BlHZ@#g3Zm^D7cv{b)sh_@CUZ+C^9(Cj z0=l3_3Ki|(`zVSq8Pc(SD_U%E(}_U2lO#Y*au9fTptmI|#^wi4A$Me!3e2-xdFWBo zByZMu>((MK zoz3*p1br>`=0F^ zhP(rGS3?+w5OTAslfh1ir?Pk57*^SKJ_oXndI6t~Un#)g`YS{*IwUxHnk|7$bb5@m zly?+7B}$fXOlEAs=?Du~9n%*Sw6s5$y?vNycyB$4l}S}hrG2}bpy5OA#my0GU>2;s z0L>1ILpREN#$((HpnZE#O$MkXxi+i!%RC{d%j|`?;n#8mh_a%@u|{WMK z+wEOUv9eM1wCMOUY(IS$1fxGtJiu%EN(Q4(q0;CKaUID#FmnR}deFvRP%o-x^Fkr% zs1mx(3$ld8GeTPH#63=?9@CD-yCmdV;c(DN|nJp@r5 zQ=JnS#S=<`{b-ek|S1)w5n6zS&wpmp%1;bZ!WgUHoQSby#q@A>4O$;Tvyy7{I#YY-PVkKYaVgU zxV2}n-X|JFfr0ZINwc2XLtjsv^!&sJMBDZmPhoiAT9`Z%@vg-%*-~x9?t$#=J?YcoX%U*I?P>5x0nUamCd;f-CV-YbZP@=E zpqXBFPv3cIL!_x#S(rl>$vPA*B^z}cF)b@F>7p}V)4Ce8gleO-* z{PJqHhw$#%l0o1{4aBik$~{}1%M(3(desnE4VS~9dH&S**gIU3H8lMV5>Nc+YHjQ@ zA9l8(bAKO3DFzk|m+710(kgZiZ6aT6SNu#-D_fmp&|BTl*@Rx|8mzHu*2na9L~QlA zG0X9e&FKe5`iJcpR+z0(>e$R@3uu*3H1RVft1b0eJUXqLW!X^=ZzJUnqRnuLhT7NK z-8xSDF4gn-v{b8qy{dK`y!@Li3DL>xsD3-NaCBUa{1CNt`8Ll&U&fgwF1R`Jz(Lba zyk1(rM{qtZiY>mA^^iOF(sk&?WddcZw&nESX-x);qdCB8xYDb?Sgh@MsdL_(xcqSB zk^GxWfZqXn!Z)@CL*`ELX5uf7o(R4Yroazt4RW2Rs*c6UV&wOT5o&7vUHIOL1gBp$ zcW?cwy^m||{i<*S5GCD6DoD4}-TMjgyLR^F66jl3d)XA_^SprSWau!U-x0wGw(eQJ z%k9s){|NAAP^VG_|J9G2z#lXFqrNa=?Q@-bxd8xhK##ww4*T?M$4>>@MD@sS-+d9J z_F+=TSE+abVv4t+&&VQFDcoytqZDe^q)!1{Qx%Ov%v=pEBHcbmBZQdhO1O9($#2gJ2B?%lZpiENNsC%gxeZstzGG)y_2cLTb1wjnUivWFY8^>4%_DM@cbSH!62Ij zdVkmH=lfm1s93Xas$6E%=Z;32JC*YZIJ8az&q(Hh)yNQjGR+602&mK1?rZQSYh3kC zc3T@Z!I}bNX#M_nC-cB+WEMV9hR-PKXON8cU+ImmF^oeLmObL&4C;dtY|;pfDSFyd z-Xz?+(Rnahbnk{eLQ&G) zy>FPYOm_=OhjYO6t`mL71mB@!9r54K-kCd?k{2i zTZsG;Mq{jTph54IBDTQQaBP;GO@+O`MF>Mn;@uQV0-6J)ADy@tLcLT9a}A4Uh61g8 zJ`K2Cb-!t!2;)<_t*-c&$h-X(9Ek#Dh|7tIzjYt zNKwF%49t$!%Wx&4uQs(xs5NDY`<=+#^2_|m28yGP>UePnQ4$5}+2#hHI;{<4{yj0L zEb!dFyYyS`l+AkG;avyL>$E^c!Ct5Qi>>E(ENtD^)Hlb8x~U5B0R;~N3aqO31Y4I) zC+r*26qZfs`lVWVT`7i+lS3^8GTEsy??^L7AdUX*%6UU{1gM$w;La2@wChDfml^7) z8Z;#LI^UE$AN{D25gk?NSQ|s_%?1{Ikd9G^y=Q&*=dADh)KBqrwJPWnOLwlm-SwEm zop!C;(GT8EhHgYTJ~0+f;|erW?0*7kf_SGT^iFVOR@9T~j{n*BGxgt zez|wcTNlJqXU_{GhQ(C{6j_M-HKUG#(7eW)oPtV3z*OkyBS`61jcL*u3ZD|%P<^B= zCkA@G&3FAxs;GaWs*#5pLL&4?YGawVXUkHAv=d~VV8%e>$OZ)km!+0!KCYVO3WWmVk5ya6K7}R+>nlhcw_3_ZcGI- z+vv7sD`I}5DxsV8{SA%E5r8AW6fgr0qv}AJpd_f<#3XM$LtT^vMApf97EXH^xkW|- z^ZB5viKyb1s&eF`<8wkV&V%Yg6$x-23qcR~6I*&aP#=4mv3p;pFHo8=S{C7M@a8BOPk8QgWGAa_~x>^+t;_7x>*z4@kL}I z)&z~mDemzg{oPN{3*2>h-w-vA>xs}-Q(=aUx|}eiszJ%fM;_AGHhDPket$dge*fpd z`+Yp{evb#<@6z{N(F*Z2u{q?N4*3D&dx=39ti9Q>BPRDUgu)#{tgJO}@cKmxqN-#z z?|O`rUhxR%Jstsd!XVg*(0e!$dJiW;4Z8-cW-TC?pXul1SZ?+5T*IhS(gpN0)PXag z&fT4Od^!j&qam%yg6){B^$018dZ>r>C}T;)QuDo>_}H9_M)rC#BRX0fR>G`vP936+ zsX7wTaOjV`_}2B#Nq?~yw4oUiy*IppKZ~m9#y7BNCzl^w*=MqFfP1!2f%ZgC<+jps zCT(JhAF8%aU*DEUsLm|dOx94P`k<=iPY_$x z^N$wjbJwr&wtx z?RvVO=%K^VN1q?)@gVHw`>~#Xap3N;wZ3#$ld3%wx<^Qqs%m#lS5zKZx0-eJQ}_8j zat~5BTzm8SIQ!4kyGl(x`bX_?ruKIz>^mQHHTZGvcO1?W*mK~aJ4qj!nN3N574*z} zoO*NCLl^WOtX&d^<#W{;&MkD%Q){c+@_MAMBn{KkE1W&ORvUVtqO3OX8F#&LM-3stryxp zJ+Sl_?ln0CYD2ED*EhmsL?<9R>|SZeR}IXHTND(i9R?dGM_br?qOIusDfp-c72)@S z-Lqt>T7U$x=~(oNE(YZcHw!qsInx_@mf>PAXKE15>az78me#Fr{%T6E4a){IT99yR zXW39ZH*U&bu-9nWSWq`xFIBixuD`Mu=E2@-@18CDM^7wy1K`m?(qC1y{>suzSJYb7 zT}=v9q;8!0+eNKI3q|R!zuF7wNAB#orv|oXR?v-=&%Sl0t5t!XSWy6xZZuawQP~Y7 zApKx3x|ui`#*Dh)r8jbdwDAElvnSsA0Y;k3=Hhxdf{D}AWQg$gNbss72(#{M2BJ~i zMg)ZR2P6d&jMu?b9gY3Xqwe24=tu2-{$D{9y7}~1eZ@{=1rTM#kT)6uRl=u%Cla`0 zCMx$3>p2BHr6tO=CPy$)pnxJbz9!fepjtc#0rU~1fI1JW03yAvNC8A;LYz9Hke_kG z2-uyD-px_oAOoZw?4_Vzpg=_n99bAG-x0Fd9cc^hLtAhO+G3ZW0VU!)RR~bf*=`hX zH%e?bWJ~X1;KOC`ULYM8Oan|1bT9?%4vM2{&=6c>K@vcZGb_!8&rAmh%jTbgj%jkI ziX9CLw;C%zXt1wX&Pc*SYqC-1+Ta%7bhIzp5aMQ~J1p2O9E)u6{WhRx{ew_=$qNu7 z*YWJIICKMypI-vAa8IxT8qLtt&5sJ`Q7#7&oycszI1T_}fCQW0Lew;VZ@Rk-h(fj_ z)f)_JR0WtwJ3Ga)N5Drl2*g%efECZmMuykE073Ve=-)G$hX>x>>5yIu`lyZ-YQR|7 zj|UXvOcLF3-c&329ic*XY(d6G+{L!xF2$-4G67exEZj)D*f!dQn`i~#1NIlYxddHQ zKTKku&W2eT{<5H8yKMv3{`-ePdkZLtASf_nM?$Ik-G95Z$|0HloQIbC$|2=awO-ZL zDBGcmw!N|@*CS=^Ewlm7vkx!(BIu$!vqkyTB?WcBlkda9)L8wwPqo&803>aV8aug35<+os4r?O#{+d)NEZcT=|Cr7JJh zl!dB4z3=rW?SG_C^yi@lTVeU_D%KnSENZ1GRn^v67tq&o`1W)gIseg~m^>PtplYW7 z$r{+Mb~nzxSy>dNT!@y6*B$?!+TYT_s(f9xPemIvw$>XvJKFni$*NzWJXHO?Q(blg z60Gl*jgmqA!||P{esbd=$9_Z|Sr*Ac*L6gmds`df(cfX!+?P&kh5%70{ z#T`!Vtp~5en(y>n`p`guY8U;b3B7mgTb+Ms*ZsQ<^m~W%`=RS1-;Wc#slPgf^ZmH= z?VayMf4Bac;J2nk8{_v9^1X0>p`x3i3UtueK~2f~@9zok_kQEmobT|`#6hDE(hNgm^oRO^)?F#lg^_CT0!TJi`lh`QD%3 z6SW*fXICFdO=y}f52(lkWUP+RR~}Yq0C^yrhM{#j(lBkGi_VG2acBff0Cbz?0#sls zLz#Jnawo|EY-ZhPDya7-1W>Cogqu!fuE>O5dPPx#Nbp{}MIl9^?RRF$zChWjCIgiS zU`JUXKcMucL?>hb@@ha1iqOpi7l*I7rKYLZN>v3<{ngaevRDw1f>@Ld3MK;t-q86M zoMrF+HO=xzZ;$x&7K z(COZWb|}kaz(so{Jm5xOMOmeV%m55!gK6#k6TloG+`$rFLlD#_UbJoan5aUNY0^;9 zbEbrdhWeZ4OqFBuPB@0^1QuYUe@U8JkP32$m=ASyWWmBGtkPH0yelBL1`vE#MV}4<&FuCoI>Gn&fe;1U`<=15nzG6D>lA3`!>s zF(?wEDUDj%+D|kFrw$|)EZFn}Rz1m-r-qZ>NuuNbk} z7HsUdb(`dJ*i042&EwyObxh5fYBB(=m7+C@F!R<4UDH-xRGxh6Pd(2)TJ{z3EDO zSCNDrX|X2O9%X0Atf5*0&W=&LlpFzSZ2$?r*{(9uas}cZ{-yxk!{6W`Eh5z){mu^H zg}TduvE5B(yxPEoq@bCXcVsN47pyI%YEq&h44$DgoQot zsKYtS71le&ERL-JW|ou&(U{(F8GHk;M3s5@Vye6nCGpd9J5hQsBx_S;c;keVEkY6| zh#&4wPJ{SZ=+A^+!E9~dJW;(=`K5_pn$W7&6wIkM*oHP57(nA$HQ^V&H=Sv*lc#SOQb8ZpF>0xj+vOPFXC(}z;%N=+ z2zIbsNEUR8hgMk7;m51L&%;1cr5!GB0K*(Ukh6}sXI+>P6}h)q{+f!(kXdcyM{1up z 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%0A$(yTX8EG(UEnY80)Lrv=GHoWU{ulxUiK>?R`zS+ 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�f*+YQhLlng8E&Z5g8zqyD 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

utWd8y~{y95ea|}{!)hlpePTsT#05oks{$&lO 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

`Q{saitJ;qq{C&M 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 + spawn(fun() -> loop(Tag) end). + +loop(Tag) -> + sleep(), + Val = b:x(), + io:format("Vsn1 (~p) b:x() = ~p~n",[Tag, Val]), + loop(Tag). + +sleep() -> + receive + after 3000 -> true + end. diff --git a/programming-erlang-code/abc.erl b/programming-erlang-code/abc.erl new file mode 100644 index 0000000..ebf3f9b --- /dev/null +++ b/programming-erlang-code/abc.erl @@ -0,0 +1,15 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(abc). +-export([a/2, b/1]). + +a(X, Y) -> c(X) + a(Y). +a(X) -> 2 * X. +b(X) -> X * X. +c(X) -> 3 * X. diff --git a/programming-erlang-code/adapter_db.erl b/programming-erlang-code/adapter_db.erl new file mode 100644 index 0000000..779ee18 --- /dev/null +++ b/programming-erlang-code/adapter_db.erl @@ -0,0 +1,49 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(adapter_db). +-export([test/0, make/1, store/3, lookup/2]). + +test() -> + %% test the dict module + M0 = make(dict), + M1 = M0:store(key1, val1), + M2 = M1:store(key2, val2), + {ok, val1} = M2:lookup(key1), + {ok, val2} = M2:lookup(key2), + error = M2:lookup(nokey), + %% test the lists module + N0 = make(lists), + N1 = N0:store(key1, val1), + N2 = N1:store(key2, val2), + {ok, val1} = N2:lookup(key1), + {ok, val2} = N2:lookup(key2), + error = N2:lookup(nokey), + ok. + +make(dict) -> + {?MODULE, dict, dict:new()}; +make(lists) -> + {?MODULE, lists, []}. + +store(Key, Val, {?MODULE, dict, D}) -> + D1 = dict:store(Key, Val, D), + {?MODULE, dict, D1}; +store(Key, Val, {?MODULE, lists, L}) -> + {?MODULE, lists, lists:keystore(Key, 1, L, {Key,Val})}. + +lookup(Key, {?MODULE, dict, D}) -> + dict:find(Key, D); +lookup(Key, {?MODULE, lists, L}) -> + case lists:keysearch(Key, 1, L) of + {value, {Key,Val}} -> + {ok, Val}; + false -> + error + end. + diff --git a/programming-erlang-code/adapter_db1.erl b/programming-erlang-code/adapter_db1.erl new file mode 100644 index 0000000..0da0c25 --- /dev/null +++ b/programming-erlang-code/adapter_db1.erl @@ -0,0 +1,30 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(adapter_db1). +-export([new/1, store/3, lookup/2]). + +new(dict) -> + {?MODULE, dict, dict:new()}; +new(lists) -> + {?MODULE, list, []}. + +store(Key, Val, {_, dict, D}) -> + D1 = dict:store(Key, Val, D), + {?MODULE, dict, D1}; +store(Key, Val, {_, list, L}) -> + L1 = lists:keystore(Key, 1, L, {Key,Val}), + {?MODULE, list, L1}. + +lookup(Key, {_,dict,D}) -> + dict:find(Key, D); +lookup(Key, {_,list,L}) -> + case lists:keysearch(Key, 1, L) of + {value, {Key,Val}} -> {ok, Val}; + false -> error + end. diff --git a/programming-erlang-code/adapter_db1_test.erl b/programming-erlang-code/adapter_db1_test.erl new file mode 100644 index 0000000..43bd19d --- /dev/null +++ b/programming-erlang-code/adapter_db1_test.erl @@ -0,0 +1,27 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(adapter_db1_test). +-export([test/0]). +-import(adapter_db1, [new/1]). +test() -> + %% test the dict module + M0 = new(dict), + M1 = M0:store(key1, val1), + M2 = M1:store(key2, val2), + {ok, val1} = M2:lookup(key1), + {ok, val2} = M2:lookup(key2), + error = M2:lookup(nokey), + %% test the lists module + N0 = new(lists), + N1 = N0:store(key1, val1), + N2 = N1:store(key2, val2), + {ok, val1} = N2:lookup(key1), + {ok, val2} = N2:lookup(key2), + error = N2:lookup(nokey), + ok. diff --git a/programming-erlang-code/afile_client.erl b/programming-erlang-code/afile_client.erl new file mode 100644 index 0000000..c9d74b9 --- /dev/null +++ b/programming-erlang-code/afile_client.erl @@ -0,0 +1,25 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(afile_client). +-export([ls/1, get_file/2]). + +ls(Server) -> + Server ! {self(), list_dir}, + receive + {Server, FileList} -> + FileList + end. + +get_file(Server, File) -> + Server ! {self(), {get_file, File}}, + receive + {Server, Content} -> + Content + end. + diff --git a/programming-erlang-code/afile_server.erl b/programming-erlang-code/afile_server.erl new file mode 100644 index 0000000..cac592c --- /dev/null +++ b/programming-erlang-code/afile_server.erl @@ -0,0 +1,27 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(afile_server). +-export([start/1, loop/1]). + +start(Dir) -> spawn(afile_server, loop, [Dir]). + +loop(Dir) -> + receive + {Client, list_dir} -> + Client ! {self(), file:list_dir(Dir)}; + {Client, {get_file, File}} -> + Full = filename:join(Dir, File), + Client ! {self(), file:read_file(Full)} + end, + loop(Dir). + + + + + diff --git a/programming-erlang-code/allocator.erl b/programming-erlang-code/allocator.erl new file mode 100644 index 0000000..bea55b4 --- /dev/null +++ b/programming-erlang-code/allocator.erl @@ -0,0 +1,74 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(allocator). + +-export([start/0, alloc/0, free/1, status/0]). + +%% alloc() -> {yes, Resource} | no +%% free(Resource) + +start() -> + register(allocator1, spawn(fun() -> run() end)). + +alloc() -> rpc(alloc). +free(X) -> rpc({free, X}). +status() -> rpc(status). + +rpc(Q) -> + allocator1 ! {self(), Q}, + receive + {allocator1, Reply} -> + Reply + end. + +init() -> + [1,2,3,4,5,6,7,8,9,10]. + +run() -> + process_flag(trap_exit, true), + loop(init(), []). + +loop(Free, Used) -> + receive + {From, alloc} -> + case Free of + [] -> + From ! {allocator1, no}, + loop(Free, Used); + [H|T] -> + From ! {allocator1, {yes, H}}, + link(From), + loop(T, [{H,From}|Used]) + end; + {From, {dealloc, X}} -> + Used1 = delete({X, From}, Used), + case count_allocated(From, Used1) of + 0 -> unlink(From); + _ -> void + end, + From ! {allocator1, ack}, + loop([X|Free], Used1); + {From, status} -> + From ! {allocator1, {free, Free, used, Used}}, + loop(Free, Used); + {'EXIT', Pid, _Why} -> + {Used1, Free1} = dealloc(Pid, Used, [], Free), + loop(Free1, Used1) + end. + +delete(H, [H|T]) -> T; +delete(H, [H1|T]) -> [H1|delete(H, T)]. + +dealloc(Pid, [{H,Pid}|T], Used, Free) -> dealloc(Pid, T, Used, [H|Free]); +dealloc(Pid, [X|T], Used, Free) -> dealloc(Pid, T, [X|Used], Free); +dealloc(_, [], Used, Free) -> {Used, Free}. + +count_allocated(Pid, [{_,Pid}|T]) -> 1 + count_allocated(Pid, T); +count_allocated(Pid, [_|T]) -> count_allocated(Pid, T); +count_allocated(_, []) -> 0. diff --git a/programming-erlang-code/application_template.full b/programming-erlang-code/application_template.full new file mode 100644 index 0000000..8cb3d0d --- /dev/null +++ b/programming-erlang-code/application_template.full @@ -0,0 +1,59 @@ +%%%------------------------------------------------------------------- +%%% @author some name +%%% @copyright (C) 2013, some name +%%% @doc +%%% +%%% @end +%%% Created : 26 May 2013 by some name +%%%------------------------------------------------------------------- +-module(). + +-behaviour(application). + +%% Application callbacks +-export([start/2, stop/1]). + +%%%=================================================================== +%%% Application callbacks +%%%=================================================================== + +%%-------------------------------------------------------------------- +%% @private +%% @doc +%% This function is called whenever an application is started using +%% application:start/[1,2], and should start the processes of the +%% application. If the application is structured according to the OTP +%% design principles as a supervision tree, this means starting the +%% top supervisor of the tree. +%% +%% @spec start(StartType, StartArgs) -> {ok, Pid} | +%% {ok, Pid, State} | +%% {error, Reason} +%% StartType = normal | {takeover, Node} | {failover, Node} +%% StartArgs = term() +%% @end +%%-------------------------------------------------------------------- +start(_StartType, _StartArgs) -> + case 'TopSupervisor':start_link() of + {ok, Pid} -> + {ok, Pid}; + Error -> + Error + end. + +%%-------------------------------------------------------------------- +%% @private +%% @doc +%% This function is called whenever an application has stopped. It +%% is intended to be the opposite of Module:start/2 and should do +%% any necessary cleaning up. The return value is ignored. +%% +%% @spec stop(State) -> void() +%% @end +%%-------------------------------------------------------------------- +stop(_State) -> + ok. + +%%%=================================================================== +%%% Internal functions +%%%=================================================================== diff --git a/programming-erlang-code/area_server.erl b/programming-erlang-code/area_server.erl new file mode 100644 index 0000000..05b5a15 --- /dev/null +++ b/programming-erlang-code/area_server.erl @@ -0,0 +1,45 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(area_server). +-behaviour(gen_server). + +-export([area/1, start_link/0]). + +%% gen_server callbacks +-export([init/1, handle_call/3, handle_cast/2, handle_info/2, + terminate/2, code_change/3]). + +start_link() -> + gen_server:start_link({local, ?MODULE}, ?MODULE, [], []). + +area(Thing) -> + gen_server:call(?MODULE, {area, Thing}). + +init([]) -> + %% Note we must set trap_exit = true if we + %% want terminate/2 to be called when the application + %% is stopped + process_flag(trap_exit, true), + io:format("~p starting~n",[?MODULE]), + {ok, 0}. + +handle_call({area, Thing}, _From, N) -> {reply, compute_area(Thing), N+1}. + +handle_cast(_Msg, N) -> {noreply, N}. + +handle_info(_Info, N) -> {noreply, N}. + +terminate(_Reason, _N) -> + io:format("~p stopping~n",[?MODULE]), + ok. + +code_change(_OldVsn, N, _Extra) -> {ok, N}. + +compute_area({square, X}) -> X*X; +compute_area({rectongle, X, Y}) -> X*Y. diff --git a/programming-erlang-code/area_server0.erl b/programming-erlang-code/area_server0.erl new file mode 100644 index 0000000..3f1b519 --- /dev/null +++ b/programming-erlang-code/area_server0.erl @@ -0,0 +1,23 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(area_server0). +-export([loop/0]). + +loop() -> + receive + {rectangle, Width, Ht} -> + io:format("Area of rectangle is ~p~n",[Width * Ht]), + loop(); + {square, Side} -> + io:format("Area of square is ~p~n", [Side * Side]), + loop() + end. + + + diff --git a/programming-erlang-code/area_server1.erl b/programming-erlang-code/area_server1.erl new file mode 100644 index 0000000..2d8083d --- /dev/null +++ b/programming-erlang-code/area_server1.erl @@ -0,0 +1,32 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(area_server1). +-export([loop/0, rpc/2]). +rpc(Pid, Request) -> + Pid ! {self(), Request}, + receive + Response -> + Response + end. +loop() -> + receive + {From, {rectangle, Width, Ht}} -> + From ! Width * Ht, + loop(); + {From, {circle, R}} -> + From ! 3.14159 * R * R, + loop(); + {From, Other} -> + From ! {error,Other}, + loop() + end. + + + + diff --git a/programming-erlang-code/area_server2.erl b/programming-erlang-code/area_server2.erl new file mode 100644 index 0000000..d8f0c57 --- /dev/null +++ b/programming-erlang-code/area_server2.erl @@ -0,0 +1,34 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(area_server2). +-export([loop/0, rpc/2]). +rpc(Pid, Request) -> + Pid ! {self(), Request}, + receive + {Pid, Response} -> + Response + end. +loop() -> + receive + {From, {rectangle, Width, Ht}} -> + From ! {self(), Width * Ht}, + loop(); + {From, {circle, R}} -> + From ! {self(), 3.14159 * R * R}, + loop(); + {From, Other} -> + From ! {self(), {error,Other}}, + loop() + end. + + + + + + diff --git a/programming-erlang-code/area_server_final.erl b/programming-erlang-code/area_server_final.erl new file mode 100644 index 0000000..dfb64e2 --- /dev/null +++ b/programming-erlang-code/area_server_final.erl @@ -0,0 +1,33 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(area_server_final). +-export([start/0, area/2, loop/0]). + +start() -> spawn(area_server_final, loop, []). + +area(Pid, What) -> + rpc(Pid, What). +rpc(Pid, Request) -> + Pid ! {self(), Request}, + receive + {Pid, Response} -> + Response + end. +loop() -> + receive + {From, {rectangle, Width, Ht}} -> + From ! {self(), Width * Ht}, + loop(); + {From, {circle, R}} -> + From ! {self(), 3.14159 * R * R}, + loop(); + {From, Other} -> + From ! {self(), {error,Other}}, + loop() + end. diff --git a/programming-erlang-code/attrs.erl b/programming-erlang-code/attrs.erl new file mode 100644 index 0000000..527e98b --- /dev/null +++ b/programming-erlang-code/attrs.erl @@ -0,0 +1,16 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(attrs). +-vsn(1234). +-author({joe,armstrong}). +-purpose("example of attributes"). +-export([fac/1]). + +fac(1) -> 1; +fac(N) -> N * fac(N-1). diff --git a/programming-erlang-code/b.erl b/programming-erlang-code/b.erl new file mode 100644 index 0000000..0837456 --- /dev/null +++ b/programming-erlang-code/b.erl @@ -0,0 +1,12 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(b). +-export([x/0]). + +x() -> 1. diff --git a/programming-erlang-code/bad.erl b/programming-erlang-code/bad.erl new file mode 100644 index 0000000..472c962 --- /dev/null +++ b/programming-erlang-code/bad.erl @@ -0,0 +1,50 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(bad). + +%% There are lots's of delibeate errors in this file +%% so it's not in the makefile + +foo(1,2) -> + a; +foo(2,3,a) -> + b. + +foo(A, B) -> + bar(A, dothis(X), B), + baz(Y, X). + +foo() -> + case bar() of + 1 -> + X = 1, + Y = 2; + 2 -> + X = 3 + end, + b(X, Y). + +foo() -> + case bar() of + 1 -> + X = 1, + Y = 2; + 2 -> + X = 3 + end, + b(X). + +foo(X, L) -> + lists:map(fun(X) -> 2*X end, L). + +foo(X, L) -> + lists:map(fun(Z) -> 2*Z end, L). + +foo(X) -> + io:format("hello ~p~n, [X]). diff --git a/programming-erlang-code/benchmark_assoc.erl b/programming-erlang-code/benchmark_assoc.erl new file mode 100644 index 0000000..b10fd78 --- /dev/null +++ b/programming-erlang-code/benchmark_assoc.erl @@ -0,0 +1,167 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(benchmark_assoc). +-compile(export_all). +-import(lib_misc, [unconsult/2]). + +%% make a random list of [{<>, Int}] length N + +test1(K) when K < 200000-> + L = make_assoc_list(K), + Mid = K div 2, + {Key,_} = lists:nth(Mid, L), + %% create the file + File = "big.tmp", + lib_misc:unconsult("big.tmp", L), + Size = filelib:file_size(File), + %% time the first update method + {T1, _} = timer:tc(?MODULE, f1, [Key, File]), + %% clean up + file:delete(File), + {consult, Size, T1}; +test1(_) -> + no. + +test2(K) when K < 300000-> + L = make_assoc_list(K), + Mid = K div 2, + {Key,_} = lists:nth(Mid, L), + %% create the file + File = "big.tmp", + file:write_file(File, [term_to_binary(L)]), + Size = filelib:file_size(File), + {T, _} = timer:tc(?MODULE, f2, [Key, File]), + %% clean up + file:delete(File), + {binary, Size, T}; +test2(_) -> + no. + +test3(K) -> + L = make_assoc_list(K), + %% io:format("L=~p~n",[L]), + Mid = K div 2, + {Key,_} = lists:nth(Mid, L), + File = "big.dets", + Big = ets:new(big, []), + lists:foreach(fun(KV) -> ets:insert(Big, KV) end, L), + %% Now iopen a dets table + io:format("made ets~n"), + _V = ets:foldr(fun(X,A) -> [X|A] end, [], Big), + %% io:format("V=~p~n",[V]), + {ok, newd} = dets:open_file(newd, [{file,File}]), + ets:to_dets(Big, newd), + _V1 = dets:foldr(fun(X,A) -> [X|A] end, [], newd), + %% io:format("V1=~p~n",[V1]), + ets:delete(Big), + dets:close(newd), + Size = filelib:file_size(File), + {T, _} = timer:tc(?MODULE, f3, [Key, File]), + %% clean up + file:delete(File), + {dets, Size, T}. + + +f1(Key, File) -> + update(File, Key, 20). + +f2(Key, File) -> + update1(File, Key, 20). + +f3(Key, File) -> + {ok, big} = dets:open_file(big, [{file,File}]), + %% V1 = dets:foldr(fun(X,A) -> [X|A] end, [], big), + %% io:format("V1=~p~n",[V1]), + %% io:format("Key=~p~n",[Key]), + case dets:lookup(big, Key) of + [{Key,Val}] -> + %% io:format("oldval=~p~n",[Val]), + dets:insert(big, {Key, Val+20}); + LL -> + io:format("*** error ***:~p~n",[LL]) + end, + dets:close(big). + +make_assoc_list(N) -> + random_seed(), + make_random_list(N, []). + +%% goes like N^2 + +make_random_list(0, L) -> L; +make_random_list(N, L) -> + %% Key = list_to_binary(random_string(4,6,$a, 26)), + Key = (random_string(4,6,$a, 26)), + case is_defined(Key, L) of + true -> + make_random_list(N , L); + false -> + Val = list_to_integer(random_string(2,6,$0,10)), + make_random_list(N-1, [{Key,Val}|L]) + end. + +is_defined(Key, [{Key,_}|_]) -> true; +is_defined(Key, [_|T]) -> is_defined(Key, T); +is_defined(_, []) -> false. + +random_string(Min, Extra, Start, K) -> + Length = Min + random:uniform(Extra), + random_str(Length, Start, K, []). + +random_str(0, _, _, D) -> + D; +random_str(N, Start, K, D) -> + random_str(N-1, Start, K, [random:uniform(K)+ Start - 1|D]). + +random_seed() -> + {_,_,X} = erlang:now(), + {H,M,S} = time(), + H1 = H * X rem 32767, + M1 = M * X rem 32767, + S1 = S * X rem 32767, + put(random_seed, {H1,M1,S1}). + + +update1(File, Key, Delta) -> + {ok, Bin} = file:read_file(File), + Terms = binary_to_term(Bin), + Terms1 = do_update(Key, Delta, Terms), + file:write_file(File, [term_to_binary(Terms1)]). + +update(File, Key, Delta) -> + {ok, Terms} = file:consult(File), + Terms1 = do_update(Key, Delta, Terms), + unconsult(File, Terms1). + +do_update(Key, Delta, [{Key,Val}|T]) -> + [{Key,Val+Delta}|T]; +do_update(Key, Delta, [H|T]) -> + [H|do_update(Key, Delta, T)]; +do_update(Key, Delta, []) -> + [{Key, Delta}]. + +yes() -> + {ok, abc} = dets:open_file(abc, [{file,"foo.dets"}]), + L = [{<<"abc">>,123},{<<"zrt123">>,3456},{<<"trui67f">>,22345}], + lists:foreach(fun(I) -> dets:insert(abc, I) end, L), + dets:close(abc), + {ok, abc} = dets:open_file(abc, [{file,"foo.dets"}]), + Val = dets:lookup(abc, <<"zrt123">>), + dets:close(abc), + Val. + +yes1() -> + Tab = ets:new(abc, []), + L = [{<<"abc">>,123},{<<"zrt123">>,3456},{<<"trui67f">>,22345}], + lists:foreach(fun(I) -> ets:insert(Tab, I) end, L), + V1 = ets:lookup(Tab, <<"zrt123">>), + io:format("V1=~p~n",[V1]), + + ets:delete(Tab). + diff --git a/programming-erlang-code/benchmark_mk_assoc.erl b/programming-erlang-code/benchmark_mk_assoc.erl new file mode 100644 index 0000000..712ff52 --- /dev/null +++ b/programming-erlang-code/benchmark_mk_assoc.erl @@ -0,0 +1,127 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(benchmark_mk_assoc). + +-compile(export_all). + +test(N) -> + [{list,dict,ets}, + {method1(N), method2(N),method3(N)}]. + +method1(N) when N > 20000 -> + false; +method1(N) -> + {T, _} = timer:tc(?MODULE, make_assoc_list1, [N]), + trunc(T/N). + +method2(N) when N > 300000 -> + false; +method2(N) -> + random_seed(), + D = dict:new(), + {T, _} = timer:tc(?MODULE, make_random_list2, [N, D]), + trunc(T/N). + +method3(N) -> + random_seed(), + E = ets:new(sometable,[]), + {T, _} = timer:tc(?MODULE, make_random_list3, [N, E]), + ets:delete(E), + trunc(T/N). + +make_random_list3(0, E) -> E; +make_random_list3(N, E) -> + %% Key = list_to_binary(random_string(4,6,$a, 26)), + Key = (random_string(4,6,$a, 26)), + case ets:lookup(E, Key) of + [] -> + Val = list_to_integer(random_string(2,6,$0,10)), + ets:insert(E, {Key, Val}), + make_random_list3(N-1 , E); + _ -> + make_random_list3(N, E) + end. + +make_random_list2(0, D) -> dict:to_list(D); +make_random_list2(N, D) -> + %% Key = list_to_binary(random_string(4,6,$a, 26)), + Key = (random_string(4,6,$a, 26)), + case dict:find(Key, D) of + error -> + Val = list_to_integer(random_string(2,6,$0,10)), + D1 = dict:store(Key, Val, D), + make_random_list2(N-1 , D1); + {ok, _} -> + make_random_list2(N, D) + end. + + +make_assoc_list1(N) -> + random_seed(), + make_random_list1(N, []). + +%% goes like N^2 + +make_random_list1(0, L) -> L; +make_random_list1(N, L) -> + %% Key = list_to_binary(random_string(4,6,$a, 26)), + Key = (random_string(4,6,$a, 26)), + case is_defined(Key, L) of + true -> + make_random_list1(N , L); + false -> + Val = list_to_integer(random_string(2,6,$0,10)), + make_random_list1(N-1, [{Key,Val}|L]) + end. + +is_defined(Key, [{Key,_}|_]) -> true; +is_defined(Key, [_|T]) -> is_defined(Key, T); +is_defined(_, []) -> false. + +random_string(Min, Extra, Start, K) -> + Length = Min + random:uniform(Extra), + random_str(Length, Start, K, []). + +random_str(0, _, _, D) -> + D; +random_str(N, Start, K, D) -> + random_str(N-1, Start, K, [random:uniform(K)+ Start - 1|D]). + +random_seed() -> + {_,_,X} = erlang:now(), + {H,M,S} = time(), + H1 = H * X rem 32767, + M1 = M * X rem 32767, + S1 = S * X rem 32767, + put(random_seed, {H1,M1,S1}). + +%% 1> benchmark_mk_assoc:test(20000). +%% [{list,dict,ets},{1149,82,42}] +%% 2> c(benchmark_mk_assoc). +%% {ok,benchmark_mk_assoc} +%% 3> benchmark_mk_assoc:test(30000). +%% [{list,dict,ets},{false,80,46}] +%% 4> benchmark_mk_assoc:test(100000). +%% [{list,dict,ets},{false,118,42}] +%% 5> benchmark_mk_assoc:test(200000). +%% [{list,dict,ets},{false,235,59}] +%% 6> c(benchmark_mk_assoc). +%% ./benchmark_mk_assoc.erl:15: syntax error before: '/' +%% ./benchmark_mk_assoc.erl:7: function method2/1 undefined +%% error +%% 7> c(benchmark_mk_assoc). +%% {ok,benchmark_mk_assoc} +%% 8> benchmark_mk_assoc:test(300000). +%% [{list,dict,ets},{false,251,49}] +%% benchmark_mk_assoc:test(400000). +%% [{list,dict,ets},{false,false,59}] + +%% benchmark_mk_assoc:test(1000000). +%% [{list,dict,ets},{false,false,80}] + diff --git a/programming-erlang-code/bertie/Makefile b/programming-erlang-code/bertie/Makefile new file mode 100644 index 0000000..4dfd1b1 --- /dev/null +++ b/programming-erlang-code/bertie/Makefile @@ -0,0 +1,6 @@ +all: + test -d deps || rebar get-deps + rebar compile + @erl -noshell -pa './deps/bitcask/ebin' -pa './ebin' -s bertie start + + diff --git a/programming-erlang-code/bertie/bertie.erl b/programming-erlang-code/bertie/bertie.erl new file mode 100644 index 0000000..88360f3 --- /dev/null +++ b/programming-erlang-code/bertie/bertie.erl @@ -0,0 +1,26 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(bertie). +-export([start/0]). + +start() -> + Handle = bitcask:open("bertie_database", [read_write]), + N = fetch(Handle), + store(Handle, N+1), + io:format("Bertie has been run ~p times~n",[N]), + bitcask:close(Handle), + init:stop(). + +store(Handle, N) -> + bitcask:put(Handle, <<"bertie_executions">>, term_to_binary(N)). +fetch(Handle) -> + case bitcask:get(Handle, <<"bertie_executions">>) of + not_found -> 1; + {ok, Bin} -> binary_to_term(Bin) + end. diff --git a/programming-erlang-code/bertie/rebar.config b/programming-erlang-code/bertie/rebar.config new file mode 100644 index 0000000..02518b4 --- /dev/null +++ b/programming-erlang-code/bertie/rebar.config @@ -0,0 +1,3 @@ +{deps, [ + {bitcask, ".*", {git, "git://github.com/basho/bitcask.git", "master"}} +]}. diff --git a/programming-erlang-code/boot.sh b/programming-erlang-code/boot.sh new file mode 100755 index 0000000..729c4df --- /dev/null +++ b/programming-erlang-code/boot.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env escript +#--- +# Excerpted from "Programming Erlang, Second Edition", +# published by The Pragmatic Bookshelf. +# Copyrights apply to this code. It may not be used to create training material, +# courses, books, articles, and the like. Contact us if you are in doubt. +# We make no guarantees that this code is fit for any purpose. +# Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +#--- +%% -*- erlang -*- +%%! -sname ehe_node + +main(_) -> + Files = filelib:wildcard("*.beam"), + Files1 = filelib:wildcard( + "/home/joe/nobackup/erlang_imports/deps/cowboy/ebin/*.beam"), + Files2 = filelib:wildcard("*.html"), + Files3 = filelib:wildcard("*.js"), + Files4 = filelib:wildcard("*.css"), + All = Files ++ Files1 ++ Files2 ++ Files3 ++ Files4, + Stuff = [input(I) || I <- All], + io:format("Packing:~p~n",[All]), + case zip:create("mem", Stuff, [memory]) of + {ok, {"mem", ZipBin}} -> + io:format("ok1~n"), + %% Archive was successfully created. Prefix that binary with our + %% header and write to our escript file + Shebang = "#!/usr/bin/env escript\n%%! -noshell -noinput\n", + Script = iolist_to_binary([Shebang, ZipBin]), + case file:write_file("web", Script) of + ok -> + os:cmd("chmod u+x web"), + ok; + {error, WriteError} -> + io:format("Failed to write script: ~p\n", + [WriteError]) + end; + E -> + io:format("uugh:~p~n",[E]) + end, + init:stop(). + + + +input(F) -> + {ok, Bin} = file:read_file(F), + {filename:basename(F), Bin}. + diff --git a/programming-erlang-code/broadcast.erl b/programming-erlang-code/broadcast.erl new file mode 100644 index 0000000..605c73a --- /dev/null +++ b/programming-erlang-code/broadcast.erl @@ -0,0 +1,67 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- + + +% http://www-net.cs.umass.edu/cs653-1997/notes/ch3/ch3-1.html + +%% http://www.ibrado.com/sock-faq/ +%% http://docs.sun.com/db?q=sockets&p=/doc/802-5886/6i9k5sgso&a=view + +%% socket FAQ + +%% Messages sent by datagram sockets can be broadcast to reach all +%% of the hosts on an attached network. The network must support broadcast; +%% the system provides no simulation of broadcast in software. +%% Broadcast messages can place a high load on a network since they +%% force every host on the network to service them. +%% Broadcasting is usually used for either of two reasons: to find +%% a resource on a local network without having its address, +%% or functions like routing require that information be sent to all +%% accessible neighbors. +%% +%% To send a broadcast message, create an Internet datagram socket: +%% +%% s = socket(AF_INET, SOCK_DGRAM, 0); +%% +%% and bind a port number to the socket: +%% +%% sin.sin_family = AF_INET; +%% sin.sin_addr.s_addr = htonl(INADDR_ANY); +%% sin.sin_port = htons(MYPORT); +%% bind(s, (struct sockaddr *) &sin, sizeof sin); +%% +%% The datagram can be broadcast on only one network by sending +%% to the network's broadcast address. A datagram can also be broadcast +%% on all attached networks by sending to the special address +%% INADDR_BROADCAST, defined in . + +-module(broadcast). +-compile(export_all). + +send(IoList) -> + case inet:ifget("eth0", [broadaddr]) of + {ok, [{broadaddr, Ip}]} -> + {ok, S} = gen_udp:open(5010, [{broadcast, true}]), + gen_udp:send(S, Ip, 6000, IoList), + gen_udp:close(S); + _ -> + io:format("Bad interface name, or\n" + "broadcasting not supported\n") + end. + +listen() -> + {ok, _} = gen_udp:open(6000), + loop(). +loop() -> + receive + Any -> + io:format("received:~p~n", [Any]), + loop() + end. + diff --git a/programming-erlang-code/chat_cluster.erl b/programming-erlang-code/chat_cluster.erl new file mode 100644 index 0000000..78db3dc --- /dev/null +++ b/programming-erlang-code/chat_cluster.erl @@ -0,0 +1,47 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(chat_cluster). + +-export([start/1, remote/2]). + +start(Node) -> + spawn(fun() -> chatter(Node) end). + +chatter(Node) -> + S = self(), + Local = io_widget:start(S), + io_widget:set_title(Local, "chat to " ++ atom_to_list(Node)), + Remote = rpc:call(Node, chat, remote, [node(), Local]), + loop(Local, Remote). + +remote(RemoteNode, Remote) -> + S = self(), + spawn(fun() -> remote1(S, RemoteNode, Remote) end), + receive + Pid -> Pid + end. + +remote1(Parent, RemoteNode, Remote) -> + Local = io_widget:start(self()), + io_widget:set_title(Local, "chat to " ++ atom_to_list(RemoteNode)), + Parent ! Local, + loop(Local, Remote). + + +loop(A, B) -> + receive + {_, {data, Str}} -> + io_widget:insert(A, [$\n|Str]), + io_widget:insert(B, [$\n|Str]), + loop(A, B); + Any -> + io:format("~p~n", [Any]), + loop(A, B) + end. + diff --git a/programming-erlang-code/chat_file_transfer.erl b/programming-erlang-code/chat_file_transfer.erl new file mode 100644 index 0000000..a5d5f63 --- /dev/null +++ b/programming-erlang-code/chat_file_transfer.erl @@ -0,0 +1,84 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(chat_file_transfer). + +-compile(export_all). + +%% server: +%% chat_socket:start_chat_server("joe", "123"). +%% "joe" is who I am +%% +%% client: +%% chat_socket:call("localhost","fred", "123"). +%% "fred" is who I am +%% When we call we don't know the name of who we are calling +%% so we'll have to wait until the server tells us + + +%% Secret = none | string +%% +%% Who = the person who owns the server + +start_chat_server(Who, Secret) -> + lib_auth_cs:start_server(3030, + {?MODULE, chat_server, Who}, + Secret, + {yes, server}, + 50). + +stop_echo_server() -> + new_server:stop(3030). + +%% The client is the initiator +%% Example call("localhost", "joe", "foo123") + +call(Host, From, Secret) -> + lib_auth_cs:start_auth_client(Host, + 3030, + {?MODULE, chat_client, {Host, From}}, + Secret, + {yes, client}). + + +%%---------------------------------------------------------------------- +chat_server(Client, Me) -> + %% when we are started popup an I/O widget + Widget = io_widget:start(self()), + receive + {msg, {hello, From}} -> + Client ! {msg, {hello, Me}}, + io_widget:set_title(Widget, From), + relay(Client, Widget, Me) + end. + +relay(Pid, Widget, Who) -> + receive + {msg, {tell, Str}} -> + io_widget:insert(Widget, Str), + relay(Pid, Widget, Who); + closed -> + void; + {Widget, {data, Str}} -> + Str1 = Who ++ ":" ++ Str ++ "\n", + io_widget:insert(Widget, Str1), + Pid ! {msg, {tell, Str1}}, + relay(Pid, Widget, Who); + _Other -> + relay(Pid, Widget, Who) + end. + +chat_client(Server, {_Host, From}) -> + Widget = io_widget:start(self()), + Server ! {msg, {hello, From}}, + receive + {msg, {hello, Me}} -> + io_widget:set_title(Widget, Me), + relay(Server, Widget, From) + end. + diff --git a/programming-erlang-code/chat_multi.erl b/programming-erlang-code/chat_multi.erl new file mode 100644 index 0000000..7c5384c --- /dev/null +++ b/programming-erlang-code/chat_multi.erl @@ -0,0 +1,84 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(chat_multi). + +-compile(export_all). + +%% server: +%% chat_socket:start_chat_server("joe", "123"). +%% "joe" is who I am +%% +%% client: +%% chat_socket:call("localhost","fred", "123"). +%% "fred" is who I am +%% When we call we don't know the name of who we are calling +%% so we'll have to wait until the server tells us + + +%% Secret = none | string +%% +%% Who = the person who owns the server + +start_chat_server(Who, Secret) -> + lib_auth_cs:start_server(3030, + {?MODULE, chat_server, Who}, + Secret, + {yes, server}, + 50). + +stop_echo_server() -> + new_server:stop(3030). + +%% The client is the initiator +%% Example call("localhost", "joe", "foo123") + +call(Host, From, Secret) -> + lib_auth_cs:start_auth_client(Host, + 3030, + {?MODULE, chat_client, {Host, From}}, + Secret, + {yes, client}). + + +%%---------------------------------------------------------------------- +chat_server(Client, Me) -> + %% when we are started popup an I/O widget + Widget = io_widget:start(self()), + receive + {msg, {hello, From}} -> + Client ! {msg, {hello, Me}}, + io_widget:set_title(Widget, From), + relay(Client, Widget, Me) + end. + +relay(Pid, Widget, Who) -> + receive + {msg, {tell, Str}} -> + io_widget:insert(Widget, Str), + relay(Pid, Widget, Who); + closed -> + void; + {Widget, {data, Str}} -> + Str1 = Who ++ ":" ++ Str ++ "\n", + io_widget:insert(Widget, Str1), + Pid ! {msg, {tell, Str1}}, + relay(Pid, Widget, Who); + _Other -> + relay(Pid, Widget, Who) + end. + +chat_client(Server, {_Host, From}) -> + Widget = io_widget:start(self()), + Server ! {msg, {hello, From}}, + receive + {msg, {hello, Me}} -> + io_widget:set_title(Widget, Me), + relay(Server, Widget, From) + end. + diff --git a/programming-erlang-code/chat_secure.erl b/programming-erlang-code/chat_secure.erl new file mode 100644 index 0000000..e4651b8 --- /dev/null +++ b/programming-erlang-code/chat_secure.erl @@ -0,0 +1,84 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(chat_secure). + +-compile(export_all). + +%% server: +%% chat_socket:start_chat_server("joe", "123"). +%% "joe" is who I am +%% +%% client: +%% chat_socket:call("localhost","fred", "123"). +%% "fred" is who I am +%% When we call we don't know the name of who we are calling +%% so we'll have to wait until the server tells us + + +%% Secret = none | string +%% +%% Who = the person who owns the server + +start_chat_server(Who, Secret) -> + lib_auth_cs:start_server(3030, + {?MODULE, chat_server, Who}, + Secret, + {yes, server}, + 50). + +stop_echo_server() -> + new_server:stop(3030). + +%% The client is the initiator +%% Example call("localhost", "joe", "foo123") + +call(Host, From, Secret) -> + lib_auth_cs:start_auth_client(Host, + 3030, + {?MODULE, chat_client, {Host, From}}, + Secret, + {yes, client}). + + +%%---------------------------------------------------------------------- +chat_server(Client, Me) -> + %% when we are started popup an I/O widget + Widget = io_widget:start(self()), + receive + {msg, {hello, From}} -> + Client ! {msg, {hello, Me}}, + io_widget:set_title(Widget, From), + relay(Client, Widget, Me) + end. + +relay(Pid, Widget, Who) -> + receive + {msg, {tell, Str}} -> + io_widget:insert(Widget, Str), + relay(Pid, Widget, Who); + closed -> + void; + {Widget, {data, Str}} -> + Str1 = Who ++ ":" ++ Str ++ "\n", + io_widget:insert(Widget, Str1), + Pid ! {msg, {tell, Str1}}, + relay(Pid, Widget, Who); + _Other -> + relay(Pid, Widget, Who) + end. + +chat_client(Server, {_Host, From}) -> + Widget = io_widget:start(self()), + Server ! {msg, {hello, From}}, + receive + {msg, {hello, Me}} -> + io_widget:set_title(Widget, Me), + relay(Server, Widget, From) + end. + diff --git a/programming-erlang-code/chat_socket.erl b/programming-erlang-code/chat_socket.erl new file mode 100644 index 0000000..3437e61 --- /dev/null +++ b/programming-erlang-code/chat_socket.erl @@ -0,0 +1,84 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(chat_socket). + +-compile(export_all). + +%% server: +%% chat_socket:start_chat_server("joe", "123"). +%% "joe" is who I am +%% +%% client: +%% chat_socket:call("localhost","fred", "123"). +%% "fred" is who I am +%% When we call we don't know the name of who we are calling +%% so we'll have to wait until the server tells us + + +%% Secret = none | string +%% +%% Who = the person who owns the server + +start_chat_server(Who, Secret) -> + lib_auth_cs:start_server(3030, + {?MODULE, chat_server, Who}, + Secret, + {yes, server}, + 50). + +stop_echo_server() -> + new_server:stop(3030). + +%% The client is the initiator +%% Example call("localhost", "joe", "foo123") + +call(Host, From, Secret) -> + lib_auth_cs:start_auth_client(Host, + 3030, + {?MODULE, chat_client, {Host, From}}, + Secret, + {yes, client}). + + +%%---------------------------------------------------------------------- +chat_server(Client, Me) -> + %% when we are started popup an I/O widget + Widget = io_widget:start(self()), + receive + {msg, {hello, From}} -> + Client ! {msg, {hello, Me}}, + io_widget:set_title(Widget, From), + relay(Client, Widget, Me) + end. + +relay(Pid, Widget, Who) -> + receive + {msg, {tell, Str}} -> + io_widget:insert(Widget, Str), + relay(Pid, Widget, Who); + closed -> + void; + {Widget, {data, Str}} -> + Str1 = Who ++ ":" ++ Str ++ "\n", + io_widget:insert(Widget, Str1), + Pid ! {msg, {tell, Str1}}, + relay(Pid, Widget, Who); + _Other -> + relay(Pid, Widget, Who) + end. + +chat_client(Server, {_Host, From}) -> + Widget = io_widget:start(self()), + Server ! {msg, {hello, From}}, + receive + {msg, {hello, Me}} -> + io_widget:set_title(Widget, Me), + relay(Server, Widget, From) + end. + diff --git a/programming-erlang-code/checker.erl b/programming-erlang-code/checker.erl new file mode 100644 index 0000000..6c2e01f --- /dev/null +++ b/programming-erlang-code/checker.erl @@ -0,0 +1,100 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(checker). + +-compile(export_all). +-import(lists, [all/2, foreach/2, member/2]). + +%% checker:start() +%% checks consistency of names + +start() -> + F = lib_find:files(".", "*.erl", true), + foreach(fun(I) -> check(I) end, F). + +test() -> + check("./checker.erl"). + +check(File) -> + io:format("Check:~p~n",[File]), + case epp:parse_file(File, ".", []) of + {ok, Forms} -> + chk(File, Forms); + _ -> + true + end. + +chk(File, F) -> + try do(F) + catch + _:W -> + io:format("File:~p ~p~n",[File,W]) + end. + +do({function,_,Name,Arity,Clauses}) -> + %% io:format("checfun ~p~n",[Name]), + isFuname(Name), + do(Clauses); +do({call,_,{remote,_,A,B},Args}) -> + is_valid_function_name(A), + is_valid_function_name(B), + do(Args); +do({call,_,F,Args}) -> + is_valid_function_name(F), + do(Args); +do({var,_,V}) -> + is_valid_variable_name(V); +do(T) when tuple(T) -> + foreach(fun do/1, tuple_to_list(T)); +do(T) when list(T) -> + foreach(fun do/1, T); +do(_) -> + true. + +is_valid_function_name({atom,_,N}) -> + isFuname(N); +is_valid_function_name(X) -> + do(X). + +isFuname(N) -> + %% io:format("Checking:~p~n",[N]), + case is_valid_funname(atom_to_list(N)) of + false -> io:format("** invalid function name:~p~n",[N]); + _ -> void + end. + +-include("stdmacros.hrl"). + +is_valid_funname([H1,H2|T]) when ?IN(H1,$a,$z), + ?IN(H2,$A,$Z) -> + false; +is_valid_funname([_|T]) -> + is_valid_funname(T); +is_valid_funname([]) -> + true. + +is_valid_variable_name(V_n) -> + L = atom_to_list(V_n), + case L of + "_" ++ T -> + true; + _ -> + case (not member($_,L)) of + false -> io:format("** invalid variable name:~p~n",[L]); + _ -> void + end + end. + +is_fun_name_char($_) -> true; +is_fun_name_char(X) when $a =< X, X =< $z -> true; +is_fun_name_char(_) -> false. + +doIt(A) -> + a. + diff --git a/programming-erlang-code/clock.erl b/programming-erlang-code/clock.erl new file mode 100644 index 0000000..badee40 --- /dev/null +++ b/programming-erlang-code/clock.erl @@ -0,0 +1,22 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(clock). +-export([start/2, stop/0]). + +start(Time, Fun) -> + register(clock, spawn(fun() -> tick(Time, Fun) end)). +stop() -> clock ! stop. +tick(Time, Fun) -> + receive + stop -> + void + after Time -> + Fun(), + tick(Time, Fun) + end. diff --git a/programming-erlang-code/convert1.erl b/programming-erlang-code/convert1.erl new file mode 100644 index 0000000..2e1498a --- /dev/null +++ b/programming-erlang-code/convert1.erl @@ -0,0 +1,16 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(convert1). %% (1) +-export([yards_to_meters/1, meters_to_yards/1]). %% (2) + +yards_to_meters(Yards) -> %% (3) + 0.9144 * Yards. + +meters_to_yards(Meters) -> + 1.0936133 * Meters. diff --git a/programming-erlang-code/convert2.erl b/programming-erlang-code/convert2.erl new file mode 100644 index 0000000..98c6ac0 --- /dev/null +++ b/programming-erlang-code/convert2.erl @@ -0,0 +1,14 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(convert2). + +-export([convert/2]). + +convert(Yards, meters) -> 0.9144 * Yards; +convert(Meters, yards) -> 1.0936133 * Meters. diff --git a/programming-erlang-code/convert3.erl b/programming-erlang-code/convert3.erl new file mode 100644 index 0000000..f489264 --- /dev/null +++ b/programming-erlang-code/convert3.erl @@ -0,0 +1,15 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(convert3). + +-export([convert/2]). + +convert({yards, X}, meters) -> {meters, 0.9144 * X}; +convert({meters, X}, yards) -> {yards, 1.0936133 * X}. + diff --git a/programming-erlang-code/convert4.erl b/programming-erlang-code/convert4.erl new file mode 100644 index 0000000..d2fb795 --- /dev/null +++ b/programming-erlang-code/convert4.erl @@ -0,0 +1,17 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(convert4). + +-export([convert/2]). + +convert({yards, X}, meters) -> {meters, 0.9144 * X}; +convert({meters, X}, yards) -> {yards, 1.0936133 * X}; +convert({Tag, X}, Tag) -> {Tag, X}. + + diff --git a/programming-erlang-code/convert5.erl b/programming-erlang-code/convert5.erl new file mode 100644 index 0000000..24dd336 --- /dev/null +++ b/programming-erlang-code/convert5.erl @@ -0,0 +1,45 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(convert5). +%% I can remove thjis it's not in the book +-export([convert1/2, convert2/2]). + +convert1({yards, X}, meters) -> {meters, 0.9144 * X}; +convert1({yards, X}, feet) -> {feet, 3 * X}; +convert1({meters, X}, yards) -> {yards, 1.0936133 * X}; +convert1({meters, X}, feet) -> {feet, 3.2808399 * X}; +convert1({feet, X}, meters) -> {meters, 0.3048 * X}; +convert1({feet, X}, yards) -> {yards, 0.3333333 * X}; +convert1({Tag, X}, Tag) -> {Tag, X}. + +convert2(In, Out) -> + case In of + {yards, X} -> + case Out of + meters -> {meters, 0.9144 * X}; + feet -> {feet, 3 * X} + end; + {meters, X} -> + case Out of + yards -> {yards, 1.0936133 * X}; + feet -> {meters, 0.3048 * X} + end; + {feet, X} -> + case Out of + meters -> {meters, 0.3048 * X}; + yards -> {yards, 0.3333333 * X} + end; + {_Tag, Out} -> + %% I dont understahd this ... + In + end. + + + + diff --git a/programming-erlang-code/cookbook_examples.erl b/programming-erlang-code/cookbook_examples.erl new file mode 100644 index 0000000..60cdd67 --- /dev/null +++ b/programming-erlang-code/cookbook_examples.erl @@ -0,0 +1,93 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(cookbook_examples). + +%% examples in the cookbook chapter +%% not generally useful for anything else than +%% understanding the cookbook chapter + +-compile(export_all). +-import(lists, [foreach/2, map/2, reverse/1]). + +time(Fun) -> + timer:tc(lib_cookbook, eval_fun, [Fun]). + +eval_fun(Fun) -> Fun(). + +fib1(0) -> 1; +fib1(1) -> 1; +fib1(N) -> fib1(N-1) + fib1(N-2). + +fib2(N) -> fib2(N, 1, 1). + +fib2(0, A, _) -> A; +fib2(N, A, B) -> fib2(N-1, B, A+B). + +extract_people(Tree) -> + extract_people(Tree, []). + +extract_people({person,_,_}=Person, L) -> + [Person|L]; +extract_people([H|T], L) -> + L1 = extract_people(H, L), + extract_people(T, L1); +extract_people(Tuple, L) when tuple(Tuple) -> + extract_people(tuple_to_list(Tuple), L); +extract_people(_, L) -> + L. + +swap_names({person,First,Last}) -> + {person, Last, First}; +swap_names([H|T]) -> + [swap_names(H)|swap_names(T)]; +swap_names(Tuple) when tuple(Tuple) -> + L1 = tuple_to_list(Tuple), + L2 = map(fun swap_names/1, L1), + list_to_tuple(L2); +swap_names(X) -> + X. + +shopping_list() -> + [["Eggs", 24, 1.2], + ["Apples", 6, 2.1], + ["Sausages", 5, 5.6], + ["Fish", 3, 5.4]]. + +print_shopping_list() -> + show_format("~p ~p ~p~n"), + show_format("~s ~w ~f~n"), + show_format("~7s ~2w ~4.2f~n"), + show_format("~-7s ~2w ~3.1f~n"). + +show_format(Format) -> + io:format(" ~s~n",[Format]), + foreach(fun(Items) -> io:format(Format, Items) end, + shopping_list()), + io:format("~n"). + + +test_data1() -> + {hello, 123, + [foo,{a,b,[{person,"Xambro", "Skoplangard"},[a,b]], + def, {g,h,{i, [a, {person,"Zolab","Zinkeldoffle"},q]}}}]}. + + +binary_file_access() -> + File = "test.bin", + file:write_file(File, [<<"12345abcde">>]), + {ok, Initial} = file:read_file(File), + {ok, FileHandle} = file:open(File, [binary,raw,read,write]), + {ok, B1} = file:pread(FileHandle, 1, 2), + {ok, [First,Last]} = file:pread(FileHandle, [{0,3},{7,3}]), + file:pwrite(FileHandle, [{0,Last},{7,First}]), + file:close(FileHandle), + {ok, Final} = file:read_file(File), + {{initial,Initial}, + {b1,B1}, + {first,First}, {last,Last}, {final,Final}}. diff --git a/programming-erlang-code/counter.erl b/programming-erlang-code/counter.erl new file mode 100644 index 0000000..3cafc02 --- /dev/null +++ b/programming-erlang-code/counter.erl @@ -0,0 +1,13 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(counter). +-export([bump/2, read/1]). + +bump(N, {counter,K}) -> {counter, N + K}. +read({counter, N}) -> N. diff --git a/programming-erlang-code/counter1.erl b/programming-erlang-code/counter1.erl new file mode 100644 index 0000000..62fe2dd --- /dev/null +++ b/programming-erlang-code/counter1.erl @@ -0,0 +1,32 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(counter1). +-export([start/0, counter/1]). + +start() -> + register(counter1, + spawn(fun() -> + io:format("Hello I'm a counter:~p~n",[self()]), + counter(0) + end)). + +counter(N) -> + receive + bump -> + io:format("info=~p~n",[process_info(self())]), + counter(N+1); + display -> + io:format("Counter ~p count=~p~n", [self(), N]), + counter(N); + die -> + io:format("I'm going to die:~p~n",[self()]), + 1/0, + counter(N) + end. + diff --git a/programming-erlang-code/counter2.erl b/programming-erlang-code/counter2.erl new file mode 100644 index 0000000..789dffe --- /dev/null +++ b/programming-erlang-code/counter2.erl @@ -0,0 +1,31 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(counter2). +-export([start/0, read/1]). + +start() -> spawn(fun() -> counter(0) end). %% (1) + +read(Pid) -> %% (2) + Pid ! {self(), read}, + receive + {Pid, N} -> + N + end. + +counter(N) -> + receive + bump -> + counter(N+1); + {From, read} -> %% (3) + From ! {self(), N}, + counter(N); + stop -> + true + end. + diff --git a/programming-erlang-code/counter3.erl b/programming-erlang-code/counter3.erl new file mode 100644 index 0000000..fcd0dfd --- /dev/null +++ b/programming-erlang-code/counter3.erl @@ -0,0 +1,38 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(counter3). + +-export([start/0, bump/1, read/1]). + +start() -> spawn(fun() -> counter(0) end). %% (1) + +bump(Pid) -> Pid ! bump. %% (2) + + +read(Pid) -> + Pid ! {self(), read}, + receive + {Pid, N} -> + N + after + 1000 -> + noreply + end. + +counter(N) -> + receive + bump -> + counter(N+1); + {From, read} -> %% (3) + From ! {self(), N}, %% (4) + counter(N); + stop -> + true + end. + diff --git a/programming-erlang-code/counter4.erl b/programming-erlang-code/counter4.erl new file mode 100644 index 0000000..7cd6f14 --- /dev/null +++ b/programming-erlang-code/counter4.erl @@ -0,0 +1,23 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(counter4). +-export([start/0]). + +start() -> lib_misc:spawn_monitor(counter, true, fun() -> counter(0) end). + +counter(N) -> + receive + bump -> + counter(N+1); + display -> + io:format("Count=~p~n", [N]), + counter(N); + stop -> + true + end. diff --git a/programming-erlang-code/cowboy/Makefile b/programming-erlang-code/cowboy/Makefile new file mode 100644 index 0000000..762aa5c --- /dev/null +++ b/programming-erlang-code/cowboy/Makefile @@ -0,0 +1,13 @@ +all: beam + erl -s cgi_web_server start + +## the next line starts the server om port 5000 + +batch_start: beam + erl -s cgi_web_server start_from_shell 5000 + +beam: + erlc *.erl + +clean: + rm -rf *~ *.beam *.tmp diff --git a/programming-erlang-code/cowboy/cgi_web_server.erl b/programming-erlang-code/cowboy/cgi_web_server.erl new file mode 100644 index 0000000..0a08990 --- /dev/null +++ b/programming-erlang-code/cowboy/cgi_web_server.erl @@ -0,0 +1,70 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(cgi_web_server). +-compile(export_all). + +start() -> + start(12345). + +start_from_shell([PortAsAtom]) -> + PortAsInt = list_to_integer(atom_to_list(PortAsAtom)), + start(PortAsInt). +%% + +start(Port) -> + ok = application:start(crypto), + ok = application:start(ranch), + ok = application:start(cowboy), + N_acceptors = 100, + Dispatch = cowboy_router:compile( + [ + %% {URIHost, list({URIPath, Handler, Opts})} + {'_', [{'_', cgi_web_server, []}]} + ]), + cowboy:start_http(cgi_web_server, + N_acceptors, + [{port, Port}], + [{env, [{dispatch, Dispatch}]}] + ). + +init({tcp, http}, Req, _Opts) -> + {ok, Req, undefined}. + +handle(Req, State) -> + {Path, Req1} = cowboy_req:path(Req), + handle1(Path, Req1, State). +handle1(<<"/cgi">>, Req, State) -> + {Args, Req1} = cowboy_req:qs_vals(Req), + {ok, Bin, Req2} = cowboy_req:body(Req1), + Val = mochijson2:decode(Bin), + Response = call(Args, Val), + Json = mochijson2:encode(Response), + {ok, Req3} = cowboy_req:reply(200, [], Json, Req2), + {ok, Req3, State}; +handle1(Path, Req, State) -> + Response = read_file(Path), + {ok, Req1} = cowboy_req:reply(200, [], Response, Req), + {ok, Req1, State}. + +terminate(_Reason, _Req, _State) -> + ok. + +call([{<<"mod">>,MB},{<<"func">>,FB}], X) -> + Mod = list_to_atom(binary_to_list(MB)), + Func = list_to_atom(binary_to_list(FB)), + apply(Mod, Func, [X]). + +read_file(Path) -> + File = [$.|binary_to_list(Path)], + case file:read_file(File) of + {ok, Bin} -> Bin; + _ -> ["

cannot read:", File, "
"] + end. + + diff --git a/programming-erlang-code/cowboy/echo.erl b/programming-erlang-code/cowboy/echo.erl new file mode 100644 index 0000000..cbbbe6f --- /dev/null +++ b/programming-erlang-code/cowboy/echo.erl @@ -0,0 +1,14 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(echo). +-export([me/1]). + +me(X) -> + io:format("echo:~p~n",[X]), + X. diff --git a/programming-erlang-code/cowboy/mochijson2.erl b/programming-erlang-code/cowboy/mochijson2.erl new file mode 100644 index 0000000..fbac4d4 --- /dev/null +++ b/programming-erlang-code/cowboy/mochijson2.erl @@ -0,0 +1,897 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +%% @author Bob Ippolito +%% @copyright 2007 Mochi Media, Inc. + +%% @doc Yet another JSON (RFC 4627) library for Erlang. mochijson2 works +%% with binaries as strings, arrays as lists (without an {array, _}) +%% wrapper and it only knows how to decode UTF-8 (and ASCII). +%% +%% JSON terms are decoded as follows (javascript -> erlang): +%%
    +%%
  • {"key": "value"} -> +%% {struct, [{<<"key">>, <<"value">>}]}
  • +%%
  • ["array", 123, 12.34, true, false, null] -> +%% [<<"array">>, 123, 12.34, true, false, null] +%%
  • +%%
+%%
    +%%
  • Strings in JSON decode to UTF-8 binaries in Erlang
  • +%%
  • Objects decode to {struct, PropList}
  • +%%
  • Numbers decode to integer or float
  • +%%
  • true, false, null decode to their respective terms.
  • +%%
+%% The encoder will accept the same format that the decoder will produce, +%% but will also allow additional cases for leniency: +%%
    +%%
  • atoms other than true, false, null will be considered UTF-8 +%% strings (even as a proplist key) +%%
  • +%%
  • {json, IoList} will insert IoList directly into the output +%% with no validation +%%
  • +%%
  • {array, Array} will be encoded as Array +%% (legacy mochijson style) +%%
  • +%%
  • A non-empty raw proplist will be encoded as an object as long +%% as the first pair does not have an atom key of json, struct, +%% or array +%%
  • +%%
+ +-module(mochijson2). +-author('bob@mochimedia.com'). +-export([encoder/1, encode/1]). +-export([decoder/1, decode/1, decode/2]). + +%% This is a macro to placate syntax highlighters.. +-define(Q, $\"). +-define(ADV_COL(S, N), S#decoder{offset=N+S#decoder.offset, + column=N+S#decoder.column}). +-define(INC_COL(S), S#decoder{offset=1+S#decoder.offset, + column=1+S#decoder.column}). +-define(INC_LINE(S), S#decoder{offset=1+S#decoder.offset, + column=1, + line=1+S#decoder.line}). +-define(INC_CHAR(S, C), + case C of + $\n -> + S#decoder{column=1, + line=1+S#decoder.line, + offset=1+S#decoder.offset}; + _ -> + S#decoder{column=1+S#decoder.column, + offset=1+S#decoder.offset} + end). +-define(IS_WHITESPACE(C), + (C =:= $\s orelse C =:= $\t orelse C =:= $\r orelse C =:= $\n)). + +%% @type json_string() = atom | binary() +%% @type json_number() = integer() | float() +%% @type json_array() = [json_term()] +%% @type json_object() = {struct, [{json_string(), json_term()}]} +%% @type json_eep18_object() = {[{json_string(), json_term()}]} +%% @type json_iolist() = {json, iolist()} +%% @type json_term() = json_string() | json_number() | json_array() | +%% json_object() | json_eep18_object() | json_iolist() + +-record(encoder, {handler=null, + utf8=false}). + +-record(decoder, {object_hook=null, + offset=0, + line=1, + column=1, + state=null}). + +%% @spec encoder([encoder_option()]) -> function() +%% @doc Create an encoder/1 with the given options. +%% @type encoder_option() = handler_option() | utf8_option() +%% @type utf8_option() = boolean(). Emit unicode as utf8 (default - false) +encoder(Options) -> + State = parse_encoder_options(Options, #encoder{}), + fun (O) -> json_encode(O, State) end. + +%% @spec encode(json_term()) -> iolist() +%% @doc Encode the given as JSON to an iolist. +encode(Any) -> + json_encode(Any, #encoder{}). + +%% @spec decoder([decoder_option()]) -> function() +%% @doc Create a decoder/1 with the given options. +decoder(Options) -> + State = parse_decoder_options(Options, #decoder{}), + fun (O) -> json_decode(O, State) end. + +%% @spec decode(iolist(), [{format, proplist | eep18 | struct}]) -> json_term() +%% @doc Decode the given iolist to Erlang terms using the given object format +%% for decoding, where proplist returns JSON objects as [{binary(), json_term()}] +%% proplists, eep18 returns JSON objects as {[binary(), json_term()]}, and struct +%% returns them as-is. +decode(S, Options) -> + json_decode(S, parse_decoder_options(Options, #decoder{})). + +%% @spec decode(iolist()) -> json_term() +%% @doc Decode the given iolist to Erlang terms. +decode(S) -> + json_decode(S, #decoder{}). + +%% Internal API + +parse_encoder_options([], State) -> + State; +parse_encoder_options([{handler, Handler} | Rest], State) -> + parse_encoder_options(Rest, State#encoder{handler=Handler}); +parse_encoder_options([{utf8, Switch} | Rest], State) -> + parse_encoder_options(Rest, State#encoder{utf8=Switch}). + +parse_decoder_options([], State) -> + State; +parse_decoder_options([{object_hook, Hook} | Rest], State) -> + parse_decoder_options(Rest, State#decoder{object_hook=Hook}); +parse_decoder_options([{format, Format} | Rest], State) + when Format =:= struct orelse Format =:= eep18 orelse Format =:= proplist -> + parse_decoder_options(Rest, State#decoder{object_hook=Format}). + +json_encode(true, _State) -> + <<"true">>; +json_encode(false, _State) -> + <<"false">>; +json_encode(null, _State) -> + <<"null">>; +json_encode(I, _State) when is_integer(I) -> + integer_to_list(I); +json_encode(F, _State) when is_float(F) -> + mochinum:digits(F); +json_encode(S, State) when is_binary(S); is_atom(S) -> + json_encode_string(S, State); +json_encode([{K, _}|_] = Props, State) when (K =/= struct andalso + K =/= array andalso + K =/= json) -> + json_encode_proplist(Props, State); +json_encode({struct, Props}, State) when is_list(Props) -> + json_encode_proplist(Props, State); +json_encode({Props}, State) when is_list(Props) -> + json_encode_proplist(Props, State); +json_encode({}, State) -> + json_encode_proplist([], State); +json_encode(Array, State) when is_list(Array) -> + json_encode_array(Array, State); +json_encode({array, Array}, State) when is_list(Array) -> + json_encode_array(Array, State); +json_encode({json, IoList}, _State) -> + IoList; +json_encode(Bad, #encoder{handler=null}) -> + exit({json_encode, {bad_term, Bad}}); +json_encode(Bad, State=#encoder{handler=Handler}) -> + json_encode(Handler(Bad), State). + +json_encode_array([], _State) -> + <<"[]">>; +json_encode_array(L, State) -> + F = fun (O, Acc) -> + [$,, json_encode(O, State) | Acc] + end, + [$, | Acc1] = lists:foldl(F, "[", L), + lists:reverse([$\] | Acc1]). + +json_encode_proplist([], _State) -> + <<"{}">>; +json_encode_proplist(Props, State) -> + F = fun ({K, V}, Acc) -> + KS = json_encode_string(K, State), + VS = json_encode(V, State), + [$,, VS, $:, KS | Acc] + end, + [$, | Acc1] = lists:foldl(F, "{", Props), + lists:reverse([$\} | Acc1]). + +json_encode_string(A, State) when is_atom(A) -> + L = atom_to_list(A), + case json_string_is_safe(L) of + true -> + [?Q, L, ?Q]; + false -> + json_encode_string_unicode(xmerl_ucs:from_utf8(L), State, [?Q]) + end; +json_encode_string(B, State) when is_binary(B) -> + case json_bin_is_safe(B) of + true -> + [?Q, B, ?Q]; + false -> + json_encode_string_unicode(xmerl_ucs:from_utf8(B), State, [?Q]) + end; +json_encode_string(I, _State) when is_integer(I) -> + [?Q, integer_to_list(I), ?Q]; +json_encode_string(L, State) when is_list(L) -> + case json_string_is_safe(L) of + true -> + [?Q, L, ?Q]; + false -> + json_encode_string_unicode(L, State, [?Q]) + end. + +json_string_is_safe([]) -> + true; +json_string_is_safe([C | Rest]) -> + case C of + ?Q -> + false; + $\\ -> + false; + $\b -> + false; + $\f -> + false; + $\n -> + false; + $\r -> + false; + $\t -> + false; + C when C >= 0, C < $\s; C >= 16#7f, C =< 16#10FFFF -> + false; + C when C < 16#7f -> + json_string_is_safe(Rest); + _ -> + false + end. + +json_bin_is_safe(<<>>) -> + true; +json_bin_is_safe(<>) -> + case C of + ?Q -> + false; + $\\ -> + false; + $\b -> + false; + $\f -> + false; + $\n -> + false; + $\r -> + false; + $\t -> + false; + C when C >= 0, C < $\s; C >= 16#7f -> + false; + C when C < 16#7f -> + json_bin_is_safe(Rest) + end. + +json_encode_string_unicode([], _State, Acc) -> + lists:reverse([$\" | Acc]); +json_encode_string_unicode([C | Cs], State, Acc) -> + Acc1 = case C of + ?Q -> + [?Q, $\\ | Acc]; + %% Escaping solidus is only useful when trying to protect + %% against "" injection attacks which are only + %% possible when JSON is inserted into a HTML document + %% in-line. mochijson2 does not protect you from this, so + %% if you do insert directly into HTML then you need to + %% uncomment the following case or escape the output of encode. + %% + %% $/ -> + %% [$/, $\\ | Acc]; + %% + $\\ -> + [$\\, $\\ | Acc]; + $\b -> + [$b, $\\ | Acc]; + $\f -> + [$f, $\\ | Acc]; + $\n -> + [$n, $\\ | Acc]; + $\r -> + [$r, $\\ | Acc]; + $\t -> + [$t, $\\ | Acc]; + C when C >= 0, C < $\s -> + [unihex(C) | Acc]; + C when C >= 16#7f, C =< 16#10FFFF, State#encoder.utf8 -> + [xmerl_ucs:to_utf8(C) | Acc]; + C when C >= 16#7f, C =< 16#10FFFF, not State#encoder.utf8 -> + [unihex(C) | Acc]; + C when C < 16#7f -> + [C | Acc]; + _ -> + exit({json_encode, {bad_char, C}}) + end, + json_encode_string_unicode(Cs, State, Acc1). + +hexdigit(C) when C >= 0, C =< 9 -> + C + $0; +hexdigit(C) when C =< 15 -> + C + $a - 10. + +unihex(C) when C < 16#10000 -> + <> = <>, + Digits = [hexdigit(D) || D <- [D3, D2, D1, D0]], + [$\\, $u | Digits]; +unihex(C) when C =< 16#10FFFF -> + N = C - 16#10000, + S1 = 16#d800 bor ((N bsr 10) band 16#3ff), + S2 = 16#dc00 bor (N band 16#3ff), + [unihex(S1), unihex(S2)]. + +json_decode(L, S) when is_list(L) -> + json_decode(iolist_to_binary(L), S); +json_decode(B, S) -> + {Res, S1} = decode1(B, S), + {eof, _} = tokenize(B, S1#decoder{state=trim}), + Res. + +decode1(B, S=#decoder{state=null}) -> + case tokenize(B, S#decoder{state=any}) of + {{const, C}, S1} -> + {C, S1}; + {start_array, S1} -> + decode_array(B, S1); + {start_object, S1} -> + decode_object(B, S1) + end. + +make_object(V, #decoder{object_hook=N}) when N =:= null orelse N =:= struct -> + V; +make_object({struct, P}, #decoder{object_hook=eep18}) -> + {P}; +make_object({struct, P}, #decoder{object_hook=proplist}) -> + P; +make_object(V, #decoder{object_hook=Hook}) -> + Hook(V). + +decode_object(B, S) -> + decode_object(B, S#decoder{state=key}, []). + +decode_object(B, S=#decoder{state=key}, Acc) -> + case tokenize(B, S) of + {end_object, S1} -> + V = make_object({struct, lists:reverse(Acc)}, S1), + {V, S1#decoder{state=null}}; + {{const, K}, S1} -> + {colon, S2} = tokenize(B, S1), + {V, S3} = decode1(B, S2#decoder{state=null}), + decode_object(B, S3#decoder{state=comma}, [{K, V} | Acc]) + end; +decode_object(B, S=#decoder{state=comma}, Acc) -> + case tokenize(B, S) of + {end_object, S1} -> + V = make_object({struct, lists:reverse(Acc)}, S1), + {V, S1#decoder{state=null}}; + {comma, S1} -> + decode_object(B, S1#decoder{state=key}, Acc) + end. + +decode_array(B, S) -> + decode_array(B, S#decoder{state=any}, []). + +decode_array(B, S=#decoder{state=any}, Acc) -> + case tokenize(B, S) of + {end_array, S1} -> + {lists:reverse(Acc), S1#decoder{state=null}}; + {start_array, S1} -> + {Array, S2} = decode_array(B, S1), + decode_array(B, S2#decoder{state=comma}, [Array | Acc]); + {start_object, S1} -> + {Array, S2} = decode_object(B, S1), + decode_array(B, S2#decoder{state=comma}, [Array | Acc]); + {{const, Const}, S1} -> + decode_array(B, S1#decoder{state=comma}, [Const | Acc]) + end; +decode_array(B, S=#decoder{state=comma}, Acc) -> + case tokenize(B, S) of + {end_array, S1} -> + {lists:reverse(Acc), S1#decoder{state=null}}; + {comma, S1} -> + decode_array(B, S1#decoder{state=any}, Acc) + end. + +tokenize_string(B, S=#decoder{offset=O}) -> + case tokenize_string_fast(B, O) of + {escape, O1} -> + Length = O1 - O, + S1 = ?ADV_COL(S, Length), + <<_:O/binary, Head:Length/binary, _/binary>> = B, + tokenize_string(B, S1, lists:reverse(binary_to_list(Head))); + O1 -> + Length = O1 - O, + <<_:O/binary, String:Length/binary, ?Q, _/binary>> = B, + {{const, String}, ?ADV_COL(S, Length + 1)} + end. + +tokenize_string_fast(B, O) -> + case B of + <<_:O/binary, ?Q, _/binary>> -> + O; + <<_:O/binary, $\\, _/binary>> -> + {escape, O}; + <<_:O/binary, C1, _/binary>> when C1 < 128 -> + tokenize_string_fast(B, 1 + O); + <<_:O/binary, C1, C2, _/binary>> when C1 >= 194, C1 =< 223, + C2 >= 128, C2 =< 191 -> + tokenize_string_fast(B, 2 + O); + <<_:O/binary, C1, C2, C3, _/binary>> when C1 >= 224, C1 =< 239, + C2 >= 128, C2 =< 191, + C3 >= 128, C3 =< 191 -> + tokenize_string_fast(B, 3 + O); + <<_:O/binary, C1, C2, C3, C4, _/binary>> when C1 >= 240, C1 =< 244, + C2 >= 128, C2 =< 191, + C3 >= 128, C3 =< 191, + C4 >= 128, C4 =< 191 -> + tokenize_string_fast(B, 4 + O); + _ -> + throw(invalid_utf8) + end. + +tokenize_string(B, S=#decoder{offset=O}, Acc) -> + case B of + <<_:O/binary, ?Q, _/binary>> -> + {{const, iolist_to_binary(lists:reverse(Acc))}, ?INC_COL(S)}; + <<_:O/binary, "\\\"", _/binary>> -> + tokenize_string(B, ?ADV_COL(S, 2), [$\" | Acc]); + <<_:O/binary, "\\\\", _/binary>> -> + tokenize_string(B, ?ADV_COL(S, 2), [$\\ | Acc]); + <<_:O/binary, "\\/", _/binary>> -> + tokenize_string(B, ?ADV_COL(S, 2), [$/ | Acc]); + <<_:O/binary, "\\b", _/binary>> -> + tokenize_string(B, ?ADV_COL(S, 2), [$\b | Acc]); + <<_:O/binary, "\\f", _/binary>> -> + tokenize_string(B, ?ADV_COL(S, 2), [$\f | Acc]); + <<_:O/binary, "\\n", _/binary>> -> + tokenize_string(B, ?ADV_COL(S, 2), [$\n | Acc]); + <<_:O/binary, "\\r", _/binary>> -> + tokenize_string(B, ?ADV_COL(S, 2), [$\r | Acc]); + <<_:O/binary, "\\t", _/binary>> -> + tokenize_string(B, ?ADV_COL(S, 2), [$\t | Acc]); + <<_:O/binary, "\\u", C3, C2, C1, C0, Rest/binary>> -> + C = erlang:list_to_integer([C3, C2, C1, C0], 16), + if C > 16#D7FF, C < 16#DC00 -> + %% coalesce UTF-16 surrogate pair + <<"\\u", D3, D2, D1, D0, _/binary>> = Rest, + D = erlang:list_to_integer([D3,D2,D1,D0], 16), + [CodePoint] = xmerl_ucs:from_utf16be(<>), + Acc1 = lists:reverse(xmerl_ucs:to_utf8(CodePoint), Acc), + tokenize_string(B, ?ADV_COL(S, 12), Acc1); + true -> + Acc1 = lists:reverse(xmerl_ucs:to_utf8(C), Acc), + tokenize_string(B, ?ADV_COL(S, 6), Acc1) + end; + <<_:O/binary, C1, _/binary>> when C1 < 128 -> + tokenize_string(B, ?INC_CHAR(S, C1), [C1 | Acc]); + <<_:O/binary, C1, C2, _/binary>> when C1 >= 194, C1 =< 223, + C2 >= 128, C2 =< 191 -> + tokenize_string(B, ?ADV_COL(S, 2), [C2, C1 | Acc]); + <<_:O/binary, C1, C2, C3, _/binary>> when C1 >= 224, C1 =< 239, + C2 >= 128, C2 =< 191, + C3 >= 128, C3 =< 191 -> + tokenize_string(B, ?ADV_COL(S, 3), [C3, C2, C1 | Acc]); + <<_:O/binary, C1, C2, C3, C4, _/binary>> when C1 >= 240, C1 =< 244, + C2 >= 128, C2 =< 191, + C3 >= 128, C3 =< 191, + C4 >= 128, C4 =< 191 -> + tokenize_string(B, ?ADV_COL(S, 4), [C4, C3, C2, C1 | Acc]); + _ -> + throw(invalid_utf8) + end. + +tokenize_number(B, S) -> + case tokenize_number(B, sign, S, []) of + {{int, Int}, S1} -> + {{const, list_to_integer(Int)}, S1}; + {{float, Float}, S1} -> + {{const, list_to_float(Float)}, S1} + end. + +tokenize_number(B, sign, S=#decoder{offset=O}, []) -> + case B of + <<_:O/binary, $-, _/binary>> -> + tokenize_number(B, int, ?INC_COL(S), [$-]); + _ -> + tokenize_number(B, int, S, []) + end; +tokenize_number(B, int, S=#decoder{offset=O}, Acc) -> + case B of + <<_:O/binary, $0, _/binary>> -> + tokenize_number(B, frac, ?INC_COL(S), [$0 | Acc]); + <<_:O/binary, C, _/binary>> when C >= $1 andalso C =< $9 -> + tokenize_number(B, int1, ?INC_COL(S), [C | Acc]) + end; +tokenize_number(B, int1, S=#decoder{offset=O}, Acc) -> + case B of + <<_:O/binary, C, _/binary>> when C >= $0 andalso C =< $9 -> + tokenize_number(B, int1, ?INC_COL(S), [C | Acc]); + _ -> + tokenize_number(B, frac, S, Acc) + end; +tokenize_number(B, frac, S=#decoder{offset=O}, Acc) -> + case B of + <<_:O/binary, $., C, _/binary>> when C >= $0, C =< $9 -> + tokenize_number(B, frac1, ?ADV_COL(S, 2), [C, $. | Acc]); + <<_:O/binary, E, _/binary>> when E =:= $e orelse E =:= $E -> + tokenize_number(B, esign, ?INC_COL(S), [$e, $0, $. | Acc]); + _ -> + {{int, lists:reverse(Acc)}, S} + end; +tokenize_number(B, frac1, S=#decoder{offset=O}, Acc) -> + case B of + <<_:O/binary, C, _/binary>> when C >= $0 andalso C =< $9 -> + tokenize_number(B, frac1, ?INC_COL(S), [C | Acc]); + <<_:O/binary, E, _/binary>> when E =:= $e orelse E =:= $E -> + tokenize_number(B, esign, ?INC_COL(S), [$e | Acc]); + _ -> + {{float, lists:reverse(Acc)}, S} + end; +tokenize_number(B, esign, S=#decoder{offset=O}, Acc) -> + case B of + <<_:O/binary, C, _/binary>> when C =:= $- orelse C=:= $+ -> + tokenize_number(B, eint, ?INC_COL(S), [C | Acc]); + _ -> + tokenize_number(B, eint, S, Acc) + end; +tokenize_number(B, eint, S=#decoder{offset=O}, Acc) -> + case B of + <<_:O/binary, C, _/binary>> when C >= $0 andalso C =< $9 -> + tokenize_number(B, eint1, ?INC_COL(S), [C | Acc]) + end; +tokenize_number(B, eint1, S=#decoder{offset=O}, Acc) -> + case B of + <<_:O/binary, C, _/binary>> when C >= $0 andalso C =< $9 -> + tokenize_number(B, eint1, ?INC_COL(S), [C | Acc]); + _ -> + {{float, lists:reverse(Acc)}, S} + end. + +tokenize(B, S=#decoder{offset=O}) -> + case B of + <<_:O/binary, C, _/binary>> when ?IS_WHITESPACE(C) -> + tokenize(B, ?INC_CHAR(S, C)); + <<_:O/binary, "{", _/binary>> -> + {start_object, ?INC_COL(S)}; + <<_:O/binary, "}", _/binary>> -> + {end_object, ?INC_COL(S)}; + <<_:O/binary, "[", _/binary>> -> + {start_array, ?INC_COL(S)}; + <<_:O/binary, "]", _/binary>> -> + {end_array, ?INC_COL(S)}; + <<_:O/binary, ",", _/binary>> -> + {comma, ?INC_COL(S)}; + <<_:O/binary, ":", _/binary>> -> + {colon, ?INC_COL(S)}; + <<_:O/binary, "null", _/binary>> -> + {{const, null}, ?ADV_COL(S, 4)}; + <<_:O/binary, "true", _/binary>> -> + {{const, true}, ?ADV_COL(S, 4)}; + <<_:O/binary, "false", _/binary>> -> + {{const, false}, ?ADV_COL(S, 5)}; + <<_:O/binary, "\"", _/binary>> -> + tokenize_string(B, ?INC_COL(S)); + <<_:O/binary, C, _/binary>> when (C >= $0 andalso C =< $9) + orelse C =:= $- -> + tokenize_number(B, S); + <<_:O/binary>> -> + trim = S#decoder.state, + {eof, S} + end. +%% +%% Tests +%% +-ifdef(TEST). +-include_lib("eunit/include/eunit.hrl"). + + +%% testing constructs borrowed from the Yaws JSON implementation. + +%% Create an object from a list of Key/Value pairs. + +obj_new() -> + {struct, []}. + +is_obj({struct, Props}) -> + F = fun ({K, _}) when is_binary(K) -> true end, + lists:all(F, Props). + +obj_from_list(Props) -> + Obj = {struct, Props}, + ?assert(is_obj(Obj)), + Obj. + +%% Test for equivalence of Erlang terms. +%% Due to arbitrary order of construction, equivalent objects might +%% compare unequal as erlang terms, so we need to carefully recurse +%% through aggregates (tuples and objects). + +equiv({struct, Props1}, {struct, Props2}) -> + equiv_object(Props1, Props2); +equiv(L1, L2) when is_list(L1), is_list(L2) -> + equiv_list(L1, L2); +equiv(N1, N2) when is_number(N1), is_number(N2) -> N1 == N2; +equiv(B1, B2) when is_binary(B1), is_binary(B2) -> B1 == B2; +equiv(A, A) when A =:= true orelse A =:= false orelse A =:= null -> true. + +%% Object representation and traversal order is unknown. +%% Use the sledgehammer and sort property lists. + +equiv_object(Props1, Props2) -> + L1 = lists:keysort(1, Props1), + L2 = lists:keysort(1, Props2), + Pairs = lists:zip(L1, L2), + true = lists:all(fun({{K1, V1}, {K2, V2}}) -> + equiv(K1, K2) and equiv(V1, V2) + end, Pairs). + +%% Recursively compare tuple elements for equivalence. + +equiv_list([], []) -> + true; +equiv_list([V1 | L1], [V2 | L2]) -> + equiv(V1, V2) andalso equiv_list(L1, L2). + +decode_test() -> + [1199344435545.0, 1] = decode(<<"[1199344435545.0,1]">>), + <<16#F0,16#9D,16#9C,16#95>> = decode([34,"\\ud835","\\udf15",34]). + +e2j_vec_test() -> + test_one(e2j_test_vec(utf8), 1). + +test_one([], _N) -> + %% io:format("~p tests passed~n", [N-1]), + ok; +test_one([{E, J} | Rest], N) -> + %% io:format("[~p] ~p ~p~n", [N, E, J]), + true = equiv(E, decode(J)), + true = equiv(E, decode(encode(E))), + test_one(Rest, 1+N). + +e2j_test_vec(utf8) -> + [ + {1, "1"}, + {3.1416, "3.14160"}, %% text representation may truncate, trail zeroes + {-1, "-1"}, + {-3.1416, "-3.14160"}, + {12.0e10, "1.20000e+11"}, + {1.234E+10, "1.23400e+10"}, + {-1.234E-10, "-1.23400e-10"}, + {10.0, "1.0e+01"}, + {123.456, "1.23456E+2"}, + {10.0, "1e1"}, + {<<"foo">>, "\"foo\""}, + {<<"foo", 5, "bar">>, "\"foo\\u0005bar\""}, + {<<"">>, "\"\""}, + {<<"\n\n\n">>, "\"\\n\\n\\n\""}, + {<<"\" \b\f\r\n\t\"">>, "\"\\\" \\b\\f\\r\\n\\t\\\"\""}, + {obj_new(), "{}"}, + {obj_from_list([{<<"foo">>, <<"bar">>}]), "{\"foo\":\"bar\"}"}, + {obj_from_list([{<<"foo">>, <<"bar">>}, {<<"baz">>, 123}]), + "{\"foo\":\"bar\",\"baz\":123}"}, + {[], "[]"}, + {[[]], "[[]]"}, + {[1, <<"foo">>], "[1,\"foo\"]"}, + + %% json array in a json object + {obj_from_list([{<<"foo">>, [123]}]), + "{\"foo\":[123]}"}, + + %% json object in a json object + {obj_from_list([{<<"foo">>, obj_from_list([{<<"bar">>, true}])}]), + "{\"foo\":{\"bar\":true}}"}, + + %% fold evaluation order + {obj_from_list([{<<"foo">>, []}, + {<<"bar">>, obj_from_list([{<<"baz">>, true}])}, + {<<"alice">>, <<"bob">>}]), + "{\"foo\":[],\"bar\":{\"baz\":true},\"alice\":\"bob\"}"}, + + %% json object in a json array + {[-123, <<"foo">>, obj_from_list([{<<"bar">>, []}]), null], + "[-123,\"foo\",{\"bar\":[]},null]"} + ]. + +%% test utf8 encoding +encoder_utf8_test() -> + %% safe conversion case (default) + [34,"\\u0001","\\u0442","\\u0435","\\u0441","\\u0442",34] = + encode(<<1,"\321\202\320\265\321\201\321\202">>), + + %% raw utf8 output (optional) + Enc = mochijson2:encoder([{utf8, true}]), + [34,"\\u0001",[209,130],[208,181],[209,129],[209,130],34] = + Enc(<<1,"\321\202\320\265\321\201\321\202">>). + +input_validation_test() -> + Good = [ + {16#00A3, <>}, %% pound + {16#20AC, <>}, %% euro + {16#10196, <>} %% denarius + ], + lists:foreach(fun({CodePoint, UTF8}) -> + Expect = list_to_binary(xmerl_ucs:to_utf8(CodePoint)), + Expect = decode(UTF8) + end, Good), + + Bad = [ + %% 2nd, 3rd, or 4th byte of a multi-byte sequence w/o leading byte + <>, + %% missing continuations, last byte in each should be 80-BF + <>, + <>, + <>, + %% we don't support code points > 10FFFF per RFC 3629 + <>, + %% escape characters trigger a different code path + <> + ], + lists:foreach( + fun(X) -> + ok = try decode(X) catch invalid_utf8 -> ok end, + %% could be {ucs,{bad_utf8_character_code}} or + %% {json_encode,{bad_char,_}} + {'EXIT', _} = (catch encode(X)) + end, Bad). + +inline_json_test() -> + ?assertEqual(<<"\"iodata iodata\"">>, + iolist_to_binary( + encode({json, [<<"\"iodata">>, " iodata\""]}))), + ?assertEqual({struct, [{<<"key">>, <<"iodata iodata">>}]}, + decode( + encode({struct, + [{key, {json, [<<"\"iodata">>, " iodata\""]}}]}))), + ok. + +big_unicode_test() -> + UTF8Seq = list_to_binary(xmerl_ucs:to_utf8(16#0001d120)), + ?assertEqual( + <<"\"\\ud834\\udd20\"">>, + iolist_to_binary(encode(UTF8Seq))), + ?assertEqual( + UTF8Seq, + decode(iolist_to_binary(encode(UTF8Seq)))), + ok. + +custom_decoder_test() -> + ?assertEqual( + {struct, [{<<"key">>, <<"value">>}]}, + (decoder([]))("{\"key\": \"value\"}")), + F = fun ({struct, [{<<"key">>, <<"value">>}]}) -> win end, + ?assertEqual( + win, + (decoder([{object_hook, F}]))("{\"key\": \"value\"}")), + ok. + +atom_test() -> + %% JSON native atoms + [begin + ?assertEqual(A, decode(atom_to_list(A))), + ?assertEqual(iolist_to_binary(atom_to_list(A)), + iolist_to_binary(encode(A))) + end || A <- [true, false, null]], + %% Atom to string + ?assertEqual( + <<"\"foo\"">>, + iolist_to_binary(encode(foo))), + ?assertEqual( + <<"\"\\ud834\\udd20\"">>, + iolist_to_binary(encode(list_to_atom(xmerl_ucs:to_utf8(16#0001d120))))), + ok. + +key_encode_test() -> + %% Some forms are accepted as keys that would not be strings in other + %% cases + ?assertEqual( + <<"{\"foo\":1}">>, + iolist_to_binary(encode({struct, [{foo, 1}]}))), + ?assertEqual( + <<"{\"foo\":1}">>, + iolist_to_binary(encode({struct, [{<<"foo">>, 1}]}))), + ?assertEqual( + <<"{\"foo\":1}">>, + iolist_to_binary(encode({struct, [{"foo", 1}]}))), + ?assertEqual( + <<"{\"foo\":1}">>, + iolist_to_binary(encode([{foo, 1}]))), + ?assertEqual( + <<"{\"foo\":1}">>, + iolist_to_binary(encode([{<<"foo">>, 1}]))), + ?assertEqual( + <<"{\"foo\":1}">>, + iolist_to_binary(encode([{"foo", 1}]))), + ?assertEqual( + <<"{\"\\ud834\\udd20\":1}">>, + iolist_to_binary( + encode({struct, [{[16#0001d120], 1}]}))), + ?assertEqual( + <<"{\"1\":1}">>, + iolist_to_binary(encode({struct, [{1, 1}]}))), + ok. + +unsafe_chars_test() -> + Chars = "\"\\\b\f\n\r\t", + [begin + ?assertEqual(false, json_string_is_safe([C])), + ?assertEqual(false, json_bin_is_safe(<>)), + ?assertEqual(<>, decode(encode(<>))) + end || C <- Chars], + ?assertEqual( + false, + json_string_is_safe([16#0001d120])), + ?assertEqual( + false, + json_bin_is_safe(list_to_binary(xmerl_ucs:to_utf8(16#0001d120)))), + ?assertEqual( + [16#0001d120], + xmerl_ucs:from_utf8( + binary_to_list( + decode(encode(list_to_atom(xmerl_ucs:to_utf8(16#0001d120))))))), + ?assertEqual( + false, + json_string_is_safe([16#110000])), + ?assertEqual( + false, + json_bin_is_safe(list_to_binary(xmerl_ucs:to_utf8([16#110000])))), + %% solidus can be escaped but isn't unsafe by default + ?assertEqual( + <<"/">>, + decode(<<"\"\\/\"">>)), + ok. + +int_test() -> + ?assertEqual(0, decode("0")), + ?assertEqual(1, decode("1")), + ?assertEqual(11, decode("11")), + ok. + +large_int_test() -> + ?assertEqual(<<"-2147483649214748364921474836492147483649">>, + iolist_to_binary(encode(-2147483649214748364921474836492147483649))), + ?assertEqual(<<"2147483649214748364921474836492147483649">>, + iolist_to_binary(encode(2147483649214748364921474836492147483649))), + ok. + +float_test() -> + ?assertEqual(<<"-2147483649.0">>, iolist_to_binary(encode(-2147483649.0))), + ?assertEqual(<<"2147483648.0">>, iolist_to_binary(encode(2147483648.0))), + ok. + +handler_test() -> + ?assertEqual( + {'EXIT',{json_encode,{bad_term,{x,y}}}}, + catch encode({x,y})), + F = fun ({x,y}) -> [] end, + ?assertEqual( + <<"[]">>, + iolist_to_binary((encoder([{handler, F}]))({x, y}))), + ok. + +encode_empty_test_() -> + [{A, ?_assertEqual(<<"{}">>, iolist_to_binary(encode(B)))} + || {A, B} <- [{"eep18 {}", {}}, + {"eep18 {[]}", {[]}}, + {"{struct, []}", {struct, []}}]]. + +encode_test_() -> + P = [{<<"k">>, <<"v">>}], + JSON = iolist_to_binary(encode({struct, P})), + [{atom_to_list(F), + ?_assertEqual(JSON, iolist_to_binary(encode(decode(JSON, [{format, F}]))))} + || F <- [struct, eep18, proplist]]. + +format_test_() -> + P = [{<<"k">>, <<"v">>}], + JSON = iolist_to_binary(encode({struct, P})), + [{atom_to_list(F), + ?_assertEqual(A, decode(JSON, [{format, F}]))} + || {F, A} <- [{struct, {struct, P}}, + {eep18, {P}}, + {proplist, P}]]. + +-endif. diff --git a/programming-erlang-code/cowboy/simple_web_server.erl b/programming-erlang-code/cowboy/simple_web_server.erl new file mode 100644 index 0000000..04a5f58 --- /dev/null +++ b/programming-erlang-code/cowboy/simple_web_server.erl @@ -0,0 +1,47 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(simple_web_server). +-compile(export_all). + +start() -> + start(8877). + +start(Port) -> + ok = application:start(crypto), %%
+

Testing

+
    +
    +
    +./fibc abc
    +Usage fib 
    +> ./factorial abc
    +Usage factorial <Int>  
    +> ./fibc 20
    +fib 20 = 10946
    +
    +
    +
+ +The fibi script is as follows: +
    +
    +
    +#!/usr/bin/env escript
    +
    +%% Example of an interpreted script
    +
    +%% Usage:
    +%%   fib 
    +
    +-export([main/1]).
    +
    +main([X]) ->
    +    case (catch list_to_integer(X)) of
    +	{'EXIT', _} ->
    +	    usage();
    +	J ->
    +	    N = fib(J),
    +	    io:format("fib ~w = ~w~n",[J, N])
    +    end;
    +main(_) ->
    +    usage().
    +
    +usage() ->
    +    io:format("Usage fib ~n").
    +
    +fib(0) -> 1;
    +fib(1) -> 1;
    +fib(N) -> fib(N-1) + fib(N-2).
    +
    +
    +
    +
+ +

Compiled or Interpreted code?

+ +

The default mode of escript is to interpret the code. By adding +the attribute: +

    
    +-mode(compile).
    +
+ +

Will cause the code in the script to be compiled, instead of interpreted. +Note that for many scripts interpreting the code is much faster than compiling +the code. We can time the code as follows: + +


+$ time fibc 20
+fib 20 = 10946
+
+real    0m1.041s
+user    0m0.540s
+sys     0m0.280s
+
+
+ +

Here is a table comparing fibi (fibonacci interpreted) with +fibc (compiled): + + + + + + + +
EXpressiontime (secs)
fibi 200.93
fibc 201.041
fibc 301.36
fibi 3038.90
+ +

You have to decide for yourself which is faster.

+ +

Release Notes

+ +

The origonal version was writen by Joe Armstrong and Robert Virding +probably on 3 april 2001. + +

Up to version-3.0 needed a slightly hacked version of + erl_eval.erl. These changes are now integrated into the + official distribution. + + +

Bugs

+
    +
  • 8 years too late :-) +
  • Imports, exports macros and includes are not understood. +
  • The escaping in the the escript script works in +bash - but maybe not in sh. +
+ +

Versions

+
    +
  • escript-2.0 Added suggestion by Luke Gorrie on quoting + arguments. Added -mode(compile). +
  • escript-3.0 Added Fix by Bengt Kleberg (should be +#! /bin/sh not #!/bin/sh). +
+ + + + diff --git a/programming-erlang-code/escript-4.1/factorial b/programming-erlang-code/escript-4.1/factorial new file mode 100755 index 0000000..200e320 --- /dev/null +++ b/programming-erlang-code/escript-4.1/factorial @@ -0,0 +1,11 @@ +#!/usr/bin/env escript + +main([In]) -> + X = list_to_integer(In), + N = fac(X), + io:format("factorial ~w = ~w~n",[X, N]). + +fac(0) -> 1; +fac(N) -> + N * fac(N-1). + diff --git a/programming-erlang-code/escript-4.1/fibc b/programming-erlang-code/escript-4.1/fibc new file mode 100755 index 0000000..9d1b84b --- /dev/null +++ b/programming-erlang-code/escript-4.1/fibc @@ -0,0 +1,30 @@ +#!/usr/bin/env escript + +%% Example of a compiled script +%% The mode directive in the next line causes the script +%% to be compiled + +-mode(compile). + +%% Usage: +%% fib + +-export([main/1]). + +main([X]) -> + case (catch list_to_integer(X)) of + {'EXIT', _} -> + usage(); + J -> + N = fib(J), + io:format("fib ~w = ~w~n",[J, N]) + end; +main(_) -> + usage(). + +usage() -> + io:format("Usage fib ~n"). + +fib(0) -> 1; +fib(1) -> 1; +fib(N) -> fib(N-1) + fib(N-2). diff --git a/programming-erlang-code/escript-4.1/fibi b/programming-erlang-code/escript-4.1/fibi new file mode 100755 index 0000000..de5391d --- /dev/null +++ b/programming-erlang-code/escript-4.1/fibi @@ -0,0 +1,26 @@ +#!/usr/bin/env escript + +%% Example of an interpreted script + +%% Usage: +%% fib + +-export([main/1]). + +main([X]) -> + case (catch list_to_integer(X)) of + {'EXIT', _} -> + usage(); + J -> + N = fib(J), + io:format("fib ~w = ~w~n",[J, N]) + end; +main(_) -> + usage(). + +usage() -> + io:format("Usage fib ~n"). + +fib(0) -> 1; +fib(1) -> 1; +fib(N) -> fib(N-1) + fib(N-2). diff --git a/programming-erlang-code/escript-4.1/hello b/programming-erlang-code/escript-4.1/hello new file mode 100755 index 0000000..26fc7ee --- /dev/null +++ b/programming-erlang-code/escript-4.1/hello @@ -0,0 +1,4 @@ +#!/usr/bin/env escript + +main(_) -> + io:format("Hello world\n"). diff --git a/programming-erlang-code/escript-4.1/history b/programming-erlang-code/escript-4.1/history new file mode 100644 index 0000000..8d6dc29 --- /dev/null +++ b/programming-erlang-code/escript-4.1/history @@ -0,0 +1,139 @@ + 1) 3-april-2001 + + Joe Armstrong amd Robert Virding write escript. + + This is a pure erlang applications that allows erlang modules + to be used as scripts: + + Example: + + ./factorial 123 + factorial 123 = 1214630436702532967576624324188129585545 + 4217088483382315328918161829235892362167 + 6688311569606126402021707358352212940477 + 8259109157041165147218602951990626164673 + 0733907419814952960000000000000000000000 + 000000 + + The file factorial contains the following: + + #!/usr/bin/env escript + + %% + %% Usage: + %% factorial + + %% Example of an interpreted script + + -export([main/1]). + + main([X]) -> + case (catch list_to_integer(X)) of + {'EXIT', _} -> + usage(); + J -> + N = fac(J), + io:format("factorial ~w = ~w~n",[J, N]) + end; + main(_) -> + usage(). + + usage() -> + io:format("Usage factorial ~n"). + + fac(0) -> 1; + fac(N) -> + N * fac(N-1). + +2) Escript has a rather long startup time + + time ./factorial 1 + ... + real 0m0.745s + + So I investigated why. The reason has to do with code loading ... + +3) I wrote SAE - stand-alone Erlang to solve this + Then I implemented escript in SAE + + escript with SAE started very quickly (0.0N) seconds (ish) + +4) Integration of SAE with the standard release was pretty difficult + (lots of modules have to be changed) + +5) SAE never made it into the main release - but parts of it + found there way into the bootstrap compiler. + +6) escript ran for a while on SAE - but every new release + of Erlang required major effort to get it running again. + +7) Escript stops working on the latest version of the system, + because it now depends upon SAE which is broken. + + ... + +8) I stop using escript and forget about it. + +9) I start writing a book. <>. + +10) I want to describe loads of *useful* and little known tools. + +11) I want make sure that escript works. + +12) I google escript - since Iäve now *lost* the code + +13) Google finds escript on MY web site (holy cows) - irony yes. + + This is the old "pure-erlang" version "pre SAE" + +14) I compile this version + + It is broken. + + It depends opon a hacked version of erl_eval + this needs syncing with the latest version. + +15) I look at the latest version of erl_eval + + I find this comment: + + %% Is used by standalone Erlang (escript). + %% Also used by shell.erl. + -export([match_clause/4]). + + I suspect that erl_eval.erl is "up to date" with my hacked version, + I check - it is. + +16) I wonder. + + "is escript" in the *current* system? + +17) I check + + yes - it's in erts/boot/src/escript.erl + +18) Does it work? + + no + +19) I fix it + + It works + +20) Is it installed by default? + + No + +21) Is it documented + + No + +22) I fix it - fix the documentation + and post to the Erlang list + + +23) Decide to document escript in the Erlang book + which means it must go back into the standard distribution. + + +/Joe diff --git a/programming-erlang-code/escript-4.1/mk_escript.sh b/programming-erlang-code/escript-4.1/mk_escript.sh new file mode 100755 index 0000000..bfda359 --- /dev/null +++ b/programming-erlang-code/escript-4.1/mk_escript.sh @@ -0,0 +1,18 @@ +#! /bin/bash +#--- +# Excerpted from "Programming Erlang, Second Edition", +# published by The Pragmatic Bookshelf. +# Copyrights apply to this code. It may not be used to create training material, +# courses, books, articles, and the like. Contact us if you are in doubt. +# We make no guarantees that this code is fit for any purpose. +# Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +#--- +CWD=`pwd` +echo '#! /bin/bash' > escript +echo 'function escape() {' >> escript +echo ' for arg in $*; do echo \\${arg}; done' >> escript +echo '}' >> escript +echo 'args=`escape $*`' >> escript +echo 'erl -pa' $CWD '-boot start_clean -noshell -s escript start $0 $args' >> escript +chmod u+x escript + diff --git a/programming-erlang-code/ets_test.erl b/programming-erlang-code/ets_test.erl new file mode 100644 index 0000000..a5d8006 --- /dev/null +++ b/programming-erlang-code/ets_test.erl @@ -0,0 +1,24 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(ets_test). +-export([start/0]). + +start() -> + lists:foreach(fun test_ets/1, + [set, ordered_set, bag, duplicate_bag]). + +test_ets(Mode) -> + TableId = ets:new(test, [Mode]), + ets:insert(TableId, {a,1}), + ets:insert(TableId, {b,2}), + ets:insert(TableId, {a,1}), + ets:insert(TableId, {a,3}), + List = ets:tab2list(TableId), + io:format("~-13w => ~p~n", [Mode, List]), + ets:delete(TableId). diff --git a/programming-erlang-code/event_handler.erl b/programming-erlang-code/event_handler.erl new file mode 100644 index 0000000..92bb8ef --- /dev/null +++ b/programming-erlang-code/event_handler.erl @@ -0,0 +1,29 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(event_handler). +-export([make/1, add_handler/2, event/2]). +%% make a new event handler called Name +%% the handler function is no_op -- so we do nothing with the event +make(Name) -> + register(Name, spawn(fun() -> my_handler(fun no_op/1) end)). +add_handler(Name, Fun) -> Name ! {add, Fun}. + +%% generate an event +event(Name, X) -> Name ! {event, X}. + +my_handler(Fun) -> + receive + {add, Fun1} -> + my_handler(Fun1); + {event, Any} -> + (catch Fun(Any)), + my_handler(Fun) + end. +no_op(_) -> void. + diff --git a/programming-erlang-code/exprs.dat b/programming-erlang-code/exprs.dat new file mode 100644 index 0000000..4ac76d9 --- /dev/null +++ b/programming-erlang-code/exprs.dat @@ -0,0 +1,5 @@ +X=1+2. +5*4+10. +lists:reverse("esirprus esirprus"). +Hypot = fun(X,Y) -> math:sqrt(X*X + Y*Y) end. +Hypot(X,4). diff --git a/programming-erlang-code/extract.erl b/programming-erlang-code/extract.erl new file mode 100644 index 0000000..8bc7ece --- /dev/null +++ b/programming-erlang-code/extract.erl @@ -0,0 +1,27 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(extract). +-export([attribute/2]). + +attribute(File, Key) -> + case beam_lib:chunks(File,[attributes]) of + {ok, {_Module, [{attributes,L}]}} -> + case lookup(Key, L) of + {ok, Val} -> + Val; + error -> + exit(badAttribute) + end; + _ -> + exit(badFile) + end. + +lookup(Key, [{Key,Val}|_]) -> {ok, Val}; +lookup(Key, [_|T]) -> lookup(Key, T); +lookup(_, []) -> error. diff --git a/programming-erlang-code/fac.erl b/programming-erlang-code/fac.erl new file mode 100644 index 0000000..ee2cac9 --- /dev/null +++ b/programming-erlang-code/fac.erl @@ -0,0 +1,14 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(fac). +-export([fac/1]). + +fac(0) -> 1; +fac(N) -> N*fac(N-1). + diff --git a/programming-erlang-code/fac1.erl b/programming-erlang-code/fac1.erl new file mode 100644 index 0000000..da49a33 --- /dev/null +++ b/programming-erlang-code/fac1.erl @@ -0,0 +1,20 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(fac1). +-export([main/1]). + +main([A]) -> + I = list_to_integer(atom_to_list(A)), + F = fac(I), + io:format("factorial ~w = ~w~n",[I, F]), + init:stop(). + +fac(0) -> 1; +fac(N) -> N*fac(N-1). + diff --git a/programming-erlang-code/factorial b/programming-erlang-code/factorial new file mode 100755 index 0000000..afa0092 --- /dev/null +++ b/programming-erlang-code/factorial @@ -0,0 +1,9 @@ +#!/usr/bin/env escript +main([A]) -> + I = list_to_integer(A), + F = fac(I), + io:format("factorial ~w = ~w~n",[I, F]). + +fac(0) -> 1; +fac(N) -> + N * fac(N-1). diff --git a/programming-erlang-code/gathered.html b/programming-erlang-code/gathered.html new file mode 100644 index 0000000..71b69b0 --- /dev/null +++ b/programming-erlang-code/gathered.html @@ -0,0 +1,25 @@ + +

Urls

+ diff --git a/programming-erlang-code/gen_server_template.full b/programming-erlang-code/gen_server_template.full new file mode 100644 index 0000000..6834623 --- /dev/null +++ b/programming-erlang-code/gen_server_template.full @@ -0,0 +1,127 @@ +%%%------------------------------------------------------------------- +%%% @author some name +%%% @copyright (C) 2013, some name +%%% @doc +%%% +%%% @end +%%% Created : 26 May 2013 by some name +%%%------------------------------------------------------------------- +-module(). + +-behaviour(gen_server). + +%% API +-export([start_link/0]). + +%% gen_server callbacks +-export([init/1, handle_call/3, handle_cast/2, handle_info/2, + terminate/2, code_change/3]). + +-define(SERVER, ?MODULE). + +-record(state, {}). + +%%%=================================================================== +%%% API +%%%=================================================================== + +%%-------------------------------------------------------------------- +%% @doc +%% Starts the server +%% +%% @spec start_link() -> {ok, Pid} | ignore | {error, Error} +%% @end +%%-------------------------------------------------------------------- +start_link() -> + gen_server:start_link({local, ?SERVER}, ?MODULE, [], []). + +%%%=================================================================== +%%% gen_server callbacks +%%%=================================================================== + +%%-------------------------------------------------------------------- +%% @private +%% @doc +%% Initializes the server +%% +%% @spec init(Args) -> {ok, State} | +%% {ok, State, Timeout} | +%% ignore | +%% {stop, Reason} +%% @end +%%-------------------------------------------------------------------- +init([]) -> + {ok, #state{}}. + +%%-------------------------------------------------------------------- +%% @private +%% @doc +%% Handling call messages +%% +%% @spec handle_call(Request, From, State) -> +%% {reply, Reply, State} | +%% {reply, Reply, State, Timeout} | +%% {noreply, State} | +%% {noreply, State, Timeout} | +%% {stop, Reason, Reply, State} | +%% {stop, Reason, State} +%% @end +%%-------------------------------------------------------------------- +handle_call(_Request, _From, State) -> + Reply = ok, + {reply, Reply, State}. + +%%-------------------------------------------------------------------- +%% @private +%% @doc +%% Handling cast messages +%% +%% @spec handle_cast(Msg, State) -> {noreply, State} | +%% {noreply, State, Timeout} | +%% {stop, Reason, State} +%% @end +%%-------------------------------------------------------------------- +handle_cast(_Msg, State) -> + {noreply, State}. + +%%-------------------------------------------------------------------- +%% @private +%% @doc +%% Handling all non call/cast messages +%% +%% @spec handle_info(Info, State) -> {noreply, State} | +%% {noreply, State, Timeout} | +%% {stop, Reason, State} +%% @end +%%-------------------------------------------------------------------- +handle_info(_Info, State) -> + {noreply, State}. + +%%-------------------------------------------------------------------- +%% @private +%% @doc +%% This function is called by a gen_server when it is about to +%% terminate. It should be the opposite of Module:init/1 and do any +%% necessary cleaning up. When it returns, the gen_server terminates +%% with Reason. The return value is ignored. +%% +%% @spec terminate(Reason, State) -> void() +%% @end +%%-------------------------------------------------------------------- +terminate(_Reason, _State) -> + ok. + +%%-------------------------------------------------------------------- +%% @private +%% @doc +%% Convert process state when code is changed +%% +%% @spec code_change(OldVsn, State, Extra) -> {ok, NewState} +%% @end +%%-------------------------------------------------------------------- +code_change(_OldVsn, State, _Extra) -> + {ok, State}. + +%%%=================================================================== +%%% Internal functions +%%%=================================================================== diff --git a/programming-erlang-code/gen_server_template.mini b/programming-erlang-code/gen_server_template.mini new file mode 100644 index 0000000..52437dc --- /dev/null +++ b/programming-erlang-code/gen_server_template.mini @@ -0,0 +1,16 @@ +-module(). +%% gen_server_mini_template +-behaviour(gen_server). +-export([start_link/0]). +%% gen_server callbacks +-export([init/1, handle_call/3, handle_cast/2, handle_info/2, + terminate/2, code_change/3]). + +start_link() -> gen_server:start_link({local, ?SERVER}, ?MODULE, [], []). +init([]) -> {ok, State}. + +handle_call(_Request, _From, State) -> {reply, Reply, State}. +handle_cast(_Msg, State) -> {noreply, State}. +handle_info(_Info, State) -> {noreply, State}. +terminate(_Reason, _State) -> ok. +code_change(_OldVsn, State, Extra) -> {ok, State}. diff --git a/programming-erlang-code/geometry.erl b/programming-erlang-code/geometry.erl new file mode 100644 index 0000000..a0f47bf --- /dev/null +++ b/programming-erlang-code/geometry.erl @@ -0,0 +1,13 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(geometry). +-export([area/1]). + +area({rectangle, Width, Height}) -> Width * Height; +area({square, Side}) -> Side * Side. diff --git a/programming-erlang-code/geometry1.erl b/programming-erlang-code/geometry1.erl new file mode 100644 index 0000000..cb2869f --- /dev/null +++ b/programming-erlang-code/geometry1.erl @@ -0,0 +1,18 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(geometry1). +-export([test/0, area/1]). + +test() -> + 12 = area({rectangle, 3, 4}), + 144 = area({square, 12}), + tests_worked. + +area({rectangle, Width, Height}) -> Width * Height; +area({square, Side}) -> Side * Side. diff --git a/programming-erlang-code/hello b/programming-erlang-code/hello new file mode 100755 index 0000000..e54bf98 --- /dev/null +++ b/programming-erlang-code/hello @@ -0,0 +1,4 @@ +#!/usr/bin/env escript + +main(Args) -> + io:format("Hello ~p~n",[Args]). diff --git a/programming-erlang-code/hello.bat b/programming-erlang-code/hello.bat new file mode 100644 index 0000000..e5506f8 --- /dev/null +++ b/programming-erlang-code/hello.bat @@ -0,0 +1,9 @@ + +REM Excerpted from "Programming Erlang, Second Edition", +REM published by The Pragmatic Bookshelf. +REM Copyrights apply to this code. It may not be used to create training material, +REM courses, books, articles, and the like. Contact us if you are in doubt. +REM We make no guarantees that this code is fit for any purpose. +REM Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. + + "C:\Program Files\erl5.6.5\bin\erl.exe" -noshell -s hello start -s init stop diff --git a/programming-erlang-code/hello.erl b/programming-erlang-code/hello.erl new file mode 100644 index 0000000..6b6b7df --- /dev/null +++ b/programming-erlang-code/hello.erl @@ -0,0 +1,13 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(hello). +-export([start/0]). + +start() -> + io:format("Hello world~n"). diff --git a/programming-erlang-code/hello.sh b/programming-erlang-code/hello.sh new file mode 100644 index 0000000..24f07bd --- /dev/null +++ b/programming-erlang-code/hello.sh @@ -0,0 +1,12 @@ +#!/bin/sh +#--- +# Excerpted from "Programming Erlang, Second Edition", +# published by The Pragmatic Bookshelf. +# Copyrights apply to this code. It may not be used to create training material, +# courses, books, articles, and the like. Contact us if you are in doubt. +# We make no guarantees that this code is fit for any purpose. +# Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +#--- +erl -noshell -pa /home/joe/2012/book/JAERLANG/Book/code\ + -s hello start -s init stop + diff --git a/programming-erlang-code/id3_tag_lengths.erl b/programming-erlang-code/id3_tag_lengths.erl new file mode 100644 index 0000000..776628c --- /dev/null +++ b/programming-erlang-code/id3_tag_lengths.erl @@ -0,0 +1,104 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(id3_tag_lengths). + +%% Warning the code in this module uses a rather +%% crude way of finding the start and stiop pointers +%% into the music - for this reason it is not listed inm the book +%% anybody who finds out how to do this correctly is +%% welcome to tell the author how to do it. + +%% My strategy is rather rigid: +%% use mp3_sync:find_sync(Bin, 1) to find the sync +%% if this fails give up +%% check the last 128 bytes if it says TAG then ok +%% else give up +%% make a half hearted attemp to analyse the ID3 tags at the begging +%% if this differetn with the result of find_sync then beleive find sync +%% + +%% The entire point is that I must believe the resuts +%% {ok, Start, Stop} -- means the data is between Start..Stop ' +%% and that I can believe these numbers +-compile(export_all). +-import(lists, [foreach/2, map/2]). + +test() -> + Files = lib_find:files("/home/joe/music_keep", "/*.mp3", true), + map(fun(F) -> file(F) end, Files). + +file(File) -> + read_id3_tag(File). + +read_id3_tag(File) -> + case file:open(File, [read,binary,raw]) of + {ok, S} -> + Size = filelib:file_size(File), + Result = analyse(S, Size), + file:close(S), + Result; + _Error -> + error + end. + +analyse(S, Size) -> + case (catch analyse1(S, Size)) of + {'EXIT', _Why} -> + io:format("_Why=~p~n",[_Why]), + error; + StartStop -> + StartStop + end. + +analyse1(S, Size) -> + {ok, Bin} = file:pread(S, 0, 10000), + {ok, StartTrust} = mp3_sync:find_sync(Bin, 1), + {Type, StartUntrust} = parse_start_tag(Bin), + Stop = parse_end_tag(S, Size), + if + StartTrust == StartUntrust -> + true; + true -> + io:format("** error in header code: real=~p Type=~p Val=~p~n", + [StartTrust, Type, StartUntrust]) + end, + {StartTrust, Stop}. + + +parse_start_tag(<<$I,$D,$3,3,0,_Unsync:1,_Extended:1,_Experimental:1, + _:5,K:32,_/binary>>) -> + Tag = "ID3v2.3.0", + Size = syncsafe2int(K), + {Tag, Size+10}; +parse_start_tag(<<$I,$D,$3,4,0,_Unsync:1,_Extended:1,_Experimental:1, + Footer:1,_:4,K:32,_/binary>>) -> + Tag = "ID3v2.3.0", + Size = syncsafe2int(K), + Size1 = case Footer of + 1 -> 10 + Size; + 0 -> Size + end, + {Tag, Size1+1}; +parse_start_tag(<>) -> + io:format("strange start tag~p~n",[X]), + {error, 1}. + +parse_end_tag(S, Size) -> + {ok, B2} = file:pread(S, Size-128, 128), + parse_v1_tag(B2, Size). + +parse_v1_tag(<<$T,$A,$G,_/binary>>, Size) -> + Size - 128; +parse_v1_tag(_, Size) -> + Size. + +syncsafe2int(N) -> + <<_:1,N1:7,_:1,N2:7,_:1,N3:7,_:1,N4:7>> = <>, + <> = <<0:4,N1:7,N2:7,N3:7,N4:7>>, + I. diff --git a/programming-erlang-code/id3_v1.erl b/programming-erlang-code/id3_v1.erl new file mode 100644 index 0000000..ae23358 --- /dev/null +++ b/programming-erlang-code/id3_v1.erl @@ -0,0 +1,62 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(id3_v1). +-import(lists, [filter/2, map/2, reverse/1]). +-export([test/0, dir/1, read_id3_tag/1]). + +test() -> dir("/home/joe/music_keep"). + +dir(Dir) -> + Files = lib_find:files(Dir, "*.mp3", true), + L1 = map(fun(I) -> + {I, (catch read_id3_tag(I))} + end, Files), + %% L1 = [{File, Parse}] where Parse = error | [{Tag,Val}] + %% we now have to remove all the entries from L where + %% Parse = error. We can do this with a filter operation + L2 = filter(fun({_,error}) -> false; + (_) -> true + end, L1), + lib_misc:dump("mp3data", L2). + +read_id3_tag(File) -> + case file:open(File, [read,binary,raw]) of + {ok, S} -> + Size = filelib:file_size(File), + {ok, B2} = file:pread(S, Size-128, 128), + Result = parse_v1_tag(B2), + file:close(S), + Result; + _Error -> + error + end. +parse_v1_tag(<<$T,$A,$G, + Title:30/binary, Artist:30/binary, + Album:30/binary, _Year:4/binary, + _Comment:28/binary, 0:8,Track:8,_Genre:8>>) -> + {"ID3v1.1", + [{track,Track}, {title,trim(Title)}, + {artist,trim(Artist)}, {album, trim(Album)}]}; +parse_v1_tag(<<$T,$A,$G, + Title:30/binary, Artist:30/binary, + Album:30/binary, _Year:4/binary, + _Comment:30/binary,_Genre:8>>) -> + {"ID3v1", + [{title,trim(Title)}, + {artist,trim(Artist)}, {album, trim(Album)}]}; +parse_v1_tag(_) -> + error. + +trim(Bin) -> + list_to_binary(trim_blanks(binary_to_list(Bin))). +trim_blanks(X) -> reverse(skip_blanks_and_zero(reverse(X))). + +skip_blanks_and_zero([$\s|T]) -> skip_blanks_and_zero(T); +skip_blanks_and_zero([0|T]) -> skip_blanks_and_zero(T); +skip_blanks_and_zero(X) -> X. diff --git a/programming-erlang-code/indexer-1.1/.erlang b/programming-erlang-code/indexer-1.1/.erlang new file mode 100644 index 0000000..b1ad8c0 --- /dev/null +++ b/programming-erlang-code/indexer-1.1/.erlang @@ -0,0 +1,6 @@ +%% In this directory all .erlang does not set up any paths +%% this is so when I run Erlang in this directory I can be +%% sure that the only code that is loaded comes +%% from this directory and the standard libraries + +io:format("Using local paths !~n"). diff --git a/programming-erlang-code/indexer-1.1/Makefile b/programming-erlang-code/indexer-1.1/Makefile new file mode 100644 index 0000000..3dbe81e --- /dev/null +++ b/programming-erlang-code/indexer-1.1/Makefile @@ -0,0 +1,24 @@ +.SUFFIXES: .erl .beam .yrl + +.erl.beam: + erlc -W $< + +MODS = indexer_checkpoint indexer_filenames_dets indexer_porter\ + indexer_words indexer_dir_crawler indexer_server\ + indexer indexer_misc indexer_trigrams + +ERL = erl -boot start_clean + +compile: ${MODS:%=%.beam} trigramsS.tab + @echo "make clean - clean up" + +all: compile + +trigramsS.tab: ../354984si.ngl.gz indexer_trigrams.beam + @erl -noshell -boot start_clean -s indexer_trigrams make_tables\ + -s init stop + +clean: + rm -rf *.beam erl_crash.dump + rm -rf trigramsS.tab + diff --git a/programming-erlang-code/indexer-1.1/Readme b/programming-erlang-code/indexer-1.1/Readme new file mode 100644 index 0000000..6df5335 --- /dev/null +++ b/programming-erlang-code/indexer-1.1/Readme @@ -0,0 +1,6 @@ +%% This directory contains all the code for the +%% indexing program described in chapter +%% Of Programming Erlang +%% It makes use of one file outside the diectory +%% ../354984si.ngl.gz + diff --git a/programming-erlang-code/indexer-1.1/indexer.erl b/programming-erlang-code/indexer-1.1/indexer.erl new file mode 100644 index 0000000..cd281da --- /dev/null +++ b/programming-erlang-code/indexer-1.1/indexer.erl @@ -0,0 +1,87 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(indexer). +-export([start/0, stop/0, search/1, cold_start/0]). + +-import(lists, [map/2]). + +%% indexer:cold_start(). +%% indexer:start(). +%% indexer:stop(). +%% indexer:search(Str) -> [File] + +cold_start() -> + indexer_server:cold_start(output_dir(), dirs_to_index()). + +%% Note /home/joe/bigIndex Must be created first + +output_dir() -> "/home/joe/bigIndex". +dirs_to_index() -> ["/home/joe/pre2003/erl.supported"]. + +start() -> + indexer_server:start(output_dir()), + spawn_link(fun() -> worker() end). + +search(Str) -> + indexer_server:search(Str). + +stop() -> + io:format("Scheduling a stop~n"), + indexer_server:schedule_stop(). + +worker() -> + possibly_stop(), + case indexer_server:next_dir() of + {ok, Dir} -> + Files = indexer_misc:files_in_dir(Dir), + index_these_files(Files), + indexer_server:checkpoint(), + possibly_stop(), + sleep(10000), + worker(); + done -> + true + end. + +possibly_stop() -> + case indexer_server:should_i_stop() of + true -> + io:format("Stopping~n"), + indexer_server:stop(), + exit(stopped); + false -> + void + end. + +index_these_files(Files) -> + Ets = indexer_server:ets_table(), + OutDir = filename:join(indexer_server:outdir(), "index"), + F1 = fun(Pid, File) -> indexer_words:words_in_file(Pid, File, Ets) end, + F2 = fun(Key, Val, Acc) -> handle_result(Key, Val, OutDir, Acc) end, + indexer_misc:mapreduce(F1, F2, 0, Files). + +handle_result(Key, Vals, OutDir, Acc) -> + add_to_file(OutDir, Key, Vals), + Acc + 1. + +add_to_file(OutDir, Word, Is) -> + L1 = map(fun(I) -> <> end, Is), + OutFile = filename:join(OutDir, Word), + case file:open(OutFile, [write,binary,raw,append]) of + {ok, S} -> + file:pwrite(S, 0, L1), + file:close(S); + {error, E} -> + exit({ebadFileOp, OutFile, E}) + end. + +sleep(T) -> + receive + after T -> true + end. diff --git a/programming-erlang-code/indexer-1.1/indexer_checkpoint.erl b/programming-erlang-code/indexer-1.1/indexer_checkpoint.erl new file mode 100644 index 0000000..3b6b2ba --- /dev/null +++ b/programming-erlang-code/indexer-1.1/indexer_checkpoint.erl @@ -0,0 +1,74 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(indexer_checkpoint). + +-export([init/2, resume/1, checkpoint/2]). +-import(filelib, [is_file/1]). + +%%% init(Dir, Term) -> true. %% define a checkpoitn dirextory and term X +%% resume(Dir) -> {Check, X} %% Check is used in the *next* call to checkpoint +%% %% X is a term +%% checkpoint(Check, X) -> %% Set a new checkpoint +%% Check' + +init(Dir, X) -> + One = Dir ++ "/1.check", + Two = Dir ++ "/2.check", + case is_file(One) or is_file(Two) of + true -> + exit(eBadInit); + false -> + checkpoint({Dir, 1}, X), + checkpoint({Dir, 2}, X) + end. + +%% resume(Dir) -> {NextCheckPointFile, X} | error + +resume(Dir) -> + R1 = recover(Dir ++ "/1.check"), + R2 = recover(Dir ++ "/2.check"), + case {R1, R2} of + {error, error} -> error; + {error, _} -> {{Dir,1}, element(2, R2)}; + {_, error} -> {{Dir,2}, element(2, R1)}; + {{T1,X},{T2,_}} when T1 > T2 -> {{Dir,2}, X}; + {_,{_,X}} -> {{Dir,1}, X} + end. + +recover(File) -> + case file:read_file(File) of + {ok, Bin} when size(Bin) > 32 -> + {B1,B2} = split_binary(Bin, 16), + case bin_to_md5(B2) of + B1 -> + binary_to_term(B2); + _ -> + error + end; + _ -> + error + end. + +checkpoint({Dir, Next}, X) -> + File = Dir ++ "/" ++ integer_to_list(Next) ++ ".check", + Time = now(), + B = term_to_binary({Time, X}), + CheckSum = bin_to_md5(B), + ok = file:write_file(File, [CheckSum,B]), + {Dir, 3-Next}. + +bin_to_md5(Bin) -> + C1 = erlang:md5_init(), + C2 = erlang:md5_update(C1, Bin), + erlang:md5_final(C2). + + + + + diff --git a/programming-erlang-code/indexer-1.1/indexer_dir_crawler.erl b/programming-erlang-code/indexer-1.1/indexer_dir_crawler.erl new file mode 100644 index 0000000..76d5fc4 --- /dev/null +++ b/programming-erlang-code/indexer-1.1/indexer_dir_crawler.erl @@ -0,0 +1,52 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(indexer_dir_crawler). + +-export([start/1, next/1, test/0]). + +-import(lists, [foldl/3, suffix/2, sublist/3, map/2, filter/2, reverse/1]). +-import(indexer_lib, [is_type/3]). + +%% start([Dir]) -> Cont +%% next(Cont) -> {dir, Dir, Cont'} | done + +test() -> + loop(next(start(["/home/ejoearm/erl/progs/doc/docbuilder"]))). + +loop({dir, Dir, Cont}) -> + io:format("Dir=~p~n",[Dir]), + loop(next(Cont)); +loop(done) -> + io:format("done:~n"). + +start(L) -> + L. + +next([]) -> + done; +next([{Dir,[H1|T1]}|T2]) -> + FullDirName = Dir++"/" ++ H1, + next([FullDirName,{Dir,T1}|T2]); +next([{_,[]}|T]) -> + next(T); +next([Dir|T]) -> + case file:list_dir(Dir) of + {ok, Things} -> + Dirs = filter(fun(I) -> is_dir(I, Dir) end, Things), + More = case Dirs of + [] -> T; + _ -> [{Dir,Dirs}|T] + end, + {dir, Dir,More}; + {error, _} -> + next(T) + end. + +is_dir(I, Dir) -> + filelib:is_dir(filename:join(Dir, I)). diff --git a/programming-erlang-code/indexer-1.1/indexer_filenames_dets.erl b/programming-erlang-code/indexer-1.1/indexer_filenames_dets.erl new file mode 100644 index 0000000..aefa8bf --- /dev/null +++ b/programming-erlang-code/indexer-1.1/indexer_filenames_dets.erl @@ -0,0 +1,50 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(indexer_filenames_dets). +-export([open/1, close/0, test/0, filename2index/1, index2filename/1]). + +open(File) -> + io:format("dets opened:~p~n", [File]), + Bool = filelib:is_file(File), + case dets:open_file(?MODULE, [{file, File}]) of + {ok, ?MODULE} -> + case Bool of + true -> void; + false -> ok = dets:insert(?MODULE, {free,1}) + end, + true; + {error,_Reason} -> + io:format("cannot open dets table~n"), + exit(eDetsOpen) + end. + +close() -> dets:close(?MODULE). + +filename2index(FileName) when is_binary(FileName) -> + case dets:lookup(?MODULE, FileName) of + [] -> + [{_,Free}] = dets:lookup(?MODULE, free), + ok = dets:insert(?MODULE, + [{Free,FileName},{FileName,Free},{free,Free+1}]), + Free; + [{_,N}] -> + N + end. + +index2filename(Index) when is_integer(Index) -> + case dets:lookup(?MODULE, Index) of + [] -> error; + [{_,Bin}] -> Bin + end. + +test() -> + file:delete("./filenames.dets"), + open("./filenames.dets"), + F = lib_files_find:files(".", "*.erl", true), + lists:foreach(fun(I) -> filename2index(list_to_binary(I)) end, F). diff --git a/programming-erlang-code/indexer-1.1/indexer_misc.erl b/programming-erlang-code/indexer-1.1/indexer_misc.erl new file mode 100644 index 0000000..b7beb6b --- /dev/null +++ b/programming-erlang-code/indexer-1.1/indexer_misc.erl @@ -0,0 +1,155 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(indexer_misc). +-export([files_in_dir/1, foreach_word_in_file/3, foreach_word_in_string/3, + mapreduce/4, search/3]). +-import(lists, [filter/2, foreach/2, map/2, reverse/1]). + +%% evalute F(Word, Acc) -> Acc' for each word in the file File +foreach_word_in_file(File, F, Acc) -> + case file:read_file(File) of + {ok, Bin} -> foreach_word_in_string(binary_to_list(Bin), F, Acc); + _ -> void + end. + +foreach_word_in_string(Str, F, Acc) -> + case get_word(Str) of + no -> + Acc; + {Word, Str1} -> + Acc1 = F(Word, Acc), + foreach_word_in_string(Str1, F, Acc1) + end. + +isWordChar(X) when $A=< X, X=<$Z -> true; +isWordChar(X) when $0=< X, X=<$9 -> true; +isWordChar(X) when $a=< X, X=<$z -> true; +isWordChar(_) -> false. + +get_word([H|T]) -> + case isWordChar(H) of + true -> collect_word(T, [H]); + false -> get_word(T) + end; +get_word([]) -> + no. + +collect_word([H|T]=All, L) -> + case isWordChar(H) of + true -> collect_word(T, [H|L]); + false -> {reverse(L), All} + end; +collect_word([], L) -> + {reverse(L), []}. + +%%----- mapreduce + +%% F1(Pid, X) -> sends {Key,Val} messages to Pid +%% F2(Key, [Val], AccIn) -> AccOut + +mapreduce(F1, F2, Acc0, L) -> + S = self(), + Pid = spawn(fun() -> reduce(S, F1, F2, Acc0, L) end), + receive + {Pid, Result} -> + Result + end. + +reduce(Parent, F1, F2, Acc0, L) -> + process_flag(trap_exit, true), + ReducePid = self(), + %% Create the Map processes + %% One for each element X in L + foreach(fun(X) -> + spawn_link(fun() -> do_job(ReducePid, F1, X) end) + end, L), + N = length(L), + %% make a dictionary to store the Keys + Dict0 = dict:new(), + %% Wait for N Map processes to terminate + Dict1 = collect_replies(N, Dict0), + Acc = dict:fold(F2, Acc0, Dict1), + Parent ! {self(), Acc}. + +%% collect_replies(N, Dict) +%% collect and merge {Key, Value} messages from N processes. +%% When N processes have terminate return a dictionary +%% of {Key, [Value]} pairs +collect_replies(0, Dict) -> + Dict; +collect_replies(N, Dict) -> + receive + {Key, Val} -> + case dict:is_key(Key, Dict) of + true -> + Dict1 = dict:append(Key, Val, Dict), + collect_replies(N, Dict1); + false -> + Dict1 = dict:store(Key,[Val], Dict), + collect_replies(N, Dict1) + end; + {'EXIT', _, _Why} -> + collect_replies(N-1, Dict) + end. + +%% Call F(Pid, X) +%% F must send {Key, Value} messsages to Pid +%% and then terminate + +do_job(ReducePid, F, X) -> + F(ReducePid, X). + +files_in_dir(Dir) -> + case file:list_dir(Dir) of + {ok, Things} -> + Things1 = map(fun(I) -> filename:join(Dir, I) end, Things), + filter(fun filelib:is_regular/1, Things1); + {error, _} -> + [] + end. + +%% @spec search(string(), string(), etsTable() -> +%% none | tooMany | [filename::string()] + +search(Str, Dir, Ets) -> + %% find the keywords using the same algorithm as in the indexing phase + F1 = fun(Word, Acc) -> [Word|Acc] end, + Words = indexer_misc:foreach_word_in_string(Str, F1, []), + L1 = map(fun(I) -> indexer_words:process_word(I, Ets) end, Words), + Words1 = [W || {yes, W} <- L1], + Dir1 = filename:join(Dir, "index"), + Indices = map(fun(I) -> read_indices(Dir1, I) end, Words1), + %% Remove any empty lists and convert to sets + Sets = [sets:from_list(X) || X <- Indices, X =/= []], + case Sets of + [] -> + none; + _ -> + Unique = sets:intersection(Sets), + Indices1 = sets:to_list(Unique), + case length(Indices1) of + N when N > 100 -> + tooMany; + _ -> + map(fun indexer_filenames_dets:index2filename/1, Indices1) + end + end. + +read_indices(Dir, Word) -> + Name = filename:join(Dir, Word), + io:format("looking at:~p~n",[Name]), + case file:read_file(Name) of + {ok, Bin} -> + bin2indices(Bin); + _ -> + [] + end. + +bin2indices(<>) -> [I|bin2indices(B)]; +bin2indices(<<>>) -> []. diff --git a/programming-erlang-code/indexer-1.1/indexer_porter.erl b/programming-erlang-code/indexer-1.1/indexer_porter.erl new file mode 100644 index 0000000..fd4ec0c --- /dev/null +++ b/programming-erlang-code/indexer-1.1/indexer_porter.erl @@ -0,0 +1,372 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +%%% File : indexer_porter.erl +%%% Author : Hans Nilsson +%%% Purpose : Porter Stemming +%%% Created : 16 Nov 2004 + +-module(indexer_porter). + +%% This module is an Erlang implementation of the "Porter Stemming Algorithm". +%% +%% Stemming is the process of converting a word into its stem. This is needed +%% in text search algorithms. For instance all of +%% +%% CONNECT +%% CONNECTED +%% CONNECTING +%% CONNECTION +%% CONNECTIONS +%% +%% are converted into "connect". +%% +%% For the Porter Stemming, see +%% http://www.tartarus.org/~martin/PorterStemmer/index.html +%% +%% This implementation uses the fact that Erlang is best suited for operations +%% on heads of lists, while the algorithm operates only on tails of lists. +%% Therefore all endings and routines are transformed into there reversed +%% equivalence. By this, the speed is increased by a factor of at least two. +%% +%% For example, the rule +%% (m>0) ATIONAL -> ATE +%% is transformed into +%% (m>0) LANOITA -> ETA +%% +%% Otherwise the implementation follows the original specification rather +%% directly. + +-export([stem/1, test/0]). + +-export([tst/3]). % "Internal" export for apply/3 + +%%% API +%% @spec stem(In::string()) -> Out::string() +%% In: A word (case insensitive) +%% Out: The corresponding stem in lower case + +stem(Word) when length(Word) > 2 -> + W = lower_case(Word), + lists:reverse( + step_5( step_4( step_3( step_2( step_1(W) )))) + ); + +stem(ShortWord) -> + lists:reverse(lower_case(ShortWord)). + +%%%================================================================ +%%% Test routines + +test() -> + Ins = f("voc.txt"), + Outs = f("output.txt"), + NumWords = length(Ins), + {Time_us,NumErrors} = timer:tc(?MODULE,tst, [Ins,Outs,0]), + io:format("NumErrors = ~w\n" + " Time = ~w us\n" + " NumWords = ~w\n" + "Time/word = ~w us\n", + [NumErrors, Time_us, NumWords, Time_us/NumWords]). + +tst([In|Ins], [Out|Outs], N) -> + tst(Ins, Outs, + case stem(In) of + Out -> N; + Other -> io:format('**~w: ~s -> ~s. Expecting ~s\n', + [N, In,Other,Out]), + N+1 + end); +tst([], [], N) -> + N. + +f(F) -> + {ok,B} = file:read_file(F), + string:tokens(binary_to_list(B), "\n"). + +%%%================================================================ +%%% Debug macros + +%-define(dfmt(Fmt,Args), io:format(Fmt,Args)). +-define(dfmt(Fmt,Args), ok). + +-define(D, ?dfmt('', [?LINE])). +-define(Dstep(StepNum, WordIn, WordOutExpr), + begin + ?dfmt('Step ~w: In=~p (reversed: ~p) ', + [StepNum, lists:reverse(WordIn), WordIn]), + Out__ = (WordOutExpr), + ?dfmt(' Out=~p (reversed: ~p)\n', + [lists:reverse(Out__), Out__]), + Out__ + end). + +%%%================================================================ +%%% +%%% Local routines +%%% + +step_1(W) -> step_1c( step_1b( step_1a(W) )). + +%%%---------------------------------------------------------------- +step_1a(W) -> ?Dstep('1a', W, s_1a(W)). + +s_1a("s"++W) -> s_1a1(W); +s_1a(W) -> W. + +s_1a1("ess"++S) -> "ss"++S; +s_1a1("ei" ++S) -> "i"++S; +s_1a1("s" ++S) -> "ss"++S; +s_1a1(S) -> S. + +%%%---------------------------------------------------------------- +step_1b(W) -> ?Dstep('1b', W, s_1b(W)). + +s_1b(W="dee"++S) -> ?D, if_m_gt("ee"++S, W, S, 0); +s_1b(W="de"++S) -> + case '*v*'(S) of + true -> step_1b2(S); + false -> W + end; +s_1b(W="gni"++S) -> + case '*v*'(S) of + true -> step_1b2(S); + false -> W + end; +s_1b(W) -> + W. + + +step_1b2(W) -> ?Dstep('1b2', W, s_1b2(W)). + +s_1b2("ta"++S) -> "eta"++S; +s_1b2("lb"++S) -> "elb"++S; +s_1b2("zi"++S) -> "ezi"++S; +s_1b2(W=[C,C|S]) when C=/=$l, + C=/=$s, + C=/=$z -> + case '*d'(W) of + true -> [C|S]; + false -> s_1b2_2(W) + end; +s_1b2(W) -> + s_1b2_2(W). + + +s_1b2_2(W) -> + case (m(W)==1) and '*o'(W) of + true -> "e"++W; + false -> W + end. + +%%%---------------------------------------------------------------- +step_1c(W) -> ?Dstep('1c', W, s_1c(W)). + +s_1c("y"++Stem=W) -> + case '*v*'(Stem) of + true -> "i"++Stem; + false -> W + end; +s_1c(W) -> + W. + +%%%---------------------------------------------------------------- +step_2(W) -> ?Dstep(2, W, s_2(W)). + +%% The Porter paper suggests indexing on the penultimate letter (= our second) +%% but this gave no speedup, rather a bit slowdown. This is probably because +%% the clever indexing that the Erlang compiler intoduces on this type of +%% arguments + +s_2(W="lanoita"++S) -> ?D, if_m_gt("eta"++S, W, S, 0); +s_2(W="lanoit"++S) -> ?D, if_m_gt("noit"++S, W, S, 0); +s_2(W="icne"++S) -> ?D, if_m_gt("ecne"++S, W, S, 0); +s_2(W="icna"++S) -> ?D, if_m_gt("ecna"++S, W, S, 0); +s_2(W="rezi"++S) -> ?D, if_m_gt("ezi"++S, W, S, 0); +s_2(W="igol"++S) -> ?D, if_m_gt("gol"++S, W, S, 0); % New rule in Porter 1 +s_2(W="ilb"++S) -> ?D, if_m_gt("elb"++S, W, S, 0); % replacement in Porter 1 +s_2(W="illa"++S) -> ?D, if_m_gt("la"++S, W, S, 0); +s_2(W="iltne"++S) -> ?D, if_m_gt("tne"++S, W, S, 0); +s_2(W="ile"++S) -> ?D, if_m_gt("e"++S, W, S, 0); +s_2(W="ilsuo"++S) -> ?D, if_m_gt("suo"++S, W, S, 0); +s_2(W="noitazi"++S) -> ?D, if_m_gt("ezi"++S, W, S, 0); +s_2(W="noita"++S) -> ?D, if_m_gt("eta"++S, W, S, 0); +s_2(W="rota"++S) -> ?D, if_m_gt("eta"++S, W, S, 0); +s_2(W="msila"++S) -> ?D, if_m_gt("la"++S, W, S, 0); +s_2(W="ssenevi"++S) -> ?D, if_m_gt("evi"++S, W, S, 0); +s_2(W="ssenluf"++S) -> ?D, if_m_gt("luf"++S, W, S, 0); +s_2(W="ssensuo"++S) -> ?D, if_m_gt("suo"++S, W, S, 0); +s_2(W="itila"++S) -> ?D, if_m_gt("la"++S, W, S, 0); +s_2(W="itivi"++S) -> ?D, if_m_gt("evi"++S, W, S, 0); +s_2(W="itilib"++S) -> ?D, if_m_gt("elb"++S, W, S, 0); +s_2(W) -> W. + +%%%---------------------------------------------------------------- +step_3(W) -> ?Dstep(3, W, s_3(W)). + +s_3(W="etaci"++S) -> ?D, if_m_gt("ci"++S, W, S, 0); +s_3(W="evita"++S) -> ?D, if_m_gt(S, W, S, 0); +s_3(W="ezila"++S) -> ?D, if_m_gt("la"++S, W, S, 0); +s_3(W="itici"++S) -> ?D, if_m_gt("ci"++S, W, S, 0); +s_3(W="laci"++S) -> ?D, if_m_gt("ci"++S, W, S, 0); +s_3(W="luf"++S) -> ?D, if_m_gt(S, W, S, 0); +s_3(W="ssen"++S) -> ?D, if_m_gt(S, W, S, 0); +s_3(W) -> W. + +%%%---------------------------------------------------------------- +step_4(W) -> ?Dstep(4, W, s_4(W)). + +s_4(W="la"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="ecna"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="ecne"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="re"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="ci"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="elba"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="elbi"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="tna"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="tneme"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="tnem"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="tne"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="noi"++S) -> case S of + [$s|_] -> ?D, if_m_gt(S, W, S, 1); + [$t|_] -> ?D, if_m_gt(S, W, S, 1); + _ -> W + end; +s_4(W="uo"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="msi"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="eta"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="iti"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="suo"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="evi"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W="ezi"++S) -> ?D, if_m_gt(S, W, S, 1); +s_4(W) -> W. + +%%%---------------------------------------------------------------- +step_5(W) -> step_5b(step_5a(W)). + +step_5a(W) -> ?Dstep('5a', W, s_5a(W)). + +s_5a("e"++Stem=W) -> + ?D, case m(Stem) of + 1 -> ?D, case not '*o'(Stem) of + true -> Stem; + false -> W + end; + M when M>1 -> ?D, Stem; + _ -> W + end; +s_5a(W) -> W. + +step_5b(W) -> ?Dstep('5b', W, s_5b(W)). + +s_5b(W="ll"++S) -> ?D, if_m_gt("l"++S, W, "l"++S, 1); +s_5b(W) -> W. + +%%%================================================================ +%%% for rules like: +%%% (m>1) SUFFIX -> NEW +%%% Repl is NEW, Orig is SUFFIX and Ml is what m should be greater than + +if_m_gt(Repl, Orig, Stem, Ml) -> + case m_gt(Ml, Stem) of + true -> Repl; + false -> Orig + end. + +%%%---------------------------------------------------------------- +%% Test if m > M for Stem. +%% +%% The sequence (see Porter) [C](VC){m}[V] is transformed (reversed) +%% to [V](CV){m}[C] + +m_gt(M, Stem) -> m_gt1(skip(v,Stem), M). + +m_gt1(S,M) when M>=0 -> case catch take(v, take(c,S)) of + {'EXIT',_} -> false; + S1 -> m_gt1(S1,M-1) + end; +m_gt1(_,M) when M<0 -> true. + +%%%---------------------------------------------------------------- +%%% find the m-value for a Stem + +m(Stem) -> m(skip(v,Stem),0). + +m(S,M) -> case catch take(v, take(c,S)) of + {'EXIT',_} -> M; + S1 -> m(S1,M+1) + end. + +%%%---------------------------------------------------------------- +%% Remove characters from W as long as they belong to the class Class +%% (vowels or consonants) + +take(Class,W) -> Class = vc_class(W), skip(Class,tl(W)). + +skip(Class,W) -> case vc_class(W) of + Class -> skip(Class,tl(W)); + _ -> W + end. + +classtst([C|Cs], W=[_|Ws]) -> + case vc_class(W) of + C when Cs=/=[] -> classtst(Cs,Ws); + C when Cs==[] -> true; + _ -> false + end; +classtst(_, _) -> false. + +%%%---------------------------------------------------------------- +vc_class([$a|_]) -> v; +vc_class([$e|_]) -> v; +vc_class([$i|_]) -> v; +vc_class([$o|_]) -> v; +vc_class([$u|_]) -> v; +vc_class("y") -> c; % 'y' first in a word +vc_class([$y|T]) -> case vc_class(T) of % check preceding character + c -> v; + _ -> c + end; +vc_class(_) -> c. + +%%%---------------------------------------------------------------- +'*v*'(W=[_|Ws]) -> case vc_class(W) of + v -> true; + _ -> '*v*'(Ws) + end; +'*v*'(_) -> false. + +%%%---------------------------------------------------------------- +'*o'("w"++_) -> false; +'*o'("x"++_) -> false; +'*o'("y"++_) -> false; +'*o'(W) -> classtst([c,v,c], W). + +%%%---------------------------------------------------------------- +'*d'(W) -> classtst([c,c], W). + +%%%---------------------------------------------------------------- +%%% Make the word lower case and return in reversed + +lower_case(Word) -> lower_case(Word,[]). + +lower_case([C|Cs], Acc) -> + if + $A= lower_case(Cs, [(C-$A+$a)|Acc]); + true -> lower_case(Cs, [C|Acc]) + end; +lower_case([], Acc) -> + Acc. + + + + + + + + diff --git a/programming-erlang-code/indexer-1.1/indexer_server.erl b/programming-erlang-code/indexer-1.1/indexer_server.erl new file mode 100644 index 0000000..688a2d4 --- /dev/null +++ b/programming-erlang-code/indexer-1.1/indexer_server.erl @@ -0,0 +1,135 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(indexer_server). + +-export([cold_start/2, + start/1, + filename2index/1, + next_dir/0, + ets_table/0, + checkpoint/0, + schedule_stop/0, + search/1, + should_i_stop/0, + outdir/0, + stop/0]). + +-export([init/1, handle_call/3, handle_cast/2, terminate/2]). +-import(filename, [join/2]). + +%% indexer_server:cold_start(OutDir, SearchDirs). %% do once +%% indexer_server:start(). %% start the server +%% indexer_server:stop(). %% stop +%% indexer_server:next_dir() -> Dir %% next dir to work at +%% indexer_server:file2index(File) -> Index %% filename2index +%% indexer_server:advance_dir() %% advance the dir pointer and set +%% %% a new checkpoint +%% indexer_server:outdir() %% The ouput directory +%% indexer:search(Str) -> [File] %% search + +start(Dir) -> + io:format("starting ~p ~p~n",[?MODULE, Dir]), + gen_server:start({local,?MODULE}, ?MODULE, Dir, []). + +schedule_stop() -> + gen_server:call(?MODULE, schedule_stop). + +should_i_stop() -> + gen_server:call(?MODULE, should_i_stop). + +stop() -> + gen_server:cast(?MODULE, stop). + +filename2index(File) -> gen_server:call(?MODULE, {f2i, File}). + +next_dir() -> gen_server:call(?MODULE, next_dir). +checkpoint() -> gen_server:call(?MODULE, checkpoint). +outdir() -> gen_server:call(?MODULE, outdir). +ets_table() -> gen_server:call(?MODULE, ets_table). +search(Str) -> gen_server:call(?MODULE, {search, Str}). + +%% Cold start is done ONCE *before* the server +%% is started + +cold_start(OutputDir, SearchDirs) -> + case file:list_dir(OutputDir) of + {ok, []} -> + OutputDir1 = join(OutputDir,"index"), + io:format("Creating ~p~n",[OutputDir1]), + file:make_dir(OutputDir1), + Cont = indexer_dir_crawler:start(SearchDirs), + Check = {OutputDir, Cont}, + io:format("creating checkpoint:~p~n",[Check]), + indexer_checkpoint:init(OutputDir, Check); + _ -> + exit({eDirNotEmptyOrMissing, OutputDir}) + end. + +-record(env,{ets, cont, nextCP, outdir, stop=false}). + +init(Dir) -> + io:format("restarting:~p~n", [Dir]), + {Next, {OutDir, Cont}} = indexer_checkpoint:resume(Dir), + io:format("resume with:~p ~p~n",[Next, Cont]), + indexer_filenames_dets:open(join(Dir,"filenames.dets")), + io:format("opening trigrams ~n"), + Tab = indexer_trigrams:open(), + {ok, #env{ets = Tab, outdir=OutDir, cont=Cont, nextCP = Next}}. + +handle_call({f2i, File}, _From, S) -> + B = list_to_binary(File), + {reply, indexer_filenames_dets:filename2index(B), S}; +handle_call(ets_table, _From, S) -> + {reply, S#env.ets, S}; +handle_call(next_dir, _From, S) -> + Cont = S#env.cont, + case indexer_dir_crawler:next(Cont) of + {dir, Dir, _} -> + {reply, {ok, Dir}, S}; + done -> + {reply, done, S} + end; +handle_call(checkpoint, _From, S) -> + Cont = S#env.cont, + case indexer_dir_crawler:next(Cont) of + {dir, _Dir, Cont1} -> + Next = S#env.nextCP, + OutDir = S#env.outdir, + Next1 = indexer_checkpoint:checkpoint(Next, {OutDir, Cont1}), + S1 = S#env{nextCP = Next1, cont=Cont1}, + {reply, ok, S1}; + done -> + {reply, done, S} + end; +handle_call(schedule_stop, _From, S) -> + {reply, ack, S#env{stop=true}}; +handle_call({search, Str}, _From,S) -> + Result = indexer_misc:search(Str, S#env.outdir, S#env.ets), + {reply, Result, S}; +handle_call(should_i_stop, _From, S) -> + {reply, S#env.stop, S}; +handle_call(outdir, _From, S) -> + {reply, S#env.outdir, S}. + +handle_cast(stop, S) -> + {stop, normal, S}. + +terminate(Reason, S) -> + Ets = S#env.ets, + indexer_trigrams:close(Ets), + indexer_filenames_dets:close(), + io:format("stopping ~p~n",[Reason]). + + + + + + + + diff --git a/programming-erlang-code/indexer-1.1/indexer_trigrams.erl b/programming-erlang-code/indexer-1.1/indexer_trigrams.erl new file mode 100644 index 0000000..b561765 --- /dev/null +++ b/programming-erlang-code/indexer-1.1/indexer_trigrams.erl @@ -0,0 +1,128 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(indexer_trigrams). +-export([for_each_trigram_in_the_english_language/2, + make_tables/0, timer_tests/0, + open/0, close/1, is_word/2, + howManyTrigrams/0, + make_dict/0, make_ordered_set/0, makeSet/0, + lookup_all_ets/2, lookup_all_dict/2 + ]). +-import(lists, [reverse/1]). + +make_tables() -> + io:format("Building trigrams -- make take some time~n"), + makeSet(). + +make_ordered_set() -> makeAset(ordered_set, "trigramsOS.tab"). +makeSet() -> makeAset(set, "trigramsS.tab"). + +makeAset(Type, FileName) -> + Tab = ets:new(table, [Type]), + F = fun(Str, _) -> ets:insert(Tab, {list_to_binary(Str)}) end, + for_each_trigram_in_the_english_language(F, 0), + ets:tab2file(Tab, FileName), + Size = ets:info(Tab, size), + ets:delete(Tab), + Size. + +make_dict() -> + D = dict:new(), + F = fun(Str, Dict) -> dict:store(list_to_binary(Str),[],Dict) end, + D1 = for_each_trigram_in_the_english_language(F, D), + file:write_file("trigrams.dict", [term_to_binary(D1)]). + +timer_tests() -> + time_lookup_set("Ordered Set", "trigramsOS.tab"), + time_lookup_set("Set", "trigramsS.tab"), + time_lookup_dict(). + +time_lookup_set(Type, File) -> + {ok, Tab} = ets:file2tab(File), + L = ets:tab2list(Tab), + Size = length(L), + {M, _} = timer:tc(?MODULE, lookup_all_ets, [Tab, L]), + io:format("~s lookup=~p micro seconds~n",[Type, M/Size]), + ets:delete(Tab). + +lookup_all_ets(Tab, L) -> + lists:foreach(fun({K}) -> ets:lookup(Tab, K) end, L). + +time_lookup_dict() -> + {ok, Bin} = file:read_file("trigrams.dict"), + Dict = binary_to_term(Bin), + Keys = [Key || {Key,_} <- dict:to_list(Dict)], + Size = length(Keys), + {M, _} = timer:tc(?MODULE, lookup_all_dict, [Dict, Keys]), + io:format("Dict lookup=~p micro seconds~n",[M/Size]). + +lookup_all_dict(Dict, L) -> + lists:foreach(fun(Key) -> dict:find(Key, Dict) end, L). + +howManyTrigrams() -> + F = fun(_, N) -> 1 + N end, + for_each_trigram_in_the_english_language(F, 0). + +%% An iterator that iterates through all trigrams in the language +for_each_trigram_in_the_english_language(F, A0) -> + {ok, Bin0} = file:read_file("../354984si.ngl.gz"), + Bin = zlib:gunzip(Bin0), + scan_word_list(binary_to_list(Bin), F, A0). + +scan_word_list([], _, A) -> + A; +scan_word_list(L, F, A) -> + {Word, L1} = get_next_word(L, []), + A1 = scan_trigrams([$\s|Word], F, A), + scan_word_list(L1, F, A1). + +%% scan the word looking for \r\n +%% the second argument is the word (reversed) so it +%% has to be reversed when we find \r\n or run out of characters + +get_next_word([$\r,$\n|T], L) -> {reverse([$\s|L]), T}; +get_next_word([H|T], L) -> get_next_word(T, [H|L]); +get_next_word([], L) -> {reverse([$\s|L]), []}. + +scan_trigrams([X,Y,Z], F, A) -> + F([X,Y,Z], A); +scan_trigrams([X,Y,Z|T], F, A) -> + A1 = F([X,Y,Z], A), + scan_trigrams([Y,Z|T], F, A1); +scan_trigrams(_, _, A) -> + A. + +%% access routines +%% open() -> Table +%% close(Table) +%% is_word(Table, String) -> Bool + +is_word(Tab, Str) -> is_word1(Tab, "\s" ++ Str ++ "\s"). + +is_word1(Tab, [_,_,_]=X) -> is_this_a_trigram(Tab, X); +is_word1(Tab, [A,B,C|D]) -> + case is_this_a_trigram(Tab, [A,B,C]) of + true -> is_word1(Tab, [B,C|D]); + false -> false + end; +is_word1(_, _) -> + false. + +is_this_a_trigram(Tab, X) -> + case ets:lookup(Tab, list_to_binary(X)) of + [] -> false; + _ -> true + end. + +open() -> + {ok, I} = ets:file2tab(filename:dirname(code:which(?MODULE)) + ++ "/trigramsS.tab"), + I. + +close(Tab) -> ets:delete(Tab). diff --git a/programming-erlang-code/indexer-1.1/indexer_words.erl b/programming-erlang-code/indexer-1.1/indexer_words.erl new file mode 100644 index 0000000..09d2d27 --- /dev/null +++ b/programming-erlang-code/indexer-1.1/indexer_words.erl @@ -0,0 +1,255 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(indexer_words). +-export([words_in_file/3, process_word/2]). + +%% Note +%% some of the +%% functions in lib_indexer +%% until we have evaluated indexer:starting +%% this is because we need to open the trigram tables and convert +%% filenames to absolute incides + +%% Send {Word, Index} messages to Pid +words_in_file(Pid, File, EtsTrigrams) -> + Ext = filename:extension(File), + case lists:member(Ext, allowed_extensions()) of + true -> do_indexing(Pid, File, EtsTrigrams); + false -> void + end. + +allowed_extensions() -> + [".c", ".txt", ".erl", ".xml",".html",".sgml", ".tex", ".dtd", ".js"]. + +do_indexing(Pid, File, EtsTrigrams) -> + Index = indexer_server:filename2index(File), + io:format("Indexing: ~p as~p~n",[File,Index]), + Tab = ets:new(void, [ordered_set]), + indexer_misc:foreach_word_in_file(File, + fun(W, N) -> + process_word(W, Index, + Tab, EtsTrigrams, + Pid), + N+1 + end, 0), + ets:delete(Tab). + +process_word(Word, Index, Tab, EtsTrigrams, Pid) -> + case process_word(Word, EtsTrigrams) of + no -> void; + {yes, Word1} -> + Bin = list_to_binary(Word1), + case ets:lookup(Tab, Bin) of + [] -> + ets:insert(Tab, {Bin}), + Pid ! {Word1, Index}; + _ -> + void + end + end. + +%% @spec process_word(Word, EtsTrigram) -> {yes, Word1} | no +process_word(Word, EtsTrigrams) when length(Word) < 20 -> + Word1 = to_lower_case(Word), + case stop(Word1) of + true -> no; + false -> + case indexer_trigrams:is_word(EtsTrigrams, Word1) of + true -> + Word2 = indexer_porter:stem(Word1), + if + length(Word2) < 3 -> no; + true -> {yes, Word2} + end; + false -> no + end + end; +process_word(_, _) -> + no. + +to_lower_case([H|T]) when $A=< H, H=<$Z -> [H+$a-$A|to_lower_case(T)]; +to_lower_case([H|T]) -> [H|to_lower_case(T)]; +to_lower_case([]) -> []. + +%%%================================================================ +%% An English stop word list from http://snowball.tartarus.org + +stop("i") -> true; +stop("me") -> true; +stop("my") -> true; +stop("myself") -> true; +stop("we") -> true; +stop("us") -> true; +stop("our") -> true; +stop("ours") -> true; +stop("ourselves") -> true; +stop("you") -> true; +stop("your") -> true; +stop("yours") -> true; +stop("yourself") -> true; +stop("yourselves") -> true; +stop("he") -> true; +stop("him") -> true; +stop("his") -> true; +stop("himself") -> true; +stop("she") -> true; +stop("her") -> true; +stop("hers") -> true; +stop("herself") -> true; +stop("it") -> true; +stop("its") -> true; +stop("itself") -> true; +stop("they") -> true; +stop("them") -> true; +stop("their") -> true; +stop("theirs") -> true; +stop("themselves") -> true; +stop("what") -> true; +stop("which") -> true; +stop("who") -> true; +stop("whom") -> true; +stop("this") -> true; +stop("that") -> true; +stop("these") -> true; +stop("those") -> true; +stop("am") -> true; +stop("is") -> true; +stop("are") -> true; +stop("was") -> true; +stop("were") -> true; +stop("be") -> true; +stop("been") -> true; +stop("being") -> true; +stop("have") -> true; +stop("has") -> true; +stop("had") -> true; +stop("having") -> true; +stop("do") -> true; +stop("does") -> true; +stop("did") -> true; +stop("doing") -> true; +stop("will") -> true; +stop("would") -> true; +stop("shall") -> true; +stop("should") -> true; +stop("can") -> true; +stop("could") -> true; +stop("may") -> true; +stop("might") -> true; +stop("must") -> true; +stop("ought") -> true; +stop("a") -> true; +stop("an") -> true; +stop("the") -> true; +stop("and") -> true; +stop("but") -> true; +stop("if") -> true; +stop("or") -> true; +stop("because") -> true; +stop("as") -> true; +stop("until") -> true; +stop("while") -> true; +stop("of") -> true; +stop("at") -> true; +stop("by") -> true; +stop("for") -> true; +stop("with") -> true; +stop("about") -> true; +stop("against") -> true; +stop("between") -> true; +stop("into") -> true; +stop("through") -> true; +stop("during") -> true; +stop("before") -> true; +stop("after") -> true; +stop("above") -> true; +stop("below") -> true; +stop("to") -> true; +stop("from") -> true; +stop("up") -> true; +stop("down") -> true; +stop("in") -> true; +stop("out") -> true; +stop("on") -> true; +stop("off") -> true; +stop("over") -> true; +stop("under") -> true; +stop("again") -> true; +stop("further") -> true; +stop("then") -> true; +stop("once") -> true; +stop("here") -> true; +stop("there") -> true; +stop("when") -> true; +stop("where") -> true; +stop("why") -> true; +stop("how") -> true; +stop("all") -> true; +stop("any") -> true; +stop("both") -> true; +stop("each") -> true; +stop("few") -> true; +stop("more") -> true; +stop("most") -> true; +stop("other") -> true; +stop("some") -> true; +stop("such") -> true; +stop("no") -> true; +stop("nor") -> true; +stop("not") -> true; +stop("only") -> true; +stop("own") -> true; +stop("same") -> true; +stop("so") -> true; +stop("than") -> true; +stop("too") -> true; +stop("very") -> true; +stop("one") -> true; +stop("every") -> true; +stop("least") -> true; +stop("less") -> true; +stop("many") -> true; +stop("now") -> true; +stop("ever") -> true; +stop("never") -> true; +stop("say") -> true; +stop("says") -> true; +stop("said") -> true; +stop("also") -> true; +stop("get") -> true; +stop("go") -> true; +stop("goes") -> true; +stop("just") -> true; +stop("made") -> true; +stop("make") -> true; +stop("put") -> true; +stop("see") -> true; +stop("seen") -> true; +stop("whether") -> true; +stop("like") -> true; +stop("well") -> true; +stop("back") -> true; +stop("even") -> true; +stop("still") -> true; +stop("way") -> true; +stop("take") -> true; +stop("since") -> true; +stop("another") -> true; +stop("however") -> true; +stop("two") -> true; +stop("three") -> true; +stop("four") -> true; +stop("five") -> true; +stop("first") -> true; +stop("second") -> true; +stop("new") -> true; +stop("old") -> true; +stop("high") -> true; +stop("long") -> true; +stop(_) -> false. diff --git a/programming-erlang-code/lib_auth_cs.erl b/programming-erlang-code/lib_auth_cs.erl new file mode 100644 index 0000000..bd39846 --- /dev/null +++ b/programming-erlang-code/lib_auth_cs.erl @@ -0,0 +1,89 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(lib_auth_cs). + +%% authenticated client/server + +-compile(export_all). + + +start_server(Port, MFA, Secret, Trace, Max) -> + lib_tcp_mm:start_server(Port, + {?MODULE, start_auth_server, {MFA, Secret}}, + Trace, + Max). + + +start_auth_client(Host, Port, MFA, Secret, Trace) -> + lib_tcp_mm:start_client(Host, Port, + {?MODULE, start_auth_client, {MFA, Secret}}, + Trace). + + +%%______________________________________________________________________ +%% + +start_auth_server(C, {{Mod,Func,ArgsS}, Secret}) -> + case Secret of + none -> + %% no authentication necessary + C ! {msg, auth}, + apply(Mod, Func, [C, ArgsS]); + _ -> + Ran =lib_primes:make_random_int(20), + C ! {msg, {challenge, Ran}}, + receive + {msg, {response, R}} -> + Expect = md5:string(Ran ++ Secret), + case R of + Expect -> + C ! {msg, auth}, + apply(Mod, Func, [C, ArgsS]); + _ -> + C ! {msg, eBadResponse}, + exit(protocol) + end; + _ -> + exit(protocol) + end + end. + +start_auth_client(C, {{Mod, Func, ArgsC}, Secret}) -> + io:format("lib_auth_cs start auth client:~p~n", + [{{Mod, Func, ArgsC}, Secret}]), + receive + {msg, auth} -> + apply(Mod, Func, [C, ArgsC]); + {msg, {challenge, Challenge}} -> + case Secret of + none -> + exit(eNoSecret); + _ -> + R = md5:string(Challenge ++ Secret), + C ! {msg, {response, R}}, + receive + {msg, auth} -> + apply(Mod, Func, [C, ArgsC]); + _ -> + exit(protocol) + end + end; + _ -> + exit(protocol) + end. + + + + + + + + + + diff --git a/programming-erlang-code/lib_filenames_dets.erl b/programming-erlang-code/lib_filenames_dets.erl new file mode 100644 index 0000000..0fb4878 --- /dev/null +++ b/programming-erlang-code/lib_filenames_dets.erl @@ -0,0 +1,50 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(lib_filenames_dets). +-export([open/1, close/0, test/0, filename2index/1, index2filename/1]). + +open(File) -> + io:format("dets opened:~p~n", [File]), + Bool = filelib:is_file(File), + case dets:open_file(?MODULE, [{file, File}]) of + {ok, ?MODULE} -> + case Bool of + true -> void; + false -> ok = dets:insert(?MODULE, {free,1}) + end, + true; + {error,Reason} -> + io:format("cannot open dets table~n"), + exit({eDetsOpen, File, Reason}) + end. + +close() -> dets:close(?MODULE). + +filename2index(FileName) when is_binary(FileName) -> + case dets:lookup(?MODULE, FileName) of + [] -> + [{_,Free}] = dets:lookup(?MODULE, free), + ok = dets:insert(?MODULE, + [{Free,FileName},{FileName,Free},{free,Free+1}]), + Free; + [{_,N}] -> + N + end. + +index2filename(Index) when is_integer(Index) -> + case dets:lookup(?MODULE, Index) of + [] -> error; + [{_,Bin}] -> Bin + end. + +test() -> + file:delete("./filenames.dets"), + open("./filenames.dets"), + F = lib_files_find:files(".", "*.erl", true), + lists:foreach(fun(I) -> filename2index(list_to_binary(I)) end, F). diff --git a/programming-erlang-code/lib_files_find.erl b/programming-erlang-code/lib_files_find.erl new file mode 100644 index 0000000..62a573b --- /dev/null +++ b/programming-erlang-code/lib_files_find.erl @@ -0,0 +1,60 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(lib_files_find). +-export([files/3, files/5]). + +-include_lib("kernel/include/file.hrl"). + +files(Dir, Re, Flag) -> + Re1 = xmerl_regexp:sh_to_awk(Re), + lists:reverse(files(Dir, Re1, Flag, fun(File, Acc) ->[File|Acc] end, [])). + +files(Dir, Reg, Recursive, Fun, Acc) -> + case file:list_dir(Dir) of + {ok, Files} -> find_files(Files, Dir, Reg, Recursive, Fun, Acc); + {error, _} -> Acc + end. + +find_files([File|T], Dir, Reg, Recursive, Fun, Acc0) -> + FullName = Dir ++ [$/|File], + case file_type(FullName) of + regular -> + case re:run(FullName, Reg, [{capture,none}]) of + match -> + Acc = Fun(FullName, Acc0), + find_files(T, Dir, Reg, Recursive, Fun, Acc); + nomatch -> + find_files(T, Dir, Reg, Recursive, Fun, Acc0) + end; + directory -> + case Recursive of + true -> + Acc1 = files(FullName, Reg, Recursive, Fun, Acc0), + find_files(T, Dir, Reg, Recursive, Fun, Acc1); + false -> + find_files(T, Dir, Reg, Recursive, Fun, Acc0) + end; + error -> + find_files(T, Dir, Reg, Recursive, Fun, Acc0) + end; +find_files([], _, _, _, _, A) -> + A. + +file_type(File) -> + case file:read_file_info(File) of + {ok, Facts} -> + case Facts#file_info.type of + regular -> regular; + directory -> directory; + _ -> error + end; + _ -> + error + end. + diff --git a/programming-erlang-code/lib_find.erl b/programming-erlang-code/lib_find.erl new file mode 100644 index 0000000..000d040 --- /dev/null +++ b/programming-erlang-code/lib_find.erl @@ -0,0 +1,61 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(lib_find). +-export([files/3, files/5]). +-import(lists, [reverse/1]). + +-include_lib("kernel/include/file.hrl"). + +files(Dir, Re, Flag) -> + Re1 = xmerl_regexp:sh_to_awk(Re), + reverse(files(Dir, Re1, Flag, fun(File, Acc) ->[File|Acc] end, [])). + +files(Dir, Reg, Recursive, Fun, Acc) -> + case file:list_dir(Dir) of + {ok, Files} -> find_files(Files, Dir, Reg, Recursive, Fun, Acc); + {error, _} -> Acc + end. + +find_files([File|T], Dir, Reg, Recursive, Fun, Acc0) -> + FullName = filename:join([Dir,File]), + case file_type(FullName) of + regular -> + case re:run(FullName, Reg, [{capture,none}]) of + match -> + Acc = Fun(FullName, Acc0), + find_files(T, Dir, Reg, Recursive, Fun, Acc); + nomatch -> + find_files(T, Dir, Reg, Recursive, Fun, Acc0) + end; + directory -> + case Recursive of + true -> + Acc1 = files(FullName, Reg, Recursive, Fun, Acc0), + find_files(T, Dir, Reg, Recursive, Fun, Acc1); + false -> + find_files(T, Dir, Reg, Recursive, Fun, Acc0) + end; + error -> + find_files(T, Dir, Reg, Recursive, Fun, Acc0) + end; +find_files([], _, _, _, _, A) -> + A. + +file_type(File) -> + case file:read_file_info(File) of + {ok, Facts} -> + case Facts#file_info.type of + regular -> regular; + directory -> directory; + _ -> error + end; + _ -> + error + end. + diff --git a/programming-erlang-code/lib_io_widget.erl b/programming-erlang-code/lib_io_widget.erl new file mode 100644 index 0000000..1fea717 --- /dev/null +++ b/programming-erlang-code/lib_io_widget.erl @@ -0,0 +1,111 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(lib_io_widget). + +-export([start/1, test/0, + set_handler/2, set_prompt/2, set_title/2, insert_str/2]). + +start(Pid) -> + gs:start(), + spawn_link(fun() -> widget(Pid) end). + +set_title(Pid, Str) -> Pid ! {title, Str}. +set_handler(Pid, Fun) -> Pid ! {handler, Fun}. +set_prompt(Pid, Str) -> Pid ! {prompt, Str}. +insert_str(Pid, Str) -> Pid ! {insert, Str}. + +widget(Pid) -> + Size = [{width,500},{height,200}], + Win = gs:window(gs:start(), + [{map,true},{configure,true},{title,"window"}|Size]), + gs:frame(packer, Win,[{packer_x, [{stretch,1,500}]}, + {packer_y, [{stretch,10,120,100}, + {stretch,1,15,15}]}]), + gs:create(editor,editor,packer, [{pack_x,1},{pack_y,1},{vscroll,right}]), + gs:create(entry, entry, packer, [{pack_x,1},{pack_y,2},{keypress,true}]), + gs:config(packer, Size), + Prompt = " > ", + gs:config(entry, {insert,{0,Prompt}}), + loop(Win, Pid, Prompt, fun parse/1). + + +loop(Win, Pid, Prompt, Parse) -> + receive + {handler, Fun} -> + loop(Win, Pid, Prompt, Fun); + {prompt, Str} -> + %% this clobbers the line being input ... + %% this could be fixed - hint + gs:config(entry, {delete,{0,last}}), + gs:config(entry, {insert,{0,Str}}), + loop(Win, Pid, Str, Parse); + {title, Str} -> + gs:config(Win, [{title, Str}]), + loop(Win, Pid, Prompt, Parse); + {insert, Str} -> + gs:config(editor, {insert,{'end',Str}}), + scroll_to_show_last_line(), + loop(Win, Pid, Prompt, Parse); + {gs,_,destroy,_,_} -> + io:format("Destroyed~n",[]), + Pid ! {self(), closed}; + {gs, entry,keypress,_,['Return'|_]} -> + Text = gs:read(entry, text), + io:format("Read:~p~n",[Text]), + gs:config(entry, {delete,{0,last}}), + gs:config(entry, {insert,{0,Prompt}}), + case (catch Parse(Text)) of + {'EXIT', _Error} -> + self() ! {insert, "** bad input**\n** /h for help\n"}; + Term -> + Pid ! {self(), Term} + end, + loop(Win, Pid, Prompt, Parse); + {gs,_,configure,[],[W,H,_,_]} -> + gs:config(packer, [{width,W},{height,H}]), + loop(Win, Pid, Prompt, Parse); + {gs, entry,keypress,_,_} -> + loop(Win, Pid, Prompt, Parse); + Any -> + io:format("Discarded:~p~n",[Any]), + loop(Win, Pid, Prompt, Parse) + end. + +scroll_to_show_last_line() -> + Size = gs:read(editor, size), + Height = gs:read(editor, height), + CharHeight = gs:read(editor, char_height), + TopRow = Size - Height/CharHeight, + if TopRow > 0 -> gs:config(editor, {vscrollpos, TopRow}); + true -> gs:config(editor, {vscrollpos, 0}) + end. + +test() -> + spawn(fun() -> test1() end). + +test1() -> + W = io_widget:start(self()), + io_widget:set_title(W, "Test window"), + loop(W). + +loop(W) -> + receive + {W, {str, Str}} -> + Str1 = Str ++ "\n", + io_widget:insert_str(W, Str1), + loop(W) + end. + +parse(Str) -> + {str, Str}. + + + + + diff --git a/programming-erlang-code/lib_lin.erl b/programming-erlang-code/lib_lin.erl new file mode 100644 index 0000000..d680341 --- /dev/null +++ b/programming-erlang-code/lib_lin.erl @@ -0,0 +1,96 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(lib_lin). + +%% (c) Joe Armstrong 1998 + +-export([pow/3, inv/2, solve/2, str2int/1, int2str/1, gcd/2]). + +%% pow(A, B, M) => (A^B) mod M +%% examples pow(9726,3533,11413) = 5761 +%% pow(5971,6597,11413) = 9726 + +pow(A, 1, M) -> + A rem M; +pow(A, 2, M) -> + A*A rem M; +pow(A, B, M) -> + B1 = B div 2, + B2 = B - B1, + %% B2 = B1 or B1+1 + P = pow(A, B1, M), + case B2 of + B1 -> (P*P) rem M; + _ -> (P*P*A) rem M + end. + +%% inv(A, B) = C | no_inverse +%% computes C such that +%% A*C mod B = 1 +%% computes A^-1 mod B +%% examples inv(28, 75) = 67. +%% inv(3533, 11200) = 6597 +%% inv(6597, 11200) = 3533 + +inv(A, B) -> + case solve(A, B) of + {X, _} -> + if X < 0 -> X + B; + true -> X + end; + _ -> + no_inverse + end. + +%% solve(A, B) => {X, Y} | insoluble +%% solve the linear congruence +%% A * X - B * Y = 1 + +solve(A, B) -> + case catch s(A,B) of + insoluble -> insoluble; + {X, Y} -> + case A * X - B * Y of + 1 -> {X, Y}; + _Other -> error + end + end. + +s(_, 0) -> throw(insoluble); +s(_, 1) -> {0, -1}; +s(_, -1) -> {0, 1}; +s(A, B) -> + K1 = A div B, + K2 = A - K1*B, + {Tmp, X} = s(B, -K2), + {X, K1 * X - Tmp}. + + + +%% converts a string to a base 256 integer +%% converts a base 256 integer to a string + +str2int(Str) -> str2int(Str, 0). + +str2int([H|T], N) -> str2int(T, N*256+H); +str2int([], N) -> N. + +int2str(N) -> int2str(N, []). + +int2str(N, L) when N =< 0 -> L; +int2str(N, L) -> + N1 = N div 256, + H = N - N1 * 256, + int2str(N1, [H|L]). + +%% greatest common devisor + +gcd(A, B) when A < B -> gcd(B, A); +gcd(A, 0) -> A; +gcd(A, B) -> gcd(B, A rem B). diff --git a/programming-erlang-code/lib_md5.erl b/programming-erlang-code/lib_md5.erl new file mode 100644 index 0000000..93df2ef --- /dev/null +++ b/programming-erlang-code/lib_md5.erl @@ -0,0 +1,79 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(lib_md5). + +%% modfied to use BIFs + +-export([string/1, file/1, bin/1, binAsBin/1, digest2str/1]). + +-define(BLOCKSIZE, 32768). +-define(IN(X,Min,Max), X >= Min, X =< Max). + +%% md5:string(string()) -> BinDigest +%% md5:file(FileName) -> {ok, BinDigest} | {error, E} +%% md5:digest2str(BinDigest) -> StringDigest + +%% md5:file works with chunks so should work correctly with extremely +%% large files + +string(Str) -> digest2str(erlang:md5(Str)). + +file(File) -> + case file:open(File, [binary,raw,read]) of + {ok, P} -> loop(P, erlang:md5_init()); + Error -> Error + end. + +loop(P, C) -> + case file:read(P, ?BLOCKSIZE) of + {ok, Bin} -> + loop(P, erlang:md5_update(C, Bin)); + eof -> + file:close(P), + {ok, erlang:md5_final(C)} + end. + +digest2str(Digest) -> bin2str(binary_to_list(Digest)). + +bin2str([H|T]) -> + {H1, H2} = byte2hex(H), + [H1,H2|bin2str(T)]; +bin2str([]) -> + []. + +byte2hex(X) -> + {nibble2hex(X bsr 4), nibble2hex(X band 15)}. + +nibble2hex(X) when ?IN(X, 0, 9) -> X + $0; +nibble2hex(X) when ?IN(X, 10, 15) -> X - 10 + $a. + +%% compute the md5 checksum of a binary +bin(Bin) -> + C1 = erlang:md5_init(), + C2 = erlang:md5_update(C1, Bin), + C3 = erlang:md5_final(C2), + digest2str(C3). + +binAsBin(Bin) -> + C1 = erlang:md5_init(), + C2 = erlang:md5_update(C1, Bin), + erlang:md5_final(C2). + + + + + + + + + + + + + diff --git a/programming-erlang-code/lib_misc.erl b/programming-erlang-code/lib_misc.erl new file mode 100644 index 0000000..deb00f0 --- /dev/null +++ b/programming-erlang-code/lib_misc.erl @@ -0,0 +1,737 @@ +%% --- +%% Excerpted from "Programming Erlang, Second Edition", +%% published by The Pragmatic Bookshelf. +%% Copyrights apply to this code. It may not be used to create training material, +%% courses, books, articles, and the like. Contact us if you are in doubt. +%% We make no guarantees that this code is fit for any purpose. +%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang2 for more book information. +%%--- +-module(lib_misc). + +%% commonly used routines + +-export([consult/1, + dump/2, + first/1, + for/3, + is_prefix/2, + deliberate_error/1, + deliberate_error1/1, + duplicates/1, + downcase_char/1, + downcase_str/1, + extract_attribute/2, + eval_file/1, + every/3, + file_size_and_type/1, + flush_buffer/0, + foreachWordInFile/2, + foreachWordInString/2, + keep_alive/2, + glurk/2, + lookup/2, + odds_and_evens1/1, + odds_and_evens2/1, + on_exit/2, + make_global/2, + make_test_strings/1, + merge_kv/1, + ndots/1, + test_function_over_substrings/2, + partition/2, + pmap/2, + pmap1/2, + priority_receive/0, + pythag/1, + replace/3, + split/2, + safe/1, + too_hot/0, + ls/1, + mini_shell/0, + odd/1, + outOfDate/2, + exists/1, + perms/1, + qsort/1, + random_seed/0, + read_file_as_lines/1, + remove_duplicates/1, + remove_prefix/2, + remove_leading_whitespace/1, + remove_trailing_whitespace/1, + rpc/2, + spawn_monitor/3, + sum/1, + sqrt/1, + string2term/1, + string2value/1, + term2string/1, + term2file/2, + file2term/1, + longest_common_prefix/1, + unconsult/2]). + +-export([complete/2, + skip_blanks/1, trim_blanks/1, sleep/1, split_at_char/2, + %% mk_tree/1, + is_blank_line/1, + have_common_prefix/1]). + +-import(lists, [all/2, any/2, filter/2, reverse/1, reverse/2, + foreach/2, map/2, member/2, sort/1]). + +-define(NYI(X),(begin + io:format("*** NYI ~p ~p ~p~n",[?MODULE, ?LINE, X]), + exit(nyi) + end)). + +glurk(X, Y) -> + ?NYI({glurk, X, Y}). + + + +-include_lib("kernel/include/file.hrl"). +file_size_and_type(File) -> + case file:read_file_info(File) of + {ok, Facts} -> + {Facts#file_info.type, Facts#file_info.size}; + _ -> + error + end. + +ls(Dir) -> + {ok, L} = file:list_dir(Dir), + lists:map(fun(I) -> {I, file_size_and_type(I)} end, lists:sort(L)). + + + +consult(File) -> + case file:open(File, read) of + {ok, S} -> + Val = consult1(S), + file:close(S), + {ok, Val}; + {error, Why} -> + {error, Why} + end. +consult1(S) -> + case io:read(S, '') of + {ok, Term} -> [Term|consult1(S)]; + eof -> []; + Error -> Error + end. + +dump(File, Term) -> + Out = File ++ ".tmp", + io:format("** dumping to ~s~n",[Out]), + {ok, S} = file:open(Out, [write]), + io:format(S, "~p.~n",[Term]), + file:close(S). + +partition(F, L) -> partition(F, L, [], []). + +partition(F, [H|T], Yes, No) -> + case F(H) of + true -> partition(F, T, [H|Yes], No); + false -> partition(F, T, Yes, [H|No]) + end; +partition(_, [], Yes, No) -> + {Yes, No}. + +remove_duplicates(L) -> + remove_duplicates(lists:sort(L), []). + +remove_duplicates([H|X=[H|_]], L) -> remove_duplicates(X, L); +remove_duplicates([H|T], L) -> remove_duplicates(T, [H|L]); +remove_duplicates([], L) -> L. + +%% is_prefix(A, B) -> bool() +%% true if A is a prefix of B + +is_prefix([], _) -> true; +is_prefix([H|T], [H|T1]) -> is_prefix(T, T1); +is_prefix(_, _) -> false. + +first([_]) -> []; +first([H|T]) -> [H|first(T)]. + +sleep(T) -> + receive + after T -> + true + end. + +flush_buffer() -> + receive + _Any -> + flush_buffer() + after 0 -> + true + end. + +priority_receive() -> + receive + {alarm, X} -> + {alarm, X} + after 0 -> + receive + Any -> + Any + end + end. + +duplicates(X) -> find_duplicates(sort(X), []). + +find_duplicates([H,H|T], [H|_]=L) -> + find_duplicates(T, L); +find_duplicates([H,H|T], L) -> + find_duplicates(T, [H|L]); +find_duplicates([_|T], L) -> + find_duplicates(T, L); +find_duplicates([], L) -> + L. + + +%% complete(A, L) -> {yes, S} +%% error - means no string will ever match +%% {more,L} - means there are completions but I need more characters +%% L = [Str] = list of possible completions +%% {yes, S} - means there is a unique completion +%% +%% A = S = str(), L=[str()] +%% used to compute the smallest S +%% such that A ++ S is a member of all elements of L + +complete(Str, L) -> + case filter(fun(I) -> is_prefix(Str, I) end, L) of + [] -> + error; + [L1] -> + J = remove_prefix(Str, L1), + {yes, J}; + L1 -> + %% L1 is not empty so it's either more or a string + %% We know that Str is a prefix of all elements in L1 + L2 = map(fun(I) -> remove_prefix(Str, I) end, L1), + %% L2 will also not be empty + %% io:format("L1=~p L2=~p~n",[L1,L2]), + case longest_common_prefix(L2) of + [] -> + {more, L1}; + S -> + {yes, S} + end + end. + +%% remove_prefix(X, Y) -> Z +%% finds Z such that X ++ Z = Y +%% +remove_prefix([H|T], [H|T1]) -> remove_prefix(T, T1); +remove_prefix([], L) -> L. + +%% longest_common_prefix([str()]) -> str() + +longest_common_prefix(L) -> + longest_common_prefix(L, []). + +longest_common_prefix(Ls, L) -> + case have_common_prefix(Ls) of + {yes, H, Ls1} -> + longest_common_prefix(Ls1, [H|L]); + no -> + reverse(L) + end. + +have_common_prefix([]) -> no; +have_common_prefix(L) -> + case any(fun is_empty_list/1, L) of + true -> no; + false -> + %% All lists have heads and tails + Heads = map(fun(I) -> hd(I) end, L), + H = hd(Heads), + case all(fun(X) -> hd(X) =:= H end, L) of + true -> + Tails = map(fun(I) -> tl(I) end, L), + {yes, H, Tails}; + false -> + no + end + end. + +is_empty_list([]) -> true; +is_empty_list(X) when is_list(X) -> false. + +skip_blanks([$\s|T]) -> skip_blanks(T); +skip_blanks(X) -> X. + +trim_blanks(X) -> reverse(skip_blanks(reverse(X))). + + +split_at_char(Str, C) -> split_at_char(Str, C, []). + +split_at_char([C|T], C, L) -> {yes, reverse(L), T}; +split_at_char([H|T], C, L) -> split_at_char(T, C, [H|L]); +split_at_char([], _, _) -> no. + +%% read file into line buffer +read_file_as_lines(File) -> + case file:read_file(File) of + {ok, Bin} -> + {ok, split_into_lines(binary_to_list(Bin), 1, [])}; + {error, _} -> + {error, eNoFile} + end. + +split_into_lines([], _, L) -> + reverse(L); +split_into_lines(Str, Ln, L) -> + {Line, Rest} = get_line(Str, []), + split_into_lines(Rest, Ln+1, [{Ln,Line}|L]). + +get_line([$\n|T], L) -> {reverse(L), T}; +get_line([H|T], L) -> get_line(T, [H|L]); +get_line([], L) -> {reverse(L), []}. + +is_blank_line([$\s|T]) -> is_blank_line(T); +is_blank_line([$\n|T]) -> is_blank_line(T); +is_blank_line([$\r|T]) -> is_blank_line(T); +is_blank_line([$\t|T]) -> is_blank_line(T); +is_blank_line([]) -> true; +is_blank_line(_) -> false. + +%%---------------------------------------------------------------------- +%% lookup + +%%---------------------------------------------------------------------- +%% split(Pred, L) -> {True, False} + +split(F, L) -> split(F, L, [], []). + +split(F, [H|T], True, False) -> + case F(H) of + true -> split(F, T, [H|True], False); + false -> split(F, T, True, [H|False]) + end; +split(_, [], True, False) -> + {reverse(True), reverse(False)}. + +%%---------------------------------------------------------------------- + +outOfDate(In, Out) -> + case exists(Out) of + true -> + case {last_modified(In), last_modified(Out)} of + {T1, T2} when T1 > T2 -> + true; + _ -> + false + end; + false -> + true + end. + +last_modified(File) -> + case file:read_file_info(File) of + {ok, Info} -> + Info#file_info.mtime; + _ -> + 0 + end. + +exists(File) -> + case file:read_file_info(File) of + {ok, _} -> + true; + _ -> + false + end. + +%%---------------------------------------------------------------------- +%% replace(Key,Val, [{Key,Val}]) -> [{Key,Val}] +%% replace and Key with Key,Val in the association list Old + +replace(Key, Val, Old) -> + replace(Key, Val, Old, []). + +replace(Key, Val1, [{Key,_Val}|T], L) -> + reverse(L, [{Key, Val1}|T]); +replace(Key, Val, [H|T], L) -> + replace(Key, Val, T, [H|L]); +replace(Key, Val, [], L) -> + [{Key,Val}|L]. + +%%---------------------------------------------------------------------- +%% make_test_strings(Str) +%% + +make_test_strings(Str) -> + L = length(Str), + make_test_strings(Str, L+1, 1). + +make_test_strings(_, Max, Max) -> []; +make_test_strings(Str, Max, N) -> + [string:sub_string(Str, 1, N)|make_test_strings(Str, Max, N+1)]. + +test_function_over_substrings(F, Str) -> + L = make_test_strings(Str), + foreach(fun(S) -> + io:format("|~s|~n => ~p~n", [S, F(S)]) + end, L). + +%%---------------------------------------------------------------------- +%% merge_kv(Kv) -> Kv' +%% Take a association list of {Key, Val} where Key can occure +%% More than once and make it into a list {Key, [Val]} where +%% each Key occurs only once + +merge_kv(KV) -> merge_kv(KV, dict:new()). + +merge_kv([{Key,Val}|T], D0) -> + case dict:find(Key, D0) of + {ok, L} -> merge_kv(T, dict:store(Key, [Val|L], D0)); + error -> merge_kv(T, dict:store(Key, [Val], D0)) + end; +merge_kv([], D) -> + dict:to_list(D). + + +%% rpc/2 +%% +rpc(Pid, Q) -> + Pid ! {self(), Q}, + receive + {Pid, Reply} -> + Reply + end. + +%% odd(X) +%% + +odd(X) -> + case X band 1 of + 1 -> true; + 0 -> false + end. + +ndots([$.|T]) -> 1 + ndots(T); +ndots([_|T]) -> ndots(T); +ndots([]) -> 0. + +term2file(File, Term) -> + file:write_file(File, term_to_binary(Term)). + +file2term(File) -> + {ok, Bin} = file:read_file(File), + binary_to_term(Bin). + +string2term(Str) -> + {ok,Tokens,_} = erl_scan:string(Str ++ "."), + {ok,Term} = erl_parse:parse_term(Tokens), + Term. + +term2string(Term) -> + lists:flatten(io_lib:format("~p",[Term])). + +downcase_str(Str) -> map(fun downcase_char/1, Str). + +downcase_char(X) when $A =< X, X =< $Z -> X+ $a - $A; +downcase_char(X) -> X. + +string2value(Str) -> + {ok, Tokens, _} = erl_scan:string(Str ++ "."), + {ok, Exprs} = erl_parse:parse_exprs(Tokens), + Bindings = erl_eval:new_bindings(), + {value, Value, _} = erl_eval:exprs(Exprs, Bindings), + Value. + +mini_shell() -> + mini_shell(erl_eval:new_bindings()). + +mini_shell(Bindings0) -> + case io:get_line('>>> ') of + "q\n" -> void; + Str -> + {Value, Bindings1} = string2value(Str, Bindings0), + io:format("~p~n",[Value]), + mini_shell(Bindings1) + end. + +string2value(Str, Bindings0) -> + {ok, Tokens, _} = erl_scan:string(Str ++ "."), + {ok, Exprs} = erl_parse:parse_exprs(Tokens), + {value, Value, Bindings1} = erl_eval:exprs(Exprs, Bindings0), + {Value, Bindings1}. + +eval_file(File) -> + {ok, S} = file:open(File, [read]), + Vals = eval_file(S, 1, erl_eval:new_bindings()), + file:close(S), + Vals. + +eval_file(S, Line, B0) -> + case io:parse_erl_exprs(S, '', Line) of + {ok, Form, Line1} -> + {value, Value, B1} = erl_eval:exprs(Form, B0), + [Value|eval_file(S, Line1, B1)]; + {eof, _} -> + [] + end. + +remove_leading_whitespace([$\n|T]) -> remove_leading_whitespace(T); +remove_leading_whitespace([$\s|T]) -> remove_leading_whitespace(T); +remove_leading_whitespace([$\t|T]) -> remove_leading_whitespace(T); +remove_leading_whitespace(X) -> X. + +remove_trailing_whitespace(X) -> + reverse(remove_leading_whitespace(reverse(X))). + +safe(Fun) -> + case (catch Fun()) of + {'EXIT', Why} -> + {error, Why}; + Other -> + Other + end. + +too_hot() -> + event_handler:event(errors, too_hot). + +%% spawn_monitor behaves just like spawn + +spawn_monitor(_, false, Fun) -> + spawn(Fun); +spawn_monitor(Term, true, Fun) -> + spawn(fun() -> starter(Term, Fun) end). + +starter(Term, Fun) -> + S = self(), + io:format("process:~p started at:~p ~p~n", + [self(), erlang:now(), Term]), + Monitor = spawn_link(fun() -> amonitor(Term, S) end), + receive + {Monitor, ready} -> + Fun() + end. + +amonitor(Term, Parent) -> + process_flag(trap_exit, true), + Parent ! {self(), ready}, + receive + {'EXIT', Parent, Why} -> + io:format("process:~p dies at:~p ~p reason:~p~n", + [self(), erlang:now(), Term, Why]) + end. +keep_alive(Name, Fun) -> + register(Name, Pid = spawn(Fun)), + on_exit(Pid, fun(_Why) -> keep_alive(Name, Fun) end). + +%% make_global(Name, Fun) checks if there is a global process with the +%% registered name Name. If there is no process it spawns a process to +%% evaluate Fun() and registers it with the name Name. + + +make_global(Name, Fun) -> + S = self(), + Pid = spawn(fun() -> make_global(S, Name, Fun) end), + receive + {Pid, Reply} -> + Reply + end. + +make_global(Parent, Name, Fun) -> + case (catch register(Name, self())) of + true -> Fun(); + _ -> true + end, + Parent ! {self(), ok}. + +%% on_exit(Pid, Fun) links to Pid. If Pid dies with reason Why then +%% Fun(Why) is evaluated: + +on_exit(Pid, Fun) -> + spawn(fun() -> + Ref = monitor(process, Pid), %%
    +
  1. Fetch escript-4.1.tgz +
  2. Unpack. +
  3. Type make. +
  4. Move the file escript to somewhere in your path. +