hebigo
glsp
Our great sponsors
hebigo | glsp | |
---|---|---|
21 | 8 | |
21 | 388 | |
- | - | |
1.9 | 3.6 | |
about 1 year ago | about 2 years ago | |
Python | Rust | |
Mozilla Public License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hebigo
-
What is the point of the if __name__ == "__main__":, i.e. why use a file as both script and module?
The Lissp transpiler incrementally compiles and executes each top-level form to Python. It needs to do this in case there's a macro definition that might affect the compilation of a subsequent form. If it's only executing definitions, this is harmless, but if you want to precompile the main module, it needs the guard, or the side effects will happen too.
-
What's the most hilarious use of operator overloading you've seen?
If you want Python to be as customizable as Lissp, check out Hissp (and Hebigo).
-
Want cleaner code? Use the rule of six
Python's lambdas can have as many lines as you want. Just wrap parens around it. Hissp uses this form as a compilation target. Its REPL shows the Python compilation. Play around with it til you get it: https://github.com/gilch/hissp
- What would be your “perfect” programming language?
- Kamby – A programming language based on Lisp that doesn't seems like Lisp
- Wisp: Whitespace to Lisp
-
Is ECMAScript really a dialect of Lisp?
The original Lisp's S-expression syntax was just supposed to be an intermediate language used by the compiler when processing the real language based on M-expressions, which kind of never took off. Numerous alternatives to S-expressions have been proposed, and some retain homoiconicity, another feature diagnostic of a Lisp (and one that ECMAScript lacks). For example, see Hebigo's readme, which shows a direct correspondence between its Python-like syntax and that of Hissp's default reader (Lissp), which uses the S-expressions. Julia can also be written in S-expressions, but this usually only used in macro definitions.
- Why Hy?
-
Land of Lisp
I think LoL is too CL-specific. If you know both languages first, you can pretty much translate, but since they'd be trying to learn Lisp in the first place, this is a bad idea.
On the other hand, [Hissp][1] has a pretty good tutorial for anyone coming from a Python background.
[1]: https://github.com/gilch/hissp
-
Interesting or distinctive lisps?
Hebigo: a whitespaceLisp isomorphic to Hissp that looks like Python.
glsp
-
Steel – An embedded scheme interpreter in Rust
3. Typed Racket
I almost used https://gamelisp.rs/ for a project but the nightly feature it needs broke and it's no longer maintained, glad to see something similar arise! You might want to consider adopting their choice of VecDeque as a list replacement, I think it makes a lot more sense than naive linked lists on modern machines.
-
Official /r/rust "Who's Hiring" thread for job-seekers and job-offerers [Rust 1.68]
Varied employment history has left me with great soft skills and a broad grab-bag of technical skills, mostly leaning towards high-performance systems programming. Major solo projects have included the scripting language GameLisp, a 2D game engine, and a novel computer vision library.
-
Interesting or distinctive lisps?
"Gamelisp is a scripting language for Rust game development." Feature list from the page: No garbage collection pauses (runs gc once per frame), Seamless Rust API, Memory-safe, Feature-rich ("Pattern‑matching, iterators, coroutines, macros..."), Easy entity scripting.
-
RoguelikeDev Does The Complete Roguelike Tutorial - Week 1
I'm using Rust to build a host program, and the actual game logic written in GameLisp on top of the bracket-lib. I only have superficial knowledge of Rust, 0 lisp experience, and never embedded a language before, so that's a lot to learn and implement at the same time.
-
RoguelikeDev Does The Complete Roguelike Tutorial Starting June 29th 2021
I'm not sure I'll go to the end of the 8 weeks, but I'll make that as fun/interesting as possible and (try to) use GameLisp!
-
Implementing a VM: how unsafe should I go?
I feel qualified to answer this! GameLisp was once implemented with highly unsafe code, but later on I reimplemented it using only safe code, with a very small amount of optional unsafety behind a feature flag. GameLisp's performance is currently somewhere between Lua and Python when unsafe code is switched on, or a bit slower than Python when unsafe code is switched off.
- Practicality of embedding a lisp/scheme interpreter that is implemented as C library?
-
Version 0.2 of GameLisp, a scripting language for Rust game development
It took a lot of wrestling with the type system, but I've managed to wring out several API improvements for version 0.2. I already considered GameLisp's Rust API to be best-in-class, and this release polishes it even further:
What are some alternatives?
hy - A dialect of Lisp that's embedded in Python
libtcod - A collection of tools and algorithms for developing traditional roguelikes. Such as field-of-view, pathfinding, and a tile-based terminal emulator.
hy-lisp-python - examples for my book "A Lisp Programmer Living in Python-Land: The Hy Programming Language"
libtcod-vcpkg-template - A template for C++17 libtcod projects. This template uses Vcpkg to fetch dependencies.
slime - The Superior Lisp Interaction Mode for Emacs
NetLogo - turtles, patches, and links for kids, teachers, and scientists
smtfmt - An SMT-LIB formatter.
bracket-lib - The Roguelike Toolkit (RLTK), implemented for Rust.
smart-imports - smart imports for Python
medley - The main repo for the Medley Interlisp project. Wiki, Issues are here. Other repositories include maiko (the VM implementation) and Interlisp.github.io (web site sources)
coalton - Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.
phel-lang - Phel is a functional programming language that transpiles to PHP. A Lisp dialect inspired by Clojure and Janet.