Re: [Haskell] Specification and prover for Haskell

2010-10-26 Thread Till Mossakowski

The Heterogeneous Tool Set supports HasCASL for specification
of Haskell programs, and uses Isabelle for proving
http://www.dfki.de/sks/hets

Moreover, the Programatica project has an expressive logic
called P-logic, and tools supporting it:
http://programatica.cs.pdx.edu/

Best, Till

Am 25.10.2010 10:09, schrieb Romain Demeyer:

Hello,

I'm working on static verification in Haskell, and I search for existing
works on specification of Haskell programs (such as pre/post conditions,
for example) or any other functional language. It would be great if
there exists a prover based on this kind of specifications. I already
found the ESC/Haskell. Do you know some other works which could be
interesting?

Thanks,

rde.



___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] CfP: 20th WADT - deadline extended to May, 10th

2010-05-03 Thread Till Mossakowski
 [sorry if you receive this more than once]


  CALL FOR PAPERS
 DEADLINE FOR TWO-PAGE ABSTRACTS EXTENDED TO MAY, 10th

 WADT 2010
20th International Workshop on
   Algebraic Development Techniques


   July 1-4, 2010, Etelsen, Germany

   http://www.informatik.uni-bremen.de/WADT2010/

Aims and Scope:
  The algebraic approach to system specification encompasses many
  aspects of the formal design of software systems. Originally born
  as formal method for reasoning about abstract data types, it now
  covers new specification frameworks and programming paradigms
  (such as object-oriented, aspect-oriented, agent-oriented, logic
  and higher-order functional programming) as well as a wide range
  of application areas (including information systems, concurrent,
  distributed and mobile systems).

  The workshop will provide an opportunity to present recent and
  ongoing work, to meet colleagues, and to discuss new ideas and
  future trends.

Topics of interest:
  Typical, but not exclusive topics of interest are:
  - Foundations of algebraic specification
  - Other approaches to formal specification, including process
calculi and models of concurrent, distributed and mobile computing
  - Specification languages, methods, and environments
  - Semantics of conceptual modelling methods and techniques
  - Model-driven development
  - Graph transformations, term rewriting and proof systems
  - Integration of formal specification techniques
  - Formal testing and quality assurance, validation, and verification

INVITED SPEAKERS
  Hans-Dieter Ehrich, Institut f\"ur Informationssysteme, Braunschweig
  Frantisek Plasil, Charles University, Prague
  Martin Wirsing, Ludwig-Maximilians-Universit\"at, M\"unchen

IMPORTANT DATES
  Submission deadline for abstracts:   May 10, 2010
  Notification of acceptance:  May 23, 2010
  Final abstract due:  June 13, 2010
  Workshop:July 1-4, 2010

Workshop Format and Location:
  The workshop will take place over four days, Thursday to Sunday,
  at Schloss Etelsen, www.schloss-etelsen.de, a castle located near
  Bremen. Presentations will be selected on the basis of submitted
  abstracts. Three talks will be given by invited speakers.

Submissions:
  The scientific program of the workshop will include presentations
  of recent results and ongoing research.  The presentations will be
  selected by the Steering Committee on the basis of the submitted
  abstracts according to originality, significance, and general
  interest.

  The abstracts have to be submitted electronically according to the
  instructions published on the workshop web site. The final
  versions of the selected abstracts will be included in a hand-out
  for the workshop participants.

  After the workshop, selected authors will be invited to submit
  full papers for the refereed proceedings, which is expected to be
  published as a volume of Lecture Notes in Computer Science
  (Springer Verlag).

Sponsorship:
  The workshop takes place under the auspices of IFIP WG 1.3, and is
  sponsored by IFIP TC1, University of Bremen, and DFKI GmbH. The
  event is organized by the Computer Science Department of the
  University of Bremen and the DFKI Bremen group Safe and Secure
  Cognitive Systems.

WADT Steering Committee:
  Michel Bidoit(France)
  Andrea Corradini (Italy)
  Jos\'e Fiadeiro  (UK)
  Rolf Hennicker   (Germany)
  Hans-J\"org Kreowski (Germany)
  Till Mossakowski (Germany) [chair]
  Fernando Orejas  (Spain)
  Francesco Parisi-Presicce(Italy)
  Andrzej Tarlecki (Poland)

PROCEEDINGS

  The abstracts accepted for presentation will be available at the
  workshop. Refereed LNCS proceedings are planned for full versions
  of submissions solicited after the workshop.

CONTACT
  WADT 2010
  Fachbereich 3 Mathematik und Informatik
  Enrique-Schmidt-Str. 5
  D-28359 Bremen, Germany
  Phone: +49 421 218 64226
  Fax:   +49 421 218 98 64226
  Email: wadt2...@informatik.uni-bremen.de

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Call for Papers: 20th WADT (Workshop on Algebraic Development Techniques)

2010-03-25 Thread Till Mossakowski
 [sorry if you receive this more than once]


  CALL FOR PAPERS


 WADT 2010
20th International Workshop on
   Algebraic Development Techniques


   July 1-4, 2010, Etelsen, Germany

   http://www.informatik.uni-bremen.de/WADT2010/

Aims and Scope:
  The algebraic approach to system specification encompasses many
  aspects of the formal design of software systems. Originally born
  as formal method for reasoning about abstract data types, it now
  covers new specification frameworks and programming paradigms
  (such as object-oriented, aspect-oriented, agent-oriented, logic
  and higher-order functional programming) as well as a wide range
  of application areas (including information systems, concurrent,
  distributed and mobile systems).

  The workshop will provide an opportunity to present recent and
  ongoing work, to meet colleagues, and to discuss new ideas and
  future trends.

Topics of interest:
  Typical, but not exclusive topics of interest are:
  - Foundations of algebraic specification
  - Other approaches to formal specification, including process
calculi and models of concurrent, distributed and mobile computing
  - Specification languages, methods, and environments
  - Semantics of conceptual modelling methods and techniques
  - Model-driven development
  - Graph transformations, term rewriting and proof systems
  - Integration of formal specification techniques
  - Formal testing and quality assurance, validation, and verification

INVITED SPEAKERS
  Hans-Dieter Ehrich, Institut f\"ur Informationssysteme, Braunschweig
  Frantisek Plasil, Charles University, Prague
  Martin Wirsing, Ludwig-Maximilians-Universit\"at, M\"unchen

IMPORTANT DATES
  Submission deadline for abstracts:   April 30, 2010
  Notification of acceptance:  May 23, 2010
  Final abstract due:  June 13, 2010
  Workshop:July 1-4, 2010

Workshop Format and Location:
  The workshop will take place over four days, Thursday to Sunday,
  at Schloss Etelsen, www.schloss-etelsen.de, a castle located near
  Bremen. Presentations will be selected on the basis of submitted
  abstracts. Three talks will be given by invited speakers.

Submissions:
  The scientific program of the workshop will include presentations
  of recent results and ongoing research.  The presentations will be
  selected by the Steering Committee on the basis of the submitted
  abstracts according to originality, significance, and general
  interest.

  The abstracts have to be submitted electronically according to the
  instructions published on the workshop web site. The final
  versions of the selected abstracts will be included in a hand-out
  for the workshop participants.

  After the workshop, selected authors will be invited to submit
  full papers for the refereed proceedings, which is expected to be
  published as a volume of Lecture Notes in Computer Science
  (Springer Verlag).

Sponsorship:
  The workshop takes place under the auspices of IFIP WG 1.3, and is
  sponsored by IFIP TC1, University of Bremen, and DFKI GmbH. The
  event is organized by the Computer Science Department of the
  University of Bremen and the DFKI Bremen group Safe and Secure
  Cognitive Systems.

WADT Steering Committee:
  Michel Bidoit(France)
  Andrea Corradini (Italy)
  Jos\'e Fiadeiro  (UK)
  Rolf Hennicker   (Germany)
  Hans-J\"org Kreowski (Germany)
  Till Mossakowski (Germany) [chair]
  Fernando Orejas  (Spain)
  Francesco Parisi-Presicce(Italy)
  Andrzej Tarlecki (Poland)

PROCEEDINGS

  The abstracts accepted for presentation will be available at the
  workshop. Refereed LNCS proceedings are planned for full versions
  of submissions solicited after the workshop.

CONTACT
  WADT 2010
  Fachbereich 3 Mathematik und Informatik
  Enrique-Schmidt-Str. 5
  D-28359 Bremen, Germany
  Phone: +49 421 218 64226
  Fax:   +49 421 218 98 64226
  Email: wadt2...@informatik.uni-bremen.de

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] string type class

2009-03-06 Thread Till Mossakowski

Sean Leather schrieb:

Like this?

  http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ListLike


Indeed, a class StringLike is included there as well.
Why not take or improve that one?

Till
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Probably a trivial thing for people knowing Haskell

2008-10-19 Thread Till Mossakowski

Chry Cheng schrieb:

"Brandon S. Allbery KF8NH" <[EMAIL PROTECTED]> writes:


Laziness is a double-edged sword.


Perhaps the following page from Haskell Wiki would serve to enlighten
more: http://haskell.org/haskellwiki/Foldr_Foldl_Foldl%27?  This
really made it clear to me how laziness can sometimes be a bad thing.


A student of mine switch from Haskell to Java because of exactly these
laziness problems - after he tried out to make the program stricter in
various ways, but failed to remove the space leak.
There should be an easy way of declaring a Haskell function (or, if
that won't work, a whole module) to use strict evaluation only, without
the need to manually insert seq and foldl' etc. everywhere (or even to
change the structure of the code completely).

Till Mossakowski
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Research position in spatial cogntion (Haskell-related)

2006-11-10 Thread Till Mossakowski
1 Doctoral Research Assistant / Postdoctoral Researcher SFB/TR 8 project
I4-[SPIN], Universität Bremen (TVL 13, approx. € 35,000 to € 50,000 p.a.
gross)

The research project I4-[SPIN] is concerned with classification and
formalization of qualitative spatial calculi, relations among these
calculi, spatial ontologies, and route graphs. Research tasks include
both further development of the mathematical theory, the formalization
and verification of critical results (like composition tables) using
suitable specification languages and theorem proving tools, as well as
further enhancement of these tools. The goal is to obtain both a
trustworthy and efficient framework for qualitative spatial reasoning,
which is applicable to reasoning tasks occurring in interactive
wheelchair and robot navigation.

The applicant should have a degree in computer science or in a related
field (diploma, master's, or Ph.D.). Strong interest in formal methods
and in interdisciplinary collaboration is expected.

Especially, the applicant should have qualifications and/or interests in
some of the following fields:
.   Qualitative spatial reasoning
.   Formal methods and theorem proving
.   Category theory
.   Functional programming (Haskell)

We offer the opportunity to gain research experience in a modern and
enthusiastic research environment with strong interdisciplinary and
international links. Responsibilities include project work and research,
publication of research results, supervision of student projects,
participation in the activities of the SFB/TR 8, and contribution to
research proposals.

The position is available immediately / from January 2007 until the end
of 2010. Extension is possible. Application deadline: 01 December 2006
(or until a suitable candidate is found). Universität Bremen is an equal
opportunity employer. Women are especially encouraged to apply.
Handicapped applicants with equal qualifications will be given
preferential treatment.
More information about this project can be found at
www.sfbtr8.uni-bremen.de/i4.



The Transregional Collaborative Research Center SFB/TR 8 Spatial
Cognition: Reasoning, Action, Interaction
at the Universities of Bremen and Freiburg, Germany 

pursues interdisciplinary long-term research in Spatial Cognition.
Particular emphasis is given to:

.   Spatial Reasoning:  Knowledge representation, human spatial thinking,
computational modeling, diagrammatic reasoning, cognitive and
computational complexity, qualitative spatio-temporal calculi;

.   Action in Space:  Cognitive robotics, explorative localization and
mapping, robot navigation, human navigation and wayfinding, sensorimotor
representations of spatio-temporal structures, embodied cognition;

.   Communication and Interaction in Space:  Formal methods, spatial and
linguistic onto¬logies, computational linguistics, environmental
cognition, integration of spatial methods.

A description of the current research projects of the SFB/TR 8 can be
found at www.sfbtr8.uni-bremen.de

The SFB/TR 8 is funded by the German Research Foundation (DFG).



Please address questions about the position and send your application
(preferably by email) to:
Dr. Till Mossakowski <[EMAIL PROTECTED]> SFB/TR 8 - Spatial
Cognition Universität Bremen P.O. Box 330 440
28334 Bremen / Germany



-- 
Till MossakowskiOffice:  Phone +49-421-218-64226
DFKI Lab Bremen CartesiumFax +49-421-218-9864226
Robert-Hooke-Str. 5 Enrique-Schmidt-Str. 5   [EMAIL PROTECTED]
D-28359 Bremen  Room 2.051   http://www.tzi.de/~till

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Haskell XML

2006-08-30 Thread Till Mossakowski
There is also the Haskell XML Toolbox (HXT)

http://www.fh-wedel.de/~si/HXmlToolbox/

and HaXml

http://www.cs.york.ac.uk/fp/HaXml/

Could someone summarize the pros and cons of
HXT versus HaXml versus HSX?

Greetings,
Till

Neil Mitchell schrieb:
> Hi Greg,
> 
> I've been using Haskell Source eXtensions which seems to have as much
> XML language support as you could ever possibly need :)
> 
> http://www.cs.chalmers.se/~d00nibro/haskell-src-exts/
> 
> Thanks
> 
> Neil
> 
> On 8/29/06, Lucius Meredith <[EMAIL PROTECTED]> wrote:
>> All,
>>
>> Apologies if this question has been beaten to death, but i'm wondering if
>> anyone out there has plans to do a language-level support for XML
>> processing
>> ala OCamlDuce. i would really like to be writing more code in Haskell,
>> but
>> XML is in almost everything i touch and OCamlDuce provides the right
>> level
>> of compiler support for the sorts of applications i'm writing.
>>
>> Best wishes,
>>
>> --greg
>>
>> -- 
>> L.G. Meredith
>> Partner
>> Biosimilarity LLC
>> 505 N 72nd St
>> Seattle, WA 98103
>>
>> +1 206.650.3740
>> ___
>> Haskell mailing list
>> Haskell@haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell
>>
>>
>>
> ___
> Haskell mailing list
> Haskell@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell


-- 
Till MossakowskiOffice:  Phone +49-421-218-64226
DFKI Lab Bremen CartesiumFax +49-421-218-9864226
Robert-Hooke-Str. 5 Enrique-Schmidt-Str. [EMAIL PROTECTED]
D-28359 Bremen  Room 2.051   http://www.tzi.de/~till

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] translating Haskell into theorem provers

2006-03-01 Thread Till Mossakowski

There is a prototype translation of Haskell to Isabelle/HOL and
Isabelle/HOLCF written by Paolo Torrini. Unlike the Programatica
translation, it uses a shallow encoding of the type system. Constructor
classes (not available in Isabelle) are translated using theory
morphisms. Programatica is used for parsing and type checking.

The translation is part of the heterogeneous tool set (Hets) [1],
but currently works only in a standalone version, called h2hf. You can
compile h2hf from the Hets sources with "make h2hf". Since there is
interest, we will provide a website with binaries, explanation and
examples soon.

Greetings,
Till

[1] http://www.tzi.de/cofi/hets

Gerwin Klein wrote:

Hi,

is any of you aware of activities that aim to translate Haskell into 
interactive theorem provers like PVS or Isabelle/HOL? (automatically or 
manually).


We know about the Programatica project and Brian Huffman's work, but turned 
up little else.


Cheers,
Gerwin

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell



--
Till Mossakowski   Phone +49-421-218-4683
Dept. of Computer Science  Fax +49-421-218-3054
University of Bremen   [EMAIL PROTECTED]
P.O.Box 330440, D-28334 Bremen http://www.tzi.de/~till
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] duplicate elements in Data.Set

2006-01-22 Thread Till Mossakowski

The problem probably is that your Ord instance does not
define a total order. Below a small example exhibiting the
same problem.

This shows the usefulness of specification of Haskell programs
(e.g. with Programatica or HasCASL) - verification could be used to
detect such problems.

Till


module SetExample where

import Data.Set

data D = A | B | C deriving (Eq, Show)
instance Ord D where
  compare A B = LT
  compare _ _ = GT

l = fromList [A,B,C,A,B,C]

main = putStrLn (show (valid l))

Walter Moreira wrote:

Hello list. Are there situations where a set can contain duplicate
elements?

I have a newtype and it is an instance of 'Eq' via the 'compare' method,
and it is also an instance of 'Ord'. After some Data.Set operations
with sets of that type I get a set which contains two elements which
compare equal. What am I doing wrong?

The function 'Set.valid' returns 'False' when applied to the set. I
use the function 'Set.fromList' sometimes. Is it supposed to always
yield a valid set? or it may depend on the order or equality?

Sorry the question is a little vague. When I try to construct small
examples the problem disappear.

Thanks,
Walter
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell



--
Till Mossakowski   Phone +49-421-218-4683
Dept. of Computer Science  Fax +49-421-218-3054
University of Bremen   [EMAIL PROTECTED]
P.O.Box 330440, D-28334 Bremen http://www.tzi.de/~till
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Making Haskell more open

2005-11-10 Thread Till Mossakowski

I have also made nice experiences with MediaWiki/WikiPedia.
However, I think while you can include images on MediaWiki pages,
you cannot include documents (like ps or pdf) - these have to be
external links. Of course, the possibility of including such documents
would be a desirable feature for a system of Haskell documentation
pages. Perhaps it is not too difficult to add this feature for
a MediaWiki expert?

Till Mossakowski

Andrea Sassanelli wrote:

Sorry to intrude myslf like this in the conversation.
First of all, let me present myself: My name is Andrea Sassanelli, and 
I'm Italian. I have just started studying Haskell at the UoEdinburgh 
this year, and immediatelly fell in love with it.
 
On a sidenote, the wikipedia does rely on moderators who review the 
changes, but common users are able to undo changes as well, and can 
therefore bring a maliciously messed up page back to it's origiinal 
state. Basically MediaWiki/WikiPedia rely on the assumption that there 
are more good folk than bad folk, and this (IMHO) should be even more 
true in the case of a relatvelly "medium/small-scale" thing like the 
Haskell Documentation (small compared to a whole encyclopedia, i mean).
 
Open documentation like this is definitelly a good idea to make the 
language docs not only more accessible, but also more user-friendly, and 
would surely give a positive image to the community as a whole.
 
I unfortunatelly am not suted (?yet?) to work on any usefull 
documentation, as I am a novice, but I think the system would work.
 
 
Andrea Sassanelli





___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell



--
Till Mossakowski   Phone +49-421-218-4683
Dept. of Computer Science  Fax +49-421-218-3054
University of Bremen   [EMAIL PROTECTED]
P.O.Box 330440, D-28334 Bremen http://www.tzi.de/~till
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] formal verification for functional programming languages

2005-11-10 Thread Till Mossakowski

Wolfgang Jeltsch wrote:

Hello,

where can I find information about formal verification techniques and tools 
for functional programming languages?  Both introductionary texts and current 
research papers etc. are welcome.


See the specification language HasCASL. For specification of monadic
programs, we have developed a Hoare calculus and a dynamic logic,
which are also represented in the theorem prover Isabelle.
Related is the Heterogeneous Tool Set.

http://www.tzi.de/agbkb/forschung/formal_methods/CoFI/HasCASL/
http://www.tzi.de/cofi/hets

The Isabelle tutorial has some examples from functional programming

http://www4.in.tum.de/~nipkow/LNCS2283/

Also, P-logic and the Programatica tool should be of interest:

ftp://ftp.cse.ogi.edu/pub/pacsoft/papers/Plogic.pdf
http://www.cse.ogi.edu/PacSoft/projects/programatica/

Greetings,
Till

--
Till Mossakowski   Phone +49-421-218-4683
Dept. of Computer Science  Fax +49-421-218-3054
University of Bremen   [EMAIL PROTECTED]
P.O.Box 330440, D-28334 Bremen http://www.tzi.de/~till
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: ST/STRef vs. IO/IORef

2005-08-05 Thread Till Mossakowski

Remi Turk wrote:

Ah, I think I understand what we're disagreeing about exactly
now. We're understanding "primitive" to mean different things :)

You're seeing runST, newSTRef, writeSTRef etc as primitives, is
that correct? I see them as the public interface to something
which is implemented in something else. 


The advantage of seeing runST, newSTRef, writeSTRef etc as primitives
is that there is a denotational semantics for them (see Laucnbury/
Peyton Jones: "State in Haskell"), which coincides with the operational
semantics. This is not the case for unsafePerformIO. unsafePerformIO
is a purely operational primitive, although some uses of unsafePerformIO
can a posteriori (and usually with a lot of handwaving) shown to
behave in a good (denotational) way. The ghc file you cite should be 
regarded as operational detail, not as a language definition of

runST, newSTRef, and writeSTRef.


Remi "We're probably agreeing 99.9% anyway" Turk


Yes, of course.

Till


--
Till Mossakowski   Phone +49-421-218-4683
Dept. of Computer Science  Fax +49-421-218-3054
University of Bremen   [EMAIL PROTECTED]
P.O.Box 330440, D-28334 Bremen http://www.tzi.de/~till
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: ST/STRef vs. IO/IORef

2005-08-05 Thread Till Mossakowski

Bulat Ziganshin wrote:

Hello Till,

Friday, August 05, 2005, 10:04:53 AM, you wrote:

TM>MonadState  IOArray IOArray  ST
TM>withwith with
TM>FiniteMap   unsafePerformIO  MutArr

TM> safe   yesyes noyes

TM> efficient  no yes yes   yes


afaik, ST efficient only with small enough arrays. one time i tried
STArray of about 100 000 elements and seen that things goes much worse
than in IO monad with IOArray. on small arrays STArray performs good
enough

(i was trying to create sorting routine. afair, it was an insert sort)


That is weird, because in base/GHC/IOBase.lhs, IOArray is constructed
on top of STArray:

newtype IOArray i e = IOArray (STArray RealWorld i e)

But maybe ghc has some special treatment of IOArray.

Till
--
Till Mossakowski   Phone +49-421-218-4683
Dept. of Computer Science  Fax +49-421-218-3054
University of Bremen   [EMAIL PROTECTED]
P.O.Box 330440, D-28334 Bremen http://www.tzi.de/~till
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: ST/STRef vs. IO/IORef

2005-08-04 Thread Till Mossakowski

Remi Turk wrote:


In a final attempt to convince someone of I'm not exactly sure
what, I attached a simple implementation of the ST monad in terms
of unsafePerformIO + IORef + IOArray.


OK, but you have to reason about this implementation to show that
it is safe (which may be difficult because unsafePerformIO makes
reasoning extremely difficult), while the primitives of ST are
more easily proved to be safe.

--
Till Mossakowski   Phone +49-421-218-4683
Dept. of Computer Science  Fax +49-421-218-3054
University of Bremen   [EMAIL PROTECTED]
P.O.Box 330440, D-28334 Bremen http://www.tzi.de/~till
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: ST/STRef vs. IO/IORef

2005-08-04 Thread Till Mossakowski

Sebastian Sylvan wrote:

On 8/4/05, Till Mossakowski <[EMAIL PROTECTED]> wrote:

Remi Turk wrote:

MonadState needs multi-parameter type classes, State and StateT
don't. And ST needs rank-2 types (or at least one rank-2
constant) and, to be implemented _efficiently_, also needs
something like unsafePerformIO (or even lower-level unsafe
mutable state primitives).
I think one could call the ST monad a safe yet still efficient
variant of unsafePerformIO + IORef's + IOArray's.

No, the point of ST is that it is safe (as opposed to unsafePerformIO),
but still has the advantages of being both efficient and allowing
purely functional encapsulation via runST (as oppesed to IORefs
and IOArrays). The only price is that you need rank-2 polymorphism
and new language primitives for creating, reading and writing
references. But using these primitives is much better than using
unsafePerformIO - the latter entails a lot of harmful things.


Hmmm... Wasn't that what he said?


I disagree with the equation "primitives = unsafe" that
is implicit in sentence

 to be implemented _efficiently_, also needs
 something like unsafePerformIO (or even lower-level unsafe
 mutable state primitives).

The point is that ST uses *safe* primitives, and not "something
like unsafePerformIO".
To clarify things, here a little table about different possibilities
of using arrays in Haskell:

  MonadState  IOArray IOArray  ST
  withwith with
  FiniteMap   unsafePerformIO  MutArr

safe   yesyes noyes

efficient  no yes yes   yes

allows yesno  yes   yes
functional
encapsulation

avoids yesno  nono
in-place-
update
primitives

avoids yes    yes     yes   no
rank 2

--
Till Mossakowski   Phone +49-421-218-4683
Dept. of Computer Science  Fax +49-421-218-3054
University of Bremen   [EMAIL PROTECTED]
P.O.Box 330440, D-28334 Bremen http://www.tzi.de/~till
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: ST/STRef vs. IO/IORef

2005-08-04 Thread Till Mossakowski

Remi Turk wrote:

MonadState needs multi-parameter type classes, State and StateT
don't. And ST needs rank-2 types (or at least one rank-2
constant) and, to be implemented _efficiently_, also needs
something like unsafePerformIO (or even lower-level unsafe
mutable state primitives).



I think one could call the ST monad a safe yet still efficient
variant of unsafePerformIO + IORef's + IOArray's.


No, the point of ST is that it is safe (as opposed to unsafePerformIO),
but still has the advantages of being both efficient and allowing
purely functional encapsulation via runST (as oppesed to IORefs
and IOArrays). The only price is that you need rank-2 polymorphism
and new language primitives for creating, reading and writing
references. But using these primitives is much better than using
unsafePerformIO - the latter entails a lot of harmful things.

--
Till Mossakowski   Phone +49-421-218-4683
Dept. of Computer Science  Fax +49-421-218-3054
University of Bremen   [EMAIL PROTECTED]
P.O.Box 330440, D-28334 Bremen http://www.tzi.de/~till
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] translation of "kind"

2005-06-20 Thread Till Mossakowski

Wolfgang Jeltsch wrote:

Am Samstag, 18. Juni 2005 20:25 schrieben Sie:

can anybody tell me what the German translation of the word "kind" as
used in type theory and especially in Haskell is?

Wie wär's mit `Sorte', Ralf


I have already thought about that but was not sure it was correct since the 
meaning of "Sorte" in algebra is very different from what is meant with 
"kind" in type theory.


This confusion is already present within the English language: the
theorem prover Isabelle uses the English term "sort" for what in Haskell
is called "kind", while in the context of universal algebra, "sort"
means what in Haskell is called (basic) "type". Hence "sort" and
"Sorte" perhaps should be avoided entirely.


--
Till Mossakowski   Phone +49-421-218-4683
Dept. of Computer Science  Fax +49-421-218-3054
University of Bremen   [EMAIL PROTECTED]
P.O.Box 330440, D-28334 Bremen http://www.tzi.de/~till
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Type of y f = f . f

2005-02-28 Thread Till Mossakowski
The name y suggests that you want to define the fixpoint combinator.
This works as follows:
Prelude> let y f = f (y f)
Prelude> :type y
y :: forall t. (t -> t) -> t
Prelude> y (\fac n -> if n == 0 then 1 else n*fac(n-1)) 10
3628800
Prelude>
Till
Pedro Vasconcelos wrote:
On Mon, 28 Feb 2005 03:50:14 -0500
Jim Apple <[EMAIL PROTECTED]> wrote:

Is there a type we can give to
y f = f . f
y id
y head
y fst
are all typeable?

Using ghci:
Prelude> let y f = f.f
Prelude> :t y
y :: forall c. (c -> c) -> c -> c
So it admits principal type (a->a) -> a->a. From this you can see that
(y head) and (y fst) cannot be typed, whereas (y id) can. BTW, this
function is usually named 'twice'.
Best regards,
Pedro

--
Till Mossakowski   Phone +49-421-218-4683
Dept. of Computer Science  Fax +49-421-218-3054
University of Bremen   [EMAIL PROTECTED]
P.O.Box 330440, D-28334 Bremen http://www.tzi.de/~till
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Semantics of Haskell

2005-01-25 Thread Till Mossakowski
My statement was just:
There are several papers on the semantics of Haskell, but none of these papers
treats recursive datatypes. I am looking for a treatment of the semantics of
recursive datatypes in Haskell, preferably by translation to known 
meta-languages
like FPC or system F.
Till
Keean Schupke wrote:

When I looked through several papers about Haskell semantics, I found 
that
recursive datatypes have been omitted.

I believe fairly strong reasons have been given why this would be a bad 
thing, and
would result in problems for type-inference. Haskell has iso-revursive 
types, which if
defined using the 'newtype' directive should have no run-time cost.

Keean.

--
Till Mossakowski   Phone +49-421-218-4683
Dept. of Computer Science  Fax +49-421-218-3054
University of Bremen   [EMAIL PROTECTED]
P.O.Box 330440, D-28334 Bremen http://www.tzi.de/~till
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Semantics of Haskell

2005-01-25 Thread Till Mossakowski
When I looked through several papers about Haskell semantics, I found that
recursive datatypes have been omitted.
Is there a denotational semantics of Haskell including recursive datatypes?
(or better some translation into a meta-language that has a denotational 
semantics)
More precisely,
(1) is there a translation of Haskell without polymorphism into FPC?
It should be rather straightforward, but is it written down somewhere?
(2) a translation of Haskell with polymorphism, polymorphic recursion,
higher-rank polymorphism, into (some extension of) system F?
Till Mossakowski
--
Till Mossakowski   Phone +49-421-218-4683
Dept. of Computer Science  Fax +49-421-218-3054
University of Bremen   [EMAIL PROTECTED]
P.O.Box 330440, D-28334 Bremen http://www.tzi.de/~till
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Syntax of functional dependencies

2002-04-25 Thread Till Mossakowski

I errorneously specified categories as

class (Eq object, Eq morphism) => 
  Category id object morphism | id ->, id -> morphism
  where  o :: id -> morphism -> morphism -> Maybe morphism
 dom, cod :: id -> morphism -> object

it should have been

class (Eq object, Eq morphism) => 
  Category id object morphism | id -> object, id -> morphism
  ... ^^

- but ghci 5.02.2 does not complain. Why?

Till Mossakowski

-- 
Till MossakowskiPhone +49-421-218-4683
Dept. of Computer Science   Fax +49-421-218-3054
University of Bremen[EMAIL PROTECTED]   
P.O.Box 330440, D-28334 Bremen  http://www.tzi.de/~till
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell



Re: multiparameter generic classes

2002-03-02 Thread Till Mossakowski

We are using multiparameter classes with fundeps in the
project MULTIPLE, which is about heterogeneous specification
in multi-logic frameworks. See

http://www.tzi.de/cofi/projects/multiple.html

The interesting challenge is not only genericity (over an
arbitray logic), but also heterogeneity (i.e. coexistence
and communication of several logics, coded as instances of the
multiparameter class).
A paper describing the implementation is not available yet,
but in preparation.

Till Mossakowski

> are there any papers/webpages/implementations/etc. of using multiparameter
> classes in a generic framework, with or without dependencies?
> 
> thanks!
> 
>  - hal
> 
> --
> Hal Daume III


-- 
Till MossakowskiPhone +49-421-218-4683
Dept. of Computer Science   Fax +49-421-218-3054
University of Bremen[EMAIL PROTECTED]   
P.O.Box 330440, D-28334 Bremen  http://www.tzi.de/~till
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell



Sockets and firewalls

2002-02-28 Thread Till Mossakowski

Hello,

I have seen that there are several Haskell libraries
for cgi scripts and the like. Is there also a possibiliy
to deal with sockets and firewalls?

Till Mossakowski
-- 
Till MossakowskiPhone +49-421-218-4683
Dept. of Computer Science   Fax +49-421-218-3054
University of Bremen[EMAIL PROTECTED]   
P.O.Box 330440, D-28334 Bremen  http://www.tzi.de/~till
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell



Research assistant positions in Bremen

2001-01-17 Thread Till Mossakowski

The following two research assistant positions
are available at the University of Bremen, Germany.

The Bremen Institute of Safe Systems in the Center for Computing 
Technologies at the University of Bremen hosts the research projects
 
"Multi-logic systems as a basis for heterogeneous specification 
and development" (MULTIPLE) 

and 

"Algebraic specification + functional programming = 
environment for formal software development" (HasCASL)

funded by the Deutsche Forschungsgemeinschaft (DFG). 


Within the framework of each of these projects, one position in the 
working group of Prof. Dr. Krieg-Brückner is to be immediately 
filled for at least  two years (additional option for another two
years), 
subject to availability of funds: 

Research Assistant 
Verg. Gr. IIa BAT (full time) 

In addition to successful university studies in computer science, 
experience and skills in functional programming (e.g. Haskell, ML) 
are expected. Familiarity with at least one of formal specification 
methods (like  CoFI/CASL), theorem proving or category theory is
desirable. 

Applicants with a PhD are welcome. However, there will also be the 
oppurtunity to prepare a PhD thesis in connection with the research
project. 

In case of essentially equal qualification in the subject and personal 
suitability, severely handicapped applicants will be preferred. The 
University of Bremen intends to increase the share of women in 
scientific activities and does therefore strongly encourage women to 
apply for these positions. 

More detailed information about the projects can be found under
http://www.tzi.de/cofi/projects/multiple.html 
http://www.tzi.de/cofi/projects/hascasl.html 

Please address your application with the usual documents and the 
reference number A164/00 (MULTIPLE) resp. A165/00 (HasCASL)
before 01.02.2001 to: 

UNIVERSITÄT BREMEN 
Prof. Dr. B. Krieg-Brückner 
Fachbereich 3 
Postfach 33 04 40 
28334 Bremen 
e-Mail:  [EMAIL PROTECTED] 
-- 
Till MossakowskiPhone: +49-421-218-4683, monday:
+49-4252-1859
Dept. of Computer Science   Fax:   +49-421-218-3054
University of BremenEMail: [EMAIL PROTECTED]   
P.O.Box 330440, D-28334 Bremen  WWW:   http://www.tzi.de/~till

___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell