├── .gitignore ├── .travis.yml ├── Dockerfile ├── LICENSE ├── META6.json ├── Makefile ├── README.md ├── app.pl ├── bin ├── perldoc ├── pod2man ├── pod2text ├── pod2xhtml ├── podserver ├── prove ├── rpn1 ├── rpn2 ├── rpn3 └── run-examples.pl ├── categories ├── 99-problems │ ├── 99-problems.pod │ ├── L-99_Ninety-Nine_Lisp_Problems.html │ ├── P01-scottp.pl │ ├── P01-topo.pl │ ├── P02-scottp.pl │ ├── P02-topo.pl │ ├── P03-scottp.pl │ ├── P03-topo.pl │ ├── P04-scottp.pl │ ├── P04-topo.pl │ ├── P05-scottp.pl │ ├── P05-topo.pl │ ├── P06-ajs.pl │ ├── P06-scottp.pl │ ├── P06-topo.pl │ ├── P07-eric256.pl │ ├── P07-topo.pl │ ├── P07-viklund.pl │ ├── P08-eric256.pl │ ├── P08-topo.pl │ ├── P08-viklund.pl │ ├── P09-rje.pl │ ├── P09-scottp.pl │ ├── P09-topo.pl │ ├── P09-unobe.pl │ ├── P10-scottp.pl │ ├── P10-topo.pl │ ├── P10-unobe.pl │ ├── P11-topo.pl │ ├── P11-unobe.pl │ ├── P12-rhebus.pl │ ├── P12-topo.pl │ ├── P12-unobe.pl │ ├── P13-rhebus.pl │ ├── P13-topo.pl │ ├── P13-viklund.pl │ ├── P14-scottp.pl │ ├── P14-topo.pl │ ├── P14-viklund.pl │ ├── P15-rhebus.pl │ ├── P15-topo.pl │ ├── P15-unobe.pl │ ├── P16-edpratomo.pl │ ├── P16-topo.pl │ ├── P17-topo.pl │ ├── P17-unobe.pl │ ├── P18-topo.pl │ ├── P19-topo.pl │ ├── P20-rhebus.pl │ ├── P20-topo.pl │ ├── P21-scottp.pl │ ├── P21-topo.pl │ ├── P22-scottp.pl │ ├── P22-topo.pl │ ├── P23-topo.pl │ ├── P24-topo.pl │ ├── P25-topo.pl │ ├── P26-topo.pl │ ├── P31-rhebus.pl │ ├── P32-rhebus.pl │ ├── P33-rhebus.pl │ ├── P34-rhebus.pl │ ├── P35-rhebus.pl │ ├── P36-ovid.pl │ ├── P36-rhebus.pl │ ├── P37-rhebus.pl │ ├── P39-rhebus.pl │ ├── P40-rhebus.pl │ ├── P41-rhebus.pl │ ├── P91-edpratomo.pl │ └── README.md ├── best-of-rosettacode │ ├── 100-doors.pl │ ├── 24-game.pl │ ├── README.md │ ├── accumulator-factory.pl │ ├── ackermann-function.pl │ ├── arbitrary-precision-integers.pl │ ├── balanced-brackets.pl │ ├── binomial-coefficient.pl │ ├── copy-a-string.pl │ ├── create-a-two-dimensional-array-at-runtime.pl │ ├── hailstone-sequence.pl │ ├── last-fridays-of-year.pl │ └── prime-decomposition.pl ├── cookbook │ ├── 01strings │ │ ├── 01-00introduction.raku │ │ ├── 01-01substrings.raku │ │ ├── 01-03exchanging-values.raku │ │ ├── 01-04converting-values.raku │ │ ├── 01-05namedunicode.raku │ │ ├── 01-07reversing-strings.raku │ │ ├── 01-13upper-lower-case.raku │ │ ├── 01-19trim-whitespace.raku │ │ └── 01-22soundex-matching.raku │ ├── 02numbers │ │ ├── 02-01valid-number.raku │ │ ├── 02-05-roman-numerals.raku │ │ ├── 02-12taking-logarithms.raku │ │ ├── 02-14complex-number.raku │ │ └── 02-15convert-bases.raku │ ├── 03dates-and-times │ │ ├── 03-01-todays-date.raku │ │ ├── 03-02-datetime-to-epoch.raku │ │ ├── 03-03-epoch-to-datetime.raku │ │ ├── 03-04-date-add-sub.raku │ │ ├── 03-05-sub-two-dates.raku │ │ ├── 03-06-day-to-num-wmy.raku │ │ ├── 03-07-datetime-parse-from-str.pl.TODO │ │ ├── 03-09-hires-times.raku │ │ └── 03-10-short-sleeps.pl.TODO │ ├── 04arrays │ │ ├── 04-01specifying-a-list-in-your-program.raku │ │ ├── 04-02printing-a-list-with-commas.raku │ │ └── 04-05iterating-over-an-array.raku │ ├── 05hashes │ │ └── 05-05traversing.raku │ ├── 06pattern-matching │ │ ├── 06-01-copy-subst.raku │ │ └── 06-02-match-letters.raku │ ├── 07file-access │ │ ├── 07-01opening_file.raku │ │ └── test_file │ ├── 08file-contents │ │ ├── 08-02-count-lines.raku │ │ ├── 08-03-process-words.raku │ │ └── 08-04-read-file-lines-backwards.raku │ ├── 09directories │ │ ├── 09-01-get-set-filetime.raku │ │ ├── 09-02-delete-file.raku │ │ ├── 09-03-copy-move-file.raku │ │ ├── 09-05-all-files-dir.raku │ │ ├── 09-06-filenames-matching-pattern.raku │ │ ├── 09-07-all-files-process.raku │ │ ├── 09-08-remove-directory_contents.pl.TODO │ │ ├── 09-10-filename-splitting.raku │ │ └── 09-11-all-files-lazy.raku │ ├── 10subroutines │ │ └── 10-01arguments.raku │ ├── 13classes-objects-and-ties │ │ ├── 13-01constructing-an-object.raku │ │ ├── 13-03managing-instance-data.raku │ │ ├── 13-04managing-class-data.raku │ │ └── 13-14overloading-operators.raku │ ├── 14database-access │ │ └── 14-09-dbi-sql.raku │ ├── 15interactivity │ │ ├── 15-01-parse-program-args.raku │ │ ├── 15-02-test-interactive-program.raku │ │ ├── 15-03-clear-screen.raku │ │ ├── 15-04-changing-text-colour.raku │ │ └── 15-05-get-char.t │ ├── 16processes │ │ ├── 16-01-operation-timeout.raku │ │ ├── 16-13-listing-signals.raku │ │ ├── 16-14-send-signal.raku │ │ └── 16-18-catch-control-c.raku │ ├── 17sockets │ │ ├── 17-01tcp_client.raku │ │ └── 17-02tcp_server.raku │ ├── 19cgi-programming │ │ └── 19-01cgi-script.raku │ ├── 20web-automation │ │ └── 20-01-fetching-uri.raku │ └── README.md ├── euler │ ├── README.md │ ├── base_exp.txt │ ├── cipher.txt │ ├── matrix.txt │ ├── names.txt │ ├── poker.txt │ ├── prob001-cspencer.pl │ ├── prob001-eric256.pl │ ├── prob001-grondilu.pl │ ├── prob001-hexmode.pl │ ├── prob001-unobe.pl │ ├── prob002-eric256.pl │ ├── prob002-gerdr.pl │ ├── prob002-hexmode.pl │ ├── prob003-eric256.pl │ ├── prob003-gerdr.pl │ ├── prob003-hexmode.pl │ ├── prob003-lanny.pl │ ├── prob004-unobe.pl │ ├── prob004-xfix.pl │ ├── prob005-unobe.pl │ ├── prob005-xfix.pl │ ├── prob006-polettix.pl │ ├── prob007-polettix.pl │ ├── prob008-duff.pl │ ├── prob008-duff2.pl │ ├── prob009-gerdr-feeds.raku │ ├── prob009-gerdr.raku │ ├── prob009-polettix.pl │ ├── prob010-polettix.pl │ ├── prob011-moritz.pl │ ├── prob012-polettix.pl │ ├── prob013-grondilu.pl │ ├── prob014-felher.pl │ ├── prob015-felher.pl │ ├── prob016-grondilu.pl │ ├── prob017-duff.pl │ ├── prob018-felher.pl │ ├── prob019-grondilu.pl │ ├── prob020-grondilu.pl │ ├── prob021-gerdr.pl │ ├── prob022-grondilu.pl │ ├── prob023-shlomif.pl │ ├── prob024-moritz.pl │ ├── prob025-polettix.pl │ ├── prob026-shlomif.pl │ ├── prob027-shlomif.pl │ ├── prob028-shlomif.pl │ ├── prob029-gerdr.pl │ ├── prob029-polettix.pl │ ├── prob030-andreoss.pl │ ├── prob031-shlomif.pl │ ├── prob032-andreoss.pl │ ├── prob033-andreoss.pl │ ├── prob034-quinny.pl │ ├── prob036-xenu.pl │ ├── prob038-andreoss.pl │ ├── prob039-quinny.pl │ ├── prob041-heyajulia-alternative.raku │ ├── prob041-heyajulia.raku │ ├── prob042-shlomif.p6 │ ├── prob047-gerdr.c │ ├── prob047-gerdr.pl │ ├── prob052-duff.pl │ ├── prob053-duff.pl │ ├── prob053-gerdr.pl │ ├── prob054-andreoss.pl │ ├── prob055-shlomif.p6 │ ├── prob056-shlomif.p6 │ ├── prob059-andreoss.pl │ ├── prob060-andreoss.pl │ ├── prob062-grondilu.p6.asc │ ├── prob063-moritz.pl │ ├── prob063-polettix.pl │ ├── prob065-andreoss.pl │ ├── prob065-grondilu.pl │ ├── prob066-andreoss.pl │ ├── prob067-felher.pl │ ├── prob080-andreoss.pl │ ├── prob081-moritz.pl │ ├── prob089-andreoss.pl │ ├── prob092-moritz.pl │ ├── prob097-andreoss.pl │ ├── prob098-andreoss.pl │ ├── prob099-andreoss.pl │ ├── roman.txt │ ├── triangle.txt │ └── words.txt ├── games │ ├── blackjack.p6 │ ├── connect4.p6 │ ├── flashcard.p6 │ ├── hangman.p6 │ ├── tictactoe.p6 │ └── yahtzee.p6 ├── interpreters │ ├── RPN.pl │ ├── brainfuck.p6 │ ├── calc.p6 │ └── lisp.pl ├── module-management │ └── Fletcher.pl ├── other │ ├── array-contains-a-value.pl │ ├── bottles.pl │ ├── combinations.pl │ └── malware_analysis.raku ├── parsers │ ├── CSSGrammar.pm │ ├── Newick.pm │ └── SimpleStrings.pm ├── perlmonks │ ├── README.md │ ├── combinations-731808.pl │ └── weighted-roll-731696.pl ├── rosalind │ ├── A2Z669.fasta │ ├── B5ZC00.fasta │ ├── P07204_TRBM_HUMAN.fasta │ ├── P20840_SAG1_YEAST.fasta │ ├── Q5SLP9.txt │ ├── README.md │ ├── afrq-grondilu.pl │ ├── aspc-grondilu.pl │ ├── cons-grondilu.pl │ ├── conv-grondilu.pl │ ├── cstr-grondilu.pl │ ├── ctbl-grondilu.pl │ ├── dbpr-grondilu.pl │ ├── dna-gerdr.pl │ ├── dna-grondilu.pl │ ├── eubt-grondilu.pl │ ├── eval-grondilu.pl │ ├── fib-grondilu.pl │ ├── fibd-grondilu.pl │ ├── gc-gerdr.pl │ ├── grph-grondilu.pl │ ├── hamm-grondilu.pl │ ├── iev-grondilu.pl │ ├── indc-grondilu.pl │ ├── iprb-grondilu.pl │ ├── itwv-grondilu.pl │ ├── lcsq-grondilu.pl │ ├── lcsq.c │ ├── lia-grondilu.pl │ ├── lrep-grondilu-p5.pl │ ├── mmch-grondilu.pl │ ├── monoisotopic-mass-table.txt │ ├── mprt-grondilu.pl │ ├── mrna-grondilu.pl │ ├── nwck-grondilu.pl │ ├── orf-grondilu.pl │ ├── pmch-grondilu.pl │ ├── pper-grondilu.pl │ ├── prob-grondilu.pl │ ├── qrt-grondilu.pl │ ├── revc-gerdr.pl │ ├── rna-gerdr.pl │ ├── rosalind_trie.txt │ ├── rstr-grondilu.pl │ ├── sexl-grondilu.pl │ ├── sgra-grondilu.pl │ ├── spec-grondilu.pl │ ├── sseq-grondilu.pl │ ├── subs-grondilu.pl │ ├── suff-grondilu.pl │ ├── tran-grondilu.pl │ └── trie-grondilu.pl ├── shootout │ ├── RESULTS │ ├── fasta.p5.pl │ ├── fasta.p6 │ ├── k-nucleotide.input │ ├── k-nucleotide.p5.pl │ ├── k-nucleotide.p6 │ ├── mandelbrot.p6 │ ├── n-body-v2.p6 │ ├── n-body.p5.pl │ ├── n-body.p6 │ ├── regex-dna.input │ ├── regex-dna.p5.pl │ ├── regex-dna.p6 │ ├── revcomp-v2.p6 │ ├── revcomp.input │ ├── revcomp.p5.pl │ └── revcomp.p6 ├── tutorial │ ├── 01-read-from-file.pl │ ├── 01-read-from-terminal.pl │ ├── 01-word-wrap.pl │ ├── 01-write-to-file.pl │ ├── lazy-evaluation.pl │ ├── lorem.txt │ └── output.txt └── wsg │ ├── README.md │ ├── advanced-2008 │ ├── event001-eric256.pl │ ├── event002-eric256.pl │ ├── event005-eric256.pl │ ├── event010-dwhipp.p6 │ ├── skaters.txt │ └── wordlist.txt │ ├── beginner-2007 │ └── event003-eric256.pl │ └── beginner-2008 │ ├── coffee.txt │ ├── event001-eric256.pl │ ├── event001-j1n3l0.pl │ ├── event001-unobe.pl │ ├── event003-unobe.pl │ ├── event006-eric256.pl │ ├── event006-j1n3l0.pl │ ├── event008-eric256.pl │ ├── event008-j1n3l0.pl │ ├── event010-eric256.pl │ ├── test1.txt │ ├── test2.txt │ ├── test3.txt │ ├── test4.txt │ └── test5.txt ├── doc ├── README.md ├── bin-rpn.pod └── example-template.pl ├── html ├── css │ ├── style.css │ └── vim.css └── images │ ├── camelia-faded.png │ ├── camelia-small.png │ └── camelia.png ├── htmlify.pl ├── lib ├── .gitignore ├── Examples.rakumod ├── Examples │ └── Categories.rakumod ├── HomePage.rakudoc └── Pod │ ├── Convenience.rakumod │ ├── Htmlify.rakumod │ ├── Parser.rakumod │ └── To │ └── Perl.rakumod ├── t ├── 000-check-dependencies.t ├── 001-example.t ├── 002-category.t ├── 003-categories.t ├── 004-website.t ├── categories │ ├── 99-problems.t │ ├── best-of-rosettacode.t │ ├── cookbook │ │ ├── 01strings.t │ │ ├── 02numbers.t │ │ ├── 03dates-and-times.t │ │ ├── 04arrays.t │ │ ├── 05hashes.t │ │ ├── 07file-access.t │ │ ├── 09directories.t │ │ ├── 10subroutines.t │ │ ├── 13classes-objects-and-ties.t │ │ ├── 14database-access.t │ │ └── 17sockets.t │ ├── euler.t │ ├── parsers │ │ ├── CSSGrammar.t │ │ └── SimpleStrings.t │ ├── rosalind.t │ ├── shootout.t │ ├── tutorial.t │ └── wsg │ │ ├── advanced-2008.t │ │ ├── beginner-2007.t │ │ └── beginner-2008.t └── test-meta.t ├── template ├── footer.html ├── head.html └── header.html └── util ├── sync ├── sync-build-log └── update-and-sync /.gitignore: -------------------------------------------------------------------------------- 1 | *.so 2 | *.o 3 | html/*.html 4 | html/categories 5 | categories/wsg/beginner-2008/newfile.txt 6 | *.un~ 7 | .precomp 8 | .idea -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | 3 | language: perl6 4 | 5 | perl6: 6 | - latest 7 | - '2018.06' 8 | 9 | install: 10 | - rakudobrew build zef 11 | 12 | script: 13 | - make test 14 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # building base alpine + install the perl6 from repository rakudo-pkg 2 | FROM alpine:3.10 as base 3 | RUN apk add --update --no-cache build-base wget git curl vim \ 4 | && wget https://github.com/nxadm/rakudo-pkg/releases/download/v2020.01/rakudo-pkg-Alpine3.10_2020.01-01_x86_64.apk && \ 5 | apk add --allow-untrusted rakudo-pkg-Alpine3.10_2020.01-01_x86_64.apk 6 | 7 | ENV PATH=$PATH:/opt/rakudo-pkg/bin 8 | 9 | RUN mkdir -p /opt/perl6-examples \ && git clone https://github.com/perl6/perl6-examples /opt/perl6-examples \ 10 | && cd /opt/perl6-examples && zef --/test --test-depends --deps-only install . && make html 11 | 12 | # running daemon perl6-examples 13 | FROM alpine:3.10 14 | RUN apk add perl perl-mojolicious 15 | COPY --from=base /opt/perl6-examples /opt 16 | EXPOSE 3000 17 | CMD cd /opt && perl app.pl daemon 18 | -------------------------------------------------------------------------------- /META6.json: -------------------------------------------------------------------------------- 1 | { 2 | "perl" : "6.*", 3 | "name" : "raku-examples", 4 | "version" : "0.0.1", 5 | "auth" : "github:Raku", 6 | "license" : "Artistic-2.0", 7 | "description" : "Many examples of Raku code", 8 | "depends" : [ "URI", "Pod::To::HTML", "LWP::Simple", "Algorithm::Soundex", 9 | "DBIish", "File::Find", "File::Temp", "Text::VimColour", 10 | "HTTP::Easy", "Terminal::ANSIColor", "Web::Request", "HTML::Escape", 11 | "Term::termios" ], 12 | "test-depends" : [ "Test", "Test::META" ], 13 | "source-url" : "git://github.com/Raku/examples.git", 14 | "provides" : { 15 | "Examples" : "lib/Examples.rakumod", 16 | "Examples::Categories" : "lib/Examples/Categories.rakumod", 17 | "Examples::Example" : "lib/Examples.rakumod", 18 | "Pod6" : "lib/Pod/Parser.rakumod", 19 | "Pod6Block" : "lib/Pod/Parser.rakumod", 20 | "Context" : "lib/Pod/Parser.rakumod", 21 | "Pod::Parser" : "lib/Pod/Parser.rakumod", 22 | "Pod::To::Perl" : "lib/Pod/To/Perl.rakumod" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: html run-all test help 2 | 3 | help: 4 | @echo "Usage: make