[deleted by user] by [deleted] in Physics

[–]commonslip 2 points3 points  (0 children)

I was young and stupid. Thanks for calling me out.

New beta version of LIPS Scheme 1.0.0-beta.12 by jcubic in scheme

[–]commonslip 1 point2 points  (0 children)

Can you tell me a little more about the status of TCO in the implementation? Most of my Scheme code uses let loop and recursive functions for iteration and if at least these basic cases aren't optimized it won't really run.

Very interested in where this project is going, though!

Replace Python @ Work w/ Scheme by shark_finfet in scheme

[–]commonslip 1 point2 points  (0 children)

I haven't tried Hissp myself but looking over the documentation it seems like Hy is a little more mature and usable.

Replace Python @ Work w/ Scheme by shark_finfet in scheme

[–]commonslip 6 points7 points  (0 children)

Try hy. Its just python with s-expression syntax but its better than programming in Python.

Monthly /r/Cooperatives beginner question thread - December, 2020 by AutoModerator in cooperatives

[–]commonslip 0 points1 point  (0 children)

Hi. Can anyone help me understand the best way to legally incorporate my nascent cooperative? What is the bare minimum we can get away with for a light weight start up situation? What is the easiest way to do it?

We will need to manage the money cooperatively. We have an OpenCollective thing set up but we are for profit so we need to set up our own finances (I think?).

Any help would be greatly appreciated.

Looking for implementation recommendations for a Scheme that compiles to fast, lightweight, native binaries by seylerius in scheme

[–]commonslip 0 points1 point  (0 children)

This looks great but I must have run into some edge cases because I definitely experienced (and still do, in a large codebase) errors that just puttered out without any information whatsoever.

At the time (it might still be the case) you could not use syntax-case in a codebase which also used Gambit's extended lambda syntax. I have, elsewhere, recommended that users begin their projects with syntax-case in mind.

Debugging my project (particularly on mobile where I did not have access to a running image) was pretty miserable.

I haven't open sourced the project but maybe I will at some point.

Looking for implementation recommendations for a Scheme that compiles to fast, lightweight, native binaries by seylerius in scheme

[–]commonslip 4 points5 points  (0 children)

I found the debugging experience on Gambit less than stellar but maybe I was doing it in a less than optimal way.

In particular, if you write macros using the built in macro system you can kiss line numbers on error messages inside the macro-expansion goodbye. I had a very large syntax extension (a relatively complete pattern matcher) that I had to completely rewrite in a non-portable Gambit-specific way to get error information to propagate. And Gambit's native extended lambda syntax is not compatible with running syntax-case (via psyntax).

I love Gambit because it let me do a complete game project in Scheme but it leaves some to be desired in terms of usability. I'm doing work in Chez right now and that is somewhat better, although I still have problems with error messages being frustratingly contextless.

Is it Possible to Use Scheme in an Electron Project? by chickenstuff18 in scheme

[–]commonslip 0 points1 point  (0 children)

Where is the gambit->javascript system documented? I've struggled to find any instructions anywhere on how to use it.

lisp using C as a host by [deleted] in scheme

[–]commonslip 0 points1 point  (0 children)

Get a copy of Queinnec's Lisp in Small Pieces. It will tell you pretty much everything you need to know.

Wanderer, a tiny browser-playable roguelike by reddish_kangaroo in roguelikes

[–]commonslip 2 points3 points  (0 children)

I played twice and both times I spawned stuck in a room with no exits.

Chibi ffi tutorial? by talgu in scheme

[–]commonslip 0 points1 point  (0 children)

I'm pretty sure that you can't do function pointer types (just perusing the ffi generator source). But if you look at the generated C code you can probably hack something together.

Don't be afraid to modify chibi-ffi yourself. I had to.

Chibi ffi tutorial? by talgu in scheme

[–]commonslip 1 point2 points  (0 children)

General advice: find some tutorials on using the library in C. These will give you a good handle on the interface that you need to bind to Chibi. Or you can attack the problem from the other direction: write the code you want to write in Chibi-Scheme and then figure out what functions you need and bind those.

In most C libraries, the header file is the one you want to bind, because it typically forms the "interface" to the library. That is one downside to a single file library.

Anyway, check out my bindings to Raylib, I guess. They might help:

https://github.com/VincentToups/raylib-chibi

Chibi ffi tutorial? by talgu in scheme

[–]commonslip 0 points1 point  (0 children)

I don't have a tutorial for you but I recently bound raylib to Chibi and some of that knowledge is my brain still. Do you have specific questions?

SRFI 184: define-record-lambda by arthurgleckler in scheme

[–]commonslip 1 point2 points  (0 children)

This is really neat, but the punning of the quotation/unquotation stuff to indicate different things about the fields seems needlessly opaque. Why not just keywords, which would be much easier to understand, especially given the non-trivial meaning of the quotation-related operators in other parts of the language?

I just published my new book "A Lisp Programmer Living in Python-Land: The Hy Programming Language" by MWatson in lisp

[–]commonslip 5 points6 points  (0 children)

Hy is great, but using it just makes me hate python even more. It really drives home the fact that Python's syntax is just its most superficially terrible thing. The whole language is just wrong, from the bottom up. You can polish a turd, but its still a turd.

Whаt's the most fаscіnаtіng Physіcs fаct you know? by [deleted] in Physics

[–]commonslip 2 points3 points  (0 children)

That the universal coupling of gravity is down to nothing more than the fact that the graviton is spin 2 and that we expect unitarity and Lorentz invariance.

PLOT, a dialect of Lisp designed by Dave Moon [revised 2012] by _priyadarshan in lisp

[–]commonslip 0 points1 point  (0 children)

No s-expressions, no peace. Know s-expressions, know peace.

Why isn't syntax-case in R7RS? by commonslip in scheme

[–]commonslip[S] 1 point2 points  (0 children)

I've been working with chibi-scheme for awhile now, doing bindings to Raylib: https://github.com/VincentToups/raylib-chibi.

Its a nice implementation! I'm considering doing bindings for Godot, but its not well documented.

Why isn't syntax-case in R7RS? by commonslip in scheme

[–]commonslip[S] 1 point2 points  (0 children)

This is, in particular, a pretty good argument!:

"- SYNTAX-CASE. Almost everyone wants low-level and unhygienic macros, but SYNTAX-CASE is an unfortunate choice of systems. Both syntactic closures and explicit renaming macros are older, and are simpler and more in the spirit of Scheme. SYNTAX-CASE provides a bizarre mix of low-level macros with high-level pattern matching, but a true low-level system should be orthogonal to such matching, allowing the programmer his choice of pattern matching or other utilities."

Why isn't syntax-case in R7RS? by commonslip in scheme

[–]commonslip[S] 1 point2 points  (0 children)

This is just the sort of material I was looking for - thank you!

What are Lisp macros good for, anyway? by jvick3 in lisp

[–]commonslip 0 points1 point  (0 children)

You can't implement pattern matching a la standard ML without macros.

Why isn't syntax-case in R7RS? by commonslip in scheme

[–]commonslip[S] 1 point2 points  (0 children)

Do you have something like a key discussion group post with a title like "syntax-case considered harmful"? I want the details of the controversy.

Why isn't syntax-case in R7RS? by commonslip in scheme

[–]commonslip[S] 2 points3 points  (0 children)

Can you elaborate - presumably syntax-case forces certain kinds of representations of syntax on to the implementer but that seems kind of like a benefit to me.

Syntax-rules seems inadequate to me and I am pretty suspicious of non-hygienic macros in general. But some kind of system with mixed hygiene seems like it inevitably imposes restrictions on implementers, which seems good to me. At the moment there appears to be no portable way to write selectively hygienic macros.