the-power-of-prolog VS nx

Compare the-power-of-prolog vs nx and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
the-power-of-prolog nx
23 36
1,164 2,475
- 1.1%
7.4 9.3
17 days ago 6 days ago
HTML Elixir
- -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

the-power-of-prolog

Posts with mentions or reviews of the-power-of-prolog. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-01.
  • The Power of Prolog
    1 project | news.ycombinator.com | 31 Jan 2024
  • Advent of Code 2023 is nigh
    19 projects | news.ycombinator.com | 1 Dec 2023
  • Using Prolog in Windows NT Network Configuration (1996)
    5 projects | news.ycombinator.com | 21 Jul 2023
    Prolog is excellent for bikeshedding, in fact that might be its strongest axis. It starts with everything you get in a normal language such as naming things, indentation, functional purity vs side effects, where to break code into different files and builds on that with having your names try to make sense in declarative, relational, logical and imperative contexts, having your predicates (functions) usable in all modes - and then performant in all modes - having your code be deterministic, and then deterministic in all modes. Being 50 years old there are five decades of learning "idiomatic Prolog" ideas to choose from, and five decades of footguns pointing at your two feet; it has tabling, label(l)ing, SLD and SLG resolution to choose from. Built in constraint solvers are excellent at tempting you into thinking your problem will be well solved by the constraint solvers (it won't be, you idiot, why did you think that was a constraint problem?), two different kinds of arithmetic - one which works but is bad and one which mostly works on integers but clashes with the Prolog solver - and enough metaprogramming that you can build castles in the sky which are very hard to debug instead of real castles. But wait, there's more! Declarative context grammars let you add the fun of left-recursive parsing problems to all your tasks, while attributed variables allow the Prolog engine to break your code behind the scenes in new and interesting ways, plenty of special syntax not to be sneezed at (-->; [_|[]] {}\[]>>() \X^+() =.. #<==> atchoo (bless you)), a delightful deep-rooted schism between text as linked lists of character codes or text as linked lists of character atoms, and always the ISO-Standard-Sword of Damocles hanging over your head as you look at the vast array of slightly-incompatible implementations with no widely accepted CPython-like-dominant-default.

    Somewhere hiding in there is a language with enough flexibility and metaprogramming to let your meat brain stretch as far as you want, enough cyborg attachments to augment you beyond plain human, enough spells and rituals to conjour tentacled seamonsters with excellent logic ability from the cold Atlantic deeps to intimidate your problem into submission.

    Which you, dear programmer, can learn to wield up to the advanced level of a toddler in a machine shop in a mere couple of handfuls of long years! Expertise may take a few lifetimes longer - in the meantime have you noticed your code isn't pure, doesn't work in all modes, isn't performant in several modes, isn't using the preferred idiom style, is non-deterministic, can't be used to generate as well as test, falls into a left-recursive endless search after the first result, isn't compatible with other Prolog Systems, and your predicates are poorly named and you use the builtin database which is temptingly convenient but absolutely verboten? Plenty for you to be getting on with, back to the drawing boar...bikeshed with you.

    And, cut! No, don't cut; OK, green cuts but not red cuts and I hope you aren't colourblind. Next up, coroutines, freeze, PEngines, and the second 90%.

    Visit https://www.metalevel.at/prolog and marvel as a master deftly disecting problems, in the same way you marvel at Peter Norvig's Pytudes https://github.com/norvig/pytudes , and sob as the wonders turn to clay in your ordinary hands. Luckily it has a squeaky little brute force searcher, dutifully headbutting every wall as it explores all the corners of your problem on its eventual way to an answer, which you can always rely on. And with that it's almost like any other high level mostly-interpreted dynamic programming / scripting language.

  • ELI5 the difference between logic, machine learning, and artificial intelligence?
    1 project | /r/datascience | 23 May 2023
    There is also AI that isn't machine learning. One could use formal logic to state rules and facts about the world and infer things from that. This sounds attractive but the main issue is that you need to build and maintain all of this knowledge. Most oldschool AI falls into this category. There's also fun programming languages like Prolog that are deep into this school: https://www.metalevel.at/prolog
  • Why did Prolog lose steam? (2010)
    10 projects | news.ycombinator.com | 18 Apr 2023
    There's a nice book[1][2] about Prolog, with modern characteristics. Moreover, there are things like ProbLog[3] and DeepProbLog[4] that allow you to use probabilistic reasoning and power of machine learning. I am personally looking forward for Scryer Prolog[5] to achieve its goals.

    [1] https://www.metalevel.at/prolog

    [2] https://github.com/triska/the-power-of-prolog

    [3] https://github.com/ML-KULeuven/problog

    [4] https://github.com/ML-KULeuven/deepproblog

    [5] https://github.com/mthom/scryer-prolog

  • `tar` creator/extractor in ~100 lines of Prolog
    3 projects | news.ycombinator.com | 18 Jan 2023
    I had the same troubles until I encountered Markus Triska's modern perspective on revitalizing Prolog: https://www.metalevel.at/prolog.
  • Prolog at Work
    3 projects | news.ycombinator.com | 31 Dec 2022
    The Power of Prolog [0] is a fantastic blog/video series covering everything from basic syntax, theoretical basis, modern features and idiomatic constructs.

    I highly recommend it if you want to get the gist of Prolog and its modern features.

    If you want a tour of Prolog, you can watch the video with that name [1].

    [0]: https://www.metalevel.at/prolog

    [1]: https://youtu.be/8XUutFBbUrg

  • Aspects of Production/Professional Prolog
    2 projects | /r/prolog | 9 Dec 2022
    I've gone through The Art of Prolog, most of The Power of Prolog, and a good chunk of the P-99 problems, and I have to say I'm simultaneously fascinated by and sceptical of Prolog. For some problem domains, implicit search is a very desirable property, and I can definitely see Prolog shining in that case. There are also many desirable properties and possibilities that are often reiterated, but concrete examples of how they would work are often missing. It comes down to: how does "production Prolog" look? A talk on Strange Loop by Michael Hendricks on exactly that topic was really helpful (especially w.r.t. some useful tools and libraries: func and yall are really great, and I still need to check mavis), but it still leaves me wondering on a couple of things.
  • How to best approach learning prolog?
    1 project | /r/prolog | 13 Jul 2022
    Pretty much every Prolog book is quite good, but if you have the money or a local library with a copy, I really like Programming in Prolog by Clocksin, or Art of Prolog by Stering and Shapiro. If you want to follow a web resource, the standard suggestion is Markus Triska's The Power of Prolog.
  • Prolog的力量 (The Power of Prolog)
    1 project | /r/hnzh | 7 Jun 2022

nx

Posts with mentions or reviews of nx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-25.
  • Unpacking Elixir: Concurrency
    9 projects | news.ycombinator.com | 25 Aug 2023
    Does nx not work for you? https://github.com/elixir-nx/nx/tree/main/nx#readme
  • A LiveView Is a Process
    5 projects | news.ycombinator.com | 16 Jun 2023
    It is historically not great at number computing. This is being addressed by a relatively new project called Nx. https://github.com/elixir-nx/nx

    It is not the right choice for CPU intensive tasks like graphics, HFT, etc. Some companies have used Rust to write native extensions for those kinds of problems. https://discord.com/blog/using-rust-to-scale-elixir-for-11-m...

  • How does Elixir stack up to Julia in the future of writing machine-learning software?
    3 projects | /r/Julia | 27 May 2023
  • Data wrangling in Elixir with Explorer, the power of Rust, the elegance of R
    7 projects | news.ycombinator.com | 14 Apr 2023
    José from the Livebook team. I don't think I can make a pitch because I have limited Python/R experience to use as reference.

    My suggestion is for you to give it a try for a day or two and see what you think. I am pretty sure you will find weak spots and I would be very happy to hear any feedback you may have. You can find my email on my GitHub profile (same username).

    In general we have grown a lot since the Numerical Elixir effort started two years ago. Here are the main building blocks:

    * Nx (https://github.com/elixir-nx/nx/tree/main/nx#readme): equivalent to Numpy, deeply inspired by JAX. Runs on both CPU and GPU via Google XLA (also used by JAX/Tensorflow) and supports tensor serving out of the box

    * Axon (https://github.com/elixir-nx/axon): Nx-powered neural networks

    * Bumblebee (https://github.com/elixir-nx/bumblebee): Equivalent to HuggingFace Transformers. We have implemented several models and that's what powers the Machine Learning integration in Livebook (see the announcement for more info: https://news.livebook.dev/announcing-bumblebee-gpt2-stable-d...)

    * Explorer (https://github.com/elixir-nx/explorer): Series and DataFrames, as per this thread.

    * Scholar (https://github.com/elixir-nx/scholar): Nx-based traditional Machine Learning. This one is the most recent effort of them all. We are treading the same path as scikit-learn but quite early on. However, because we are built on Nx, everything is derivable, GPU-ready, distributable, etc.

    Regarding visualization, we have "smart cells" for VegaLite and MapLibre, similar to how we did "Data Transformations" in the video above. They help you get started with your visualizations and you can jump deep into the code if necessary.

    I hope this helps!

  • Elixir and Rust is a good mix
    10 projects | news.ycombinator.com | 13 Apr 2023
    > I guess, why not use Rust entirely instead of as a FFI into Elixir or other backend language?

    Because Rust brings none of the benefits of the BEAM ecosystem to the table.

    I was an early Elixir adopter, not working currently as an Elixir developer, but I have deployed one of the largest Elixir applications for a private company in my country.

    I know it has limits, but the language itself is only a small part of the whole.

    Take ML, Jose Valim and Sean Moriarity have studied the problem, made a plan to tackle it and started solving it piece by piece [1] in a tightly integrated manner, it feels natural, as if Elixir always had those capabilities in a way that no other language does and to put the icing on the cake the community released Livebook [2] to interactively explore code and use the new tools in the simplest way possible, something that Python notebooks only dream of being capable of, after a decade of progress

    That's not to say that Elixir is superior as a language, but that the ecosystem is flourishing and the community is able to extract the 100% of the benefits from the tools and create new marvellously crafted ones, that push the limits forward every time, in such a simple manner, that it looks like magic.

    And going back to Rust, you can write Rust if you need speed or for whatever reason you feel it's the right tool for the job, it's totally integrated [3][4], again in a way that many other languages can only dream of, and it's in fact the reason I've learned Rust in the first place.

    The opposite is not true, if you write Rust, you write Rust, and that's it. You can't take advantage of the many features the BEAM offers, OTP, hot code reloading, full inspection of running systems, distribution, scalability, fault tolerance, soft real time etc. etc. etc.

    But of course if you don't see any advantage in them, it means you probably don't need them (one other option is that you still don't know you want them :] ). In that case Rust is as good as any other language, but for a backend, even though I gently despise it, Java (or Kotlin) might be a better option.

    [1] https://github.com/elixir-nx/nx https://github.com/elixir-nx/axon

    [2] https://livebook.dev/

    [3] https://github.com/rusterlium/rustler

    [4] https://dashbit.co/blog/rustler-precompiled

  • Distributed² Machine Learning Notebooks with Elixir and Livebook
    7 projects | news.ycombinator.com | 11 Apr 2023
    (including docs and tests!): https://github.com/elixir-nx/nx/pull/1090

    I'll be glad to answer questions about Nx or anything from Livebook's launch week!

  • Why Python keeps growing, explained
    7 projects | news.ycombinator.com | 3 Mar 2023
    I think that experiment is taking shape with Elixir:

    https://github.com/elixir-nx/nx

  • Does Nx use a Metal in the Backend ?
    2 projects | /r/elixir | 19 Jan 2023
    However the issue here at Nx https://github.com/elixir-nx/nx/issues/490 is already closed.
  • Do I need to use Elixir from Go perspective?
    5 projects | /r/elixir | 9 Jan 2023
    Outside of that, Elixir can be used for data pipelines, audio-video processing, and it is making inroads on Machine Learning with projects like Livebook, Nx, and Bumblebee.
  • Elixir – HUGE Release Coming Soon
    3 projects | news.ycombinator.com | 7 Dec 2022

What are some alternatives?

When comparing the-power-of-prolog and nx you can also consider the following projects:

pyswip - PySwip is a Python - SWI-Prolog bridge enabling to query SWI-Prolog in your Python programs. It features an (incomplete) SWI-Prolog foreign language interface, a utility class that makes it easy querying with Prolog and also a Pythonic interface.

Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications

swipl-wasm - Run SWI-Prolog in your browser using WebAssemply

gleam - ⭐️ A friendly language for building type-safe, scalable systems!

guile-log

axon - Nx-powered Neural Networks

erlog - Prolog interpreter in and for Erlang

dplyr - dplyr: A grammar of data manipulation

logtalk3 - Logtalk - declarative object-oriented logic programming language

explorer - An open source block explorer

swipl-devel - SWI-Prolog Main development repository

fib - Performance Benchmark of top Github languages