q-lang-users Mailing List for Q - Equational Programming Language
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-...> - 2010-09-14 07:05:29
|
Hi Fred, Fred Liddell wrote: > Hello, > I recently installed Q 7.11, trying a couple different ways, and I > keep coming up with the same error: > > def: error loading module > Warning: 141 unresolved external symbols The error message looks like you're trying to run Q on a 64 bit system. Alas, Q works on 32 bit only. You might want to take a look at Q's successor, Pure. This is a much improved and compiled version of Q which has been under development for two years now. It works fine on 64 bit systems. Pure is available here: http://pure-lang.googlecode.com/ There you can also find a link to Fedora packages for Pure. 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: Fred L. <fre...@gm...> - 2010-09-14 05:46:04
|
Hello, I recently installed Q 7.11, trying a couple different ways, and I keep coming up with the same error: def: error loading module Warning: 141 unresolved external symbols ____ / __ \ Q interpreter version 7.11 (x86_64-redhat-linux-gnu) / /_/ / Copyright (c) 1991-2008 by Albert Graef \___\_\ http://q-lang.sourceforge.net This software is distributed under the terms of the GNU General Public License version 2 or later; type `copying' for details. ! File def, line 77: Value mismatch in definition This is from Fedora 13, in which I've used YUM to install q, and tried using the package q-7.11-4su103.i586.rpm. Mainly I am trying to get this to work on OS X (10.6.4), in which I used Mac Ports to install q. I get the same error message. Is there something I'm missing and need to install, like a library or patch? Or do I need to link something or change a path in a config file? Thanks, Fred |
From: Albert G. <Dr....@t-...> - 2009-05-16 21:49:39
|
Ethan Grammatikidis wrote: > Cheers. I sort-of subconciously avoided Pure because LLVM requires C++, but I guess it would be more appropriate for my 64-bit box. Q starts and runs nicely on my PDA, a Sharp Zaurus running Angstrom Linux which has issues compiling and sometimes running C++ apps. You'd think 64MB would be as adequate for a little bit of light coding as it was 7 or 8 years ago, but at least for C++ it's aparently not. Well, I guess you're right. Compiling C stuff on the Z works all right, but for getting any substantial piece of C++ software going, you'll need a cross compiler. Alas, my Z doesn't get much use anymore, the screen is too small for my eyes. I do run Pure on my eeepc, though, it works great there. 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: Ethan G. <ee...@fa...> - 2009-05-16 00:59:53
|
On Tue, 21 Apr 2009 12:05:34 +0200 Albert Graef <Dr....@t-...> wrote: > Ethan Grammatikidis wrote: > > The splash text may be of interest: > > 0 ethan@vardo q-pure (0) $ q > > def: error loading module > > Warning: 141 unresolved external symbols > > Hi Ethan, > > Unfortunately, Q doesn't work on 64 bit systems, it was never ported to > those. You might wish to take a look at Q's successor Pure, which is > fully 64 bit compatible, has some important new features and runs > programs much faster (it also needs LLVM at build time, though): > > http://pure-lang.googlecode.com/ > > In case you're interested, Pure has its own mailing list at: > > http://groups.google.com/group/pure-lang > > Cheers, > Albert Cheers. I sort-of subconciously avoided Pure because LLVM requires C++, but I guess it would be more appropriate for my 64-bit box. Q starts and runs nicely on my PDA, a Sharp Zaurus running Angstrom Linux which has issues compiling and sometimes running C++ apps. You'd think 64MB would be as adequate for a little bit of light coding as it was 7 or 8 years ago, but at least for C++ it's aparently not. -- Ethan Grammatikidis The lyf so short, the craft so long to lerne. -- Chaucer |
From: Albert G. <Dr....@t-...> - 2009-04-21 10:06:15
|
Ethan Grammatikidis wrote: > The splash text may be of interest: > 0 ethan@vardo q-pure (0) $ q > def: error loading module > Warning: 141 unresolved external symbols Hi Ethan, Unfortunately, Q doesn't work on 64 bit systems, it was never ported to those. You might wish to take a look at Q's successor Pure, which is fully 64 bit compatible, has some important new features and runs programs much faster (it also needs LLVM at build time, though): http://pure-lang.googlecode.com/ In case you're interested, Pure has its own mailing list at: http://groups.google.com/group/pure-lang 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: Ethan G. <ee...@fa...> - 2009-04-16 03:21:34
|
On Thu, 16 Apr 2009 03:21 +0100, "Ethan Grammatikidis" <ee...@fa...> wrote: > Hiyos. I just installed Q today, submitting a Source Mage GNU/Linux > 'spell' for it, so that's one more distro that carries Q. > > At least one function, sum, is not working. The manual gives the > following example: > ==> sum [1..123456] > 7620753696 > > I entered something similar with different results: > ==> sum [1..100] > sum > [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100] > > simpler uses of sum do not work either: > ==> sum 1 2 > sum 1 2 > > The splash text may be of interest: > 0 ethan@vardo q-pure (0) $ q > def: error loading module > Warning: 141 unresolved external symbols > ____ > / __ \ Q interpreter version 7.11 (x86_64-pc-linux-gnu) > / /_/ / Copyright (c) 1991-2008 by Albert Graef > \___\_\ http://q-lang.sourceforge.net > > This software is distributed under the terms of the GNU General Public > License version 2 or later; type `copying' for details. > ! File def, line 77: Value mismatch in definition > > ==> > > What is this module "def"? There is no such file either in the source > tree or installed. I assume a syntax error leading to a bad import > statement, but how can a nonexistant file have line numbers? > > Testing the install did not produce anything useful: > 0 ethan@vardo q-7.11 (0) $ q test.q > Segmentation fault > A little extra info: As far as I can tell, anything defined in stdlib.q is unavailable. Line 77 is the definition of curry: public curry F; curry F X Y = F (X,Y); The code immediately before surprises me: public cst X; cst X _ = X; Whyfore the underscore? -- wow.. wondering how to make it more general and less hard-coded is making my head hurt. that's a good sign that it's my code |
From: Ethan G. <ee...@fa...> - 2009-04-16 02:21:46
|
Hiyos. I just installed Q today, submitting a Source Mage GNU/Linux 'spell' for it, so that's one more distro that carries Q. At least one function, sum, is not working. The manual gives the following example: ==> sum [1..123456] 7620753696 I entered something similar with different results: ==> sum [1..100] sum [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100] simpler uses of sum do not work either: ==> sum 1 2 sum 1 2 The splash text may be of interest: 0 ethan@vardo q-pure (0) $ q def: error loading module Warning: 141 unresolved external symbols ____ / __ \ Q interpreter version 7.11 (x86_64-pc-linux-gnu) / /_/ / Copyright (c) 1991-2008 by Albert Graef \___\_\ http://q-lang.sourceforge.net This software is distributed under the terms of the GNU General Public License version 2 or later; type `copying' for details. ! File def, line 77: Value mismatch in definition ==> What is this module "def"? There is no such file either in the source tree or installed. I assume a syntax error leading to a bad import statement, but how can a nonexistant file have line numbers? Testing the install did not produce anything useful: 0 ethan@vardo q-7.11 (0) $ q test.q Segmentation fault -- wow.. wondering how to make it more general and less hard-coded is making my head hurt. that's a good sign that it's my code |
From: Albert G. <Dr....@t-...> - 2008-09-08 16:49:47
|
> Rob Hubbard wrote: >> I had been eagerly anticipating QCalc for Windoze, wondering whether >> that has essentially been shelved now. > > This will happen at some point. For the time being, I did a quick-and-dirty hack on Qpad to make it work with Pure. "PurePad" will also be included in the 0.6 release for Windows. -- 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-...> - 2008-09-07 11:16:07
|
> Rob Hubbard wrote: >> Perhaps the installer could have an "install for all users" option >> (putting this variable in the system rather than user environment)? > > Right, I'll have to look into that, I'm running as admin myself so I > never noticed this. Silly, I had those environment variables configured for the user environment. I fixed this now. I also added a warning message to the interactive startup if the prelude isn't found, which instructs the user to check the PURELIB variable. This will in the forthcoming 0.6 release. 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-...> - 2008-09-02 09:13:56
|
Hi Rob, welcome back! Rob Hubbard wrote: > [I'm posting to both the Q and Pure mailing lists, although I'm only > subscribed to the former at present.] Note that your post didn't get to the Pure ml because you're not subscribed (same spam fighing measure as on the Q ml). > Sorry I've been so quiet about Q recently. Of course, I see that Q has > pretty much been superseded by Pure now. As a matter of fact, yes. It's just so much faster and better. :) There are still a few things missing, but I'm working on these. > I had been eagerly anticipating QCalc for Windoze, wondering whether > that has essentially been shelved now. This will happen at some point. Right now, there's other stuff that I need to fix up first. I'm currently working on lazy data structures, next thing will be support for matrices and vectors so that interfacing to GSL becomes a breeze. Other stuff that's already been implemented in svn since 0.5 is support for private symbols, unicode operator symbols, sentries (object finalizers), references and macros, so it's quickly getting to the point where most of Q's major features are provided in some way. > > 1:2:3:[]; > [1,2,3] > > 1+2; > 1+2 > So, lists worked as expected, but arithmetic didn't. Yes, as you suspected that's because the prelude wasn't found (1:2:3:[] works without that because [1,2,3] is just syntactic sugar that's built into the interpreter). > Perhaps the installer could have an "install for all users" option > (putting this variable in the system rather than user environment)? Right, I'll have to look into that, I'm running as admin myself so I never noticed this. > By the way, part of the reason for shying away from Pure up until now > was the mention of LLVM and MinGW; I thought installation of the > dependencies might be awkward (and I'm a lazy Windoze user, though I am > a fan of Cygwin). That's only true if you need to install LLVM from source (although it's not that difficult, if you use the install docs included in the Pure source, and the guide that Jiri has written on mingw installation). Fortunately, we already have ready-made packages for most popular systems now, and these are statically linked against LLVM. All other dependencies (basically, just the C library, libgmp and readline) are readily available on most systems. 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: Rob H. <hub...@gm...> - 2008-09-02 00:50:09
|
Dear Albert, [I'm posting to both the Q and Pure mailing lists, although I'm only subscribed to the former at present.] Sorry I've been so quiet about Q recently. Of course, I see that Q has pretty much been superseded by Pure now. I had been eagerly anticipating QCalc for Windoze, wondering whether that has essentially been shelved now. I note from the Pure user mailing list archive that you have addressed such questions before, but I was wondering whether there's an update on your progress with the "purification" of QCalc and Qpad. I have just installed Pure 0.5, finally. (It's been on my list of things to do for quite a while.) I installed the MSI for Windows (as administrator). Running the shell (as another user: me), I got the following surprise: > 1:2:3:[]; [1,2,3] > 1+2; 1+2 So, lists worked as expected, but arithmetic didn't. However, when I ran this as Administrator, I got: > 1+2; 3 as expected. This looks like a tedious, but minor, installer bug. I look a quick look around, and found the <ReadMe.txt> file (distinct from the <README> file). I manually set up the environment variable PURELIB=C:\Program Files\Pure\lib in the Start | Settings | Control Panel | System | Advanced | Environment Variables After that, running the shell (as me) worked fine. This problem will only bite those Windoze users that bother to set up separate user accounts. Perhaps the installer could have an "install for all users" option (putting this variable in the system rather than user environment)? Alternatively, perhaps Pure could warn of the problem and suggest reading ReadMe.txt. By the way, part of the reason for shying away from Pure up until now was the mention of LLVM and MinGW; I thought installation of the dependencies might be awkward (and I'm a lazy Windoze user, though I am a fan of Cygwin). However, the MSI made things very easy. [So thanks too to Jiri.] Thanks and best wishes, Rob. |
From: Albert G. <Dr....@t-...> - 2008-08-16 10:29:16
|
David Baird wrote: > It doesn't seem that anyone has yet taken up an effort to get Pure or > Q into the official Debian package lists. So, unless someone else has > a special interest, I was thinking of volunteering to be a package > maintainer and seek out a sponsor [1] to get the packages into Debian > (and hopefully propagate into Ubuntu too...?). That would be much appreciated! (You'd probably need to get the LLVM debs updated, too, IIRC they're quite old.) > I also might look into getting this into Gentoo Portage too. Alvaro Castro Castilla has already done a Gentoo ebuild of LLVM and Pure, see this thread here: http://sourceforge.net/mailarchive/message.php?msg_name=487DAE08.2070804%40t-online.de > The other major distro is Fedora, which I am not too keen on Fedora is RPM-based, so one could probably take Toni Graffy's comprehensive openSUSE packages (see the Q and Pure websites for pointers) and try to massage them so that they build on Fedora. However, there already are Q packages for Fedora by Gerard Milmeister, again see the Q website for pointers. Maybe one could convince Gerard to do packages for Pure as well. Anyone running Fedora here? > Would this effort be encouraged, Certainly! If you run into any problems, just post to the mailing list and we'll sort them out. 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: David B. <dh...@gm...> - 2008-08-16 04:27:14
|
Hi, It doesn't seem that anyone has yet taken up an effort to get Pure or Q into the official Debian package lists. So, unless someone else has a special interest, I was thinking of volunteering to be a package maintainer and seek out a sponsor [1] to get the packages into Debian (and hopefully propagate into Ubuntu too...?). I also might look into getting this into Gentoo Portage too. The other major distro is Fedora, which I am not too keen on (Can't just untar a stage2 and go? Can't just run debootstrap? You mean I have to install from a CD?!?!? And why don't the scripts make any sense? :-P). This would probably be the most responsible thing I've done in my life, so I'm a little nervous about the commitment. But can it really be _that_ bad? Would this effort be encouraged, or is someone else already planning to tackle this? -David [1] http://people.debian.org/~mpalmer/debian-mentors_FAQ.html |
From: Albert G. <Dr....@t-...> - 2008-08-09 19:45:39
|
Jiri Spitz wrote: > OTOH, it is nothing urgent. There is an easy workaround - I can open the > DB twice and perform SSQLs on the second DB handle. Ok, if it's not a showstopper then I'll have another look when I port that module to Pure. -- 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: Jiri S. <jir...@bl...> - 2008-08-09 19:27:10
|
Albert Graef wrote: > I don't have an ODBC install right now to test this, but I remember > running this on Linux (using MySQL, I guess) and it worked. The code > looks ok (in fact I lifted it from an MSDN page). Can you reproduce this > with Postgres on Linux? > Yes, I can: ==> import odbc ==> def A = odbc_connect "DSN=efom" ==> odbc_columns A "units" [("sector","varchar",(),()),("producer","varchar",(),()), .............. ==> sql A "select * from units" () q[pid 8967]: caught signal 11 (Segmentation fault), printing backtrace... 2 stack frames q(__qq__segv_handler+0x8c)[0x8050d8c] [0xb7f4b420] Segmentation fault OTOH, it is nothing urgent. There is an easy workaround - I can open the DB twice and perform SSQLs on the second DB handle. Cheers, Jiri |
From: Albert G. <Dr....@t-...> - 2008-08-09 18:23:24
|
Jiri Spitz wrote: > I am not able to query a table using ODBC after a call of odbc_columns: > > > odbc_columns DB "units" > > [("sector","varchar",(),()),("producer","varchar",(),()), ....... > > sql DB "select * from units" () > > q[pid 3108]: caught signal 11, exiting > > I am using Windows version and it does the same with both Access and > Postgres. I don't have an ODBC install right now to test this, but I remember running this on Linux (using MySQL, I guess) and it worked. The code looks ok (in fact I lifted it from an MSDN page). Can you reproduce this with Postgres on Linux? 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: Jiri S. <jir...@bl...> - 2008-08-02 15:14:12
|
Hello Albert, I am not able to query a table using ODBC after a call of odbc_columns: > odbc_columns DB "units" > [("sector","varchar",(),()),("producer","varchar",(),()), ....... > sql DB "select * from units" () > q[pid 3108]: caught signal 11, exiting I am using Windows version and it does the same with both Access and Postgres. Cheers, Jiri |
From: Albert G. <Dr....@t-...> - 2008-07-30 21:18:56
|
John Cowan wrote: > The new entity definition file is at > http://www.w3.org/2003/entities/2007/w3centities-f.ent . > > Q and Pure should be updated accordingly; TagSoup will be. Done, thanks. 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...> - 2008-07-21 17:59:19
|
The W3C has issued a new draft of the unified entity definitions, updating the names phi, lang, rang, OverParenthesis, UnderParenthesis, OverBrace, UnderBrace, lbbrk, and rbbrk. The new entity definition file is at http://www.w3.org/2003/entities/2007/w3centities-f.ent . Q and Pure should be updated accordingly; TagSoup will be. -- John Cowan <co...@cc...> http://ccil.org/~cowan Micropayment advocates mistakenly believe that efficient allocation of resources is the purpose of markets. Efficiency is a byproduct of market systems, not their goal. The reasons markets work are not because users have embraced efficiency but because markets are the best place to allow users to maximize their preferences, and very often their preferences are not for conservation of cheap resources. --Clay Shirkey |
From: Á. C. C. <alv...@gm...> - 2008-07-16 10:17:37
|
2008/7/16 Albert Graef <Dr....@t-...>: > Álvaro Castro Castilla wrote: >> I have good news about the Q ebuild for gentoo. >> >> I updated the llvm ebuild with all requirements for Q and last 2.3 >> version, taking care of compiler version issues with it. > > You're talking about Pure, right? Q doesn't need/use LLVM. Yes! sorry, it was late... >> 1) The PIC issue: I had to apply the patch to llvm and compile it with >> "make CXXFLAGS=-fPIC", otherwise the patch didn't do all its work > > There's also a configure option --enable-pic to enable that, and yes, > it's needed in addition to applying the patch (otherwise LLVM won't be > built with -fPIC anyway). Pure's INSTALL file has more information on 64 > bit issues. Didn't know that. I think es cleaner, i'll change it. >> 2) I had to add the "limits.h" include in runtime.cc, otherwise it >> didn't find LONG_MAX. Do you want to add this or should I prepare a >> patch for gentoo? > > Thanks for reporting, fixed in r438. > >> I'll make the ebuild with all this information. Any >> compilation/configure flags that I should especially care of? > > See the INSTALL file for detailed instructions. I'd suggest > --enable-release. > > BTW, I'm cc'ing pur...@sf... now, could you please redirect > your future posts on Pure as well? The subscription page is at > https://lists.sourceforge.net/lists/listinfo/pure-lang-users Thanks, I'll do it from now on. I'll post there links to both ebuilds. > q-l...@li... > https://lists.sourceforge.net/lists/listinfo/q-lang-users > -- |||||||||||||||||||||||||||||||||||||||||||||||||||||||| > http://www.alvarocastro.es |
From: Albert G. <Dr....@t-...> - 2008-07-16 08:15:23
|
Álvaro Castro Castilla wrote: > I have good news about the Q ebuild for gentoo. > > I updated the llvm ebuild with all requirements for Q and last 2.3 > version, taking care of compiler version issues with it. You're talking about Pure, right? Q doesn't need/use LLVM. > 1) The PIC issue: I had to apply the patch to llvm and compile it with > "make CXXFLAGS=-fPIC", otherwise the patch didn't do all its work There's also a configure option --enable-pic to enable that, and yes, it's needed in addition to applying the patch (otherwise LLVM won't be built with -fPIC anyway). Pure's INSTALL file has more information on 64 bit issues. > 2) I had to add the "limits.h" include in runtime.cc, otherwise it > didn't find LONG_MAX. Do you want to add this or should I prepare a > patch for gentoo? Thanks for reporting, fixed in r438. > I'll make the ebuild with all this information. Any > compilation/configure flags that I should especially care of? See the INSTALL file for detailed instructions. I'd suggest --enable-release. BTW, I'm cc'ing pur...@sf... now, could you please redirect your future posts on Pure as well? The subscription page is at https://lists.sourceforge.net/lists/listinfo/pure-lang-users 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: Á. C. C. <alv...@gm...> - 2008-07-16 00:30:40
|
Hello! I have good news about the Q ebuild for gentoo. I updated the llvm ebuild with all requirements for Q and last 2.3 version, taking care of compiler version issues with it. I managed to compile and get llvm running with not many problems, just: 1) The PIC issue: I had to apply the patch to llvm and compile it with "make CXXFLAGS=-fPIC", otherwise the patch didn't do all its work I get this nice code-quality "warning: dereferencing type-punned pointer will break strict-aliasing rules" 2) I had to add the "limits.h" include in runtime.cc, otherwise it didn't find LONG_MAX. Do you want to add this or should I prepare a patch for gentoo? I'll make the ebuild with all this information. Any compilation/configure flags that I should especially care of? Regards, Álvaro -- |||||||||||||||||||||||||||||||||||||||||||||||||||||||| > http://www.alvarocastro.es |
From: Albert G. <Dr....@t-...> - 2008-07-10 16:59:38
|
Álvaro Castro Castilla wrote: > I saw Q related to K, which are supposed to be good > languages for matrix multiplication, and somewhere said that it was > faster than plain C (well, because it vectorizes). That Q and K are completely different languages, they have nothing to do with my Q. > In a couple of days I'll make a Gentoo ebuild for Pure, as I couldn't > find one. That will be much appreciated. :) Please let me know when it's available, so I can add a note to the Pure website. > My machine is amd64, I tried to compile Q but I couldn't. Q won't work there as it's never been ported to 64 bit. That was planned for Q 8.0, but instead I decided to start Pure, so updates to Q will probably be limited to bugfixes and applying user-supplied patches in the future. > Anyway, Q (pure) first got my attention because of the concept of > rewriting. I'll check the code when I have time to try to understand > how is it implemented, and what "rewriting" means here. It's basically just term rewriting in the sense of universal algebra, i.e., your programs are collections of rules of the form l -> r (where l and r are terms with variables) which are used to reduce terms to normal form (using eager evaluation by default). But I've added some conveniences, e.g. Pure also has guards, lambdas and lexical block structure with local functions and variables (much like Haskell and ML, but it's a dynamically typed language like Lisp), and will soon also have Lisp-like macros. I'll let you find out about the rest on your own. ;-) The Pure manual is still a bit terse, so if you have any questions just ask. 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: Á. C. C. <alv...@gm...> - 2008-07-10 09:12:25
|
2008/7/10 Albert Graef <Dr....@t-...>: > Hi Álvaro, > > sorry for the late reply. Rob answered your question already I guess. I > just wanted to point out that most of the action is now with "Pure", the > "next generation Q" which compiles to native code, hence programs are > much faster. It also offers quite a few new features which make the > language much easier to use. Pure still lacks most of Q's 3rd party > library interfaces, but we're working on that. I'd say that the current > version of the Pure interpreter is already quite usable, and Pure 0.5 is > around the corner. Hi, Thanks for your answers! All the explanations were quite useful! I tried axiom and wxmaxima, and actually helped me solve the problem I had. Anyway I'm far more interested in languages than learning programs. Actually I first got to know Pure than Q, and it was a couple of days ago that I saw them connected. I knew it from llvm list I guess, since I'm a llvm user. I saw Q related to K, which are supposed to be good languages for matrix multiplication, and somewhere said that it was faster than plain C (well, because it vectorizes). At least K was able to do it. In a couple of days I'll make a Gentoo ebuild for Pure, as I couldn't find one. There is one for Q that took me long to find (due to its name! ;) ). If necessary, I'll update the llvm ebuild, too. My machine is amd64, I tried to compile Q but I couldn't. Anyway, Q (pure) first got my attention because of the concept of rewriting. I'll check the code when I have time to try to understand how is it implemented, and what "rewriting" means here. I was some time ago interested in "homoiconic" languages. Indeed, I'm working on languages for automatic code generation, so I wanted to try Q-Pure in this respect, especially using this "rewriting" ability. I'll think more on this, so I can speak properly. Regards, álvaro -- |||||||||||||||||||||||||||||||||||||||||||||||||||||||| > http://www.alvarocastro.es |
From: Albert G. <Dr....@t-...> - 2008-07-10 00:08:55
|
Hi Rob, nice to hear from you. :) > I hope you remain interested in Q. Please also take a look at Qpad > (Windows only), Qcalc (not available for Windows yet) and Pure (an > alpha(?) version of a replacement for Q). I wouldn't consider Pure alpha any more. :) Jiri Spitz just ported the Q container data structures, and complex and rational numbers are already in the library, too (current svn, soon to be released as Pure 0.5). So it should soon be possible to port your rational and polynomial libraries! If you're still interested in this kind of stuff, Pure has its own mailing list, see http://pure-lang.sourceforge.net/ 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 |