aboutsummaryrefslogtreecommitdiffhomepage
path: root/README.md
diff options
context:
space:
mode:
authorCalvin Rose <calsrose@gmail.com>2021-05-26 10:07:11 -0500
committerCalvin Rose <calsrose@gmail.com>2021-05-26 10:07:11 -0500
commit7c757ef3bf2a39dceff14192d700b4bbfbac6312 (patch)
treeffa062d8867ea5e9b4cfe4242ca887454dc31947 /README.md
parentFix peg bug when there is no default grammar set. (diff)
Make jpm configurable for environments like MinGW.
Diffstat (limited to 'README.md')
-rw-r--r--README.md35
1 files changed, 31 insertions, 4 deletions
diff --git a/README.md b/README.md
index 35cd4f2b..582ca17f 100644
--- a/README.md
+++ b/README.md
@@ -234,7 +234,7 @@ See the examples directory for some example janet code.
## Discussion
Feel free to ask questions and join the discussion on the [Janet Gitter Channel](https://gitter.im/janet-language/community).
-Alternatively, check out [the #janet channel on Freenode](https://webchat.freenode.net/)
+Gitter provides Matrix and irc bridges as well.
## FAQ
@@ -246,8 +246,35 @@ will not. If your terminal does not support ANSI escape codes, run the REPL with
the `-n` flag, which disables color output. You can also try the `-s` if further issues
ensue.
-## Why Janet
+### Where is (favorite feature from other language)?
-Janet is named after the almost omniscient and friendly artificial being in [The Good Place](https://en.wikipedia.org/wiki/The_Good_Place).
+It may exist, it may not. If you want to propose major language features, go ahead and open an issue, but
+they will likely by closed as "will not implement". Often, such features make one usecase simpler at the expense
+of 5 others by making the language more complicated.
+
+### Where is the example code?
+
+In the examples directory.
+
+### Is this a Clojure port?
+
+No. It's similar to Clojure superficially because I like Lisps and I like the asthetics.
+Internally, Janet is not at all like Clojure.
+
+### Are the immutable data structures (tuples and structs) implemented as hash tries?
-<img src="https://raw.githubusercontent.com/janet-lang/janet/master/assets/janet-the-good-place.gif" alt="Janet logo" width="115px" align="left">
+No. They are immutable arrays and hash tables. Don't try and use them like Clojure's vectors
+and maps, instead they work well as table keys or other identifiers.
+
+### Why can't we add (feature from Clojure) into the core?
+
+Usually, one of a few reasons:
+- Often, it already exists in a different form and the Clojure port would be redundant.
+- Clojure programs often generate a lot of garbage and rely on the JVM to clean it up.
+ Janet does not run on the JVM. We admittedly have a much more primitive GC.
+- We want to keep the Janet core small. With Lisps, usually a feature can be added as a library
+ without feeling "bolted on", especially when compared to ALGOL like languages.
+
+## Why is it called "Janet"?
+
+Janet is named after the almost omniscient and friendly artificial being in [The Good Place](https://en.wikipedia.org/wiki/The_Good_Place).