[Haskell] Registration now open: Haskell in Leipzig (Germany) December 4/5

2015-11-13 Thread Johannes Waldmann
Register now - for Amazing Talks and Thrilling Tutorials:

  HaL-10  Haskell in Leipzig  December 4/5
  http://nfa.imn.htwk-leipzig.de/HAL2015/

Opens with an invited talk by Joachim Breitner on MonadFix,
closes with a presentation of Liquid Haskell by Michael Beaumont.

- Johannes Waldmann.

PS: HaL-1 (in 2006, on quite the same day) also had a MonadFix talk.
Well of course, this has something to do with recurrence...
___
Haskell mailing list
Haskell@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell


[Haskell] 2nd CfP: Haskell in Leipzig (Germany) 2015

2015-10-29 Thread Johannes Waldmann
HaL-10 Haskell in Leipzig (December 4/5)

http://nfa.imn.htwk-leipzig.de/HAL2015/

We are proud to present Joachim Breitner (nomeata)
as our invited speaker.

The submission deadline (November 2) is approaching!

See you - Johannes Waldmann (PC chair)
___
Haskell mailing list
Haskell@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell


[Haskell] CfP: Haskell in Leipzig (Germany), 4/5 December 2015

2015-10-09 Thread Johannes Waldmann
"Haskell in Leipzig" (Germany) workshop
http://nfa.imn.htwk-leipzig.de/HAL2015/
welcomes Your contribution. Now.

Wir rechnen mit Vorträgen und Tutorien
und freuen uns über weitere Vorschläge
(Musik/live coding, mini-hackathon, Rätsel, ..)

* bis 2. November: Einreichung von Beiträgen
* 5. November: Bekanntgabe des Programms
* bis 27. November: Anmeldung
* 4. und 5. Dezember: Workshop

Herzliche Grüße, Johannes Waldmann, Leipzig.

___
Haskell mailing list
Haskell@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell


[Haskell] Call for participation: 8th International School on Rewriting - ISR 2015

2015-05-17 Thread Johannes Waldmann
Call for participation

8th International School on Rewriting - ISR 2015
August 10-14, Leipzig, Germany
http://www.imn.htwk-leipzig.de/ISR2015/

* early registration deadline: July 1
* student research posters welcome

=

The 8th International School on Rewriting (ISR 2015)
is aimed at master and PhD students, researchers, and practitioners
interested in the study of rewriting concepts and their applications.

The school features lectures by renowned researchers in rewriting,
and is organized in two parallel tracks:

Basic: aimed at students that enter the field.

Aart Middeldorp and Sarah Winkler: Introductory Course

Advanced: several shorter courses, showing different areas
  of rewriting research, with applications.

David Sabel and Manfred Schmidt-Schauß:
  Rewriting Techniques for Correctness of Program Transformations
Makoto Hamana: Algebraic Semantics of Higher-Order Abstract Syntax
  and Second-Order Rewriting
Santiago Escobar: Term Rewriting applied to
  Cryptographic Protocol Analysis
Hans Zantema: SAT/SMT encodings for rewrite problems
Femke van Raamsdonk: Higher-Order Rewriting
Alfons Geser: Proving Abstract Rewriting Properties with PVS
Georg Moser: Termination and Complexity
Detlef Plump: Rule-based Graph Programming

Also, we encourage participants to submit a presentation of
their research, in the form of a poster. These posters will be reviewed
by experts in rewriting, and will be displayed and discussed during
the school.



Rewriting is a branch of computer science whose origins go back
to the origins of computer science itself (with Thue, Church, Post,
and many other prominent researchers). It has strong links with
mathematics, algebra, and logic, and it is the basis of well-known
programming paradigms like functional and equational programming.
In these programming paradigms and corresponding languages, the notions
of reduction, pattern matching, confluence, termination, strategy,
etc., are essential. Rewriting provides a solid framework for
understanding, using, and teaching all these notions. Rewriting
techniques are also used in many other areas of software engineering
(scripting, prototyping, automated transformation of legacy systems,
refactoring, web services, etc.) Rewriting techniques play a relevant
role in computing research, education, and industry.

International Schools on Rewriting are promoted
by the IFIP Working Group 1.6 Term Rewriting.

ISR 2015 organizing committee:
Alfons Geser, Christine Klöden, and Johannes Waldmann.



Note: ISR 2015 is right after CADE
( http://www.inf.fu-berlin.de/cade25/ )
You can go from Berlin to Leipzig in 1 hour by train.

___
Haskell mailing list
Haskell@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell


[Haskell] 2nd CfP: WFLP 2014 - Workshop on Functional and (Constraint) Logic Programming

2014-06-26 Thread Johannes Waldmann
(note: Deadline extended to July 10th)

***

23rd International Workshop
on Functional and (Constraint) Logic Programming

http://www.imn.htwk-leipzig.de/WFLP2014/

colocated with 28th Workshop
on (Constraint) Logic Programming (WLP 2014)

September 15 - 17, at Leucorea conference center
in Lutherstadt Wittenberg, Germany.

***

Dates:

* submission closes: July 10, 2014
* notification: August 4, 2014
* final version due: September 1, 2014
* workshop: September 15 - 17, 2014

***

The international workshops on functional and logic programming aim at
bringing together researchers interested in functional programming,
logic programming, as well as their integration. The workshops on
(constraint) logic programming serve as the scientific forum of the
annual meeting of the Society of Logic Programming (GLP e.V.) and bring
together researchers interested in logic programming, constraint
programming, and related areas like databases, artificial intelligence,
and operations research.

In this year both workshops will be jointly organized and co-located, in
order to promote the cross-fertilizing exchange of ideas and experiences
among researchers and students from the different communities interested
in the foundations, applications, and combinations of high-level,
declarative programming languages and related areas. The technical
program of the workshop will include invited talks, presentations of
refereed papers and demo presentations.

The joint workshop will consist of two tracks (WFLP and WLP). Sessions
of these two tracks will be interleaved.



Topics

The topics of interest include (but are not limited to):

Functional programming
Logic programming
Constraint programming
Deductive databases, data mining
Extensions of declarative languages, objects
Multi-paradigm declarative programming
Foundations, semantics, nonmonotonic reasoning, dynamics
Parallelism, concurrency
Program analysis, abstract interpretation
Program transformation, partial evaluation, meta-programming
Specification, verification, declarative debugging
Knowledge representation, machine learning
Interaction of declarative programming with other formalisms (e.g.,
agents, XML, Java)
Implementation of declarative languages
Advanced programming environments and tools
Software technique for declarative programming
Applications

The primary focus is on new and original research results but
submissions describing innovative products, prototypes under
development, application systems, or interesting experiments (e.g.,
benchmarks) are also encouraged.



Program Committee (WFLP track)

Elvira Albert, Complutense University of Madrid, Spain
Sergio Antoy, Portland State University
Mauricio Ayala-Rincon, University of Brasilia, Brazil
William Byrd, University of Utah
Michael Hanus , Universität Kiel, Germany
Herbert Kuchen, Universität Münster, Germany
Carlos Olarte, DECC, Pontificia Universidad Javeriana Cali, Colombia
Janis Voigtländer, Universität Bonn, Germany
Johannes Waldmann (chair), HTWK Leipzig, Germany
Peter J. Stuckey, NICTA and the University of Melbourne, Australia
René Thiemann, University of Innsbruck, Austria

Organising Committee

Stefan Brass (chair) Universität Halle, Germany




signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] CFP: WFLP 2014 - Workshop on Functional and (Constraint) Logic Programming

2014-05-12 Thread Johannes Waldmann
23rd International Workshop
on Functional and (Constraint) Logic Programming

http://www.imn.htwk-leipzig.de/WFLP2014/

colocated with 28th Workshop
on (Constraint) Logic Programming (WLP 2014)

September 15 - 17, at Leucorea conference center
in Lutherstadt Wittenberg, Germany.

***

Dates:

* submission closes: July 1, 2014
* notification: August 1, 2014
* final version due: September 1, 2014
* workshop: September 15 - 17, 2014

***

The international workshops on functional and logic programming aim at
bringing together researchers interested in functional programming,
logic programming, as well as their integration. The workshops on
(constraint) logic programming serve as the scientific forum of the
annual meeting of the Society of Logic Programming (GLP e.V.) and bring
together researchers interested in logic programming, constraint
programming, and related areas like databases, artificial intelligence,
and operations research.

In this year both workshops will be jointly organized and co-located, in
order to promote the cross-fertilizing exchange of ideas and experiences
among researchers and students from the different communities interested
in the foundations, applications, and combinations of high-level,
declarative programming languages and related areas. The technical
program of the workshop will include invited talks, presentations of
refereed papers and demo presentations.

The joint workshop will consist of two tracks (WFLP and WLP). Sessions
of these two tracks will be interleaved.



Topics

The topics of interest include (but are not limited to):

Functional programming
Logic programming
Constraint programming
Deductive databases, data mining
Extensions of declarative languages, objects
Multi-paradigm declarative programming
Foundations, semantics, nonmonotonic reasoning, dynamics
Parallelism, concurrency
Program analysis, abstract interpretation
Program transformation, partial evaluation, meta-programming
Specification, verification, declarative debugging
Knowledge representation, machine learning
Interaction of declarative programming with other formalisms (e.g.,
agents, XML, Java)
Implementation of declarative languages
Advanced programming environments and tools
Software technique for declarative programming
Applications

The primary focus is on new and original research results but
submissions describing innovative products, prototypes under
development, application systems, or interesting experiments (e.g.,
benchmarks) are also encouraged.



Program Committee (WFLP track)

Elvira Albert, Complutense University of Madrid, Spain
Sergio Antoy, Portland State University
Mauricio Ayala-Rincon, University of Brasilia, Brazil
William Byrd, University of Utah
Michael Hanus , Universität Kiel, Germany
Herbert Kuchen, Universität Münster, Germany
Carlos Olarte, DECC, Pontificia Universidad Javeriana Cali, Colombia
Janis Voigtländer, Universität Bonn, Germany
Johannes Waldmann (chair), HTWK Leipzig, Germany
Peter J. Stuckey, NICTA and the University of Melbourne, Australia
René Thiemann, University of Innsbruck, Austria

Organising Committee

Stefan Brass (chair) Universität Halle, Germany




signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Looking for a Yesod presentation in Leipzig, Germany

2013-10-14 Thread Johannes Waldmann
Have you applied Yesod recently? ( http://www.yesodweb.com/ )

Would you enjoy presenting your Yesod project
to C.S. master's students during a course (Oberseminar)
that I'm teaching at HTWK Leipzig currently?

Then email me with details: a short description of your project,
preferrably including (link to) source code;
and a preferred date (in November or December).

The presentation can be in German or in English.
Total time is 90 minutes, but this should include
(plenty of) discussion, or even live coding.

No, I don't have any funding for this - except you'll get
free beer at our local Haskell group meeting (Stammtisch)
which we can schedule for right after your talk.

- Johannes.  ( http://www.imn.htwk-leipzig.de/~waldmann/ )
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Workshop on Termination (deadline extension: July 22)

2013-07-15 Thread Johannes Waldmann
13th International Workshop on Termination (WST)

Centro Residenziale Universitario di Bertinoro (near Bologna, Italy)

http://www.imn.htwk-leipzig.de/WST2013/

submission: July 22, 2013
notification: July 25, 2013
final version: August 10, 2013
workshop: August 29 - 31, 2013

The Workshop on Termination traditionally brings together, in an
informal setting, researchers interested in all aspects of termination,
whether this interest be practical or theoretical, primary or derived.
The workshop also provides a ground for cross-fertilisation of ideas
from term rewriting and from the different programming language
communities. The friendly atmosphere enables fruitful exchanges leading
to joint research and subsequent publications.

The 13th Workshop on Termination will be held from August 29 to 31,
2013, at the Centro Residenziale Universitario di Bertinoro (Italy).

It will be a joint workshop, together with the 3rd International
Workshop on Foundational and Practical Aspects of Resource Analysis. The
sessions of WST and FOPARA will be interleaved, this way facilitating
the interaction between the two communities.

( complete CfP see http://www.imn.htwk-leipzig.de/WST2013/ )



signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Call for Participation: Workshop on Haskell and Rewriting Techniques (June 27, Eindhoven)

2013-05-28 Thread Johannes Waldmann
The list of accepted papers, and preliminary schedule,
for the first

International Workshop on Haskell And Rewriting Techniques
(June 27, Eindhoven/NL, as part of RDP 2013)

is available from the workshop web site
http://www.imn.htwk-leipzig.de/HART2013/

Register soon - RDP early registration deadline is June 1!

Best regards - Kristoffer H Rose and Johannes Waldmann.





signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Call for Participation: HaL8 - Haskell in Leipzig (Germany), June 21

2013-05-17 Thread Johannes Waldmann
Hal8 - Haskell in Leipzig, June 21.

visit the workshop web site for program and registration:

http://www.bioinf.uni-leipzig.de/conference-registration/13haskell

See you - Johannes Waldmann.



signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] CfP Workshop Haskell and Rewriting Techniques (Deadline: May 21)

2013-05-08 Thread Johannes Waldmann
final call for papers (note: extended deadline)
==

Rewriting is the science of replacing equals by equals
and thus a very powerful method for dealing with equations.
There are strong connections between Haskell programming and rewriting.
Therefore, we announce a new workshop,

International Workshop on Haskell And Rewriting Techniques (HART 2013)
  http://www.imn.htwk-leipzig.de/HART2013/

to be held on June 27, in conjunction with RDP 2013, in Eindhoven.
(RDP contains RTA, the main rewriting conference.)

We plan a half day of discussions, in an informal setting,
on how Haskell and rewriting techniques and theories
can cross-fertilize each other.

Topics of interest are, for example,

equational reasoning and other rewriting techniques
for program verification and analysis;
lambda calculi and type systems for functional programs
and higher order rewriting systems;
rewriting of type expressions in the type checker;
rewriting of programs by refactoring tools, optimizers, code generators;
execution of programs as a form of graph rewriting;
template Haskell, introducing a rewriting-like macro language
into the compilation process.

This list of topics is non-exclusive. If you have a contribution that
connects Haskell and rewriting, then submit. When in doubt, contact a
member of the PC.

Program committee:

Alcino Cunha (U Minho)
Jürgen Giesl (RWTH Aachen)
Andy Gill (U of Kansas)
Johan Jeuring (U Utrecht)
Keisuke Nakano (UEC Tokyo)
Kristoffer H Rose (IBM Watson) (co-chair)
Christian Sternagel (JAIST)
Janis Voigtländer (U Bonn)
Johannes Waldmann (HTWK Leipzig) (co-chair)

Dates:

May 21: deadline for submissions
May 28: notification of acceptance
June 27: workshop

Submission and Proceedings:

Two categories of submissions are invited:

Extended abstracts. Presenting original research,
and also preliminary reports of work in progress.
Will be included in the proceedings.
Presentation-only papers. Describing work recently published
or submitted. Will not be included in the proceedings.

Papers should be at most 5 pages in length,
and should use the easychair.cls style.
Submission is handled through the EasyChair HART2013 page,
https://www.easychair.org/conferences/?conf=hart2013

In line with the informal style of the workshop,
the reviewing of submissions will be light.

When accepting and scheduling presentations,
preference will be given to original research.

Proceedings will be made available electronically at the workshop.




signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] CfP: Workshop Haskell and Rewriting Techniques HART 2013

2013-04-07 Thread Johannes Waldmann
Rewriting is the science of replacing equals by equals
and thus a very powerful method for dealing with equations.
There are strong connections between Haskell programming and rewriting.
Therefore, we announce a new workshop,

International Workshop on Haskell And Rewriting Techniques (HART 2013)
  http://www.imn.htwk-leipzig.de/HART2013/

to be held on June 27, in conjunction with RDP 2013, in Eindhoven.
(RDP contains RTA, the main rewriting conference.)

We plan a half day of discussions, in an informal setting,
on how Haskell and rewriting techniques and theories
can cross-fertilize each other.

Topics of interest are, for example,

equational reasoning and other rewriting techniques
for program verification and analysis;
lambda calculi and type systems for functional programs
and higher order rewriting systems;
rewriting of type expressions in the type checker;
rewriting of programs by refactoring tools, optimizers, code generators;
execution of programs as a form of graph rewriting;
template Haskell, introducing a rewriting-like macro language
into the compilation process.

This list of topics is non-exclusive. If you have a contribution that
connects Haskell and rewriting, then submit. When in doubt, contact a
member of the PC.

Program committee:

Alcino Cunha (U Minho)
Jürgen Giesl (RWTH Aachen)
Andy Gill (U of Kansas)
Johan Jeuring (U Utrecht)
Keisuke Nakano (UEC Tokyo)
Kristoffer H Rose (IBM Watson) (co-chair)
Christian Sternagel (JAIST)
Janis Voigtländer (U Bonn)
Johannes Waldmann (HTWK Leipzig) (co-chair)

Dates:

May 6: deadline for submissions
May 20: notification of acceptance
June 27: workshop

Submission and Proceedings:

Two categories of submissions are invited:

Extended abstracts. Presenting original research,
and also preliminary reports of work in progress.
Will be included in the proceedings.
Presentation-only papers. Describing work recently published
or submitted. Will not be included in the proceedings.

Papers should be at most 5 pages in length,
and should use the easychair.cls style.
Submission is handled through the EasyChair HART2013 page,
https://www.easychair.org/conferences/?conf=hart2013

In line with the informal style of the workshop,
the reviewing of submissions will be light.

When accepting and scheduling presentations,
preference will be given to original research.

Proceedings will be made available electronically at the workshop.






signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] 2nd CfP: Haskell in Leipzig (Germany) (Deadline: March 31, Workshop: June 21)

2013-03-18 Thread Johannes Waldmann
Haskell in Leipzig! Now in its 8th year!

http://www.bioinf.uni-leipzig.de/conference-registration/13haskell/

Calling for papers, tutorials, performances!

... on Haskell in particular, but also functional programming
in general, and its extension by other paradigms.
We'd love to hear about news of the language, libraries, and tools;
Haskell applications in art and industry; and teaching Haskell.

Presentations should be given in German
but we can switch to English if requested.

Submission until: March 31
Notification: April 15
Workshop: June  21

Invited talk by  Christian Höner zu Siederdissen:
"ADPfusion: high-performance dynamic programming in Haskell"

Program comittee:
Ralf Dorn (Otto-Nagel-Gymnasium Berlin), Georg Martius (MPI Leipzig),
Petra Hofstedt (BTU Cottbus), Andres Löh (Well-Typed LLP),
Alf Richter (iba CG Leipzig), Uwe Schmidt (FH Wedel),
Peter Stadler (Univ. Leipzig), Henning Thielemann (Univ. Halle),
Janis Voigtländer (Univ. Bonn), Johannes Waldmann (HTWK Leipzig)




signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] CfP: (NEW!) Workshop Haskell and Rewriting Techniques HART 2013

2013-02-17 Thread Johannes Waldmann
Rewriting is the science of replacing equals by equals
and thus a very powerful method for dealing with equations.
There are strong connections between Haskell programming and rewriting.
Therefore, we announce a new workshop,

International Workshop on Haskell And Rewriting Techniques (HART 2013)
  http://www.imn.htwk-leipzig.de/HART2013/

to be held on June 27, in conjunction with RDP 2013, in Eindhoven.
(RDP contains RTA, the main rewriting conference.)

We plan a half day of discussions, in an informal setting,
on how Haskell and rewriting techniques and theories
can cross-fertilize each other.

Topics of interest are, for example,

equational reasoning and other rewriting techniques
for program verification and analysis;
lambda calculi and type systems for functional programs
and higher order rewriting systems;
rewriting of type expressions in the type checker;
rewriting of programs by refactoring tools, optimizers, code generators;
execution of programs as a form of graph rewriting;
template Haskell, introducing a rewriting-like macro language
into the compilation process.

This list of topics is non-exclusive. If you have a contribution that
connects Haskell and rewriting, then submit. When in doubt, contact a
member of the PC.

Program committee:

Alcino Cunha (U Minho)
Jürgen Giesl (RWTH Aachen)
Andy Gill (U of Kansas)
Johan Jeuring (U Utrecht)
Keisuke Nakano (UEC Tokyo)
Kristoffer H Rose (IBM Watson) (co-chair)
Christian Sternagel (JAIST)
Janis Voigtländer (U Bonn)
Johannes Waldmann (HTWK Leipzig) (co-chair)

Dates:

May 6: deadline for submissions
May 20: notification of acceptance
June 27: workshop

Submission and Proceedings:

Two categories of submissions are invited:

Extended abstracts. Presenting original research,
and also preliminary reports of work in progress.
Will be included in the proceedings.
Presentation-only papers. Describing work recently published
or submitted. Will not be included in the proceedings.

Papers should be at most 5 pages in length,
and should use the easychair.cls style.
Submission is handled through the EasyChair HART2013 page,
https://www.easychair.org/conferences/?conf=hart2013

In line with the informal style of the workshop,
the reviewing of submissions will be light.

When accepting and scheduling presentations,
preference will be given to original research.

Proceedings will be made available electronically at the workshop.




signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell in Leipzig (Germany) : call for papers, tutorials, performances

2013-02-12 Thread Johannes Waldmann
Haskell in Leipzig! Now in its 8th year!

http://www.bioinf.uni-leipzig.de/conference-registration/13haskell/

Calling for papers, tutorials, performances!

... on Haskell in particular, but also functional programming
in general, and its extension by other paradigms.
We'd love to hear about news of the language, libraries, and tools;
Haskell applications in art and industry; and teaching Haskell.

Presentations should be given in German
but we can switch to English if requested.

Submission until: March 31
Notification: April 15
Workshop: June  21

Invited talk by  Christian Höner zu Siederdissen:
"ADPfusion: high-performance dynamic programming in Haskell"

Program comittee:
Ralf Dorn (Otto-Nagel-Gymnasium Berlin), Georg Martius (MPI Leipzig),
Petra Hofstedt (BTU Cottbus), Andres Löh (Well-Typed LLP),
Alf Richter (iba CG Leipzig), Uwe Schmidt (FH Wedel),
Peter Stadler (Univ. Leipzig), Henning Thielemann (Univ. Halle),
Janis Voigtländer (Univ. Bonn), Johannes Waldmann (HTWK Leipzig)



signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] CfP: Conf. Rewriting Techniques and Applications RTA 2013 -- deadline February 1

2012-12-07 Thread Johannes Waldmann
RTA http://rta2013.few.vu.nl/cfp.html
Deadline: February 1, Conference: June 24-26, Eindhoven NL

Dear all,

instead of copying the complete CfP,
I'd like to specifically address the Haskell community:

There are strong connections between (functional) programming
and rewriting. For example, the execution of a program is a form
of graph rewriting; the type checker rewrites type expressions;
the code generator rewrites the program (for optimization).

The conference on Rewriting Techniques and Applications is the major
forum for the exchange of new ideas on all matters related to rewriting,
covering the whole range from foundations to applications.
And you should take the opportunity to contribute your ideas.

Note: If  you = Simon Peyton Jones,  then you are the invited speaker.
Else, follow the usual process of submitting a paper by February 1.

Best regards, on behalf of the RTA programme committee,

Johannes Waldmann.



signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Register now for: Haskell in Leipzig (Germany), June 4.

2010-05-21 Thread Johannes Waldmann
The schedule and registration for the "Haskell in Leipzig"
meeting on June 4 are now on-line: http://www.iba-cg.de/hal5.html

Keywords: Leksah, HXT, Hawk, Adga, lambda camp, sound synthesis.

The workshop is presented by http://www.fit-leipzig.de/ ,
in co-operation with http://www.imn.htwk-leipzig.de/ ,
http://www.leipziger-medienstiftung.de/, http://www.iba-cg.de/

Best regards, Johannes Waldmann (for the Hal5 program committee)



signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] CFP: Haskell meeting in Leipzig/Germany, June 4

2010-04-27 Thread Johannes Waldmann
This is the fifth in our series of yearly local meetings.

For the full announcement, see: http://www.iba-cg.de/hal5.html .

If you want to give a tutorial, or a technical talk,
email the programme committee (details on web page).

We will also compile a list of "most wanted" topics
for tutorials and talks.

The primary language is German but we can switch to English
if requested/agreed upon by audience and speaker.

Best regards, Johannes Waldmann, HTWK Leipzig.





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


[Haskell] CFP: Workshop on Termination (WST 2010, Edinburgh, July 14-15)

2010-02-22 Thread Johannes Waldmann
Dear all, the 11th Intl. Workshop on Termination
welcomes contributions from the functional programming community.
See the general call for papers: http://imada.sdu.dk/~petersk/WST2010/
and let me add a few words here.

The typical functional (compiler) programmer needs
- termination of programs
- termination of program transformations (rules)
- termination of program analysis (type checking/inference)
So I'm sure the workshop topic is highly relevant,
and we are looking for *your* contributions.

The workshop provides a ground for cross-fertilisation of ideas from
term rewriting and from the different programming language communities.
We hope to attain the same friendly atmosphere as in past workshops,
which enabled fruitful exchanges leading to joint research and
subsequent publications.

Also, we have an annual competition for automated termination provers,
http://termination-portal.org/wiki/Termination_Competition
and since 2007 it contains a Haskell category.
http://termination-portal.org/wiki/Functional_Programming
The problems there are taken directly from the Standard Prelude.

The state of the art in automated Haskell termination is pretty
much defined by the AProVE team (Aachen University), nicely
summarized here: http://aprove.informatik.rwth-aachen.de/eval/Haskell/

Best regards, Johannes Waldmann.




signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Call for papers: Workshop on Termination (WST 2009)

2009-03-12 Thread Johannes Waldmann
Dear all, the 10th Intl. Workshop on Termination
welcomes contributions from the functional programming community.
See the general call for papers below, and let me add a few words here.

The typical functional (compiler) programmer needs
- termination of programs
- termination of program transformations (rules)
- termination of program analysis (type checking/inference)
So I'm sure the workshop topic is highly relevant,
and we are looking for *your* contributions.

Also, we have an annual competition for automated termination provers,
http://termination-portal.org/wiki/Termination_Competition
and since 2007 it contains a Haskell category.
The problems there are taken directly from the Standard Prelude.
So if you have some kind of Haskell source code analyzer
that knows something about termination (perhaps only internally),
then you're welcome turn it into a Haskell termination prover
and submit it to this competition.
(Details will be discussed at the workshop.)

Best regards, Johannes Waldmann.
.

Tenth International Workshop on Termination (WST 2009)

Leipzig, Germany, June 3-5, 2009

http://www.imn.htwk-leipzig.de/wst09/


Termination is a fundamental topic in computer science.  Classical
undecidability results show that termination is difficult.  On the
other hand, programs are usually required to terminate.  So methods
are needed that prove termination and non-termination automatically
for a wide range of programs.  Termination proofs are essential not
only for program verification, but also as components of program
transformation systems. The topic is challenging both in theory
(mathematical logic, proof theory) and practice (software development,
formal methods), and many interesting ramifications are yet to be
explored.

The 10th International Workshop on Termination will delve into all
aspects of termination of processes.  It will continue the sequence of
successful workshops held in St. Andrews (1993), La Bresse (1995), Ede
(1997), Dagstuhl (1999), Utrecht (2001), Valencia (2003), Aachen
(2004), Seattle (2006), and Paris (2007).  It will attain the same
friendly atmosphere as those past workshops.  The intent is to bring
together, in an informal setting, researchers interested in all
aspects of termination, whether this interest be practical or
theoretical, primary or derived.  The workshop shall help exchange
ideas from term rewriting and from the various programming language
communities.

Contributions from the imperative, constraint, functional, and logic
programming communities, and papers investigating new applications of
termination are particularly welcome.


Program Committee:

  Frederic Blanqui, INRIA, FR and Tsinghua University, CN
  Byron Cook,   Microsoft Corporation, US
  Alfons Geser, HTWK Leipzig, DE (chair)
  Michael Hanus,Universität Kiel, DE
  Janis Voigtlander,Technische Universität Dresden, DE


Local organization:

  Johannes Waldmann, HTWK Leipzig, DE


Important Dates:

  Paper submission 19 April 2009
  Notification 26 April 2009
  Final Paper Version 3 May 2009


Conference Venue:

The workshop will be held in the city of Leipzig,
at the conference center Mediencampus Villa Ida.


Hosting institution:

Hochschule fur Technik, Wirtschaft und Kultur Leipzig,
in cooperation with Leipzig School of Media
and Medienstiftung der Sparkasse Leipzig.









signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Compiler Construction course using Haskell?

2008-08-20 Thread Johannes Waldmann
Hello.

I plan to give a course in compiler construction,
using Haskell as the implementation language
(not as source or target language).

Something along these lines:
1. combinator parsers (Parsec),
2. simple interpreter (arithmetical expressions)
3. add algebraic data types, functions
4. type checker
5. code generator.
Ideally, 2..5 would be using the very same tree traversal code
and just change the monad for evaluation.

Any comments appreciated. Have you given such a course? Taken?

If I really decide to do it,
then slides (in German) will be made available.

Best regards, J.W.



signature.asc
Description: OpenPGP digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Error recovery for Haskell parsers?

2008-04-15 Thread Johannes Waldmann
Dear all

I'd like to collect some ideas
for error recovery in Haskell parsers.

cf. http://leiffrenzel.de/eclipse/wiki/doku.php?id=ast ,
feel free to add information to that page.

best regards, Johannes.

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


[Haskell] Local Haskell Meeting Leipzig Germany April 18th (update)

2008-04-03 Thread Johannes Waldmann
Dear all,

updated information (schedule, venue)
for "Haskell in Leipzig 3" (Friday, April 18th,
that is, in two weeks time) is now available
from http://www.iba-cg.de/hal3.html.
Thrilling topics, beautiful venue - register now!

Talks:
Janis Voigtländer - Theorems for Free
Bernd Holzmüller - Haskell tools for DSL compilation
Lutz Donnerhacke - Haskell/SPARK libraries
Jürgen Nicklisch-Franken - Making of Leksah

Sponsors:
ICS AG Stuttgart - http://www.ics-ag.de/
iba Consultig Gesellschaft Leipzig - http://iba-cg.de/
FIT Leipzig - http://www.fit-leipzig.de/

We'll also have the eclipsefp Hackathon but for that,
registration is now *closed* (too many people - imagine that!)
Still, you can contribute to this project
anytime via http://leiffrenzel.de/eclipse/wiki/doku.php

Best regards, Alf Richter and Johannes Waldmann.

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


[Haskell] Haskell OBDD package?

2008-03-25 Thread Johannes Waldmann
I'm looking for current Haskell implementations
of (ordered) binary decision diagrams.

(Yes, I tried google but this gives links from 2004 and earlier.)

Thanks - Johannes Waldmann.
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Local Haskell meeting + Hackathon, Leipzig, Germany, April 18-20

2008-03-06 Thread Johannes Waldmann
HaL 3, the third Haskell in Leipzig meeting,
will take place on Friday, April 18, 2008 (late afternoon).

Tentative program:

- Janis Voigtlaender: Theorems for free
- Jürgen Nicklisch-Franken: The Making of Leksah
  http://code.haskell.org/leksah

The HaL meeting will be combined with a Hackathon weekend (19.-20.4.),
where we want to work on the Haskell Eclipse plugin
(refactoring, IDE integration, ...),
see http://leiffrenzel.de/eclipse/wiki/doku.php

For more details and registration, see http://iba-cg.de/hal3.html.

Note: For HaL, we could use one more talk (30 min, in German or English)
so if you have something, please tell us.  Preference will be given
to reports on Haskell in (business) applications.

Alf Richter (iba Consulting) and Johannes Waldmann (HTWK Leipzig)
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Extensible records: Static duck typing

2008-02-05 Thread Johannes Waldmann

> Everyone wants to add extensible records to Haskell. 

well ... sure records are better than tuples ...
but interfaces (uh, classes) are still better IMHO

but anyway, is it possible to steal the
design of C#'s anonymous types (classes)?

if not, then why? (this might help
to clarify what we want, or not).

best regards, J.W.

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


Re: [Haskell] Re: [Haskell-cafe] Why functional programming matters

2008-01-25 Thread Johannes Waldmann
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


> Actually, come to think of it, one great way to show off the language is
> to show off the power of some of the libraries that have been written.
> For example, show how easily a parser can  be created w/ Parsec; [...]

yes, Parsec is amazing. I use it in my e-Learning/testing system.
It uses Parsec to read (student) input from a text entry area in a CGI
application.
http://www.imn.htwk-leipzig.de/~waldmann/autotool/

Parsec shows the benefits of embedding a DSL into Haskell:
it gives you full combinatorial power:
in types (e.g. lists of parser) and functions (e.g. from parser to parser),
and all that with full safety.

best regards, Johannes
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.4-svn0 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHmesc3ZnXZuOVyMIRAl2vAJ0VViyJe4tcxFiVpMR0suO50Bez5wCeIwi+
BK4GC4cqv5K25lT2k7B80zY=
=jz0r
-END PGP SIGNATURE-
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] ANNOUNCE: HStringTemplate -- An Elegant, Functional, Nifty Templating Engine for Haskell

2008-01-14 Thread Johannes Waldmann
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Sterling Clover wrote:

> Templates can be constructed that return strings, ShowSs, bytestrings,
> or even pretty printer Docs that handle wrapping, indentation, and fill
> elegantly. Even better, these templates are parsed and compiled only
> once, after which point there isn't a syntax tree anymore, just a
> function that operates on the environment of attributes that have been
> passed to it.

Ah! Finally! They invented Lambda Calculus!
Perhaps after some more decades they invent Typed Lambda Calculus as well!

(sorry, couldn't resist - Best regards, J.W.)
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.4-svn0 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHiywR3ZnXZuOVyMIRAtGtAKCzfpu9PktmsatKHlM5I2CH4ysR8gCgibat
eznCg3FyVJ4tsg/tOvRV8Qs=
=4MoX
-END PGP SIGNATURE-
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Data.Tree.drawTree more spacefilling?

2008-01-03 Thread Johannes Waldmann
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Dear all, I'm looking for a Data.Tree.drawTree
that is a bit more "spacefilling" (put some subtrees side by side).
Thanks - Johannes Waldmann, Leipzig.
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.4-svn0 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHfTr53ZnXZuOVyMIRAhqkAKCkXFRyqtR+6KaTnFf2msAGd1hf1QCeOFpB
/WMg+//boG/vAos+yO0iHZo=
=P13d
-END PGP SIGNATURE-
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Empty instance declaration

2008-01-02 Thread Johannes Waldmann
[EMAIL PROTECTED] wrote:

> One thing that hasn't come up yet is that empty instance declarations are
> the only decent option (that I know of) that we have in the absence of
> real class aliases.  

I agree. I use this in my code in a number of places.
It helps to write readable signatures.

Best regards, Johannes Waldmann.

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


Re: [Haskell] Nested guards?

2007-12-05 Thread Johannes Waldmann
Wolfgang Jeltsch wrote:

> I cannot resist citing Henning Thielemann [...]

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


Re: [Haskell] Re: Trying to install binary-0.4

2007-10-19 Thread Johannes Waldmann
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Udo Stenzel wrote: [an entertaining report on cabal/ghc problems]

>   => module "Data.ByteString.Base" not found

I also got stuck there when trying to build zlib-0.3
(prerequisite for cabal-install-0.3.0)
(with ghc-6.8.0.20070918)

I don't even know whether cabal-install is what I want.
It downloads a source package from hackage, builds and installs?

Best regards, Johannes Waldmann.


-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.4-svn0 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHGGiV3ZnXZuOVyMIRAoopAJ92RIOHVMX3LlTO2vGu5UTPCOAXkwCglcaf
3gSUPSneA27Mk0ytNiP9K/4=
=H3zX
-END PGP SIGNATURE-
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: [Haskell-cafe] PROPOSAL: Rename haskell@ to haskell-announce@

2007-09-24 Thread Johannes Waldmann
Forgive me, but I would much prefer a newsgroup to a mailing list.

True, I could unsubscribe now and just browse the mailman archives -
but for posting, I'd have to temporarily re-subscribe, which is awkward.
(Indeed that's the only reason I'm not doing it.)

We already have comp.lang.haskell. - Best regards,
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] Haskell on Beowulf?

2007-06-04 Thread Johannes Waldmann
What tool/compiler support is there
for compiling Haskell code to run on a Beowulf cluster?
Any pointers appreciated.
--
Johannes Waldmann, Leipzig, Germany.

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


[Haskell] Haskell Meeting in Leipzig, Germany, July 10th

2007-05-25 Thread Johannes Waldmann
The second HAL (Haskell in Leipzig) meeting: Tuesday, July 10th.

Including the release party for the Cohatoe project
(= contributing Haskell to Eclipse), presented by author Leif Frenzel.

More info, registration: http://www.iba-cg.de/haskell.html

Looking forward to seeing you (again),
Alf Richter, iba consulting; and Johannes Waldmann, HTWK Leipzig.
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: refactoring, catamorphism, termination of programs

2007-05-02 Thread Johannes Waldmann
Dear Stefan, thanks for your comment.

> E.g. the Coq papers define its elimination constructs either as
> a catamorphism, or as a combination of case&fix, where the recursive calls
> are appropriately restricted to pass subterms as arguments.

if we replace the "subterm" ordering by some other well-founded
ordering on terms, and let a tool look for this ordering, then we get
the "classical" approach (that is used for term rewriting systems).

my point is that most (Haskell) programs don't require this
because they are (or should be) just primitive recursive functions
(catamorphisms) over data structures, and in fact they should be
presented as such (explicit recursion should be replaced
by the catamorphism), and I want a tool to do that replacement.

Sure, this will not solve all Haskell termination problems.
I just want to see how many are left
(e.g. from the functions in the Prelude, or in my programs).

If you want to contribute further to the discussion,
then please do so via http://groups.google.com/group/fp-termination
(I don't want to clutter the haskell  mailing  list,
but I want to have the discussion in some public place.)

Best regards,
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] refactoring, catamorphism, termination of programs

2007-05-01 Thread Johannes Waldmann

Dear all,

I'm looking for a tool that implements the source code transformation
"replace recursion by catamorphism" (fold etc.).

My application is that if the transformation succeeds,
it implies that the program terminates. (roughly)

I don't want to make a big research project out of this,
rather I think of quickly putting together a prototype
that proves the concept.

I figure it could be distilled from some existing refactoring suite,
or be manufactured from existing building blocks.

E.g. Language.Haskell.* from the ghc libs,
and perhaps "Typing Haskell in Haskell"?
http://citeseer.ist.psu.edu/424440.html

Any hints appreciated.

Of course, if you already have some termination prover
for Haskell programs, using any method whatsoever,
then you're invited to take part
in the "FP" category of the upcoming Termination Competition,
see http://www.lri.fr/~marche/termination-competition/2007/

(Also, I'd welcome your comments on the proposed form
and semantics of the FP category.)
For discussion, please do not use this list but
http://groups.google.de/group/fp-termination


Best regards, Johannes Waldmann.

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


Re: [Haskell] Re: Newbie: what are the advantages of Haskell?

2007-04-27 Thread Johannes Waldmann


> I.e. you can teach Java without teaching generics or anonymous inner 
classes.


but you shouldn't -

if you can teach the type-correct use of arrays (it's done for decades),
then you can teach generic collections (at least their proper usage),

and what's the problem with the anonymous class in
x.addActionListener(new ActionListener(){ void actionPerformed(..){..}});


back to the original question (see subject): one advantage that gets 
easily overlooked
is lazy evaluation, leading to better modularization, because you can 
decouple

object (stream) generation from transformation from consumption,
and still be space efficient. with eager evaluation this would require 
jumping through many hoops,

destroying the logical structure of the program.
and once  you're lazy, then it's mandatory to be pure.

Cf. one of the classical (1984!) answers to the "advantages" question:
John Hughes: why functional programming matters,
http://www.math.chalmers.se/~rjmh/Papers/whyfp.html

Best regards, J.W.

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


Re: [Haskell] help -- need a random number

2007-04-26 Thread Johannes Waldmann



import System.IO.Unsafe (unsafePerformIO,unsafeInterleaveIO)


Whoa! I'd be very cautious recommending these for newbies ...
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] help -- need a random number

2007-04-26 Thread Johannes Waldmann


I need some random numbers. 


in the IO Monad, hiding the use of a generator

do x <- randomRIO (0, 1 :: Double) ; print x

you can also make the state explicit:

do g0 <- getStdGen ; let { ( x, g1 ) = randomR ( 0, 1::Double) g0 } ;
   print x

a RandomGen is actually the state object for the generator,
much like  http://java.sun.com/javase/6/docs/api/java/util/Random.html

best regards, J.W.


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


Re: [Haskell] Newbie: what are the advantages of Haskell?

2007-04-26 Thread Johannes Waldmann

[EMAIL PROTECTED] wrote:


[...] semi-functional programming languages such as Perl [...]


now this is an interesting view ...

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


Re: [Haskell] GHC

2007-04-22 Thread Johannes Waldmann

> [1 of 1] Compiling Main ( hase.hs, hase.o )
> Linking /home/helmut/hase/src/hase ...
> /usr/lib/ghc-6.6/libHSrts.a(Storage.o): In function `initStorage':
> Storage.c:(.text+0xe2c): undefined reference to `__gmp_set_memory_functions'

this is strange since ghc itself has been compiled by ghc,
and your installations seems to be able to run ghc itself.
from where did you install? (binary rpm?)

find out where the actual ghc executable is:   cat $(which ghc)
something like  GHC_BIN=/usr/local/lib/ghc-6.6/ghc-6.6
and then look at the output of   ldd /usr/local/lib/ghc-6.6/ghc-6.6
this should tell you where  gmp.so  lives.
then you try to find out why the linker does not find it.

best regards, J. W.
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Num is such a fat and greedy class

2006-12-11 Thread Johannes Waldmann
>> class Subtraction a b | a -> b where
>>   (-) :: a -> a -> b
> 
> If you split them up like this, things like quadRoots take an
> unwieldly type signature: [...]

ultimately this leads to a style of programming
where you have a  class Has_f  for each function symbol  f.

then the signature of a function contains
all the (wrapper class) names of all the functions
it intends to call.

This shows that type classes are "just" a means
for expressing implicit parameters to functions
(the parameters are the class methods,
and the (invisible) dictionary transports them).

Their usability still is limited
because all (data and) class and instance declarations are global.
Is there a fundamental (design or implementation) reason for this?
I really sometimes would want to write

let { instance Show Foo where ... } in   show ...

or

let data Bar = ... in  ...

Compare Java where you can have nested classes and interfaces.
Where of course part of their motivation is
that Java lacks proper (and anonymous) functions.

Best regards,
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] (last) call for participation: HAL next Tuesday

2006-11-30 Thread Johannes Waldmann
Dear all, this is a reminder for the Haskell meeting
to be held in Leipzig, Germany, Tuesday next week (December 5th)
http://www.iba-cg.de/haskell.html  If you want to come, register now.
As we have a number of non-local attendees already,
we might append a "functional breakfast" the next morning.
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


Re: [Haskell] ANNOUNCE: Visual Haskell prerelease 0.2

2006-11-28 Thread Johannes Waldmann

> http://www.haskell.org/visualhaskell

sounds great - but can I use this without buying Visual Studio first,
i. e. does it work with some free beta version or similar?

and, does it then work under wine :-)

seriously, how hard would it be to adapt VH to Eclipse?
the interfaces (for syntax highlighting, typechecking etc.)
should be similar - in theory.
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] I18N, external strings

2006-11-14 Thread Johannes Waldmann
What methods and tools are there for i18n of Haskell programs?

(I.e. I want output in several languages,
with the language configurable at runtime,
and I want to add languages without recompilation.)

a typical source text (for my application) is here
http://141.57.11.163/cgi-bin/cvsweb/tool/src/Graph/Circle/Plain.hs?rev=1.2
it contains (German) text strings all over the place.

In Java/Eclipse, I would "Source -> Externalize Strings"
and this replaces each string by something like
Messages.getString("Foobar.0")  where  Messages  is a global variable
(constructed at program start from reading a properties file)

In Haskell, I see at least two problems:
a) reading the file is in IO
b) there are no "global variables". implicit parameters perhaps?
c) when I'm trying to be clever, I use "deriving Show/Read" or similar.
then i18n should rename the constructors/accessors? I rather not.
http://141.57.11.163/cgi-bin/cvsweb/tool/src/Grammatik/Type.hs.drift?rev=1.6

Best regards,
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] Local Haskell meeting in Leipzig/Germany 5 December

2006-11-03 Thread Johannes Waldmann

We're planning a local Haskell meeting on December 5th
in Leipzig, Germany. The meeting will be hosted by IBA Consulting.
It will be quite informal, with some very short talks
(most probably in German). Interessenten sind herzlich eingeladen.
Details and (free) registration: http://iba-cg.de/haskell.html
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] cabal/haddock

2006-10-19 Thread Johannes Waldmann

Hello. What's the current state of Haddock support in Cabal?
I checked that "runhaskell Setup.hs haddock" works fine,
but how can I reference the documentation of (cabalized)
package Y from the docs of package X? - Last I asked this,
the answer was "write your hooks in Setup.hs" but I was hoping
that meanwhile I could just put the info in the .cabal file.
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


Re: [Haskell] ANNOUNCE: Haskell XML Toolbox Version 6.1

2006-07-07 Thread Johannes Waldmann

Is there a library/tutorial that supports/explains
providing web services (SOAP transport, WSDL description)?
I know (and use) haxr (XML-RPC) but it seems
that SOAP is the accepted standard in Java circles nowadays.
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] haxr troubles - solved

2006-06-27 Thread Johannes Waldmann

Björn has just made a new release
http://www.haskell.org/haxr/download/haxr-20060626.tar.gz
that solves the problems I mentioned. Thanks!
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] Re: haxr (XML RPC server) problems

2006-06-26 Thread Johannes Waldmann

The readString function of
haxr-20060418/Network/XmlRpc/Internals.hs
does not rewrite as space. Should it?
I have at least one Java XML RPC client
that likes to encode spaces that way.
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] haxr (XML RPC server) problems with C# client

2006-06-22 Thread Johannes Waldmann

Hello.

I am trying to access an haxr (XML RPC) server from a C# client, see
http://www.imn.htwk-leipzig.de/~waldmann/edu/ss06/oo/folien/oo/node153.html
and it does not work: on the client side, I get

Unhandled Exception: CookComputing.XmlRpc.XmlRpcFaultException:
Server returned a fault exception.
in <0x00274> CookComputing.XmlRpc.XmlRpcSerializer:DeserializeResponse 
(System.Xml.XmlDocument xdoc,System.Type returnType)


How do I find out more (e. g. the server's actual response)?

The same server works with a Java client.

Is there a way to have a standalone haxr server,
i. e. a process listening on a port,
without the detour along the web server/cgi mechanism?
(cf. the Java variant)

Thanks,
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] simplex method?

2006-05-17 Thread Johannes Waldmann
Dear all, I could use a simple implementation of the simplex method
for linear programming. I found this:
http://haskelldsp.sourceforge.net/doc/Matrix.Simplex.html
but I'm not exactly sure how to use it. In the source
http://haskelldsp.sourceforge.net/Matrix/Simplex.hs
there's a function "solution", does it really give me a solution vector?
Thanks,
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


Re: [Haskell] timing/timeout (how to express that in Haskell)

2006-05-12 Thread Johannes Waldmann
Arjen van Weelden wrote:

> Personally, I'm often surprised by the laziness introduced by Maybe.

Yes. That's why I chose the return type Boolean in my original post,
and I included the remark on  "Just x with x in whnf".
Mirko used a list, where whnf is not enough.

PS: I am still curious: does threadDelay use
the wall clock or the per-process clock (CPU time)?
And regardless of the answer - how could one obtain
the opposite behaviour? (I don't find this discussed
in the visible docs. Or am I missing something?)

Best regards,
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


Re: [Haskell] timing/timeout (how to express that in Haskell)

2006-05-12 Thread Johannes Waldmann
Donald Bruce Stewart wrote:

> forkIO + killThread && threadDelay

OK that's nice and solves my problem. Thanks!

Is the delay measured on the wall clock
or on the user (per-process) clock?
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] timing/timeout (how to express that in Haskell)

2006-05-12 Thread Johannes Waldmann
What is the idiomatic way to say in (ghc) Haskell:
"run this computation for at most  x  seconds"
(e. g. it returns Boolean; imagine a primality test)
so I want something :: Int -> a -> Maybe a
with the guarantee that the result is
Just x  with  x  in whnf, or  Nothing.
I guess one answer is "that's not Haskell because
that's not a function". Sure, but I think I need it
anyways, so I would accept some  IO .. in the types.
Best regards,
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


Re: [Haskell] Haskell as a disruptive technology?

2006-03-27 Thread Johannes Waldmann

>>   * Analysing and guaranteeing performance characteristics (time,
>> memory) is something we still can't do well with Haskell.

Seconded. I think all three of:
specification, prediction and post-morten analysis
of resource consumption of Haskell programs
are largely uncharted territory.
I don't see a widely accepted formal base (a resource calculus)
and that's probably why there is no tool support
(yes, I know about ghc -prof -auto-all).
Ultimately, there should be some refined type system
that allows to express and prove resource consumption guarantees.

best regards,
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


Re: [Haskell] Haskell as a disruptive technology?

2006-03-27 Thread Johannes Waldmann
Paul Johnson wrote:

> Is there a market that is poorly served by the incumbent languages for
> which Haskell would be an absolute godsend?

yes - teaching principles of programming (and languages).

E. g. I have my students (2nd year) learn (some) Haskell first,
so they will hopefully understand better what is a (polymorphic) type
and what is behind those OO-design patterns
(Composite => algebraic data type, Visitor => map/fold,
Template Method => higher order function etc.)

But the comparison to e. g. Java also shows quite clearly
that Haskell is lacking some features (ranging from essential
to convenient) in the area of software engineering (module system,
record system, annotations, etc., see some entries on Haskell-prime)
And I don't hide that opinion from the students.

You may say that my teaching is "disruptive",
but then, there's no "market" since the students have no choice ...
But most of them accept the challenge. (I'm afraid they'd accept
an advanced Perl(*) hacking course as well.) (*) - replace with
name of any untyped interpreted scripting language.

Best regards,
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


Re: [Haskell] -fno-monomorphism-restriction makes type-inference ambiguous?

2006-02-27 Thread Johannes Waldmann
Implicit parameters are *evil*. They seem to simplify programs
but they make reasoning about them much harder.

To an extent, they can be simulated with type classes,
because dictionaries are also implicit (you don't see them in the code
but you see them in the type declaration - same as for implicit parameters).

Of course reasoning about programs with typeclasses is hard as well,
but at least at the moment all instances (dictionaries) are global.
On the other hand, this also limits the usefulness of type classes.

In all, it's a design choice.
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


Re: [Haskell] problems with Haskell 98's record system

2006-02-20 Thread Johannes Waldmann
Iavor Diatchki wrote:

>> remove export lists, introduce public/private modifiers

>  And it nicely deals with re-exporting imported entities: public
> imports get reexported, private ones don't.

note though that the public/private thing in Java
also refers to the "package" concept, which is missing from Haskell
(this is worked around at the language level by re-exporting modules,
and at the tool level by Cabal - both kludgy, methinks).
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


Re: [Haskell] problems with Haskell 98's record system

2006-02-19 Thread Johannes Waldmann
Cale Gibbard wrote:

> ... unless you export everything, you are forced to list all exports
> explicitly, so there's no way to tell it just the few things you're
> hiding (though that should not be a difficult extension).

Alternative suggestion:
remove export lists, introduce public/private modifiers
http://www.haskell.org//pipermail/haskell-prime/2006-January/000230.html
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] Re: [Template-haskell] new TH tutorial (request for comments)

2006-01-24 Thread Johannes Waldmann
Dear Bulat and Johan, thanks for your comments and pointers.

Johan Jeuring wrote:

> This won't be of much help right now, but Ralf Hinze, Andres Loh and I
> are preparing lecture notes on Comparing approaches to generic
> programming for the Spring School on Datatype-Generic Programming 2006..

Sounds like that will be the paper that I want.

Meanwhile (and independently), I wrote down some notes:
http://dfa.imn.htwk-leipzig.de/~waldmann/draft/meta-haskell/

I'd be glad if this would turn into something useful,
so please feel free to comment, and to use it
(and I don't care too much about the venue of publication,
so it can be wiki-ized or whatever).

Best regards,
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


Re: [Haskell] Modelling languages for FP (like UML for OO)

2006-01-19 Thread Johannes Waldmann
Mads Lindstrøm wrote:

> In object-oriented programming, UML is used to model programs. In
> functional programming (especially Haskell) we use ???

Nice question.

The problem with UML class diagrams is that they are
only really suited to "classical" OO (composition and inheritance)
and thus are missing some important features:

a) the UML notation for generics (type parameters) is somewhat ad-hoc,
   e. g. there is no good visible disctinction between a template
   and its instantiation.

b) UML supports interfaces, but (speaking Haskell) they are all unary
   predicates (a type implements an interface) and there is
   no notation for multi parameter type classes (would need a hypergraph
   instead of a graph :-)
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] Re: Records

2005-11-28 Thread Johannes Waldmann
Ketil Malde wrote:

>> Perhaps  data Foo = Foo { foo :: Int, bar :: Int ; bar = 2 * foo self }
>> with a reserved word "self" is better. - Are there semantic problems?
> 
> Can't you solve this by writing a fiunction to construct Foo with the
> desired properties? 

Sure but by the same argument I wouldn't need records at all
because I could use tuples :-) I'd say it makes the intention
of the programmer more explicit, and this is what pragmatics
of programming languages is all about, isn't it ...

Also, for updates ( like  x { foo = 3 } )
I'd expect that a new record is built
and the initializer is called again - this would be
inconvenient to write with functions because of the unwrapping
and wrapping (you would need to name all components even if they don't
change so you don't want to mention them).

I think it would be even more convenient if it were possible
to have initializers in separate modules (a la orphan instances)
because often I have one module that just defines the data type,
and then several modules that define operations.

I would need to know all the default-initialized fields
already when writing the type definition,
which is wrong design (it forces me to make decisions too early
and write them down in the wrong place).

I realize that my above idea looks something like introducing
objects through the back door. Because one might say that I want
something like a "Foo" with an additional component (bar)
that is ignored by those who don't know them.
This is indeed a severe criticism - normally I tend to avoid
implementation inheritance and now it looks like I'm advocating it...

best regards,
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] Data.Generics question

2005-11-28 Thread Johannes Waldmann
Dear all, in Data.Generics.Text
http://cvs.haskell.org/cgi-bin/cvsweb.cgi/fptools/libraries/base/Data/Generics/Text.hs?rev=1.10
I find this nice example

gshow = ( \t ->
"("
 ++ showConstr (toConstr t)
 ++ concat (gmapQ ((++) " " . gshow) t)
 ++ ")"
) `extQ` (show :: String -> String)

but I couldn't figure out how to use this
to declare a useful show instance. I would need something like

   `extQ` (show :: Show a => a -> String )

i. e. use Show instance if available, or

   `extQ` ( lshow :: [ a ] -> String )

i. e. use another function if argument type is a list type


BTW: I guess the above is related to
http://homepages.cwi.nl/~ralf/syb3/
Do the current (6.4) ghc compiler/libraries
correspond to what's in that paper?
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---


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


Re: Records (was Re: [Haskell] Improvements to GHC)

2005-11-28 Thread Johannes Waldmann

> It actually sounds a lot like pattern guards, since you're suggesting this
> sugar could be applied to any sort of object?  So your desugarer would
> allow a function like
> 
> islong :: [a] -> Bool
> islong {length = l} = l > 10

this looks like a hack that only works for one-argument functions,
and its only purpose seems to hide the argument.

I don't like the (local) looks of "length = 1" anyway.
Compare to "length [] = 0". You'd think the first one
is a typing error until you spot the surrounding "{ .. }"


While we're at it, I'd like to mention a feature that
I'd love to have in a record system (for a long time):
defaults, resp. initializer functions.
E. g.  data Foo = Foo { foo :: Int, bar :: Int ; bar x = 2 * foo x }
Something like that (imagine that (*) is some expensive computation).
Note that default declarations in classes are vaguely similar.

Again, the concrete syntax problem is whether to hide the argument.
Perhaps  data Foo = Foo { foo :: Int, bar :: Int ; bar = 2 * foo self }
with a reserved word "self" is better. - Are there semantic problems?

It might even be desirable to hide the "computed" component,
i. e. Foo { foo = 5, bar = 7 } could be forbidden.

And still better: if we could say later (i. e. outside the
definition of Foo) that the values of  bar
should be "memorized" in the Foo records.
Of course this might be hard for separate compilation
(if type definition and memorized functions are in different modules.
Again, this is vaguely similar to orphan instances.)

Best regards,
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


Re: Records (was Re: [Haskell] Improvements to GHC)

2005-11-22 Thread Johannes Waldmann
On records in Haskell - can we start by formulating requirements
(design goals). What do we want from a record system,
and what are non-goals.

Some of the proposals here sound like records should be more like
objects (with some kind of inheritance). Do we really want this?
We already have inheritance (for interfaces). Isn't that enough?

My main objection is that concrete data types (e. g. records)
should not be exposed by a module anyway,
and should definitely not be a base for derivations
(Compare the OO design pattern literature).

Still if they are exposed (or while we're inside a module),
what makes the current records quite impractical
is the namespace issue (for component names).

Sure, one thing would be to invent some ad-hoc solution
(automatic qualification by type name or something)
but another possibility is to allow ad-hoc polymorphisms
generally in the language.

Just my 2 cent (and none of them new, I'm afraid)
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


Re: [Haskell] really undecidable instances?

2005-10-18 Thread Johannes Waldmann

Simon Peyton-Jones wrote:

It's all very delicate.  I believe, though I am not certain, that in the
absence of functional dependencies, removing at least one type
constructor might be an example of a rule that is sufficient to ensure
termination.  There are lots of such rules. Alas none known to me
capture all cases.


Of course they couldn't - because of undecidability of termination
(of term rewriting, or Prolog-like programs).
But then, there are a lot of (nontrivially) decidable subcases,
and consequently there are quite a few automated methods
for termination proofs,
see http://www.lri.fr/%7Emarche/termination-competition/2005/
Would it be interesting to "beef up" the termination analysis in ghc a 
bit, using some of those methods?


But then, the current solution is just use "-fundecidable.."
and the see if the type checker (apparently) loops.
This might still be more efficient than invoking a larger machinery
that would prove (non)termination because after the proof
you'd still have to invest the time into doing the rewrite sequence.

Best regards,
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] cabal/haddock

2005-09-21 Thread Johannes Waldmann
What's the current story on cabal and haddock?
I need to run my sources through  ghc -cpp
before giving them to haddock. Does cabal support this
(e. g. by directing the ghc -cpp output to dist/src )?
Thanks,
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


Re: [Haskell] ANNOUNCE: fps -- fast packed strings

2005-08-25 Thread Johannes Waldmann

>>1) add psniceq/pscmp to export list (with better names, smtg like
>>eqPS/cmpPS)

is it possible to avoid module/type identifiers ("ps")
hardwired into the names? We have hierarchical namespaces for that
(PS.eq, PS.cmp  etc.) This has many advantages, e. g. you could then do
"import PackedString.Fast as PS" - otherwise the names were wrong
(they should be eqFPS etc.) Also, why the abbreviations ("cmp").

See discussion in ttp://c2.com/cgi/wiki?MeaningfulName
(and a lot of other places and books).
Sure, a lot of the problems that the (OO) refactoring hype
is trying to solve do not arise in the first place
if we do functional programming,
but quite some are independent of the paradigm
(e. g. those on naming) - so we should consider carefully
the problem indicators and solutions that have been suggested.

Just my opinion (not specific to the packed string library).
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] FP in the (German) CS curriculum

2005-08-11 Thread Johannes Waldmann
Hello.

My institution is currently revising
the curriculum for Bachelors and Masters in Computer Science.
One point of interest is the role of programming,
and especially that of the functional paradigm.
I'd like to compare our plans to other existing curricula.

The main critique raised implicitely or explicitely by some of my
colleagues here is nicely summarized in http://www.galois.com/cufp/ :
"industry folks complain that there aren't enough FP folks being
produced by schools, and educators complain that students don't see any
point in studying FP if there are no jobs to be had."

So if you are teaching (or studying) at a German Fachhochschule
(technical university, sort of), I'd like to know your opinion
(and your institution's opinion). (Please reply to me, not to this list.
Is there a better place for this discussion?)

Vielen Dank (thanks)!
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] writeFile for a looong string

2005-07-14 Thread Johannes Waldmann
Dear all,

I am writing a long string (several MByte) to a file,
with   writeFile fname ( render d )
where d :: Text.PrettyPrint.HughesPJ.Doc

I wonder what happens internally
(when compiled with ghc -O, if that matters)
Will the string be in memory completely
before it is actually written?

My  d  is in fact  vcat xs, for a list  xs
that is generated item by item.

Is there a way to get more efficient behaviour
without too much rewriting the program?
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] Haskell XML RPC

2005-06-21 Thread Johannes Waldmann

Dear all,

I am looking at the Haskell XML RPC library http://www.haskell.org/haxr/
First of all, this is a very nice thing to have, and installation is 
really easy, using Cabal and the packaged source archives.

Some questions though:


*) Of course I want to dervie XmlRpcType instances automatically.
The examples suggest  $(asXmlRpcStruct (reifyDecl Person))
but I cannot get this to compile (with ghc-6.4).  It seems reifyDecl is 
gone, and  reify  has different type. I worked out this:


helper name =  asXmlRpcStruct
( ( reify name ) >>= ( \ (TyConI dec) -> return dec ))

$(helper ''Person)

Does xmlrpc.cabal should contain a build-dependency
on template-haskell? (Otherwise I get linker errors.)


*) what is the recommended representation that should be created
for data T = A { .. } | B { .. } | ... i. e. discriminated unions?
Certainly some solution can be coded, but ...


*) what about the "Java side of things" - perhaps I want (need)
to interface to a Java Client. If it's Haskell-to-Haskell,
then both server and client of course can derive their
XmlRpcType instances from identical data declaraions
and everything is fine. For intergration with a different language,
what do you recommend: Start from a Haskell data declaration,
and derive a Java representation, directly or indirectly?
Or start from some language independent data declaration,
as it happens (I assume) for JAXB?


Best regards,
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


Re: [Haskell] Beyond ASCII only editors for Haskell

2005-05-23 Thread Johannes Waldmann



to only ASCII characters. For example, I would not write 'sqrt 2' but I
would write a square root symbol with 2 underneath. Likewise, I would
not write '2 ^ 5', but I would write a 2 with a 5 raised upwards to the
right of the 2.  ...


Remember Paul Halmos' advice (from "I Want To Be A Mathematician"):
if you use (or dare to invent) "tricky" notation,
imagine you had to read the formula to someone over the phone.
Then you need to *name* and *pronounce* things, not just *write* them.

This also enforces a natural linear order on the representation,
much like the sequence of characters in a file.
On the other hand, most editors will represent it two-dimensionally,
but it's  not clear whether hard-wiring 2D into a language definition
solves more problems than it creates. (So the Haskell designers were
cautious and allowed to bypass the layout convention.)

With a few examples (sin, cos, log, ...),
Mathematics has gone a long way to avoid multi-letter identifiers.
Since there are only a few latin letters, it resorts to graphical
(examples above) and calli-graphical resolutions
(other fonts, boldface, italics, superscripts, subscripts etc. I think 
the \sqrt sign is in fact an "r" = first letter of "radix" = root)


From an "engineering" standpoint (readability, maintenance),
this sometimes is questionable. See any software engineering textbook,
section "choose sensible names for identifiers". By sticking to
plain ASCII, we enforce longer (and hopefully more meaningful) names :-)

BTW, the Haskell standard itself does feature some unnecessary 
cleverness: abridged names like Bool, fst, snd just don't feel right.

--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---

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


[Haskell] wanted: "source_location_of" function

2005-05-13 Thread Johannes Waldmann
Dear all,
I have a Haskell program with a textual interface  (Textareas in CGI, 
actually) where the user has to type/edit representations of Haskell 
data in several places (handled with Read/Show, for the moment).

Now for each such input field, I want to add a link to the 
haddockumentation or source code of the corresponding data declaration,
and preferrably without changing (much) of the program

it is large, and the interface is generic:
the actual textarea does not know anything about the type of its 
contents, other than being an instance of Read and Show.

What would be a good way to obtain this information automatically?
Probably I want a class with a method giving sth. like
source_location_of ( _ :: Data.Map k v ) = [ "Data", "Map" ]
where instances are derived automatically.
Could be done with DrIFT perhaps ...
(But I think I need the package name for the module as well.)
Any ideas or pointers would be welcome.
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Are there libraries for finite words and computable functions?

2005-04-25 Thread Johannes Waldmann

With "computable functions" I mean recursive functions,
Turing machines, register machines or something like that.
my project "autotool" contains various models of computation.
the program in fact can automatically grade student exercises
that use these models.
http://www.imn.htwk-leipzig.de/~waldmann/autotool.html
http://141.57.11.163/auto/
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] haddock -cpp ? Cabal support for haddock ?

2005-04-21 Thread Johannes Waldmann
What is the preferred way to generate haddockumentation
from code that must be preprocessed (ghc -cpp)?
Would Cabal support this? I'd certainly welcome Cabal support
for other haddock features as well (--source, --read-interface).
I am not sure where to put all these arguments in the .cabal file.
And ... could we have something in haddock like JavaDoc's "@since" tag?
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] the wonders of lazy IO

2005-04-18 Thread Johannes Waldmann
Thanks for the comments. Indeed I knew the solution -
once I isolated the problem.
Note that ghc(i) behaves differently when running main2 below
(it says "file is locked"). (hugs does not complain.)
import System
main1 = do
system "echo A > foo"
a <- readFile "foo"
system "echo B > foo"
b <- readFile "foo"
print (a == b)
main2 = do
writeFile "foo" "A"
a <- readFile "foo"
writeFile "foo" "B"
b <- readFile "foo"
print (a == b)
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] the wonders of lazy IO

2005-04-18 Thread Johannes Waldmann
it took me quite a while to isolate the following.
what does this program print? certainly "A"
(written by the first system call) is different from "B"?
import System
main = do
system "echo A > foo"
a <- readFile "foo"
system "echo B > foo"
b <- readFile "foo"
print (a == b)
best regards,
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
 http://www.imn.htwk-leipzig.de/~waldmann/ ---
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: Network.CGI: ?

2004-11-30 Thread Johannes Waldmann

Yes, it is allowed.  Looks like the library can't parse
multipart/form-data encoded content.  If it's indeed the
case, you lost. :-(
I hope not. I'm prepared to do a bit of coding. (Just a bit :-)
The CGI program should "simply" read stdin (?) and decode the parts?
Possibly some of the functionality (parsing boundaries etc.)
is already contained in some HTTP library?
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Network.CGI: ?

2004-11-30 Thread Johannes Waldmann
I am using Network.CGI (with ghc-6.2)
How can I use an  element?
I guess I know how to produce one:
 Text.Html.input
! [ Text.Html.nametag
  , Text.Html.thetype "file"
  , Text.Html.intAttr "maxlength" 1
  , Text.Html.strAttr "accept""text/*"
  ]
But to get to the file contents, it seems I should add
  Text.Html.strAttr "enctype" "multipart/form-data"
to the  element, where I already have
  Text.Html.method "POST"
but then I can't ready any values out of the environment
that is provided by Network.CGI.wrapper.
The environment then contains
, ( "QUERY_STRING", "" ), ( "CONTENT_LENGTH", "1590" )
, ( "CONTENT_TYPE"
  , "multipart/form-data; 
boundary=---1409895718904..."
  )

Am I doing something wrong, HTML-wise
(is it allowed to mix TYPE="file" input with other input elements
in one FORM?) or is this a problem with the library?
Any help appreciated.
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Exceptions

2004-11-23 Thread Johannes Waldmann
in the following example, the handler won't catch the exception
because of lazy evaluation. therefore, it's a different story
than with exceptions in ML, Python, whatever strict language.
main = do
xs <- return [ 1, 2, error "throw" ]
`catch` \ any -> do
putStrLn "caught"
return [ 4, 5, 6 ]
print xs
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Better Exception Handling

2004-11-23 Thread Johannes Waldmann

The other annoying thing is forcing it to run in the IO monad.  
necessarily so, since Haskell has non-strict semantics
so it's not so clear when an exception is actually raised
(you might have left the block  that textually contained the offending 
expression , and the exception handler, a long time ago)
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -

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


Re: [Haskell] Haskell implementation of infixr and infixl/priorities

2004-10-25 Thread Johannes Waldmann
Have you looked at Parsec.buildExpressionParser:
http://www.cs.uu.nl/~daan/download/parsec/parsec.html
(see section "Expressions"). This allows very concise programs,
and you don't need to install any extra library.
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] readList oddity

2004-10-21 Thread Johannes Waldmann

Because of that, calling error in one of your read functions seems a bad
idea. In fact, returning an empty list is the right way to return an error
in the prelude's parsing framework. If you want something different (e.g.,
because you want better error messages) you should not be using the 
prelude's read function. 
indeed I use Parsec in this project, because of better error reporting,
and because it evaluates more eager. But in this case an external 
library (Wash) was expecting that I provide a Read instance.
I now think I should have overridden the default definition of readList.
http://141.57.11.163/cgi-bin/cvsweb/lib/Autolib/Reader/Link.hs?rev=1.2
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -

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


[Haskell] readList oddity

2004-10-21 Thread Johannes Waldmann
recently I was surprised by readList's behaviour (I'm no implying it is 
wrong). Look at this:

data R = R deriving Show
instance Read R where
readsPrec p cs = do
( x, cs' ) <- lex cs
case x of "R" -> return (R, cs')
  _   -> error "no R"
that is, we have a "very eager" parser: if it does not accept the token,
it will raise an exception. now - which of the following will work?
check0 :: [R]
check0 = read "[ ]"
check1 :: [R]
check1 = read "[ R ]"
check2 :: [R]
check2 = read "[ R, R ]"
turns out that check1 and check2 work, but check0 will not (I thought it 
would). The implementation (in the Prelude) seems to think that "]" (in 
check0) could possibly be the beginning of a list element.
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -

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


[Haskell] is $ a no-op?

2004-10-13 Thread Johannes Waldmann
In a *lot* of places in my programs,
I am using notation   f $ g $ h x  in favour of  f (g (h x))
(that's the  '$'  as defined in  the Prelude:
right-associating infix application operator)
as it avoids parentheses, and makes the code more manageable
(you can write "(upward) pipes" with one "$ f" per line, etc)
I liked to think of it as just a syntactical convention (for years ...)
but is it really at no cost? It does introduce extra function calls,
that is, extra closures etc.? Can these be removed by ghc's optimizer?
Or am I totally wrong here ... Actually, looking at the Prelude (now),
there is '$!' as well - is that supposed to answer my question?
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Program maintenance tools

2004-10-12 Thread Johannes Waldmann

- detection of unnecessary arguments for functions;
- detection of unnecesary imports of modules;
http://www.haskell.org/ghc/docs/latest/html/users_guide/options-sanity.html
ghc -W:
Provides the standard warnings plus -fwarn-incomplete-patterns, 
-fwarn-unused-matches, -fwarn-unused-imports, -fwarn-misc, and 
-fwarn-unused-binds.

--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] looking for reference to wadler's (?) law of language design

2004-10-12 Thread Johannes Waldmann
this is slightly off topic - I am preparing for a lecture on domain
specific languages and I try to track down the source and original 
version of (what I recall as) Wadler's "law" of language design,
"the energy spent in designing a programming language goes into,
in increasing order of effort: semantics, syntax, syntax of comments".
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -

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


Re: [Haskell] Space behaviour & hyperseq

2004-06-18 Thread Johannes Waldmann
Colin, Arjan, one further remark on
hyperseq x y = if x==x then y else error "this is very unlikely"
...
the result of an application 'normal x' is always true ...
I understand how this works,
but do we agree that it looks outright ugly?
We mean one thing (strictness)
but we write something quite different
(an "obviously useless" computation of the constant True).
Can you explain this to students? Would you be proud of it?
Reminds me of hacks like { int x = 42; String s = x + ""; }
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Space behaviour & hyperseq

2004-06-17 Thread Johannes Waldmann

1) Is there a more efficient definition of hyperseq that does not traverse
the data structure twice? The "show" function traverses the structure once
but I found it to be much slower.
persumably because it produces its output with (++),
or with (.) and building up lots of closures (?)
something like  class Size s where size :: s -> Int  would help.
(or a class Hash ...  -  both are nice to have anyway in a program)
(and automatic instance derivations for them would be nice as well...)
2) In this application the uses of lazy evaluation are rare and easily
eliminated (zip xs [1..] and so on); is there some hidden GHC option that
evaluates everything strictly? I realise that this would invalidate
optimisations relying on certain laws but I just wonder how difficult this
would be. Somebody must have given this a thought at one point.
It would also be interesting to find out what exactly
the compiler is missing when translating your program.
Ideally, it should be able to "see" that everything is strict.
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Monadic Loops

2004-06-17 Thread Johannes Waldmann

while test body = do
  (cond,res) <- body
  if (test cond) then do rs <- while test body
  return (res:rs)
  else return [res]
do you need the monad here? what monad is it?
the problem could to be that the "return $ res: rs"
can happen only after it is certain
that  "while test body" succeeds.
so you won't even see the very first cons cell
before the last one is evaluated.
could you produce a (lazy) list of results instead?
the garbage collector might be able to collect
the list cells that are no longer needed
possibly, a lazy state monad would help
(if the computation of "while test body" cannot fail)

Is there a better way to implement (possibly infinite) loops in Haskell?
generally, don't program your own recursions -
use pre-defined combinators instead.
(I like to think of this as a "higher analogon"
of "don't use goto - use block structures" from imperative programming)
if you need monads, have a look at sequence, sequence_, mapM, mapM_
http://www.haskell.org/onlinereport/monad.html
if you can do with lists, then use iterate, fold etc.
http://www.haskell.org/onlinereport/list.html
best regards,
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Annoying naming clashes

2004-06-15 Thread Johannes Waldmann
John Meacham wrote:
1. define the data structures you think you will need or
2. define the class/interface your data structures will have 
if you want to take the "prototyping" route,
then indeed do 1. first and then 2.,
but of course first 2. then 1. gives better code
right from the start.
I mean, you don't write a sort function for strings,
another for doubles etc. only to discover later
that you should use the  Ord  interface (erm, class).
OTOH, if you do the complete sequence 1+2+1
then you can call it "refactoring"
in order to be buzzword compliant.

however an experienced haskell programmer might realize the data
structure is not needed and just write
as has been said already, the programmer should indeed *use*
such structures, and it's the job of the *compiler*
to figure out where and how they could be removed.
as Eric Raymond puts it, "Smart data structures and dumb code
works a lot better than the other way around."
http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s06.html
best regards,
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] haskell for XMI processing?

2004-04-21 Thread Johannes Waldmann
I wonder if Haskell (HXmlToolbox) has been used for processing XMI data.
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] haddock/ghc feature request

2004-04-13 Thread Johannes Waldmann
I have a bunch of (polymorphic) function declarations like

foo :: C a
=> A a -- ^ comment
-> B a -- ^ comment
foo = ...
and haddock does a very fine job on them.

but then I wanted (needed) to specialize them,
and to avoid duplicating information, I wrote
type Foo a = A a -- ^ comment
-> B a -- ^ comment
foo :: C a => Foo a
{-# SPECIALIZE  foo :: Foo Int #-}
problem is, haddock does not want to parse
the comments in the type Foo definition.
(I think in case of such errors (malformed annotation),
haddock should try to ignore and continue, instead of just give up.)
On the other hand, it would be still better if ghc
would have something like  -fauto-specialize-all
(that is, for all instances that are needed
for the current `main' definition)
so that I wouldn't have to change the source code at all.
I vaguely remember there was a preprocessor
(independent of ghc, written by someone else)
that did "full specialization"?
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: RFC: DData in hierarchical libraries

2004-03-11 Thread Johannes Waldmann
A few comments on the DData.Map proposal:

* nice work. I might start using it (instead of Data.FiniteMap)
  just because the function names look better :-)
* argument ordering:

  the existing Data.FiniteMap mostly has
  f :: FiniteMap -> ... -> FiniteMap
  while the proposal uses
  f :: ... -> FiniteMap -> FiniteMap
  I think the Edison guidelines are quite nice:
  http://www.haskell.org/ghc/docs/edison/users004.html#toc10
  Did you follow them? What exceptions?
* types: some functions are not declared at their most
  general type (I checked by commenting out the decl. and asking ghci)
difference :: forall a1 k a.
  (Ord k) =>
  Map k a1 -> Map k a -> Map k a1
differenceWithKey :: forall a1 k a.
 (Ord k) =>
 (k -> a1 -> a -> Maybe a1) -> Map k a1 -> Map k a
-> Map k a1
intersection :: forall a k a1.
(Ord k) =>
Map k a -> Map k a1 -> Map k a
intersectionWith :: forall a k a2 a1.
(Ord k) =>
(a1 -> a2 -> a) -> Map k a1 -> Map k a2 -> Map k a
intersectionWithKey :: forall a k a1 a2.
   (Ord k) =>
   (k -> a2 -> a1 -> a) -> Map k a2 -> Map k a1 -> 
Map k a

isSubsetOfBy :: forall a1 k a.
(Ord k) =>
(a -> a1 -> Bool) -> Map k a -> Map k a1 -> Bool
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: Regular Patterns (RE: [Haskell] regular expression syntax)

2004-02-27 Thread Johannes Waldmann
Niklas Broberg wrote:

.. We came up with the idea of HaRP: Haskell Regular Patterns. 
taking data and patterns as typed trees
obviously is the right thing (tm).
in principle, such patterns describe regular tree languages
(if we disregard nested data types for the moment - they give CF 
languages) and they could be translated into finite tree automata,
which leads to fast matching algorithms
(but cost some preprocessing time).

you want to always return exactly one match (or none)?
this forces you to make ad-hoc decisions
(longest/shortest match etc.) when defining the semantics.
I think a lot of similar issues are being discussed
w.r.t. XML processing. see  http://citeseer.nj.nec.com/388107.html
and many others.
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] performance tuning Data.FiniteMap

2004-02-24 Thread Johannes Waldmann
S. Alexander Jacobson wrote:
Does FiniteMap used Arrays, Lists, or Algebraic Types?
when in doubt, RTFC:

http://cvs.haskell.org/cgi-bin/cvsweb.cgi/fptools/libraries/base/Data/FiniteMap.hs?rev=1.17

data FiniteMap key elt
  = EmptyFM
  | Branch key elt  -- Key and elt stored here
IF_GHC(Int#,Int{-STRICT-})  -- Size >= 1
(FiniteMap key elt) -- Children
(FiniteMap key elt)
the hugs distribution even says where this comes from:

This code is derived from that in the paper:
\begin{display}
S Adams
"Efficient sets: a balancing act"
Journal of functional programming 3(4) Oct 1993, pp553-562
\end{display}


--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] regular expression syntax - perl ain't got nothin on haskell

2004-02-24 Thread Johannes Waldmann
Per Larsson wrote:

But I can't see why the haskell user shouldn't also have access to concise 
text processing notations, e.g. regular expressions and printf, 
I was not implying it should be forbidden,
rather I meant to give a reason why text processing
seems to be less common in typical Haskell programs.
> to be used in, e.g. short script-like programs?

sure. but why do we need text processing in scripting?
because the usual OS shells have `string' as their only data type.
we better change that :-) anyone for a fully typed Haskell shell?
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] regular expression syntax - perl ain't got nothin on haskell

2004-02-24 Thread Johannes Waldmann
Per Larsson wrote:

> .. I have since long missed some
typical text processing functionality in haskell.
it is often the case that people process "text"
only because they have no better (structured and typed) way of
representing their data...
--
-- Johannes Waldmann,  Tel/Fax: (0341) 3076 6479 / 6480 --
-- http://www.imn.htwk-leipzig.de/~waldmann/ -
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


  1   2   >