Re: Fruit basket program in Nemerle

  • From: Jamal Mazrui <empower@xxxxxxxxx>
  • To: programmingblind@xxxxxxxxxxxxx
  • Date: Fri, 9 Nov 2007 18:20:42 -0500 (EST)

I've reposted the archive so that the compiled versions of the C# and
Boo programs are also included.  Thus, the archive contains the
executables n_fruit.exe, Cs_fruit.exe, and boo_fruit.exe.  If the
Nemerle one crashes, I'm curious whether the others do, too.

Jamal
On Fri, 9 Nov 2007,
Jamal Mazrui wrote:

> Date: Fri, 9 Nov 2007 17:32:29 -0500 (EST)
> From: Jamal Mazrui <empower@xxxxxxxxx>
> Reply-To: programmingblind@xxxxxxxxxxxxx
> To: programmingblind@xxxxxxxxxxxxx
> Subject: Re: Fruit basket program in Nemerle
>
> More specifics would be helpful.  At what point did this error message
> occur?  Upon first running the program?
>
> I'm baffled since I downloaded the archive and tested the program before
> posting the message.  Can others report their experience as well?
>
> Jamal
> On Sat, 10 Nov
> 2007, Octavian Rasnita wrote:
>
> > Date: Sat, 10 Nov 2007 00:14:54 +0200
> > From: Octavian Rasnita <orasnita@xxxxxxxxx>
> > Reply-To: programmingblind@xxxxxxxxxxxxx
> > To: programmingblind@xxxxxxxxxxxxx
> > Subject: Re: Fruit basket program in Nemerle
> >
> > n_fruit.exe
> > n_fruit.exe has encountered a problem and needs to close.  We are sorry
> > for the inconvenience.
> > If you were in the middle of something, the information you were working on
> > might be lost.
> > Debug Close
> >
> > Octavian
> >
> > ----- Original Message -----
> > From: "Jamal Mazrui" <empower@xxxxxxxxx>
> > To: <programmingblind@xxxxxxxxxxxxx>
> > Sent: Saturday, November 10, 2007 12:03 AM
> > Subject: Fruit basket program in Nemerle
> >
> >
> > > From the zip archive at
> > > http://www.EmpowermentZone.com/n_fruit.zip
> > >
> > > This fruit basket program is written in Nemerle  -- Full source code in
> > > the zip archive and pasted below.  The batch file, compile.bat, builds the
> > > executable, n_fruit.exe, which is about 12K in size.  No other files are
> > > needed to run the program -- as long as the .NET Framework 2.0 is
> > > installed.
> > >
> > > Nemerle is an open source, .NET-based language, originating at a
> > > university in Poland, and named after a character in a novel called "A
> > > Wizard of Earth."  The language is a superset of C#, with modifications
> > > and extensions to add features of functional languages like Haskell and
> > > Lisp.  Although Nemerle programs are generally strongly typed at runtime,
> > > a dynamic style of coding is usually possible because the compiler tries
> > > to infer types from context.  Its official web site is at
> > > http://Nemerle.org
> > >
> > > The fruit basket code is the result of a conversion from C#, via the
> > > cs2n.exe utility included in the Nemerle distribution.  For comparison,
> > > the archive includes the original C# source code, as well as another
> > > automatic conversion to the Boo language, via the web form at
> > > http://codeconverter.sharpdevelop.net/Convert.aspx
> > >
> > > I have also prepared a collection of Nemerle documentation at
> > > http://www.EmpowermentZone.com/n_doc.zip
> > >
> > > Jamal
> > >
> > > /*
> > > content of n_fruit.n
> > > Fruit Basket program in Nemerle
> > > Public domain by Jamal Mazrui
> > > */
> > >
> > > namespace FruitBasket {
> > > using System;
> > > using System.Windows.Forms;
> > >
> > > // define class inherited from Form
> > > class FbForm : Form {
> > > mutable  lblFruit : Label;
> > > mutable  txtFruit : TextBox;
> > > mutable  lblBasket : Label;
> > > mutable  lstBasket : ListBox;
> > > mutable  btnAdd : Button;
> > > mutable  btnDelete : Button;
> > >
> > > // define constructor
> > > public this() {
> > > // set window title
> > > this.Text = "Fruit Basket";
> > >
> > > this.Width = 400;
> > > this.Height = 285;
> > >
> > > // create two rows of controls with three controls in each row
> > > // label, textbox, button and label, listbox, button
> > > lblFruit =  Label();
> > > lblFruit.Text = "&Fruit:";
> > > lblFruit.Left = 14;
> > > lblFruit.Top = 14;
> > > lblFruit.Width = 44;
> > > lblFruit.Height = 16;
> > >
> > > txtFruit =  TextBox();
> > > txtFruit.Left = 64;
> > > txtFruit.Top = 14;
> > > txtFruit.Width = 200;
> > > txtFruit.Height = 16;
> > >
> > > btnAdd =  Button();
> > > btnAdd.Text = "&Add";
> > > btnAdd.Left = 272;
> > > btnAdd.Top = 14;
> > > btnAdd.Width = 100;
> > > btnAdd.Height = 20;
> > > //  make it the default button
> > > this.AcceptButton = btnAdd;
> > >
> > > // Define event handler
> > > btnAdd.Click += fun( o : object, e :  EventArgs) {
> > > mutable  sFruit = txtFruit.Text;
> > > if (sFruit == "")
> > > { {
> > > MessageBox.Show("No fruit to add!", "Alert");
> > > ();
> > > }
> > > }
> > > else { {
> > >
> > > lstBasket.Items.Add(sFruit);
> > > txtFruit.Text = "";
> > > lstBasket.SelectedIndex = lstBasket.Items.Count - 1;
> > > }
> > > }
> > > };
> > >
> > > lblBasket =  Label();
> > > lblBasket.Text = "&Basket:";
> > > lblBasket.Left = 14;
> > > lblBasket.Top = 38;
> > > lblBasket.Width = 44;
> > > lblBasket.Height = 16;
> > >
> > > lstBasket =  ListBox();
> > > lstBasket.Left = 64;
> > > lstBasket.Top = 38;
> > > lstBasket.Width = 200;
> > > lstBasket.Height = 200;
> > >
> > > btnDelete =  Button();
> > > btnDelete.Text = "&Delete";
> > > btnDelete.Left = 272;
> > > btnDelete.Top = 38;
> > > btnDelete.Width = 100;
> > > btnDelete.Height = 20;
> > >
> > > // Define event handler
> > > btnDelete.Click += fun( o : object, e :  EventArgs) {
> > > mutable  iFruit = lstBasket.SelectedIndex;
> > > if (iFruit == -1)
> > > { {
> > > MessageBox.Show("No fruit to delete.", "Alert");
> > > ();
> > > }
> > > }
> > > else { {
> > >
> > > lstBasket.Items.RemoveAt(iFruit);
> > > when (iFruit > lstBasket.Items.Count - 1) {iFruit = lstBasket.Items.Count
> > > - 1;}
> > > lstBasket.SelectedIndex = iFruit;
> > > }
> > > }
> > > };
> > >
> > > // add controls to form
> > > this.Controls.AddRange(    array[lblFruit, txtFruit, btnAdd, lblBasket,
> > > lstBasket, btnDelete]);
> > >
> > > // center form on screen
> > > this.StartPosition = FormStartPosition.CenterScreen;
> > > } // FbForm constructor
> > >
> > > // define main entry point of application
> > > static Main() :  void {
> > > Application.Run( FbForm());
> > > } // Main method
> > > } // FbForm class
> > > }
> > > // FruitBasket namespace
> > >
> > > __________
> > > View the list's information and change your settings at
> > > //www.freelists.org/list/programmingblind
> > >
> >
> > __________
> > View the list's information and change your settings at
> > //www.freelists.org/list/programmingblind
> >
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
>
__________
View the list's information and change your settings at 
//www.freelists.org/list/programmingblind

Other related posts: