To Hell with Lisp!

This is a discussion on To Hell with Lisp! within the lisp forums in Programming Languages category; Edi Weitz wrote: > On Tue, 15 Jan 2008 18:12:38 -0500, Ken Tilton <kennytilton @ optonline.net> wrote: > > >> http://www.cliki.net/Prolog , the PAIPROLOG link? > > > That's the one I meant, yes. > > >>I have Ait-Kaci warming up in the bullpen if NIH sets in. With Luck >>I can kill a month rolling a KennyLog and avoid working on the >>Algebra software, and then redo the Algebra engine around KennyLog, >>pushing the release (PWUAHAHAHAHAHAHAA!) out even further. > > > Maybe you can incorporate this into you Amsterdam talk? > > > Oh, sure, that and the ...

Go Back   Application Development Forum > Programming Languages > lisp

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
Reply

 

LinkBack Thread Tools Display Modes
  #11  
Old 01-15-2008, 06:50 PM
Ken Tilton
Guest
 
Default Re: To Hell with Lisp!



Edi Weitz wrote:
> On Tue, 15 Jan 2008 18:12:38 -0500, Ken Tilton <kennytilton@optonline.net> wrote:
>
>
>>http://www.cliki.net/Prolog, the PAIPROLOG link?

>
>
> That's the one I meant, yes.
>
>
>>I have Ait-Kaci warming up in the bullpen if NIH sets in. With Luck
>>I can kill a month rolling a KennyLog and avoid working on the
>>Algebra software, and then redo the Algebra engine around KennyLog,
>>pushing the release (PWUAHAHAHAHAHAHAA!) out even further.

>
>
> Maybe you can incorporate this into you Amsterdam talk?
>
>
>


Oh, sure, that and the entire history of Cells and my new passion
Triple-Cells and the C to Lisp translator done using just typedef and
print (well, Antlr played a small part)... how many hours have been
allotted to His Kennyness?

Really, it is a crime how much fun I am having with Lisp. Of course
unlike most of the deadweight around here I actually use it to write
software... reminds me of the joke that ends, "Lenny, buy a ticket."

kt

--
http://www.theoryyalgebra.com/

"In the morning, hear the Way;
in the evening, die content!"
-- Confucius
Reply With Quote
  #12  
Old 01-15-2008, 07:32 PM
Slobodan Blazeski
Guest
 
Default Re: To Hell with Lisp!

On Jan 16, 12:31 am, Mark Tarver <dr.mtar...@ukonline.co.uk> wrote:
> On 15 Jan, 22:35, Slobodan Blazeski <slobodan.blaze...@gmail.com>
> wrote:
>
>
>
> > Weird I was looking for a embedded prolog too, Allegro have it but I
> > prefer portable solution, beside currently weblocks is broken with
> > allegro. Grahams prolog implementation from OnLisp could be easily
> > recoded using some new continuation library like cl-cont or arnesi,
> > but I don't know how fast and feature complete is.

>
> > Anon, lisp is big ball of mud and lispers want to carry the lisp with
> > them. When lisper likse something from prolog or haskell they want it
> > implemented as library so they could embeded prolog or whatever when
> > it's convenient and work with pure lisp for the rest. Take embeded
> > prolog found in Allegro & LW, or CLOS embedded language for OO
> > programming , or Pascal Constanza ContextL and AspectL embedded
> > languages to do context oriented or aspect oriented programming .
> > One of the reasons that stops me from trying Qi, though I like it from
> > what I read , is that is not embeded, or is I'm wrong Mark ? (*) I
> > don't want to program in Qi only I want to
> > have lisp code intermixed with embedded language. Like this
> > (asdf:os 'asdf:load-op :qi)
> > and than work with Qi and lisp like this
> > ;;pseudo-code fallows copy pasted from Qi book>(qi::define return-b

>
> > a -> b
> > c -> b )
> > return-b

>
> > >(mapcar #'return-b '(a b c))

>
> > cheers
> > Slobodan
> > (*)
> > I asked this at the correct grouphttp://groups.google.com/group/Qilang/browse_thread/thread/dfb1427c08...

>
> I guess you mean by 'embedded', something that can be loaded into the
> Lisp environment like a regular library with no or minimal disturbance
> to Lisp.
>
> The general approach with Qi is driven by the idea that programming
> should nearly always be conducted at the highest level. Qi was
> designed to be in certain respects higher-level than Lisp so the model
> I assumed was one where people worked in Qi and then dipped down into
> Lisp when they needed to borrow on Lisp resources. If you follow that
> approach then mixing Qi and Lisp is very very easy All you have to do
> is to type 'LOAD' to load a Lisp file rather than 'load' to load a Qi
> file.
>
> The model that some people want, and I guess this is the problem, is
> they want to work in Lisp and drop (jump?) into Qi. Its certainly
> doable, its just that the default setup is not tailored for that.
> Personally I hardly ever write in Lisp unless I want to use macros.
> So I've had very little motivation to set things up differently.
>
> I mean, if Qi code is more compact than bread-and-butter Lisp list
> handling code and generates Lisp code that is equivalent in
> performance to the most painfully hand-optimised Lisp code that a Lisp
> hacker can write (see the performance shoot-out inhttp://www.lambdassociates.org/studies/study10.htm) then there really
> is not a rational motivation for writing large tranches of Lisp code
> any more.
>
> However, if I had to set it up in the reverse order, probably what
> I'd do is have some kind of toggle key out of the Qi top level that
> would put me into the Lisp top level and would simultaneously reset
> the readtable to the default settings and from which I could toggle
> back into Qi. That's not hard to arrange.
>
> Mark


Yes I'm talking about Qi as library, but not some toogle into Qi top
level but using Qi into lisp *default* toplevel. Like fire my
listener, asdf load Qi and work there with both lisp and Qi.
Can I do that? And can I have Qi functions available into lisp source
files?
Maybe those like me aren't your target audience, but I like to embed
Qi into lisp not vice versa.
I won't comment on whoich language is more concise, you might be
right, but for doing what I'm doing I need libraries that are written
in lisp, and far more often than I want I need to extend them to do
what I want them to do, sometimes even dropping to manually generated
javascript.
And no author in a right mind won't accept a patch written in Qi. That
will leave me rewriting my code for each revision of the library,
that you must agree is very bad and time consuming. I don't want to
mention that I won't have anybody to ask why the hell qi patch isn't
working like it sopose to work. Because people who know the library
don't know Qi, and people who understand Qi don't know the library.
Situation with Common Lisp libraries is far from good, I suspect the
situation Qi libraries is even worse, not to mention very small
community around it.
If Qi has an portable Prolog compiler and from comemrcial
implementations we could see tehre is demand, that could make a nice
selling point for it, IF you also offer Qi embedded in Lisp like I
explained above. Programmers are lazy son of a bitches, they will
whatever tool that does what they want with least effort, and lispers
are worst of all. So if it isn't time consuming to do it why don't you
offer such version, and see what will users prefer: Lisp in Qi or Qi
in Lisp. Later you can decide which one to drop if supporting both is
costly.

One more question: Is it possible code in Qi Erlang like, adding
pattern matching definition without changin the previous:
(fact (x <= 1) 1)
(fact x (* x (fact (1- x)))
;;somebody found a superfast algo for calculating factoriels for 2^n
so we want to use it
without changing previous definition
(fact (zerop (mod x 2))
(superfast-factoriel-algo-for-2^n x))

thanks
Slobodan


Reply With Quote
  #13  
Old 01-15-2008, 07:38 PM
Mark Tarver
Guest
 
Default Re: To Hell with Lisp!

On 15 Jan, 23:50, Ken Tilton <kennytil...@optonline.net> wrote:
> Edi Weitz wrote:
> > On Tue, 15 Jan 2008 18:12:38 -0500, Ken Tilton <kennytil...@optonline.net> wrote:

>
> >>http://www.cliki.net/Prolog, the PAIPROLOG link?

>
> > That's the one I meant, yes.

>
> >>I have Ait-Kaci warming up in the bullpen if NIH sets in. With Luck
> >>I can kill a month rolling a KennyLog and avoid working on the
> >>Algebra software, and then redo the Algebra engine around KennyLog,
> >>pushing the release (PWUAHAHAHAHAHAHAA!) out even further.

>
> > Maybe you can incorporate this into you Amsterdam talk?

>
> >

>
> Oh, sure, that and the entire history of Cells and my new passion
> Triple-Cells and the C to Lisp translator done using just typedef and
> print (well, Antlr played a small part)... how many hours have been
> allotted to His Kennyness?
>
> Really, it is a crime how much fun I am having with Lisp. Of course
> unlike most of the deadweight around here I actually use it to write
> software... reminds me of the joke that ends, "Lenny, buy a ticket."
>
> kt
>
> --http://www.theoryyalgebra.com/
>
> "In the morning, hear the Way;
> * in the evening, die content!"
> * * * * * * * * * * *-- Confucius- Hide quoted text -
>
> - Show quoted text -


I would also say that your algebra project would almost certainly be
*much* easier to handle in Qi than in Lisp, even apart from the
embedded Prolog already in Qi. Qi is fundamantally a rewrite language
and rewrite languages are excellently suited to symbolic manipulation
in maths.

From FPQI chapter 1

"The important advance of Lisp was that it freed the programmer from
having to consider the architecture of the computer. By allowing the
programmer to define algorithms as functions, and abstracting away
from the need to consider allocating or reclaiming memory, Lisp left
the programmer free to work on the problems that interested him. To
give an analogy, Lisp was transparent as regards the architecture of
the machine on which it ran: writing Lisp code was like looking at the
problem through a clear window. Writing in a procedural language like
assembler requires not only thinking about the problem, but also
thinking about the architecture of the underlying machine which is
explicit in assembly language. Looking at a problem through assembler
is like looking at it through a stained or dirty window, or trying to
see to the bottom of a pond on which there is a lot of surface glare
and reflection."

In this case, writing an algebra program in Lisp involves having to
cope with a lot of low-level surface glare that you don't really
need.

The smart move would be to move the project into Qi and import Cells/
Cello for the graphics using Qi as the engine. Type checking is
optional in Qi, so it can be switched off if it is not desired.

Mark

Reply With Quote
  #14  
Old 01-16-2008, 01:18 AM
gavino
Guest
 
Default Re: To Hell with Lisp!

On Jan 15, 10:51 am, Ken Tilton <kennytil...@optonline.net> wrote:
> Prolog has much fewer parentheses. But I digress. An inexcusably small
> sample shows frightening similarities between Norvig's and Graham's
> Prologs. How come? Common starting point? Same problem entails same
> solution? Norvig and Graham, separated at birth?
>
> Other __________________?
>
> kt
>
> ps. What /is/ the bestest mostest Lisp implementation of Prolog? (Yes, I
> saw the entry in the FAQ, looking for warm-blooded viewpoints here.)
>
> k
>
> pps. For those of you addicted to gavino-mode:
>
> Subject: Lisp Prologs: Norvig? Graham?
> Body: WTF?
>
> k
>
> --http://www.theoryyalgebra.com/
>
> "In the morning, hear the Way;
> in the evening, die content!"
> -- Confucius


bro-ken tit-lawn
Reply With Quote
  #15  
Old 01-16-2008, 07:08 AM
Tayssir John Gabbour
Guest
 
Default Re: To Hell with Lisp!

On Jan 15, 10:11 pm, Mark Tarver <dr.mtar...@ukonline.co.uk> wrote:
> Franz do a very quick Prolog and since you're an Allegro user, their
> version would seem the logical choice for you. I believe (not chasing
> this up) that they based their design on Norvig.


Yes:
http://groups.google.com/group/comp....144e74f0939305
Message-ID: <PzKYe.1225$Ur.1089@newssvr29.news.prodigy.net>

Tayssir
Reply With Quote
  #16  
Old 01-16-2008, 07:15 AM
Aatu Koskensilta
Guest
 
Default Re: To Hell with Lisp!

On 2008-01-15, in comp.lang.lisp, John Thingstad wrote:
> I noticed Norvig's code didn't set the expression to a Preneks Normal Form
> before Scholheimization.
> This could cause variable capture for existance and forall quantors.


I presume you intended to write "prenex nromal form", "Skolemization" and
"quantifiers"?

--
Aatu Koskensilta (aatu.koskensilta@xortec.fi)

"Wovon man nicht sprechen kann, daruber muss man schweigen"
- Ludwig Wittgenstein, Tractatus Logico-Philosophicus
Reply With Quote
  #17  
Old 01-16-2008, 09:19 AM
Ken Tilton
Guest
 
Default Re: To Hell with Lisp!



Tayssir John Gabbour wrote:
> On Jan 15, 10:11 pm, Mark Tarver <dr.mtar...@ukonline.co.uk> wrote:
>
>>Franz do a very quick Prolog and since you're an Allegro user, their
>>version would seem the logical choice for you.


Explained upthread. Still waiting on a response, which has me concerned
and/or hopeful -- we are outside the envelope on typically speedy Franz
response. Hopefully this means Foderaro is dashing off a functional
variant as we speak. Or they think I have lost my mind or am just too
stupid to help. I'll keep you posted.

kt

--
http://www.theoryyalgebra.com/

"In the morning, hear the Way;
in the evening, die content!"
-- Confucius
Reply With Quote
  #18  
Old 01-16-2008, 09:26 AM
Mark Tarver
Guest
 
Default Re: To Hell with Lisp!

> Yes I'm talking about Qi as library, but not some toogle into Qi top
> level but using Qi into lisp *default* toplevel. Like fire my
> listener, asdf load Qi and work there with both lisp and Qi.
> Can I do that? And can I have Qi functions available into lisp source
> files?
> Maybe those like me aren't your target audience, but I like to embed
> Qi into lisp not vice versa.
> I won't comment on whoich language is more concise, you might be
> right, but for doing what I'm doing I need libraries that are written
> in lisp, and far more often than I want *I need to extend them to do
> what I want them to do, sometimes even dropping to manually generated
> javascript.
> Situation with * Common Lisp libraries is far from good, I suspect the
> situation Qi libraries is even worse, not to mention very small
> community around it.


> And no author in a right mind won't accept a patch written in Qi. That
> will leave me rewriting my code for each revision of the library,
> that you must agree is very bad and time consuming. I don't want to
> mention that I won't have anybody to ask why the hell qi patch isn't
> working like it sopose to work. Because people who know the library
> don't know Qi, and people who understand Qi don't know the library.


Its no big deal to set Qi up that way - about 2 hours work.

Right; I worked in commerce too. You're bound by managerial pressures
to do with what commercial practice will accept and what your boss and
co-workers will accept - whatever your own personal preferences are.

I generally code either for fun as a form of self-expression or more
rarely for money. I think this coding looks more like a gritty
commercial thing and not an arty self-expression thing.

> One more question: Is it possible code in Qi Erlang like, adding
> pattern matching definition without changin the previous:
> (fact (x <= 1) 1)
> (fact x *(* x (fact (1- x)))
> ;;somebody found a superfast algo for calculating factoriels for 2^n
> so we want to use it
> without changing previous definition
> (fact (zerop (mod x 2))
> * *(superfast-factoriel-algo-for-2^n x))


No; I avoided this equational style

f(....) = .....
f(....) = .....

because it gets rather prolix when you write functions with many
rules. For example, for a prenex function you have to write 'prenex'
18 times which is a drag.
Also if you have order sensitivity in a series of equations and you
insert a new one,
you need to specify where the equation is supposed to go. With any
decent editor you can just paste the new rule into the code and reload/
paste the new code.

Mark
Reply With Quote
  #19  
Old 01-16-2008, 11:49 AM
John Thingstad
Guest
 
Default Re: To Hell with Lisp!

På Wed, 16 Jan 2008 13:15:15 +0100, skrev Aatu Koskensilta
<aatu.koskensilta@xortec.fi>:

> On 2008-01-15, in comp.lang.lisp, John Thingstad wrote:
>> I noticed Norvig's code didn't set the expression to a Preneks Normal
>> Form
>> before Scholheimization.
>> This could cause variable capture for existance and forall quantors.

>
> I presume you intended to write "prenex nromal form", "Skolemization" and
> "quantifiers"?
>


For the first two, yes. Norwegian spelling. (I used a Norwegian compendium
in Mathematical Logic.)
For the third no, I ment quantors.


--------------
John Thingstad
Reply With Quote
  #20  
Old 01-16-2008, 12:55 PM
Slobodan Blazeski
Guest
 
Default Re: To Hell with Lisp!

On Jan 16, 3:26*pm, Mark Tarver <dr.mtar...@ukonline.co.uk> wrote:
> > Yes I'm talking about Qi as library, but not some toogle into Qi top
> > level but using Qi into lisp *default* toplevel. Like fire my
> > listener, asdf load Qi and work there with both lisp and Qi.
> > Can I do that? And can I have Qi functions available into lisp source
> > files?
> > Maybe those like me aren't your target audience, but I like to embed
> > Qi into lisp not vice versa.
> > I won't comment on whoich language is more concise, you might be
> > right, but for doing what I'm doing I need libraries that are written
> > in lisp, and far more often than I want *I need to extend them to do
> > what I want them to do, sometimes even dropping to manually generated
> > javascript.
> > Situation with * Common Lisp libraries is far from good, I suspect the
> > situation Qi libraries is even worse, not to mention very small
> > community around it.
> > And no author in a right mind won't accept a patch written in Qi. That
> > will leave me rewriting my code *for each revision of the library,
> > that you must agree is very bad and time consuming. I don't want to
> > mention that I won't have anybody to ask why the hell qi patch isn't
> > working like it sopose to work. Because people who know the library
> > don't know Qi, and people who understand Qi don't know the library.

>
> Its no big deal to set Qi up that way - about 2 hours work.


If it's only 2 hours, please do it, I'm eager to try Qi while keeping
whatever I already wrote and use it in pure lisp. You're writing is
damn good, but whenever I see instructions for building images I just
quit at that point. Seems that asdf (and asdf-install) spoiled me,
that now I don't accept any library that doesn't use asdf. And I doubt
I'm the only one, one thing that I learned in marketing is that for
every single user that complains there is a dozen more who will
silently scrap off your product. What do you have to loose beside
those 2 hours? And you can potentially gain a lot of folks who will be
driven prolog implementation, pattern matching or plain curiosity of a
new library that is both easy and potentially practical.
>
> Right; I worked in commerce too. *You're bound by managerial pressures
> to do with what commercial practice will accept and what your boss and
> co-workers will accept - whatever your own personal preferences are.
>
> I generally code either for fun as a form of self-expression or more
> rarely for money. * *I think this coding looks more like a gritty
> commercial thing and not an *arty self-expression thing.

I'm coding to make applications. Sometimes I have more fun exploring
and learning interesthing thongs instead of focusing on my
application, but still I feel what's practical and what's not.
Like Eric Sink once said small ISV should create applications not
platforms.

>
> > One more question: Is it possible code in Qi Erlang like, adding
> > pattern matching definition without changin the previous:
> > (fact (x <= 1) 1)
> > (fact x *(* x (fact (1- x)))
> > ;;somebody found a superfast algo for calculating factoriels for 2^n
> > so we want to use it
> > without changing previous definition
> > (fact (zerop (mod x 2))
> > * *(superfast-factoriel-algo-for-2^n x))

>
> No; I avoided this equational style
>
> f(....) = .....
> f(....) = .....
>
> because it gets rather prolix when you write functions with many
> rules. *For example, for a prenex function you have to write 'prenex'
> 18 times which is a drag.
> Also if you have order sensitivity in a series of equations and you
> insert a new one,
> you need to specify where the equation is supposed to go. *With any
> decent editor you can just paste the new rule into the code and reload/
> paste the new code.
>
> Mark

You could be right, but it's speedy to insert like that the new rules.
I'm quite disappointed by SWI prolog listener, maybe it's good design
but I don't know why I can't just enter rules into the listener
instead of stupid reconsult. This is just my first impression of
working with SWI prolog and pie (Visual Prolog interpretere for ISO
prolog) and more likely I'm overlooking something that people with
more braincells thought of before, but it's just me.

cheers
Slobodan
Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 10:17 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.