q-lang-users Mailing List for Q - Equational Programming Language (Page 19)
Brought to you by:
agraef
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(3) |
Feb
(27) |
Mar
|
Apr
(4) |
May
(11) |
Jun
(5) |
Jul
(5) |
Aug
(6) |
Sep
(15) |
Oct
(28) |
Nov
(8) |
Dec
|
2005 |
Jan
(9) |
Feb
(5) |
Mar
(10) |
Apr
(43) |
May
(8) |
Jun
(31) |
Jul
(45) |
Aug
(17) |
Sep
(8) |
Oct
(30) |
Nov
(2) |
Dec
(6) |
2006 |
Jan
(4) |
Feb
(20) |
Mar
(1) |
Apr
|
May
(92) |
Jun
(179) |
Jul
(26) |
Aug
(65) |
Sep
(36) |
Oct
(38) |
Nov
(44) |
Dec
(68) |
2007 |
Jan
(11) |
Feb
(25) |
Mar
(37) |
Apr
(7) |
May
(83) |
Jun
(77) |
Jul
(44) |
Aug
(4) |
Sep
(28) |
Oct
(53) |
Nov
(12) |
Dec
(21) |
2008 |
Jan
(66) |
Feb
(45) |
Mar
(30) |
Apr
(50) |
May
(9) |
Jun
(18) |
Jul
(11) |
Aug
(6) |
Sep
(4) |
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Albert G. <Dr....@t-...> - 2007-06-19 16:56:29
|
Eddie Rucker wrote: > I would like to see it posted there. I go there from time to time but I'm > not an editor. Could we email it to Ehud Lamm? My thought too. I'll mail him after processing John's corrections. Or is anyone here an editor at LtU? Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: Albert G. <Dr....@t-...> - 2007-06-19 16:51:20
|
John Cowan wrote: > Well, I will send you my 0.2 suggestions/corrections anyhow, and just > ignore the ones that don't apply, eh? Yes sure, please go ahead! Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: John C. <co...@cc...> - 2007-06-19 13:48:00
|
Albert Graef scripsit: > Ok, I just uploaded version 0.3 of the tutorial. Thanks to all who > mailed corrections (yes, Keith, I mean you ;-). I also rewrote the > metaprogramming section which was kind of lame, I hope that it's a bit > more interesting now, and added a little preface. Arrgh. I finally get a chance to print 0.2 last night and look at it this morning, and now you go and do this. :-) Well, I will send you my 0.2 suggestions/corrections anyhow, and just ignore the ones that don't apply, eh? -- Verbogeny is one of the pleasurettes John Cowan <co...@cc...> of a creatific thinkerizer. http://www.ccil.org/~cowan -- Peter da Silva |
From: Eddie R. <ed...@bm...> - 2007-06-19 13:02:34
|
Albert Graef, > http://downloads.sourceforge.net/q-lang/qnutshell-0.3.pdf?download > > Hmm, maybe some of the folks over at LtU might be interested in this as > well? I would like to see it posted there. I go there from time to time but I'm not an editor. Could we email it to Ehud Lamm? Eddie |
From: Albert G. <Dr....@t-...> - 2007-06-19 10:53:02
|
Ok, I just uploaded version 0.3 of the tutorial. Thanks to all who mailed corrections (yes, Keith, I mean you ;-). I also rewrote the metaprogramming section which was kind of lame, I hope that it's a bit more interesting now, and added a little preface. Here's the download link (please allow the mirrors some time so that they can pick it up): http://downloads.sourceforge.net/q-lang/qnutshell-0.3.pdf?download Hmm, maybe some of the folks over at LtU might be interested in this as well? Cheers, Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: Keith T. <kaz...@ea...> - 2007-06-17 07:22:50
|
Cool! And to think that it's not even my birthday... --- Albert Graef <Dr....@t-...> writes: -- Please let me know if you find any typos, -- bad English, parts of the text which need -- more details or are overly detailed, etc. Will do! =) Thanks! Keith |
From: Albert G. <Dr....@t-...> - 2007-06-17 05:21:31
|
Hi, I've uploaded "Q in a Nutshell", a 60 pages tutorial on Q (40 pages text, 20 pages sample programs) on which I have been working the past few days. The idea is to have a text to which we can refer people who want to know more about Q, which is considerable shorter than the manual but still conveys the main ideas behind Q and its major features. Here's the direct download link: http://downloads.sourceforge.net/q-lang/qnutshell.pdf?download This is still a draft, but hopefully complete enough to be useful already. Please let me know if you find any typos, bad English, parts of the text which need more details or are overly detailed, etc. Your input is much appreciated. :) Cheers, Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: Albert G. <Dr....@t-...> - 2007-06-11 16:11:45
|
Marco Maggesi wrote: > Ok, I was able to compile the newly released Q-7.7 under OSX 10.4.8 > with the following commands > > C_INCLUDE_PATH=/sw/include LIBRARY_PATH=/sw/lib ./configure > C_INCLUDE_PATH=/sw/include LIBRARY_PATH=/sw/lib make > > once gmp and readline are installed via Fink. Ok, I'll add those instructions to the README file. Thanks again for testing. Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: Marco M. <ma...@ma...> - 2007-06-11 13:11:55
|
Ok, I was able to compile the newly released Q-7.7 under OSX 10.4.8 with the following commands C_INCLUDE_PATH=/sw/include LIBRARY_PATH=/sw/lib ./configure C_INCLUDE_PATH=/sw/include LIBRARY_PATH=/sw/lib make once gmp and readline are installed via Fink. On Jun 10, 2007, at 5:44 PM, Albert Graef wrote: >> There are several errors under OSX (10.4.8). The first one is >> >> gcc -DHAVE_CONFIG_H -I. -I.. -I../src -g -O2 -MT libq.lo -MD -MP - >> MF .deps/libq.Tpo -c libq.c -fno-common -DPIC -o .libs/libq.o >> libq.c: In function 'from_utf8': >> libq.c:660: warning: passing argument 2 of 'libiconv' from >> incompatible pointer type > > Those are harmless (just warnings, no errors). Yes. I was in hurry and I didn't look to those errors very carefully, sorry. Thank you for our help and for the great work, M. |
From: Albert G. <Dr....@t-...> - 2007-06-11 09:09:29
|
The subject line says it all. :) Again thanks to all who have contributed to this release. Here's the text of the official announcement: At long last, version 7.7 of Q, the equational programming language, has been released. Besides a lot of bugfixes, this release sports quite a few notable changes, mostly in response to various discussions, suggestions and feature requests from the Q mailing list. The most important changes are user-defined operator symbols consisting of multiple punctuation symbols, conditions and local definitions which can be shared among different equations, and a full implementation of Wadler-style "views" a.k.a. concrete algebraic representations of abstract data types, which extends and supersedes the "custom unparsing" mechanism already available in previous releases. Moreover, the core package has been cleaned up and is much leaner now, it also builds much faster and 'make distcheck' finally works. This release also goes along with quite a few updates of the addon modules. All the latest stuff is contained in the 7.7 "all-in-one" package (available, as usual, in both RPM and MSI format), which now also includes the latest and greatest version of Rob Hubbard's polynomial library "Q[i][X]". More information about the Q project can be found on the Q website at http://q-lang.sourceforge.net You can download the latest version here: http://sourceforge.net/project/showfiles.php?group_id=96881&package_id=103965&release_id=515147 -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: Albert G. <Dr....@t-...> - 2007-06-10 17:49:42
|
Hi Marco, maybe the notes below help, too (straight from the "SYSTEM-SPECIFIC NOTES" section in the README file). I don't think you actually need m4, autoconf and automake unless you want to build from cvs sources, so if you install libiconv, readline and gmp from Fink (both the libraries and the development packages) or from source and set up your compiler include and library paths accordingly, then Q should compile just fine (if I didn't break OSX compatibility in Q 7.7, that is). MAC OS X --- -- - As of version 4.2, the sources can be compiled with the gcc from the Mac OS X development pack. As reported by Andrew Berg, to get a basic installation up and running you only need a number of dependencies which can be installed either from source or using the Fink repository: m4, autoconf, automake, libiconv, readline and gmp. More packages (such as X11, Tcl/Tk, etc.) will be needed if you want to build all the included modules. Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: Albert G. <Dr....@t-...> - 2007-06-10 15:36:06
|
Hi Marco, thanks a lot for taking up the ball! Which version did you test? (RC1/RC2/latest CVS?) > There are several errors under OSX (10.4.8). The first one is > > gcc -DHAVE_CONFIG_H -I. -I.. -I../src -g -O2 -MT libq.lo -MD -MP - > MF .deps/libq.Tpo -c libq.c -fno-common -DPIC -o .libs/libq.o > libq.c: In function 'from_utf8': > libq.c:660: warning: passing argument 2 of 'libiconv' from > incompatible pointer type Those are harmless (just warnings, no errors). Older GNU iconv and other iconv implementations trigger these, but they can be safely ignored (usually). Your compile then fails at clib.c because various headers (gmp.h, readline.h, history.h, as far as I can tell) are missing on your system, or they are in a non-standard location. If the former then you need to install the corresponding development packages (assuming that you are using Fink); if the latter then it's probably easiest to set C_INCLUDE_PATH (and maybe LIBRARY_PATH) accordingly. HTH, Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: Marco M. <ma...@ma...> - 2007-06-10 14:31:33
|
On Jun 9, 2007, at 1:30 AM, Albert Graef wrote: > Albert Graef wrote: > The final 7.7 release is imminent. Did anyone get around testing > compilation on Cygwin and OSX yet? There are several errors under OSX (10.4.8). The first one is gcc -DHAVE_CONFIG_H -I. -I.. -I../src -g -O2 -MT libq.lo -MD -MP - MF .deps/libq.Tpo -c libq.c -fno-common -DPIC -o .libs/libq.o libq.c: In function 'from_utf8': libq.c:660: warning: passing argument 2 of 'libiconv' from incompatible pointer type libq.c: In function 'to_utf8': libq.c:739: warning: passing argument 2 of 'libiconv' from incompatible pointer type libq.c: In function 'file_from_utf8': libq.c:797: warning: passing argument 2 of 'libiconv' from incompatible pointer type libq.c: In function 'file_to_utf8': libq.c:849: warning: passing argument 2 of 'libiconv' from incompatible pointer type A complete log of my attempt to compile q-7.7 is available at http://web.math.unifi.it/~maggesi/typescript |
From: Albert G. <Dr....@t-...> - 2007-06-09 20:09:15
|
Albert Graef wrote: > Hmm, I just found that there now is a regex package for mingw, too, but > I still have to figure out how old that is and whether it supports > Unicode... Looks like it's derived from glibc 2.5, I guess that should be recent enough. -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: Albert G. <Dr....@t-...> - 2007-06-09 20:07:26
|
Albert Graef wrote: > ==> def S = differentiate 1 (\X.ln X) 2 Well, of course you can also simply write: ==> def S = differentiate 1 ln 2 -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: Albert G. <Dr....@t-...> - 2007-06-09 19:46:03
|
John Cowan wrote: > Cygwin works fine. Hi John, thanks for testing. :) So Cygwin includes its own regex and fnmatch/glob, that's good to know. Do you know whether these are Unicode-compatible? In that case I might port them over to mingw and include these with the native port, which currently still uses the old pre-Unicode versions. Hmm, I just found that there now is a regex package for mingw, too, but I still have to figure out how old that is and whether it supports Unicode... Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: John C. <co...@cc...> - 2007-06-09 17:24:41
|
Albert Graef scripsit: > The final 7.7 release is imminent. Did anyone get around testing > compilation on Cygwin and OSX yet? Cygwin works fine. -- John Cowan <co...@cc...> Yakka foob mog. Grug pubbawup zink wattoom gazork. Chumble spuzz. -- Calvin, giving Newton's First Law "in his own words" |
From: Albert G. <Dr....@t-...> - 2007-06-09 13:45:40
|
Koray Erkan wrote: > I'm very new to Q. I've copied the following bits of code from a white > paper ("Why Functional Programming Matters") - making a few very minor > changes to meet Q's syntax requirements as needed. It doesn't run, and > my hunch is there's something wrong with the "repeat" bit of it. Well, you got quite close, but John Hughes' paper uses its own notation, so you still have to change a few things. Specifically, Hughes' 'repeat' is nowadays called 'iterate', and you also have to change the program to use Q's stream syntax instead of those 'nil' and 'cons' thingies (or do a s/nil/nil_stream/ and s/cons/cons_stream/). The resulting program is attached. AFAICT it works just fine, except that the floating point arithmetic will go bonkers if the deltas get too small: ==> def S = differentiate 1 (\X.ln X) 2 ==> S {easydiff (\X1 . ln X1) 2 1|map (easydiff (\X1 . ln X1) 2) (iterate halve (halve 1))} ==> S!0 0.405465108108164 ==> S!10 0.499877969409454 ==> S!20 0.49999988079071 ==> S!9999 nan Those numbers quite clearly converge to 0.5 = 1/2 = ln'(2). One more note, you might also wish to uncomment the call to 'lazy' in the definition of 'differentiate'. This makes Q memoize stream members so that the same members aren't computed over and over again. (In difference to Haskell, Q by default uses "non-strict" rather than truly "lazy" evaluation.) See the description of the "memoize" operator and the 'lazy' function in the chapter on special forms of the manual for an explanation of this. The manual can be found online at: http://q-lang.sourceforge.net/qdoc/qdoc.html > BTW Is there a way to "step" through the code ? Yes sure, there's a symbolic debugger, I use that a lot myself. :) Just say 'debug on'. Or, like in gdb, you can set a breakpoint at a certain function with 'break foo' (use 'tbreak' instead for temporary breakpoints). For instance: ==> debug detail=all ==> break easydiff ==> S!20 ! Break 0> easydiff.q, line 2: easydiff <<Function>> 2 9.5367431640625e-07 ==> (<<Function>> (2+9.5367431640625e-07)-<<Function>> 2)/ 9.5367431640625e-07 : l -1 2 easydiff F X H = (F (X+H) - F X) / H; : F \X1 . ln X1 : X 2 : H 9.5367431640625e-07 See Appendix D of the manual for an explanation of the debugger, it does need some time to get used to it but is actually quite powerful. It might also help to read chapter 7 of the manual first, which describes how expressions are evaluated in Q. HTH, Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: Albert G. <Dr....@t-...> - 2007-06-09 10:44:15
|
Rob Hubbard wrote: > This is probably not a good time to pose questions unrelated to the > imminent 7.7 release. Sorry. No problem, now that only the final touches are left to do, I do have time to respond to email again. ;-) > Suppose I have (parametrised) types > > public type T1 = private const nil F; > public type T2 : T1; // a variant with special meaning The above declaration is already where the problem lies: T2 doesn't have any constructors and therefore the type is empty! In most case, the constructors should be part of the subtype's declaration, not the supertype's. Like so: public type T1; public type T2 : T1 = private const t2_const X; If you do it like this, then constructor terms of the form t2_const X match *both* T2 *and* T1: t1_foo Y:T1 = ...; // will work with both T2 and other T1 objects t2_foo Y:T2 = ...; // will only work with T2 objects In Q subtyping just means that an object of a given type T matches the type guard ':T' itself as well as the guards of all its supertypes. In this sense, the supertype actually "inherits" the constructors of all its *subtypes*, not the other way round. I know that this is a bit confusing, because in traditional OOP an object is actually a kind of record a.k.a. structure which is inherited by the subtype in addition to the supertype's interface operations. But if you think about it then you'll realize that Q's way of doing this actually makes sense, since the set of instances of a supertype must contain all the sets of instances of its subtypes. In fact, Q's OOP model is considerable more general than that of most traditional OOP languages (with single inheritance). In those languages, a subtype of a given type T1 can only take the form of a product type T2 = T1 x T2'. In Q, *any* type can be a subtype of another, regardless of the internal representation. This works because subtypes never inherit the internal representations of their supertypes. Of course this also raises the "abstraction barrier". There are cases in which you would like to have a supertype have its own concrete representation and also share this representation with the subtype. It's possible to achieve this by just making the "guts" of the T1 object a part of the T2 object: public type T1 = private const t1_const X; public type T2 : T1 = private const t2_const X Y; This works pretty much like the product type approach of traditional OOP. You can then project a T2 object onto T1 simply as follows: upcast (t2_const X _) = t1_const X; But note that then you break the abstraction barrier, i.e., whenever you change the internal representation of T1 you'll have to look after T2 as well (that's one shortcoming of traditional OOP: changes to the internal representation of a type T ripple through the entire subtype hierachy rooted at T). I hope that this made things a bit clearer. Well, I realize that this should probably be in the manual. Oh well, another nice section for my book. ;-) Cheers, Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: Albert G. <Dr....@t-...> - 2007-06-09 07:39:17
|
Hi all, this is a post by Koray Erkan which, for some reason we both don't understand, bounced back from the sf.net mailing list server even though he's subscribed to the list, so I'm posting it on his behalf. Until Koray gets his mailing problems sorted out, please be so kind to cc your replies to ke-1256 (at) isnet.net.tr. Thanks. Albert -------- Original Message -------- Subject: Why cant I differentiate Date: Sun, 3 Jun 2007 11:21:39 +0300 From: Koray Erkan <ke...@is...> To: <q-l...@li...> <div class="moz-text-flowed" style="font-family: -moz-fixed">Hi -- I'm very new to Q. I've copied the following bits of code from a white paper ("Why Functional Programming Matters") - making a few very minor changes to meet Q's syntax requirements as needed. It doesn't run, and my hunch is there's something wrong with the "repeat" bit of it. I know it returns and infinite list, but I've tried using an accessor (i.e. "(list)! <index-id>") to get a single returned value which in turn didn't work. I'm probably trying to fit square pegs into round holes somewhere, but as I don't have the time to check every option, I thought of consulting the mailing list. Your help will be appreciated. -- easydiff F X H = (F (X+H) - F X) / H; differentiate H0 F X = map (easydiff F X) (repeat halve H0); halve X = X/2; elimerror N (cons A (cons B Rest)) = cons ((B*(2^N)-A)/(2^N-1)) (elimerror N (cons B Rest)); order (cons A (cons B (cons C Rest))) = round (log2 ((A-C)/(B-C) - 1)); improve S = elimerror (order S) S; super S = map second (repeat improve S); second (cons A (cons B Rest)) = B; -- BTW Is there a way to "step" through the code ? Dijkstra would probably write another paper how stepping through code "maimes/cripples" the mind forever (good old Dijkstra, much as respect him, he can't seem to get through a paper without somebody being crippled or a methodology that would require a gazillion-dollar industry change isn't suggested ;-D), but as I don't have a 170 IQ (a fact which Dijkstra and his ilk frequently forget in dealing with these matters), I am not able to shuffle and update 37 variables simultaneously in my head or eat tensor calculus formulae for breakfast. To make a loose analogy with a "disabled" person, a wheel-chair may appear "crippling" to someone perfectly able to walk (say Dijkstra), but to someone who has lost his walking ability, it is *liberating*. Same thing with IQ and computer-interaction: No matter what our genius (elite) computer scientists say, a debugger that can step through code is liberating - at least to those of us crippled with less IQ. Cheers -- Koray </div> -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: Rob H. <hub...@gm...> - 2007-06-09 02:00:56
|
Hello Albert, This is probably not a good time to pose questions unrelated to the imminent 7.7 release. Sorry. Suppose I have (parametrised) types public type T1 = private const nil F; public type T2 : T1; // a variant with special meaning I can define constructors and tests for T1: public empty_t1 F; public is_t1 T; empty_t1 F = nil F; is_t1 _:T1 = true; is_t1 _ = false; Now I wish to define constructors and tests for T2: public empty_t2 F; public is_t2 T; private adjust F; adjust F = (F . fst); // for example empty_t2 F = empty_t1 (adjust F); // *this is not quite right* is_t2 _:T2 = true; is_t2 _ = false; Thus a T2 is also a T1, but the constructor makes some adjustments to the interface. My question is: is there a way to "cast" the result of the constructor empty_t2 so that the object returned is a T2? What I want is for these both to return true: is_t1 (empty_t2 my_func); is_t2 (empty_t2 my_func); At the moment only the first does. I want to take advantage of the fact that all the T1 code will work on T2 objects without having to repeat all the T1 code, and I don't think I want to wrap the T1 within T2 (in C++ terminology, I want T2 to inherit from T1 rather than to have a T1 member datum; so T2 "is a" T1, but not T2 "has a" T1). I can't write this: public type T1 = private const nil F; public type T2 : T1 = private const nil F; (in the same file) as this is a conflict for nil. Thanks, Rob. |
From: Albert G. <Dr....@t-...> - 2007-06-08 23:22:07
|
Albert Graef wrote: > Oh, and here's the download link (no rpms yet, but I'll release those > too asap): > > http://sourceforge.net/project/showfiles.php?group_id=96881&package_id=188958&release_id=513526 Ok, now that sf.net's file release system is operational again, I've also uploaded the binary "all-in-one" packages (Windows MSI, source and SUSE Linux rpms). All available from the same URL (see above). The final 7.7 release is imminent. Did anyone get around testing compilation on Cygwin and OSX yet? Cheers, Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: Eddie R. <ed...@bm...> - 2007-06-08 18:56:25
|
Albert Graef, I'm still on vacation ;) This is the first time I've been on Internet in a while. My home email is ed...@ri.... I should be back home Thursday. Eddie > Hi Eddie, > > I tried to reply to your pm, but my mails to "eddier (at) bmc.edu" keep > bouncing back. Do you have another email address that I could try? > > Albert > > -- > Dr. Albert Gr"af > Dept. of Music-Informatics, University of Mainz, Germany > Email: Dr....@t-..., ag...@mu... > WWW: http://www.musikinformatik.uni-mainz.de/ag > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > q-lang-users mailing list > q-l...@li... > https://lists.sourceforge.net/lists/listinfo/q-lang-users > |
From: Albert G. <Dr....@t-...> - 2007-06-07 18:33:14
|
Hi again, the second release candidate is out now, which fixes a couple of minor bugs (the worst being that 'fail' was broken). I also updated the addon modules that needed it. All addon modules seem to work fine now. Q emacs mode and the native Windows port are still on my TODO list, the final 7.7 release will be due when that is done. Rob, I've also fixed that bug with qualified identifiers in Q Yacc that you reported, and a new release of Q+Q which is compatible with Q 7.7 is available, too. I'll look into the Qix polynomial library tomorrow and add that to the all-in-one package, as promised. Oh, and here's the download link (no rpms yet, but I'll release those too asap): http://sourceforge.net/project/showfiles.php?group_id=96881&package_id=188958&release_id=513526 Enjoy. :) Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |
From: Albert G. <Dr....@t-...> - 2007-06-04 23:02:17
|
Hi Eddie, I tried to reply to your pm, but my mails to "eddier (at) bmc.edu" keep bouncing back. Do you have another email address that I could try? Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |