User loginNavigation |
LtU ForumWill Kodak kill Java?
More political or economical than technological - software patents again:
Will dinosaurs kill each other with patents? Who will be the last saur standing? I know of a three-letter acronym company (not SCO) with a huge patent base - will it subsume all the (interesting) others (de facto, if not de jure)? How will it affect the progress? Probabilistic languages for kids?
Know any such languages? I am not sure exactly what such a language should like; I am fishing for ideas...
pLogo anyone? patterns in qmail
You might remember qmail from the MFA trial run discussed here before.
If so you might be interested in the paper The Security Architecture of qmail by M. Hafiz, R. Johnson, R. Afandi, PLoP2004. By Ehud Lamm at 2004-10-01 21:42 | LtU Forum | login or register to post comments | other blogs | 5432 reads
looking for an old conversation on CleanI believe there was a conversation on LtU once (perhaps LtU1?) where someone was explaining World-passing style in Clean (I think it was Clean), and explained that there was some syntax for making the World-passing implicit, so that it'll just automatically thread it through for you. I've searched the archives for a while to no avail. Does anyone remember the conversation I'm referring to? Galois: high assurance softwareThe ICFP 2004 program now links to the invited talks, in particular PowerPoint slides and MP3 audio for John Launchbury's excellent talk on bringing functional programming to the real world at Galois Connections. Using continuations for web programmingThe Cocoon project has introduced FlowScript. Flowscript is a
Monads in various languages
While working on implementing monads and comprehensions, I ran into a complication in translating comprehensions to their underlying monadic expressions. Looking at other languages for insight, I realized that all languages which make use of monads use type deduction and that this feature appears to be critical to making comprehensions work.
To translate a comprehension for a monad M, you need to translate expressions like [x+1 | x <- xm] where you know that xm:M(int) for a statically unknown monad M. But how do you typecheck "x+1", which requires that x is a numeric type? Nothing in this expression explicitly indicates that x is numeric. Thus one would need type deduction and explicit universal quantification with matching to deduce that x is numeric, or ugly explicit type specification on comprehensions like [x+1 | x::int <- xm]. My conjecture is that this is why monads happen to be widely-used only in languages supporting Hindley-Milner type deduction, while traditional languages use imperative constructs like iterators, exceptions and side-effects for roughly similar tasks. Monads would be awfully inconvenient without this syntactic sugar, which happens to rely on a rather narrowly-available language feature. I would appreciate any counterarguments on this conjecture. Also any references to non Hindley-Milner languages supporting monads conveniently. "The Silver Bullet"In "No Silver Bullet --Essence and Accidents of Software Engineering", author Fred Brooks argues about the inherent unreliability in software, and that there is perhaps no 'silver bullet' that will ever be found to correct the situation. Louis Savain has something to say about that. In "The Silver Bullet" he counters by saying:
There Is a Silver Bullet After All The brains of humans and animals are the existence proof that there is a silver bullet. Robustness and reliability are measured in terms of defects vs. complexity. Because of its sheer astronomical complexity, the brain is the most reliable complex system in the world. In fact, the more complex the brain gets (as it learns), the more reliable it becomes. By contrast, the reliability of software gets worse as its complexity increases. Any handcrafted software with the complexity of the brain would be so riddled with bugs as to be unusable. Conversely, given their low relative complexity, any handcrafted software with the reliability of the brain would almost never fail. This all leads into the description of Louis' brain child: Project COSA. Project COSA is a revolutionary take on software development. It removes the notion of a system of heterogeneous executable binaries, and instead presents a model consisting of a single execution kernel which passes over an entire network of 'cells' taking signals from output plugs and moving them to input sockets on other cells. Perhaps it could be thought of as programming using software integrated circuits, but in an abstract sense. If anything, it is certainly a departure from the normal syntax driven, algorithm based languages used now. While still a work in progress, it is something that all LtUers would be interesting in checking out. ICFP Contest ResultsI guess many people may already know, but the ICFP contest results are out. The judge's prize went to the OCaml people for designing and using AML (Ant Meta Language) as the ant language. In the main division, the second place used C++ and Haskell, and the first place used Haskell exclusively. Might be interesting to look at the language statistics for the submissions. By Andrei Formiga at 2004-09-27 13:12 | LtU Forum | login or register to post comments | other blogs | 6965 reads
Great Works in Programming LanguagesA collection organized by Benjamin C. Pierce.
Seems prime material here for Lambda. |
Browse archives
Active forum topics |
Recent comments
1 day 8 hours ago
2 days 5 hours ago
3 days 9 hours ago
3 days 9 hours ago
1 week 1 day ago
1 week 1 day ago
1 week 1 day ago
4 weeks 2 days ago
5 weeks 11 hours ago
5 weeks 17 hours ago