luite (Luite Stegeman)
User

User Details

User Since
Jul 4 2014, 4:34 AM (267 w, 1 d)

Recent Activity

May 22 2019

Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC4ba73e00c488: fix Template Haskell cross compilation on 64 bit compiler with 32 bit target (authored by luite).
fix Template Haskell cross compilation on 64 bit compiler with 32 bit target
May 22 2019, 4:03 PM

Oct 9 2018

luite added inline comments to D5213: Backend plugins.
Oct 9 2018, 1:56 AM · GHC
luite added inline comments to D5213: Backend plugins.
Oct 9 2018, 1:05 AM · GHC
luite added a comment to D5213: Backend plugins.

@luite There isn't a discussion other than the ghc-devs thread yet, I'll create a reddit thread to collect more opinions later.

Oct 9 2018, 12:29 AM · GHC

Oct 8 2018

luite added a comment to D5213: Backend plugins.

Is there a discussion somewhere else (other than the ghc-devs mailing list) about this? For example I'm still not sure why for the motivating example (custom backends) you prefer plugins over hooks. Perhaps I missed it.

Oct 8 2018, 2:28 PM · GHC

Dec 14 2015

luite added a comment to D1609: remove JavaScriptFFI from the `ghc --supported-extensions` list.

Yes I'd like to update the patch, but the list being used in HeaderInfo.checkExtension, which causes the validate failure, is actually also causing problems for GHCJS, since it's impossible to customize the check through the GHC API. Adding the list to DynFlags would be an option.

Dec 14 2015, 7:52 AM

Dec 13 2015

luite added a comment to D1609: remove JavaScriptFFI from the `ghc --supported-extensions` list.

Yes GHCJS adds the extension.

Dec 13 2015, 2:44 PM
luite retitled D1609: remove JavaScriptFFI from the `ghc --supported-extensions` list from to remove JavaScriptFFI from the `ghc --supported-extensions` list.
Dec 13 2015, 12:26 PM

Nov 11 2015

luite updated the diff for D1464: Change demand information for foreign calls. Foreign calls may not be strict for lifted arguments. Fixes trac #11076..
  • Add testcase for Trac #11076 and adjust strictness sig for T8598
Nov 11 2015, 8:11 AM
luite retitled D1464: Change demand information for foreign calls. Foreign calls may not be strict for lifted arguments. Fixes trac #11076. from to Change demand information for foreign calls. Foreign calls may not be strict for lifted arguments. Fixes trac #11076..
Nov 11 2015, 6:33 AM

Jul 15 2015

luite added a comment to D1070: Do not treat prim and javascript imports as C imports in TH and QQ.

Oh sorry, didn't notice that it was already merged in 7.10 (thanks!). The only change was a comment.

Jul 15 2015, 6:45 PM
luite added a comment to D1070: Do not treat prim and javascript imports as C imports in TH and QQ.

I've updated the backported patch for 7.10 in the trac ticket to reflect the latest changes (minus the new test case)

Jul 15 2015, 6:04 PM
luite updated the diff for D1070: Do not treat prim and javascript imports as C imports in TH and QQ.
  • add test case and comment to clarify the way calling conventions are handled in TH
Jul 15 2015, 5:46 PM
luite added a comment to D1070: Do not treat prim and javascript imports as C imports in TH and QQ.

For prim imports I'm not 100% sure, but since header files, dynamic and wrapper do not make sense there, it's of no use to try to parse the import as a C import. For javascript imports, the imported code can contain spaces and other sequences illegal in C imports, and the text shouldn't be messed with (i.e. no "static" keyword added/removed, no trying to interpret & as indicating a value import) to avoid problems later on, so I made them behave like prim imports in this respect when I added the calling convention in 7.8.

Jul 15 2015, 9:20 AM
luite added a comment to D1070: Do not treat prim and javascript imports as C imports in TH and QQ.

I implemented the TH behaviour to behave like the non-TH version:
https://git.haskell.org/ghc.git/blob/a592e9ffcfb288cd154bad60dc8003b781355533:/compiler/parser/RdrHsSyn.hs#l1211

Jul 15 2015, 7:23 AM

Jul 14 2015

luite retitled D1070: Do not treat prim and javascript imports as C imports in TH and QQ from to Do not treat prim and javascript imports as C imports in TH and QQ.
Jul 14 2015, 5:03 PM

Apr 8 2015

luite retitled D824: use projectVersion from DynFlags rather than cProjectVersion for versionedAppDir from to use projectVersion from DynFlags rather than cProjectVersion for versionedAppDir.
Apr 8 2015, 8:30 AM

Jan 5 2015

luite committed rHADDOCK959d20592469: bump haddock-api ghc dependency to allow release candidate and first release (authored by luite).
bump haddock-api ghc dependency to allow release candidate and first release
Jan 5 2015, 9:36 AM

Dec 22 2014

luite committed rHADDOCK7c7468c3a0cb: Add missing import for standalone haddock-api package (authored by luite).
Add missing import for standalone haddock-api package
Dec 22 2014, 9:07 AM

Dec 17 2014

luite added a comment to D574: fix spInfoSrcLoc field name.

It's really not that hard to find some if you take the time to carefully read the commit

Dec 17 2014, 10:05 AM
luite added a comment to D574: fix spInfoSrcLoc field name.

the rest of the StaticPointers patch also looks rather sloppy, with examples in the documentation not compiling and names in comments being different from the things they refer to.

Dec 17 2014, 8:13 AM
luite added a reviewer for D574: fix spInfoSrcLoc field name: facundominguez.
Dec 17 2014, 8:04 AM
luite retitled D574: fix spInfoSrcLoc field name from to fix spInfoSrcLoc field name.
Dec 17 2014, 7:57 AM

Dec 16 2014

luite added a comment to D501: add runMeta hook.

can this be merged before 7.10 is cut? as far as i know there are no outstanding issues. if there are any i'd be happy to resolve them.

Dec 16 2014, 3:32 PM
luite added a comment to D496: trac #9744, make program name and product version configurable through DynFlags/Settings.

can this be merged before 7.10 is cut?

Dec 16 2014, 3:31 PM

Dec 7 2014

luite updated the diff for D501: add runMeta hook.

rebase on latest master

Dec 7 2014, 6:32 PM
luite updated the diff for D496: trac #9744, make program name and product version configurable through DynFlags/Settings.

rebase on latest master

Dec 7 2014, 5:54 PM
luite committed rHADDOCKf510419b1e91: hide projectVersion from DynFlags since it clashes with Haddock.Version. (authored by luite).
hide projectVersion from DynFlags since it clashes with Haddock.Version.
Dec 7 2014, 5:47 PM

Nov 30 2014

luite added a comment to D535: Added a Plugin function to install hooks.

Can we get rid of the GHCI requirement for this type of plugins, even if it's just for when GHC has been linked with dynamic libs? If we can, it'd require just a few more changes to make runMeta reachable again in stage1 compilers, making this plugin thing usable in the short term for oopth for cross compilers.

Nov 30 2014, 11:10 AM · GHC
luite added a comment to D535: Added a Plugin function to install hooks.

A few things to note:

Nov 30 2014, 4:44 AM · GHC

Nov 24 2014

luite accepted D523: Try to improve Make dependency for `ghc-gmp.h`.

looks ok, validate passes now where it failed before with the same starting state (OS X 10.10 using in-tree GMP, with in-tree GMP already built)

Nov 24 2014, 5:41 AM

Nov 22 2014

luite abandoned D499: trac #9808, add data-dir field to InstalledPackageInfo update Cabal submodule to include data-dir in InstalledPackageInfo.

alternative has been merged

Nov 22 2014, 8:05 AM

Nov 21 2014

luite added a comment to D169: Source Note Core Infrastructure.

Is there anything I can do to help at this point? I've been preparing the GHCJS code generator and pretty printer to keep track of source locations for source maps, so I'm very interested in this. Unfortunately the new codegen branch is still based on GHC 7.8, the 7.9 branch still uses jmacro, so I can't yet do a full end-to-end test. I'd be happy to help out resolving failing test cases or reviewing/testing parts of the code though.

Nov 21 2014, 3:42 PM

Nov 20 2014

luite added a comment to D514: Export more Packages functions.

This patch is a replacement for D499. It exposes just enough of the Packages API so that GHCJS can find the package databases and can then use Cabal (possibly through ghcjs-pkg) to retrieve the metadata that it needs to link an executable with data files.

Nov 20 2014, 10:49 PM
luite retitled D514: Export more Packages functions from to Export more Packages functions.
Nov 20 2014, 10:38 PM
luite planned changes to D499: trac #9808, add data-dir field to InstalledPackageInfo update Cabal submodule to include data-dir in InstalledPackageInfo.

I'll submit an alternative discussed with dcoutts that does not require a change in the binary package database but instead exposes a bit more functionality of Packages to make it possible to implement the functionality in GHCJS in a different, but still reasonably palatable (calling out to an external program rather than lookupPackage and 10-100x as much code) way.

Nov 20 2014, 4:32 PM
luite accepted D507: Make Data.Functor.Identity trustworthy again.

looks good

Nov 20 2014, 3:39 AM
luite added a comment to rGHCc6e12e69fa34: Make calling conventions in template haskell Syntax.hs consistent with those in….

Hmm, curious that this breaks LLVM, since the constructors shouldn't have been used yet. I realized that the new names are still missing from the templateHaskell names list though!

Nov 20 2014, 3:37 AM

Nov 19 2014

luite updated the diff for D353: Make calling conventions in template haskell Syntax.hs consistent with those in ghc ForeignCall.hs this impliments #9703 from ghc trac.
  • add test case for new foreign calling conventions in Template Haskell
Nov 19 2014, 5:42 PM
luite added a comment to D353: Make calling conventions in template haskell Syntax.hs consistent with those in ghc ForeignCall.hs this impliments #9703 from ghc trac.

looks like quoting foreign declarations does not yet work:

Nov 19 2014, 5:08 PM
luite added a comment to D501: add runMeta hook.

It will take me a bit longer to update the wiki since i really really want to finish the GHCJS support Cabal patch first, to get it into the Cabal that will ship with 7.10, since lack of mainline Cabal support has been hurting GHCJS adoption (packages using js-sources, the impl(ghcjs) flag and ghcjs-options can't be uploaded to hackage).

Nov 19 2014, 4:47 PM
luite added a comment to D353: Make calling conventions in template haskell Syntax.hs consistent with those in ghc ForeignCall.hs this impliments #9703 from ghc trac.

Ok, I'll try to add something. Unfortunately StdCall and JavaScript are platform dependent, StdCall giving a warning when it's not supported and JavaScript always giving an error in vanilla GHC (GHCJS accepts them even when generating native code if there's a JS engine available in the compiled program).

Nov 19 2014, 4:35 PM
luite added a comment to D501: add runMeta hook.

This only defines the hook where alternative TH runners can take over, and it makes the various meta expression types explicit in the MetaRequest and MetaResult types.

Nov 19 2014, 4:02 AM
luite added a comment to D353: Make calling conventions in template haskell Syntax.hs consistent with those in ghc ForeignCall.hs this impliments #9703 from ghc trac.

I've rebased it on the latest master and added the missing DsMeta / Language.Haskell.TH.Lib bits

Nov 19 2014, 3:11 AM
luite updated the diff for D353: Make calling conventions in template haskell Syntax.hs consistent with those in ghc ForeignCall.hs this impliments #9703 from ghc trac.
  • Add missing calling conventions to DsMeta and Language.Haskell.TH.Lib
Nov 19 2014, 3:00 AM
luite commandeered D353: Make calling conventions in template haskell Syntax.hs consistent with those in ghc ForeignCall.hs this impliments #9703 from ghc trac.

adding missing bits

Nov 19 2014, 2:58 AM
luite retitled D502: use correct word size for shiftRightLogical and removeOp32 from to use correct word size for shiftRightLogical and removeOp32.
Nov 19 2014, 12:27 AM

Nov 18 2014

luite added a comment to D501: add runMeta hook.

In my first version, I had a GADT for the various TH request types, with type parameters for the Template Haskell and the result type. Unfortunately, using a GADT like this in a hook requires ImpredicativeTypes, and setting the hook required frighteningly explicit type signatures.

Nov 18 2014, 10:51 PM
luite retitled D501: add runMeta hook from to add runMeta hook.
Nov 18 2014, 10:31 PM
luite retitled D499: trac #9808, add data-dir field to InstalledPackageInfo update Cabal submodule to include data-dir in InstalledPackageInfo from to trac #9808, add data-dir field to InstalledPackageInfo update Cabal submodule to include data-dir in InstalledPackageInfo.
Nov 18 2014, 9:02 PM
luite added a comment to D496: trac #9744, make program name and product version configurable through DynFlags/Settings.

haddock submodule is on wip branch now, i can merge it to the ghc-head branch if this gets accepted. let me know if there's a better procedure for this.

Nov 18 2014, 7:33 PM
luite updated the diff for D496: trac #9744, make program name and product version configurable through DynFlags/Settings.
  • update haddock submodule to fix clash with projectVersion name in DynFlags
Nov 18 2014, 7:21 PM
luite committed rHADDOCKc74270af4efe: hide projectVersion from DynFlags since it clashes with Haddock.Version. (authored by luite).
hide projectVersion from DynFlags since it clashes with Haddock.Version.
Nov 18 2014, 7:02 PM
luite added a comment to D496: trac #9744, make program name and product version configurable through DynFlags/Settings.

GHCJS uses this to load the package database from ~/.ghcjs and not ~/.ghc, and to have its own version number in library names, rather than just GHC's (it produces native libraries when installed in --native-too mode). This required quite horrible hacks before.

Nov 18 2014, 4:48 PM
luite added a comment to D495: add missing instances for Loc and a few missing Eq instances.

mgsloan requested these, he currenly supplies them with th-orphans: http://hackage.haskell.org/package/th-orphans

Nov 18 2014, 4:12 PM
luite added a comment to D496: trac #9744, make program name and product version configurable through DynFlags/Settings.

sorry for the double message, had a MySQL connection failure error the first time

Nov 18 2014, 3:22 PM
luite added a comment to D496: trac #9744, make program name and product version configurable through DynFlags/Settings.

this adds a projectVersion exported name to DynFlags, haddock uses the same name somewhere so it needs to be patched (hiding that name from DynFlags is enough). I don't know if I can make that change in a diff since it's in a submodule.

Nov 18 2014, 3:21 PM
luite accepted D486: Restore exact old semantics of `decodeFloat`.

yep

Nov 18 2014, 2:00 PM
luite retitled D496: trac #9744, make program name and product version configurable through DynFlags/Settings from to trac #9744, make program name and product version configurable through DynFlags/Settings.
Nov 18 2014, 12:36 PM
luite retitled D495: add missing instances for Loc and a few missing Eq instances from to add missing instances for Loc and a few missing Eq instances.
Nov 18 2014, 12:30 PM

Nov 16 2014

luite added a comment to D353: Make calling conventions in template haskell Syntax.hs consistent with those in ghc ForeignCall.hs this impliments #9703 from ghc trac.
In D353#11229, @ekmett wrote:

So what are we still missing?

Nov 16 2014, 5:30 PM

Oct 20 2014

luite added a comment to D353: Make calling conventions in template haskell Syntax.hs consistent with those in ghc ForeignCall.hs this impliments #9703 from ghc trac.

Can you add tests for this and check that unsupported imports give a decent error message? I recall that it's easy to make GHC panic with an invalid C label in a spliced CCall import, which should probably also be fixed.

Oct 20 2014, 12:44 PM

Oct 19 2014

luite added a comment to D353: Make calling conventions in template haskell Syntax.hs consistent with those in ghc ForeignCall.hs this impliments #9703 from ghc trac.

Conversion of the calling convention is still missing. See compiler/hsSyn/Convert.lhs, cvt_conv

Oct 19 2014, 9:14 PM

Sep 17 2014

luite added a comment to D119: StaticValues language extension.

The current implementation does not appear to keep the heap references alive correctly:

Sep 17 2014, 12:16 AM
luite added a comment to D119: StaticValues language extension.
In D119#41, @rwbarton wrote:

Do you mean something like

#ifndef ghcjs_HOST_OS
f = ... static g ...   -- the only reference to g
#endif

g = ...

Here GHCJS will not be able to see that g is live code (assuming that f is live code on the server). And this is a plausible scenario: perhaps f can't be built as JS for some reason; or maybe we just don't want to ship f to the client.

Sep 17 2014, 12:12 AM

Sep 16 2014

luite added a comment to D119: StaticValues language extension.

I just read the patch and I wonder if CAFs for statics are kept alive correctly. Since symbols are loaded directly from the library by name, it looks like they may resurrect objects that have already been finalized. At first I thought mkExport was used for this, but I think it generates an exported binding and not a foreign export.

Sep 16 2014, 7:00 PM