Live data from Hacker News

Viewing profile — zmonx

zmonx

HN member
Joined
Fri, Mar 27, 2015, 9:18 AM UTC
HN karma
427
Public activity
166 items

About zmonx

A teleteaching environment for Prolog: http://www.complang.tuwien.ac.at/ulrich/gupu/

Introduction to modern Prolog: https://www.metalevel.at/prolog

Prolog on Stackoverflow: https://stackoverflow.com/questions/tagged/prolog

Prolog on Reddit: https://www.reddit.com/r/prolog/

Recent public activity

  1. story
  2. comment
    Comment #16510585

    Whatever it does, I expect Emacs to not crash . If it cannot allocate more memory, I expect it to throw a Lisp exception that tells me so, not to crash the whole process. I greatly…

  3. comment
    Comment #16508428

    You can crash Emacs for example with the recipe from #2099: $ emacs -Q --eval "(let (v) (while t (setq v (cons v v))))" In response to how such deep structures can arise: They may …

  4. story
  5. comment
    Comment #16428383

    These are very good points! I would generalize "functional" to declarative though: Logic programming languages like Prolog and Mercury are also much more amenable to parallelizatio…

  6. comment
    Comment #16423407

    Prolog has definite clause grammars (DCGs), which are very similar to monads. You can think of a DCG as giving you two implicit arguments, which you can use to express concatenatio…

  7. comment
    Comment #16399758

    Yes, indeed! Please note that what makes this reasoning method so easily applicable in this case is uniformity of the abstract syntax, not of the surface syntax, which is also call…

  8. comment
    Comment #16390834

    For one particular example where homoiconicity makes reasoning about programs easier, consider an important reasoning method called abstract interpretation : https://en.wikipedia.o…

  9. comment
    Comment #16388378

    Please note that the creators of Julia no longer call it homoiconic [1]. The fact that you can access the AST in a language is not sufficient to make it homoiconic. There are sever…

  10. comment
    Comment #16387893

    In my experience, that is an overgeneralization, though definitely a tempting one that is frequently encountered. That being said, I find that Prolog code is often more readable th…

  11. comment
    Comment #16387781

    To distinguish homoiconic languages from others (where you may also "operate on the parse tree just the same as you can on regular program data"), a bit more qualification is neede…

  12. comment
    Comment #16387577

    In my opinion, this article puts too much emphasis on reading , and too little emphasis on actually reasoning about programs in homoiconic languages like Prolog and Lisp, and due t…

  13. comment
    Comment #16378514

    Yes, very much so. In addition, some of the automated translators I have seen also apply automated refactoring: They tend to merge similar sections of code and minimize the delta (…

  14. comment
    Comment #16377902

    Although it may appear a bit surprising at first, assembly language is homoiconic in the sense that you can easily reason about the program code within the language: It is easy to …

  15. comment
    Comment #16122711

    I agree, and recommend Biomake: https://github.com/evoldoers/biomake It uses the declarative programming language Prolog to write flexible rules. A logic programming language like …

  16. comment
    Comment #16054910

    Very nice, thank you for sharing! I have one comment on the naming convention. Consider has_type/3 from the post. For example: has_type(_, true, bool). A better name for this would…

  17. comment
    Comment #16021071

    The reason for this apparent discrepancy is found in the difference between strong and weak NP-completeness. The fully polynomial-time approximation scheme (FPTAS) for the knapsack…

  18. comment
    Comment #16018535

    The authors have built a start-up based on these ideas: http://memcpu.com/ They provide their SAT solver as a service that you can try. A related paper I recommend in this context …

  19. comment
    Comment #16018220

    This title is misleading: This was formulated as a question that was put forward (verbatim text: "Is a blockchain essentially a linked list?"), and the current answers are already …

  20. comment
    Comment #16003633

    Very nice, thank you for posting this! Program slicing is especially useful when debugging and reasoning about programs in declarative languages, such as Prolog. In Prolog, it is n…

  21. comment
    Comment #15996699

    25 years for acceptance are very well aligned with the timeline that Richard P. Gabriel has outlined in "Models of Software Acceptance": • Technology in the lab (t=0) • Technology …

  22. comment
    Comment #15938621

    Thank you for sharing this! It's nice to see Prolog used for such tasks, which are a good fit for a logic programming language. I have one small suggestion that I hope you find use…

  23. comment
    Comment #15857447

    The beauty of this is that a constraint solver (over finite domains, Boolean values, sets etc.) blends in completely seamlessly into the way Prolog works. From the perspective of P…

  24. comment
    Comment #15856958

    Please see my profile page: It contains links that I find relevant for learning modern Prolog features. Every predicate you impose on the set of solutions can be regarded as a cons…

  25. comment
    Comment #15855375

    In fact, the "old semantics" actually included language constructs that are only now becoming available (again) in Prolog systems. An example of such a construct is dif/2, which is…