Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
/* * This file: * http://anggtwu.net/.maxima/maxima-init.mac.html * http://anggtwu.net/.maxima/maxima-init.mac * (find-angg ".maxima/maxima-init.mac") * Author: Eduardo Ochs <eduardoochs@gmail.com> * * (find-es "maxima" "init-file") * (defun e () (interactive) (find-angg ".maxima/maxima-init.mac")) * * «.traverse» (to "traverse") * «.HOME» (to "HOME") * «.load_qdraw» (to "load_qdraw") * «.DDef» (to "DDef") * «.align_eqs» (to "align_eqs") * «.format» (to "format") */ /* «traverse» (to ".traverse") * (find-es "maxima" "op-and-args") */ traverse_1 : lambda([o, action], if is(action = 'op) then op(o) elseif is(action = 'args) then args(o) else args(o)[action]); traverse(o, [actions]) := xreduce('traverse_1, actions, o); /* * (eepitch-maxima) * (eepitch-kill) * (eepitch-maxima) load("maxima-init.mac"); o : a*b + c/d; traverse(o); traverse(o, op); traverse(o, args); traverse(o, 1); traverse(o, 1, op); traverse(o, 1, args); */ /* «HOME» (to ".HOME") * (find-es "maxima" "getenv") */ HOME() := (load("operatingsystem"), getenv("HOME"))$ /* «load_qdraw» (to ".load_qdraw") * (find-es "maxima" "qdraw") * (find-es "maxima" "myqdraw-flatten") * (find-es "mbe" "download") * https://home.csulb.edu/~woollett/qdraw.mac */ load_qdraw() := ( file_search_maxima : append (file_search_maxima, [concat(HOME(), "/snarf/https/home.csulb.edu/~woollett/###.{mac,lisp}")]), load("qdraw"))$ load_qdraw() := ( file_search_maxima : append (file_search_maxima, [concat(HOME(), "/snarf/https/home.csulb.edu/~woollett/*.mac")]), load("qdraw"))$ /* * (eepitch-maxima) * (eepitch-kill) * (eepitch-maxima) load_qdraw(); qdraw(); */ /* «DDef» (to ".DDef") * (find-es "maxima" "DDef") */ DDef1(fxy) := buildq([f:op(fxy),xy:args(fxy)], define(f(splice(xy)),f))$ DDef([fxys]) ::= map('DDef1,fxys)$ /* «align_eqs» (to ".align_eqs") * (find-es "maxima" "align_eqs") */ align_eqs(as) := apply('matrix, align_eqs_0(as))$ align_eqs_0(as) := append([[as[1], "=", as[2]]], makelist(["", "=", as[i]], i, 3, length(as)))$ /* * (eepitch-maxima) * (eepitch-kill) * (eepitch-maxima) a : [11, 22, 33, 44, 55, 66]; align_eqs(a); */ /* «format» (to ".format") * (find-es "maxima" "format") */ format([args]) := apply(?format, append([false], args));