rodlogic (Yuri de Wit)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 9 2014, 9:55 AM (287 w, 6 d)

Recent Activity

Mar 15 2017

rodlogic abandoned D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.
Mar 15 2017, 9:11 AM

Oct 13 2015

rodlogic added a comment to D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

I am not sure how to proceed here. My initial goal was to try and rid part of GHC from CPP and not any specific solution to that end. Maybe there is no consensus this is a worthwhile goal? In any case, I will not have time to work on this for 8.0.

Oct 13 2015, 11:12 AM
rodlogic added a comment to D452: fixes #8944 - Now printing a warning 'Ignoring invalid haddock comment' instead of an error.

@thomie It is pretty much stuck at this point since I had zero time to work on it. I am also sure it is very outdated considering the recent Annotations API work on the parser. It seems best to get rid of this differential.

Oct 13 2015, 10:46 AM
rodlogic added a comment to D535: Added a Plugin function to install hooks.

@bgamari The lack of time will not change in the near future so I won't be able to pursue this further at the moment. I think it is best we get rid of this altogether as I was not the main driver behind this change.

Oct 13 2015, 10:43 AM · GHC

Aug 19 2015

rodlogic added a comment to D1114: fix -ddump-splices to parenthesize ((\x -> x) a) correctly.

@goldfire Certainly! I will get some free time soon to go back to this.

Aug 19 2015, 12:19 PM

Aug 5 2015

rodlogic updated the diff for D1114: fix -ddump-splices to parenthesize ((\x -> x) a) correctly.

Reinserted empty line between comment and cvtl function

Aug 5 2015, 7:44 PM
rodlogic updated the diff for D1114: fix -ddump-splices to parenthesize ((\x -> x) a) correctly.

Now fixing Convert.hs instead since HsExpr's ppr_expr should be a one-to-one pretty-printer for HsExpr

Aug 5 2015, 7:43 PM
rodlogic added a comment to D1114: fix -ddump-splices to parenthesize ((\x -> x) a) correctly.

Removing pprParendExpr from ppr_expr will cause the following test failures (and they didn't seem obvious):

Unexpected failures:
   deriving/should_fail          T4846 [stderr mismatch] (normal)
   generics                      GenDerivOutput [stderr mismatch] (normal)
   generics                      GenDerivOutput1_0 [stderr mismatch] (normal)
   generics                      GenDerivOutput1_1 [stderr mismatch] (normal)
   ghci/scripts                  T10248 [bad stderr] (ghci)
   indexed-types/should_compile  PushedInAsGivens [stderr mismatch] (normal)
   safeHaskell/safeLanguage      SafeLang10 [stderr mismatch] (normal)
   safeHaskell/safeLanguage      SafeLang17 [stderr mismatch] (normal)
   typecheck/should_fail         T8603 [stderr mismatch] (normal)
   typecheck/should_fail         tcfail177 [stderr mismatch] (normal)
Aug 5 2015, 9:44 AM

Aug 3 2015

rodlogic added a comment to D1114: fix -ddump-splices to parenthesize ((\x -> x) a) correctly.

I just saw the following I missed before in HsSyn.hs:

{-
HsSyn records exactly where the user put parens, with HsPar.
So generally speaking we print without adding any parens.
However, some code is internally generated, and in some places
parens are absolutely required; so for these places we use
pprParendExpr (but don't print double parens of course).
Aug 3 2015, 7:12 PM
rodlogic added a comment to D1114: fix -ddump-splices to parenthesize ((\x -> x) a) correctly.

@goldfire The notion that ppr_expr should be dumb seems reasonable, but there are a few cases at fault here:

ppr_expr (HsApp e1 e2)
  = let (fun, args) = collect_args e1 [e2] in
    hang (ppt_lexpr fun) 2 (sep (map pprParendExpr args))
Aug 3 2015, 6:27 PM
rodlogic added a comment to D1114: fix -ddump-splices to parenthesize ((\x -> x) a) correctly.

@goldfire How is return in (return) [] represented in HsExpr? In general how do you debug HsExpr trees since there is no Show instance?

Aug 3 2015, 12:04 PM

Aug 2 2015

rodlogic added a comment to D1114: fix -ddump-splices to parenthesize ((\x -> x) a) correctly.

Just to be a bit more specific, here are the failures:

--- ./th/T8987.stderr.normalised	2015-08-02 14:50:27.000000000 -0400
+++ ./th/T8987.comp.stderr.normalised	2015-08-02 14:50:27.000000000 -0400
@@ -2,4 +2,4 @@
 T8987.hs:1:1:
     Exception when trying to run compile-time code:
       Prelude.undefined
-    Code: (>>) reportWarning ['1', undefined] return []
\ No newline at end of file
+    Code: (>>) reportWarning ['1', undefined] (return) []
\ No newline at end of file
*** unexpected failure for T8987(normal)
Aug 2 2015, 11:05 PM
rodlogic added a comment to D1114: fix -ddump-splices to parenthesize ((\x -> x) a) correctly.

@osa1 I don't have many spare cycles, so if you know what to do, please go ahead.

Aug 2 2015, 1:22 PM

Jul 31 2015

rodlogic added a comment to D1114: fix -ddump-splices to parenthesize ((\x -> x) a) correctly.

My bad. I could swear I did run validate.

Jul 31 2015, 10:50 AM

Jul 30 2015

rodlogic retitled D1114: fix -ddump-splices to parenthesize ((\x -> x) a) correctly from to fix -ddump-splices to parenthesize ((\x -> x) a) correctly.
Jul 30 2015, 2:17 PM
rodlogic added a comment to D535: Added a Plugin function to install hooks.

I have been struggling to find the spare time for GHC the past 6 months or so, but I am hopeful that will change in the near future. Let me give it a shot in the next couple of months.

Jul 30 2015, 9:19 AM · GHC

Jul 20 2015

rodlogic added inline comments to D1082: primops: Add haddocks to BCO primops.
Jul 20 2015, 10:24 AM

Jul 17 2015

rodlogic added a comment to D861: Use IP based CallStack in error and undefined.

Based on the comments above I see that: assert now lives in GHC.IO.Exception (where assertError was defined), and it also takes an implicit CallStack. I removed the code that rewrites assert to assertError completely, but we still need a mechanism to discard assertions e.g. when optimizations are turned on. I'm inclined to invert the rewriting mechanism, so assert will be rewritten to assertNoError when we want to ignore assertions, but I'm open to other suggestions.

Jul 17 2015, 4:54 PM

Jul 1 2015

rodlogic added a comment to D1016: add a flag to print type-synonyms-expanded versions of types in type error messages(in addition to old error messages with synonyms).

First of all, thanks for implementing this!

Jul 1 2015, 9:30 AM

May 11 2015

rodlogic updated subscribers of D729: ApplicativeDo transformation.
May 11 2015, 8:44 AM

Apr 30 2015

rodlogic updated subscribers of D808: Add kind equalities to GHC.
Apr 30 2015, 9:32 AM

Jan 16 2015

rodlogic retitled D621: Replace .lhs with .hs in compiler comments from to re #9986 - replace .lhs with .hs in compiler comments.
Jan 16 2015, 7:04 PM

Jan 14 2015

rodlogic added a comment to D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

I basically agree with your comments. Adding CPP for a number of years to try to remove CPP seems like a bad compromise specially when this GLOBAL pragma needs to be better thought out.

Jan 14 2015, 6:22 AM
rodlogic added a comment to D452: fixes #8944 - Now printing a warning 'Ignoring invalid haddock comment' instead of an error.

Yes, I also hoped for 7.10, but I faced some difficulties in Parser.hs (harder nut to crack than initially appears) and I had little to no time for Haskell/GHC since December.

Jan 14 2015, 6:14 AM

Dec 21 2014

rodlogic updated subscribers of D578: Expose source locations via Implicit Parameters of type GHC.Location.Location.
Dec 21 2014, 5:46 AM

Dec 5 2014

rodlogic added a comment to D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

To be honest, I am not that comfortable introducing a new pragma here. I was hoping we could live with a bold comment around these globals instead of this new pragma. After all, it seems that the goal is to remove some of them in the future and there are also only a few of them. But maybe there is an interest in a new pragma that automatically turns on the -fno-cse option (if that can be done)? I'll standby here and wait for some directions since I am not really pushing for this pragma solution.

Dec 5 2014, 6:23 PM
rodlogic updated the diff for D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

Added -fno-cse back to DriverPipeline.hs and rebased changes

Dec 5 2014, 6:17 PM

Dec 3 2014

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

fyi, this change is a bit stuck since it breaks one of the Plugin test cases. From a limited inspection, it seems that GHC supports compiling a Plugin from source before using it in the same GHC invocation. This change set assume the Plugin is compiled already and resides in the package db. On top of that I won't have much time to work on this this week.

Dec 3 2014, 3:46 PM · GHC

Dec 1 2014

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

I renamed the new Plugin field, but there is still a build failure that I still need to investigate. It seems related to referencing a plugin that needs to be compiled from source.

Dec 1 2014, 11:51 AM · GHC
rodlogic updated the diff for D535: Added a Plugin function to install hooks.

Renamed installHooks to updateDynFlags

Dec 1 2014, 11:49 AM · GHC

Nov 30 2014

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

Luite, maybe the Plugin facility should also allow loading from a shared library?

Nov 30 2014, 6:37 AM · GHC
rodlogic added a comment to D535: Added a Plugin function to install hooks.

Take this with a grain of salt since this is my first time looking at the Plugin facility, hooks and the new type checker plugin (TcPlugin).

Nov 30 2014, 6:29 AM · GHC

Nov 29 2014

rodlogic retitled D535: Added a Plugin function to install hooks from to Added a Plugin function to install hooks.
Nov 29 2014, 8:14 PM · GHC

Nov 25 2014

rodlogic updated the diff for D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

Fixed build failure by making it backwards compatible with 7.8 and earlier versions.

Nov 25 2014, 12:26 PM
rodlogic updated D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.
Nov 25 2014, 11:14 AM
rodlogic updated D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.
Nov 25 2014, 11:13 AM
rodlogic retitled D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h from Replaced GLOBALVAR macro with a new type alias GlobalVar, and removed GLOBAL_VAR/_M and STRICT1/2/3/4/5 macros from HsVersions.h to Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.
Nov 25 2014, 11:12 AM
rodlogic updated the diff for D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

Removed the STRICT changes since this is now handled in D525.

Nov 25 2014, 11:10 AM
rodlogic retitled D525: Removed STRICT1, STRICT2, STRICT3, STRICT4 and STRICT5 CPP macros from HsVersions.hs and replaced the used ones by BangPatterns. from to Removed STRICT1, STRICT2, STRICT3, STRICT4 and STRICT5 CPP macros from HsVersions.hs and replaced the used ones by BangPatterns..
Nov 25 2014, 10:50 AM
rodlogic added a comment to D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

Certainly. I am preparing a new differential for the STRICT changes.

Nov 25 2014, 7:40 AM
rodlogic added a comment to D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

That is fine, I can add the CPP compat, which is an ok usage of CPP (and the only option :-)). And besides after a few years it can be completely removed. On the other hand, the current CPP macros status quo will stick there forever.

Nov 25 2014, 7:19 AM
rodlogic added a comment to D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

Odd ... I built it locally without problems. Let me maintainers-clean to make sure...

Nov 25 2014, 5:13 AM
rodlogic updated the diff for D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

Added a new GLOBAL pragma that is parsed as a NOINLINE one.

Nov 25 2014, 5:03 AM

Nov 24 2014

rodlogic added a comment to D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

btw, couldn't a new GLOBAL PRAGMA also automatically take care of the following:

Nov 24 2014, 3:42 PM
rodlogic added a comment to D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

Ok, what about a new GLOBAL pragma that is just like a 'newtype' on INLINE? I.e. makes sure we don't loose meaning here but at the same time get rid of the CPP macro. So it would be something like:

Nov 24 2014, 2:39 PM

Nov 13 2014

rodlogic added a comment to D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

Re: GlobalVar, if there is a pattern to CAF requiring unsafePerformIO, couldn't we simply have the compiler apply NOINLINE automatically? I am not sure about deeply nested unsafePerformIO, though, is that even possible?

Nov 13 2014, 9:51 AM
rodlogic added a comment to D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

It is clearer now that GHC.Base.assert is a valid replacement for ASSERT/MASSERT/ASSERTM, but there is no equivalent that can replace ASSERT2/MASSERT2/ASSERTM2. So it seems that there are 2 courses of action here:

  1. Try to address Trac #9049 - Expose srcLoc from the assertion architecture to allow better error messages, in order to introduce a second assert :: Bool -> String -> a -> a, or
  2. Replace all uses of ASSERT2/MASSERT2/ASSERTM2 with ASSERT/MASSERT/ASSERTM and be done with it.
Nov 13 2014, 9:47 AM

Nov 7 2014

rodlogic added a comment to D452: fixes #8944 - Now printing a warning 'Ignoring invalid haddock comment' instead of an error.

As I mentioned above all the pieces are in place, but the new rule in Parser.x is not working in all cases.

Nov 7 2014, 1:38 PM
rodlogic added a comment to D452: fixes #8944 - Now printing a warning 'Ignoring invalid haddock comment' instead of an error.

This is still not working correctly and I am running out of ideas considering that my knowledge of Alex is quite thin. The main open question is where should the new rule be added in Lexer.x. I have tried 3 different locations and I still get validate errors.

Nov 7 2014, 7:26 AM

Nov 6 2014

rodlogic updated the diff for D452: fixes #8944 - Now printing a warning 'Ignoring invalid haddock comment' instead of an error.

Updated docs/users_guide/using.xml with new option.

Nov 6 2014, 6:43 PM
rodlogic updated the diff for D452: fixes #8944 - Now printing a warning 'Ignoring invalid haddock comment' instead of an error.

Added Opt_WarnInvalidComments (warn-invalid-comments) to DynFlags manual and user guide.

Nov 6 2014, 6:29 PM
rodlogic added a reviewer for D452: fixes #8944 - Now printing a warning 'Ignoring invalid haddock comment' instead of an error: hvr.
Nov 6 2014, 4:03 PM
rodlogic retitled D452: fixes #8944 - Now printing a warning 'Ignoring invalid haddock comment' instead of an error from to fixes #8944 - Now printing a warning 'Ignoring invalid haddock comment' instead of an error.
Nov 6 2014, 4:02 PM
rodlogic added a comment to D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

I haven't had time to follow up on this, but just saw the fix for Trac #9774 and was wondering: is Control.Exception.Assert the proper replacement for ASSERT? It seems to include filename and line number, and it can also be turned on/off using -fignore-asserts.

Nov 6 2014, 8:37 AM

Nov 2 2014

rodlogic added a comment to D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h.

Thanks for the feedback.

Nov 2 2014, 7:44 AM

Nov 1 2014

rodlogic retitled D413: Replaced GLOBALVAR macro with a new type alias GlobalVar, introduced a new GLOBAL pragma, and removed GLOBAL_VAR/_M macros from HsVersions.h from to Replaced GLOBALVAR macro with a new type alias GlobalVar, and removed GLOBAL_VAR/_M and STRICT1/2/3/4/5 macros from HsVersions.h.
Nov 1 2014, 5:04 PM
rodlogic updated the diff for D411: small parser/lexer cleanup.
  • Update 'The Location Info' with the changes implemented in this changeset
  • Group Lexer.x and Parser.y imports by package and/or folder: it helps visualize the actual dependencies
  • Removed the '*' (star) from the comments I introduced in the imports, which caused a validate failure
Nov 1 2014, 11:10 AM
rodlogic added a comment to D411: small parser/lexer cleanup.

Ok, this seems related although it is a bit strange that reordering imports would have caused it.

Nov 1 2014, 9:08 AM
rodlogic retitled D411: small parser/lexer cleanup from small compiler/parser cleanup to small parser/lexer cleanup.
Nov 1 2014, 9:05 AM

Oct 31 2014

rodlogic updated the diff for D411: small parser/lexer cleanup.
  • Group Lexer.x and Parser.y imports by package and/or folder: it helps visualize the actual dependencies
Oct 31 2014, 10:16 PM
rodlogic updated the diff for D411: small parser/lexer cleanup.
  • Update 'The Location Info' with the changes implemented in this changeset
Oct 31 2014, 8:28 PM
rodlogic added a comment to D411: small parser/lexer cleanup.

Is that build failure me? Seems to be unrelated, but I know nothing there.

Oct 31 2014, 7:41 PM
rodlogic retitled D411: small parser/lexer cleanup from to small compiler/parser cleanup.
Oct 31 2014, 7:18 PM

Oct 21 2014

rodlogic updated the diff for D319: Convert GHCi sources from .lhs to .hs.
  • renamed files from .lhs to .hs
  • converted literal haskell to plain haskell content
Oct 21 2014, 6:18 PM

Oct 16 2014

rodlogic added a comment to D319: Convert GHCi sources from .lhs to .hs.

My bad ... I shouldn't have pushed the patch while the pthread_name issue was open. I will push an updated one.

Oct 16 2014, 9:24 AM

Oct 14 2014

rodlogic added a comment to rGHC674c631ea111: Name worker threads using pthread_setname_np.

It seems that 4b69d96b3d2758bbc06c58ea44a975c6e08d7400 by Simon Marlow has fixed this issue on OSX, at least.

Oct 14 2014, 5:28 PM

Oct 7 2014

rodlogic added a reviewer for D319: Convert GHCi sources from .lhs to .hs: hvr.
Oct 7 2014, 10:21 AM
rodlogic retitled D319: Convert GHCi sources from .lhs to .hs from to Convert GHCi sources from .lhs to .hs.
Oct 7 2014, 5:49 AM

Oct 2 2014

rodlogic added inline comments to D297: Initial POC for a parallel annotation structure, retired in favour of D428,D438 and D412.
Oct 2 2014, 10:51 AM