5 ms·
Why not just do relational programming - prolog or sql. The lisp weenies still don't get it.
by marshallp 14y ago
Why not just do relational programming - prolog or sql. The lisp weenies still don't get it.
- pestaa 14y agoI'm not a supporter of Lisp myself, but still interested in what they don't get.
- marshallp 14y agoWell, basically, most applications that you want to write are basically 90 percent rdbms with a thin layer on top for the views (usually php etc.). The 'power' of lisp isn't relevant. Other types of applications are usually performance critical and written in c etc, or glue code written in languages with libraries tcl/perl/python etc. So basically the traditional niche of lisp, complex apps, has been replaced by sql. There are apps written in lisp, like this site for example, but that's just for vanity mainly (pg is famous for his lisp books) - it would be have been easier to write it in sql.
- oskarth 14y agoWhat on earth are you talking about? Are you a SQL consultant or a professional Troll or what am I missing here?
- bOR_ 14y agoHe's a big data consultant, and all he has is a hammer :-).
- marshallp 14y agoI've explained a bit longer than your 'wtf'. Perhaps you can explain to me applications where lisp is the best fit? Almost every website or software running a business I can think of runs sql. The very small few that don't, google for example, run on c++ and assembly. So, in 2012, with gigs of ram and postgres, why would I use lisp?
- KeithMajhor 14y agoI think Twitter is using Clojure now that they've acquired BackType.
- espeed 14y agoDude, you advertised on here 36 days ago that you are a Lisp contractor (https://news.ycombinator.com/item?id=3784418 https://news.ycombinator.com/item?id=3784418) -- WTF?
- marshallp 14y agoWhy WTF! I'm looking for AI type work, which is much much rarer than sql work, which was my point. You wouldn't use lisp for that either (matlab/numpy followed by c optimizations is used there).
- espeed 14y agoBecause 1 hour ago you said: Why not just do relational programming - prolog or sql. The lisp weenies still don't get it. And now you've peppered the entire thread with non sequiturs and off-the-wall droppings. Please take a break.
- marshallp 14y agoI'll plead WTF on that. I'm simply trying to tell the kids on here that SQL is great and ROR/LISP/NoSQL worship around these parts is misguided. No 'droppings' in that. Yes, I write Lisp on my resume to make me look like a stronger candidate. I learnt it a few years ago for fun, that's all (I'm not a lisp flip-flopper). Just want to put the advice out there to be a relational weenie (instead of lisp weenie).
- mquander 14y agoWhat planet do you live on? Your comments are comprised entirely of droppings. This post had nothing to do with any of those topics until you arrived; it's about a way to abstract operations over collections of data that has some cool properties. You then came in unprompted and attempted to troll the whole world about your pet peeve. If you have something to say about the actual post, then please say it. Otherwise, get out.
- th0ma5 14y agoI think you have a good spirit to what you're saying. Everything is Turing Complete here, and yes with views and stored procedures and the like, and normalizing everything most apps would indeed just be a thin layer over top of these forms. However, set theory isn't exclusive to tables, nor even tree or document stores, and often with online systems like how a previous person mentioned Storm, you might not have the luxury of the overhead of a whole interpreted SQL stack, but may only need linked lists or something more bare, and closer to logic. I think you're not being downvoted on merit of the idea, just perhaps the quickness as classifying this work, even if it is correct, as something that is just more of the same. Everything in computers is arguably just more of the same. Just my opinion!
- brlewis 14y agoEven when all you need is a thin layer over SQL, a language with macros helps you keep your code cleaner, e.g. http://brl.codesimply.net/brl_4.html#SEC31 http://brl.codesimply.net/brl_4.html#SEC31
- Ingaz 14y agoI applaude your attempt to say that SQL is "real world FP". But you made your claim too big. SQL (even with recursive CTE) is still just a DSL for relational data. Even more: DSL for relational data only.
- jamii 14y agohttps://github.com/clojure/core.logic https://github.com/clojure/core.logic
- swannodette 14y agoThere's even a parallel branch built on top of fork/join that needs more work: https://github.com/clojure/core.logic/tree/fork-join https://github.com/clojure/core.logic/tree/fork-join
- marshallp 14y agoSo basically a thin sliver of what an sql rdbms provides.
- stuarthalloway 14y agoYour "thin sliver" idea is intriguing. Maybe we can call slivers "simple components" and build bigger things out of them. I wonder if there would be any benefit to that?
- marshallp 14y agoIf 'components' were that useful for the things rdbms's are used for the thousands of highly trained phd's at oracle, microsoft, ibm would have added them to their sql products. Of course, this a ROR crowd, software invented by a business school grad/game review writer, so it's can be an uphill battle explaining this stuff.
- stuarthalloway 14y agoFor those keeping score at home: * argumentum ad verecundiam * ad hominem
- rsanders 14y agoIf you think what a PhD gets you is "training", you've tragically misunderstood the point.
- stuarthalloway 14y agoI think we will see a Datalog made faster by parallel reduce/combine real soon now. :-)
- jamii 14y agoI'm getting there. :)
- francoisdevlin 14y agowrexsoul? Is that you?
- jhuni 14y ago> Why not just do relational programming - prolog or sql. The lisp weenies still don't get it. John McCarthy was the first to recommend using logic in programs with his advice taker proposal. This inspired the logic programming paradigm: http://www-formal.stanford.edu/jmc/mcc59/mcc59.html http://www-formal.stanford.edu/jmc/mcc59/mcc59.html Paul Graham (creator of the hacker news site) has an entire chapter in his book On Lisp on embedding prolog: http://www.bookshelf.jp/texi/onlisp/onlisp_25.html http://www.bookshelf.jp/texi/onlisp/onlisp_25.html Peter Norvig's Paradigms of Artificial Intelligence programming includes an implementation of prolog in Lisp: http://norvig.com/paip/prolog.lisp http://norvig.com/paip/prolog.lisp Common Lisp relations: an extension of Lisp for logic programming proposed a mechanism for logic programming back in 1988: http://www.lw20.com/2011051092557312.html http://www.lw20.com/2011051092557312.html Franz. Inc is developing Allegro Prolog as an extension to Common Lisp: http://www.franz.com/support/documentation/8.2/doc/prolog.html http://www.franz.com/support/documentation/8.2/doc/prolog.ht... The Clojure programming language includes relational programming functionality through the core/logic module: https://github.com/frenchy64/Logic-Starter/wiki https://github.com/frenchy64/Logic-Starter/wiki Racklog is an embedding of Prolog-style programming in Racket. http://docs.racket-lang.org/racklog/ http://docs.racket-lang.org/racklog/ The Shen programming languages includes a fully functional embedded prolog system: http://shenlanguage.org/learn-shen/prolog.html http://shenlanguage.org/learn-shen/prolog.html CycL is a declarative ontology language based upon classical first-order language which includes support for ontology components including parts and relations: http://www.cyc.com/cycdoc/ref/cycl-syntax.html http://www.cyc.com/cycdoc/ref/cycl-syntax.html What is it that we don't get again?