|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
#######
#
# E-scripts on Icon
#
# 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/icon.e>
# or at <http://angg.twu.net/e/icon.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/>.
#
#######
# «.mailing-lists» (to "mailing-lists")
# «.analyst» (to "analyst")
# «.icone» (to "icone")
# «.one-line-demos» (to "one-line-demos")
# «.unicon» (to "unicon")
# «.unicon-2009» (to "unicon-2009")
# «.unicon-book» (to "unicon-book")
# «.icon_src» (to "icon_src")
# «.itweak» (to "itweak")
# «.icon-sarge» (to "icon-sarge")
# «.icon-sarge-source» (to "icon-sarge-source")
# «.pending_events» (to "pending_events")
# «.tron.icn» (to "tron.icn")
# «.icon-lua-0» (to "icon-lua-0")
# «.icon-lua-1» (to "icon-lua-1")
# «.icon-lua» (to "icon-lua")
# «.mapr» (to "mapr")
# «.noweb» (to "noweb")
# «.unicon-2010» (to "unicon-2010")
# «.icon-2019» (to "icon-2019")
# «.unicon-git» (to "unicon-git")
# «.subj-and-pos» (to "subj-and-pos")
# «.icon-unicon-ib» (to "icon-unicon-ib")
# «.byopl» (to "byopl")
#####
#
# mailing-lists
# 2021jan20
#
#####
# «mailing-lists» (to ".mailing-lists")
# https://sourceforge.net/p/unicon/mailman/
# https://sourceforge.net/p/unicon/mailman/unicon-group/?viewmonth=202101
#####
#
# The Icon Analyst
# 2021dec11
#
#####
# «analyst» (to ".analyst")
# https://nnessy.cs.arizona.edu/icon/analyst/ia.htm
# https://news.ycombinator.com/item?id=29496379 Icon Programming Language – A brief introduction (1993) (arizona.edu)
#####
#
# icone
# 2000jun04
#
#####
# «icone» (to ".icone")
# Like an "expect -c" or a "perl -e", but for Icon.
#
# The first argument is the code that goes between $include "zinc.icn"
# and "procedure main(args)"; the second goes between "procedure
# main(args)" and "end". Note that the Icon program can access not
# only the other arguments but also stdin; there are some examples
# below.
#
# (eeman "icont" "IPATH")
# (find-fline "~/ICON/zinc.icn")
# (find-fline "~/ICON/zlib.icn")
# (find-angg ".zshrc" "Icon")
# (find-angg "LATEX/desenhos.014" "godement")
function icone () {
print -l '$include "zinc.icn"' $1 'procedure main(args)' $2 'end' \
> ~/tmp/tmp.icn
icont -s -o ~/tmp/tmpicn ~/tmp/tmp.icn -x $*[3,-1]
}
icone '' 'w(args)' foo bar
echo "foo\n bar" \
| icone '' 'w([read(), read()])'
#####
#
# some tests
# 2000dec17
#
#####
# «one-line-demos» (to ".one-line-demos")
# (find-angg ".zshrc" "Icon")
#*
iconw 'args[1:0]' a b c d e ;# ["a", "b", "c", "d", "e"]
iconw 'args[2:-1]' a b c d e ;# ["b", "c", "d"]
iconw 'args[5:0]' a b c d e ;# ["e"]
iconw 'args[6:0]' a b c d e ;# []
iconw 'args[7:0]' a b c d e ;#
iconw 'args[3:2]' a b c d e ;# ["b"]
iconw 'args[5:2]' a b c d e ;# ["b", "c", "d"]
#*
iconw '10<20' ;# 20
iconw '10<20<30' ;# 30
iconw '10>20' ;#
iconw '10>20 | "failed"' ;# "failed"
iconw '10 < (1|2|14|17|25) < 20' ;# 20
iconw '10 < (1|2|14|17|25)' ;# 14
#*
icone '' 'every w(10 < (1|2|5|14|17|25))' ;# 14,17,25
icone '' 'every w((10|4) < (1|2|5|14|17|25))' ;# 14,17,25,5,14,17,25
icone '' 'every w(("aa"|"bb"|"cc") || ("xx"|"yy"))'
#*
echo "foo\n bar" | iconw '[read(), read()]' ;# ["foo", " bar"]
#*
#####
#
# system() in Icon
# 2000jun04
#
#####
# «system»
# (code-c-d "hicon" "$S/http/www.cs.arizona.edu/icon/")
# (find-hiconw3 "www/reference/funclist.html")
# (find-hiconw3 "www/reference/funcsz.html#system")
# (eeman "3 system")
# (find-node "(libc)Running a Command")
# (find-node "(bash)Invoking Bash" "`-c STRING'")
# (find-angg ".zshrc" "Icon")
#####
#
# unicon (2009)
# 2009oct21
#
#####
# «unicon-2009» (to ".unicon-2009")
# http://groups.google.com/group/comp.lang.icon/browse_thread/thread/f7131de29302138b
# http://www.unicon.org/
# http://www.unicon.org/downloads.html
# http://unicon.org/book/ub.pdf
# http://unicon.org/ubooks.html
# http://www.unicon.org/cvs.html
# http://unicon.sourceforge.net/
#####
#
# Programming with Unicon (draft)
# 2000jun23
#
#####
# «unicon-book» (to ".unicon-book")
# (find-shttpw3 "icon.cs.unlv.edu/index.html")
gv $S/http/icon.cs.unlv.edu/ib/ib.pdf &
gv -page 37 $S/http/icon.cs.unlv.edu/ib/ib.pdf &
gv -page 95 $S/http/icon.cs.unlv.edu/ib/ib.pdf &
gv -page 277 $S/http/icon.cs.unlv.edu/ib/ib.pdf &
#####
#
# unicon
# 2000oct25
#
#####
# «unicon» (to ".unicon")
apti libgdbmg1-dev
#*
rm -Rv /usr/src/unicon/
mkdir /usr/src/unicon/
cd /usr/src/unicon/
tar -xvzf $S/http/www.drones.com/unicon.tar.gz
mv -v icon/* .
rmdir icon/
cd /usr/src/unicon/
find | sort > .files
cd /usr/src/unicon/
make X-Configure name=intel_linux |& tee omXC
sed -e '/\#define ICONC_XLIB/d' < src/h/define.h \
| (cat -; echo '#define ICONC_XLIB "-L/usr/X11R6/lib -lX11"') \
> src/h/define.h.$$ \
&& mv src/h/define.h.$$ src/h/define.h
make Icon-icont XLIB="-L/usr/X11R6/lib -lX11" \
CFLAGS="-I/usr/include/db1" |& tee omIit
#*
# (find-uniconfile "tests/posix/Makefile")
# (find-uniconfile "tests/posix/Test-icont")
# (find-uniconfile "unicon/")
cd /usr/src/unicon/tests/posix/
IPATH=/usr/src/unicon/unicon \
sh Test-icont icont |& tee oTii
diff -r stand/ local/ |& tee od
# (find-uniconfile "tests/posix/")
# (find-uniconfile "tests/posix/oTii")
# (find-uniconfile "tests/posix/od")
# (find-uniconfile "tests/posix/stand/")
# (find-uniconfile "tests/posix/local/")
#*
cd /usr/src/unicon/
cd src/icont/
cc -I/usr/include/db1 -E link.c > link.E
touch build-icont
cd /usr/src/unicon/
agrep -w exec $(<.files) | l
agrep -w iconxloc $(<.files) | l
# (code-c-d "unicon" "/usr/src/unicon/")
# (find-uniconfile "")
# (find-uniconfile ".files")
# (find-uniconfile "omXC")
# (find-uniconfile "omIit")
# (find-uniconfile "src/h/define.h")
# (find-uniconfile "tests/")
# (find-uniconfile "tests/posix/")
# (find-uniconfile "tests/posix/select")
# (find-uniconfile "src/icont/link.c" "exec ")
#####
#
# icon 9.3.2 source (potato)
# 2000oct25
#
#####
# «icon_src» (to ".icon_src")
#*
rm -Rv /usr/src/icon-9.3.2/
pdsc $SDEBIAN/dists/potato/main/source/devel/icon_9.3.2-2.dsc
cd /usr/src/icon-9.3.2/
#cd /usr/src/icon-9.3.2/; agrep strip $(find *)
#cd /usr/src/icon-9.3.2/; agrep CFLAGS $(find *)
# (find-iconfile "config/unix/Config/")
A=(config/unix/Config/iconc.make
config/unix/Config/icont.make
config/unix/Config/rtt.make
config/unix/Config/runtime.make)
for i in $A; do
mv -v $i $i.orig
cat $i.orig \
| sed s/strip/#strip/g \
> $i
done
patch -p0 config/unix/intel_linux/runtime.hdr <<'%%%'
2c2,3
< CFLAGS= -O2
---
> #CFLAGS= -O2
> CFLAGS= -g
%%%
# (find-iconfile "src/runtime/Makefile")
# (find-iconfile "odrb" "cat runtime.hdr ../Config/runtime.make")
# (find-iconfile "config/unix/intel_linux/runtime.hdr")
# (find-iconfile "config/unix/Config/runtime.make")
debian/rules binary |& tee odrb
#*
cd /usr/src/icon-9.3.2/
agrep -il rtt $(find * | grep -i make) | tee ~/o
#*
# Remake the ".c"s that rtt produces from the ".r"s.
# (find-iconfile "odrb" "make iconx")
# (find-iconfile "odrb" "cat runtime.hdr ../Config/runtime.make")
# (find-iconfile "config/unix/intel_linux/")
# (find-iconfile "config/unix/Config/")
# (find-iconfile "src/runtime/")
# (find-iconfile "src/runtime/Makefile")
cd /usr/src/icon-9.3.2/src/runtime/
A=(cnv data def errmsg extcall fconv fload fmath fmisc fmonitr fscan
fstr fstranl fstruct fsys fwindow imain imisc init interp invoke
keyword lmisc oarith oasgn ocat ocomp omisc oref oset ovalue ralc
rcoexpr rcomp rdebug rlocal rlrgint rmemmgt rmisc rstruct rsys
rwinrsc rgfxsys rwinsys rwindow fxtra)
for i in $A; do
echo ../../bin/rtt -x $i.r
../../bin/rtt -x $i.r
done
#*
cd /tmp/
cat > test.icn <<'---'
procedure main(args)
every write(!args)
end
---
icont test.icn
iconx test foo bar
#*
# (gdbk-gdb t "/usr/src/icon-9.3.2/src/runtime/iconx")
set args /tmp/test foo bar
br main
br interp
run
#*
# (find-iconfile "src/runtime/rt.db")
# (find-iconfile "src/runtime/rttcur.lst")
# (find-iconfile "src/runtime/rttfull.lst")
# (find-iconfile "")
# (find-iconfile "debian/rules")
# (find-iconfile "odrb")
# (find-iconfile "odrb" "make iconx")
# (find-node "(ld)Options" "`-E'")
pdsc $SDEBIAN/dists/potato/main/source/devel/icon-ipl_9.3.2-1.dsc
#####
#
# icon (hamm)
#
#####
# (find-fline "/var/lib/dpkg/info/icont.list")
# (find-fline "/var/lib/dpkg/info/iconx.list")
# (find-fline "/var/lib/dpkg/info/icon-ipl.list")
rm -Rv /usr/doc/icon-ipl/
rm -Rv /usr/lib/icon/ipl/
dpkg --purge icon-ipl
dpkg -i ~/HASH/icon-ipl
#####
#
# Icon 9.3
# 97apr27
#
#####
cd /usr/src/
rm -R icon
mkdir icon
cd icon
tar -xzf /snarf/ftp/ftp.cs.arizona.edu/icon/packages/unix/unix.tar.gz
#
#
# Apply the Posix interface patch:
cd /usr/src/icon/
tar -xvzf /snarf/ftp/ftp.crl.com/users/sp/spm/unicon-patches.tar.gz
patch -p < Unicon/unicon.patch |& tee op
#
#
cd /usr/src/icon/
make Status name=ix86_linux_elf |& tee omS
# hora do patch manual, se for o caso
make X-Configure name=ix86_linux_elf |& tee omXC
make Icon |& tee omI
#
# Isso dá merda. Tire o -Wl,-E de LDFLAGS.
# Now that (^) works without the patch but I had to change dbm to gdbm
# (find-fline "/usr/src/icon/src/runtime/Makefile" 4)
# (find-fline "/usr/src/icon/config/unix/ix86_linux_elf/runtime.hdr")
# make Icon |& tee omI2
#
# To keep the intermediate C files:
# (find-fline "/usr/src/icon/config/unix/Config/runtime.make" 47)
# (find-fline "/usr/src/icon/src/runtime/Makefile" 54)
#
cd /usr/src/icon/bin/
tar -cvzf /home/compiled/icon9.3.tgz icont iconx patchstr
patchstr icont /usr/bin/iconx
cp -iv icont iconx patchstr /usr/bin/
#
cd /usr/src/icon/ipl/
Translate-icont |& tee oTi
#####
#
# Icon 9.3.1
#
#####
cd /usr/src/
rm -Rv icon/
mkdir /usr/src/icon/
cd /usr/src/icon/
tar -xvzf /snarf/http/www.cs.arizona.edu/icon/ftp/packages/unix/unix.tgz
echo '#define MultiThread' >> /usr/src/icon/config/unix/intel_linux/define.h
sleep 2
echo -n > .start
sleep 2
make Supported
make Status name=intel_linux
# make Configure name=intel_linux |& tee omc
make X-Configure name=intel_linux |& tee omXC
make Icon |& tee omI
cd /usr/src/icon/
find * -type f -and -anewer .start > .files.used
glimpseindex -H . -F < .files.used
cd /usr/src/icon/bin/
patchstr icont /usr/src/icon/bin/iconx
rm -v /usr/bin/icon{_vt,t,x}
ln -s /usr/src/icon/bin/icont /usr/bin/icont
ln -s /usr/src/icon/bin/iconx /usr/bin/iconx
rm -Rv /usr/src/icon/ipl/
mkdir /usr/src/icon/ipl/
cd /usr/src/icon/ipl/
tar -xvzf /snarf/http/www.cs.arizona.edu/icon/ftp/library/info.tgz
tar -xvzf /snarf/http/www.cs.arizona.edu/icon/ftp/library/bipl.tgz
tar -xvzf /snarf/http/www.cs.arizona.edu/icon/ftp/library/gipl.tgz
tar -xvzf /snarf/http/www.cs.arizona.edu/icon/ftp/library/mipl.tgz
# (find-fline "/usr/src/icon/ipl/README")
export IPATH="/usr/src/icon/ipl/mprocs /usr/src/icon/ipl/procs /usr/src/icon/ipl/gprocs"
export LPATH="/usr/src/icon/ipl/mincl /usr/src/icon/ipl/incl /usr/src/icon/ipl/gincl"
cd /usr/src/icon/ipl/procs/; for i (*.icn); do icont -c $i; done
cd /usr/src/icon/ipl/mprocs/; for i (*.icn); do icont -c $i; done
cd /usr/src/icon/ipl/gprocs/; for i (*.icn); do icont -c $i; done
cd /usr/src/icon/ipl/gprogs/; for i (*.icn); do icont $i; done
cd /usr/src/icon/ipl/mprogs/; for i (*.icn); do icont $i; done
# (find-fline "/usr/src/icon/ipl/ipd283.txt" "mticont")
# (find-fline "/usr/src/icon/ipl/docs/ipd169.doc")
# (find-fline "/usr/src/icon/src/runtime/fmisc.r")
# (find-fline "/usr/src/icon/src/h/fdefs.h")
# (find-fline "/usr/src/icon/src/runtime/interp.r" "switch ((int)lastop)")
cd /usr/src/icon/src/runtime/
agrep '^function' * | sort -t' ' +2
cd /usr/src/icon/
glimpse -y -H . MultiThread
glimpse -y -H . TallyOpt
glimpse -y -H . FncTrace
glimpse -y -H . MultipleRuns
cd /usr/src/icon/
cat $(<.files.used) | agrep '^#ifdef' | sort | uniq
agrep '^#ifdef' $(<.files.used)
#
# (find-fline "/usr/src/icon/bin/t.icn")
# (find-fline "/usr/src/icon/src/h/features.h" "multiple programs")
# cd /usr/src/icon/bin/
# ./icont t.icn
# ./t
# (find-fline "/usr/src/icon/omI" "rt.h")
# (find-fline "/usr/src/icon/src/common/doincl.c")
# (find-fline "/usr/src/icon/src/h/rt.h")
# (find-fline "/usr/src/icon/bin/rt.h")
# (find-fline "/usr/src/icon/src/h/define.h")
# (find-fline "/usr/src/icon/omXC")
# (find-fline "/usr/src/icon/config/unix/intel_linux/define.h")
# (find-fline "/usr/src/icon/src/common/")
# (find-k2tag "time_t")
# (find-node "(libc)Top")
# (find-node "(libc)High-Resolution Calendar")
# (find-fline "/usr/include/sys/time.h")
cd /usr/src/icon/bin/
cat > t.icn <<'EOF'
procedure main()
every write(&features)
every write(function())
end
EOF
./icont -o t931 t.icn
/usr/bin/icont -o trh t.icn
./t931 | sort > o931
./trh | sort > orh
diff o931 orh
# find * -name '*.[chS]' -and -anewer .mkzImage-start > .files.chS.used
# etags `cat .files.chS.used`
#####
#
# Icon 9.3
# 97apr27
#
#####
cd /usr/src/
rm -R icon
mkdir icon
cd icon
tar -xzf /snarf/ftp/ftp.cs.arizona.edu/icon/packages/unix/unix.tar.gz
#
#
# Apply the Posix interface patch:
cd /usr/src/icon/
tar -xvzf /snarf/ftp/ftp.crl.com/users/sp/spm/unicon-patches.tar.gz
patch -p < Unicon/unicon.patch |& tee op
#
#
cd /usr/src/icon/
make Status name=ix86_linux_elf |& tee omS
# hora do patch manual, se for o caso
make X-Configure name=ix86_linux_elf |& tee omXC
make Icon |& tee omI
#
# Isso dá merda. Tire o -Wl,-E de LDFLAGS.
# Now that (^) works without the patch but I had to change dbm to gdbm
# (find-fline "/usr/src/icon/src/runtime/Makefile" 4)
# (find-fline "/usr/src/icon/config/unix/ix86_linux_elf/runtime.hdr")
# make Icon |& tee omI2
#
# To keep the intermediate C files:
# (find-fline "/usr/src/icon/config/unix/Config/runtime.make" 47)
# (find-fline "/usr/src/icon/src/runtime/Makefile" 54)
#
cd /usr/src/icon/bin/
tar -cvzf /home/compiled/icon9.3.tgz icont iconx patchstr
patchstr icont /usr/bin/iconx
cp -iv icont iconx patchstr /usr/bin/
#
cd /usr/src/icon/ipl/
Translate-icont |& tee oTi
# or...
rpm -ihv /snarf/ftp/ftp.redhat.com/pub/contrib/i386/icon-9.3-1.i386.rpm
#####
#
# Icon 9.3 under Debian 2.0
#
#####
# Também falta o symlink X11 -> X11R6 em /usr.
dpkg -iEG xlib6g-dev
dpkg -iEG libelfg0 libelfg0-dev
debsource /debian/main/source/devel icon 9.3 -1
#
# (find-iconfile "debian/rules" 13)
# Change "i486_linux" to "ix86_linux_elf"
#
debian/rules binary-iconx |& tee odrbx
# (find-iconfile "debian/rules")
# (find-iconfile "odrbx")
# (find-iconfile "config/unix/ix86_linux_elf/")
# (find-iconfile "debian/rules" "dpkg")
cd /usr/src/icon-9.3/config/unix/ix86_linux_elf/
mycat * > ~/oelf
cd /usr/src/icon-9.3/config/unix/i486_linux/
mycat * > ~/o486
diff ~/oelf ~/o486
find /usr/include/ -follow
# (find-iconfile "src/runtime/fload.r")
# (find-iconfile "src/runtime/extcall.r")
# (find-iconfile "src/h/fdefs.h" "loadfunc")
# (find-iconfile "tests/calling/Makefile")
# (find-iconfile "tests/calling/loadfunc/Makefile")
# (find-iconfile "tests/calling/loadfunc/btest.icn")
# (find-iconfile "tests/calling/loadfunc/README")
# (find-iconfile "tests/calling/README")
# (find-iconfile "bin/rt.h" "LoadFunc")
# (find-iconfile "config/unix/ix86_linux_elf/define.h" "LoadFunc")
# (find-iconfile "docs/ipd238.txt")
# (find-iconfile "src/runtime/fload.r")
# (find-iconfile "src/h/fdefs.h")
# (find-iconfile "src/h/features.h" "LoadFunc")
# (find-iconfile "src/h/sys.h")
#####
#
# imt (meta translators)
#
#####
rm -Rv /usr/src/imt/
mkdir /usr/src/imt/
cd /usr/src/imt/
tar -xvzf $S/ftp/ftp.cs.arizona.edu/icon/imt/source/meta.taz
# (find-fline "$S/ftp/ftp.cs.arizona.edu/icon/imt/")
make |& tee om
# Oops. In tlex.c, tree.h, ttoken.h: problems with yylval.
#####
#
# icon-ipl (potato)
# 2000may18
#
#####
# (find-vldifile "icon-ipl.list")
# (find-fline "/usr/doc/icon-ipl/")
# Hey, zillions of .u1s and .u2s and almost no .icns???
# (find-shttpw3 "www.cs.arizona.edu/icon/")
# (find-shttpw3 "www.cs.arizona.edu/icon/intro.htm")
# (find-shttpw3 "www.cs.arizona.edu/icon/docs/")
# (find-shttpw3 "www.cs.arizona.edu/icon/docs/ipd266.htm")
# (find-shttpw3 "www.toolsofcomputing.com/IconHandbook/")
psne http://www.toolsofcomputing.com/IconHandbook/IconHandbook.pdf
psne http://www.toolsofcomputing.com/2000/iconprog.pdf
gv $S/http/www.toolsofcomputing.com/IconHandbook/IconHandbook.pdf
#####
#
# itweak
# 2000dec17
#
#####
# «itweak» (to ".itweak")
# (find-shttpw3 "www.cs.arizona.edu/icon/docs/itweak.htm")
# (find-shttpw3 "www.soder-labs.com/icon/")
# (find-shttpw3 "www.soder-labs.com/icon/itweak.html")
#*
rm -Rv /usr/src/itweak-2.32/
cd /usr/src/
tar -xvzf $S/http/www.soder-labs.com/icon/itweak-2.32.tar.gz
cd /usr/src/itweak-2.32/
make |& tee om
make demo
# Oops.
#*
# (code-c-d "itweak" "/usr/src/itweak-2.32/")
# (find-itweakfile "")
# (find-itweakfile "README" "INSTANT ITWEAK -- UNIX")
# (find-itweakfile "Makefile")
# (find-itweakw3 "itweak.html")
#####
#
# icon on sarge
# 2005jan23
#
#####
# «icon-sarge» (to ".icon-sarge")
# (find-status "icont")
# (find-vldifile "icont.list")
# (find-udfile "icont/")
# (find-status "iconx")
# (find-vldifile "iconx.list")
# (find-udfile "iconx/")
# (find-status "icon-ipl")
# (find-vldifile "icon-ipl.list")
# (find-udfile "icon-ipl/")
# (find-fline "/usr/lib/icon-ipl/")
# (find-man "1 unzip" "-q")
# (find-man "1 icont" "-s")
# Note: sarge's icon-ipl package is very poor, it's better to install
# bipl instead.
# http://www.cs.arizona.edu/icon/ftp/library/bipl.zip
# http://www.cs.arizona.edu/icon/ftp/library/gipl.zip
#*
rm -Rf ~/usrc/ipl/
mkdir ~/usrc/ipl/
cd ~/usrc/ipl/
unzip -q $S/http/www.cs.arizona.edu/icon/ftp/library/gipl.zip
unzip -q $S/http/www.cs.arizona.edu/icon/ftp/library/bipl.zip
cd ~/usrc/ipl/procs/; for i in *.icn; do icont -s -c $i; done
cd ~/usrc/ipl/progs/; for i in *.icn; do echo $i; icont -s $i; done
cd ~/usrc/ipl/gprocs/; for i in *.icn; do icont -s -c $i; done
cd ~/usrc/ipl/gprogs/; for i in *.icn; do echo $i; icont -s $i; done
# cd ~/usrc/ipl/mprocs/; for i in *.icn; do icont -s -c $i; done
# cd ~/usrc/ipl/mprogs/; for i in *.icn; do icont -s $i; done
#*
# (find-node "(find)Permissions")
cd ~/usrc/ipl/gprogs/
find . -perm +100 -and -type f | sort | tee ~/o
for i in $(find * -perm +100 -and -type f | sort ); do
echo $i
./$i
done
#*
mkdir ~/usrc/ipl/procs/
cp /usr/lib/icon-ipl/* ~/usrc/ipl/procs/
#*
cd /tmp/ipl/gprocs/
for i in *.icn; do icont $i; done
#*
# (code-c-d "ipl" "/usr/lib/icon-ipl/")
# (find-iplsh "grep -l 'procedure main' *.icn")
# (find-iplsh "grep graphic $(grep -l 'procedure main' *.icn)")
# (find-sh "cd /usr/lib/icon-ipl/; grep -l 'procedure main' *.icn")
# (find-iplfile "")
# (find-iplfile "barchart.icn" "procedure main")
# (find-man "1 icont")
# (find-man "1 iconx")
#*
rm -Rf /tmp/ipl/
mkdir /tmp/ipl/
cp /usr/lib/icon-ipl/* /tmp/ipl/
cd /tmp/ipl/
#*
#####
#
# icon on sarge from the debian sources
# 2006aug11
#
#####
# «icon-sarge-source» (to ".icon-sarge-source")
# http://ftp.debian.org/debian/pool/main/i/icon/icon_9.4.2-2.6.diff.gz
# http://ftp.debian.org/debian/pool/main/i/icon/icon_9.4.2-2.6.dsc
# http://ftp.debian.org/debian/pool/main/i/icon/icon_9.4.2.orig.tar.gz
# (code-c-d "icon" "~/usrc/icon/icon-9.4.2/")
# (find-iconfile "")
#*
rm -Rv ~/usrc/icon/
mkdir ~/usrc/icon/
cd ~/usrc/icon/
cp -v $S/http/ftp.debian.org/debian/pool/main/i/icon/icon_9.4.2* .
dpkg-source -sn -x icon_9.4.2-2.6.dsc
cd ~/usrc/icon/icon-9.4.2/
dpkg-buildpackage -us -uc -b -rfakeroot |& tee odb
#*
# (find-status "icont")
# (find-vldifile "icont.list")
# (find-udfile "icont/")
# (find-status "iconx")
# (find-vldifile "iconx.list")
# (find-udfile "iconx/")
cd ~/usrc/icon/
sudo dpkg -i icont_9.4.2-2.6_i386.deb \
iconx_9.4.2-2.6_i386.deb
#*
# The icon-ipl package is needed to compile the upstream bipl and gipl
# (find-status "icon-ipl")
# (find-vldifile "icon-ipl.list")
# (find-udfile "icon-ipl/")
# (find-vldifile "icon-ipl.list" "/usr/lib/icon-ipl/graphics.u1")
# (find-angg ".zshrc" "Icon")
cd ~/usrc/icon/
sudo dpkg -i icon-ipl_9.4.2-2.6_all.deb
# aptrm icon-ipl
#*
# Compile bipl and gipl:
# http://www.cs.arizona.edu/icon/ftp/library/bipl.zip
# http://www.cs.arizona.edu/icon/ftp/library/gipl.zip
rm -Rf ~/usrc/ipl/
mkdir ~/usrc/ipl/
cd ~/usrc/ipl/
unzip -q $S/http/www.cs.arizona.edu/icon/ftp/library/gipl.zip
unzip -q $S/http/www.cs.arizona.edu/icon/ftp/library/bipl.zip
cd ~/usrc/ipl/procs/; for i in *.icn; do icont -s -c $i; done |& tee oisc
cd ~/usrc/ipl/progs/; for i in *.icn; do echo $i; icont -s $i; done |& tee ois
cd ~/usrc/ipl/gprocs/; for i in *.icn; do icont -s -c $i; done |& tee oisc
cd ~/usrc/ipl/gprogs/; for i in *.icn; do echo $i; icont -s $i; done |& tee ois
# cd ~/usrc/ipl/mprocs/; for i in *.icn; do icont -s -c $i; done
# cd ~/usrc/ipl/mprogs/; for i in *.icn; do icont -s $i; done
#*
# (find-node "(find)Permissions")
# (find-fline "~/usrc/ipl/gprogs/")
# (find-fline "~/usrc/ipl/gprogs/.files.x.el")
cd ~/usrc/ipl/gprogs/
find * -perm +100 -and -type f | sort | tee .files.x
cat .files.x | gsub.lua '' '(find-fline "~/usrc/ipl/gprogs/%1.icn")
(find-sh0 "~/usrc/ipl/gprogs/%1")' \
| tee .files.x.el
#*
# (find-fline "~/usrc/ipl/gprogs/.files.x.el")
# (find-fline "~/usrc/ipl/gprogs/chernoff.icn")
# (find-sh0 "~/usrc/ipl/gprogs/chernoff")
# (code-c-d "iconipl" "~/usrc/ipl/" :grep)
# (find-iconiplfile "")
# (find-iconiplgrep "grep -nH -e Event $(find * -name '*.icn')")
#####
#
# Pending Events
# 2006aug27
#
#####
# «pending_events» (to ".pending_events")
# (find-angg "ICON/tron.icn")
# (find-icongrbookpage (+ 24 183))
# (find-iconiplgrep "grep -nH -e Pending $(find *)")
# (find-iconfile "src/runtime/fwindow.r" "function{0,1} Pending(argv[argc])")
# (find-iconfile "src/runtime/rt.db")
*Pending() > 0
#####
#
# tron.el in Icon
# 2006aug11
#
#####
# «tron.icn» (to ".tron.icn")
# (find-anggfile "elisp/")
# (find-anggfile "elisp/tron.el")
# (find-anggfile "elisp/tron.el.png")
# (find-iconbooktext "delay(i) : n")
# (find-iconbooktext)
# (find-iconbookpage (+ 22 155))
# (find-iconbookpage)
# (find-anggfile "ICON/lslR2find2.icn")
# (find-iconiplfile "gprogs/")
# (find-iconiplfile "gprogs/breakout.icn")
# (find-anggfile "usrc/ipl/gprogs/breakout.icn" "image(WAttrib(\"pointerx\"))")
Acho que o Event sempre retorna imediatamente... melhor roda-lo com um delay.
# (find-iconiplfile "gprogs/breakout.icn" "if e := Event() then")
# (find-iconiplfile "")
# (find-iconiplgrep "grep -nH -e Event $(find * -name '*.icn')")
# (find-iconiplgrep "grep -nH -e GetEvents $(find * -name '*.icn')")
# (find-iconbookpage (+ 22 318))
# (find-iconbooktext "")
# (find-angg ".zshrc" "Icon")
# (find-fline "zinc.icn")
# (find-fline "zlib.icn")
# (find-man "1 icont")
# (find-iconbookpage (+ 22 12) "$include")
# (find-iconbooktext "$include")
# (find-angg "ICON/zinc.icn")
#$include "zinc.icn"
# (find-zsh0 "iconw 'type(a := [33, 44]) || a[1]'")
#####
#
# an Icon<->Lua bridge: calling Lua from C without Icon
# 2006oct21
#
#####
# «icon-lua-0» (to ".icon-lua-0")
# (find-es "lua5" "pil24.1")
#*
rm -Rv /tmp/iconlua/
mkdir /tmp/iconlua/
cd /tmp/iconlua/
cat > test.c <<'---'
#include <stdio.h>
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>
#include <string.h> // for strlen
static lua_State *L = NULL;
static void lua_run(char *buff) {
int error;
if (L == NULL) {
L = luaL_newstate(); /* opens Lua */
luaL_openlibs(L); /* opens the standard libraries */
}
error = luaL_loadbuffer(L, buff, strlen(buff), "buff") ||
lua_pcall(L, 0, 0, 0);
if (error) {
fprintf(stderr, "%s", lua_tostring(L, -1));
lua_pop(L, 1); /* pop error message from the stack */
}
}
int main (void) {
char buff[256];
while (fgets(buff, sizeof(buff), stdin) != NULL) {
lua_run(buff);
}
return 0;
}
---
export LUA51SRC=$HOME/usrc/lua-5.1.1
gcc -O2 -Wall -I$LUA51SRC/src -c -o test.o test.c
# (find-lua51file "oml" "liblua.a")
# (find-lua51file "oml" "gcc -o lua ")
gcc -o test test.o $LUA51SRC/src/liblua.a -lm -Wl,-E -ldl
echo 'print(1+2, "hello")' | ./test
#*
#####
#
# an Icon<->Lua bridge: calling C from Icon
# 2006oct22
#
#####
# «icon-lua-1» (to ".icon-lua-1")
# (find-iconfile "")
#*
cd ~/usrc/icon/icon-9.4.2/
find * | sort > .files
grep '\.[chsr]$' < .files > .files.chsr
#*
# (find-iconfile ".files")
# (find-iconfile ".files.chsr")
# (find-iconfile "ipl/cfuncs/")
# (find-iconfile "ipl/cfuncs/cfunc.icn")
# (find-iconfile "ipl/cfuncs/mkfunc.sh")
# (find-iconfile "ipl/cfuncs/mklib.sh")
# (find-iconfile "ipl/cfuncs/Makefile")
# (find-es "icon" "icon-sarge-source")
# (find-iconfile "odb")
# (find-iconfile "odb" "sh mkfunc.sh")
# (find-iconfile "odb" ">cfunc.icn")
# (find-iconfile "odb" "sh mklib.sh")
# (find-icongrep "grep -niH -e RetString ipl/cfuncs/*.c")
#*
rm -Rv /tmp/cfuncs/
mkdir /tmp/cfuncs/
cd /tmp/cfuncs/
cd ~/usrc/icon/icon-9.4.2/ipl/cfuncs
cp -dipPvR * /tmp/cfuncs/
cd /tmp/cfuncs/
sh mkfunc.sh libcfunc.so bitcount.o files.o fpoll.o internal.o lgconv.o osf.o pack.o ppm.o process.o tconnect.o >cfunc.icn
icont -us -c cfunc.icn
# (find-iconfile "ipl/cfuncs/")
# (find-iconfile "ipl/cfuncs/icall.h")
# (find-fline "/tmp/cfuncs/")
gcc -Wall -g -O0 -fPIC -c bitcount.c
gcc -Wall -g -O0 -fPIC -c files.c
gcc -Wall -g -O0 -fPIC -c fpoll.c
gcc -Wall -g -O0 -fPIC -c internal.c
gcc -Wall -g -O0 -fPIC -c lgconv.c
gcc -Wall -g -O0 -fPIC -c osf.c
gcc -Wall -g -O0 -fPIC -c pack.c
gcc -Wall -g -O0 -fPIC -c ppm.c
gcc -Wall -g -O0 -fPIC -c process.c
gcc -Wall -g -O0 -fPIC -c tconnect.c
CC="gcc" CFLAGS="-Wall -g -O0" sh mklib.sh libcfunc.so bitcount.o files.o fpoll.o internal.o lgconv.o osf.o pack.o ppm.o process.o tconnect.o
# gcc -shared -o libcfunc.so -fPIC bitcount.o files.o fpoll.o internal.o lgconv.o osf.o pack.o ppm.o process.o tconnect.o
#*
# (find-icongrep "grep -nH -e cnv_c_str $(find *)")
# (find-icongrep "grep -nH -e rproto.h $(find *)")
# (find-icongrep "grep -nH -e pathload $(find *)")
# (find-icongrep "grep -nH -e loadfunc $(find *)")
# (find-iconfile "src/runtime/fload.r" "loadfunc(filename,funcname)")
# (find-iconfile "src/runtime/fload.r" "dlsym(handle, funcname)")
# (find-node "(libc)Function Index" "* sprintf:")
# (find-icongrep "grep -niH -e RetString ipl/cfuncs/*.c")
# (find-iconfile "ipl/cfuncs/")
# (find-iconfile "ipl/cfuncs/files.c")
cat > /tmp/cfuncs/edrx.c <<'---'
#include "icall.h"
#include <stdio.h> // for sprintf
int icon_angbrack (int argc, descriptor argv[]) /* wrap as "<%s>" */
{ char buffer[256];
ArgString(1);
sprintf(buffer, "<%s>", StringVal(argv[1]));
RetString(buffer);
}
---
cd /tmp/cfuncs/
gcc -Wall -g -O0 -fPIC -c edrx.c
gcc -shared -o edrx.so -fPIC edrx.o
cat > edrx.icn <<'---'
link io
$define LIB "/tmp/cfuncs/edrx.so"
procedure angbrack(a[])
return(angbrack:=pathload(LIB,"icon_angbrack"))!a;end
procedure main()
write(angbrack("foo"))
write(angbrack("bar"))
end
---
cd /tmp/cfuncs/
icont -s edrx.icn -x
#*
#####
#
#
#
#####
# (find-iconfile "src/h/rproto.h" "cnv_c_str")
cp -v ~/usrc/icon/icon-9.4.2/src/h/rproto.h .
// #include "rproto.h"
//
# (find-iconfile "ipl/procs/io.icn")
# (find-iconfile "doc/faq.txt" "loadfunc()")
# http://www.cs.arizona.edu/icon/docs/ipd240.htm
if ( StringVal(argv[1]), IntegerVal(argv[2])) == 0)
RetNull();
else
Fail;
}
#*
# (find-iconfile "ipl/cfuncs/")
# (find-iconfile "ipl/cfuncs/README")
# (find-iconfile "ipl/cfuncs/README" "FPATH")
# (find-man "iconx")
# (find-icongrep "grep -nH -e FPATH $(find *)")
# (find-iconfile "src/runtime/imain.r" "Append to FPATH the bin directory from which iconx was executed")
# (find-iconfile "ipl/procs/io.icn" "load C function from $FPATH")
# gcc -shared -o libcfunc.so -fPIC bitcount.o files.o fpoll.o internal.o lgconv.o osf.o pack.o ppm.o process.o tconnect.o
# make[4]: Leaving directory `/home/edrx/usrc/icon/icon-9.4.2/ipl/cfuncs'
cp cfuncs/*.u? ../lib
cp cfuncs/libcfunc.so ../bin
# make[3]: Leaving directory `/home/edrx/usrc/icon/icon-9.4.2/ipl'
# «icon-lua» (to ".icon-lua")
// (find-luamanualw3m "#3.14")
static void lua_run(char *prog) {
// (find-lua51file "src/lua.c" "lua_open()")
// (find-lua51file "src/lua.c" "luaL_openlibs(L)")
// (find-lua51file "src/lua.c" "dostring")
// (find-lua51file "src/linit.c" "luaL_openlibs")
// (find-lua51tag "luaL_loadbuffer")
// (find-lua51tag "lua_load")
// (find-pilw3m "24.1.html")
if (!L) {
L = lua_open();
luaL_openlibs(L);
}
}
every i := 1 to Limit do
#*
# (find-efunction 'eeicon-ow)
# (eeb-icon)
# (eeb-icon-ow)
# (eev ee-script-icon)
# (find-fline "~/ICON/")
# (find-anggfile "ICON/tmp.icn")
# (find-anggfile "ICON/ee.icn")
# (find-anggfile ".zshrc" "Icon")
print(233)
#*
# cat > ~/ICON/ee.icn
#*
# (find-evariable 'ee-script-icon)
# (setq ee-script-icon "cd ~/ICON/ && icont -s tmp.icn -x")
# (find-status "icon-ipl")
# (find-vldifile "icon-ipl.list")
# (find-udfile "icon-ipl/")
# (find-man "1 icont" "IPATH")
# (find-man "1 icont" "LPATH")
# (find-fline "/usr/lib/icon-ipl/" "graphics.icn")
export LPATH="$HOME/ICON /usr/lib/icon/ipl/incl /usr/lib/icon/ipl/gincl"
#export IPATH="$HOME/ICON /usr/lib/icon/ipl/ucode"
export IPATH="$HOME/ICON /usr/lib/icon-ipl"
cat > /tmp/foo.icn <<'---'
procedure main()
every i = 1 to 200 do {
write(i)
}
end
---
cd /tmp/
strace-to ~/s \
icont -s foo.icn -x
#*
# (find-fline "~/s")
$include "zinc.icn"
link graphics
# WOpen("size=293,320") | stop("can't open window")
# print(Event())
# delay(100)
# (find-angg ".emacs" "find-iconbooktext")
# (find-iconbookpage (+ 22 143))
# (find-iconbookpage (+ 22 155))
# (find-w3m "~/TH/L/icon.html")
# (find-esgrep "grep -nH -e dpkg-source *.e")
# (code-c-d "icon" "~/usrc/icon/icon-9.4.2/" :grep)
# (find-iconfile "")
#
find-grep
chernoff
#####
#
# mapr (later renamed to iee)
# 2007jan24
#
#####
# «mapr» (to ".mapr")
# http://www.costarricense.cr/pagina/ernobe/mapr.txt
# http://www.costarricense.cr/pagina/ernobe/iee.txt
# From comp.lang.icon, 21 jan 2007...
I've created an Icon evaluator called Mapr (short for main procedure).
It evaluates every Icon expression that is entered, and if you want
the result of several, you have two options, either use brackets and
parenthesis in the usual fashion, or declare your own procedures. The
user declared procedures can be used in subsequent expressions and
procedures, and can be saved to a file. Type 'bye' to exit the program
and 'mapr ?' or 'mapr help' for help. You can see the source code at:
http://www.costarricense.cr/pagina/ernobe/mapr.txt
The program prints out that which the expressions or procedures write
and the result of them. For example,
$ mapr
procedure main()
_
it begins printing out the main procedure declaration, then if you
write this:
$ mapr
procedure main()
write( "hello world" )
it will respond with this:
$ mapr
procedure main()
write( "hello world" )
end
hello world
result : "hello world"
I have only one problem, and it is that I haven't been able to get it
to work on Windows (in Windows emulator Wine). It reports that it is
unable to execute nticonx (with nticont -s mapr.icn -x). Can anyone
help me get it to work on Windows?
PS: User declared procedures can occur anywhere in the program. For
example,
The Mapr prompt is:
$ mapr
procedure main()
_
if the user enters this:
$ mapr
procedure main()
{ g := 34
#uio( b )
# if b = 34 then write( "hello 34" ) #
uio( g )
if uio( g ) then 342 else 222 }
the result is:
procedure main()
{ g := 34
#uio( b )
# if b = 34 then write( "hello 34" ) #
uio( g )
if uio( g ) then 342 else 222 }
end
hello 34
hello 34
result : 222
procedure main()
_
#####
#
# noweb-2.11b
# 2007mar29
#
#####
# «noweb» (to ".noweb")
# http://www.eecs.harvard.edu/~nr/noweb/dist/noweb.tgz
#*
rm -Rfv ~/usrc/noweb-2.11b/
tar -C ~/usrc/ -xvzf \
$S/http/www.eecs.harvard.edu/~nr/noweb/dist/noweb.tgz
cd ~/usrc/noweb-2.11b/
make |& tee om
#*
# (code-c-d "noweb" "~/usrc/noweb-2.11b/")
# (find-nowebfile "")
# (find-nowebfile "README")
# (find-nowebfile "src/INSTALL")
#####
#
# Unicon (2010)
# 2010oct30
#
#####
# «unicon-2010» (to ".unicon-2010")
# http://www.unicon.org/
# http://www.unicon.org/downloads.html
# http://www.unicon.org/dist/uni.zip
# http://www.unicon.org/book/ub.pdf
# http://www.unicon.org/interesting.html
# http://www.unicon.org/mailing.html
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rv ~/usrc/unicon/
mkdir ~/usrc/unicon/
unzip -d ~/usrc/unicon/ $S/http/www.unicon.org/dist/uni.zip
cd ~/usrc/unicon/
make X-Configure name=intel_linux |& tee oc
make Unicon |& tee om
# (code-c-d "unicon" "~/usrc/unicon/")
# (find-uniconfile "")
# (find-uniconfile "README")
# (find-uniconfile "om")
# http://www.unicon.org/cvs.html
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rv ~/usrc/unicon-cvs/
mkdir ~/usrc/unicon-cvs/
cd ~/usrc/unicon-cvs/
tar -xvzf ~/tmp/unicon-cvs.tgz
# cvs -d:pserver:anonymous@unicon.cvs.sourceforge.net:/cvsroot/unicon login
# just press enter when asked for a password, no password needed
cvs -z8 -d:pserver:anonymous@unicon.cvs.sourceforge.net:/cvsroot/unicon co unicon
tar -cvzf ~/tmp/unicon-cvs.tgz unicon/
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/usrc/unicon-cvs/unicon/
make X-Configure name=intel_linux |& tee oc
make Unicon |& tee om
# (code-c-d "unicon" "~/usrc/unicon-cvs/unicon/")
# (find-uniconfile "")
# (find-uniconfile "bin/")
# (find-uniconfile "README")
# (find-uniconfile "oc")
# (find-uniconfile "oc" "sh ./configure")
# (find-uniconfile "om")
# (find-uniconfile "doc/build.htm")
# (find-uniconfile "uni/udb/lib/")
# (find-uniconfile "uni/udb/lib/Makefile")
# (find-uniconfile "uni/udb/lib/Makefile" "listener.u:")
# Test:
cd ~/usrc/unicon-cvs/unicon/
bin/icont -s ~/ICON/tron.icn -x
#####
#
# icon-2019
# 2019sep07
#
#####
# «icon-2019» (to ".icon-2019")
# https://en.wikipedia.org/wiki/Icon_(programming_language)
# https://www2.cs.arizona.edu/icon/
# (find-zsh "availabledebs | sort | grep icon")
# https://packages.debian.org/source/sid/icon
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
apti icont iconx icon-ipl
# (find-status "icont")
# (find-vldifile "icont.list")
# (find-udfile "icont/")
# (find-status "iconx")
# (find-vldifile "iconx.list")
# (find-udfile "iconx/")
# (find-status "icon-ipl")
# (find-vldifile "icon-ipl.list")
# (find-udfile "icon-ipl/")
# https://github.com/gtownsend/icon
#####
#
# unicon-git
# 2019sep07
#
#####
# «unicon-git» (to ".unicon-git")
# https://en.wikipedia.org/wiki/Unicon_(programming_language)
# https://unicon.sourceforge.io
# https://unicon.sourceforge.io/git.html
# git://git.code.sf.net/p/unicon/unicon
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rfv ~/usrc/unicon/
cd ~/usrc/
git clone git://git.code.sf.net/p/unicon/unicon
cd ~/usrc/unicon/
git branch --list -a
git for-each-ref
PAGER=cat git log --oneline --graph --all -20
# (find-fline "~/usrc/")
# (find-fline "~/usrc/unicon/")
# (find-gitk "~/usrc/unicon/")
# (code-c-d "unicon" "~/usrc/unicon/")
# (find-uniconfile "")
# (find-uniconfile "README.md")
# (find-uniconfile "README.md" "Build Instructions")
# (find-uniconfile "README.md" "### Linux")
# (find-uniconsh "find * | sort")
# (find-uniconfile "doc/unicon/")
sudo apt install build-essential
sudo apt install libgl1-mesa-glx libssl-dev libx11-dev libjpeg-dev libpng-dev libglu1-mesa-dev libxft-dev libopenal-dev libalut-dev libogg-dev libvorbis-dev unixodbc-dev libfreetype6-dev
# (find-apt-get-source-links "unicon")
• (eepitch-shell)
• (eepitch-kill)
• (eepitch-shell)
cd ~/usrc/unicon/
git reset
./configure --help |& tee oc
make |& tee om
make |& tee om2
make install |& tee omi
#####
#
# subj-and-pos
# 2021jan20
#
#####
# «subj-and-pos» (to ".subj-and-pos")
# https://www2.cs.arizona.edu/icon/ftp/doc/lb1up.pdf
# (code-pdf-page "iconbook" "$S/https/www2.cs.arizona.edu/icon/ftp/doc/lb1up.pdf")
# (code-pdf-text "iconbook" "$S/https/www2.cs.arizona.edu/icon/ftp/doc/lb1up.pdf" 22)
# (find-iconbookpage (+ 22 44) "&subject")
# (find-iconbooktext (+ 22 44) "&subject")
#####
#
# The Implementation of Icon and Unicon - a Compendium
# 2021oct03
#
#####
# «icon-unicon-ib» (to ".icon-unicon-ib")
# https://unicon.sourceforge.io/book/ib.pdf
# https://mail.google.com/mail/ca/u/0/#inbox/FMfcgzGlkFsrHHlsgrPdSkvLttPLLVrW
;; <uniconib>
;; https://unicon.sourceforge.io/book/ib.pdf
;; (find-fline "$S/https/unicon.sourceforge.io/book/")
(code-pdf-page "uniconib" "$S/https/unicon.sourceforge.io/book/ib.pdf")
(code-pdf-text "uniconib" "$S/https/unicon.sourceforge.io/book/ib.pdf")
;; (find-uniconibpage)
;; (find-uniconibtext)
#####
#
# Clinton Jeffrey: Build Your Own Programming Language
# 2022jul10
#
#####
# «byopl» (to ".byopl")
# https://www.oreilly.com/library/view/build-your-own/9781800204805/
# https://github.com/PacktPublishing/Build-Your-Own-Programming-Language
# https://static.packt-cdn.com/downloads/9781800204805_ColorImages.pdf
# (find-fline "~/.cvspass")
# "Create a procedures at runtime" (2008jun):
# http://groups.google.com/group/comp.lang.icon/browse_thread/thread/5113b1d07d24fd73
# http://www.mitchellsoftwareengineering.com/icon/icon.sli.pdf
https://www2.cs.arizona.edu/icon/
https://www2.cs.arizona.edu/icon/ftp/doc/lb1up.pdf
[Unicon-group] non-privileged install (2021sep28)
https://mail.google.com/mail/ca/u/0/#inbox/FMfcgzGlkFnFZrjPWnSttFJRDTbXGKdB
# Local Variables:
# coding: utf-8-unix
# End: