archives

assistance with some data flow terms

I'm working out some rules for a data flow network and certain conditions apply in certain situations, but I am not sure what the accepted terminology is for these. So, if you will, what are the names for these:

numOut == numIn
A node (in a data flow graph) always provides exactly one output token for one input token. I've been calling this "systolic", but "systolic" really means "clocked" which this isn't necessarily.

numOut != numIn
A node may provide more or less than one output for one input. I've been calling this "asystolic", but that is even worse since I can't find much use of that term in the literature and in medicine it means "absence or cessation of heartbeat" or "any deviation from a healthy or normal condition" neither of which are desirable descriptions of the situation.

numOut <= numIn
A node provides an equal or fewer number of output tokens as input tokens, e.g. the "filter" operation from FP.

numOut >= numIn
A node provides at least as many output tokens as input tokens, possibly more.

Thank you!

Linear Types vs. Uniqueness Typing

Having a limited understanding of type theory, a question popped into my head. Linear types and Uniqueness seem to having a large number of striking similarities, but I imagine they are different in a few ways.

Can someone help me understand the trade-offs when using one or the other (or can one use both?) in the development of programming languages? This of course could range from the difficulty of implementation, to expressiveness, to efficiency.

Best regards,

MJ Stahl

Joshua Bloch: "Nearly All Binary Searches Broken"

This amusing discussion is coming up all over the place.

Notice that a language with slightly different semantics would "solve" this problem, or at least mitigate the problem: All you need is to have range constraints on integers, thus not allowing the numbers to overflow unnoticed. This is the standard out of the box behaviour of Ada, for example. So another way to view this is as a question of finding good default behaviour for programming languages (you can suppress the range checks in Ada, if you *really* want to).

LtU: blog not forum!

Hi all,
During recent weeks LtU changed its behaviour so much that I can hardly recognize it. Instead of focusing on the high quality items chosen by the contributing editors and posted to the homepage, most activity is in the forum which is starting to resemble comp.lang.misc. This change is partly the result of a couple of new and prolific members, but it seems many regulars enjoy these long threads, which to me seem rather pointless, and indeed want LtU to be more like USENET than like a group blog. I mentioned my concern in the specific threads I found problematic, so you can take a look and see the specific items I think are problematic for LtU.

As a recent message here said bluntly, LtU was created initially by me, but belongs to the entire community. This is not just true today: From early days I made sure LtU was a community site, and not my own personal playground. Thus, I feel reluctant to step in and end the threads that seem to me to be un-LtU like. I urge members to read our previous discussions about LtU's style and goals, including the suggestion that members publicly raise their concerns about items that seem inappropriate for LtU.

Due to my feelings regarding the current situation and similar concerns raised by others we are considering instituting several new measures.

One specific measure which we are considering adopting is that new forum topics posted by new members will be held for approval by moderators. The moderators could include the existing Contributing Editors, but we could also invite other respected LtU members to act as moderators, if it proves necessary. Note that this refers to items created using the "(new topic)" option. At this point we are not suggesting moderating comments on existing threads and homepage items. Members repeatedely violating our regular guidelines will be expelled or put on probation in the same way the happens today (a measure we adopted after the last round of etiquette discussions). This is an extreme measure and happens very rarely.

There's also a need for more explicit site policies, to help make it clear what is and isn't appropriate. This will help in ongoing moderation efforts, since in cases where a discussion is going off track, it is easier if an attempt at moderation can simply point to a specific, documented site policy. Any suggestions for site policies from LtU regulars are more than welcome, of course.

One policy which clearly seems needed is that we should try to avoid ungrounded discussions: discussions in which someone defends an idea that they haven't clearly described, and for which there are no existing references. We should not be playing "twenty questions" with people who haven't taken the trouble to express themselves clearly - it's unproductive, and tends to reduce the quality of discussion. LtU is best used to discuss ideas that were published and argued elsewhere. It is not usually a good place for design discussions and the like.

I'd like to hear what other members think. If long time members agree with me, and with the couple of other people who emailed their concern, I think it should be possible to return to the high quality of discussions we've come to expect on LtU. If, however, most members prefer the current situation, we will need to think carefully about the future direction and organization of the site.

Ehud

P.S
I remind readers that it is possible to simply read the homepage (I do it via RSS), and skip the LtU forum entirely.