From 718a810b5349a166c63010ada887112ecc6a7af6 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sun, 5 Dec 2021 19:59:15 -0500 Subject: Spelling --- editors/kak/autoload/filetype/bqn.kak | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/editors/kak/autoload/filetype/bqn.kak b/editors/kak/autoload/filetype/bqn.kak index f85f6431..bd4724e1 100644 --- a/editors/kak/autoload/filetype/bqn.kak +++ b/editors/kak/autoload/filetype/bqn.kak @@ -21,7 +21,7 @@ hook global WinSetOption filetype=bqn %¹ # + + + Conjugate | Add # - - - Negate | Subtract map buffer bqn '=' ':exec i×' -docstring '× Sign | Multiply' - map buffer bqn ':exec i÷' -docstring '÷ Recipical | Divide' + map buffer bqn ':exec i÷' -docstring '÷ Reciprocal | Divide' map buffer bqn '+' ':exec i⋆' -docstring '⋆ Exponential | Power' map buffer bqn '_' ':exec i√' -docstring '√ Square root | Root' map buffer bqn 'b' ':exec i⌊' -docstring '⌊ Floor | Minimum' @@ -86,7 +86,7 @@ hook global WinSetOption filetype=bqn %¹ map buffer bqn '[' ':exec i←' -docstring '← DEFINE' map buffer bqn '?' ':exec i⇐' -docstring '⇐ EXPORT' map buffer bqn "'" ':exec i↩' -docstring '↩ CHANGE' - map buffer bqn ';' ':exec i⋄' -docstring '⋄ SEPERATOR' + map buffer bqn ';' ':exec i⋄' -docstring '⋄ SEPARATOR' map buffer bqn '(' ':exec i⟨' -docstring '⟨ BEGIN LIST' map buffer bqn ')' ':exec i⟩' -docstring '⟩ END LIST' map buffer bqn ':exec i‿' -docstring '‿ STRAND' -- cgit v1.2.3 From ae7ce4965823c1670e79a7a06c6af166f48ad3ea Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sun, 5 Dec 2021 21:37:01 -0500 Subject: Fix broken sentence --- src/README.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/README.txt b/src/README.txt index 769bf4f5..a04d515f 100644 --- a/src/README.txt +++ b/src/README.txt @@ -23,8 +23,8 @@ Since it defines primitives, the runtime is only sort of BQN. This is why pr.bqn is required to process it. It's also compiled with a custom primitive set. -e.bqn and p.bqn also require the definitions from svg.bqn; they are -attached cjs.bqn. +e.bqn and p.bqn also require the definitions from ../svg.bqn; this file +is prepended by cjs.bqn. Some of these files are also used elsewhere: pp.bqn preprocesses other primitive-defining code in ../test/ref.bqn, and f.bqn is used to format -- cgit v1.2.3 From 1a60270ae7e77773f5c23c69c2fbe425ce47d2ef Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sun, 5 Dec 2021 22:03:18 -0500 Subject: Rework links to examples --- README.md | 6 ++---- docs/index.html | 5 ++--- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 83fb41b2..46172ef0 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ repl ← "div:cont" E ⟨ repl ∾< ∾(""Enc˜"script"Attr"src"⋈∾⟜".js")¨"bqn"‿"repl" --> -Want to learn and use a modern, powerful language centered on Ken Iverson's array programming paradigm? BQN **now provides**: +Looking for a modern, powerful language centered on Ken Iverson's array programming paradigm? BQN **now provides**: - A simple, consistent, and [stable](commentary/stability.md) array programming language - A low-dependency C implementation using bytecode compilation: [installation](running.md) @@ -36,7 +36,7 @@ BQN **will provide**: - A standard system to install and use libraries and packages, and support for package managers - Replace or extend primitives to make a BQN-like language suited for specialized domains -At present, I think BQN is a good choice for learning array programming, scripting, small- to medium-scale number crunching, and recreational programming. +At present, I think BQN is a good choice for learning array programming, scripting, medium-scale number crunching, and recreational programming. For some examples of BQN in action, this repository holds the dreaded [self-hosted compiler](src/c.bqn) and the friendlier [markdown processor](md.bqn) used to generate the site. See also my scripts at [bqn-libs](https://github.com/mlochbaum/bqn-libs), this [gnuplot interface](https://github.com/frasiyav/BQN-Gnuplot/blob/main/Gnuplot.bqn), some nicely commented Advent of Code 2021 [solutions](https://gitlab.com/icen/aoc21), or something else from the [community](community/README.md) page. ## What kind of name is "BQN"? @@ -60,8 +60,6 @@ But it's redesigned from the ground up, with many features new to the array para * [**New symbols**](keymap.md) for built-in functionality make the syntactic role of every primitive instantly visible, and aim to be more consistent and intuitive. * No-nonsense [**namespace syntax**](doc/namespace.md) encapsulates data and even allows for a little [object-oriented programming](doc/oop.md). -To see what a BQN program might look like, you can [gaze into the abyss](src/c.bqn) that is the self-hosted compiler, or try the friendlier [markdown processor](md.bqn) used to build this website. Or the collection of scripts at [bqn-libs](https://github.com/mlochbaum/bqn-libs). - Not sold? See [why BQN?](commentary/why.md) for an outline of what all these features add up to in terms of programming power. ## How do I work with the character set? diff --git a/docs/index.html b/docs/index.html index 9be86a93..c14dcff4 100644 --- a/docs/index.html +++ b/docs/index.html @@ -21,7 +21,7 @@ -

Want to learn and use a modern, powerful language centered on Ken Iverson's array programming paradigm? BQN now provides:

+

Looking for a modern, powerful language centered on Ken Iverson's array programming paradigm? BQN now provides:

  • A simple, consistent, and stable array programming language
  • A low-dependency C implementation using bytecode compilation: installation
  • @@ -35,7 +35,7 @@
  • A standard system to install and use libraries and packages, and support for package managers
  • Replace or extend primitives to make a BQN-like language suited for specialized domains
-

At present, I think BQN is a good choice for learning array programming, scripting, small- to medium-scale number crunching, and recreational programming.

+

At present, I think BQN is a good choice for learning array programming, scripting, medium-scale number crunching, and recreational programming. For some examples of BQN in action, this repository holds the dreaded self-hosted compiler and the friendlier markdown processor used to generate the site. See also my scripts at bqn-libs, this gnuplot interface, some nicely commented Advent of Code 2021 solutions, or something else from the community page.

What kind of name is "BQN"?

It's three letters, that happen to match the capitals in "Big Questions Notation". You can pronounce it "bacon", but are advised to avoid this unless there's puns.

What's the language like?

@@ -58,7 +58,6 @@
  • New symbols for built-in functionality make the syntactic role of every primitive instantly visible, and aim to be more consistent and intuitive.
  • No-nonsense namespace syntax encapsulates data and even allows for a little object-oriented programming.
  • -

    To see what a BQN program might look like, you can gaze into the abyss that is the self-hosted compiler, or try the friendlier markdown processor used to build this website. Or the collection of scripts at bqn-libs.

    Not sold? See why BQN? for an outline of what all these features add up to in terms of programming power.

    How do I work with the character set?

    Right at the beginning, you can use the bar above the online REPL to enter BQN code: hover over a character to see a short description, and click to insert it into the editor. But you'll soon want to skip the clicking and use keyboard input. I type the special characters using a backslash escape, so that, for example, typing \ then z writes (the backslash character itself is not used by BQN). The online REPL supports this method out of the box, and the editor plugins include or link to ways to enable it for editors, browsers, shells, and so on.

    -- cgit v1.2.3 From 391c2ce8c5736045c4c0c6b64adc7d974ce3e55b Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sun, 5 Dec 2021 22:06:36 -0500 Subject: Dead link --- community/README.md | 2 +- docs/community/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/community/README.md b/community/README.md index f57e89b8..31b9238e 100644 --- a/community/README.md +++ b/community/README.md @@ -38,7 +38,7 @@ And the links below point to BQN submissions on some sites that encourage shorte And also: -- Some reference pages: [compact functions](https://pastebin.com/raw/ynsghrHM), [compact everything](https://xj-ix.luxe/wiki/bqn/bqn.txt), [big everything](https://gist.github.com/dzaima/52b47f898c5d43f72dc2637d6cdadedd) +- Some reference pages: [compact functions](https://pastebin.com/raw/ynsghrHM), [big everything](https://gist.github.com/dzaima/52b47f898c5d43f72dc2637d6cdadedd) - Asher Mancinelli's [youtube channel](https://www.youtube.com/channel/UCZ5sL4E662VP1ZwC4h85ttQ) includes walkthroughs of BQN programs. - Lukas Hermann writes some [Observable notebooks](https://observablehq.com/@lsh?tab=notebooks) based on BQN. - [BQN fan art](fanart.md) diff --git a/docs/community/index.html b/docs/community/index.html index 7e43635f..ddfd6a8c 100644 --- a/docs/community/index.html +++ b/docs/community/index.html @@ -38,7 +38,7 @@

    And also:

      -
    • Some reference pages: compact functions, compact everything, big everything
    • +
    • Some reference pages: compact functions, big everything
    • Asher Mancinelli's youtube channel includes walkthroughs of BQN programs.
    • Lukas Hermann writes some Observable notebooks based on BQN.
    • BQN fan art
    • -- cgit v1.2.3 From ee67af89c07ac25e4c1a1889f089a73a238686eb Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sun, 5 Dec 2021 22:11:52 -0500 Subject: Merge fanart.md into community README --- community/README.md | 9 ++++++++- docs/commentary/fanart.html | 2 +- docs/community/fanart.html | 15 +++++++-------- docs/community/index.html | 5 ++++- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/community/README.md b/community/README.md index 31b9238e..07f5c54d 100644 --- a/community/README.md +++ b/community/README.md @@ -41,7 +41,14 @@ And also: - Some reference pages: [compact functions](https://pastebin.com/raw/ynsghrHM), [big everything](https://gist.github.com/dzaima/52b47f898c5d43f72dc2637d6cdadedd) - Asher Mancinelli's [youtube channel](https://www.youtube.com/channel/UCZ5sL4E662VP1ZwC4h85ttQ) includes walkthroughs of BQN programs. - Lukas Hermann writes some [Observable notebooks](https://observablehq.com/@lsh?tab=notebooks) based on BQN. -- [BQN fan art](fanart.md) + +### Fan art + +[Wezl](https://codeberg.org/wezl) has provided a view into the BQN programmer in 𝕩e's typical place of residence. + +[Depiction](https://ermineii.github.io/paste/#0fZExDoMwDEX3nOKPZPIZWCJ54gA18gWQuvb4dSghjtP2C2XgPcX4k3BHQ9JNCCGSJrSqrhGyl@R6N1H250w3bMD@neph3@lueAaB6lI2uQkUOJPAHm48DjDwqufIqfzMubuvy27XvszVztAnk6p4oypj48yHZubxDywIDiM4yKm13iQphYZZZyWCZe8OCqTPf@RPa6J/Qm8%23DYs7DoMwEAV7n@J1fCQMQenSYeUQlICXZCXYEHuROD4rTTWjWX@iZTHz5@CrqF5YeSOZdjL3Fz8l9XqpBefaGvrlDKNcKgSKiRfCO@0sxIy@6x8OwGZWMkWcEinZQwihGUY8fYe6vQE), [remodel](https://ermineii.github.io/paste/#0jZA7DsQgDER7TuFyU/kMKUCytsgBMPIFIm27x18gJHxDdoQoeKPBHgVZUktlglCLVYdWkbWDVHg4PXWUyrunG2wAbkxl93MWCZ/GgGEn//NpwIYTMvhDJ28/8OAb7pqjuVXcPbfls6/xiuqKOglFuHZES/FCtMtCtSVOUnkIHj1sDMLAw/ByLjUMBvgYz1q7HEsYp3XYi2UiX4q62nuPlbieSk0jmij4I@k@7gc%23Fcu7CsJAEIXhfp/ikCYXcBODYBFsDD6BlWXcncSBzRg3I0Sf3hVO9R3@icTZVT@B7PgUvfKXcEJ2XDTrzF@K/M7Twltedhg5kAwzJXuJHaJa3TQdxtQV9MEr0gpXoicf2REucWYhZrRNuzcAQlJZyeMtnmJqCH2/O99wsA2q@gc), [animation](https://ermineii.github.io/paste/#07ZhLbuMwDIavInTVAAV4hmwM/Cujm26qQBco0gFmk@MPqYdFSZbtboJMKsFxYPK3HuRHR87ni1maq5q9Li4yVbM2exfn2blz64aWWRuNrR/6vOKezWzMpeN2Xzxh1cd3rSBZngyfJFQrQOyVD5KkGYY9NzlXApq6LQZCx0@GcHldS7SKGIM4/laLgqpMBPDlTkCdmFdTqWAqlTlxXykXSWbtNFExZAgS614vWWYmtuR5fJ5iKK11G41e3gZqd0aNfAgK1lrUINM1JWstajwPRs0Am6ixm1ErVSuoMWlmmkzJWouakGY0awO1R0WNYgQ0aw1qTFoQFrA1rEFWYR1MwVEDGzuDqsStoQ3pqsCtoS3ApnEbtD0obbTkV@FW0yawRaXGraZNpiEqLwS6uInLy2oua94QhxSdJq4GLvGmiBvA/ffAiWCXN57OEdw8Skdpuw3afh1t4T3ikXHzT8zB21PwRpE39mwChwQcNoFDAg47wIUNIxNHx4ibBnHPQlz4p8TaXeQQkMMOcgjIYR@5sNW70WDu1zHH87X2CHMQ5rDLHI4zJ@0odGYw90TMUQZgBzqkr23matUWcn4Cd0DOUyP3XAuT31hURoqbx2tlK2FLtrNOXk7finFaU0bEUmK1kdaU2DH6pVdG/ydroXQOPpx@q7SYWad5gy9UUDUULdv1@A7gzUzBzMu@5R2YFyOMnzdc0TrLtUPaz6cuQk6R9u9BndIMVbJqxeKmRZzMAYFDIcvGzGiRnIWzwroqLY1OGSklV7HxnZ9TH@X9yUwlmt5KNcTyNGnI5h7FNorgvkXw/oMieB9FMIpg/BKMIhhF8EBFINerhRDCs1oO/qWhVxSO@qUh57lXIaHjTp3w8adbLerOpmb4@NutHN8RjfpZq5/LPw%23PY5NT8MwDIbv/RVWL2kHS8s0CYl@HKiQOMAJLki7ZIlXDKkTNZlE@fWkDGH5ZPl9nndE1jLExaI8OY4v9I3Qgbj1UTSwXgpxpNHTlygbCBiDRzRFLet92WTwN@MKIWacH1@fn1I@b/2MQKYTimlSkRwL@LV0YoVuT2oiu9zBIb/QD/k1TI5d8Eqj6Nsq5fv86t8ACXk8x@gYHGtL@rMT3qqlKEXvwYKCpa0uD32eipNFVhMWwqsQUa4t5EdILVLrLKs2EN8pQNpClzCgmUkjPMwTMRLBrt7drOrkQQ5o4MwG55RBGIbt/RvsZQ2b6gc). + +*Links contain the encoded art, which is CC-BY 4.0: see the "setup JS" pane.* ## Can I help out? diff --git a/docs/commentary/fanart.html b/docs/commentary/fanart.html index 04f8b752..57141051 100644 --- a/docs/commentary/fanart.html +++ b/docs/commentary/fanart.html @@ -1,7 +1,7 @@ - + Redirect (moved to community/ folder) diff --git a/docs/community/fanart.html b/docs/community/fanart.html index cf859fad..f287cd7d 100644 --- a/docs/community/fanart.html +++ b/docs/community/fanart.html @@ -1,10 +1,9 @@ + + - - - BQN art + - -

      BQN art

      -

      Wezl has provided a view into the BQN programmer in 𝕩e's typical place of residence.

      -

      Depiction, remodel, animation.

      -

      Links contain the encoded art, which is CC-BY 4.0: see the "setup JS" pane.

      + + Redirect (merged into community/ main page) + + diff --git a/docs/community/index.html b/docs/community/index.html index ddfd6a8c..04cdaaea 100644 --- a/docs/community/index.html +++ b/docs/community/index.html @@ -41,8 +41,11 @@
    • Some reference pages: compact functions, big everything
    • Asher Mancinelli's youtube channel includes walkthroughs of BQN programs.
    • Lukas Hermann writes some Observable notebooks based on BQN.
    • -
    • BQN fan art
    +

    Fan art

    +

    Wezl has provided a view into the BQN programmer in 𝕩e's typical place of residence.

    +

    Depiction, remodel, animation.

    +

    Links contain the encoded art, which is CC-BY 4.0: see the "setup JS" pane.

    Can I help out?

    Certainly! There are never enough hours in the day and contributors from beginner to advanced programmers are all welcome. If you're interested I recommend you ask on the forums first to get a feel for what exactly is needed.

    You will certainly feel an urge to skip this paragraph and get to the fun stuff, but the most important resource for implementing a language is testing and the most valuable one for building a language community is accessible introductions to the language and learning materials. These are both very demanding, but if you're willing to put in the work to advance BQN in the most effective way then this is it. One form of documentation that many users would appreciate is short descriptions—a sentence or two with examples—of the primitives for each glyph that can be displayed as help in the REPL. To be honest I'm lousy at making these and would prefer for someone else to do it.

    -- cgit v1.2.3