[Haskell-cafe] Substantial (1:10??) system dependencies of runtime performance??

2013-02-02 Thread Nick Rudnick
Dear all,

for quite a while now, I have experienced this issue with some curiosity;
yesterday I had it again, when a program that took well over one hour
before only needed about ten minutes, after a system reboot (recent Ubuntu)
and with no browser started -- finally deciding to post this.

I still can't reproduce these effects, but there is indication it is
connected with browser use (mostly Google Chrome, with usually 10's of
windows and ~100 folders open) and especially use of video players; closing
or killing doesn't seem to set free resources, a reboot or at least suspend
to disk seems to be necessary (suspend to RAM doesn't seem enough).

Roughly, I would say the differences in runtime can reach a factor as much
as 1:10 at many times -- and so I am curious whether this subject has
already been observed or even better discussed elsewhere. I have spoken to
somebody, and our only plausible conclusion was that software like web
browsers is able to somewhat aggressively claim system resources higher in
the privilege hierarchy (cache?? register??), so that they are not
available to other programs any more.

I hope this is interesting to others, too, I guess it is an issue for
anybody programming computation intensive code to be run on standard
systems with other applications running there, too, and having to predict
the estimated runtime to the client.

Maybe I have overseen some libs which are already able to scan the system
state in this regard, or even tell Haskell to behave 'less nice' when other
applications are known to be of lower priority??

Thanks a lot in advance, Nick
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Substantial (1:10??) system dependencies of runtime performance??

2013-02-02 Thread Nick Rudnick
Hi Gwern,

thanks for the interesting info. I quite often have processing of CSV file
data of about 100M-1G done.

Thanks a lot, Nick

2013/2/2 Gwern Branwen gwe...@gmail.com

 On Sat, Feb 2, 2013 at 3:19 PM, Nick Rudnick nick.rudn...@gmail.com
 wrote:
  Roughly, I would say the differences in runtime can reach a factor as
 much
  as 1:10 at many times -- and so I am curious whether this subject has
  already been observed or even better discussed elsewhere. I have spoken
 to
  somebody, and our only plausible conclusion was that software like web
  browsers is able to somewhat aggressively claim system resources higher
 in
  the privilege hierarchy (cache?? register??), so that they are not
 available
  to other programs any more.

 Maybe the Haskell program requires a lot of disk IO? That could easily
 lead to a big performance change since disk is so slow compared to
 everything else these days. You could try looking with 'lsof' to see
 if the browser has a ton of files open or try running the Haskell
 program with higher or lower disk IO priority via 'ionice'.

 --
 gwern
 http://www.gwern.net

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

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


[Haskell-cafe] IMAGE_FILE_LARGE_ADDRESS_AWARE (4GB on Win64) ... any best practices??

2012-07-31 Thread Nick Rudnick
Dear Haskellers,

did anybody of you stumble about surprisingly having a 2GB memory limit on
Win64? I admit I didn't get it at once (just about to finish a complete
memcheck... ;-) -- but of course there already is a discussion of this:


http://stackoverflow.com/questions/10743041/making-use-of-all-available-ram-in-a-haskell-program

Unfortunately, this left me a little stupid about how to actually get a
program running with IMAGE_FILE_LARGE_ADDRESS_AWARE -- did anybody try this
successfully (or even not...) and has experience to share?

Usually a Linuxer, I am just about to begin exploring the possibilities of
Haskell on Windows, please forgive.

Thanks a lot advance, Nick
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Efficient temporary file storage??

2012-01-23 Thread Nick Rudnick
Dear all,

if you want to temporarily store haskell data in a file – do you have a
special way to get it done efficiently?

In an offline, standalone app, I am continuously reusing data volumes of
about 200MB, representing Map like tables of a rather simple structure,

key: (Int,Int,Int)
value: [((Int,Int),LinkId)]


which take quite a good deal of time to produce.

Is there a recommendation about how to 'park' such data tables most
efficiently in files – any format acceptable, quick loading time is the
most desirable thing.

Thanks a lot in advance, Nick
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] linear logic

2011-02-22 Thread Nick Rudnick

Hi Vasili,

not understanding clearly «in a categorical logic sense» -- but I can be 
sure you already checked out coherent spaces, which might be regarded as 
underlying Girard's original works in this sense?? I have a faint idea 
about improvements, but I don't have them present at the moment.


Curiously -- is it allowed to ask about the motivation?

Cheers, Nick

On 02/22/2011 09:13 PM, Vasili I. Galchin wrote:

Hello,

What is the category that is used to interpret linear logic in
a categorical logic sense?

Thank you,


Vasili

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




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


[Haskell-cafe] Possibility to implant Haskell GC into PostgreSQL interesting?

2011-02-22 Thread Nick Rudnick

Dear all,

recently, at an email conversation with pgsql hackers I had a quick 
shot, asking about their position to somebody replacing their palloc GC 
-- having roughly in mind that either here or on a Mercury mailing list 
(where there's a similar case with a pure declarative language and a 
Boehm GC), where there was a conclusion a non-pure GC would be a major 
hindrance to deeper interaction.


Ok, I found the answer worth a discussion here; as far as I understood, 
they don't oppose the idea that the PostgreSQL GC might be a candidate 
for an update. I see three issues:


(a) The most open question to me is the gain from the Haskell 
perspective; most critical: Would a Haskell GC inside PostgreSQL mean a 
significant change or rather a drop in the bucket? Once this may be 
answered optimistically, there comes the question about possible 
applications -- i.e., what can be done with such a DBMS system. Knowing 
about efforts like (http://groups.inf.ed.ac.uk/links/) I would like to 
let this open for discussion.


Let me please drop here a quote that I believe their object relational 
efforts seem to have gotten stuck at PostgreSQL due to the conceptual 
clash of OO with the relational algebra underlying PostgreSQL -- which 
in turn seems to harmonize much better with Hindley-Milner  Co. (System 
F??)


(b) The question I personally can say least about are the expenditures 
to be expected for a such project. I would be very interested in some 
statements. I have limited knowledge about the PostgreSQL GC and would 
assume it is much simpler than, e.g. the GHC GC.


(c) Gain from PostgreSQL perspective: This IMO should be answered 
easiest, hoping the Haskell GC experts to be able to answer easily how 
much is the overhead to be payed for pure declarativity, and the chances 
(e.g. parallelism, multi cores??), too.


Besides it might be interesting to see inhowfar a considerable overhead 
problem may be alleviated by a 'plugin' architecture allowing future 
PostgreSQL users to switch between a set of GCs.


I would be very interested about any comments, Cheers, Nick

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


Re: [Haskell-cafe] H98, OOHaskell - getting started with objects in Haskell

2011-01-14 Thread Nick Rudnick

Hi Philipp,

depending on what engineering calculations you are interested in, you 
might like http://timber-lang.org/ , a direct descendant of O'Haskell, 
targeted at embedded real-time systems.


If you are just stepping out of the OO programming world, it might be 
helpful to imagine OO as a rather narrow specialization of a concept 
called type, so that from the FP perspective it is just one of so many 
alternatives so that it gets lost a little -- which may be a useful 
translation to use.


So the short answer to where's OO? in Haskell might just be data, 
while the expressive freedom of type classes / families might surprise 
you. There have been some people playing with cellular automata, Google 
helps, e.g.:


http://mjsottile.wordpress.com/
http://trac.haskell.org/gloss/

Both cases might give you an impression how it's done with Haskell types.

If you really are interested in using the OO class concept together with 
the Haskell type system by a more than practical motivation, an expert 
in the field who is interested in the subject for a long time is Peter 
Padawitz (http://fldit-www.cs.uni-dortmund.de/~peter/ 
http://fldit-www.cs.uni-dortmund.de/%7Epeter/); he has presented a 
beautiful synthesis based on category theory, swinging types 
(http://fldit-www.cs.uni-dortmund.de/~peter/Swinging.html 
http://fldit-www.cs.uni-dortmund.de/%7Epeter/Swinging.html). Of 
course, he did also use O'Haskell for his programming works in the past.


Cheers,

Nick

On 01/14/2011 12:23 AM, gutti wrote:

Hi,

thanks for all Your answers (and again I'm amazed how active and good this
forum is).

I expected OOHaskell to be on the somewhat extended side, but I didn't
expect it to be so uncommon.
This very strong and clear feedback is indeed very valuable.

I think I see the complexities of OO-programming in larger programs
(unforeseen interactions), but I'm still doubtfull, that functional
programming can equally adress all tasks equally efficient.

I'm especially interestes in engineering calculation tasks where cellular
automata could be used. In that case all u have to do is to give the class
the right properties and that let it grow.

Such a localised intelligence approach seems an ideal OO - task. I don't
know whether something functional could achieve the same.

Sounds like a nice challenge. -- I'll chew on a small example.

Cheers Phil



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


Re: [Haskell-cafe] Small flexible projects a possible niche for Haskell - your statement, please...

2010-07-18 Thread Nick Rudnick

Paul, this is what we are interested in... :-)

Taken that Haskell has lots of combinator constructs on various levels 
as you said -- might I ask what are your personal favourites among them...?


Your mentioning of early coding initiative taken domain experts and 
programmers in one person for early demand strongly reminds me of our 
concepts of knowledge techniques -- it is my hope that this is possible. 


Thanks a lot,

   Nick

Paul Johnson wrote:

On 16/07/10 05:41, Nick Rudnick wrote:



In consequence, an 8-student-project with two B.Sc. theses is raised 
as a pilot to examine the possibilities of using Haskell in the 
combination small team with limited resources and experience in a 
startup setting - we want to find out whether Haskell can be an offer 
competitive whith languages like Ruby  Co. in such a setting.




I'm not sure exactly what you are asking, but I'm going to try to 
answer the question Does Haskell have a niche in small, flexible 
projects?


I think the answer is a definite yes.  I also think that Haskell can 
do great things in bigger projects as well, but successful 
technologies often start out with a niche that was previously poorly 
served, and then move out from there.


Haskell developers generally start by writing down an axiomatic 
definition of the problem domain.  To a developer raised in 
traditional top down development this looks like a jump into coding, 
and furthermore coding at the lowest level.  In fact it is a 
foundation step in the architecture, because Haskell works well with a 
bottom up approach.  The property that makes this work is 
composability, which says that you can take primitive elements and 
integrate them into bigger units without having to worry about mutual 
compatibility.  A Haskell library will typically define a data type 
Foo and then have functions with types along the lines of mungFoo 
:: Something - Foo - Foo.  This combinator style of library give 
you the
basic building blocks for manipulating Foos, along with a guarantee 
that the output will always be a valid Foo.  So you can build up your 
own applications that work at the Foo level rather than down in the 
coding level of flow control and updated variables like conventional 
programs.  This lets domain experts read and comment on the code, 
which reduces defect rates a lot.


But these combinator libraries are also highly reusable because they 
describe an entire domain rather than just being designed to fit a 
single application.  So the best bet is to analyse a domain, write a 
combinator library that models the domain, and then produce a series 
of related programs for specific applications within that domain.  
That will let a small team be amazingly productive.


Paul.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



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


[Haskell-cafe] Small flexible projects a possible niche for Haskell - your statement, please...

2010-07-15 Thread Nick Rudnick

Dear all,

besides good ambitions in many other areas, it is interesting to see 
that a great number of present Haskell projects is run by a very small 
number of persons and even some parts of the usual developer's toolkit, 
like e.g. Haddock, seem to contribute to it.


Has the Haskell culture produced an environment which is especially apt 
for such development in small groups, possibly with low grade of 
division of labor?


In the last three years at Duisburg-Essen university, very small but 
application oriented introductions to up to 100 rather non-CS centric 
students raised an interest whether there might be a such niche for 
Haskell application -- as there seems to be some evidence that certain 
perceptions of a steep learning curve of Haskell may be in significant 
correlation with an already existing imperative language culture.


In consequence, an 8-student-project with two B.Sc. theses is raised as 
a pilot to examine the possibilities of using Haskell in the combination 
small team with limited resources and experience in a startup setting - 
we want to find out whether Haskell can be an offer competitive whith 
languages like Ruby  Co. in such a setting.


An additional focus is the question inhowfar Haskell might be an enabler 
in allowing a greater extent of change in the organization, like people 
coming and going, or choosing new roles -- here we allow to *disregard* 
the problem of teaching Haskell to innocents to prevent such questions 
from dominating the whole of the discussion: This might be another 
project. Our premise is the availability of a sufficient number of 
people at an mediocre to intermediate level in the environment.


We hope this might be interesting to the Haskell community, as Haskell 
seems to be underrepresented in this regard, and there seem to be active 
prejudices by the imperative community -- which unfortunately in a 
positive correlation with general programming experience, to an 
observing third might lead to an impression that a such rejection of 
Haskell is a matter of computing competence.


Now we -- especially the two students at their B.Sc. thesis, Markus 
Dönges and Lukas Fisch -- are very interested in your quote, possibly


o   aspects of Haskell technology you perceive as relevant or helpful,

o   examples in the Haskell culture / community which might be relevant,

o   experiences of your own and around you, and *especially*,

o   language properties,constructs and extensions you would see as 
enablers in this regard.



Thank you very much in advance... :-)

   Nick


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


Re: [Haskell-cafe] Merge hsql and HDBC -- there can only be one!

2010-07-07 Thread Nick Rudnick

Hi Chris,


these are good questions -- actually, you might have mentioned Takusen, too.

Clearly, HDBC is the largest of these projects, and there are lots of 
things well done there.


Takusen has an interesting approach, and I would like to see a 
discussion here about the practical outcomes, as I have done no testing yet.


I myself quite a time ago had an opportunity to do a Haskell job with a 
PostgreSQL backend for a client, where I tried out all three and got 
hsql running easiest. A maintainer was vacant, so I stepped in happily 
-- doing refactorings, fixing problems at request, giving advice to people.


I can say that I am quite a little PostgreSQL centric and that I have a 
GIS project in sight, for which I want to try to adapt hsql.


Cheers,

   Nick


Christopher Done wrote:

One thing that would be nice is a unification of the general database
libraries hsql and HDBC. What is the difference between them? Why are
there two, and why are there sets of drivers for both (duplication of
effort?)? I've used both in the past but I can't discern a real big
difference (I used the hsql-sqlite library and the HDBC-postgresql
library, whichever worked...). It seems the best thing to do is either
actively merge them together and encourage the community to move from
one to the other -- judging from what I've read HDBC is more up to
date and newer than hsql -- or have some documentation with damn good
reasons to choose one or the other, because currently this is a
needless source of confusion and possible duplication of effort for
Haskell's database libraries.

I wasn't going to post until I'd actually researched the difference
myself properly but I didn't get chance to have a look over the
weekend, but I thought I'd pose the question. Do people actually care
about this?
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

  


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


Re: [Haskell-cafe] Functional programming techniques in small projects

2010-06-21 Thread Nick Rudnick

Hi Markus,

I am afraid your questions are formulated quite narrowly so that people 
you might like to reach might not feel addressed -- so it might be 
helpful to ask yourself how your subject might look in the perspective 
of an average Haskeller, if a such dies exist at all.


At first, please explain what you understand as post mass production 
and how you expect this to be in a relationship with Haskell.


Then, agile software development is used at projects of various sizes -- 
but I guess you want to use this term to emphasize *small* projects -- 
inhowfar do you actually require such to follow agile specifications, 
how about small and one-man-projects which do not follow agile at all?


You are speaking about »student-driven software development«... it might 
be hard for some people to imagine what you mean by this and -- again -- 
inhowfar this relates to Haskell.


Could you please be a little more explicit?


All the best,

   Nick



Markus Dönges wrote:

Hello Community,

I am a student from the University of Duisburg-Essen, Germany, and at 
the moment I am writing my bachelor thesis about Post-Mass-Prodcution 
Softwaresupply/ -development in case of an University administration. 
This approach deals with student-driven software development in which 
functional programming techniques (ie, Haskell) and agile development 
approaches matter.


I am looking for opinions and statements on how small (agile) software 
development projects may benefit from functional programming 
techniques (perhaps in contrast to imperative programming techniques).


Since I am at the very start, I would appreciate further literature 
advices. In addition, does anybody know particular people who are 
familiar with this topic?


Any answer is appreciated :-)

Regards, Markus
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



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


Re: [Haskell-cafe] hdbc-mysql fails to compile

2010-02-25 Thread Nick Rudnick

Hi Thomas,

up to 3/3/2010 I am looking after nearly 100 Haskell newbies in their 
project end phase -- but Marc Weber promised to kick my ass in time so I 
look after the hsql-XXX repos.


Anyway, I just uploaded 1.8.1, since it seems to work.

Cheers,

   Nick

Thomas Girod wrote:

replying to myself. there is only one line to fix in Setup.lhs


  (mysqlConfigProg, _) - requireProgram verbosity
  mysqlConfigProgram AnyVersion (withPrograms lbi)


becomes :


  (mysqlConfigProg, _) - requireProgram verbosity
  mysqlConfigProgram (withPrograms lbi)


obviously the new cabal version makes a difference between
requireProgram and requireProgramVersion


On Thu, Feb 25, 2010 at 08:01:34PM +0100, Thomas Girod wrote:
  

Hi there. Looks like hdbc-mysql cannot compile against GHC-6.12 --
confirmed by the hackage build logs. [1]

anyone know a way to dodge the problem ?

cheers,

Tom

[1]
http://hackage.haskell.org/packages/archive/HDBC-mysql/0.6/logs/failure/ghc-6.12

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


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

  


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


Re: [Haskell-cafe] Problems linking hsql-mysql

2010-02-23 Thread Nick Rudnick

Hi Maciej,

I will try to reproduce the error -- could you send me your both *.cabal 
files (for hsql  hsql-mysql), if you have changed anything, and your 
system configuration.


Is this extremely urgent? I ask this, as these days exactly the end 
phase of the projects of about 100 beginner Haskell students, which I am 
the one to look after. So I am in a little of slow motion regarding 
other things... ;-)


But in case you are in emergency, please let me know... At first sight, 
I would say it looks like a configuration problem... ;-)


Cheers,

   Nick

Maciej Podgurski wrote:

Hi,

I have problems linking a simple test program that imports 
Database.HSQL.MySQL via ghc --make Test.hs. The error only occurs when 
importing this module of hsql-mysql-1.7.1. I pasted the building 
output here: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=22911 
(actually it was even longer but hpaste only takes 30k).


When I do ghc -e main Test.hs or starting it from GHCi, everything 
works fine and no errors occur. So I guess all needed .lib files are 
there but GHC can't find them when linking (adding the flag -Lpath to 
mysql/lib/opt doesn't help). Anyone an idea?



Best wishes,

Maciej
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



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


Re: [Haskell-cafe] Category Theory woes

2010-02-20 Thread Nick Rudnick

A place in the hall of fame and thank you for mentioning clopen... ;-)

Just wanting to present open/closed as and example of improvable maths 
terminology, I oversaw this even more evident defect in it and even 
copied it into my improvement proposal, bordered/unbordered:


It is questionable style to name two properties, if they can occur 
combined, as an antagonistic pair...!


Acccordingly, it is more elegant to draw such terms from independent 
domains.


This subject seems to drive me crazy... I actually pondered on 
improvement, and came to:


«faceless» in replacement of «open»

Rough explanation: The «limit» of a closed set can by the limit of 
another closed set that may even share only this limit -- a faceless set 
has -- under the given perspective -- no such part to «face» to beyond. 
Any comments?


But the big question is now: What (non antagonistic) name can be found 
for the other property??


Any ideas...??

Cheers,

   Nick



Ergonomic terminology comes not for free, giving a quick answer here 
would be «maths style» with replacing


Michael Matsko wrote:

Nick,

Actually, clopen is a set that is both closed and open.  Not one 
that is neither.  Except in the case of half-open intervals, I can't 
remember talking much in topology about sets with a partial boundary.





Alexander Solla wrote:


Clopen means a set is both closed and open, not that it's partially 
bordered.



Daniel Fischer wrote:


And we'd be very wrong. There are sets which are simultaneously open and 
closed. It is bad enough with the terminology as is, throwing in the 
boundary (which is an even more difficult concept than open/closed) would 
only make things worse.
  


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


Re: [Haskell-cafe] Category Theory woes

2010-02-20 Thread Nick Rudnick

Richard O'Keefe wrote:


On Feb 19, 2010, at 2:48 PM, Nick Rudnick wrote:
Please tell me the aspect you feel uneasy with, and please give me 
your opinion, whether (in case of accepting this) you would rather 
choose to consider Human as referrer and Int as referee of the 
opposite -- for I think this is a deep question.

I've read enough philosophy to be wary of treating reference
as a simple concept.  And linguistically, referees are people
you find telling rugby players naughty naughty.  Don't you
mean referrer and referent?
Yes, thanks. I am not a native English speaker, and in my mother tongue, 
a referent is somebody who refers, so I missed the guess... Such 
statements are exactly what I was looking for... So, as a reference is 
directed, it is possible to distinguish


referrer ::= the one which does refer to s.th.

referent ::= one which is referred to by s.th.

Of course a basic point about language is that the association
between sounds and meanings is (for the most part) arbitrary.
I would rather like to say it is not strictly determined, as an 
evolutionary tendence towards, say ergonomy, cannot be overlooked, can it?



Why should the terminology of mathematics be any different?

;-) Realizing an evolutionary tendence towards ergonony, is my subject...

Why is a small dark floating cloud, indicating rain, called
a water-dog?  Water, yes, but dog?  Why are the brackets at
each end of a fire-place called fire-dogs?  Why are unusually
attractive women called foxes (the females of that species
being vixens, and both sexes smelly)?  
:-)) The shape of the genitals, which might come into associative 
imagination of the hopeful observer?? (The same with cats, bears, etc.) 
[... desperately afraid of getting kicked out of this mailing list ;-))]


Thanks for this beautiful example and, honestly, again I ask again 
whether we may regard this as «just noise»: In contrary, aren't such 
usages not paradigmatical examples of memes, which as products of 
memetic evolution, should be studied for their motivational value?


Let me guess: Our cerebral language system is highly coupled with our 
intentional system, so that it helps learning to have motivating 
«animation» enclosed... Isn't this in use in contemporary learning 
environments...?


The problem I see is that common maths claims an exception in claiming 
that, in it's domain, namings are no more than noise -- possible 
motivated by an extreme rejection of anything between «strictly formally 
determined» and «noise». This standpoint again does not realize the 
developments in foundations of mathematics of at least the century ago 
-- put roughly, this comes close to Hilbert's programme...


To my mind, any of the breakthroughs of the last decades -- like 
incompleteness, strange attractors, algorithmic information theory, 
CCCs, and not the least computing science itself with metaprogramming, 
soft computing, its linear types/modes and monads (!) -- have to do with 
constructs which emancipate such claims of ex ante predetermination. 
Isn't category theory pretty much a part of all this?



What's the logic in
doggedness being a term of praise but bitchiness of opprobrium?

Sexism...??


We can hope for mathematical terms to be used consistently,
but asking for them to be transparent is probably too much to
hope for.  (We can and should use intention-revealing names
in a program, but doing it across the totality of all programs
is something never achieved and probably never achievable.)
We have jokers: Evolutionary media, like markdown or even stylesheet may 
allow us to switch and translate in a moment, and many more useful 
gimmicks... Online collaboration platforms...


And we can stay pragmatical: If we can reach a (broad, to my 
estimate...) public, which originally would have to say «the book has 
really left me dumbfounded» (so the originator of this thread) and offer 
them an entertaining intuitive way -- why not even in a 
self-configurable way? -- category theory could be introduced to 
contemporary culture.


Personally, I can't accept statements like (in another posting) «You 
need a lot of training in abstraction to learn very abstract concepts. 
Joe Sixpack's common sense isn't prepared for that.»


Instead, I think that there is good evidence to believe that there are 
lots of isomorphisms to be found between every day's life and 
terminology and concepts category theory -- *not* to be confused with 
its *applications to maths*...


And, to close in your figurative style:

Which woman gets hurt by a change of clothes?

Cheers,

Nick




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


Re: [Haskell-cafe] Restricted categories

2010-02-20 Thread Nick Rudnick

Alexander Solla wrote:
You specifically ask withConstraintsOf to accept only Suitable2's when 
you say
withConstraintsOf :: Suitable2 m a b = m a b - (Constraints m a b 
- k) - k


But you aren't saying that the argument of withConstraintsOf IS a 
Suitable2, when you say:

instance (RCategory c1, RCategory c2) = RCategory (c1 :***: c2) where
id = withResConstraints $ \ProdConstraints - id :***: id
-- f@(f1 :***: f2) . g@(g1 :***: g2) =
-- withResConstraints $ \ProdConstraints -
-- withConstraintsOf f $ \ProdConstraints -
-- withConstraintsOf g $ \ProdConstraints -
-- (f1 . g1) :***: (f2 . g2) 
As I understand, Sjoerd expects this to be done at the definition of (.) 
in the type class RCategory, so that an instance method can relay on the 
constraints collected by it:

class RCategory (~) where
  id :: Suitable2 (~) a a = a ~ a
  (.) :: (Suitable2 (~) b c, Suitable2 (~) a b, Suitable2 (~) a c) = b ~ c - a 
~ b - a ~ c
  
A simple example: 


class Show el= ExceptionNote el where
comment:: Show exception= exception- el- String

instance ExceptionNote Int where
comment exception refId = show refId ++ :  ++ show exception

Here you don't need to constrain ?exception? to be of ?Show? at the 
instance declaration. So it does not appear wrong for Sjoerd to expect f 
and g to already be of Suitable2...


This is exciting stuff, I am really a little astonished about the giant 
leap Haskell has made since my efforts to translate the examples of 
Rydeheart  Burstall, which actually was my intro to categories, from ML 
to Haskell. This looks very elegant... Maybe it's time for a second 
edition of the unique approach of Rydeheart  Burstall on basis of 
Haskell? Wow, really cool stuff... :-)


Cheers,

Nick
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Category Theory woes

2010-02-18 Thread Nick Rudnick
IM(H??)O, a really introductive book on category theory still is to be 
written -- if category theory is really that fundamental (what I 
believe, due to its lifting of restrictions usually implicit at 
'orthodox maths'), than it should find a reflection in our every day's 
common sense, shouldn't it?


In this case, I would regard it as desirable to -- in best refactoring 
manner -- to identify a wording in this language instead of the abuse of 
terminology quite common in maths, e.g.


* the definition of open/closed sets in topology with the boundary 
elements of a closed set to considerable extent regardable as facing to 
an «outside» (so that reversing these terms could even appear more 
intuitive, or «bordered» instead of closed and «unbordered» instead of 
open), or
* the abuse of abandoning imaginary notions in favour person's last 
names in tribute to successful mathematicians... Actually, that pupils 
get to know a certain lemma as «Zorn's lemma» does not raise public 
conciousness of Mr. Zorn (even among mathematicians, I am afraid) very 
much, does it?
* 'folkloristic' dropping of terminology -- even in Germany, where the 
term «ring» seems to originate from, since at least a century nowbody 
has the least idea it once had an alternative meaning «gang,band,group», 
which still seems unsatisfactory...


Here computing science has explored ways to do much better than this, 
and it might be time category theory is claimed by computer scientists 
in this regard. Once such a project has succeeded, I bet, mathematicians 
will pick up themselves these work to get into category theory... ;-)


As an example, let's play a little:

Arrows: Arrows are more fundamental than objects, in fact, categories 
may be defined with arrows only. Although I like the term arrow (more 
than 'morphism'), I intuitively would find the term «reference» less 
contradictive with the actual intention, as this term

* is very general,
* reflects well dual asymmetry,
* does harmoniously transcend the atomary/structured object perspective 
--  a an object may be in reference to another *by* substructure  (in 
the beginning, I was quite confused lack of explicit explicatation in 
this regard, as «arrow/morphism» at least to me impled objekt mapping 
XOR collection mapping).


Categories: In every day's language, a category is a completely 
different thing, without the least association with a reference system 
that has a composition which is reflective and associative. To identify 
a more intuitive term, we can ponder its properties,


* reflexivity: This I would interpret as «the references of a category 
may be regarded as a certain generalization of id», saying that 
references inside a category represent some kind of similarity (which in 
the most restrictive cases is equality).


* associativity: This I would interpret as «you can *fold* it», i.e. the 
behaviour is invariant to the order of composing references to composite 
references -- leading to «the behaviour is completely determined by the 
lower level reference structure» and therefore «derivations from lower 
level are possible»


Here, finding an appropriate term seems more delicate; maybe a neologism 
would do good work. Here one proposal:


* consequence/?consequentiality? : Pro: Reflects well reflexivity, 
associativity and duality; describing categories as «structures of 
(inner) consequence» seems to fit exceptionally well. The pictorial 
meaning of a «con-sequence» may well reflect the graphical structure. 
Gives a fine picture of the «intermediating forces» in observation and 
the «psychologism» becoming possible (- cf. CCCs, Toposes). Con: 
Personalized meaning has an association with somewhat unfriendly behaviour.


Anybody to drop a comment on this?

Cheers,

   Nick


Sean Leather wrote:

On Thu, Feb 18, 2010 at 04:27, Nick Rudnick wrote:

I haven't seen anybody mentioning «Joy of Cats» by  Adámek,
Herrlich  Strecker:

It is available online, and is very well-equipped with thorough
explanations, examples, exercises  funny illustrations, I would
say best of university lecture style:
http://katmat.math.uni-bremen.de/acc/. (Actually, the name of the
book is a joke on the set theorists' book «Joy of Set», which
again is a joke on «Joy of Sex», which I once found in my parents'
bookshelf... ;-))


This book reads quite nicely! I love the illustrations that pervade 
the technical description, providing comedic relief. I might have to 
go back a re-learn CT... again. Excellent recommendation!


For those looking for resources on category theory, here are my 
collected references: 
http://www.citeulike.org/user/spl/tag/category-theory


Sean


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


___
Haskell

Re: [Haskell-cafe] Category Theory woes

2010-02-18 Thread Nick Rudnick

Hi Daniel,

;-)) agreed, but is the word «Ring» itself in use? The same about the 
English language...  de.wikipedia says:


« Die Namensgebung /Ring/ bezieht sich nicht auf etwas anschaulich 
Ringförmiges, sondern auf einen organisierten Zusammenschluss von 
Elementen zu einem Ganzen. Diese Wortbedeutung ist in der deutschen 
Sprache ansonsten weitgehend verloren gegangen. Einige 
ältereVereinsbezeichnungen /wiki/Verein (wie z. B. Deutscher Ring 
/wiki/Deutscher_Ring, Weißer Ring /wiki/Wei%C3%9Fer_Ring_e._V.) oder 
Ausdrücke wie „Verbrecherring“ weisen noch auf diese Bedeutung hin. Das 
Konzept des Ringes geht auf Richard Dedekind 
/wiki/Richard_Dedekind zurück; die Bezeichnung /Ring/ wurde allerdings 
von David Hilbert /wiki/David_Hilbert eingeführt.» 
(http://de.wikipedia.org/wiki/Ringtheorie)


How many students are wondering confused about what is «the hollow» in a 
ring every year worlwide, since Hilbert made this unreflected wording, 
by just picking another term around «collection»? Although not a 
mathematician, I've visited several maths lectures, for interest, having 
the same problem. Then I began asking everybody I could reach -- and 
even maths professors could not tell me why this thing is called a «ring».


Thanks for your examples: A «gang» {of smugglers|car thieves} shows even 
the original meaning -- once knowed -- does not reflect the 
characteristics of the mathematical structure.


Cheers,

   Nick

Daniel Fischer wrote:

Am Donnerstag 18 Februar 2010 14:48:08 schrieb Nick Rudnick:
  

even in Germany, where the
term «ring» seems to originate from, since at least a century nowbody
has the least idea it once had an alternative meaning «gang,band,group»,



Wrong. The term Ring is still in use with that meaning in composites like 
Schmugglerring, Autoschieberring, ...


  


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


Re: [Haskell-cafe] Category Theory woes

2010-02-18 Thread Nick Rudnick

Hi Hans,

agreed, but, in my eyes, you directly point to the problem:

* doesn't this just delegate the problem to the topic of limit 
operations, i.e., in how far is the term «closed» here more perspicuous?


* that's (for a very simple concept) the way that maths prescribes:
+ historical background: «I take closed as coming from being closed 
under limit operations - the origin from analysis.»
+ definition backtracking: «A closure operation c is defined by the 
property c(c(x)) = c(x). If one takes c(X) = the set of limit points of 
X, then it is the smallest closed set under this operation. The closed 
sets X are those that satisfy c(X) = X. Naming the complements of the 
closed sets open might have been introduced as an opposite of closed.»


418 bytes in my file system... how many in my brain...? Is it efficient, 
inevitable? The most fundamentalist justification I heard in this regard 
is: «It keeps people off from thinking the could go without the 
definition...» Meanwhile, we backtrack definition trees filling books, 
no, even more... In my eyes, this comes equal to claiming: «You have 
nothing to understand this beyond the provided authoritative definitions 
-- your understanding is done by strictly following these.»


Back to the case of open/closed, given we have an idea about sets -- we 
in most cases are able to derive the concept of two disjunct sets facing 
each other ourselves, don't we? The only lore missing is just a Bool: 
Which term fits which idea? With a reliable terminology using 
«bordered/unbordered», there is no ambiguity, and we can pass on 
reading, without any additional effort.


Picking such an opportunity thus may save a lot of time and even error 
-- allowing you to utilize your individual knowledge and experience. I 
have hope that this approach would be of great help in learning category 
theory.


All the best,

   Nick


Hans Aberg wrote:

On 18 Feb 2010, at 14:48, Nick Rudnick wrote:

* the definition of open/closed sets in topology with the boundary 
elements of a closed set to considerable extent regardable as facing 
to an «outside» (so that reversing these terms could even appear more 
intuitive, or «bordered» instead of closed and «unbordered» instead 
of open),


I take closed as coming from being closed under limit operations - 
the origin from analysis. A closure operation c is defined by the 
property c(c(x)) = c(x). If one takes c(X) = the set of limit points 
of X, then it is the smallest closed set under this operation. The 
closed sets X are those that satisfy c(X) = X. Naming the complements 
of the closed sets open might have been introduced as an opposite of 
closed.


  Hans





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


Re: [Haskell-cafe] Category Theory woes

2010-02-18 Thread Nick Rudnick

Gregg Reynolds wrote:
On Thu, Feb 18, 2010 at 7:48 AM, Nick Rudnick 
joerg.rudn...@t-online.de mailto:joerg.rudn...@t-online.de wrote:


IM(H??)O, a really introductive book on category theory still is
to be written -- if category theory is really that fundamental
(what I believe, due to its lifting of restrictions usually
implicit at 'orthodox maths'), than it should find a reflection in
our every day's common sense, shouldn't it?


Goldblatt works for me.
Accidentially, I have Goldblatt here, although I didn't read it before 
-- you agree with me it's far away from every day's common sense, even 
for a hobby coder?? I mean, this is not «Head first categories», is it? 
;-)) With «every day's common sense» I did not mean «a mathematician's 
every day's common sense», but that of, e.g., a housewife or a child...


But I have became curious now for Goldblatt...
 



* the definition of open/closed sets in topology with the boundary
elements of a closed set to considerable extent regardable as
facing to an «outside» (so that reversing these terms could even
appear more intuitive, or «bordered» instead of closed and
«unbordered» instead of open),


Both have a border, just in different places.

Which elements form the border of an open set??



As an example, let's play a little:

Arrows: Arrows are more fundamental than objects, in fact,
categories may be defined with arrows only. Although I like the
term arrow (more than 'morphism'), I intuitively would find the
term «reference» less contradictive with the actual intention, as
this term

Arrows don't refer. 
A *referrer* (object) refers to a *referee* (object) by a *reference* 
(arrow).
 


Categories: In every day's language, a category is a completely
different thing, without the least


Not necesssarily (for Kantians, Aristoteleans?)
Are you sure...?? See 
http://en.wikipedia.org/wiki/Categories_(Aristotle) ...
  If memory serves, MacLane says somewhere that he and Eilenberg 
picked the term category as an explicit play on the same term in 
philosophy.
In general I find mathematical terminology well-chosen and revealing, 
if one takes the trouble to do a little digging.  If you want to know 
what terminological chaos really looks like try linguistics.
;-) For linguistics, granted... In regard of «a little digging», don't 
you think terminology work takes a great share, especially at 
interdisciplinary efforts? Wouldn't it be great to be able to drop, say 
20% or even more, of such efforts and be able to progress more fluidly ?


-g



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


Re: Fwd: [Haskell-cafe] Category Theory woes

2010-02-18 Thread Nick Rudnick

Hi Mike,

so an open set does not contain elements constituting a border/boundary 
of it, does it?


But a closed set does, doesn't it?

Cheers,

   Nick

Michael Matsko wrote:


- Forwarded Message -
From: Michael Matsko msmat...@comcast.net
To: Nick Rudnick joerg.rudn...@t-online.de
Sent: Thursday, February 18, 2010 2:16:18 PM GMT -05:00 US/Canada Eastern
Subject: Re: [Haskell-cafe] Category Theory woes

Gregg,

 

   Topologically speaking, the border of an open set is called the 
boundary of the set.  The boundary is defined as the closure of the 
set minus the set itself.  As an example consider the open interval 
(0,1) on the real line.  The closure of the set is [0,1], the closed 
interval on 0, 1.  The boundary would be the points 0 and 1.


 


Mike Matsko


- Original Message -
From: Nick Rudnick joerg.rudn...@t-online.de
To: Gregg Reynolds d...@mobileink.com
Cc: Haskell Café List haskell-cafe@haskell.org
Sent: Thursday, February 18, 2010 1:55:31 PM GMT -05:00 US/Canada Eastern
Subject: Re: [Haskell-cafe] Category Theory woes

Gregg Reynolds wrote:

On Thu, Feb 18, 2010 at 7:48 AM, Nick Rudnick
joerg.rudn...@t-online.de mailto:joerg.rudn...@t-online.de wrote:

IM(H??)O, a really introductive book on category theory still
is to be written -- if category theory is really that
fundamental (what I believe, due to its lifting of
restrictions usually implicit at 'orthodox maths'), than it
should find a reflection in our every day's common sense,
shouldn't it?


Goldblatt works for me.

Accidentially, I have Goldblatt here, although I didn't read it before 
-- you agree with me it's far away from every day's common sense, even 
for a hobby coder?? I mean, this is not «Head first categories», is 
it? ;-)) With «every day's common sense» I did not mean «a 
mathematician's every day's common sense», but that of, e.g., a 
housewife or a child...


But I have became curious now for Goldblatt...

 



* the definition of open/closed sets in topology with the
boundary elements of a closed set to considerable extent
regardable as facing to an «outside» (so that reversing these
terms could even appear more intuitive, or «bordered» instead
of closed and «unbordered» instead of open),


Both have a border, just in different places.

Which elements form the border of an open set??



As an example, let's play a little:

Arrows: Arrows are more fundamental than objects, in fact,
categories may be defined with arrows only. Although I like
the term arrow (more than 'morphism'), I intuitively would
find the term «reference» less contradictive with the actual
intention, as this term

Arrows don't refer. 

A *referrer* (object) refers to a *referee* (object) by a *reference* 
(arrow).


 


Categories: In every day's language, a category is a
completely different thing, without the least


Not necesssarily (for Kantians, Aristoteleans?)

Are you sure...?? See 
http://en.wikipedia.org/wiki/Categories_(Aristotle) ...


  If memory serves, MacLane says somewhere that he and Eilenberg
picked the term category as an explicit play on the same term in
philosophy.

In general I find mathematical terminology well-chosen and
revealing, if one takes the trouble to do a little digging.  If
you want to know what terminological chaos really looks like try
linguistics.

;-) For linguistics, granted... In regard of «a little digging», don't 
you think terminology work takes a great share, especially at 
interdisciplinary efforts? Wouldn't it be great to be able to drop, 
say 20% or even more, of such efforts and be able to progress more 
fluidly ?



-g



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



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


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


Re: [Haskell-cafe] Category Theory woes

2010-02-18 Thread Nick Rudnick

Hi Mike,


of course... But in the same spirit, one could introduce a 
straightforward extension, «partially bordered», which would be as least 
as good as «clopen»... ;-)


I must admit we've come a little off the topic -- how to introduce to 
category theory. The intent was to present some examples that 
mathematical terminology culture is not that exemplary as one should 
expect, but to motivate an open discussion about how one might «rename 
refactor» category theory (of 2:48 PM).


I would be very interested in other people's proposals... :-)

Michael Matsko wrote:


Nick,

 

   That is correct.  An open set contains no point on its boundary. 

 

   A closed set contains its boundary, i.e. for a closed set c, 
Closure(c) = c. 

 

   Note that for a general set, which is neither closed or open (say 
the half closed interval (0,1]), may contain points on its boundary.  
Every set contains its interior, which is the part of the set without 
its boundary and is contained in its closure - for a given set x, 
Interior(x) is a subset of x is a subset of Closure(x). 

 


Mike

 
- Original Message -

From: Nick Rudnick joerg.rudn...@t-online.de
To: Michael Matsko msmat...@comcast.net
Cc: haskell-cafe@haskell.org
Sent: Thursday, February 18, 2010 3:15:49 PM GMT -05:00 US/Canada Eastern
Subject: Re: Fwd: [Haskell-cafe] Category Theory woes

Hi Mike,

so an open set does not contain elements constituting a 
border/boundary of it, does it?


But a closed set does, doesn't it?

Cheers,

Nick

Michael Matsko wrote:


- Forwarded Message -
From: Michael Matsko msmat...@comcast.net
To: Nick Rudnick joerg.rudn...@t-online.de
Sent: Thursday, February 18, 2010 2:16:18 PM GMT -05:00 US/Canada
Eastern
Subject: Re: [Haskell-cafe] Category Theory woes

Gregg,

 


   Topologically speaking, the border of an open set is called the
boundary of the set.  The boundary is defined as the closure of
the set minus the set itself.  As an example consider the open
interval (0,1) on the real line.  The closure of the set is [0,1],
the closed interval on 0, 1.  The boundary would be the points 0
and 1.

 


Mike Matsko


- Original Message -
From: Nick Rudnick joerg.rudn...@t-online.de
To: Gregg Reynolds d...@mobileink.com
Cc: Haskell Café List haskell-cafe@haskell.org
Sent: Thursday, February 18, 2010 1:55:31 PM GMT -05:00 US/Canada
Eastern
Subject: Re: [Haskell-cafe] Category Theory woes

Gregg Reynolds wrote:

On Thu, Feb 18, 2010 at 7:48 AM, Nick Rudnick
joerg.rudn...@t-online.de mailto:joerg.rudn...@t-online.de
wrote:

IM(H??)O, a really introductive book on category theory
still is to be written -- if category theory is really
that fundamental (what I believe, due to its lifting of
restrictions usually implicit at 'orthodox maths'), than
it should find a reflection in our every day's common
sense, shouldn't it?


Goldblatt works for me.

Accidentially, I have Goldblatt here, although I didn't read it
before -- you agree with me it's far away from every day's common
sense, even for a hobby coder?? I mean, this is not «Head first
categories», is it? ;-)) With «every day's common sense» I did not
mean «a mathematician's every day's common sense», but that of,
e.g., a housewife or a child...

But I have became curious now for Goldblatt...

 



* the definition of open/closed sets in topology with the
boundary elements of a closed set to considerable extent
regardable as facing to an «outside» (so that reversing
these terms could even appear more intuitive, or
«bordered» instead of closed and «unbordered» instead of
open),


Both have a border, just in different places.

Which elements form the border of an open set??



As an example, let's play a little:

Arrows: Arrows are more fundamental than objects, in fact,
categories may be defined with arrows only. Although I
like the term arrow (more than 'morphism'), I intuitively
would find the term «reference» less contradictive with
the actual intention, as this term

Arrows don't refer. 


A *referrer* (object) refers to a *referee* (object) by a
*reference* (arrow).

 


Categories: In every day's language, a category is a
completely different thing, without the least


Not necesssarily (for Kantians, Aristoteleans?)

Are you sure...?? See
http://en.wikipedia.org/wiki/Categories_(Aristotle) ...

  If memory serves, MacLane says somewhere that he and
Eilenberg picked the term category as an explicit play on
the same term in philosophy.

In general I find mathematical

Re: [Haskell-cafe] Category Theory woes

2010-02-18 Thread Nick Rudnick

Hans Aberg wrote:

On 18 Feb 2010, at 19:19, Nick Rudnick wrote:


agreed, but, in my eyes, you directly point to the problem:

* doesn't this just delegate the problem to the topic of limit 
operations, i.e., in how far is the term «closed» here more perspicuous?


* that's (for a very simple concept) the way that maths prescribes:
+ historical background: «I take closed as coming from being closed 
under limit operations - the origin from analysis.»
+ definition backtracking: «A closure operation c is defined by the 
property c(c(x)) = c(x). If one takes c(X) = the set of limit points 
of X, then it is the smallest closed set under this operation. The 
closed sets X are those that satisfy c(X) = X. Naming the complements 
of the closed sets open might have been introduced as an opposite of 
closed.»


418 bytes in my file system... how many in my brain...? Is it 
efficient, inevitable?


Yes, it is efficient conceptually. The idea of closed sets let to 
topology, and in combination with abstractions of differential 
geometry led to cohomology theory which needed category theory solving 
problems in number theory, used in a computer language called Haskell 
using a feature called Currying, named after a logician and 
mathematician, though only one person.

It is SUCCESSFUL, NO MATTER... :-)

But I spoke about efficiency, in the Pareto sense 
(http://en.wikipedia.org/wiki/Pareto_efficiency)... Can we say that the 
way in which things are done now cannot be improved??


Hans, you were the most specific response to my actual intention -- 
could I clear up the reference thing for you?


All the best,

   Nick




  Hans





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


Re: [Haskell-cafe] Category Theory woes

2010-02-18 Thread Nick Rudnick

Hi Alexander,

my actual posting was about rename refactoring category theory; 
closed/open was just presented as an example for suboptimal terminology 
in maths. But of course, bordered/unbordered would be extended by e.g. 
«partially bordered» and the same holds.


Cheers,

   Nick

Alexander Solla wrote:


On Feb 18, 2010, at 10:19 AM, Nick Rudnick wrote:

Back to the case of open/closed, given we have an idea about sets -- 
we in most cases are able to derive the concept of two disjunct sets 
facing each other ourselves, don't we? The only lore missing is just 
a Bool: Which term fits which idea? With a reliable terminology using 
«bordered/unbordered», there is no ambiguity, and we can pass on 
reading, without any additional effort.



There are sets that only partially contain their boundary.  They are 
neither open nor closed, in the usual topology.  Consider (0,1] in the 
Real number line.  It contains 1, a boundary point.  It does not 
contain 0.  It is not an open set OR a closed set in the usual 
topology for R.


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


Re: [Haskell-cafe] Category Theory woes

2010-02-18 Thread Nick Rudnick

Gregg Reynolds wrote:
On Thu, Feb 18, 2010 at 1:31 PM, Daniel Fischer 
daniel.is.fisc...@web.de mailto:daniel.is.fisc...@web.de wrote:


Am Donnerstag 18 Februar 2010 19:55:31 schrieb Nick Rudnick:
 Gregg Reynolds wrote:

 


 -- you agree with me it's far away from every day's common
sense, even
 for a hobby coder?? I mean, this is not «Head first categories»,
is it?
 ;-)) With «every day's common sense» I did not mean «a
mathematician's
 every day's common sense», but that of, e.g., a housewife or a
child...

Doesn't work. You need a lot of training in abstraction to learn very
abstract concepts. Joe Sixpack's common sense isn't prepared for that.


True enough, but I also tend to think that with a little imagination 
even many of the most abstract concepts can be illustrated with 
intuitive, concrete examples, and it's a fun (to me) challenge to try 
come up with them.  For example, associativity can be nicely 
illustrated in terms of donning socks and shoes - it's not hard to 
imagine putting socks into shoes before putting feet into socks.  A 
little weird, but easily understandable.  My guess is that with a 
little effort one could find good concrete examples of at least 
category, functor, and natural transformation.  Hmm, how is a 
cake-mixer like a cement-mixer?  They're structurally and functionally 
isomorphic.  Objects in the category Mixer?
:-) This comes close to what I mean -- the beauty of category theory 
does not end at the borders of mathematical subjects...


IMHO we are just beginning to discovery of the categorical world beyond 
mathematics, and I think many findings original to computer science, but 
less to maths may be of value then.


And I am definitely more optimistic on «Joe Sixpack's common sense», 
which still surpasses a good lot of things possible with AI -- no 
categories at all there?? I can't believe...
 


  Both have a border, just in different places.

 Which elements form the border of an open set??

The boundary of an open set is the boundary of its complement.
The boundary may be empty (happens if and only if the set is
simultaneously
open and closed, clopen, as some say).

Right, that was what I meant; the point being that boundary (or 
border, or periphery or whatever) is not sufficient to capture the 
idea of closed v. open.
;-)) I did not claim «bordered» is the best choice, I just said 
closed/open is NOT... IMHO this also does not affect what I understand 
as a refactoring -- just imagine Coq had a refactoring browser; all 
combinations of terms are possible as before, aren't they? But it was 
not my aim to begin enumerating all variations of «bordered», 
«unbordered», «partially ordered» and STOP...


Should I come QUICKLY with a pendant to «clopen» now? This would be 
«MATHS STYLE»...!


I neither say finding an appropriate word here is a quickshot, nor I 
claim trying so is ridiculous, as it is impossible.


I think it is WORK, which is to be done in OPEN DISCUSSION -- and that, 
at the long end, the result might be rewarding, similar as the effort 
put into a rename refactoring will reveal rewarding. ;-))


Trying a refactored category theory (with a dictionary in the 
appendix...) might open access to many interesting people and subjects 
otherwise out of reach. And deeply contemplating terminology cannot 
hurt, at the least...



All the best,

   Nick
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Category Theory woes

2010-02-18 Thread Nick Rudnick

Hans Aberg wrote:

On 18 Feb 2010, at 23:02, Nick Rudnick wrote:

418 bytes in my file system... how many in my brain...? Is it 
efficient, inevitable?


Yes, it is efficient conceptually. The idea of closed sets let to 
topology, and in combination with abstractions of differential 
geometry led to cohomology theory which needed category theory 
solving problems in number theory, used in a computer language 
called Haskell using a feature called Currying, named after a 
logician and mathematician, though only one person.

It is SUCCESSFUL, NO MATTER... :-)

But I spoke about efficiency, in the Pareto sense 
(http://en.wikipedia.org/wiki/Pareto_efficiency)... Can we say that 
the way in which things are done now cannot be improved??


Hans, you were the most specific response to my actual intention -- 
could I clear up the reference thing for you?


That seems to be an economic theory version of utilitarianism - the 
problem is that when dealing with concepts there may be no optimizing 
function to agree upon. There is an Occam's razor one may try to apply 
in the case of axiomatic systems, but one then finds it may be more 
practical with one that is not minimal.
Exactly. By this I justify my questioning of inviolability of the state 
of art of maths terminology -- an open discussion should be allowed at 
any time...


As for the naming problem, it is more of a linguistic problem: the 
names were somehow handed by tradition, and it may be difficult to 
change them. For example, there is a rumor that kangaroo means I do 
not understand in a native language; assuming this to be true, it 
might be difficult to change it.
Completely d'accord. This is indeed a strong problem, and I fully agree 
if you say that, for maths, trying this is for people with fondness for 
speaker's corner... :-)) But for category theory, a subject (too!) many 
people are complaining about, blind for its beauty, a such book -- 
ideally in children's language and illustrations, of course with a 
dictionary to original terminology in the appendix! -- could be of great 
positive influence on category theory itself. And the deep contemplation 
encompassing the *collective* creation should be most rewarding in 
itself -- a journey without haste into the depths of the subject.


Mathematicians though stick to their own concepts and definitions 
individually. For example, I had conversations with one who calls 
monads triads, and then one has to cope with that.

Yes. But isn't it also an enrichment by some way?

All the best,

Nick
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Category Theory woes

2010-02-18 Thread Nick Rudnick

Alexander Solla wrote:


On Feb 18, 2010, at 2:08 PM, Nick Rudnick wrote:

my actual posting was about rename refactoring category theory; 
closed/open was just presented as an example for suboptimal 
terminology in maths. But of course, bordered/unbordered would be 
extended by e.g. «partially bordered» and the same holds.


And my point was that your terminology was suboptimal for just the 
same reasons.  The difficulty of mathematics is hardly the funny names.

:-) Criticism... Criticism is good at this place... Opens up things...


Perhaps you're not familiar with the development of Category theory.  
Hans Aberg gave a brief development.  Basically, Category theory is 
the RESULT of the refactoring you're asking about.  Category theory's 
beginnings are found in work on differential topology (where functors 
and higher order constructs took on a life of their own), and the 
unification of topology, lattice theory, and universal algebra (in 
order to ground that higher order stuff).  Distinct models and notions 
of computation were unified, using arrows and objects. 

Now, you could have a legitimate gripe about current category theory 
terminology.  But I am not so sure.  We can simplify lots of 
things.  Morphisms can become arrows or functions.  Auto- can become 
self-.  Homo- can become same-.  Functors can become Category 
arrows.  Does it help?  You tell me.

I think I understand what you mean and completely agree...

The project in my imagination is different, I read on...


But if we're ever going to do anything interesting with Category 
theory, we're going to have to go into the realm of dealing with SOME 
kind of algebra.  We need examples, and the mathematically tractable 
ones have names like group, monoid, ring, field, 
sigma-algebras, lattices, logics, topologies, geometries.  
They are arbitrary names, grounded in history.  Any other choice is 
just as arbitrary, if not more so.  The closest thing algebras have to 
a unique name is their signature -- basically their axiomatization -- 
or a long descriptive name in terms of arbitrary names and adjectives 
(the Cartesian product of a Cartesian closed category and a groupoid 
with groupoid addition induced by).  The case for Pareto 
efficiency is here:  is changing the name of these kinds of structures 
wholesale a win for efficiency?  The answer is no.  Everybody would 
have to learn the new, arbitrary names, instead of just some people 
having to learn the old arbitrary names.

Ok...


Let's compare this to the monad fallacy.  It is said every beginner 
Haskell programmer write a monad tutorial, and often falls into the 
monad fallacy of thinking that there is only one interpretation for 
monadism.  Monads are relatively straightforward.  Their power comes 
from the fact that many different kinds of things are monadic -- 
sequencing, state, function application.  What name should we use for 
monads instead?  Which interpretation must we favor, despite the fact 
that others will find it counter-intuitive?  Or should we choose to 
not favor one, and just pick a new arbitrary name?
The short answer: If the work I imagine would be done by exchanging here 
a word and there on the quick -- it would be again maths style, with 
difference only in justifying it with naivity instead of resignation.


The idea I have is different: DEEP CONTEMPLATION stands in the 
beginning, gathering the constructive criticism of the sharpest minds 
possible, hard discussions and debates full of temperament -- all of 
this already rewarding in itself. The participants are united in the 
spirit to create a masterpiece, and to explore details in depths for 
which time was missing before. It could be great fun for everybody to 
improve one's deep intuition of category theory.


This book might be comparable to a programming language, hypertext like 
a wikibook and maybe in development forever. It will have an appendix 
(or later a special mode) with a translation of all new termini into the 
original ones.


I do believe deeply that this is possible. By all criticism on Bourbaki 
-- I was among the generation of pupils taught set theory in elementary 
school; looking back, I regard it as a rewarding effort. Why should 
category theory not be able to achieve the same, maybe with other means 
than plastic chips?


All the best,

   Nick




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


Re: [Haskell-cafe] Category Theory woes

2010-02-18 Thread Nick Rudnick

Daniel Fischer wrote:

Am Donnerstag 18 Februar 2010 19:19:36 schrieb Nick Rudnick:
  

Hi Hans,

agreed, but, in my eyes, you directly point to the problem:

* doesn't this just delegate the problem to the topic of limit
operations, i.e., in how far is the term «closed» here more perspicuous?



It's fairly natural in German, abgeschlossen: closed, finished, complete; 
offen: open, ongoing.


  

* that's (for a very simple concept)



That concept (open and closed sets, topology more generally) is *not* very 
simple. It has many surprising aspects.
  
«concept» is a word of many meanings; to become more specific: Its 
*definition* is...
  

the way that maths prescribes:
+ historical background: «I take closed as coming from being closed
under limit operations - the origin from analysis.»
+ definition backtracking: «A closure operation c is defined by the
property c(c(x)) = c(x).



Actually, that's incomplete, missing are
- c(x) contains x
- c(x) is minimal among the sets containing x with y = c(y).
  
Even more workload to master... This strengthens the thesis that 
definition recognition requires a considerable amount of one's effort...

If one takes c(X) = the set of limit points of



Not limit points, Berührpunkte (touching points).

  

X, then it is the smallest closed set under this operation. The closed
sets X are those that satisfy c(X) = X. Naming the complements of the
closed sets open might have been introduced as an opposite of closed.»

418 bytes in my file system... how many in my brain...? Is it efficient,
inevitable? The most fundamentalist justification I heard in this regard
is: «It keeps people off from thinking the could go without the
definition...» Meanwhile, we backtrack definition trees filling books,
no, even more... In my eyes, this comes equal to claiming: «You have
nothing to understand this beyond the provided authoritative definitions
-- your understanding is done by strictly following these.»



But you can't understand it except by familiarising yourself with the 
definitions and investigating their consequences.
The name of a concept can only help you remembering what the definition 
was. Choosing obvious names tends to be misleading, because there usually 
are things satisfying the definition which do not behave like the obvious 
name implies.
  
So if you state that the used definitions are completely unpredictable 
so that they have to be studied completely -- which already ignores that 
human brain is an analogous «machine» --, you, by information theory, 
imply that these definitions are somewhat arbitrary, don't you? This in 
my eyes would contradict the concept such definition systems have about 
themselves.


To my best knowledge it is one of the best known characteristics of 
category theory that it revealed in how many cases maths is a repetition 
of certain patterns. Speaking categorically it is good practice to 
transfer knowledge from on domain to another, once the required 
isomorphisms could be established. This way, category theory itself has 
successfully torn down borders between several subdisciplines of maths 
and beyond.


I just propose to expand the same to common sense matters...

Back to the case of open/closed, given we have an idea about sets -- we
in most cases are able to derive the concept of two disjunct sets facing
each other ourselves, don't we? The only lore missing is just a Bool:
Which term fits which idea? With a reliable terminology using
«bordered/unbordered», there is no ambiguity, and we can pass on
reading, without any additional effort.



And we'd be very wrong. There are sets which are simultaneously open and 
closed. It is bad enough with the terminology as is, throwing in the 
boundary (which is an even more difficult concept than open/closed) would 
only make things worse.
  
Really? As «open == not closed» can similarly be implied, 
bordered/unbordered even in this concern remains at least equal...

Picking such an opportunity thus may save a lot of time and even error
-- allowing you to utilize your individual knowledge and experience. I



When learning a formal theory, individual knowledge and experience (except 
coming from similar enough disciplines) tend to be misleading more than 
helpful.
  

Why does the opposite work well for computing science?

All the best,

   Nick

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


Re: [Haskell-cafe] Category Theory woes

2010-02-18 Thread Nick Rudnick

Hi Alexander,

please be more specific -- what is your proposal?

Seems as if you had more to say...

   Nick

Alexander Solla wrote:


On Feb 18, 2010, at 4:49 PM, Nick Rudnick wrote:


Why does the opposite work well for computing science?


Does it?  I remember a peer trying to convince me to use the factory 
pattern in a language that supports functors.  I told him I would do 
my task my way, and he could change it later if he wanted.  He told me 
an hour later he tried a trivial implementation, and found that the 
source was twice as long as my REAL implementation, split across 
multiple files in an unattractive way, all while losing conceptual 
clarity.  He immediately switched to using functors too.  He didn't 
even know he wanted a functor, because the name factory clouded his 
interpretation.


Software development is full of people inventing creative new ways to 
use the wrong tool for the job.




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


Re: [Haskell-cafe] Category Theory woes

2010-02-18 Thread Nick Rudnick

Hi,

wow, a topic specific response, at last... But I wish you would be more 
specific... ;-)



A *referrer* (object) refers to a *referee* (object) by a *reference*
(arrow).



Doesn't work for me. Not in Ens (sets, maps), Grp (groups, homomorphisms), 
Top (topological spaces, continuous mappings), Diff (differential 
manifolds, smooth mappings), ... .
  

Why not begin with SET and functions...

Every human has a certain age, so that there is a function, ageOf:: 
Human- Int, which can be regarded as a certain way of a reference 
relationship between Human and Int, in that by agoOf,


* Int reflects a certain aspect of Human, and, on the other hand,
* the structure of Human can be traced to Int.

Please tell me the aspect you feel uneasy with, and please give me your 
opinion, whether (in case of accepting this) you would rather choose to 
consider Human as referrer and Int as referee of the opposite -- for I 
think this is a deep question.


Thank you in advance,

   Nick



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


Re: [Haskell-cafe] Category Theory woes

2010-02-17 Thread Nick Rudnick
I haven't seen anybody mentioning «Joy of Cats» by  Adámek, Herrlich  
Strecker:


It is available online, and is very well-equipped with thorough 
explanations, examples, exercises  funny illustrations, I would say 
best of university lecture style: http://katmat.math.uni-bremen.de/acc/. 
(Actually, the name of the book is a joke on the set theorists' book 
«Joy of Set», which again is a joke on «Joy of Sex», which I once found 
in my parents' bookshelf... ;-))


Another alternative: Personally, I had difficulties with the somewhat 
arbitrary terminology, at times a hindrance to intuitive understanding - 
and found intuitive access by programming examples, and the book was 
«Computational Category Theory» by Rydeheart  Burstall, also now 
available online at http://www.cs.man.ac.uk/~david/categories/book/, 
done with the functional language ML. Later I translated parts of it to 
Haskell which was great fun, and the books content is more beginner 
level than any other book I've seen yet.


The is also a programming language project dedicated to category theory, 
«Charity», at the university of Calgary: 
http://pll.cpsc.ucalgary.ca/charity1/www/home.html.


Any volunteers in doing a RENAME REFACTORING of category theory together 
with me?? ;-))


Cheers,

  Nick


Mark Spezzano wrote:

Hi all,

I'm trying to learn Haskell and have come across Monads. I kind of understand monads now, but I would really like to understand where they come from. So I got a copy of Barr and Well's Category Theory for Computing Science Third Edition, but the book has really left me dumbfounded. It's a good book. But I'm just having trouble with the proofs in Chapter 1--let alone reading the rest of the text. 

Are there any references to things like Hom Sets and Hom Functions in the literature somewhere and how to use them? The only book I know that uses them is this one. 


Has anyone else found it frustratingly difficult to find details on 
easy-to-diget material on Category theory. The Chapter that I'm stuck on is 
actually labelled Preliminaries and so I reason that if I can't do this, then 
there's not much hope for me understanding the rest of the book...

Maybe there are books on Discrete maths or Algebra or Set Theory that deal more 
with Hom Sets and Hom Functions?

Thanks,

Mark Spezzano.

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

  


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


[Haskell-cafe] Any way to catch segmentation fault?

2009-03-18 Thread Nick Rudnick
Hi all,

doing some work with a regex library I stumbled over some segmentation
faults due to illegal byte combinatations.

Looking for a way to get this caught some way, I failed in finding any place
at GHC (6.10.1) or Hackage libraries where this is covered -- a quick check
with HUnit revealed it to be crashing by this phenomenon.

So I would like to ask about the state of this issue,

o   Is there principally no way to (generally) catch segmentation faults??
(This would be hard to believe, as the described kind of noise is to be
expected at production systems, especially with user generated content.)

o   Are segmentation faults «prohibited» in Haskell so the advice is just to
change the used library and forget the whole stuff??

o   Did I oversee the generic mechanism for catching of segmentation
faults?? (If yes, do you please give me a hint??)

o   If no, is there a workaround which might be practicable??


Thanks a lot in advance,

Dorinho
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe