Waldek Hebisch <hebi...@math.uni.wroc.pl> writes: | I am not sure you can keep constructors calls completely uniform: | we have 'construct', 'new' and a bunch of more specific constructors. | Below is patch that I propose (only to Product, algebra will also | need some adjustment). With the patch I can do:
I like the general flavour of it. However I have one quibble. | | (3) -> Pr := Product(Integer, Polynomial(Integer)) | | (3) Product(Integer,Polynomial(Integer)) | Type: Type | (4) -> [1, x] | | (4) [1,x] | Type: List(Polynomial(Integer)) | (5) -> [1, x]$Pr | | (5) (1,x) | Type: Product(Integer,Polynomial(Integer)) I think *one* kind of syntax should be sufficient. Either square brackets or round brackets, but not both. The reason being that in typical Spad code and scripts, we do not have much of type annotations around to help quickly figure out what is meant. So, have only one way of saying something is a tremendous help for code/script understanding. I would vote for round brackets, but only marginally. | (6) -> p1 := [1, x]$Pr | | (6) (1,x) | Type: Product(Integer,Polynomial(Integer)) | (7) -> p2 := [7, y]$Pr | | (7) (7,y) | Type: Product(Integer,Polynomial(Integer)) | (8) -> p1 + p2 | | (8) (8,y + x) | Type: Product(Integer,Polynomial(Integer)) | (9) -> p1*p2 | | (9) (7,x y) | Type: Product(Integer,Polynomial(Integer)) | | Note that plain '[1, x]' produces a list -- one needs '$Pr' to choose | 'construct' from the product. Unless you specifiy the target, not? E.g. a: Pr := [1,x] or [1,x]@Pr -- Gaby ------------------------------------------------------------------------------ The demand for IT networking professionals continues to grow, and the demand for specialized networking skills is growing even more rapidly. Take a complimentary Learning@Cisco Self-Assessment and learn about Cisco certifications, training, and career opportunities. http://p.sf.net/sfu/cisco-dev2dev _______________________________________________ open-axiom-devel mailing list open-axiom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open-axiom-devel