Skip to content

Comparison to relative LISP based languages (like Clojure) #146

@jasalt

Description

@jasalt

For onboarding lispers from other languages, it would be beneficial to provide documentation of the differences between Phel and (mainly) Clojure so that users could get up and running faster without having to discover the differences themselves.

Pretty good example in Basilisp ("Phel" for Python) docs "Differences from Clojure" https://basilisp.readthedocs.io/en/latest/differencesfromclojure.html

Some topics discussed there with few notes that came to my mind:

  • Type Differences
  • Arithmetic Comparison (note that PHP feature is "fixed" Avoid coercing nil to 0 in math operations phel-lang#887)
  • Reader
    • Macros (syntax is like in Janet, plus auto-gensym like Clojure)
    • Regular Expressions (e.g. PHP regex uses surrounding slashes (?))
    • Special Forms (e.g. lambda syntax #(%) v.s. |($))
  • Compilation
  • Evaluation
  • REPL
  • Namespaces
  • Core namespace differences (e.g. with-out-str v.s. with-output-buffer, no multi-methods)
  • Core library equivalents (not much exist but might in future)
  • Host Interop
  • Concurrent Programming

More examples from ClojureScript https://www.clojurescript.org/about/differences and ClojureDart https://github.com/Tensegritics/ClojureDart/blob/main/doc/differences.md

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationgood first issueGood for newcomers

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions