Re: unsafeInterleaveIO ordering

2003-08-29 Thread David Sabel
the combined monadic action down to core language you'll get some nested case-expressions, and I don't think that a correct program transformation could destroy the order of them (which would be necessary to put another IO action between the others). David Sabel --- JWGU Frankfurt

[Haskell] ANNOUNCE: HasFuse V1.1

2004-02-03 Thread David Sabel
HasFuse Version 1.1 === HasFuse is a modification of the Glasgow Haskell Compiler which has built-in some precautions for the execution of unsafePerformIO, hence the name HasFuse. This means the user does not have to undertake

Re: [Haskell] Re: Global Variables and IO initializers

2004-11-06 Thread David Sabel
Inling isn't the only optimization, which can lead to a wrong behavior, let floating out and common subexpression elimination can also change the behavior of programs using unsafePerformIO. Our research group has developed the calculus FUNDIO as a semantic basis: It's a non-deterministic

Re: [Haskell] Re: Global Variables and IO initializers

2004-11-06 Thread David Sabel
Schupke wrote: I hope this is not a stupid idea - but why not contribute the changes as patches back to the main GHC development? Keean. David Sabel wrote: Inling isn't the only optimization, which can lead to a wrong behavior, let floating out and common subexpression elimination can also

Re: [Haskell] Re: Global Variables and IO initializers

2004-11-06 Thread David Sabel
Keean Schupke wrote: David Sabel wrote: The main reason is: Nobody asks for it. Actually I think Simon Marlow has talked in the past about wanting to make GHC only do safe optimisations on unsafePerformIO. I conjecture, a problem is: if you use FUNDIO as a semantics for Haskell, you have to give

Re: [Haskell] ANNOUNCE: Haskell Communities and Activities Report (23rd ed., November 2012)

2012-11-17 Thread David Sabel
Dear Janis, thanks for your great work in preparing the report. David Am 17.11.2012 22:03, schrieb Janis Voigtländer: On behalf of all the contributors, I am pleased to announce that the Haskell Communities and Activities Report (23rd edition, November 2012) is

[Haskell] Second CFP: WPTE'14, First International Workshop on Rewriting Techniques for Program Transformations and Evaluation

2014-03-31 Thread David Sabel
(University of Minnesota, Morris) Joachim Niehren(INRIA Lille) David Sabel(Goethe-University Frankfurt am Main) Masahiko Sakai (Nagoya University) Manfred Schmidt-Schauß (Goethe-University Frankfurt am Main) - chair Eijiro Sumii (Tohoku University) Janis

[Haskell] WPTE 2014: Call for Participation

2014-06-02 Thread David Sabel
* David Sabel Structural Rewriting in the Pi-Calculus * Guillaume Madelaine, Cedric Lhoussaine and Joachim Niehren Attractor Equivalence: An Observational Semantics for Reaction Networks * Naoki Nishida, Makishi Yanagisawa and Karl Gmeiner On Proving Soundness of the Computationally

Re: [Haskell] ANN: New Haskell.org Homepage Now Live

2015-02-15 Thread David Sabel
I wonder why the downloads section doesn't link to the Haskell platform. What's the reason for it? David Am 15.02.2015 um 08:50 schrieb Gershom B: I’m pleased to announce that http://www.haskell.org has received its first significant design update since 2010! More significantly, for the first

[Haskell] Final CFP: WPTE 2015 Second International Workshop on Rewriting Techniques for Program Transformations and Evaluation

2015-04-09 Thread David Sabel
-Schauss (Goethe-University Frankfurt am Main) David Sabel (Goethe-University Frankfurt am Main) Masahiko Sakai (Nagoya University) Janis Voigtlaender (University of Bonn) Johannes Waldmann (HTWK Leipzig) Harald Zankl(University of Innsbruck) Organizers

[Haskell] Call for Participation: WPTE 2015 Second International Workshop on Rewriting Techniques for Program Transformations and Evaluation

2015-05-21 Thread David Sabel
Towards Modelling Actor-Based Concurrency in Term Rewriting * David Sabel and Manfred Schmidt-Schauss Observing Success in the Pi-Calculus * Koichi Sato, Kentaro Kikuchi, Takahito Aoto and Yoshihito Toyama Context-Moving Transformation for Term Rewriting Systems * Sjaak Smetsers, Ken

[Haskell] CFP: WPTE 2017 Fourth International Workshop on Rewriting Techniques for Program Transformations and Evaluation

2017-04-04 Thread David Sabel
University) David Sabel (Goethe-University Frankfurt am Main) -- chair Masahiko Sakai (Graduate School of Infomation Science, Nagoya University) Manfred Schmidt-Schauss (Goethe-University Frankfurt am Main) Janis Voigtländer (University of Nijmegen) Johannes Waldmann (HTWK Leipzig) Fer-Jan de Vries

[Haskell] Deadline extension: WPTE 2017 Fourth International Workshop on Rewriting Techniques for Program Transformations and Evaluation

2017-07-14 Thread David Sabel
(Nagoya University) David Sabel (Goethe-University Frankfurt am Main) -- chair Masahiko Sakai (Graduate School of Infomation Science, Nagoya University) Manfred Schmidt-Schauss (Goethe-University Frankfurt am Main) Janis Voigtländer (University of Nijmegen) Johannes Waldmann (HTWK Leipzig) Fer-Jan de

[Haskell] Final Call for Papers: WPTE 2017 Fourth International Workshop on Rewriting Techniques for Program Transformations and Evaluation

2017-07-10 Thread David Sabel
València) Maribel Fernandez (KCL) Delia Kesner (Université Paris-Diderot) Sergueï Lenglet (Université de Lorraine) Elena Machkasova (University of Minnesota, Morris) William Mansky (Princeton University) Joachim Niehren (INRIA Lille) Naoki Nishida (Nagoya University) David Sabel (Goethe-University

[Haskell] Second round call for papers: LOPSTR 2018

2018-05-02 Thread David Sabel
Committee David Sabel (General Chair), Computer Science Institute Goethe-University Frankfurt am Main, Germany ___ Haskell mailing list Haskell@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell

[Haskell] PPDP | LOPSTR | WFLP 2018 Common Call for Participation

2018-08-06 Thread David Sabel
Organizing Committee (Goethe-University Frankfurt am Main, Germany) Ehud Cseresnyes Nils Dallmeyer Bircan Dölek Ronja Düffel Lars Huth Leonard Priester David Sabel (General Chair) ___ Haskell mailing list Haskell@haskell.org http

[Haskell] PPDP 2018: Call for Participation

2018-07-06 Thread David Sabel
) -   Chung-Chieh Shan, University of Indiana.     Calculating Distributions Accepted Papers === -   Maciej Bendkowski and Pierre Lescanne.     Combinatorics of explicit substitutions -   Manfred Schmidt-Schauss, David Sabel and Nils Dallmeyer.     Sequential and Parallel Improvements

[Haskell] PPDP 2018: First Call for Papers

2018-01-23 Thread David Sabel
==     PPDP 2018: First Call for Papers == 20th International Symposium on     Principles and Practice of Declarative Programming

[Haskell] PPDP 2018: Second Call for Papers

2018-04-10 Thread David Sabel
(Apologies if you receive multiple copies of this CFP. Please circulate.) == PPDP 2018: Second Call for Papers == 20th International

[Haskell] PPDP 2018: Deadline Extension!

2018-04-24 Thread David Sabel
News: The submission deadline is extended until Monday, May 8, 23:59 AoE! ==     PPDP 2018: Deadline Extension == 20th

Re: foldr f (head xs) xs is not the same as foldr1 f xs

2005-05-08 Thread David Sabel
at 08:14:30PM +0200, David Sabel wrote: Hi! Subject: foldr f (head xs) xs is not the same as foldr1 f xs I think you forgot about tail: foldr f (head xs) (tail xs) Best regards Tomasz ___ Glasgow-haskell-users mailing list Glasgow-haskell-users

Re: Prevent optimization from tempering with unsafePerformIO

2007-10-16 Thread David Sabel
Hi, I think it's the let floating (out) together with common subexpression elimination: ghc --make -O2 -no-recomp -fno-cse -o curry-no-cse curry.hs [1 of 1] Compiling Main ( curry.hs, curry.o ) Linking curry-no-cse ... ghc --make -O2 -no-recomp -fno-full-laziness -o

Re: Prevent optimization from tempering with unsafePerformIO

2007-10-17 Thread David Sabel
Hi Bernd, Bernd Brassel wrote: Hi David, thank you! This is really useful information! I think it's the let floating (out) together with common subexpression elimination: ghc --make -O2 -no-recomp -fno-cse -o curry-no-cse curry.hs [1 of 1] Compiling Main ( curry.hs,

unsafePerformIO

2002-09-20 Thread David Sabel
In read your paper Tackling the Awkward Squad: monadic input / output, concurrency, exceptions, and foreign-language calls in Haskell, and have a question about unsafePerformIO. In your operational semantic of the IO-Monad you tell nothing about, how 'unsafe' IO actions are performed, is there

Re: IO-System

2002-10-01 Thread David Sabel
I'm, analysing the IO-system of the GHC and need more information about it. More precisely: How switches the run-time-system between (normal) evaluation and performing of IO-actions? I read the rts-paper, but didn't find any information about this. Can somebody give a short

Question about the notation of (# ... #)

2002-10-04 Thread David Sabel
Hi, can somebody explain what the notation (# ... #) means? For example it is used in the definition of unsafePerformIO: unsafePerformIO :: IO a - a unsafePerformIO (IO m) = case m realWorld# of (# _, r #) - r Thanks, David ___

Re: unsafePerformIO

2002-10-09 Thread David Sabel
- Original Message - From: Simon Marlow [EMAIL PROTECTED] Sent: Tuesday, September 24, 2002 2:58 PM Subject: RE: unsafePerformIO [...] As for sharing, we currently don't provide any guarnatees, although we should. It is currently the case that if you write a = unsafePerformIO

Problem with ghc-5-04-1.msi

2002-10-23 Thread David Sabel
While installing the file the following error occurs: Invalid Drive c:\ after that error message the "GHC setup ended prematurely because of an error" MyComputer doesn't have a drive c:\, the windows partition is on d:\. The previous .msi-Version (5.04) didn't have this error. David

Re: Problem with ghc-5-04-1.msi

2002-10-23 Thread David Sabel
The error occurs before I have this choice. Hi there, the installer gives you a choice between Typical, Custom, and Complete -- choose the Custom option to pick an installation location other than the default. hth --sigbjorn - Original Message - From: David Sabel

Optimisation and unsafePerformIO

2002-10-27 Thread David Sabel
this transformation? David Sabel ___ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Re: Optimisation and unsafePerformIO

2002-10-28 Thread David Sabel
Of course, I used unsafePerformIO in an unsafe way! I'm thinking about a way to make unsafePerformIO safe. Therefore the compiler can't do any transformation the ghc does and I want to locate these transformations. - Original Message - From: Simon Marlow [EMAIL PROTECTED] To: David Sabel

Re: Optimisation and unsafePerformIO

2002-10-30 Thread David Sabel
- Original Message - From: Albert Lai [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, October 30, 2002 7:35 AM Subject: Re: Optimisation and unsafePerformIO David Sabel [EMAIL PROTECTED] writes: {-# NOINLINE b #-} b x = if even x then unsafePerformIO getChar else

Translating seq into Core

2003-01-03 Thread David Sabel
Hallo, my question ist, how the seq operator is translated into the GHC-core-language? I had suspected, the core-language has a special strictness-operator, but I saw, that this is not the case. David Sabel JWGU Frankfurt ___ Glasgow-haskell-users

Re: Translating seq into Core

2003-01-03 Thread David Sabel
- | From: David Sabel [mailto:[EMAIL PROTECTED]] | Sent: 03 January 2003 14:11 | To: [EMAIL PROTECTED] | Subject: Translating seq into Core | | Hallo, | | my question ist, how the seq operator is translated into the | GHC-core-language? | | I had suspected, the core-language has a special

Question about literals in the core-language

2003-01-13 Thread David Sabel
set of constants, or include the literals also integers, which can be infinite? If that is the case, how are the (unboxed) integers represented in the ghc-core-language? Thanks for your comments! David Sabel - JWGU Frankfurt ___ Glasgow

Modifying the simplifier

2003-04-02 Thread David Sabel
it off for now and later modify the implementation for this transformation. David Sabel --- JWGU Frankfurt ___ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

case-eta-expansion

2003-07-18 Thread David Sabel
Hi, Can someone tell me, where exactly (in the code of ghc5.04.3) the case-eta-expansion is performed, I searched the modules of the simplifier, but didn't find this transformation. Or is it no longer performed in ghc5.04.3? Thanks, David ___

Re: case-eta-expansion

2003-07-21 Thread David Sabel
- Original Message - From: Simon Peyton-Jones [EMAIL PROTECTED] To: David Sabel [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Monday, July 21, 2003 9:53 AM Subject: RE: case-eta-expansion Not quite sure what you mean by case eta expansion. I mean this transformation: case e of {p1 - e1

case-identity

2003-07-23 Thread David Sabel
Hi, the case-identity transformation is case e of pat1 - pat1 === e ... patn - patn It's performed in SimplUtils.mkCase1. My (very special) question is: How do you ensure, that there's a case-alternative for every constructor of the type of e? Otherwise you could transform case

Re: case-identity

2003-07-28 Thread David Sabel
In Core, the list of alternatives is always exhaustive. Ok, thanks. So I assume the dead alternative elimination is no longer done in the simplifier? ( The dead alternative elimination is defined as: case x of=== case x of P1 - E1 P1 - E1 ...

strange behaviour

2003-08-11 Thread David Sabel
Hi, the following toy program has a strange behaviour, when compiling with ghc5.04.3 an no optimisation (-O0) module Main(main) where import System.IO.Unsafe main = case unsafePerformIO (print test) of () - main ok, probably I use unsafePerformIO in an unsafe way and so on,

Re: strange behaviour

2003-08-14 Thread David Sabel
to do with the STG-Code generation or with normal code generation, and it depends on the fact, if the function is exported or not. Any hints in this direction??? Thanks, David - Original Message - From: Simon Marlow [EMAIL PROTECTED] To: David Sabel [EMAIL PROTECTED]; Jon Fairbairn [EMAIL

Re: strange behaviour

2003-08-14 Thread David Sabel
On 2003-08-11 at 11:44+0200 David Sabel wrote: module Main(main) where import System.IO.Unsafe main = case unsafePerformIO (print test) of () - main ok, probably I use unsafePerformIO in an unsafe way and so on, but executing the program prints infinitely often test

Re: turn off let floating

2004-04-09 Thread David Sabel
Hi, you can turn off let-floating by compiling without optimizations, i.e. without using a -O flag or using -O0 explicitly. The disadvantage is that most of all other optimizations are turned off too. Another possibility would be to compile your program with HasFuse

Re: turn off let floating

2004-04-29 Thread David Sabel
Hi, Results: method runtime (s) --- pure0.7 ffi 3.2 fastMut 15 ioref 23 I very strongly suspect that it is the unsafePerformIO that hurts performance in the fastMut case. Otherwise

Re: [Haskell-cafe] Defining show for a function type.

2006-07-10 Thread David Sabel
Hi, you can make every function being an instance of class Show, this works for me: instance Show (a - b) where show _ = FUNCTION data Element = Int Int | Float Float | Func (Machine - Machine) deriving Show David Johan Grönqvist wrote: I am a haskell-beginner and I wish to write a

Re: [Haskell-cafe] beginner's problem about lists

2006-10-11 Thread David Sabel
Malcolm Wallace wrote: Matthias Fischmann [EMAIL PROTECTED] wrote: No, your Fin type can also hold infinite values. let q = FinCons 3 q in case q of FinCons i _ - i == _|_ does that contradict, or did i just not understand what you are saying? That may be the result in

[Haskell-cafe] Monad laws

2010-03-02 Thread David Sabel
Hi, when checking the first monad law (left unit) for the IO-monad (and also for the ST monad): return a = f ≡ f a I figured out that there is the distinguishing context (seq [] True) which falsifies the law for a and f defined below let a = True let f = \x - (undefined::IO Bool) seq

Re: [Haskell-cafe] Monad laws

2010-03-03 Thread David Sabel
Sicard-Ramírez schrieb: On 2 March 2010 15:44, Luke Palmer lrpal...@gmail.com mailto:lrpal...@gmail.com wrote: On Tue, Mar 2, 2010 at 1:17 PM, David Sabel sa...@ki.informatik.uni-frankfurt.de mailto:sa...@ki.informatik.uni-frankfurt.de wrote: Hi, when checking the first

Re: [Haskell-cafe] Papers discussing interpreters for call by need?

2010-11-17 Thread David Sabel
As a starting point I would suggest Peter Sestoft : Deriving a lazy abstract machine, Journal of Functional Programming 7(3), 1997 ( http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.4314 ) Different abstract machines for call-by-need evaluation are built starting from Launchburys

Re: [Haskell-cafe] Lambda Calculus: Bound and Free formal definitions

2010-12-30 Thread David Sabel
Hi, the definition in the book is a syntactic one, you are not allowed to beta-reduce when applying the definition. In particular E = E1 E2 = (\x.xy)(\z.z) The definition speaks about the term (\x.xy)(\z.z) and not about (\z.z)y and the definition does not speak about occurences of

Re: tracing Haskell programs

2003-10-20 Thread David Sabel
Hi, Maybe Hat - The Haskell Tracer can help: http://haskell.org/hat/ - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Sunday, October 19, 2003 10:25 AM Subject: tracing Haskell programs Hi folk Is there a way to follow the execution of a Haskell program?

Re: [Haskell-cafe] lazy readFile

2005-01-03 Thread David Sabel
Hi! I'm also interested, how to get this example working: http://www.haskell.org/pipermail/haskell/2001-November/008336.html This seems to be an old discussion: http://www.haskell.org/pipermail/libraries/2001-April/000358.html Was a strictReadFile implemented in the meantime? Here's my

Re: [Haskell-cafe] On the purity of Haskell

2012-01-02 Thread David Sabel
A perhaps acceptable notion of the property we want (purity etc.) is that all the extensions of the purely functional core language of Haskell (say the lazy lambda calculus extended with data constructors, etc) are _conservative_, that is all the equations that hold in the pure core language

Re: [Haskell-cafe] unsafeInterleaveST (and IO) is really unsafe

2013-04-15 Thread David Sabel
Am 13.04.2013 00:37, schrieb Timon Gehr: On 04/12/2013 10:24 AM, o...@okmij.org wrote: Timon Gehr wrote: I am not sure that the two statements are equivalent. Above you say that the context distinguishes x == y from y == x and below you say that it distinguishes them in one possible run.

Re: [Haskell-cafe] unsafeInterleaveST (and IO) is really unsafe

2013-04-18 Thread David Sabel
Am 18.04.2013 15:17, schrieb Duncan Coutts: On Mon, 2013-04-15 at 20:44 +0200, David Sabel wrote: A very interesting discussion, I may add my 2 cents: making unsafeInterleaveIO nondeterministic indeed seems to make it safe, more or less this was proved in our paper: http