From bd371dff087150c946a48a34299aabc893580ffe Mon Sep 17 00:00:00 2001 From: dos-reis Date: Fri, 22 Feb 2008 17:25:49 +0000 Subject: * interp/i-analy.boot (bottomUpFormTuple): Use "tuple" for parse form that are not type instantiations. * interp/i-coerce.boot (coerceInt1): Likewise. * interp/i-intern.boot (mkAtree3): Likewise. (collectDefTypesAndPreds): Likewise. * interp/i-map.boot (args2Tuple): Likewise. (makePattern): Likewise. (canMakeTuple): Likewise. (makeRuleForm): Likewise. (numArgs): Likewise. (combineMapParts): Likewise. (mkMapPred): Likewise. (findLocalVars1): Likewise. * interp/i-output.boot (outputTran): Likewise. * interp/i-spec1.boot ($specialOps): Likewise. (evalUntargetedADEF): Likewise. (upDeclare): Likewise. (declare): Likewise. * interp/i-spec2.boot (upDollarTuple): Likewise. (upLET): Likewise. (isTupleForm): Remove. (uptuple): Rename from upTuple. (upLETWithFormOnLhs): Use "tuple" for parse forms that are not type instantiations. * interp/i-syscmd.boot (displayMacro): Likewise. * interp/pf2atree.boot (pf2Atree1): Likewise. * interp/pf2sex.boot (pf2Sex1): Likewise. (pfApplication2Sex): Likewise. (pfCollectArgTran): Likewise. * interp/ptrees.boot (pfTuple): Likewise. (pfTuple?): Likewise. --- configure | 18 +++++++++--------- configure.ac | 2 +- configure.ac.pamphlet | 4 ++-- src/ChangeLog | 34 ++++++++++++++++++++++++++++++++++ src/algebra/Makefile.in | 3 --- src/interp/i-analy.boot | 2 +- src/interp/i-coerce.boot | 2 +- src/interp/i-intern.boot | 16 +++++++++------- src/interp/i-map.boot | 18 +++++++++--------- src/interp/i-output.boot | 6 +++--- src/interp/i-spec1.boot | 14 +++++++------- src/interp/i-spec2.boot | 28 +++++++++------------------- src/interp/i-syscmd.boot | 2 +- src/interp/pf2atree.boot | 6 +++--- src/interp/pf2sex.boot | 21 +++++++++------------ src/interp/ptrees.boot | 4 ++-- 16 files changed, 100 insertions(+), 80 deletions(-) diff --git a/configure b/configure index 83b04f38..56345a78 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.60 for OpenAxiom 1.2.0-2008-02-20. +# Generated by GNU Autoconf 2.60 for OpenAxiom 1.2.0-2008-02-22. # # Report bugs to . # @@ -713,8 +713,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='OpenAxiom' PACKAGE_TARNAME='openaxiom' -PACKAGE_VERSION='1.2.0-2008-02-20' -PACKAGE_STRING='OpenAxiom 1.2.0-2008-02-20' +PACKAGE_VERSION='1.2.0-2008-02-22' +PACKAGE_STRING='OpenAxiom 1.2.0-2008-02-22' PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net' ac_unique_file="src/Makefile.pamphlet" @@ -1387,7 +1387,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures OpenAxiom 1.2.0-2008-02-20 to adapt to many kinds of systems. +\`configure' configures OpenAxiom 1.2.0-2008-02-22 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1457,7 +1457,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of OpenAxiom 1.2.0-2008-02-20:";; + short | recursive ) echo "Configuration of OpenAxiom 1.2.0-2008-02-22:";; esac cat <<\_ACEOF @@ -1561,7 +1561,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -OpenAxiom configure 1.2.0-2008-02-20 +OpenAxiom configure 1.2.0-2008-02-22 generated by GNU Autoconf 2.60 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1575,7 +1575,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by OpenAxiom $as_me 1.2.0-2008-02-20, which was +It was created by OpenAxiom $as_me 1.2.0-2008-02-22, which was generated by GNU Autoconf 2.60. Invocation command line was $ $0 $@ @@ -25230,7 +25230,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by OpenAxiom $as_me 1.2.0-2008-02-20, which was +This file was extended by OpenAxiom $as_me 1.2.0-2008-02-22, which was generated by GNU Autoconf 2.60. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -25279,7 +25279,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -OpenAxiom config.status 1.2.0-2008-02-20 +OpenAxiom config.status 1.2.0-2008-02-22 configured by $0, generated by GNU Autoconf 2.60, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index 99f7c6f0..2e59439c 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ sinclude(config/open-axiom.m4) sinclude(config/aclocal.m4) -AC_INIT([OpenAxiom], [1.2.0-2008-02-20], +AC_INIT([OpenAxiom], [1.2.0-2008-02-22], [open-axiom-bugs@lists.sf.net]) AC_CONFIG_AUX_DIR(config) diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet index 39d9ab3a..05ddf80e 100644 --- a/configure.ac.pamphlet +++ b/configure.ac.pamphlet @@ -1008,7 +1008,7 @@ At the moment, we honor the following options: The \Tool{Autoconf} machinery needs to be initialized with several pieces of information: \begin{itemize} -\item the \emph{name} of the system --- ``OpenAxiom 1.0.0'' +\item the \emph{name} of the system --- ``OpenAxiom 1.2.0'' \item its \emph{version}. I choose to use the date of last checkin. It should probably include the revision number so as to unambiguously identify which \Tool{OpenAxiom} flavour du jour is being @@ -1022,7 +1022,7 @@ information: <>= sinclude(config/open-axiom.m4) sinclude(config/aclocal.m4) -AC_INIT([OpenAxiom], [1.2.0-2008-02-20], +AC_INIT([OpenAxiom], [1.2.0-2008-02-22], [open-axiom-bugs@lists.sf.net]) @ diff --git a/src/ChangeLog b/src/ChangeLog index 82abe67a..c2ace4fe 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,37 @@ +2008-02-22 Gabriel Dos Reis + + * interp/i-analy.boot (bottomUpFormTuple): Use "tuple" for + parse form that are not type instantiations. + * interp/i-coerce.boot (coerceInt1): Likewise. + * interp/i-intern.boot (mkAtree3): Likewise. + (collectDefTypesAndPreds): Likewise. + * interp/i-map.boot (args2Tuple): Likewise. + (makePattern): Likewise. + (canMakeTuple): Likewise. + (makeRuleForm): Likewise. + (numArgs): Likewise. + (combineMapParts): Likewise. + (mkMapPred): Likewise. + (findLocalVars1): Likewise. + * interp/i-output.boot (outputTran): Likewise. + * interp/i-spec1.boot ($specialOps): Likewise. + (evalUntargetedADEF): Likewise. + (upDeclare): Likewise. + (declare): Likewise. + * interp/i-spec2.boot (upDollarTuple): Likewise. + (upLET): Likewise. + (isTupleForm): Remove. + (uptuple): Rename from upTuple. + (upLETWithFormOnLhs): Use "tuple" for parse forms that are not + type instantiations. + * interp/i-syscmd.boot (displayMacro): Likewise. + * interp/pf2atree.boot (pf2Atree1): Likewise. + * interp/pf2sex.boot (pf2Sex1): Likewise. + (pfApplication2Sex): Likewise. + (pfCollectArgTran): Likewise. + * interp/ptrees.boot (pfTuple): Likewise. + (pfTuple?): Likewise. + 2008-02-20 Gabriel Dos Reis * interp/i-coerce.boot (coerceInt1): Avoid misguided diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in index 0facdd73..deb800da 100644 --- a/src/algebra/Makefile.in +++ b/src/algebra/Makefile.in @@ -856,9 +856,6 @@ axiom_algebra_layer_user_objects = \ $(addprefix $(OUT)/, \ $(addsuffix .$(FASLEXT),$(axiom_algebra_layer_user))) -# The algebra build is not yet ready for parallel build. -#.NOTPARALLEL: - .PHONY: all all-algebra mkdir-output-directory all: all-ax diff --git a/src/interp/i-analy.boot b/src/interp/i-analy.boot index fc3d621f..b4b4226d 100644 --- a/src/interp/i-analy.boot +++ b/src/interp/i-analy.boot @@ -480,7 +480,7 @@ bottomUpFormTuple(t, op, opName, args, argModeSetList) == -- now make the args into a tuple - newArg := [mkAtreeNode "Tuple",:args] + newArg := [mkAtreeNode "tuple",:args] bottomUp [op, newArg] removeUnionsAtStart(argl,modeSets) == diff --git a/src/interp/i-coerce.boot b/src/interp/i-coerce.boot index bb331ea3..e0c896e4 100644 --- a/src/interp/i-coerce.boot +++ b/src/interp/i-coerce.boot @@ -864,7 +864,7 @@ coerceInt1(triple,t2) == [.,vars,:body] := unwrap val vars := atom vars => [vars] - vars is ['Tuple,:.] => rest vars + vars is ["tuple",:.] => rest vars vars #margl ^= #vars => 'continue tree := mkAtree ['ADEF,vars,[target,:margl],[NIL for x in rest t2],:body] diff --git a/src/interp/i-intern.boot b/src/interp/i-intern.boot index 8eefe0d7..64951a32 100644 --- a/src/interp/i-intern.boot +++ b/src/interp/i-intern.boot @@ -1,4 +1,6 @@ --- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd. +-- Copyright (C) 1991-2002, The Numerical Algorithms Group Ltd. +-- All rights reserved. +-- Copyright (C) 2007-2008, Gabriel Dos Reis. -- All rights reserved. -- -- Redistribution and use in source and binary forms, with or without @@ -13,7 +15,7 @@ -- the documentation and/or other materials provided with the -- distribution. -- --- - Neither the name of The Numerical ALgorithms Group Ltd. nor the +-- - Neither the name of The Numerical Algorithms Group Ltd. nor the -- names of its contributors may be used to endorse or promote products -- derived from this software without specific prior written permission. -- @@ -223,7 +225,7 @@ mkAtree3(x,op,argl) == v := null arg => VECTOR(NIL,NIL,NIL) PAIRP arg and rest arg and first arg^= "|" => - collectDefTypesAndPreds ['Tuple,:arg] + collectDefTypesAndPreds ["tuple",:arg] null rest arg => collectDefTypesAndPreds first arg collectDefTypesAndPreds arg [types,:r'] := r @@ -240,7 +242,7 @@ mkAtree3(x,op,argl) == v := null arg => VECTOR(NIL,NIL,NIL) PAIRP arg and rest arg and first arg^= "|" => - collectDefTypesAndPreds ['Tuple,:arg] + collectDefTypesAndPreds ["tuple",:arg] null rest arg => collectDefTypesAndPreds first arg collectDefTypesAndPreds arg [types,:r'] := r @@ -255,7 +257,7 @@ mkAtree3(x,op,argl) == -- keyedSystemError("S2II0003",['"when",y,'"improper argument form"]) -- a is [op,p1,:pr] => -- null pr => mkAtree1 ['DEF,[op,["|",p1,pred]],:r] --- mkAtree1 ['DEF,[op,["|",['Tuple,p1,:pr],pred]],:r] +-- mkAtree1 ['DEF,[op,["|",["tuple",p1,:pr],pred]],:r] -- [mkAtreeNode 'DEF, CDR y,pred,false] --x is ['otherwise,u] => -- throwMessage '" otherwise is no longer supported." @@ -329,14 +331,14 @@ collectDefTypesAndPreds args == var is [":",var',type] => types := [type] vars := [var'] - var is ['Tuple,:.] or var is ["|",:.] => + var is ["tuple",:.] or var is ["|",:.] => v := collectDefTypesAndPreds var vars := [:vars,:v.0] types := [:types,:v.1] pred := addPred(pred,v.2) vars := [var] types := [NIL] - args is ['Tuple,:args'] => + args is ["tuple",:args'] => for a in args' repeat v := collectDefTypesAndPreds a vars := [:vars,first v.0] diff --git a/src/interp/i-map.boot b/src/interp/i-map.boot index 40b87f1f..7d0d2b27 100644 --- a/src/interp/i-map.boot +++ b/src/interp/i-map.boot @@ -274,7 +274,7 @@ mkAliasList l == fn(l,nil) where fn(l,acc) == args2Tuple args == args is [first,:rest] => null rest => first - ["Tuple",:args] + ["tuple",:args] nil makePattern(args,pred) == @@ -283,7 +283,7 @@ makePattern(args,pred) == pred is ["=","#1",n] => n addPatternPred("#1",pred) u:= canMakeTuple(nargs,pred) => u - addPatternPred(["Tuple",:TAKE(nargs,$FormalMapVariableList)],pred) + addPatternPred(["tuple",:TAKE(nargs,$FormalMapVariableList)],pred) addPatternPred(arg,pred) == pred=true => arg @@ -293,7 +293,7 @@ canMakeTuple(nargs,pred) == pred is ["and",:l] and nargs=#l and (u:= [(x is ["=",=y,a] => a; return nil) for y in $FormalMapVariableList for x in orderList l]) => - ["Tuple",:u] + ["tuple",:u] sayRemoveFunctionOrValue x == (obj := getValue x) and (md := objMode obj) => @@ -310,7 +310,7 @@ sayDroppingFunctions(op,l) == nil makeRuleForm(op,pattern)== - pattern is ["Tuple",:l] => [op,:l] + pattern is ["tuple",:l] => [op,:l] [op,:pattern] mkFormalArg(x,s) == @@ -940,7 +940,7 @@ numMapArgs(mapDef is [[args,:.],:.]) == numArgs args == args is ['_|,a,:.] => numArgs a - args is ['Tuple,:argl] => #argl + args is ["tuple",:argl] => #argl null args => 0 1 @@ -949,7 +949,7 @@ combineMapParts(mapTail) == -- statement. Uses %noBranch to indicate undefined branch null mapTail => '%noMapVal mapTail is [[cond,:part],:restMap] => - isSharpVarWithNum cond or (cond is ['Tuple,:args] and + isSharpVarWithNum cond or (cond is ["tuple",:args] and and/[isSharpVarWithNum arg for arg in args]) or (null cond) => part ['IF,mkMapPred cond,part,combineMapParts restMap] keyedSystemError("S2GE0016",['"combineMapParts", @@ -958,7 +958,7 @@ combineMapParts(mapTail) == mkMapPred cond == -- create the predicate on map arguments, derived from "when" clauses cond is ['_|,args,pred] => mapPredTran pred - cond is ['Tuple,:vals] => + cond is ["tuple",:vals] => mkValueCheck(vals,1) mkValCheck(cond,1) @@ -1003,7 +1003,7 @@ findLocalVars1(op,form) == for x in vars repeat ATOM x => mkFreeVar(op, x) form is ['LET,a,b] => - (a is ['Tuple,:vars]) and (b is ['Tuple,:vals]) => + (a is ["tuple",:vars]) and (b is ["tuple",:vals]) => for var in vars for val in vals repeat findLocalVars1(op,['LET,var,val]) a is ['construct,:pat] => @@ -1130,7 +1130,7 @@ getLocalVars(op,body) == -- The structure of maps: -- (MAP (pattern . rewrite) ...) where -- pattern has forms: arg-pattern --- (Tuple arg-pattern ...) +-- (tuple arg-pattern ...) -- rewrite has forms: (WRAPPED . value) --don't re-evaluate -- computational object --don't (bother to) -- re-evaluate diff --git a/src/interp/i-output.boot b/src/interp/i-output.boot index c3d46723..ca2a31d8 100644 --- a/src/interp/i-output.boot +++ b/src/interp/i-output.boot @@ -342,7 +342,7 @@ outputTran x == x is ['ADEF,vars,.,.,body] => vars := vars is [x] => x - ['Tuple,:vars] + ["tuple",:vars] outputTran ["+->", vars, body] x is ['MATRIX,:m] => outputTranMatrix m x is ['matrix,['construct,c]] and @@ -434,9 +434,9 @@ outputTran x == else op := 'OVER l is [["-",a],:b] => outputTran ["-",[op,a,:b]] [outputTran op,:l] - op="|" and l is [["Tuple",:u],pred] => + op="|" and l is [["tuple",:u],pred] => ['PAREN,["|",['AGGLST,:l],pred]] - op='Tuple => ['PAREN,['AGGLST,:l]] + op="tuple" => ['PAREN,['AGGLST,:l]] op='LISTOF => ['AGGLST,:l] IDENTP op and ^(op in '(_* _*_*) ) and char("*") = (PNAME op).0 => mkSuperSub(op,l) diff --git a/src/interp/i-spec1.boot b/src/interp/i-spec1.boot index f8408fa9..66b3fe9f 100644 --- a/src/interp/i-spec1.boot +++ b/src/interp/i-spec1.boot @@ -41,7 +41,7 @@ import '"i-analy" $specialOps := '( ADEF AlgExtension _and _case COERCE COLLECT construct Declare DEF Dollar equation error free has IF _is _isnt iterate _break LET _local MDEF _or - pretend QUOTE REDUCE REPEAT _return SEQ TARGET Tuple typeOf _where + pretend QUOTE REDUCE REPEAT _return SEQ TARGET tuple typeOf _where _[_|_|_] ) $repeatLabel := NIL @@ -101,7 +101,7 @@ evalUntargetedADEF(t,vars,types,body) == -- recreate a parse form if vars is [var] then vars := var - else vars := ['Tuple,:vars] + else vars := ["tuple",:vars] val := objNewWrap(["+->",vars,body],$AnonymousFunction) putValue(t,val) putModeSet(t,[objMode val]) @@ -1129,13 +1129,13 @@ upDeclare t == categoryForm?(mode) => throwKeyedMsgSP("S2IE0011",[mode, 'category],op) packageForm?(mode) => throwKeyedMsgSP("S2IE0011",[mode, 'package],op) junk := - lhs is ["free",['Tuple,:vars]] or lhs is ['free,['LISTOF,:vars]] or + lhs is ["free",["tuple",:vars]] or lhs is ['free,['LISTOF,:vars]] or lhs is ["free",:vars] => - for var in vars repeat declare(['free,var],mode) - lhs is ["local",['Tuple,:vars]] or lhs is ['local,['LISTOF,:vars]] or + for var in vars repeat declare(["free",var],mode) + lhs is ["local",["tuple",:vars]] or lhs is ["local",['LISTOF,:vars]] or lhs is ["local",:vars] => for var in vars repeat declare(["local",var],mode) - lhs is ["Tuple",:vars] or lhs is ["LISTOF",:vars] => + lhs is ["tuple",:vars] or lhs is ["LISTOF",:vars] => for var in vars repeat declare(var,mode) declare(lhs,mode) putValue(op,objNewWrap(voidValue(), $Void)) @@ -1161,7 +1161,7 @@ declare(var,mode) == -- mapval looks like '(MAP (args . defn)) margs := CAADR mapval -- if one args, margs is not a pair, just #1 or NIL - -- otherwise it looks like (Tuple #1 #2 ...) + -- otherwise it looks like (tuple #1 #2 ...) nargs := null margs => 0 PAIRP margs => -1 + #margs diff --git a/src/interp/i-spec2.boot b/src/interp/i-spec2.boot index 54603e03..51c34197 100644 --- a/src/interp/i-spec2.boot +++ b/src/interp/i-spec2.boot @@ -111,15 +111,15 @@ upDollar t == upDollarTuple(op, f, t, t2, args, nargs) == -- this function tries to find a tuple function to use - nargs = 1 and getUnname first args = "Tuple" => NIL - nargs = 1 and (ms := bottomUp first args) and ms is [["Tuple",.]] => NIL + -- nargs = 1 and getUnname first args = "Tuple" => NIL + -- nargs = 1 and (ms := bottomUp first args) and ms is [["Tuple",.]] => NIL null (singles := isOpInDomain(f,t,1)) => NIL tuple := NIL for [[.,arg], :.] in singles while null tuple repeat if arg is ['Tuple,.] then tuple := arg null tuple => NIL [.,D,form] := t2 - newArg := [mkAtreeNode "Tuple",:args] + newArg := [mkAtreeNode "tuple",:args] putTarget(newArg, tuple) ms := bottomUp newArg first ms ^= tuple => NIL @@ -485,7 +485,7 @@ upLET t == else if get(var,'isInterpreterRule,$e) then putHist(var,'isInterpreterRule,false,$e) sayKeyedMsg("S2IS0049",['"Rule",var]) - not isTupleForm(rhs) and (m := isType rhs) => upLETtype(op,lhs,m) + (m := isType rhs) => upLETtype(op,lhs,m) transferPropsToNode(var,lhs) if ( m:= getMode(lhs) ) then $declaredMode := m @@ -499,16 +499,6 @@ upLET t == putModeSet(op,[objMode(val)]) throwKeyedMsg("S2IS0027",[var]) -isTupleForm f == - -- have to do following since "Tuple" is an internal form name - getUnname f ^= "Tuple" => false - f is [op,:args] and VECP(op) and getUnname(op) = "Tuple" => - #args ^= 1 => true - isTupleForm first args => true - isType first args => false - true - false - evalLET(lhs,rhs) == -- lhs is a vector for a variable, and rhs is the evaluated atree -- for the value which is coerced to the mode of lhs @@ -609,8 +599,8 @@ upLETWithFormOnLhs(op,lhs,rhs) == -- bottomUp for assignment to forms (setelt, table or tuple) lhs' := getUnnameIfCan lhs rhs' := getUnnameIfCan rhs - lhs' = 'Tuple => - rhs' ^= 'Tuple => throwKeyedMsg("S2IS0039",NIL) + lhs' = "tuple" => + rhs' ^= "tuple" => throwKeyedMsg("S2IS0039",NIL) #(lhs) ^= #(rhs) => throwKeyedMsg("S2IS0038",NIL) -- generate a sequence of assignments, using local variables -- to first hold the assignments so that things like @@ -634,7 +624,7 @@ upLETWithFormOnLhs(op,lhs,rhs) == ms := bottomUp seq putValue(op,getValue seq) putModeSet(op,ms) - rhs' = 'Tuple => throwKeyedMsg("S2IS0039",NIL) + rhs' = "tuple" => throwKeyedMsg("S2IS0039",NIL) tree:= seteltable(lhs,rhs) => upSetelt(op,lhs,tree) throwKeyedMsg("S2IS0060", NIL) -- upTableSetelt(op,lhs,rhs) @@ -1035,9 +1025,9 @@ evalSEQ(op,args,m) == objNew(code,m) putValue(op,val) ---% Handlers for Tuple +--% Handlers for tuple -upTuple t == +uptuple t == --Computes the common mode set of the construct by resolving across --the argument list, and evaluating t isnt [op,:l] => nil diff --git a/src/interp/i-syscmd.boot b/src/interp/i-syscmd.boot index 6a942e06..f731ade7 100644 --- a/src/interp/i-syscmd.boot +++ b/src/interp/i-syscmd.boot @@ -946,7 +946,7 @@ displayMacro name == args := null args => nil null rest args => first args - ['Tuple,:args] + ["tuple",:args] mathprint ['MAP,[args,:body]] displayWorkspaceNames() == diff --git a/src/interp/pf2atree.boot b/src/interp/pf2atree.boot index 15c76d23..56d7a832 100644 --- a/src/interp/pf2atree.boot +++ b/src/interp/pf2atree.boot @@ -78,7 +78,7 @@ pf2Atree1 pf == pfApplication2Atree pf (pfTuple?)(pf) => - [mkAtreeNodeWithSrcPos("Tuple",pf), + [mkAtreeNodeWithSrcPos("tuple",pf), :[pf2Atree1 x for x in (pf0TupleParts)(pf)]] (pfIf?)(pf) => @@ -96,7 +96,7 @@ pf2Atree1 pf == tag := (pfTaggedTag)(pf) tagPart := (pfTuple?) tag => - ["Tuple", :[pf2Sexpr(arg) for arg in (pf0TupleParts)(tag)]] + ["tuple", :[pf2Sexpr(arg) for arg in (pf0TupleParts)(tag)]] pf2Sexpr(tag) [mkAtreeNodeWithSrcPos("Declare",pf), tagPart, pf2Sexpr((pfTaggedExpr)(pf))] @@ -191,7 +191,7 @@ pf2Atree1 pf == ids := [x, :ids] idList := [pf2Atree1 x for x in reverse ids] if #idList ^= 1 then idList := - [mkAtreeNodeWithSrcPos("Tuple",pf), :idList] + [mkAtreeNodeWithSrcPos("tuple",pf), :idList] else idList := first idList x := [mkAtreeNodeWithSrcPos("LET",pf), idList, pf2Atree1 (pfAssignRhs)(pf)] diff --git a/src/interp/pf2sex.boot b/src/interp/pf2sex.boot index b4cde2eb..0f82c889 100644 --- a/src/interp/pf2sex.boot +++ b/src/interp/pf2sex.boot @@ -75,14 +75,14 @@ pf2Sex1 pf == pfApplication? pf => pfApplication2Sex pf pfTuple? pf => - ["Tuple", :[pf2Sex1 x for x in pf0TupleParts pf]] + ["tuple", :[pf2Sex1 x for x in pf0TupleParts pf]] pfIf? pf => ['IF, pf2Sex1 pfIfCond pf, pf2Sex1 pfIfThen pf, pf2Sex1 pfIfElse pf] pfTagged? pf => tag := pfTaggedTag pf tagPart := pfTuple? tag => - ['Tuple, :[pf2Sex1 arg for arg in pf0TupleParts tag]] + ["tuple", :[pf2Sex1 arg for arg in pf0TupleParts tag]] pf2Sex1 tag [":", tagPart, pf2Sex1 pfTaggedExpr pf] pfCoerceto? pf => @@ -91,8 +91,7 @@ pf2Sex1 pf == ["pretend", pf2Sex1 pfPretendExpr pf, pf2Sex1 pfPretendType pf] pfFromdom? pf => op := opTran pf2Sex1 pfFromdomWhat pf --- if op = "braceFromCurly" then op := "brace" - if op = "braceFromCurly" then op := "SEQ" + if op = "%braceFromCurly" then op := "brace" ["$elt", pf2Sex1 pfFromdomDomain pf, op] pfSequence? pf => pfSequence2Sex pf @@ -119,7 +118,7 @@ pf2Sex1 pf == [":", pf2Sex1 pfTypedId pf, pf2Sex1 pfTypedType pf] pfAssign? pf => idList := [pf2Sex1 x for x in pf0AssignLhsItems pf] - if #idList ^= 1 then idList := ['Tuple, :idList] + if #idList ^= 1 then idList := ["tuple", :idList] else idList := first idList ["LET", idList, pf2Sex1 pfAssignRhs pf] pfDefinition? pf => @@ -254,21 +253,19 @@ pfApplication2Sex pf == ["iterate"] symEqual(op, "by") => ["BY", :argSex] - symEqual(op, "braceFromCurly") => --- ["brace", ["construct", :argSex]] + symEqual(op, "%braceFromCurly") => argSex is ["SEQ",:.] => argSex - ["SEQ", :argSex] + ["brace", ["construct", :argSex]] op is [qt, realOp] and symEqual(qt, "QUOTE") => ["applyQuote", op, :argSex] val := hasOptArgs? argSex => [op, :val] [op, :argSex] op is [qt, realOp] and symEqual(qt, "QUOTE") => pfFinishApplication ["applyQuote", op, pf2Sex1 args] - symEqual(op, "braceFromCurly") => pfFinishApplication --- ["brace", ["construct", pf2Sex1 args]] + symEqual(op, "%braceFromCurly") => pfFinishApplication x := pf2Sex1 args x is ["SEQ", :.] => x - ["SEQ", x] + ["brace", ["construct", x]] symEqual(op, "by") => pfFinishApplication ["BY", pf2Sex1 args] symEqual(op, "[||]") => @@ -339,7 +336,7 @@ pfCollectArgTran pf == opTran op == op = $dotdot => "SEGMENT" op = "[]" => "construct" - op = "{}" => "braceFromCurly" + op = "{}" => "%braceFromCurly" op = "IS" => "is" op diff --git a/src/interp/ptrees.boot b/src/interp/ptrees.boot index b6ab6e37..d2849527 100644 --- a/src/interp/ptrees.boot +++ b/src/interp/ptrees.boot @@ -342,8 +342,8 @@ pfApplicationArg pf == CADDR pf -- was ==> -- Tuple := (Parts: [Expr]) pfTupleListOf(pfparts) == pfTuple pfListOf pfparts -pfTuple(pfparts) == pfTree('Tuple, [pfparts]) -pfTuple?(pf) == pfAbSynOp? (pf, 'Tuple) +pfTuple(pfparts) == pfTree("tuple", [pfparts]) +pfTuple?(pf) == pfAbSynOp? (pf, "tuple") pfTupleParts pf == CADR pf -- was ==> pf0TupleParts pf == pfParts pfTupleParts pf -- cgit v1.2.3