From: ·······@noshpam.lbl.government
Subject: Re: Microsoft adds Lisp to .NET
Date:
Message-ID: <4pkfzbn1oue.fsf@thar.lbl.gov>
April Fool's? I couldn't find it aside from a lame introduction to
dynamic anonymous functions 'based on lambda functions found in Python
and Lisp'.
BTW, I believe that PLT-Scheme has a bridge to .Net:
http://www.rivendell.ws/dot-scheme/
Cheers,
~Tomer
Pascal Costanza <········@web.de> writes:
> ...see http://msdn.microsoft.com/vstudio/productinfo/roadmap.aspx
>
>
> Pascal
>
> --
> 1st European Lisp and Scheme Workshop
> June 13 - Oslo, Norway - co-located with ECOOP 2004
> http://www.cs.uni-bonn.de/~costanza/lisp-ecoop/
--
()
In article <···············@thar.lbl.gov>, ·······@noshpam.lbl.government
wrote:
> Pascal Costanza <········@web.de> writes:
>
>> ...see http://msdn.microsoft.com/vstudio/productinfo/roadmap.aspx
>
> April Fool's? I couldn't find it aside from a lame introduction to
> dynamic anonymous functions 'based on lambda functions found in Python
> and Lisp'.
No, it's in the C# 2.0 spec. Between closures, generators and
generics, I expect C# 2.0 will merely be annoying to program in,
rather than actively horrible. And more importantly, fear of C# will
doubtless motivate Java to grow similar features.
Nevertheless, I remain confident language designers will have invented
enough new stuff that we can safely continue to whine and moan about
mainstream languages. :)
--
Neel Krishnaswami
·····@cs.cmu.edu
Pascal Costanza <········@web.de> wrote:
> ...see http://msdn.microsoft.com/vstudio/productinfo/roadmap.aspx
From the article:
} Anonymous methods are practical language constructs that will enable
} programmers using Visual C# 2005 to create code blocks that can be
} encapsulated in a delegate and executed at a later time. They are
} based on a language concept called a lambda function and are similar
} to those found in Lisp and Python.
You might as well say "Microsoft adds Perl to C#" ... no macros are to
be seen here.
--
Karl A. Krueger <········@example.edu>
Woods Hole Oceanographic Institution
Email address is spamtrapped. s/example/whoi/
"Outlook not so good." -- Magic 8-Ball Software Reviews
Karl A. Krueger wrote:
> Pascal Costanza <········@web.de> wrote:
>
>>...see http://msdn.microsoft.com/vstudio/productinfo/roadmap.aspx
>
>
> From the article:
>
> } Anonymous methods are practical language constructs that will enable
> } programmers using Visual C# 2005 to create code blocks that can be
> } encapsulated in a delegate and executed at a later time. They are
> } based on a language concept called a lambda function and are similar
> } to those found in Lisp and Python.
>
> You might as well say "Microsoft adds Perl to C#" ... no macros are to
> be seen here.
It's in the VB section:
"In addition, the Visual Basic code editor will provide pre-built code
templates that enable developers to "fill in the blanks" and focus on
solving the problem at hand rather than on language syntax (figure 4).
"dim msg as new mailmessage
with msg
.from = ···@mine.com"
..etc.
end with msg
"Developers will also be able to easily create and distribute their own
customized code snippets."
Come to think of it, they gotta keep up with Java right? So they have to
do a Groovy, right?
Game over. Time to expand the Lisp section of your resumes. Or start
learning Java and C#. "Worse is better" strikes again! This could be
like when people using Windows 3.1 thought they had it just as good as
Mac users.
kt
From: Rahul Jain
Subject: Re: Microsoft adds Lisp to .NET
Date:
Message-ID: <87wu4z3zdq.fsf@nyct.net>
Kenny Tilton <·······@nyc.rr.com> writes:
> It's in the VB section:
>
> "In addition, the Visual Basic code editor will provide pre-built code
> templates that enable developers to "fill in the blanks" and focus on
> solving the problem at hand rather than on language syntax (figure 4).
>
> "dim msg as new mailmessage
>
> with msg
> .from = ···@mine.com"
> ..etc.
> end with msg
>
> "Developers will also be able to easily create and distribute their own
> customized code snippets."
Those aren't macros, not even in the C sense. You can't change the macro
definition and have it propagate to the rest of the system, from what it
looks like. They're just bits of code you can copy-and-paste and the
parts that need to be filled in by you are highlighted.
Of course, there's no way to actually _manipulate_ the syntactic data
structure created by the programmer.
--
Rahul Jain
·····@nyct.net
Professional Software Developer, Amateur Quantum Mechanicist
Rahul Jain wrote:
> Kenny Tilton <·······@nyc.rr.com> writes:
>
>
>>It's in the VB section:
>>
>>"In addition, the Visual Basic code editor will provide pre-built code
>>templates that enable developers to "fill in the blanks" and focus on
>>solving the problem at hand rather than on language syntax (figure 4).
>>
>>"dim msg as new mailmessage
>>
>>with msg
>> .from = ···@mine.com"
>> ..etc.
>>end with msg
>>
>>"Developers will also be able to easily create and distribute their own
>>customized code snippets."
>
>
> Those aren't macros, not even in the C sense. You can't change the macro
> definition and have it propagate to the rest of the system, from what it
> looks like. They're just bits of code you can copy-and-paste and the
> parts that need to be filled in by you are highlighted.
>
OK, Mr. Observant. See the word with? Lots of lisp macros begin with
with. So it's a macro. QED.
Another thing, Mr. See-it-all. "code templates". What exactly do you
think you are doing when invoking a macro? I'll give you a hint: filling
in a code template. QED.
Finally, Seer of Things Unseeable, "can't change the definition"? Is
that in any related to their being "built-in"?!!!! Oh, but what's this:
"developers will be able to easily create and distribute...their own"
<sigh> QED.
Do me a favor, just help out with the tip calculations, OK?
:)
kt
--
Home? http://tilton-technology.com
Cells? http://www.common-lisp.net/project/cells/
Cello? http://www.common-lisp.net/project/cello/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
Your Project Here! http://alu.cliki.net/Industry%20Application
From: Rahul Jain
Subject: Re: Microsoft adds Lisp to .NET
Date:
Message-ID: <87hdw33sy7.fsf@nyct.net>
Kenny Tilton <·······@nyc.rr.com> writes:
> Do me a favor, just help out with the tip calculations, OK?
>
> :)
Sure thing. ;)
--
Rahul Jain
·····@nyct.net
Professional Software Developer, Amateur Quantum Mechanicist
Kenny Tilton wrote:
>
>
> Rahul Jain wrote:
> > Kenny Tilton <·······@nyc.rr.com> writes:
> >
> >
> >>It's in the VB section:
> >>
> >>"In addition, the Visual Basic code editor will provide pre-built code
> >>templates that enable developers to "fill in the blanks" and focus on
> >>solving the problem at hand rather than on language syntax (figure 4).
> >>
> >>"dim msg as new mailmessage
> >>
> >>with msg
> >> .from = ···@mine.com"
> >> ..etc.
> >>end with msg
> >>
> >>"Developers will also be able to easily create and distribute their own
> >>customized code snippets."
> >
> >
> > Those aren't macros, not even in the C sense. You can't change the macro
> > definition and have it propagate to the rest of the system, from what it
> > looks like. They're just bits of code you can copy-and-paste and the
> > parts that need to be filled in by you are highlighted.
> >
> OK, Mr. Observant. See the word with? Lots of lisp macros begin with
> with. So it's a macro. QED.
>
> Another thing, Mr. See-it-all. "code templates". What exactly do you
> think you are doing when invoking a macro? I'll give you a hint: filling
> in a code template. QED.
>
> Finally, Seer of Things Unseeable, "can't change the definition"? Is
> that in any related to their being "built-in"?!!!! Oh, but what's this:
>
> "developers will be able to easily create and distribute...their own"
>
> <sigh> QED.
So to summarize:
"Visual Basic .NET provides new, better ways to allow the programmer to act
like a Lisp implementation. You get to experience the fun of manually
expanding macros, plus the excitement of traversing an entire code base
modifying each expanded instance of a macro when its definition changes.
Yet another example of the benefits of our freedom to Innovate(tm)."
Anton
Rahul Jain <·····@nyct.net> wrote:
>
> Of course, there's no way to actually _manipulate_ the syntactic data
> structure created by the programmer.
But you can let the programmer build up trees of literals (like quoted
nested lists), and then use the 'System.Reflection.Emit' package to produce
code from it. I believe this allows people to reimplement some 5-line
Lisp macros within 500 lines of C#.
Bruno
"Karl A. Krueger" <········@example.edu> wrote in message news:<············@baldur.whoi.edu>...
> Pascal Costanza <········@web.de> wrote:
> > ...see http://msdn.microsoft.com/vstudio/productinfo/roadmap.aspx
>
> From the article:
>
> } Anonymous methods are practical language constructs that will enable
> } programmers using Visual C# 2005 to create code blocks that can be
> } encapsulated in a delegate and executed at a later time. They are
> } based on a language concept called a lambda function and are similar
> } to those found in Lisp and Python.
>
> You might as well say "Microsoft adds Perl to C#" ... no macros are to
> be seen here.
Speaking of macros, have you checked out Xen?
http://www.extremetech.com/article2/0,1558,1491790,00.asp
Its what you get when you want to do domain-specific languages in C#
without actually adding macros. Basically, they hacked XML and SQL
DSLs into C#. Real pretty...
Rayiner Hashem wrote:
> Speaking of macros, have you checked out Xen?
>
> http://www.extremetech.com/article2/0,1558,1491790,00.asp
>
> Its what you get when you want to do domain-specific languages in C#
> without actually adding macros. Basically, they hacked XML and SQL
> DSLs into C#. Real pretty...
Pretty?
> Xen... "circles, triangles, and rectangles."
>
> * The circle represents object-oriented programming....This piece is not changing.
> * The triangle represents data in a hierarchical structure, namely, XML.
Programming with XML in C# can be tiresome today.
The APIs needed to access XML data structures tend to obfuscate the code
and
lead to security holes, poor type-safety, and logic problems.
>
> * The rectangle represents relational data, or data stored in tables in a database.
Today's code tends to be riddled with verbose strings containing SQL and
redundant ADO...
>
> For those of you already familiar with C#, it's clear that Xen is simply C#
with additional features and capabilities.
We call this RACDT (Re-Arranging the Chairs on the Deck of the Titanic).
Circles, triangles, and rectangles...PWUAAAHAHAHAHHAHAHAHAHAHH.
Gotta save that one. A true zen master would have said lines, points,
and... nothing.
kt
Kenny Tilton <·······@nyc.rr.com> wrote in message news:<····················@twister.nyc.rr.com>...
> Rayiner Hashem wrote:
> > Speaking of macros, have you checked out Xen?
> >
> > http://www.extremetech.com/article2/0,1558,1491790,00.asp
> >
> > Its what you get when you want to do domain-specific languages in C#
> > without actually adding macros. Basically, they hacked XML and SQL
> > DSLs into C#. Real pretty...
>
> Pretty?
No, sarcastic...
Rayiner Hashem wrote:
> Kenny Tilton <·······@nyc.rr.com> wrote in message news:<····················@twister.nyc.rr.com>...
>
>>Rayiner Hashem wrote:
>>
>>>Speaking of macros, have you checked out Xen?
>>>
>>>http://www.extremetech.com/article2/0,1558,1491790,00.asp
>>>
>>>Its what you get when you want to do domain-specific languages in C#
>>>without actually adding macros. Basically, they hacked XML and SQL
>>>DSLs into C#. Real pretty...
>>
>>Pretty?
>
> No, sarcastic...
Doh!
--
Home? http://tilton-technology.com
Cells? http://www.common-lisp.net/project/cells/
Cello? http://www.common-lisp.net/project/cello/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
Your Project Here! http://alu.cliki.net/Industry%20Application
Kenny Tilton <·······@nyc.rr.com> writes:
> > Xen... "circles, triangles, and rectangles."
> > * The circle represents object-oriented programming....This
> > piece is not changing.
> > * The triangle represents data in a hierarchical structure,
> namely, XML. Programming with XML in C# can be tiresome today. The
> APIs needed to access XML data structures tend to obfuscate the code
> and lead to security holes, poor type-safety, and logic problems.
> > * The rectangle represents relational data, or data stored in
> > tables in a database.
> Today's code tends to be riddled with verbose strings containing SQL
> and redundant ADO...
> > For those of you already familiar with C#, it's clear that Xen is
> > simply C#
> with additional features and capabilities.
>
> We call this RACDT (Re-Arranging the Chairs on the Deck of the Titanic).
>
> Circles, triangles, and rectangles...PWUAAAHAHAHAHHAHAHAHAHAHH.
>
> Gotta save that one. A true zen master would have said lines, points,
> and... nothing.
Don't you see? It is, obviously, a reference to the three keys on
a Symbolics-keyboard with the very same figures. Lisp in .NET, indeed!
'mr
--
[Emacs] is written in Lisp, which is the only computer language that is
beautiful. -- Neal Stephenson, _In the Beginning was the Command Line_
Microsoft has a simple clisp compiler that creates EXEs with Visual
Studio .Net here:
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool
Developers Guide\Samples\clisp
It's written in C#.
So if you have VS.Net, you have it.
Pascal Costanza <········@web.de> wrote in
·················@newsreader2.netcologne.de:
> ...see http://msdn.microsoft.com/vstudio/productinfo/roadmap.aspx
>
>
> Pascal
>
>>>>> On Sat, 03 Apr 2004 07:29:56 GMT, Henry Hansen ("Henry") writes:
Henry> Microsoft has a simple clisp compiler that creates EXEs
Henry> with Visual Studio .Net here:
Henry> C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\Samples\clisp
Henry> It's written in C#. So if you have VS.Net, you have it.
What is a "clisp compiler"?