Re: [polyml] Profiling: UNKNOWN ranks highest

2013-01-29 Thread David Matthews
On 28/01/2013 20:52, Alexander Krauss wrote: On 01/28/2013 04:11 PM, Makarius wrote: On Mon, 28 Jan 2013, Alexander Krauss wrote: 149 GARBAGE COLLECTION (minor collection) 150 GARBAGE COLLECTION (total) 13313 UNKNOWN What does UNKNOWN mean? Is there anything I can do to make

Re: [polyml] Patch to fix PolyML on x86_64 FreeBSD

2013-02-12 Thread David Matthews
On 08/02/2013 00:13, Imre Vadasz wrote: This patch is necessary to make PolyML work on FreeBSD x86_64, because the elf.h header in FreeBSD is missing a typecast that exists in the corresponding header file on Linux. Without this patch the compiled polyml immediately segfaults on FreeBSD x86_64.

Re: [polyml] suppressing compiler output

2013-03-29 Thread David Matthews
On 29/03/2013 08:42, Gergely Buday wrote: Back to the original question: this is why I would like to suppress any compiler message. I did not find such a flag in the manual, would it be possible to add one, David? There have been a few suggestions for how to write your own top level and

Re: [polyml] suppressing compiler output

2013-04-01 Thread David Matthews
On 29/03/2013 20:24, Rob Arthan wrote: Quite a common thing to do in UN*X applications is not to prompt if the input isn't a terminal. Obviously, I can write my own read-eval-print loop that does that (indeed the read-eval-print loop in my earlier post on this topic doesn't prompt at all), but

Re: [polyml] suppressing compiler output

2013-04-02 Thread David Matthews
On 02/04/2013 13:25, René Neumann wrote: Am 02.04.2013 14:02, schrieb David Matthews: This would definitly be a great help for people new to Poly/ML. When I had to produce a standalone executable from an ML-file it took me quite some time before figuring out how it works. Actually it's

Re: [polyml] suppressing compiler output

2013-04-03 Thread David Matthews
On 02/04/2013 14:36, David Matthews wrote: Perhaps one can also pour in the gcc-compile phase already, so it's one step from ML-file to executable. I don't know how that works so perhaps that's for later. So, in summary, it should look like: -c option: Compile a source file which must

Re: [polyml] suppressing compiler output

2013-04-05 Thread David Matthews
I've added a polyc script that is generated from the build process. The idea of this is to provide the similar sort of functionality that users of C expect from the cc command. It's very simple at the moment and is limited to a few options. It compiles an ML source file and exports the main

Re: [polyml] suppressing compiler output

2013-04-05 Thread David Matthews
:48, Alex Merry wrote: On 05/04/13 13:24, David Matthews wrote: I've added a polyc script that is generated from the build process. The idea of this is to provide the similar sort of functionality that users of C expect from the cc command. It's very simple at the moment and is limited to a few

Re: [polyml] suppressing compiler output

2013-04-08 Thread David Matthews
Thanks for trying that out and letting me have your comments. On 07/04/2013 23:55, Phil Clayton wrote: polyc looks very useful. I just tried it out for 1723 and noticed a few things: 1. -L${LIBDIR} is missing in the case when -o is not specified, causing the error: /usr/bin/ld: cannot find

Re: [polyml] suppressing compiler output

2013-04-09 Thread David Matthews
On 08/04/2013 21:22, Phil Clayton wrote: On 08/04/13 12:21, David Matthews wrote: I have found something called config.rpath which seems to be part of the GNU portability library. This appears to calculate potentially useful values for passing rpath to linkers. acl_cv_hardcode_libdir_flag_spec

Re: [polyml] suppressing compiler output

2013-04-11 Thread David Matthews
On 10/04/2013 20:03, Phil Clayton wrote: In Linux that basically means not listed in /etc/ld.so.conf so the simplest solution is to add your location there. You're right, I should really do that. In fact, on Fedora, I would add the file /etc/ld.so.conf.d/polyml-${version}.conf that

Re: [polyml] suppressing compiler output

2013-04-15 Thread David Matthews
On 09/04/2013 12:44, Alex Merry wrote: On 08/04/13 12:07, David Matthews wrote: I don't like usestring myself. eval is definitely better. I see what you mean about having to escape the string if it has unusual characters in it. I don't really like the idea of having a special load file

[polyml] PolyML.Exception.traceException

2013-04-22 Thread David Matthews
For some time Makarius has been asking for a way for PolyML.exception_trace to be able to output the trace through an ML function rather than directly to stdout. I've now added PolyML.Exception.traceException. At the same time I've moved the various functions related to exceptions into

Re: [polyml] 'Make_unsigned' was not declared in this scope

2013-04-23 Thread David Matthews
On 23/04/2013 03:21, Michael Maul wrote: Getting this from SVN HEAD xwindows.cpp:2423:22: error: 'Make_unsigned' was not declared in this scope Fixed. I'm afraid the X-Windows code isn't getting the same degree of testing as the rest of the system these days. David

Re: [polyml] Can't build mlton-20100608 with polyml on ARM

2013-04-25 Thread David Matthews
On 24/04/2013 15:20, Adam Goode wrote: Bad news, I tried PolyML.Compiler.maxInlineSize := 1 and it still fails. Any other ideas? If I were to work on 32-bit jumps, are there binary compatibility issues you can think of? I think there could be problems because the offset used in the

Re: [polyml] Can't build mlton-20100608 with polyml on ARM

2013-04-26 Thread David Matthews
! Adam On Thu, Apr 25, 2013 at 7:49 AM, David Matthews david.matth...@prolingua.co.uk wrote: On 24/04/2013 15:20, Adam Goode wrote: Bad news, I tried PolyML.Compiler.maxInlineSize := 1 and it still fails. Any other ideas? If I were to work on 32-bit jumps, are there binary compatibility issues

Re: [polyml] (no subject)

2013-05-22 Thread David Matthews
Hi Jesus, On 21/05/2013 19:31, Jesus Aransay wrote: this is my first mail to the list, so first I wanted to say hello and kindly ask you for forgiveness if I break any conventions that usually apply in the list. Welcome to the list. It has a very low posting rate so we don't need to worry

Re: [polyml] call Poly/ML from not native Poly/ML threads

2013-08-13 Thread David Matthews
On 08/08/2013 07:07, Dmitry Popoinikov wrote: Вторник, 6 августа 2013, 13:55 +01:00 от David Matthews david.matth...@prolingua.co.uk: On 04/08/2013 22:31, Dmitry Popoinikov wrote: Hi Dmitry, I can't see there would be any problem with running a Poly/ML program for a long time. Provided

Re: [polyml] Compiler in SVN

2013-09-03 Thread David Matthews
On 02/09/2013 09:04, David Matthews wrote: On 02/09/2013 06:47, Florian Weimer wrote: * Phil Clayton: I think this delay is actually when exiting Poly/ML. I have just this moment hit Ctrl+D to exit poly in a terminal but, as nothing happened immediately, I hit it again. In fact, both key

Re: [polyml] Compiler in SVN

2013-09-03 Thread David Matthews
On 31/08/2013 19:59, Phil Clayton wrote: I'm trying the latest revision in SVN (1838) and have found that after open PolyML; entering either of the following causes a seg fault: stackTrace (); PolyML.stackTrace (); The previous version that I tried - 1738 - didn't do this. The

Re: [polyml] Poly/ML 5.5.1

2013-09-18 Thread David Matthews
On 17/09/2013 19:43, Ramana Kumar wrote: I would like to report that the new default to not build a shared library means Poly/ML 5.5.1 does not build HOL4 unless you use the --enable-shared option at configure time. Is this as expected, or is there some other possible solution? This issue with

Re: [polyml] Poly/ML 5.5.1

2013-09-18 Thread David Matthews
On 18/09/2013 18:21, Ramana Kumar wrote: Do you happen to know whether and how polyc could be used to build HOL4 when poly was built with --disabled-shared? I think I tried using polyc tools/smart-configure.sml to start the HOL4 build process (i.e. using polyc instead of poly), but it didn't

Re: [polyml] pkg-config for Poly/ML

2013-09-20 Thread David Matthews
Overall, my feeling is that it would be a good idea to create the PC file as part of the build process but it's not going to be a substitute for polyc. polyc was originally intended as a convenient way to compile and link programs written in ML for users who are more familiar with the

Re: [polyml] Poly/ML 5.5.1

2013-09-20 Thread David Matthews
On 20/09/2013 08:59, Anthony Fox wrote: 1. I’ve noticed a change in evaluation behaviour between PolyML 5.5.0 and 5.5.1. Given the functions: fun foo () = let val () = print x\n in SOME end fun bar f = List.mapPartial (Option.compose (Int.~, f ())) [1, 2, 3] then under 5.5.0 “bar foo” gives

Re: [polyml] pkg-config for Poly/ML

2013-09-26 Thread David Matthews
Phil, I've just committed support for pkg-config with Poly/ML. Would you like to have a look at it and see if it works as you expect? Let me know if there are any changes needed. You had separate versions for the shared and static libraries. I can see why you did that but it looks like it

Re: [polyml] Poly/ML 5.5.1

2013-10-11 Thread David Matthews
A follow-up on this. On 20/09/2013 16:33, David Matthews wrote: On 20/09/2013 08:59, Anthony Fox wrote: 1. I’ve noticed a change in evaluation behaviour between PolyML 5.5.0 and 5.5.1. Given the functions: fun foo () = let val () = print x\n in SOME end fun bar f = List.mapPartial

Re: [polyml] polyc and poly --script

2013-10-11 Thread David Matthews
On 11/10/2013 14:17, René Neumann wrote: Am 11.10.2013 15:12, schrieb Ramana Kumar: (Ie, what I want: if is_script then main() else () ) If your main : unit - unit (which perhaps it must be?), then main() is equivalent to the if expression above, modulo side-effects. There is a

Re: [polyml] Id like to suggest porting to Android

2013-10-15 Thread David Matthews
A while ago I managed to get Poly/ML running (sort of) on my Android phone. It involved running an ARM Debian distribution in a separate partition on the SD card and then using SSH to connect in to it. It was really just to see if it was possible and I eventually deleted the partition and

[polyml] Flexible records and overloading

2013-11-29 Thread David Matthews
The ML standard is not specific about what the program context should be when disambiguating flexible records and overloading. Poly/ML uses as wide a context as possible but that can mean that a program that compiles with Poly/ML won't necessarily compile with other implementations. I've

Re: [polyml] Flexible records and overloading

2013-12-01 Thread David Matthews
On 30/11/2013 13:16, Phil Clayton wrote: There was a discussion about this on the MLton mailing list while ago and MLton now has an annotation to control the context used: http://thread.gmane.org/gmane.comp.lang.ml.mlton.user/1335/focus=6086 http://sourceforge.net/p/mlton/code/7618/ I thought

Re: [polyml] checking --enable-shared from within the REPL

2014-01-13 Thread David Matthews
There's nothing within the Poly/ML environment that will tell you. You might be able to find a .so/.dll/.dylib file corresponding to libpolyml in /usr/local/lib but it could be elsewhere. Why exactly do you need to know whether it was compiled with --enable-shared or --disable-shared?

Re: [polyml] PolyML.pointerEq

2014-01-30 Thread David Matthews
Brian, The intention of PolyML.pointerEq is that if pointerEq(x, y) is true then x = y will be true, assuming the type of x and y admits equality. It is really intended for use where a user function wants to test for equality in some general sense and knowing that actually the values are the

Re: [polyml] PolyML.pointerEq

2014-01-30 Thread David Matthews
On 30/01/2014 11:40, Makarius wrote: The puristic approach to structutal equality in SML turns out as a benefit these days, when the system runs with loosened brakes on multicore hardware. Neither the JVM nor OCaml could afford that (but I think Haskell / GHC does). The measurements I did

Re: [polyml] Pretty-printing infix constructors

2014-02-06 Thread David Matthews
Rob, Sorry. Poly/ML compiles a print function for each datatype when it is declared. It doesn't take account of infix status so you'll have to install your own pretty printer if you want the result to be infixed. Regards, David On 06/02/2014 15:48, Rob Arthan wrote: When I executed the

Re: [polyml] (Pseudo) static linking with C

2014-02-17 Thread David Matthews
Hi, That seems very reasonable. I've applied a slightly modified version of this and committed it. I haven't tested it so if you have a chance I'd be glad if you can confirm that it works. Regards, David On 14/02/2014 16:38, Kobayashi, Tomoyas wrote: Hi, Although Poly/ML has nice

Re: [polyml] Exception- Subscript unexpectedly raised while compiling

2014-02-17 Thread David Matthews
I've now committed a fix for this and included your test in the regression test suite. David On 17/02/2014 11:37, David Matthews wrote: Hi Lars, Thanks for reporting this. It looks as though the front-end is generating incorrect code and the error is coming from the intermediate code

Re: [polyml] Subsecond time in stat structures

2014-02-18 Thread David Matthews
Hi Jerry, Thank you for that. It all seems reasonable so I'll commit it more-or-less as you've sent it. There's a problem with SourceForge at the moment so I'm not sure when it will actually get committed. I'm surprised that you're getting a message about AC_CANONICAL_HOST. I haven't seen

Re: [polyml] [isabelle-dev] PolyML crashes

2014-03-03 Thread David Matthews
InternalError exceptions are assertions within the compiler. I would expect them to be deterministic unlike assertions in the GC which depend a lot on timing of threads. It should be possible to get to the bottom of this if I'm able to get the ML code that is causing the problem. I

Re: [polyml] polyc

2014-05-06 Thread David Matthews
Hi Rob, I've been away and I'm now just trying to catch up. On 23/04/2014 17:13, Rob Arthan wrote: I have a couple of comments and a query about polyc (which seemed particularly attractive on Cygwin, where there seems to be quite a long list of libraries you need to know about if you are

Re: [polyml] Poly/ML 5.5.2 Released

2014-05-11 Thread David Matthews
On 10/05/2014 15:07, Rob Arthan wrote: The line that sets EXTRALDFLAGS for Mac OS X in polyc.in is missing a double quote character and this causes polyc to raise a syntax error. I've fixed that in SVN trunk and the fixes-5.2.2 branch. I wonder whether it is worth exporting that and updating

Re: [polyml] Poly/ML 5.5.2 Released

2014-05-12 Thread David Matthews
On 11/05/2014 17:21, Rob Arthan wrote: David, On 11 May 2014, at 12:23, David Matthews david.matth...@prolingua.co.uk wrote: On 10/05/2014 15:07, Rob Arthan wrote: The line that sets EXTRALDFLAGS for Mac OS X in polyc.in is missing a double quote character and this causes polyc to raise

[polyml] Run out of store - interrupting threads

2014-05-15 Thread David Matthews
This question arose from something on the isabelle-dev list but I think it's really of general interest. Currently Poly/ML only gives the Run out of store - interrupting threads message if it really cannot allocate the required memory after a full GC. This is actually rather unlikely for

Re: [polyml] Poly on MinGW

2014-05-25 Thread David Matthews
Rob, On 24/05/2014 14:29, Rob Arthan wrote: What exactly do you mean by a console application? I mean the kind of thing that Visual Studio creates if you select “Win32 Console Application” when you create a new C++ project. I.e., a program with the standard C interface to the operating

Re: [polyml] Poly/ML 5.5.2 make fails with linker error

2014-06-09 Thread David Matthews
Thanks for reporting that, I've now fixed it. Do bear in mind that SVN trunk is the development version so it may well break on various platforms. David On 09/06/2014 10:34, Y.K. Tan wrote: I've been trying to build polyML 5.5.2 from the SVN trunk and getting a link error: ./configure

Re: [polyml] Poly/ML Array.array segmentation fault

2014-06-09 Thread David Matthews
Thanks. It wasn't checking correctly. I've fixed it in trunk and also fixes-5.5.2. David On 09/06/2014 13:21, Ramana Kumar wrote: This looks like a bug: % poly Poly/ML 5.5.2 Release Array.array(~12,4); zsh: segmentation fault (core dumped) poly

Re: [polyml] .polyml and poly-stats

2014-06-27 Thread David Matthews
On 27/06/2014 12:03, Makarius wrote: What are the conditions under which Poly/ML 5.5.2 creates a directory $HOME/.polyml and puts poly-stats files there? Poly/ML always creates a .polyml directory and a poly-stats file. The poly-stats file will be deleted when the Poly/ML process finishes

Re: [polyml] .polyml and poly-stats

2014-07-02 Thread David Matthews
On 29/06/2014 11:41, Rob Arthan wrote: The files are only 4096 bytes so it is not much of an overhead, but it is a bit messy. Would it make sense to provide a function in PolyML.Statistics allowing a process to opt into making its statistics available? (Or conversely, is there a requirement to

Re: [polyml] .polyml and poly-stats

2014-07-02 Thread David Matthews
On 02/07/2014 13:20, Rob Arthan wrote: Have you looked at System V shared memory (shmget/shmat etc.)? This seems to be available on most flavours of UN*X these days. However, it is a long while since I have used these interfaces and they may just move the problem from the world of ls and rm to

Re: [polyml] Motif in Poly/ML: sometimes works, sometimes not

2014-09-01 Thread David Matthews
On 01/09/2014 13:28, Piotr Trojanek wrote: On Mon, Sep 1, 2014 at 1:19 PM, David Matthews david.matth...@prolingua.co.uk wrote: Piotr, I don't know why it would only work sometimes. Whenever I've tested it it has worked. However, the X-Windows/Motif code is very old and isn't really

Re: [polyml] emacs SML mode

2014-12-03 Thread David Matthews
Peter, I'm copying this to the Poly/ML list as you suggested. It would be nice to have SML emacs mode working with Poly/ML for those who would like to use it but my feeling is that it is rather old-fashioned. Poly/ML now supports a much more extensive interface designed for an IDE. The best

Re: [polyml] Poly/ML

2014-12-10 Thread David Matthews
The X-Windows/Motif code still builds as far as I'm aware but that's as far as it goes. I would say it was better to use something else through CInterface. The Poly/ML interactive environment (read-eval-print loop or REPL) is usually the easiest way to develop and test your code. It prints

Re: [polyml] emacs SML mode

2014-12-14 Thread David Matthews
On 12/12/2014 04:19, Peter Gammie wrote: On 11 Dec 2014, at 19:26, Ian Zimmerman i...@buug.org wrote: On Wed, 10 Dec 2014 20:52:36 -0600, Peter Gammie pete...@gmail.com wrote: Peter Me neither. Hide it under a flag? Or are you (and Makarius) Peter suggesting that I hand-roll my own REPL? (I’m

Re: [polyml] GUI Interface

2014-12-14 Thread David Matthews
On 13/12/2014 17:04, David Topham wrote: I did get the interactive version of the sample Motif code to work OK, but failed to get it to build stand-alone (i.e. using polyc). Perhaps the polyc script doesn't include the needed Motif libraries? But also, my limited understanding of how to

Re: [polyml] ML_dbase

2014-12-20 Thread David Matthews
Oh dear! If there are any references to ML_dbase around I really need to remove them. It applied in version 4 but that's long out of date. David On 19/12/2014 22:23, David Topham wrote: I noticed several references to ML_dbase in the documentation (obviously I am a new user!), but do not

Re: [polyml] printTypesWithStructureName

2014-12-29 Thread David Matthews
On 26/12/2014 19:20, David Topham wrote: I am trying to install QCheck (http://contrapunctus.net/league/haques/qcheck/qcheck_2.html) which generates unit tests for SML code, and found that it uses printTypesWithStructureName in this way: ...in order to check the installation...what should I use

Re: [polyml] printTypesWithStructureName

2014-12-29 Thread David Matthews
On 29/12/2014 12:11, David Matthews wrote: On 26/12/2014 19:20, David Topham wrote: I am trying to install QCheck I am just doing a sanity check by asking if anyone has had experience with QCheck. I hadn't come across QCheck so thanks for pointing it out. As a result of your message I tried

Re: [polyml] linking polyML modules to C

2015-01-19 Thread David Matthews
On 19/01/2015 04:34, David Topham wrote: Thanks David for your response. While searching I found this comment you made earlier: The foreign-function interface allows for call-back functions so there is the mechanism to produce a C function that when called calls an ML function. in

Re: [polyml] linking polyML modules to C

2015-01-18 Thread David Matthews
). Happy Holidays to everyone in the PolyML community! -David Topham Re: GUI Interface (David Matthews) I've experimented with building a stand-alone executable with Motif and succeeded in getting it to work for me using polyc. (It required building Poly/ML with --with-x). I took

Re: [polyml] Problem with Real.toLargeInt

2015-01-11 Thread David Matthews
Thanks for sending this. I've looked at it and committed a fix so it now produces the same answers as you got from mlton. David On 30/12/2014 21:01, T.D. Telford wrote: Hello, I am using Poly/ML 5.5.2 ReleaseRTS version: X86_64-5.5.1 on Ubuntu 14.04 The following program (test2.sml)

Re: [polyml] extremely bad performance on some mllex generated code

2015-02-09 Thread David Matthews
I've had a look at this and I can see what is wrong. Fixing it is going to be a bit more of an effort. The lexer is tail recursive but unfortunately some transformations that the code-generator is doing remove the tail recursion. The result is that when your example is run the stack

Re: [polyml] forgetVal(ue)

2015-03-15 Thread David Matthews
Peter, PolyML.NameSpace.nameSpace is essentially an interface. Think of it as a signature or an interface in Java. It defines what any concrete implementation of a name-space must provide for it to work with the compiler. All the fields in the record are functions that are called either

Re: [polyml] Debugging the debugger

2015-03-07 Thread David Matthews
Sorry, I've only just got round to dealing with this. Thanks for your comments on the debugger. I don't think it's had the same degree of use as other parts of Poly/ML so I'm not surprised there are issues. I'm planning to look at the debugger shortly so I'll bear these in mind. If you

Re: [polyml] polyc and poly --script

2015-03-24 Thread David Matthews
Hi Phil, I've changed configure so that FFI_LIBS gets added to LIBS within the configure script. This should avoid the need to add it explicitly in other places. Let me know if there are problems. David On 23/03/2015 23:45, Phil Clayton wrote: Hi David, 15/10/13 17:50, David Matthews

Re: [polyml] error building from SVN

2015-03-31 Thread David Matthews
This was a problem with the SVN version of Poly/ML. I've fixed it now so it should build. This has raised, though, a question I've been wondering about: whether to switch from sourceforge SVN to git and github. It's very convenient to be able to commit works-in-progress at various stages

Re: [polyml] error building from SVN

2015-04-03 Thread David Matthews
On 01/04/2015 10:46, Makarius wrote: On Wed, 1 Apr 2015, Ramana Kumar wrote: In case there's any confusion about it, switching to git does _not_ entail switching to GitHub, which merely provides hosting for git repositories with a lot of social features and a nice web interface. Git

Re: [polyml] error building from SVN

2015-04-16 Thread David Matthews
is a separate repository. At least for the moment, I'll keep SourceForge SVN as the official repository. David On 03/04/2015 16:56, David Matthews wrote: On 01/04/2015 10:46, Makarius wrote: On Wed, 1 Apr 2015, Ramana Kumar wrote: In case there's any confusion about it, switching to git does

Re: [polyml] error building from SVN

2015-08-11 Thread David Matthews
On 07/08/2015 13:38, David Matthews wrote: The original idea was to experiment with github but port the changes to svn on SourceForge. In practice the git repository has got a bit ahead and there are quite a few changes that I need to apply to bring svn into line. I had in mind keeping svn

[polyml] Various changes

2015-11-10 Thread David Matthews
There have been a number of changes added to the git repository over the last weeks and months. This an almost certainly incomplete list. I've tried to include changes that have come up as queries on the mailing list. Added loadHierarchy to PolyML.SavedState. This takes a list of the file

Re: [polyml] type real in polyml

2015-10-30 Thread David Matthews
I committed a change on 7th October to set the precision to 64-bits with the current floating point implementation. Regards, David On 30/10/2015 10:36, Fabian Immler wrote: Hi David, Thanks for your answer, I should have subscribed to the polyml mailing list earlier. Using the SSE2

Re: [polyml] incorrect canonical paths

2015-10-15 Thread David Matthews
On 15/10/2015 04:45, Ramana Kumar wrote: I just realised I was _not_ on fixes-5.5.2 (although the SHA of the commit I gave was correct). So, the question is: why does master get this wrong? A bug; now fixed. Thanks for letting me know. Actually, I'm just wondering if configure should check

[polyml] Nested use

2015-10-15 Thread David Matthews
There's long been an issue with "use" when trying to compile and run files which themselves contain "use". For example if ROOT.ML contains: use "first.ML"; use "second.ML"; The inner calls to "use" are taken relative to whatever the original working directory was set to, which means that

Re: [polyml] InternalError: AllocStore found but last allocation not complete

2015-10-08 Thread David Matthews
On 27/09/2015 15:20, Phil Clayton wrote: 24/09/15 08:44, David Matthews wrote: On 22/09/2015 19:00, Phil Clayton wrote: As a shameless plug for the newly updated debugger, I used that to set a breakpoint on the exception and then it was easy to see what was going on. The new debugger

Re: [polyml] Weak references

2015-10-08 Thread David Matthews
On 08/10/2015 08:43, Ramana Kumar wrote: So what about option 2 then? Can Poly/ML expose some other primitives by which I can obtain identifiers for immutable values, such that equal values always have the same identifier? (The other direction (i.e., perfect sharing) would be nice, but is not

Re: [polyml] New Foreign Function Interface

2015-10-12 Thread David Matthews
On 10/10/2015 17:45, Artella Coding wrote: I get double speedup using the new ffi (see timings at top of files below). Strangely passing integers by ref is actually slower than passing by value (see last program right at the bottom) : I'm not actually surprised that passing by reference is

Re: [polyml] tracing

2015-10-12 Thread David Matthews
Hi Ramana, There's nothing specific but the new DebuggingInterface structure should allow you to build this yourself. First build the new compiler with "make compiler" then compile your function with PolyML.Compiler.debug := true; before it. You don't need to compile your whole program with

Re: [polyml] Weak references

2015-10-06 Thread David Matthews
Hi Ramana, The reason for only allowing a weak reference to point to a reference has to do with the notion of equality in ML and the way the Poly/ML system and the garbage collector in particular deal with that. A reference has an identity and so it is possible to say whether a particular

Re: [polyml] type real in polyml

2015-10-07 Thread David Matthews
Hi Fabian, This was a bit bizarre particularly as when I tried it on Windows there didn't seem to be a problem. It is a problem with the precision and when rounding occurs. Poly/ML uses the old x87 floating point unit on both X86/32 and X86/64. As far as I'm aware all x86/64 machines

Re: [polyml] tracing

2015-10-13 Thread David Matthews
Ramana, Actually after thinking about it, if you can modify your function you can simply add PolyML.print or PolyML.makestring to print the arguments or turn them into a string. There's no number around that would identify particular arguments. You'll need to construct that yourself.

Re: [polyml] New Foreign Function Interface

2015-10-10 Thread David Matthews
That was quick! I only merged it about an hour ago. Basically the idea is that the loading of the library and extracting the symbol is deferred until the function is called. That allows functions to be defined in one session, saved with PolyML.export or PolyML.SaveState.saveState and then

Re: [polyml] Building with msys GNU Make 3.82 (windows 7)

2015-08-27 Thread David Matthews
On 27/08/2015 07:33, Artella Coding wrote: Hi, so I reinstalled with i686-4.9.3-win32-dwarf-rt_v4-rev0 and used the appropriate CPPFLAGS, and this time everything went fine (i.e. make, make compiler, and make install worked fine without error) But now if I create a hello.ml with the contents :

Re: [polyml] Building with msys GNU Make 3.82 (windows 7)

2015-08-26 Thread David Matthews
On 26/08/2015 22:03, Makarius wrote: On Wed, 26 Aug 2015, Artella Coding wrote: I tried the msys instructions and encountered an error upon running make. /bin/sh: line 9: makeinfo: command not found You need to install the texinfo package, e.g. like this: pacman -S texinfo

Re: [polyml] Building with msys GNU Make 3.82 (windows 7)

2015-08-28 Thread David Matthews
On 27/08/2015 06:30, Artella Coding wrote: Hi, now I am getting a new error. To summarise I installed : mingw : version 4.9.3 Architecture : x86_64 Threads : Win32 Exception : seh Build revision : 0 and put in path, so I get : $ g++ --version g++.exe (x86_64-win32-seh-rev0, Built by

Re: [polyml] Building with msys GNU Make 3.82 (windows 7)

2015-08-26 Thread David Matthews
On 26/08/2015 10:15, Artella Coding wrote: Has anyone had success building via msys? I got the latest copy from github ./configure runs fine, but when I do make I eventually get errors like : I've made many attempts to get Poly/ML to build successfully with msys/mingw. There seem to be

[polyml] Windows Unicode

2015-09-07 Thread David Matthews
This was something that came out of a discussion with Makarius about using the native Windows version with Isabelle but it's probably of general interest to anyone who uses or might use the native Windows version. The current master version uses the ANSI interface to Windows API calls rather

Re: [polyml] Using a finalizer with multiple arguments

2015-09-16 Thread David Matthews
On 15/09/2015 23:06, Phil Clayton wrote: In MLton, creating a finalizable value from the pointer and size is simple. Roughly as follows: fun fromNewPtr p n = let val array = Finalizable.new p in Finalizable.addFinalizer (t, fn p => free_ (p, n)); array

Re: [polyml] Using a finalizer with multiple arguments

2015-09-16 Thread David Matthews
On 15/09/2015 22:18, Phil Clayton wrote: I think weak references could do the job. Better still, I may be able to adapt (shamelessly copy) MLtonFinalizable: https://github.com/MLton/mlton/blob/master/basis-library/mlton/finalizable.sig

Re: [polyml] Windows GUI and console

2015-09-15 Thread David Matthews
On 15/09/2015 20:35, Pierpaolo Bernardi wrote: - I have no use of "windows" applications for a language system such as polyml. I expect to run sml interpreters in an emacs buffer using inferior-SML, just like I do on Unix. That's the reason why up to now I only used PolyML rarely, mostly for

Re: [polyml] Windows GUI and console

2015-09-15 Thread David Matthews
On 15/09/2015 21:42, Pierpaolo Bernardi wrote: On Tue, Sep 15, 2015 at 10:19 PM, David Matthews <david.matth...@prolingua.co.uk> wrote: On 15/09/2015 20:35, Pierpaolo Bernardi wrote: How does emacs run the ML? If it runs it as a process with standard input and standard output through

Re: [polyml] Using a finalizer with multiple arguments

2015-09-17 Thread David Matthews
On 17/09/2015 11:50, Phil Clayton wrote: Thanks for the example - it was a useful to see how to use the Thread structure. And to see how easy it was. That's a nice library. Attached is a first stab at implementing the FINALIZABLE signature shown below, which is identical to MLTON_FINALIZABLE.

Re: [polyml] Fwd: Course programming language

2015-09-15 Thread David Matthews
Well of course there is a Windows installer for the latest release version of Poly/ML at http://sourceforge.net/projects/polyml/files/polyml/5.5.2/ . The source for the installer is included in the source files but it needs Visual Studio and Wix ( http://wixtoolset.org/ ). David On

Re: [polyml] Using a finalizer with multiple arguments

2015-09-15 Thread David Matthews
On 14/09/2015 22:36, Phil Clayton wrote: I am trying to create an SML binding to a C function that returns an array that the caller must free. Usually, there is a free function that takes just the array (as a pointer) which can be attached as a finalizer with CInterface.setFinal. I have

[polyml] Windows GUI and console

2015-09-15 Thread David Matthews
The issue of the Windows console window has come up from time to time and I've had another look at the code and made a few minor changes. The first change is to provide an option to "./configure" to allow Poly/ML to be built as a "console" application rather than a "windows" application.

Re: [polyml] FFI overhead

2015-09-21 Thread David Matthews
On 21/09/2015 06:49, Artella Coding wrote: Hi, thanks for the pointers on the ffi. "I strongly suspect that SML functions like IntArray.update take less time than the FFI overhead, so no improvement is possible by using C functions." Yes it seems so. I was hoping that I could somehow achieve

Re: [polyml] Using a finalizer with multiple arguments

2015-09-18 Thread David Matthews
On 17/09/2015 19:31, Matthew Fluet wrote: On Thu, Sep 17, 2015 at 6:48 AM, Phil Clayton <phil.clay...@lineone.net> wrote: 16/09/15 12:40, David Matthews wrote: On 15/09/2015 22:18, Phil Clayton wrote: I looked at the MLton documentation and couldn't understand what "touch&

Re: [polyml] Using a finalizer with multiple arguments

2015-09-18 Thread David Matthews
On 18/09/2015 13:50, Phil Clayton wrote: The only other changes I'm thinking about are: 1. Introducing a "touch" primitive for long-term security in case a future update to the optimiser means that the current "touch" becomes a no-op. I think that would be a very good idea. I've done that

Re: [polyml] Using a finalizer with multiple arguments

2015-09-21 Thread David Matthews
On 21/09/2015 16:08, Phil Clayton wrote: What I am actually observing is that finalizers are not run on exit for finalizable values that are in scope in the top-level environment. On exit, the REPL has finished, so shouldn't such values be garbage collected and therefore finalized? I noticed

[polyml] Changes to Foreign structure

2015-12-16 Thread David Matthews
There have been a few changes to the Foreign structure. The callN functions have been renamed as buildCallN and the way functions are passed as arguments has been changed. The reason for the changes is to make clear that the expensive operations are creating the C functions and closures and

Re: [polyml] Towards Poly/ML 5.6

2016-01-04 Thread David Matthews
Rob, On 04/01/2016 19:44, Rob Arthan wrote: On 3 Jan 2016, at 18:33, James Clarke wrote: Hi Rob, install_pp has been deprecated for a while[1], with addPrettyPrinter[2] being its replacement. Is there a reason you can't use that? Thanks for the reminder. (I’m glad to

[polyml] Towards Poly/ML 5.6

2016-01-02 Thread David Matthews
I've updated the github repository with pre-built compilers for 5.6 Release. This is now the release candidate. Unless there are any significant problems this will be released in the next few weeks. Best wishes for 2016, David ___ polyml mailing

Re: [polyml] Changes to Foreign structure

2016-01-05 Thread David Matthews
On 05/01/2016 11:45, Phil Clayton wrote: Another observation for future consideration: there is no conversion for the boolean type. I believe that the existing CInterface.BOOL is a convenience for an int treated as a boolean (indicating a non-zero value) and can easily be created as a derived

<    1   2   3   4   5   >