On Fri, Aug 22, 2008 at 2:53 PM, Martin Rubey wrote: > > Dear all, > > I'm trying to debug one of the very last quirks of the aldor interface, to > get aldor-combinat completely functional in axiom. > > 1) (hopefully) easy question: > > what is the semantics of > > foo is bar > > in boot.
'is' is the pattern matching operator. You can read a little about it here: http://axiom-wiki.newsynthesis.org/axiom--test--1/src/boot/Makefile The the explanation is sketchy and rather poorly written. > In particular, from hashcode.boot: > > type is ['QUOTE, val] => hashType(val, percentHash) This means: compare the contents of the variable 'type' to the pattern ['QUOTE, val]. If it matches, i.e. if 'type' is a two element list and the first element is the constant 'QUOTE then set 'val' to the second element of 'type' and call 'hashType(val, percentHash)'. > type is [dom] => hashString SYMBOL_-NAME dom Similarly, 'type' must be a single element list. In that case 'dom' is set to that element. > type is ['_:, ., type2] => hashType(type2, percentHash) 'type' must be a three element list with first element literally : > isDomain type => getDomainHash type > [op, :args] := type > : is the pattern matching operator that matches more than one element. > I'd be very grateful if you could explain lines 1-3 and possibly 4 to me. > > 2) for the ambitious: > > get the aldor-interface > > get svn://svn.risc.uni-linz.ac.at/hemmecke/combinat/branches/iso-experiment > > and issue the following lines > > cd combinat > make VARIANTSTOBUILD=axiom > cd lib > for f in $(ar t libcombinatax.al); do echo ")lib $f" >> combinat.input; done > cd ../src > axiom -nox > )re ../lib/combinat > G := Interpret([parse "FunctorialCompose(Subset, Combination(2)))"], ACINT) > l: SetSpecies ACINT := set([1,2,3]::List ACINT::ACList ACINT) > s := structures(l)$G > )lisp (si::use-fast-links nil) > )se br br > next! s; > > the last line will fail, and should give an error like > > (|Combination| 2) is not of type SYMBOL. > > Would be wonderful, > http://axiom-wiki.newsynthesis.org/SandBoxSpecies#bottom On axiom-wiki using the new aldor interface compiled with GCL and the most recent source for FriCAS after ... s := structures(l)$G I get: >> System error: User error: Reached a 'never' -------- Regards, Bill Page. ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ open-axiom-devel mailing list open-axiom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open-axiom-devel