Copyright © 2014-2023 Roy Pfund All rights reserved.
Use of this software and associated documentation files (the "Software"), is governed by a MIT-style License(the "License") that can be found in the LICENSE file. You should have received a copy of the License along with this Software. If not, see
http://Viruliant.Github.io/LICENSE-1.0.txt
##Intro-
Sorenson's Acoustic DUAL Piano Scheme Setup Video(NOT in Stereo)
shall serve as
a layman's description of what a live Scheme interpreter/translator/compiler can look like;
It is also an Excellent Musical Piece, w/Narration of how his code generates it(you may also wish to rewind it to the begining, to hear more details).
If you want to experiment or learn about Scheme I would suggest you:
start working with examples from the 1984 SICP book linked in the runnable SICP-Template.ss file, and
download the corresponding R5RS SICP.ss compatiblity file, and
a R5RS compatible Scheme interpreter like Gambit, TinySCHEME, Impromptu, or Extempore.
#VIR·U·L·IANT ##ˈvir(y)əlyənt/
Hostly possessing courage & determination; extremely severe in its effects.
Viruliant is to provide a Subset of the [R5RS Scheme Languge](/Cite/R5RS/R5RS Specification.pdf) by either direct lambda calculus, interpreting, or translating to C99 in a similar fashion as how OOP has been added to C99 in
Object-oriented design patterns in the kernel, part 1 and part 2.
AntiThread, & mkconfExample.
All In the spirit of:
- "falling out for free" --1986SICPLec4
- "how to have our cake in functional style and eat it too"(limited by a dragging tail) --1986SICPLec6
- "using logic to express what is true, you use logic to check whether something is true, and you use logic to find out what is true." --1986SICPLec8
- Ben Swift Debugging AND Recompiling the currently running application.
###Ways You Can Participate
- Share the Website
- Chat @
- View the Code
- Solve Issues from the Issue Tracker,
- Submit a New Issue if you do not see it listed there.
- Donate via Bitcoin or Paypal, If you like this project and/or want to see more projects like it.
##Agnostic Semantics
BOTH Viruliant and NTL WILL Use the following Language Agnostic Grammar, Boolean, & Set Logic Operands
α↓β | α⇐β | α⇒β | α⇑β | --- | Operator | --- | Negation |
---|---|---|---|---|---|---|---|
1 | 0 | 0 | 0 | α↓β | Joint denial | α⇓β | Disjunction |
0 | 1 | 0 | 0 | α⇐β | Converse Nonimplication | α←β | Converse Implication |
0 | 0 | 1 | 0 | α⇒β | Nonimplication | α→β | Implication |
0 | 0 | 0 | 1 | α⇑β | Conjuction | α↑β | Alternative denial |
0 | 0 | 1 | 1 | α | Proposition α | ¬α | Negation α |
0 | 1 | 0 | 1 | β | Proposition β | ¬β | Negation β |
1 | 0 | 0 | 1 | α↔β | Biconditional | α⇔β | Exclusive Disjunction |
1 | 1 | 1 | 1 | ⊤ | Tautology | ⊥ | Contradiction |
#NTL: Numerical Translation Language
###All Translation SHALL:
-
attempt create a notation to put into comments in the generated code such that the process can be reversed.
-
Use an Earley Parser similar to Keshav. also used in the Grammar Spec the parser uses ⊤↔ ⇓
-
"The TXL paradigm consists of parsing the input text into a structure tree, transforming the tree to create a new structure tree, and unparsing the new tree to a new output text" NTL will do the same
dlopen_self.c- Shows how to use dlsym to examine the running executable's properties. This lets you, e.g., look up one of your own global variables by its string name, which is pretty amazing.
dlopen_gcc.c- Shows how to write some code at runtime, compile the code into a shared library, link in the new shared library, and use its new functions.
dlopen_libc.c- Shows how to use dlopen to examine a shared libraries' symbols and functions. In this case, we look up and call the math library's "cos" routine. (Just like Linux' man dlopen).
- http://llvm.org/git/llvm
- http://llvm.org/git/clang
- http://github.com/santoshn/softboundcets-34.git
- https://github.com/rustyrussell/ccan/tree/master/ccan/antithread
- https://github.com/cheusov/mk-configure
- bmake
##Venn Diagrams
--- | Venn Diagram | --- |
---|---|---|
α↓β | α⇓β | |
α⇐β | α←β | |
α⇒β | α→β | |
α⇑β | α↑β | |
α↔β | α⇔β | |
α | ¬α | |
β | ¬β | |
⊤ | ⊥ |