ref: 942cda21592dfb3f7c155d14d502009b1623ef1e
parent: 0ba6b2378cd156aa2d43ed021cba824adb3b2265
	author: Lennart Augustsson <lennart@augustsson.net>
	date: Fri Dec 29 05:54:50 EST 2023
	
Bump version number.
--- a/MicroHs.cabal
+++ b/MicroHs.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: MicroHs
-version: 0.9.2.0
+version: 0.9.3.0
synopsis: A compiler for a subset of Haskell
license: Apache-2.0
license-file: LICENSE
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
# Micro Haskell
-This directory contains an implementation of a small subset of Haskell.
+This directory contains an implementation of an extended subset of Haskell.
It uses combinators for the runtime execution.
The runtime system has minimal dependencies, and can be compiled even for micro-controllers.
@@ -124,6 +124,7 @@
it will be the entry point to the program.
### Compiler flags
+* `--version` show version number
* `-iDIR` add `DIR` to search path for modules
* `-oFILE` output file. If the `FILE` ends in `.comb` it will produce a textual combinator file. If `FILE` ends in `.c` it will produce a C file with the combinators. For all other `FILE` it will compiler the combinators together with the runtime system to produce a regular executable.
* `-r` run directly
@@ -236,6 +237,9 @@
The typeclass `HasField` captures this. `HasField "name" rec ty` expresses that the record type `rec` has a field `name` with type `ty`.
 Record updates can also update nested fields, e.g., `r{ a.b.c = e }`.  Note that this will not easily work in GHC, since GHC does notfully implement `OverloadedRecordUpdate`. When GHC decides how to do it, MicroHs will follow suit.
+
+Haskell2010 code using records cannot be compiled directly with MicroHs, since the field names are not automatically selector functions.
+Given a field `foo` in a record you can use `foo` as a functions, in MicroHs you have to say `(.foo)` to get the selector function.
Note that record updates cannot change the type of polymorphic fields.
--- a/generated/mhs.c
+++ b/generated/mhs.c
@@ -8336,7 +8336,7 @@
95,51,49,52,41,41,32,95,49,53,57,41,41,41,32,40,95,51,57,53,
32,35,48,41,41,41,32,40,40,65,32,58,49,50,54,51,32,34,118,54,
46,49,92,49,48,38,34,41,32,40,40,65,32,58,49,50,54,52,32,34,
-48,46,57,46,50,46,48,34,41,32,40,40,65,32,58,49,50,54,53,32,
+48,46,57,46,51,46,48,34,41,32,40,40,65,32,58,49,50,54,53,32,
40,40,40,95,51,55,32,95,49,56,50,53,41,32,95,49,55,57,56,41,
32,40,40,66,32,40,40,95,51,55,32,95,49,56,50,53,41,32,40,95,
49,56,48,49,32,34,77,72,83,68,73,82,34,41,41,41,32,40,40,67,
--- a/src/MicroHs/Main.hs
+++ b/src/MicroHs/Main.hs
@@ -29,7 +29,7 @@
combVersion = "v6.1\n"
mhsVersion :: String
-mhsVersion = "0.9.2.0"
+mhsVersion = "0.9.3.0"
main :: IO ()
main = do
--
⑨