Talk:Strict programming language: Difference between revisions

Content deleted Content added
SmackBot (talk | contribs)
m Common Lisp: Subst: {{unsigned}} (& regularise templates)
C is not strict: new section
Line 54:
 
I was under the impression that Scheme supports/can support some form of lazy evaluation...? -G3, 05:59, 13 December 2006 (UTC)
 
== C is not strict ==
 
True, in C, user-defined functions per se are strict, but the built-in operators <code>[[logical conjunction|&&]]</code>, <code>[[logical disjunction|||]]</code>, and <code>[[?:|?...:]]</code> all [[Short-circuit evaluation|short-circuit]], as does <code>[[Conditional (programming)|if...else]]</code>. Also true, a C++ that overloads these operators [http://stackoverflow.com/questions/5133114/overloading-logical-operators-considered-bad-practice loses the short-circuiting behavior]. But a [[C preprocessor]] macro can build a function that includes this short-circuiting behavior. Scheme also has <code>define-syntax</code> to build a function that short-circuits. --[[User:Damian Yerrick|Damian Yerrick]] ([[User talk:Damian Yerrick|talk]] | [[Special:Contributions/Damian Yerrick|stalk]]) 15:29, 7 May 2012 (UTC)