David Corking's Library tagged → View Popular
Is the Supremacy of Object-Oriented Programming Over?
Inspirational
-
Add Sticky Note
- Strange that he didn't mention CLOS - a way of using all the features of object orientation in Lisp. - on 2009-04-25
One Man Hacking: Learning From Sudoku Solvers
Entertaining for geeks
-
Peter does **analytical systematic thinking**. Ron's process is essentially "try different things and when the tests pass, hopefully the problem is completely solved"
programming: Arc's Out
funny debate
-
paulgraham�6 points�12 days ago�*�[-]
I said that we are trying to write a language that people could use in 100 years. I didn't say we had, just that that was the goal.
Erlang, the next Java
Definitions of OO, and some perspectives on concurrent Erlang.
-
At the beginning of my course on OO design, I explain three views of OO programming. The Scandinavian view is that an OO system is one whose creators realize that programming is modeling. The mystical view is that an OO system is one that is built out of objects that communicate by sending messages to each other, and computation is the messages flying from object to object. The software engineering view is that an OO system is one that supports data abstraction, polymorphism by late-binding of function calls, and inheritance.
Erlang is a perfect example of the actor model, which is an example of the mystical view. ...
If you want to build a multicore application in the next few years, you should look at Erlang.
FACT! - Multiparadigm Programming with C++ | What's new
The FACT! open source library allows C++ programmers to create higher order functions.
-
Added the Y-Combinator.Now you can define recursive functions through lambda expressions.
Y Combinator in Python (reddit.com)
The Y Combinator in one line of Python
-
Y = lambda g: (lambda f: g(lambda arg: f(f)(arg))) (lambda f: g(lambda arg: f(f)(arg)
Nabble - Squeak - Dev - Getting double semi as sequencer harvested.
Some interesting recent debate on blocks and methods, from revered veterans.
-
I often find myself arguing for the creating of objects rather than
using blocks (and collections and dictionaries) in many professional
situations. People who get blocks sometimes rely on them way too much
and it obfuscates the code - anyone can write spaghetti code. As soon as
you are trying to do more than one different thing in a block or have
more than one data/object value to manage it's often better for an
object instead of a block. Often methods would be better off as their
own independent objects for similar reasons.
Caml capitalization - Working with Norman Ramsey
That is odd, I thought this was the origin of the term "Camel Case". I was wrong!
-
Objective Caml code avoids identifiers with InternalCapitals.
Simple Sequences - Avi Bryant
The fundamentals of execution control in a web application, and the value of continuaions - explained with some Seaside code.
-
To be concrete: in Seaside, that login page wouldn't have parameters, it would have a return value - some object representing the user or username that had logged in. The login event wouldn't just show the login page, it would "call" it: show it and then wait for, after some further events are triggered on the login page itself, a value to be returned. Only then, and after some processing of the return value, does the login event handler end, at which point the home page (or wherever we started) would be shown again and the event loop continued.
OpenLaszlo | the premier open-source platform for rich internet applications
Rich UI for web browsers - portable and open, in a functional scripting language. "the future is now"
-
OpenLaszlo programs are written in XML and JavaScript and transparently compiled to Flash and soon DHTML. The OpenLaszlo APIs provide animation, layout, data binding, server communication, and declarative UI.
Bracha and Bray on Continuations
The nexus of a hot debate among bloggers about continuations - and plenty of references to implementations.
-
Also, my "enterprisey" brethren would quickly point out that those Business Process Management systems wind up simulating continuations as well.
I hear the "documenty" folks do this too in the DLC space.
I've heard Dharma characterize his baby (Windows Workflow Foundation) as a continuation management runtime.
Continuations Made Simple and Illustrated
I haven't read this short article either!
-
For this reason, continuations have sometimes been described as `gotos with arguments'.
Sam Ruby: Continuations for Curmudgeons
This tutorial comes highly recommended.
-
if there was a period of time in which you programmed in a language which did not have garbage collection, then I mean you.
Bill Clementson's Blog: Implementing call/cc in CL
I already bookmarked the Guy Steele thread, but Bill pulls it together with other efforts in the area.
-
Guy Steele posted a hack that illustrated how rudimentary call/cc support could be added to CL with just a few lines of code. It's just a "toy, throwaway interpreter" (Guy's words), but it is an instructive one nonetheless. For posterity, here is his example code
Apache Cocoon tutorial - Use continuations to develop complex Web applications
A detailed tutorial on another web framework built on Continuation Passing Style (like UnCommon Web/lisp-on-lines, PLT Scheme web server, and Seaside) this time in Apache Cocoon (where it uses Rhino Javascript, or - at a push - Java)
-
The first controller engine supported by Cocoon was based on a version of Rhino JavaScript from Mozilla, because this provided support for continuations as first-class objects. As you'll see in the following example, using Cocoon with the controller means you must write the entire application as a single JavaScript program and register it as the flow controller with the sitemap specified for your Cocoon application.
Continuation-passing style - Wikipedia, the free encyclopedia
-
Programs can be automatically transformed from direct style to CPS. Functional and logic compilers often use CPS as an intermediate representation where a compiler for an imperative or procedural programming language might employ static single assignment form (SSA). CPS is used more frequently by compilers than by programmers as a local or global style.
Smalltalk/X Programmers guide - Smalltalk/X language
Functional programming (HOFs and closures) and more in Smalltalk
-
in Smalltalk, a block corresponds to a lambda; it is evaluated by sending it a #value message.
(since hyphens are not valid in identifiers, the names have been translated according to smalltalk conventions) makeAdder is a block which evaluates a block.
Blocks are closures; i.e. they remember their defining environment.
programming musings » Blog Archive » Programmers go bananas
Interesting blog - I will try to find the time to read it.
-
I will try in this article to give you a simplified overview of the concepts involved, including Category Theory, its application to programming languages and what funny names like catamorphism, anamorphism or lambda-lifting have to do with your everyday list manipulations.
Full Metal Jacket
-
The principal difference between Full Metal Jacket and existing visual dataflow languages such as Prograph is that Full Metal Jacket is a pure dataflow language, with no special syntax being required for control constructs such as loops or conditionals, which resemble ordinary methods except in the number of times they generate outputs. This uniform syntax means that, like Lisp and Prolog, methods in Full Metal Jacket are themselves data structures and can be manipulated as such.
Bill Clementson's Blog: Back from the UK
-
Of the 4 Lisp implementors at the table that night, it was interesting to note that 3 of them were Lisp-1 implementors.
Selected Tags
Related Tags
Sponsored Links
Top Contributors
Groups interested in Functional
Highlighter, Sticky notes, Tagging, Groups and Network: integrated suite dramatically boosting research productivity. Learn more »
Join Diigo
