LtU Forum

The Worst Monad Tutorial... Except For All Those Others.

Excuse the tongue-in-cheek title of my recent post detailing my adventures in writing monads in C# 2.0. I believe I've finally nailed down the problems I was having, so thought I'd share. I'd welcome any corrections. :-)

Impact of OO language style on code

A few questions come to mind while reading about Salzman & Aldrich's PMD which combines multiple-dispatch and prototype OO, while eschewing Java/C# style class-based OO. Any experience/thoughts with respect to both language design and language use?

  1. Seems like the advantage they claim for the prototype approach is that behaviour really is part of the object, not the class. This allows one to remove complex conditional logic from inside methods, replacing it with specialized methods based on state.
    1. Question: taken to the extreme, would this mean any time you have a conditional which tests member data, you instead make a new object? How crazy does that get for understanding the code? Or for the VM dealing with the combinatorial explosion of objects?
  2. (less directly related to the paper...) Both the network approach of OO and the relational approach can run into broken references.
    1. Question: Is it generally the case that the OO approach leads to deferred runtime exceptions or leaks, whereas the usual approach with constraint/integrity checking in a relational database gives you the errors more "up front"?
    2. Question: Could one have some sort of integrity checking for the network model that would help show errors earlier?

Open5G web app language/system

Has anybody taken a look at Open5G? From only briefly looking at one code sample, it seems to at least partially be a JSP type thing where HTML is mixed up with code to build the final page/app. Apparently they made Zude with it.

The open-source Fifth Generation Language, Open5G, combined with the FifthGen Engine, is designed as a tightly-integrated self-contained development and execution environment utilizing best-of-breed programming tools and methodologies, optimized web/application server, highly-scalable relational/object database, and robust extension interface.

Open5G is a highly-optimized compiled language combining excellent performance and scalability with integrated support for pre-compiled objects and code-blocks, automated creation and utilization of p-code binaries, libraries, and intermediate files, as well as advanced resource caching and just-in-time (“JIT”) compiler.

Open5G provides strong dynamic data typing, support for procedural, functional, and object-oriented programming methodologies, and includes optimized memory and resource management with automated garbage collection.

Bret Victor's Substroke

I don't recall this being mentioned before. Bret Victor has some notes on the web about a visual transformation language he has been thinking about.

Substroke

Like pretty much everything he writes, it's worth reading and thought-provoking.

I Need some one help me in C programming.?

I need to do assignment for C program that need to be submit next week but I really don't understand how to do the assignment. I need someone who expert to help me in this problem. I really don't understand what the lecturer teach me because I'm not the local student in my university and sometime they speak their mother language and make misunderstand about what they want to teach me.

This is the question link. i hope if anyone who are expert in C programming can help me to do this assignment.

http://metalab.uniten.edu.my/~hazleen/CSEB213/first.htm

This is sample output..

I really appreciate to whom can help me. and send me the answer me here or jsut sent it to my email.

hardaez_nishi@yahoo.co.uk

Actually the assignment need to be done by group of three. But my member group did not co-operate with me and just keep asking me about the progress and do nothing and just leave it to me to do it alone.. I can't say a word to them because they are local student and I'm the one in my group from other country. so sad for me because getting bad member and I don't want to argue with them. and I think they don't know how to do the assignment at all. so i hope anyone can help me.

FreeBASIC

Hi there.

A member of our forum at FreeBASIC linked to an article about a language called 'Katahdin', so I looked around a bit... I liked reading that you strive to analyze languages at face value instead of following generalizations.

So I figured I'd tell you about our language FreeBASIC, it's sort of our idea of a 'natural' extension from the QBasic era to now... we implement pointers and namespaces and for now pretty simple OO constructs like methods and constants in UDTs... dynamic library loading, function pointers, const qualifiers for variables... the list goes on.

If you enjoy BASIC syntax and want to see our idea of bringing some of the more modern concepts to that sweet lexicon, you should check us out. =) I think there are some BASIC users who may be generally interested in this, and I would love to hear this community's opinions about such a thing. Judging by the rules this seems like a professional atmosphere, and professional critique is exactly what I'd expect.

P.S. I apologize if this feels like an advertisement or anything, it's an open source GPL'd project...

XL back in the limelight?

As previously seen in the archives - it looks like XL is getting mentioned more widely.

Flower: a new way to write web services

Flower is a new kind of user programmable web service, especially well suited for applications which process, store, and query XML data sets. Clients of a flower web service interactively modify and extend the code the server runs. This is is the ordinary way to build new flower applications. Flower is a true web operating system in the sense that it forms a self-contained, web-addressable computing environment.

It will be a bit of a grab bag and a longer than average post but I'd like point out some aspects of Flower that might be of interest to PLT'ers.

The Flower "kernel" and Flower language interpreter were designed and first prototyped as a program running on the XQVM virtual machine that I posted about on LtU earlier. The current implementation is a "hand-compiled" XQVM program.

The web service frameworks that are popular today typically combine two languages: a database query language, and a general purpose programming language. Familiar combinations are of Ruby, Python, PHP, Perl, or Java with SQL. These combinations suffer from the famous "impedence mismatch" between database data and run-time data. The impedence mismatch is often compounded when clients expect yet a third data model such as XML.

Flower lives in the XML world, from top to bottom. It uses an XML database. It uses the XQuery language to express server-side computation. And it uses a very slender general purpose language (implemented in 100s of lines of code) for the sequencing of side effects. This approach appears, so far, to be vastly more parsimonious than any other yet tried, in no small part because it suffers far less from the "impedence mismatch" problems.

Flower may also be interesting because of the nature of the tiny language it uses to sequence side effects. Programs are written in a continuation passing style, with the unusual addition that programs can not only capture but also directly construct their continuations from constiuent parts. This ability to construct a continuation affords Flower with, amnog other things, a hook for introducing syntactic abstractions. It isn't precisely an Actors language or a Lisp but those are the best comparisons I've found so far.

I'm curious what LtU'ers think. I'm particularly interested in learning how to better and more concisely present what is "interesting" about Flower.

Treetop: Packrat Parser Generator for Ruby

Hey LtU. I learned about parsing expression grammars on this site, so I wanted to share what I've done with them. Treetop combines the fact that PEGs are closed under composition with Ruby's mixin semantics, equating grammars with modules that can include one another and override each other's rules with access to the `super` keyword. I think a lot of the ideas within it have been invented in parallel within some other frameworks in the year I have been writing it, but I nonetheless think it offers an expressive set of features in a usable package.

what is GVScript?

Seems to be something of a Director-style language from what little I saw in one of the videos. Any Squeak or 2nd Lifers know about it?

XML feed