iterative deepening search and append example#4
Merged
namin merged 7 commits intonamin:topic-virt-patmat-2.10.0from Feb 20, 2013
Merged
iterative deepening search and append example#4namin merged 7 commits intonamin:topic-virt-patmat-2.10.0from
namin merged 7 commits intonamin:topic-virt-patmat-2.10.0from
Conversation
append now yields correct results for lists with probabilistic tails. for each x.flatMap(f), f is memoized per exploration path. is that enough or are there cases where the scheme breaks down?
namin
added a commit
that referenced
this pull request
Feb 20, 2013
iterative deepening search and append example
Owner
|
Thanks! good point about starting a repo... I like having it with Scala-Virtualized atm to prepare for the release. |
Author
|
agree about releases ... i just think it makes sense to keep the tests focused on virtualized features and not grow arbitrary dsl experiments in here. |
namin
pushed a commit
that referenced
this pull request
Sep 7, 2014
When an application of a blackbox macro is used as an extractor in a pattern match, it triggers an unconditional compiler error, preventing customizations of pattern matching implemented with macros.
namin
pushed a commit
that referenced
this pull request
Sep 7, 2014
Swathes of important logic are duplicated between `findMember`
and `findMembers` after they separated on grounds of irreconcilable
differences about how fast they should run:
d905558 Variation scala#10 to optimze findMember
fcb0c01 Attempt scala#9 to opimize findMember.
71d2ceb Attempt scala#8 to opimize findMember.
77e5692 Attempty scala#7 to optimize findMember
275115e Fixing problem that caused fingerprints to fail in
e94252e Attemmpt scala#6 to optimize findMember
73e61b8 Attempt #5 to optimize findMember.
04f0b65 Attempt #4 to optimize findMember
0e3c70f Attempt #3 to optimize findMember
41f4497 Attempt #2 to optimize findMember
1a73aa0 Attempt #1 to optimize findMember
This didn't actually bear fruit, and the intervening years have
seen the implementations drift.
Now is the time to reunite them under the banner of `FindMemberBase`.
Each has a separate subclass to customise the behaviour. This is
primarily used by `findMember` to cache member types and to assemble
the resulting list of symbols in an low-allocation manner.
While there I have introduced some polymorphic calls, the call sites
are only bi-morphic, and our typical pattern of compilation involves
far more `findMember` calls, so I expect that JIT will keep the
virtual call cost to an absolute minimum.
Test results have been updated now that `findMembers` correctly
excludes constructors and doesn't inherit privates.
Coming up next: we can actually fix SI-7475!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
maybe we should start a repo on its own for this stuff (if we keep hacking on it)