[Systems] [haakon.eriksen at far.no: Fram - a suggestion for bringing kids to Sugar-programming]

Haakon Meland Eriksen haakon.eriksen at far.no
Sun Jun 26 07:19:01 EDT 2011

Søndag 26. juni 2011 03.35.49 skrev mokurai at earthtreasury.org :
> On Fri, June 24, 2011 2:10 pm, Aleksey Lim wrote:
> > Hi all,
> > 
> > This is an option that can make wiki.sugarlabs.org more useful, e.g.,
> > having powerful tutorials on wiki.sl.o when people can launch activities
> > right from the wiki.
> > 
> > I think we can try it on wiki-devel.sl.o...
> > 
> > FGrose: any ideas? Are you taking care about -devel instance on
> > sunjammer? If not, I can help Haakon with setting up FRAM there.
> That would be excellent.
> > ----- Forwarded message from Haakon <haakon.eriksen at far.no> -----
> > 
> > From: Haakon <haakon.eriksen at far.no>
> > Subject: Fram - a suggestion for bringing kids to Sugar-programming
> > To: Alsroot <alsroot at member.fsf.org>
> > Date: Tue, 16 Nov 2010 05:02:00 -0500 (EST)
> > 
> > Hi, Aleksey!
> > 
> > Have you heard about literal programming?

Ops, Norwegian loose at the keyboard. ;-)

> Literate programming
> > It was a concept introduced by
> > the famous Donald E. Knuth. The idea is to write about your intentions,
> > then intersperse your explanation with marked code, continue explaining
> > what you want to do, add some more code and continue explaining this way
> > until you are done. The marked code is then extracted for use by an
> > interpreter or for compilation by the computer. In short, programming is
> > considered an act of writing for others.
> There are two programs involved.
> Weave creates a nicely formatted, publishable version in TeX, where code
> segments and their commentary appear together, with cross-references to
> the context of the code. These segments can thus appear in a sequence that
> develops logically for humans.
> Tangle removes the commentary and puts the code fragments into the
> indicated order as source code, ready for compilation or interpretation.
> Knuth also created a TeX style for literate programming with the
> appropriate markup entities and macros.

The pre-history of Fram, http://far.no/fram/index.php?title=User:Haakon, 
covers this bit. Knuth's original CWEB is for C only. Norman Ramsey then made 
Noweb, which is more general. Coetzee used Noweb as the backend for 
LiteratePrograms.org. I asked Ramsey if porting Noweb to PHP would be 
possible, to which he answered yes. However, Teuwen had already made Rawfile 
for Mediawiki using SyntaxHighlight_Geshi for syntax hightlighting, so we 
teamed up to create Fram. Having a Fram as a simple Mediawiki extension in PHP 
means cheaper hosting and easier setup than a Noweb backend.

Fram needs multipage support, block sorting and a way to archive several files 
at once without the need for write access to a disk - solutions for this is 
outlined in http://far.no/fram/fram2.php. Fram is GPLv3, so this might be an 
issue with ZIPstream, but I've not received an answer from the author.

I have several examples of how Fram can be used down in the cabins 
http://far.no/fram/index.php?title=Fram:Cabins . The POV-Ray example "Tiles" 
illustrates the end result. Kids like to know what they are supposed to do 
before setting off on their own adventure. Fram or not, the main thing is to 
find a shared way for several kids to none-destructively be exposed to the 
Activity code they are running, let them change it and see what happens, and 
if something goes wrong undo that action.

> APL originated as Iverson Notation, a language for people to use when
> talking about computers and algorithms, and was not implemented for
> several years. Of course, most people are not willing to learn that much
> math. There is, however, an APL version of Literate Programming.
> > A friend of mine, Philippe Teuwen, and I have a small project called
> > "Fram", which bacically does literal programming in a wiki. See
> > http://far.no/fram/index.php?title=User:Haakon for the pre-history of
> > Fram or my "Introduction to Haskell" to see what Fram is about -
> > http://far.no/fram/index.php?title=Introduction_to_Haskell
> > 
> > I was writing to another friend, when it hit me - this is a useful
> > concept to introduce into the Sugar environment, because we want to
> > empower Free Software users and get children into programming. What if
> > every activity was available as an article written in a literal
> > programming way, then the child could see what was intended and how this
> > was implemented into code. If they have any questions, they can use the
> > Discussion page.
> > 
> > My e-mail address is haakon.eriksen at far.no if you have any questions.
> > 
> > Yours sincerely,
> > Haakon Meland Eriksen, Drammen, Norway
> > 
> > --
> > This e-mail was sent by Haakon to Alsroot by the "E-mail user" function
> > at Sugar Labs.
> > 
> > 
> > ----- End forwarded message -----
> > 
> > --
> > Aleksey
> > _______________________________________________
> > Systems mailing list
> > Systems at lists.sugarlabs.org
> > http://lists.sugarlabs.org/listinfo/systems

More information about the Systems mailing list