caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* Idea for an open-source project
@ 2007-10-31 12:47 David Teller
  2007-10-31 14:16 ` [Caml-list] " skaller
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: David Teller @ 2007-10-31 12:47 UTC (permalink / raw)
  To: OCaml

     Hi everyone,

 I've had an idea for a potentially useful project, but no time or
manpower to put on that idea, so here it is, in case anyone is
interested.

 In a few words: a beginner-oriented environment to build OCaml programs
only by clicking and dragging stuff around, with real-time type checking
to prevent connecting stuff when types don't match. For people aware of
Pure Data [1] or Scratch [2], well, this would essentially be a
functional version of either.

 Let me detail the idea a bit more. The IDE looks like a vector-drawing
program, with a number of building blocks available for use in the
toolbar. Each block is actually either one function or one control flow
statement. Blocks may have holes on the top (one for each argument), on
the bottom (one for each return value) or in the inside (one for each
other block it may contain). Each hole has a name, which is often not
displayed. Holes may then be connected with lines to specify
composition, as long as types do match.

For instance, let's take function print_string. That function is
represented by a block named "print_string". It contains one hole on the
top, named "text", of type string, a hole of type unit on the bottom, no
hole in the inside.

Let's now take a constant string. "Hello world !" is represented by a
block named "string", and containing some initial text. The contents of
the block may be edited to change the text. The block has a hole on the
bottom, named "string", also of type "string".

A line may be drawn from "Hello world !" to the "text" hole of
"print_string", as both have the same type. 

A simple rectangle may also be drawn around all of this, to group this
as a new block (an expression). Another kind of rectangle may also be
drawn to group this as a function. etc.

I think it would be a nice project for a group of students. What do you
think of this ? 

Cheers,
 David


[1] http://en.wikipedia.org/wiki/Pure_Data
[2] http://scratch.mit.edu 

-- 
David Teller ------------------------------------------
Security of Distributed Systems -----------------------
Project JStify: Static Analysis for JavaScript 2  -----
-- http://www.univ-orleans.fr/lifo/Members/David.Teller
----- Laboratoire d'Informatique Fondamentale d'Orleans


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2007-11-05 15:17 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-31 12:47 Idea for an open-source project David Teller
2007-10-31 14:16 ` [Caml-list] " skaller
2007-10-31 14:50   ` Loup Vaillant
2007-10-31 15:11 ` Lars Nilsson
2007-11-04 10:38 ` Vincent Aravantinos
2007-11-04 11:36 ` Jon Harrop
2007-11-05 15:17 ` Granicz Adam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).