MS-DOS
ghc
MS-DOS | ghc | |
---|---|---|
59 | 95 | |
15,623 | 2,971 | |
- | 0.4% | |
0.0 | 9.7 | |
over 4 years ago | 7 days ago | |
Assembly | Haskell | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
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.
MS-DOS
- MS-DOS v1.25, v2.0, v4.0 Source Code
-
Open Sourcing DOS 4
This 4.0 code contains references to 4.00, though: https://github.com/microsoft/MS-DOS/blob/main/v4.0/src/BOOT/...
- DOS 4.0 Source Code Released Under MIT License
- Why Does Windows Use Backslash as Path Separator?
-
ST-DOS
I recently stumbled across the MS-DOS 1.25 and 2.0 source code [1].
[1] https://github.com/microsoft/MS-DOS
-
The History of Xenix
“Despite this reduction in scope for MS-DOS 2.0, it did carry many bits of XENIX. The system adopted I/O redirection via less-than and greater-than symbols, piping, a hierarchical directory tree, file handles […]”
The source code for MSDOS 2 is available and the file descriptor stuff appears to be in https://github.com/microsoft/MS-DOS/blob/master/v2.0/source/... and XENIX2.ASM. It stands in contrast to the File Control Block API which MSDOS 1 (née 86-DOS) modeled after CP/M’s API.
- MS-DOS v1.25 and v2.0 is now open-source (2014)
- MS-DOS v1.25 and v2.0 is now open-source
-
MS-DOS is now open-sourced
Asynchronous I/O figures in prominently in Windows NT. I was really surprised to see[0]:
Each driver in the chain defines two entry points; the strategy routine and the interrupt routine. The 2.0 DOS does not really make use of two entry points (it simply calls strategy, then immediately calls interrupt). This dual entry point scheme is designed to facilitate future multi-tasking versions of MS-DOS. In multi-tasking environments I/O must be asynchronous, to accomplish this the strategy routine will be called to queue (internally) a request and return quickly. It is then the responsibility of the interrupt routine to perform the actual I/O at interrupt time by picking requests off the internal queue (set up by the strategy routine), and process them. When a request is complete, it is flagged as "done" by the interrupt routine. The DOS periodically scans the list of requests looking for ones flagged as done, and "wakes up" the process waiting for the completion of the request.
I didn't realize that kind of forwarding-looking perspective was going into the design of MS-DOS.
[0] https://github.com/microsoft/MS-DOS/blob/master/v2.0/source/...
-
Exploring the Internals of Linux v0.01
>Any others I'm missing?
I would suggest MS-DOS: https://github.com/microsoft/MS-DOS
ghc
-
Veryl: A Modern Hardware Description Language
of course it does! what else would you call something like chicken scheme [https://call-cc.org/], ats [https://ats-lang.sourceforge.net/], or ghc [https://www.haskell.org/ghc/]? they are not "scripts", they are full-blown compilers that happen to use C as their compilation target, and then leverage C compilers to generate code for a variety of architecures. it's a very sensible way to do things.
-
XL: An Extensible Programming Language
Agree about Haskell... as far as I'm aware there is actually no declarative/easily-readable definition of the Haskell syntax that is also complete, especially when it comes to the indentation rules, and the syntax is basically defined by the very (ironically) imperatively-defined GHC parser[0].
I prefer a syntax like in Pure[1], where the ambiguous, hard to parse indentation-based syntax is replaced by explicit semicolons (Yeah, you can use braces/semicolons in Haskell as well, but most code doesn't).
[0] https://github.com/ghc/ghc/blob/master/compiler/GHC/Parser/L...
[1] https://agraef.github.io/pure-lang/
-
Revisiting Haskell after 10 years
GHC, the main Haskell compiler
-
Beginner question -- best way to implement this in Haskell?
GHCi, version 9.6.3: https://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /Users/daniel/.ghci ghci> :{ | split :: Float -> [Int] | split value = map(read . (:[])) . show | :} :3:15: error: [GHC-83865] • Couldn't match expected type: [Int] with actual type: a0 -> [b0] • Probable cause: ‘(.)’ is applied to too few arguments In the expression: map (read . (: [])) . show In an equation for ‘split’: split value = map (read . (: [])) . show
-
GHC 9.8.1 has been released
GHC is hosted on Gitlab, the Github repo is just a mirror. So money.
https://github.com/ghc/ghc
-
Um rápido Hello World com Haskell
☁ ~ ghci GHCi, version 9.4.7: https://www.haskell.org/ghc/ :? for help ghci> 6 + 3^2 * 4 42
-
Introducing NeoHaskell: A beacon of joy in a greyed tech world
Depending on who you ask, a programming language can be different things. If you ask the Haskell community, many will tell you that the language is the Haskell specification, and that what currently is being used is not Haskell itself, but an extension of Haskell that is supported by the GHC compiler. Similar to the C language, a programming language would be a specification.
- Exploring the Internals of Linux v0.01
-
type derivation
GHCi, version 9.4.2: https://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from ~/.dotfiles/ghc/.ghc/ghci.conf
- Why did GHC go from "occurs check failed" to talking about rigid type variables?
What are some alternatives?
86Box - Emulator of x86-based machines based on PCem.
polysemy - :gemini: higher-order, no-boilerplate monads
dosbox-x - DOSBox-X fork of the DOSBox project
in-other-words - A higher-order effect system where the sky's the limit
Chicago95 - A rendition of everyone's favorite 1995 Microsoft operating system for Linux.
vim-multiple-cursors - True Sublime Text style multiple selections for Vim
qubes-issues - The Qubes OS Project issue tracker
effect-zoo - Comparing Haskell effect systems for ergonomics and speed
emu2 - Simple x86 and DOS emulator for the Linux terminal.
seed7 - Source code of Seed7
open-watcom-v2 - Open Watcom V2.0 - Source code repository, Wiki, Latest Binary build, Archived builds including all installers for download.
frp-zoo - Comparing many FRP implementations by reimplementing the same toy app in each.