2025-02-12
not all items listed in the "table" here
result in successful searches. one example item that does not yield any search results is: #fl(
2025-02-12
not all items listed in the "table" here
result in successful searches. one example item that does not yield any search results is: #fl(
$ rg hort | rg and | |
janet.1:Execute a single Janet expression as a Janet short-fn, passing the remaining command line arguments to the expression. This allows | |
test/suite-parse.janet:(assert (= '(1 2 3) (quote (1 2 3)) (tuple 1 2 3)) "quote shorthand") | |
CHANGELOG.md:- Add function literal short-hand via `|` reader macro, which maps to the | |
test/suite-boot.janet:# Function shorthand | |
test/suite-boot.janet:(assert (= (|(+ 1 2 3)) 6) "function shorthand 1") | |
test/suite-boot.janet:(assert (= (|(+ 1 2 3 $) 4) 10) "function shorthand 2") | |
test/suite-boot.janet:(assert (= (|(+ 1 2 3 $0) 4) 10) "function shorthand 3") | |
test/suite-boot.janet:(assert (= (|(+ $0 $0 $0 $0) 4) 16) "function shorthand 4") | |
test/suite-boot.janet:(assert (= (|(+ $ $ $ $) 4) 16) "function shorthand 5") |
https://github.com/janet-lang/janet/commit/70e1f3ac81eb6cc14ad8c616b5ddce615dcf0d64 |
Anders Schau Knatten Videos
https://en.wikipedia.org/wiki/Hexadecimal#Hexadecimal_exponential_notation
1 +0x1.0000000000000p+0000 +1.0000000000000000e+000
+0 +0x0.0000000000000p+0000 +0.0000000000000000e+000
-0 -0x0.0000000000000p+0000 -0.0000000000000000e+000
1/3 +0x1.5555555555555p-0002 +3.3333333333333331e-001
-4/7 -0x1.2492492492492p-0001 -5.7142857142857140e-001
How to find the Git commit that introduce a string in any branch
git log -S <string> --source --all
How to find the commit in which a given file was added?
git log --diff-filter=A -- foo.js
initially added as thoughts.txt
renamed thoughts.txt to thoughts.md
ultimate removal
Like all programmers, DSL users deserve proper abstractions, that is, constructs that do not expose the underlying, reused components. In other words, host language details should not leak into uses of the DSL, including in error messages. Racket’s syntactic abstraction capabilities builds on the innovations of its Scheme and Lisp roots, but these predecessors never cared about writing true abstractions. At best, Lisp and Scheme programmers write low-level validation code that clutters the implementation; more commonly, validation is omitted, leaving Lisp and Scheme macros that resemble naive rewrite rules that do not distinguish the DSL from the host language. Racket helps the creation of robust linguistic abstractions with a declarative DSL for writing syntax transformers [Culpepper 2012]. Instead of low-level validation code, programmers write high-level specifications, which is compiled to produce error messages in terms of the surface language.
issues
(= 0.3 (+ 0.1 0.2))
is false
(def ...)
, (var ...)
, etc....
the code transformation step could have an initial phase that