| Register | FAQ | Calendar | Search | Today's Posts | Mark Forums Read |
|
#11
| |||
| |||
| 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 |
|
#12
| |||
| |||
| 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 |
|
#13
| |||
| |||
| 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 |
|
#14
| |||
| |||
| 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 |
|
#15
| |||
| |||
| 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 |
|
#16
| |||
| |||
| 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 |
|
#17
| |||
| |||
| 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 |
|
#18
| |||
| |||
| > 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 |
|
#19
| |||
| |||
| 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 |
|
#20
| |||
| |||
| 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 |
![]() |
| Thread Tools | |
| Display Modes | |
In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.