durexforth
factor
Our great sponsors
durexforth | factor | |
---|---|---|
4 | 32 | |
175 | 1,262 | |
- | 2.8% | |
8.2 | 9.9 | |
about 1 month ago | 2 days ago | |
Forth | Factor | |
- | BSD 2-clause "Simplified" License |
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.
durexforth
-
Including files in durexForth (C64)
Just the durexForth manual from github. It's possible I missed something searching through it, but the example programs they have in the repo do have examples of word definitions starting on the first line of the file. Additionally, simply adding a comment to my own code didn't make a difference.
-
Are there any things in math you wish you could rename?
For the interested, there is a modern open source C64 Forth called DurexForth.
-
C64 Dungeoncrawler - Mockup
I know you said you wrote this in Kick Assembler, but I really feel like I should plug 64tass a fantastic cross-assembler. I've used it for my own reverse engineering projects. You might also want to look into DurexForth not because I think you should write this in Forth instead of ASM, but because it might help you to think about how to write things like a quest interpreter.
-
RetroForth 2021.1 Is Released
If you’re into this you may also like durex forth: https://github.com/jkotlinski/durexforth
A modern C64 variant, as well as CollapseOS which is a Forth based 8-bit OS: https://collapseos.org/
factor
-
Jonesforth – A sometimes minimal FORTH compiler and tutorial (2007)
I must mention Factor, which is a modern concatenative, stack-based programming language. It turns out Forth was just the first concatenative language discovered/constructed.
- Factor programming language is a concatenative, stack-based programming language
- Concatenative Language
-
The Lisp Curse
> Dr. Mark Tarver — twice-quoted, above — wrote a dialect of Lisp called Qi. It is less than ten thousand lines of macros running atop Clisp. It implements most of the unique features of Haskell and OCaml. In some respects, Qi surpasses them. For instance, Qi's type inferencing engine is Turing complete. In a world where teams of talented academics were needed to write Haskell, one man, Dr. Tarver wrote Qi all by his lonesome.
Check out https://github.com/factor/factor. Check out how much stuff they have implemented early on, just 2-4 guys tops. I found it really impressive.
-
I prefer languages without “puzzles”, like C. Clear, unambiguous syntax and semantics that trivially compile to machine code in a straightforward 1:1 mapping
: comment ( -- uj ) [ Probably sarcasm/trolling - AFAICT, that's the guy who made Factor before getting poached by Apple for Swift team ] with-unjerk ; inline
-
I've always wanted to know how compilers work, I started writing one a few weeks back. Recently, I managed to rewrite the compiler in the new language itself!
Factor is another more modern take on concatenative languages that is fairly clearly somewhat lisp-influenced. https://factorcode.org/
-
5 not well known Programming Language that are worth exploring
! Copyright (C) 2018 Blag. ! See http://factorcode.org/license.txt for BSD license. USING: math prettyprint kernel io math.parser command-line namespaces sequences ; IN: fibo number ; : list_fibo ( x -- ) 1 0 pick 1 + [ dup . over over + rot drop ] times 3drop ; PRIVATE> : fibo ( -- ) ask-number read-number list_fibo ; : fibo-run ( -- ) fibo ; MAIN: fibo-run
-
100 Languages Speedrun: Episode 71: Factor
One of such languages has been Factor. Let's see how it improves upon Forth.
- Hacker-News.factor
-
Ask HN: Who Wants to Collaborate?
These projects seem really cool! A few links and historical references that might be of interest:
> On the hardware side I want to use small and simple systems
If you'd like to build a fully understandable computer, you might be interested in concatenative languages like Forth, Factor, and colorForth. These use a much simpler and more understandable, typically stack-based computational model that run on microcontrollers like STM32. You can create more complex words by composing together simple assembly-language-like atoms and building higher and higher layers of abstraction.
- https://concatenative.org/wiki/view/Factor/FAQ/Why%3F
- Motivation section from: https://bernd-paysan.de/why-forth.html
> On the software side I have a simple GUI and macro language that is easy to learn and much much simpler and more elegant than current conventional UIs.
A good starting point or source of inspiration might be the Smalltalk and Lisp Machines from the past.
- https://www.codeproject.com/Articles/1241904/Introduction-to...
- How Do I Master The Art of Smalltalk? https://www.quora.com/How-do-I-master-the-art-of-Smalltalk?s...
- Live Objects in Smalltalk Pharo: https://www.quora.com/What-is-this-live-objects-in-Smalltalk...
- Smalltalk Principles: https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk....
You might also be interested in this blog from a guy who is trying to build his own OS from scratch and run it on an FPGA: http://www.loper-os.org/?p=55
What are some alternatives?
zeptoforth - A not-so-small Forth for Cortex-M
jonesforth - Mirror of JONESFORTH
proposal-partial-application - Proposal to add partial application to ECMAScript
bondi - source code for the bondi programming language
oil - Oil is a new Unix shell. It's our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!
harm-less - Inspired by suckless and cat-v, this is a simple single document wiki of suckless practices and minimal software.
batteries-included - Batteries Included project
stoneknifeforth - a tiny self-hosted Forth implementation
GoatCounter - Easy web analytics. No tracking of personal data.
Umami - Umami is a simple, fast, privacy-focused alternative to Google Analytics.
jc - CLI tool and python library that converts the output of popular command-line tools and file-types to JSON or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.