|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
#######
#
# E-scripts on APL.
#
# Note 1: use the eev command (defined in eev.el) and the
# ee alias (in my .zshrc) to execute parts of this file.
# Executing this file as a whole makes no sense.
# An introduction to eev can be found here:
#
# (find-eev-quick-intro)
# http://angg.twu.net/eev-intros/find-eev-quick-intro.html
#
# Note 2: be VERY careful and make sure you understand what
# you're doing.
#
# Note 3: If you use a shell other than zsh things like |&
# and the for loops may not work.
#
# Note 4: I always run as root.
#
# Note 5: some parts are too old and don't work anymore. Some
# never worked.
#
# Note 6: the definitions for the find-xxxfile commands are on my
# .emacs.
#
# Note 7: if you see a strange command check my .zshrc -- it may
# be defined there as a function or an alias.
#
# Note 8: the sections without dates are always older than the
# sections with dates.
#
# This file is at <http://angg.twu.net/e/apl.e>
# or at <http://angg.twu.net/e/apl.e.html>.
# See also <http://angg.twu.net/emacs.html>,
# <http://angg.twu.net/.emacs[.html]>,
# <http://angg.twu.net/.zshrc[.html]>,
# <http://angg.twu.net/escripts.html>,
# and <http://angg.twu.net/>.
#
#######
# «.aplwiki» (to "aplwiki")
# «.apl-chars» (to "apl-chars")
# «.J» (to "J")
# «.J-2011» (to "J-2011")
# «.learning-J» (to "learning-J")
# «.J-help» (to "J-help")
# «.J-primer» (to "J-primer")
# «.Kx» (to "Kx")
# «.J-plotting» (to "J-plotting")
# «.merge-overlapping» (to "merge-overlapping")
# «.april» (to "april")
# «.BQN» (to "BQN")
# «.lets-build» (to "lets-build")
# «.dyalog» (to "dyalog")
# «.eepitch-dyalog» (to "eepitch-dyalog")
# «.dyalog-apl-input» (to "dyalog-apl-input")
http://www.google.com.br/url?sa=t&source=web&cd=3&ved=0CCcQFjAC&url=http%3A%2F%2Fwww.emacswiki.org%2Femacs-en%2FAplInDebian&ei=dnDaTYHoLcndgQfAkJFX&usg=AFQjCNF2LXQAK0cuJkPXP5KcHWnBP17CDw
http://web.student.tuwien.ac.at/~e0225855/unicapl/unicapl.html
http://www.emacswiki.org/emacs-en/AplInDebian
http://lambda-the-ultimate.org/node/4271
ftp://rtfm.mit.edu/pub/usenet-by-group/comp.lang.apl/APL_language_FAQ
http://www.thefreecountry.com/compilers/apl.shtml
apti aplus-fsf-dev
# (find-status "aplus-fsf-dev")
# (find-vldifile "aplus-fsf-dev.list")
# (find-udfile "aplus-fsf-dev/")
# (find-status "aplus-fsf-doc")
# (find-vldifile "aplus-fsf-doc.list")
# (find-udfile "aplus-fsf-doc/")
# (find-status "aplus-fsf-el")
# (find-vldifile "aplus-fsf-el.list")
# (find-udfile "aplus-fsf-el/")
# (find-status "aplus-fsf")
# (find-vldifile "aplus-fsf.list")
# (find-udfile "aplus-fsf/")
#####
#
# The APL Wiki
# 2023jan12
#
#####
# «aplwiki» (to ".aplwiki")
# https://aplwiki.com/
# (find-fline "~/LOGS/2023jan12.emacs" "APL Wiki")
#####
#
# APL chars
# 2012nov20
#
#####
# «apl-chars» (to ".apl-chars")
# http://www.emacswiki.org/emacs-en/AplInDebian#toc7
# http://stud4.tuwien.ac.at/~e0225855/unicapl/apl.el
# http://www.emacswiki.org/emacs/inferior-apl.el
# http://www.emacswiki.org/emacs/download/inferior-apl.el
# (find-zsh "dmissing apl.el")
#####
#
# J
# 2024jan17
#
#####
# «J» (to ".J")
# (find-angg ".emacs" "J")
# https://www.jsoftware.com/#/
# https://www.jsoftware.com/#/README
# https://github.com/jsoftware
# https://github.com/jsoftware/jsource
# https://code.jsoftware.com/wiki/Main_Page
# https://code.jsoftware.com/wiki/System/Installation
# https://code.jsoftware.com/wiki/System/Installation/J9.5
# https://code.jsoftware.com/wiki/System/Installation/J9.5/Zips
# https://www.jsoftware.com/download/j9.5/install/j9.5_linux64.tar.gz
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rv ~/usrc/j9.5/
tar -C ~/usrc/ -xvzf \
$S/https/www.jsoftware.com/download/j9.5/install/j9.5_linux64.tar.gz
cd ~/usrc/j9.5/
./jconsole.sh
i.10
# (code-c-d "j95" "~/usrc/j9.5/")
# (find-j95file "")
# (find-j95sh "find * | sort")
# (defun eepitch-J () (interactive) (eepitch-comint "J" "~/usrc/j9.5/jconsole.sh"))
* (eepitch-J)
* (eepitch-kill)
* (eepitch-J)
i.10
i.8
2+i.8
4 ^ 3
3 ^~ 4
3 ^~ 2+i.8
#####
#
# J-2011
# 2024jan17
#
#####
# «J-2011» (to ".J-2011")
# http://en.wikipedia.org/wiki/J_(programming_language)
# http://www.jsoftware.com/help/primer/contents.htm
# http://www.jsoftware.com/help/primer/get_started.htm
# http://www.jsoftware.com/stable.htm
# http://www.jsoftware.com/download/j701a_linux32.sh
# http://www.jsoftware.com/download/j701_b_source.tar.gz
# http://www.jsoftware.com/source.htm
# http://www.jsoftware.com/jwiki/Interfaces/GTK
# http://www.jsoftware.com/jwiki/Guides/Gtk%20IDE
# http://www.jsoftware.com/jwiki/System/Installation/J701/Gtk
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd $S/http/www.jsoftware.com/download/
rm -Rv ~/usrc/j/
mkdir ~/usrc/j/
sh j701a_linux32.sh -install ~/usrc/j/
# (find-fline "~/usrc/j/j701/")
# (code-c-d "J" "~/usrc/j/j701/")
# (find-Jfile "")
# (find-Jfile "bin/")
# (find-Jsh "find * | sort")
# (find-Jfile "addons/docs/")
# (find-Jfile "addons/docs/gtk/tutorial/")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/usrc/j/j701/bin/
laf
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rv ~/usrc/jgplsrc/
tar -C ~/usrc/ -xvzf \
$S/http/www.jsoftware.com/download/j701_b_source.tar.gz
cd ~/usrc/jgplsrc/
./bin/build_libj |& tee oblj
# (find-Jsrcfile "bin/build_libj")
# (find-Jsrcfile "bin/")
# (find-Jsrcfile "make.txt")
# (code-c-d "Jsrc" "~/usrc/jgplsrc/")
# (find-Jsrcfile "")
# (find-Jsrcfile "docs/")
# (find-Jsrcfile "docs/ioj/")
# (find-Jsrcfile "docs/readme.txt")
# (find-Jsrcfile "test/")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/usrc/j/j701/bin/
laf
./jgtk
install'gtkide'
./jconsole
2 + 3
a =. 2 2 $ 1 2 3 4
b =. 2 2 $ 5 6 7 8
a
b
a * b
a +/ . * b
./jconsole gtkide
* (eepitch-J)
* (eepitch-kill)
* (eepitch-J)
install'doc/help'
install'doccc/help'
2 + 3
+/ "."0 ": !100x
that's the sum of
* (eepitch-J)
* (eepitch-kill)
* (eepitch-J)
]a=.5 5 $ i.25
<"0 a
<"0 a
<"1 a
10 #. 1 9 9 6
9!:6''
9!:6''
<cfa> aha
<cfa> do you have config/base.cfg in your j user dir?
<edrx> no
<edrx> I have used it really little
<cfa> do you have a user dir?
<edrx> no :-)
<cfa> here it's ~/j64-701-user/config/base.cfg
9!:7'+++++++++|-'
<"0 +5 5 $i.25
#####
#
# Learning J
# 2011nov02
#
#####
# «learning-J» (to ".learning-J")
# http://www.jsoftware.com/help/primer/contents.htm
# To install the add-on:
# jgtk > Tools > Package Manager > docs/help
# (find-Jsh "find * | sort")
# (find-Jfile "addons/docs/")
# (find-Jfile "addons/docs/help/")
# (find-Jfile "addons/docs/help/learning/")
# As a single file:
# http://www.rogerstokes.free-online.co.uk/book.zip
# (find-learningJfile "")
# (find-learningJw3m "contents.htm")
# (find-learningJw3m "01.htm")
# (find-learningJw3m "01.htm" "NB.")
#####
#
# Help for J (6 books)
# 2024jan17
#
#####
# «J-help» (to ".J-help")
# (find-angg ".emacs" "ee-rstdoc-:J")
# (find-Jprimerfile "")
# (find-Jdoc "index")
# (find-Jdoc "user/contents")
# (find-Jdoc "primer/contents")
# (find-Jdoc "jforc/contents")
# (find-Jdoc "learning/contents")
# (find-Jdoc "phrases/contents")
# (find-Jdoc "dictionary/contents")
# (find-Jdoc "dictionary/vocabul")
# (find-Jdoc "dictionary/xmain")
# (find-wgetrecursive-links "https://www.jsoftware.com/help/")
#####
#
# The J Primer
# 2011nov18
#
#####
# «J-primer» (to ".J-primer")
# (find-Jprimerfile "")
# (find-angg ".emacs" "ee-rstdoc-:jprimer")
# (find-Jprimerdoc)
# (find-Jprimerdoc "word")
# https://www.jsoftware.com/help/primer/contents.htm
# (find-wgetrecursive-links "https://www.jsoftware.com/help/primer/contents.htm")
# (find-wgetrecursive-links "https://www.jsoftware.com/help/")
# (find-fline "$S/https/www.jsoftware.com/help/primer/")
# (find-sh-at-dir "$S/https/www.jsoftware.com/help/primer/" "find * | sort")
# file:///home/edrx/snarf/https/www.jsoftware.com/help/primer/
# file:///home/edrx/snarf/https/www.jsoftware.com/help/primer/contents.htm
# (find-sh0 "cp -v ~/usrc/j/j701/addons/docs/help/primer/contents.htm /tmp/o")
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
bigstr = readfile "/tmp/o"
for _,li in ipairs(splitlines(bigstr)) do
if li == "<br>" then print() else
h, t = li:match '<a href="(.*)">(.*)</a><br>'
if h then printf("# (find-Jprimerw3m %q %q)\n", h, t) end
end
end
# (find-Jprimerw3m "start_here.htm" "Start here")
# (find-Jprimerw3m "why_j.htm" "Why J")
# (find-Jprimerw3m "purpose.htm" "Purpose of this book")
# (find-Jprimerw3m "your_background.htm" "Your background")
# (find-Jprimerw3m "how_to_use.htm" "How to use this book")
# (find-Jprimerw3m "get_started.htm" "Get started")
# (find-Jprimerw3m "experiment.htm" "Experiment")
# (find-Jprimerw3m "standard_profile.htm" "Standard profile")
# (find-Jprimerw3m "terminology.htm" "Terminology")
# (find-Jprimerw3m "alphabet.htm" "Alphabet")
# (find-Jprimerw3m "word.htm" "Word")
# (find-Jprimerw3m "sentence.htm" "Sentence")
# (find-Jprimerw3m "verb.htm" "Verb")
# (find-Jprimerw3m "noun.htm" "Noun")
# (find-Jprimerw3m "number.htm" "Number")
# (find-Jprimerw3m "negative_number.htm" "Negative number")
# (find-Jprimerw3m "primitive.htm" "Primitive")
# (find-Jprimerw3m "name.htm" "Name")
# (find-Jprimerw3m "comment.htm" "Comment")
# (find-Jprimerw3m "error.htm" "Error")
# (find-Jprimerw3m "ambivalence.htm" "Ambivalence")
# (find-Jprimerw3m "dyad.htm" "Dyad")
# (find-Jprimerw3m "monad.htm" "Monad")
# (find-Jprimerw3m "vocabulary.htm" "Vocabulary")
# (find-Jprimerw3m "checkpoint_a.htm" "Checkpoint A")
#
# (find-Jprimerw3m "numeric_constant.htm" "Numeric constant")
# (find-Jprimerw3m "string.htm" "String")
# (find-Jprimerw3m "word_formation.htm" "Word formation")
# (find-Jprimerw3m "space.htm" "Space")
# (find-Jprimerw3m "precedence.htm" "Precedence")
# (find-Jprimerw3m "parentheses.htm" "Parentheses")
# (find-Jprimerw3m "order_of_eval.htm" "Order of evaluation")
# (find-Jprimerw3m "verb_definition.htm" "Verb definition")
# (find-Jprimerw3m "monad_dyad_def.htm" "Monad/dyad defined")
# (find-Jprimerw3m "script_file.htm" "Script file")
# (find-Jprimerw3m "local.htm" "Local")
# (find-Jprimerw3m "global.htm" "Global")
# (find-Jprimerw3m "debug_global.htm" "Debug global")
# (find-Jprimerw3m "when_same.htm" "When =.and =:are alike")
# (find-Jprimerw3m "when_not_same.htm" "When they aren't")
# (find-Jprimerw3m "locale.htm" "Locale")
# (find-Jprimerw3m "z_locale.htm" "z locale")
# (find-Jprimerw3m "script_load.htm" "Script load")
# (find-Jprimerw3m "checkpoint_b.htm" "Checkpoint B")
#
# (find-Jprimerw3m "debug_verb.htm" "Debug - step through")
# (find-Jprimerw3m "debug_error.htm" "Debug - an error")
# (find-Jprimerw3m "comparative.htm" "Comparative")
# (find-Jprimerw3m "control_structure.htm" "Control structure")
# (find-Jprimerw3m "checkpoint_c.htm" "Checkpoint C")
#
# (find-Jprimerw3m "basic_list_adding.htm" "Adding lists")
# (find-Jprimerw3m "j_list_adding.htm" "J way of adding lists")
# (find-Jprimerw3m "more_primitives.htm" "A few more primitives")
# (find-Jprimerw3m "plot.htm" "Plot")
# (find-Jprimerw3m "plot_locale.htm" "Plot locale")
# (find-Jprimerw3m "print_precision.htm" "Print precision")
# (find-Jprimerw3m "inexact_numbers.htm" "Inexact numbers")
# (find-Jprimerw3m "tolerance.htm" "Tolerance")
# (find-Jprimerw3m "checkpoint_d.htm" "Checkpoint D")
#
# (find-Jprimerw3m "atom.htm" "Atom")
# (find-Jprimerw3m "list.htm" "List")
# (find-Jprimerw3m "table.htm" "Table")
# (find-Jprimerw3m "array.htm" "Array")
# (find-Jprimerw3m "axis.htm" "Axis")
# (find-Jprimerw3m "shape.htm" "Shape")
# (find-Jprimerw3m "rank.htm" "Rank")
# (find-Jprimerw3m "empty_array.htm" "Empty Array")
# (find-Jprimerw3m "single_atom_array.htm" "Single atom array")
# (find-Jprimerw3m "verb_arguments.htm" "Verb arguments")
# (find-Jprimerw3m "frame_and_cell.htm" "Frame and cell")
# (find-Jprimerw3m "item.htm" "Item")
# (find-Jprimerw3m "k_cell.htm" "k-cell")
# (find-Jprimerw3m "verb_rank.htm" "Verb rank")
# (find-Jprimerw3m "agreement.htm" "Agreement")
# (find-Jprimerw3m "rank_conjunction.htm" "Rank conjunction \"")
# (find-Jprimerw3m "result_shape.htm" "Result shape")
# (find-Jprimerw3m "checkpoint_e.htm" "Checkpoint E")
#
# (find-Jprimerw3m "adverb.htm" "Adverb")
# (find-Jprimerw3m "insert_adverb.htm" "Insert adverb")
# (find-Jprimerw3m "table_adverb.htm" "Table adverb")
# (find-Jprimerw3m "conjunction.htm" "Conjunction")
# (find-Jprimerw3m "order_ex_adverbs_conjunc.htm" "Order of execution")
# (find-Jprimerw3m "box_monad.htm" "Box - monad <")
# (find-Jprimerw3m "link_dyad.htm" "Link - dyad ;")
# (find-Jprimerw3m "open_monad.htm" "Open - monad >")
# (find-Jprimerw3m "from_dyad.htm" "From - dyad {")
# (find-Jprimerw3m "from_boxed_indexes.htm" "From - boxed indexes")
# (find-Jprimerw3m "from_scattered_index.htm" "Scattered indexing")
# (find-Jprimerw3m "amend.htm" "Amend }")
# (find-Jprimerw3m "select_without_from.htm" "Selecting without from")
# (find-Jprimerw3m "cut.htm" "Cut ;.")
# (find-Jprimerw3m "each.htm" "Each")
# (find-Jprimerw3m "hook.htm" "Hook")
# (find-Jprimerw3m "fork.htm" "Fork")
# (find-Jprimerw3m "tacit_definition.htm" "Tacit definition")
# (find-Jprimerw3m "explicit_tacit_trans.htm" "Explicit-to-tacit")
# (find-Jprimerw3m "checkpoint_f.htm" "Checkpoint F")
#
# (find-Jprimerw3m "foreign.htm" "Foreign !:")
# (find-Jprimerw3m "files.htm" "Files")
# (find-Jprimerw3m "component_files.htm" "Component files")
# (find-Jprimerw3m "gui.htm" "GUI part 1")
# (find-Jprimerw3m "data_processing.htm" "Data processing")
# (find-Jprimerw3m "gui2.htm" "GUI part 2")
# (find-Jprimerw3m "where_to_go.htm" "Where next?")
# (find-Jprimerw3m "online.htm" "Online Documentation")
# (find-Jprimerw3m "dictionary.htm" "J Dictionary")
# (find-Jprimerw3m "phrases.htm" "J Phrases")
# (find-Jprimerw3m "end.htm" "end.")
#####
#
# Kx
# 2011nov02
#
#####
# «Kx» (to ".Kx")
# http://archive.vector.org.uk/art10500700
#
# The k binary weighs in at about 50Kb. Someone asked about the
# interpreter source code. A frown flickered across the face of our
# visitor from Microsoft: what could be interesting about that? "The
# source is currently 264 lines of C," said Arthur. I thought I
# heard a sotto voce "that's not possible." Arthur showed us how he
# had arranged his source code in five files so that he could edit
# any one of them without scrolling. "Hate scrolling," he mumbled.
# http://en.wikipedia.org/wiki/K_(programming_language)
# http://www.kx.com/
# http://kx.com/trialsoftware.php
# https://sites.google.com/site/iversoncollege/
# http://code.kx.com/wiki/Main_Page
# http://code.kx.com/wsvn/code
# (root)/kx/kdb+/c/c/
https://github.com/kevinlawler/kona
#####
#
# J: plotting
# 2012jan30
#
#####
# «J-plotting» (to ".J-plotting")
# http://0branch.com/highlight/snippets/plotting.ijs
* (eepitch-J)
* (eepitch-kill)
* (eepitch-J)
require'pacman'
'install'jpkg_pacman_'afm'
load'plot'
load'afm'
* (eepitch-J)
* (eepitch-kill)
* (eepitch-J)
NB. -- Setup ----------------------------------------------------
plotFmt=: 3 :'CONSOLEOUTPUT_jzplot_=:y' NB. make setting simpler
plotFmt 'pdf' NB. {'gtk','png','pdf'}
boxdraw_j_ 1 NB. ensure ascii boxing
require'plot'
NB. -- Demo -----------------------------------------------------
coclass'plotting' NB. plotting namespace
sin=:1&o.
plot 1 10 NB. linear fn plot
plot 1 100 NB. ...larger range
plot 1 10 ; 'sin' NB. sine plot
plot 1 100 ; 'sin' NB. ...larger range
'dot' plot 1 50; 'sin' NB. dot plot sine
'radar' plot 1 50; 'sin' NB. radar plot sine
'density' plot i.100 NB. density plot [0,100)
'density' plot ?100$100 NB. density plot random
'bar' plot i.10 NB. bar chart [0,10)
'bar' plot ?10$10 NB. bar chart random
NB. -------------------------------------------------------------
#####
#
# Merge overlapping ranges
# 2012feb11
#
#####
# «merge-overlapping» (to ".merge-overlapping")
* (eepitch-J)
* (eepitch-kill)
* (eepitch-J)
NB. Merge overlapping ranges.
mix =: {.@[ , {:@[ >. {:@]
combine =: mix`] @. ({.@] > {:@[)
merge =: [: (#~ ~:@{.@|:)&.|. combine/\@/:~
data =: 7 2 $ 3 40 1 45 2 50 70 75 75 90 80 85 100 200
data
merge data
NB. http://www.jsoftware.com/help/dictionary/vocabul.htm
NB. http://www.jsoftware.com/help/dictionary/partsofspeech.htm
NB. Grammar: http://www.jsoftware.com/help/dictionary/dict2.htm
NB. Verbs: http://www.jsoftware.com/help/dictionary/dictb.htm
NB. Conj/adv: http://www.jsoftware.com/help/dictionary/dictc.htm
NB. Trains: http://www.jsoftware.com/help/dictionary/dictf.htm
NB. >. Max http://www.jsoftware.com/help/dictionary/d021.htm
NB. $ Shape http://www.jsoftware.com/help/dictionary/d210.htm
NB. ~ Evoke http://www.jsoftware.com/help/dictionary/d220n.htm
NB. ~ Reflex http://www.jsoftware.com/help/dictionary/d220v.htm
NB. ~: Nub sieve http://www.jsoftware.com/help/dictionary/d222.htm
NB. |. Reverse http://www.jsoftware.com/help/dictionary/d231.htm
NB. |: Transpose http://www.jsoftware.com/help/dictionary/d232.htm
NB. , Ravel http://www.jsoftware.com/help/dictionary/d320.htm
NB. # Copy http://www.jsoftware.com/help/dictionary/d400.htm
NB. #: Antibase http://www.jsoftware.com/help/dictionary/d402.htm
NB. / Insert http://www.jsoftware.com/help/dictionary/d420.htm
NB. /: Sort up http://www.jsoftware.com/help/dictionary/d422.htm
NB. \ Prefix http://www.jsoftware.com/help/dictionary/d430.htm
NB. [ Same http://www.jsoftware.com/help/dictionary/d500.htm
NB. ] Same http://www.jsoftware.com/help/dictionary/d500.htm
NB. [: Cap http://www.jsoftware.com/help/dictionary/d502.htm
NB. {. Head http://www.jsoftware.com/help/dictionary/d521.htm
NB. {: Tail http://www.jsoftware.com/help/dictionary/d522.htm
NB. ` Tie http://www.jsoftware.com/help/dictionary/d610.htm
NB. @ Atop http://www.jsoftware.com/help/dictionary/d620.htm
NB. @. Agenda http://www.jsoftware.com/help/dictionary/d621.htm
NB. &. Under http://www.jsoftware.com/help/dictionary/d631.htm
#####
#
# April - Array Programming Re-Imagined in Lisp
# 2022nov17
#
#####
# «april» (to ".april")
# https://github.com/phantomics/april
#####
#
# BQN
# 2022nov17
#
#####
# «BQN» (to ".BQN")
# https://news.ycombinator.com/item?id=33638069 APL deserves its renaissance too (2018) (wordsandbuttons.online)
# https://mlochbaum.github.io/BQN/
# http://mlochbaum.github.io/
# https://mlochbaum.github.io/BQN/tutorial/expression.html
consider this,
* (eepitch-J)
* (eepitch-kill)
* (eepitch-J)
(<1),:(<2)
$((<1),:(<2))
1;'abc';2.5;'qwerty'
$(1;'abc';2.5;'qwerty')
2 2$1;'abc';2.5;'qwerty'
$(2 2$1;'abc';2.5;'qwerty')
+-+---+---+------+
|1|abc|2.5|qwerty|
+-+---+---+------+
+---+------+
|1 |abc |
+---+------+
|2.5|qwerty|
+---+------+
#####
#
# Let's build a simple interpreter for APL
# 2021jul08
#
#####
# «lets-build» (to ".lets-build")
# https://mathspp.com/blog/lsbasi-apl-part1
# https://mathspp.com/blog/lsbasi-apl-part2
#####
#
# dyalog
# 2023jan12
#
#####
# «dyalog» (to ".dyalog")
# https://www.dyalog.com/download-zone.htm
# https://mail.google.com/mail/u/0/#inbox/FMfcgzGrbvKrlLRHjXGsTvwBzxZfDRXt
# (find-fline "~/LOGS/2023jan12.emacs" "<awb> https://tryapl.org/")
# (find-fline "$S/https/www.dyalog.com/" "linux_64_18.2.45405_unicode.x86_64.deb")
# https://www.dyalog.com/linux_64_18.2.45405_unicode.x86_64.deb (fake url)
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
sudo dpkg -i $S/https/www.dyalog.com/linux_64_18.2.45405_unicode.x86_64.deb
# (find-status "dyalog-unicode-182")
# (find-vldifile "dyalog-unicode-182:amd64.list")
# (find-udfile "dyalog-unicode-182/")
# (find-fline "/opt/mdyalog/18.2/64/unicode/help/")
# (find-fline "/opt/mdyalog/18.2/64/unicode/help/sharpplot/")
# file:///opt/mdyalog/18.2/64/unicode/help/sharpplot/index.htm
# file:///opt/mdyalog/18.2/64/unicode/help/
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
dyalog
* (eepitch-vterm)
* (eepitch-kill)
* (eepitch-vterm)
dyalog
#####
#
# eepitch-dyalog
# 2023jan12
#
#####
# «eepitch-dyalog» (to ".eepitch-dyalog")
# (find-eev "eepitch.el" "eepitch-vterm")
# (find-eev "eepitch.el" "eepitch-langs-vterm")
# (find-fline "~/e/" "aplcore")
** (defun eepitch-dyalog () (interactive) (eepitch-vterm "dyalog" "dyalog"))
**
* (eepitch-dyalog)
* (eepitch-kill)
* (eepitch-dyalog)
1 + 1
1 2 3 + 4 5 6
⍳10
A←⍳10
+/A
#####
#
# dyalog-apl-input
# 2023jan12
#
#####
# «dyalog-apl-input» (to ".dyalog-apl-input")
# (find-fline "~/LOGS/2023jan12.awb")
# https://github.com/abochannek/Dyalog/tree/master/dyalog-apl-input
# https://github.com/abochannek/Dyalog/
# (find-git-links "https://github.com/abochannek/Dyalog" "awbdyalog")
# (code-c-d "awbdyalog" "~/usrc/Dyalog/")
# (find-awbdyalogfile "")
# (find-awbdyalogfile "dyalog-apl-input/dyalog-apl-input.el")
Linux Installs
If downloaded to ~/temp , do a standard install with:
...> sh ~/temp/j701a_linux32.sh -install
# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.98.3105&rep=rep1&type=pdf
# (find-xpdfpage "~/tmp/10.1.1.98.3105.pdf")
http://www.jsoftware.com/papers/fork.htm
http://jsoftware.com/pipermail/programming/2011-November/025113.html
http://jsoftware.com/pipermail/programming/2011-November/025139.html
http://jsoftware.com/pipermail/programming/2011-November/025156.html
http://jsoftware.com/pipermail/programming/2011-November/025158.html
https://github.com/dlaurie/lua-apl
https://codegolf.stackexchange.com/questions/216479/ken-iverson-s-favourite-apl-expression
https://news.ycombinator.com/item?id=28230704 The web browser as a tool of thought (thesephist.com)
https://news.ycombinator.com/item?id=28898045 Roger Hui has died (jsoftware.com)
https://news.ycombinator.com/item?id=28929709 APL in its modern state (2020) (sacrideo.us)
https://news.ycombinator.com/item?id=28937268 Notation as a Tool of Thought (1986) [pdf] (utoronto.ca)
https://www.eecg.utoronto.ca/~jzhu/csc326/readings/iverson.pdf
https://www.pldi21.org/prerecorded_hopl.2.html APL Since 1978
https://news.ycombinator.com/item?id=29338799 Loopless Code (2006) (jsoftware.com)
https://news.ycombinator.com/item?id=34064480 The APL Source Code (2012) (computerhistory.org)
https://news.ycombinator.com/item?id=34057671 What happened to the first cryogenically frozen humans? (bigthink.com)
https://news.ycombinator.com/item?id=34053252 Clarify Which Free Speech Value You’re Debating (popehat.substack.com)
https://news.ycombinator.com/item?id=34055533 GCC now includes Modula-2 and Rust. Do they work on OpenBSD? (briancallahan.net)
https://news.ycombinator.com/item?id=34048881 How many computers are in your computer? (2021) (gwern.net)
https://news.ycombinator.com/item?id=34092401 Generating audio with literate futhark (futhark-lang.org)
https://news.ycombinator.com/item?id=31537648 Conway's Game of Life in APL in Forth (github.com/chmykh)
https://github.com/chmykh/apl-life
https://github.com/abochannek/Dyalog
https://news.ycombinator.com/item?id=35369084 APL: An Array Oriented Programming Language (2018) (medium.com/kaleberg7)
https://github.com/phantomics/april Array Programming Re-Imagined in Lisp
https://asindu.xyz/posts/random-walk-in-2-lines-of-j/
https://news.ycombinator.com/item?id=38866622 Origins of J (github.com/kelas)
https://github.com/kelas/ooj From Roger Hui's An Implementation of J
https://olegykj.sourceforge.net/jbyeg/jkbyeg.htm
https://news.ycombinator.com/item?id=39423407 J vs. K by Example (2005) (sourceforge.net)
https://nsl.com/papers/idioms_K3.pdf Learning K programming, idiom by idiom
https://dl.acm.org/doi/pdf/10.1145/3386319 Hui/Kromberg: APL Since 1978 (2020)
https://dfns.dyalog.com/n_sudoku.htm
https://news.ycombinator.com/item?id=41753741 Arthur Whitney's one liner sudoku solver (dyalog.com)
http://www.appliedscience.studio/articles/array-programming-for-clojurists.html
https://news.ycombinator.com/item?id=42416681 Array Languages for Clojurians (2020) (appliedscience.studio)
https://challenge.dyalog.com/
https://news.ycombinator.com/item?id=42939562 The APL Challenge (dyalog.com)
https://www.jsoftware.com/papers/tot.htm Notation as a Tool of Thought
https://news.ycombinator.com/item?id=43789593 Notation as a Tool of Thought (1979) (jsoftware.com)
https://aplwiki.com/wiki/Comparison_with_traditional_mathematics
https://idle.nprescott.com/2020/ray-tracing-in-j.html
https://news.ycombinator.com/item?id=44118646 Ray Tracing in J (nprescott.com)
https://scharenbroch.dev/projects/apl-interpreter/
https://news.ycombinator.com/item?id=44195931 APL Interpreter – An implementation of APL, written in Haskell (2024) (scharenbroch.dev)
# Local Variables:
# coding: utf-8-unix
# End: