Y Sharp
@ysharp_design
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Escape operator update
Revisit the escape operator "`".20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Reflection / interop update
Reflection / interop bugfixes.20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Free-form escapes
Implement free-form escapes.20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Set equivalence class operator
Implement the set equivalence class operator '{/}'.20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
N-ary cartesian product, delegate proxies
Implement N-ary cartesian product; demo delegate proxies (through 'as' operator).20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
More CLR / BCL interop
Allow to consume open generic types and to close them.20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Add some CLR/BCL interop support
Introduce typeof/new/as/is operators, member invocation on CLR types.20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
More helpers
More CYK-oriented helpers.20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
CYK kickstart
Work out some helpers first.20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Improve samples a bit
More user friendly showcases.20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Minor refacto
Revisit Desugar() and the syntax of extended identifiers.20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Typo fix
Fix silly typo.20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Some renaming
For better nomenclature.20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Cover page
Updated cover page.20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Kahn's algorithm tryout
Kahn's algorithm in YoctoLisp...20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Programmer-defined operators
Allow the definition of programmer-defined operators behaving (mostly) like builtins.20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Typo fix
Refer to "overload" instead of "override".20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Bug fixes and new features
Fix nasty bug in Environment class; use commas instead of semicolons for the LastOf operator; allow programmer-defined, disciplined overloads of non-core builtins.20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
Revisit variadic arguments handling
Make both forms equivalent:
( Sum 1 2 3 ) and ( Sum . ( [] 1 2 3 ) )
when Sum has a signature of the form: ( ( (args) ) => ... )20
28
0
0
Super LeanExtensible LISP interpreter core in 100 lines.
A sample YoctoLisp dialect interpreter in another 200 lines, featuring: boolean algebra, integer arithmetic, set operators, string interpolation, first class environments, and more...
More sequence goodies
Show how to implement ranges and side effectful 'while' loops using sequences.20
28
0