After 13 years with Scheme, I archived my last experiment: seed โ€” a proof that vau with immutable environments can match syntax-case performance on Chez Scheme.

Four benchmarks, same test suites, competitive numbers. The conclusion: fexprs aren't slow, they're misunderstood.

README with code and reproducible benchmarks: https://github.com/amirouche/seed

#Scheme #Lisp #Kernel #ProgrammingLanguages #PLT #FunctionalProgramming #compiler #CompilerDesign

GitHub - amirouche/seed: Adding `vau` with an immutable dynamic environment to Chez Scheme

Adding `vau` with an immutable dynamic environment to Chez Scheme - amirouche/seed

GitHub

Also if you are into #rdf and #knowledgegraph you have heard of tinker pop gremlin ๐Ÿ‘น then the following pipeline might remind you some good souvenir:

ยดยดยด
(let ((g (make-graph gremlin-n gremlin-e 10 12345)))
(display "Graph: ")
(display gremlin-n)
(display " vertices, ")
(display gremlin-e)
(display " edges/vertex, 10 groups")
(newline)
(let ((tri (time
(traverse g
(V)
(as a)
(out)
(as b)
(where (same-group? g a b))
(out)
(as c)
(where (same-group? g a c))
(where (edge? g c a))
(count)))))
(display tri)
(display " triangles")
(newline)))
ยดยดยด

ref: https://github.com/amirouche/seed/blob/seed3/src/src/seed3/benchmarks/gremlin-pipeline.seed3

#scheme #graphdb