News for hackers. Stuff that matters.
Re:ChrysaLisp by smabie on Monday January 13, 2020 @07:17AM (#22033759)
This is cool, but the code is... strange? https://github.com/vygr/ChrysaLisp/blob/master/gui/canvas/tg...

The code doesn’t look like Lisp at all. Is this some sort of lower assembler language that Lisp is implemented on top of?

Re:ChrysaLisp by vygr on Monday January 13, 2020 @12:25PM (#22036485)
That code is using the C-Script assembler prototyping macros. It will produce VP assembler output, but lets you work without worrying about registers while you're getting stuff going.

Have a read through the docs/ASSIGNMENT.md file to see how this all fits together.

Re:ChrysaLisp by dasmoth on Monday January 13, 2020 @07:31AM (#22033847)
Re:ChrysaLisp by TheAsprngHacker on Monday January 13, 2020 @01:18PM (#22037048)
As someone who isn't familiar with this Lisp dialect / DSL, something that stands out to me is the (def-struct ...) ... (def-struct-end), (def-method ...) ... (def-func-end), (switch) ... (endswitch), and (vpif ...) ... (endif). The appeal of s-expressions is that their nested structure is supposed to delineate the abstract syntax tree of the program, with the opening and closing parentheses denoting the boundaries of a construct. IMO this language's syntax isn't faithful to the spirit of Lisp.
Re:ChrysaLisp by vygr on Monday January 13, 2020 @01:34PM (#22037180)
The (def-struct) stuff is part of the assembler ! Not the Lisp.

Same with (def-enum) etc.

I am going to have to write a document to clearly state where these boundaries between the Lisp, the C-Script and the VP layers. I realise it's not that obvious sometimes.

Chris

Re:ChrysaLisp by Koshkin on Monday January 13, 2020 @09:46PM (#22041329)
(def-func-end) and other ‘ends’ look pretty un-lispy to me. Helps readability, though.
Re:ChrysaLisp by pdexter on Monday January 13, 2020 @09:04AM (#22034515)
Re:ChrysaLisp by capableweb on Monday January 13, 2020 @12:56PM (#22036817)
Looks like imperative/sequential lisp to me. Got those parenthesis, quoting and some light-weight nesting.

Anything in particular that sticks out to? Lack of recursion?