|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
#######
#
# E-scripts on nim.
#
# 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/nim.e>
# or at <http://angg.twu.net/e/nim.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/>.
#
#######
# «.nim-2.0» (to "nim-2.0")
# «.nim-1.6.10» (to "nim-1.6.10")
# «.inim-repl» (to "inim-repl")
# «.choosenim» (to "choosenim")
# «.nim-eval» (to "nim-eval")
# «.arturo» (to "arturo")
#####
#
# nim-2.0
# 2023feb18
#
#####
# «nim-2.0» (to ".nim-2.0")
# «nim-1.6.10» (to ".nim-1.6.10")
# (find-angg ".zshrc" "nim")
# (find-git-links "https://github.com/nim-lang/Nim" "nim")
# (code-c-d "nim" "~/usrc/Nim/")
# (find-nimfile "")
# (find-nimfile "readme.md")
# (find-nimfile "build_all.sh")
# (find-nimfile "ci/funs.sh")
# (find-nimfile "bin/")
# (find-nimfile "ob")
# https://nim-lang.org/install.html
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# rm -Rfv ~/usrc/Nim/
cd ~/usrc/
git clone https://github.com/nim-lang/Nim
cd ~/usrc/Nim/
cd ~/usrc/Nim/
git pull
git clean -dfx
git reset --hard
# git checkout version-2-0
git checkout v1.6.10
sh build_all.sh |& tee ob
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
which nim; nim -v
export PATH=$HOME/usrc/Nim/bin:$PATH
which nim; nim -v
nim --eval:'echo 1'
nim --eval:'echo 1' --hints:off
# (find-fline "~/usrc/")
# (find-fline "~/usrc/Nim/")
# (find-gitk "~/usrc/Nim/")
# (code-c-d "nim" "~/usrc/Nim/")
# (find-nimfile "")
# (find-nimfile "doc/")
#####
#
# inim-repl
# 2023feb18
#
#####
# «inim-repl» (to ".inim-repl")
# https://github.com/inim-repl/INim
# (find-git-links "https://github.com/inim-repl/INim" "inim")
# (code-c-d "inim" "~/usrc/INim/")
# (find-inimfile "")
# (find-inimfile "README.md")
# (find-inimfile "README.md" "import")
# (find-inimfile "README.md" "preload")
# (find-fline "~/usrc/INim/")
cd ~/usrc/INim/
nim inim.nim
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
inim
help
help()
nimble install inim
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
apti nim nim-doc
# (find-status "nim")
# (find-vldifile "nim.list")
# (find-udfile "nim/")
# (find-status "nim-doc")
# (find-vldifile "nim-doc.list")
# (find-udfile "nim-doc/")
# (find-fline "/usr/lib/nim/doc/")
# (find-fline "/usr/lib/nim/doc/grammar.txt")
# file:///usr/share/doc/nim/html/index.html
# (find-fline "/usr/lib/nim/core/locks.nim")
# (find-man "1 nimble")
# (find-epackage-links 'nim-mode "nimmode" t)
# (find-epackage 'nim-mode)
# (code-c-d "nimmode" "~/.emacs.d/elpa/nim-mode-20211102.917/")
# (find-nimmodefile "")
# (find-fline "~/NIM/test1.nim")
# https://nim-lang.org/docs/tut1.html
#####
#
# choosenim
# 2023feb18
#
#####
# «choosenim» (to ".choosenim")
# https://github.com/dom96/choosenim
#####
#
# nim-eval
# 2023feb18
#
#####
# «nim-eval» (to ".nim-eval")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd /tmp/
function nim-eval {
local f=$(mktemp eval_XXXX.nims)
echo "$1" > $f; shift
nim e "$@" $f
rm $f
}
nim -v
nim-eval 'echo 123'
nim-eval 'echo 123' --hints:off
nim-eval 'echo currentSourcePath()' --hints:off
nim-eval 'import std/[sets, strutils]; echo "all.txt".readFile.strip.splitLines.toHashSet - "rejected.txt".readFile.strip.splitLines.toHashSet' --hints:off
#####
#
# arturo
# 2023mar14
#
#####
# «arturo» (to ".arturo")
# https://github.com/arturo-lang/arturo
# (find-git-links "https://github.com/arturo-lang/arturo" "arturo")
# (code-c-d "arturo" "~/usrc/arturo/")
# (code-c-d "arturodoc" "~/usrc/arturo/docs/website/pages/documentation/")
# (find-arturofile "")
# (find-arturodocfile "in a nutshell.art")
https://github.com/wheineman/nrpl
https://nim-lang.org/docs/sugar.html
https://nim-lang.org/blog/2021/11/15/zen-of-nim.html#function-application
https://nim-lang.org/docs/manual.html#statements-and-expressions-block-expression
https://nim-lang.org/docs/manual.html#statements-and-expressions-discard-statement
https://github.com/elcritch/fidget
https://www.amazon.com/dp/B0B4R7B9YX Mastering Nim: A complete guide to the programming language - by Andreas Rumpf (Author)
https://news.ycombinator.com/item?id=8822816 What is special about Nim? (hookrace.net)
https://news.ycombinator.com/item?id=14143521 Nim programming language (nim-lang.org) - REPL
https://news.ycombinator.com/item?id=25590962 Nim in 2020: A Short Recap (nim-lang.org)
https://mode80.github.io/7-langs-in-12-months.html
# Local Variables:
# coding: utf-8-unix
# End: