TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Esoteric programming paradigms

397 pointsby SlyShyabout 8 years ago

35 comments

zmonxabout 8 years ago
I have two comments about the Prolog code:<p>First, the article claims: &quot;the sudoku solver above does a brute force search&quot;, but that is specifically <i>not</i> the case. In fact, quite the <i>opposite</i> holds: The Prolog Sudoku formulation shown in the article uses a powerful technique known as Constraint Logic Programming over Finite Domains, which automatically performs <i>pruning</i> before and also <i>during</i> the search for solutions. This effectively eliminates large portions of the search space in practice, and degenerates to brute force <i>only</i> in those cases where almost nothing can be deduced from initial constraints. In the particular case of Sudoku, the pruning is especially effective and can in many cases <i>eliminate the search entirely</i>, since the initial constraints (hints) basically determine the whole solution.<p>Second, yes, it is easy to write an O(n!) search algorithm in Prolog. However, it is almost as easy to implement <i>much more efficient</i> search algorithms in Prolog. For example, here is Quicksort in Prolog:<p><pre><code> quicksort([]) --&gt; []. quicksort([L|Ls]) --&gt; { partition(Ls, L, Smalls, Bigs) }, quicksort(Smalls), [L], quicksort(Bigs). </code></pre> Note how natural the declarative description of &quot;first the smaller elements, then the pivot element, then the bigger elements&quot; is in Prolog. This only requires a suitable implementation of partition&#x2F;4, which is very easy to implement in at most 7 lines of Prolog code.
评论 #14243091 未加载
评论 #14243417 未加载
评论 #14244066 未加载
评论 #14246268 未加载
sixoabout 8 years ago
&#x27;Concurrency-by-default&#x27; is similar to a notation I&#x27;ve been using to map out async service calls. It&#x27;s just this: lines are terminated with &quot;,&quot; or &quot;;&quot;. A comma doesn&#x27;t block and all comma-separated lines are executed in any order, while a semicolon blocks. Names are only usable when a semicolon is reached, and a semicolon unblocks flow when all preceding names are bound. Probably code is scoped into { } blocks. So a lambda is like &quot;pyth_distance = {x, y; sqrt(x^2 + y^2)}&quot;. A series of async callbacks would be given by an inner block {x = call1(), y = call2(); pyth_distance(x,y)}, allowing you to do any manipulations you can do with normal code.<p>Might try making a toy language out of it eventually.
评论 #14239739 未加载
评论 #14239167 未加载
评论 #14240601 未加载
评论 #14241864 未加载
评论 #14249330 未加载
评论 #14241333 未加载
评论 #14244913 未加载
评论 #14239110 未加载
tannhaeuserabout 8 years ago
I don&#x27;t know if Prolog should be called esoteric. Prolog is an ISO-standardized language after all, and its syntax has been used for 4+ decades now in most papers on conceptual database system and query language design I&#x27;ve read. Which isn&#x27;t surprising since Prolog syntax, being based on operator-precedence grammar concepts, is arguably as minimalistic as it gets. There&#x27;s definitely also a lot of interest lately in Datalog, not just as a decidable logic fragment (which has been used for decades as well), but also as a practical non-SQL database query language and proper Prolog syntax subset.
评论 #14240438 未加载
评论 #14240193 未加载
评论 #14241349 未加载
评论 #14244429 未加载
pronabout 8 years ago
To this I would add synchronous programming[1], which is particularly suited for interactive or concurrent programs and formal reasoning, and has had success in industry in safety-critical realtime systems. Examples include Esterel[2] and SCADE, and outside realtime, Céu[3] and Eve[4] (the latter is based on Dedalus[5], which combines SP with logic programming).<p>As someone who loves formal methods and believes most mainstream software systems today are mostly interactive and&#x2F;or synchronous, I think this paradigm has a lot of untapped potential, and I&#x27;m glad to see it slowly move out of safety-critical systems into the mainstream, in languages like Eve.<p>[1]: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Synchronous_programming_language" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Synchronous_programming_langua...</a><p>[2]: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Esterel" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Esterel</a><p>[3]: <a href="http:&#x2F;&#x2F;www.ceu-lang.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.ceu-lang.org&#x2F;</a><p>[4]: <a href="http:&#x2F;&#x2F;witheve.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;witheve.com&#x2F;</a><p>[5]: <a href="https:&#x2F;&#x2F;www2.eecs.berkeley.edu&#x2F;Pubs&#x2F;TechRpts&#x2F;2009&#x2F;EECS-2009-173.pdf" rel="nofollow">https:&#x2F;&#x2F;www2.eecs.berkeley.edu&#x2F;Pubs&#x2F;TechRpts&#x2F;2009&#x2F;EECS-2009-...</a>
评论 #14239030 未加载
robmccollabout 8 years ago
ANI reminds me of HDLs [1] - I&#x27;m assuming that&#x27;s the inspiration with terminology like &quot;latch&quot;?<p>Hardware is also concurrent by default. Coding some hardware logic will also change the way you approach coding. Anyone who&#x27;s interested get an FPGA demo board and write some verilog or VHDL - I highly recommend it.<p>1. <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Hardware_description_language" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Hardware_description_language</a>
评论 #14239390 未加载
评论 #14239868 未加载
评论 #14239698 未加载
richard_sheltonabout 8 years ago
Honestly, I don&#x27;t think that &quot;concatenative&quot; is a good term here. I prefer to call it a special case of combinator-oriented programming. You may see examples of this approach in vector languages like APL, FP and in functional world too (see Henderson&#x27;s book, SICP and so on). The author of Joy (the language which spawned the whole &quot;concatenative&quot; activity) clearly was inspired by Backus&#x27;s FP. Here we have stack combinators and we can emulate them even in Python, thanks to closures.<p>square = code(dup, op(&quot;*&quot;))<p>Add a bit of syntactic sugar and you&#x27;ll get &quot;concatenative&quot;, or, better stack combinator-oriented language.<p>As for Prolog, I really appreciate that the author is calling it &quot;declarative&quot; not a &quot;logic&quot; language. It&#x27;s more important to learn about backtracking and unification (powerful variant of pattern matching) than about something like Horn clauses. For anyone who wants to learn Prolog better (and it&#x27;s worth it, Prolog is one of most beautiful PLs around!) I recommend this article: <a href="http:&#x2F;&#x2F;www.amzi.com&#x2F;articles&#x2F;prolog_under_the_hood.htm" rel="nofollow">http:&#x2F;&#x2F;www.amzi.com&#x2F;articles&#x2F;prolog_under_the_hood.htm</a>
评论 #14240317 未加载
asavinovabout 8 years ago
Would like to mention <i>concept-oriented programming</i> [1] which is work in progress but has highly ambitious goals of changing the way we think of programming. The initial idea is to make <i>references</i> active and customized elements of the program which can intercept all accesses to the represented objects. A new programming construct, called <i>concept</i> (hence the name of the approach), describes both behavior of references and behavior of objects. Objects exist in a hierarchy modeled by the concept hierarchy. IS-IN relation is used instead of the traditional IS-A. Also, concept-oriented programming distinguishes between incoming and outgoing methods, that is, every method has two versions: for external access and for internal access. More papers in [2].<p>[1] <a href="https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;1501.00720" rel="nofollow">https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;1501.00720</a> [2] <a href="https:&#x2F;&#x2F;www.researchgate.net&#x2F;profile&#x2F;Alexandr_Savinov" rel="nofollow">https:&#x2F;&#x2F;www.researchgate.net&#x2F;profile&#x2F;Alexandr_Savinov</a><p>Disclaimer: I am the author of concept-oriented programming and data model
评论 #14238652 未加载
anotheryouabout 8 years ago
Will Eve ever take off? I like the thoughts behind it.<p><a href="https:&#x2F;&#x2F;youtu.be&#x2F;VZQoAKJPbh8" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;VZQoAKJPbh8</a> very good talk about the background of eve. When he finally talks about eve you might want to switch to a more recent talk about it.
评论 #14238941 未加载
评论 #14238644 未加载
nialv7about 8 years ago
Array oriented programming languages are also pretty interesting:<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;APL_(programming_language)" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;APL_(programming_language)</a><p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;J_(programming_language)" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;J_(programming_language)</a>
评论 #14243617 未加载
评论 #14243384 未加载
dkerstenabout 8 years ago
A few random comments:<p>Forth is a great concatenative language, since its the pioneer in that area (I think), but Factor is definitely worth mentioning too as a &quot;modern&quot; take on the paradigm. It essentially tries to be a concatenative Lisp.<p>ANI was dead even in 2014 when this article was written (which the author acknowledges: <i>&quot;the language seems dead, but the concepts are pretty interesting&quot;</i>). It has some really interesting ideas, but since it never got implemented, I&#x27;m not sure how much use there is in discussing it here amongst <i>real</i> languages. It would be useful as a discussion for possible future languages for sure, but its currently still just a concept, so I&#x27;m not sure what <i>practical</i> thing you can learn from it right now.
oolongteaabout 8 years ago
ANI&#x2F;Plaid reminded me of the LabVIEW visual dataflow language, which is quite widely used in the branch of physics I used to work in, for data acquisition and instrument control. While I&#x27;ve often longed for a text-based alternative that plays better with modern version control and my favorite text editors, I have to say that having everything laid out for you in a visual way does make it easier to reason about the execution flow. That is, after a few years of working with it --- initially, this paradigm shift was rather a painful stretch of the nerves.<p>If every language has its own specific dark patterns and bottlenecks, LabVIEW&#x27;s is definitely the &quot;brightly-colored spaghetti&quot; structural breakdown of an advanced beginner&#x27;s code :-)<p>Incidentally, why do we, as programmers, tend to focus on a language&#x27;s bottlenecks so much, in such an emotionally charged way? Any psychology-of-programming people out here? You might consider LabVIEW an excellent case study in getting on people&#x27;s nerves...
mcguireabout 8 years ago
For some extra dependently typed fun, check out ATS and Dafny.<p>ATS is aimed at system programming, and if you think Idris has a steep learning curve, you&#x27;ll need belaying for ATS. And, the language is horrible. But it&#x27;s really mind expanding to see it in action.<p>Dafny is a really basic language with support for Hoare&#x2F;Dijkstra verification. It&#x27;s completely unlike the type system model.
_pmf_about 8 years ago
I&#x27;d recommend to everybody (but especially those involved in either embedded systems or a lot of concurrent state) to try out HSM &#x2F; state chart programming (note: this has basically nothing to do with &quot;flat&quot; FSMs). It&#x27;s as close to a silver bullet as you&#x27;ll ever get for these kinds of systems.<p>Stateflow or QP&#x2F;QM, all other systems suck.
评论 #14238460 未加载
lioetersabout 8 years ago
Thought-provoking. The examples are all programming languages, but the paradigms themselves can apply on a smaller scale, i.e., for application features, as design patterns or inspiration.<p>The section on &quot;symbolic programming&quot; has me pondering still about potential implications. It makes me imagine something like a &quot;visual&quot; WYSIWYG editor, but a &quot;conceptual&quot; editor.. Looking forward to digging deeper via provided references.
ramchipabout 8 years ago
It&#x27;s strange to see ANI mentioned as if it were a real, working language. AFAIK it was never able to compile even the samples: <a href="https:&#x2F;&#x2F;code.google.com&#x2F;archive&#x2F;p&#x2F;anic&#x2F;issues&#x2F;7" rel="nofollow">https:&#x2F;&#x2F;code.google.com&#x2F;archive&#x2F;p&#x2F;anic&#x2F;issues&#x2F;7</a>
dkarapetyanabout 8 years ago
Wait. What exactly is esoteric about these paradigms? All the books I&#x27;ve read simply call them regular paradigms.
评论 #14239044 未加载
评论 #14243484 未加载
minxomatabout 8 years ago
Curious. ANI seems to me like an abstract form of graph-parallel programming, where the language itself is the scheduler.<p>There are some production-ready schedulers for GPP, like Intel&#x27;s TBB[1] (C++), but learning to be effective with this requires a major shift in thinking about code - essentially thinking in graphs.<p>[1] - <a href="https:&#x2F;&#x2F;www.threadingbuildingblocks.org&#x2F;tutorial-intel-tbb-flow-graph" rel="nofollow">https:&#x2F;&#x2F;www.threadingbuildingblocks.org&#x2F;tutorial-intel-tbb-f...</a>
评论 #14239007 未加载
protomythabout 8 years ago
Agent oriented-programming <a href="http:&#x2F;&#x2F;robotics.stanford.edu&#x2F;~shoham&#x2F;www%20papers&#x2F;AgentOrientedProgrammingAIJ.pdf" rel="nofollow">http:&#x2F;&#x2F;robotics.stanford.edu&#x2F;~shoham&#x2F;www%20papers&#x2F;AgentOrien...</a> [PDF]
评论 #14240170 未加载
评论 #14241128 未加载
combatentropyabout 8 years ago
<p><pre><code> &gt; Dependent types &gt; &gt; Example languages: Idris, Agda, Coq &gt; &gt; You’re probably used to type systems in languages like C and Java, &gt; where the compiler can check that a variable is an integer, list, or string. &gt; But what if your compiler could check that a variable is “a positive integer”, &gt; “a list of length 2”, or “a string that is a palindrome”? </code></pre> This is what I love about SQL. You can even define your own types, like &quot;email&quot;, at least in PostgreSQL:<p><pre><code> create table contacts ( name text not null, age int check (age &gt;= 0), email email ); </code></pre> It already has a few of these special types built in, like for IP and MAC addresses (<a href="https:&#x2F;&#x2F;www.postgresql.org&#x2F;docs&#x2F;current&#x2F;static&#x2F;datatype.html" rel="nofollow">https:&#x2F;&#x2F;www.postgresql.org&#x2F;docs&#x2F;current&#x2F;static&#x2F;datatype.html</a>).
评论 #14239670 未加载
评论 #14239738 未加载
afdsadfabout 8 years ago
Shame not to see factor in the concatenative list, it addresses some of the pain points there with locals
评论 #14239349 未加载
toolsliveabout 8 years ago
I have also seen _persistent by default_ where every variable is by default store in a database and automatically initialized when you come back to that piece of code. Useful for web development. (Sorry, forgot the name of the programming language)
评论 #14245364 未加载
leovonlabout 8 years ago
This classification of &quot;paradigms&quot; is a bit off.<p>First, declarative programming is a generic name which includes a broad range of paradigms - from functional to logic programming. Logic programming is something that deserves a special mention and discussion, because there are a number of interesting and unique concepts that deserve a more in-depth explanation.<p>Second, &quot;dependent types&quot; is better understood as a feature of a language (or better yet, of a type system) than a paradigm by itself.<p>Some of the other &quot;paradigms&quot; also seem more like characteristics of languages, and not really something that structures the way solutions are expressed&#x2F;understood.
评论 #14243513 未加载
devrandomguyabout 8 years ago
There should be a category for analogy based languages. Rail or the Billiard Ball Machine, which looks like Feynman diagrams on a pool table, are examples of this.<p><a href="https:&#x2F;&#x2F;esolangs.org&#x2F;wiki&#x2F;Rail" rel="nofollow">https:&#x2F;&#x2F;esolangs.org&#x2F;wiki&#x2F;Rail</a> <a href="https:&#x2F;&#x2F;esolangs.org&#x2F;wiki&#x2F;Billiard_ball_machine" rel="nofollow">https:&#x2F;&#x2F;esolangs.org&#x2F;wiki&#x2F;Billiard_ball_machine</a>
dragonwriterabout 8 years ago
I&#x27;m kind of uncomfortable calling &quot;declarative&quot; a paradigm; it&#x27;s a broad (and not binary) feature. Prolog and SQL are, respectively, the leading examplars of the logic and relational paradigms. They are both fairly declarative (but then, in the age of optimizing compilers, even C is somewhat declarative: your code constrains the result but it doesn&#x27;t dictate the how as much as it seems to.)
rmidthunabout 8 years ago
I would add pictorial programming languages, such as ProGraph if you want a really unusual way to program. Object oriented, but inherently dataflow. Loops were very weird though.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Prograph" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Prograph</a>
tjalfiabout 8 years ago
ParaSail[0] is another implicitly parallel language. It has similar goals to Rust and Spark Ada.<p>[0] <a href="https:&#x2F;&#x2F;forge.open-do.org&#x2F;plugins&#x2F;moinmoin&#x2F;parasail&#x2F;" rel="nofollow">https:&#x2F;&#x2F;forge.open-do.org&#x2F;plugins&#x2F;moinmoin&#x2F;parasail&#x2F;</a>
a_cabout 8 years ago
On concatenative languages, I would like to add Piet[1] as a contender. Plus Piet program could look like 8-bit art (to me).<p>[1] <a href="http:&#x2F;&#x2F;www.dangermouse.net&#x2F;esoteric&#x2F;piet.html" rel="nofollow">http:&#x2F;&#x2F;www.dangermouse.net&#x2F;esoteric&#x2F;piet.html</a>
评论 #14238838 未加载
westurnerabout 8 years ago
Re: &quot;Dependent Types&quot;<p>In Python, PyContracts supports runtime type-checking and value constraints&#x2F;assertions (as @contract decorators, annotations, and docstrings).<p><a href="https:&#x2F;&#x2F;andreacensi.github.io&#x2F;contracts&#x2F;" rel="nofollow">https:&#x2F;&#x2F;andreacensi.github.io&#x2F;contracts&#x2F;</a><p>Unfortunately, there&#x27;s yet no unifying syntax between PyContracts and the newer python type annotations which MyPy checks at compile-type.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;python&#x2F;typeshed" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;python&#x2F;typeshed</a><p>What does it mean for types to be &quot;a first class member of&quot; a programming language?
Blackthornabout 8 years ago
Concurrency by default feels a bit like the underlying processor of the machine, what with superscalar architectures and all.
评论 #14239441 未加载
garyclarke27about 8 years ago
Great thought provoking article. Good explanation of Dependent Types, Title is misleading though, should be called - Particular or Specfic Types. Postgres has the same capability - Domains - always surprised that other db&#x27;s such as sql server have never adopted this useful feature.
oddmundsabout 8 years ago
There seems to be and old discussion over here <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=7565153" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=7565153</a>
Chris2048about 8 years ago
Aurora looks interesting, but it seems to be .Net&#x2F;windows only?
评论 #14238984 未加载
DonHopkinsabout 8 years ago
I recently submitted a link about &quot;Robust First Computing&quot;. It didn&#x27;t get any response, but I&#x27;ll repeat the link and description here, since it&#x27;s certainly esoteric, but has some extremely important properties.<p>Robust-First Computing: Distributed City Generation <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=XkSXERxucPc" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=XkSXERxucPc</a><p>A Movable Feast Machine [1] is a &quot;Robust First&quot; asynchronous distributed fault tolerant cellular-automata-like computer architecture.<p>The video &quot;Distributed City Generation&quot; [2] demonstrates how you can program a set of Movable Feast Machine rules that build a self-healing city that fills all available space with urban sprawl, and even repairs itself after disasters!<p>The paper &quot;Local Routing in a new Indefinitely Scalable Architecture&quot; [2] by Trent Small explains how those rules work, how the city streets adaptively learn how to route the cars to nearby buildings they desire to find, and illustrated the advantages of &quot;Robust First&quot; computing:<p>Abstract: Local routing is a problem which most of us face on a daily basis as we move around the cities we live in. This study proposes several routing methods based on road signs in a procedurally generated city which does not assume knowledge of global city structure and shows its overall efficiency in a variety of dense city environments. We show that techniques such as Intersection-Canalization allow for this method to be feasible for routing information arbitrarily on an architecture with limited resources.<p>This talk &quot;Robust-first computing: Demon Horde Sort&quot; [4] by Dave Ackley describes an inherently robust sorting machine, like &quot;sorting gas&quot;, implemented with the open source Movable Feast Machine simulator, available on github [5].<p>A Movable Feast Machine is similar in many ways to traditional cellular automata, except for a few important differences that are necessary for infinitely scalable, robust first computing.<p>First, the rules are applied to cells in random order, instead of all at once sequentially (which requires double buffering). Many rule application events may execute in parallel, as long as their &quot;light cones&quot; or cells visible to the executing rules do not overlap.<p>Second, the &quot;light cone&quot; of a rules, aka the &quot;neighborhood&quot; in cellular automata terms, is larger than typical cellular automata, so the rule can see other cells several steps away.<p>Third, the rules have write access to all of the cells in the light cone, not just the one in the center like cellular automata rules. So they can swap cells around to enable mobile machines, which is quite difficult in cellular automata rules like John von Neumann&#x27;s classic 29 state CA. [6] [7]<p>Forth, diffusion is built in. A rule may move the particle to another empty cell, or swap it with another particle in a different cell. And most rules automatically move the particle into a randomly chosen adjacent cell, by default. So the particles behave like gas moving with brownian motion, unless biased by &quot;smart&quot; rules like Maxwell&#x27;s Demon, like the &quot;sorting gas&quot; described in the Demon Hoard Sort video.<p>In this video &quot;Robust-first computing: Announcing ULAM at ECAL 2015&quot; [8], David Ackley explains why &quot;Robust First&quot; computing and computing architectures like Movable Feast Machines are so incredibly important for scaling up incredibly parallel hardware.<p>I think this is incredibly important stuff in the long term, because we&#x27;ve hit the wall with determinism, and the demos are so mind blowing and visually breathtaking, that I want to try programming some of my own Movable Feast Machine systems!<p>[1] <a href="http:&#x2F;&#x2F;movablefeastmachine.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;movablefeastmachine.org&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=XkSXERxucPc" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=XkSXERxucPc</a><p>[3] <a href="http:&#x2F;&#x2F;www.cs.unm.edu&#x2F;~ackley&#x2F;papers&#x2F;paper_tsmall1_11_24.pdf" rel="nofollow">http:&#x2F;&#x2F;www.cs.unm.edu&#x2F;~ackley&#x2F;papers&#x2F;paper_tsmall1_11_24.pdf</a><p>[4] <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=helScS3coAE" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=helScS3coAE</a><p>[5] <a href="https:&#x2F;&#x2F;github.com&#x2F;DaveAckley&#x2F;MFM" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;DaveAckley&#x2F;MFM</a><p>[6] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Von_Neumann_cellular_automaton" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Von_Neumann_cellular_automaton</a><p>[7] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Von_Neumann_universal_constructor" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Von_Neumann_universal_construc...</a><p>[8] <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=aR7o8GPgSLk" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=aR7o8GPgSLk</a>
bryanrasmussenabout 8 years ago
Isn&#x27;t Lua supposed to be an example of a concatenative language?
评论 #14238783 未加载
评论 #14238903 未加载
评论 #14238648 未加载
pitajabout 8 years ago
I believe HN title convention is to remove the number of list items ex. this title should be just &quot;Programming paradigms that will change how you think about coding&quot;.
评论 #14238519 未加载