-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationgood first issueGood for newcomersGood for newcomers
Description
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 documentationImprovements or additions to documentationgood first issueGood for newcomersGood for newcomers