<< Back to previous view

[CTYP-261] Typed Transients patch Created: 24/Jul/15  Updated: 28/Jul/15

Status: Open
Project: core.typed
Component/s: Core type system
Affects Version/s: None
Fix Version/s: Backlog

Type: Enhancement Priority: Minor
Reporter: Akhilesh Srikanth Assignee: Ambrose Bonnaire-Sergeant
Resolution: Unresolved Votes: 0
Labels: enhancement, patch

Attachments: Text File 0001-Added-basic-typechecking-support-for-transients.-Dec.patch    
Patch: Code and Test

 Description   

Problem

Transient collections cannot be used as the core interfaces and functions
lack annotations.

Solution

This patch annotates the ITransient interfaces and the clojure.core transient
functions with tests.

Pull request:
Patch:
Commit:
Release:



 Comments   
Comment by Ambrose Bonnaire-Sergeant [ 24/Jul/15 2:54 AM ]

This patch is not rebased properly onto master. I suggest

git fetch origin master
git checkout ctyp-261 ;; or your branch
git rebase master

Please submit a pull request to typedclojure/core.typed for easier review.
I will ask you to submit a patch once I'm satisfied.

The first line of the commit should not wrap, I think you have about 60 characters
to play with. "Added basic typechecking support for transients" is fine.

Then add a paragraph talking about some of the decisions.

  • why are transients covariant
  • what do we assume about transient usage (eg. it's not safe to consider a transient
    covariant if it's bashed in place). Outline cases that are ill-typed if transients
    are covariant

eg.

(let [x (transient [1])] (conj! x nil) (every? zero? (persistent x)))

I'm actually unsure if covariance is the best idea if we don't have uniqueness. But
it would help decide if you motivate covariance.





[CTYP-217] Basic support for transients Created: 17/May/15  Updated: 17/May/15

Status: Open
Project: core.typed
Component/s: None
Affects Version/s: 0.2
Fix Version/s: None

Type: Enhancement Priority: Minor
Reporter: Akhilesh Srikanth Assignee: Ambrose Bonnaire-Sergeant
Resolution: Unresolved Votes: 0
Labels: enhancement, patch

Attachments: Text File 0001-decided-to-use-covariants-on-transient-types.patch     Text File 0002-added-basic-annotations-for-assoc-and-dissoc.patch     Text File 0003-added-basic-transient-data-structure-tests.patch     Text File 0004-added-more-tests.patch     Text File 0005-added-basic-dissoc-tests.patch     Text File 0006-added-annotations-for-core-transient-functions.patch    
Patch: Code and Test
Approval: Triaged

 Description   

This patch adds basic support for type checking transient data structures and involves annotations for core data structures (transient vectors, sets, maps, etc) and functions (assoc!, conj!, pop!, disj!) along with tests for the functions.






[CTYP-198] incorrect optional keyword lookup in complete HMaps Created: 12/Feb/15  Updated: 22/Jul/15  Resolved: 22/Jul/15

Status: Closed
Project: core.typed
Component/s: Core type system
Affects Version/s: 0.2
Fix Version/s: 0.2

Type: Defect Priority: Major
Reporter: Nathan Sorenson Assignee: Ambrose Bonnaire-Sergeant
Resolution: Completed Votes: 0
Labels: bug, patch
Environment:

Clojure 1.6.0 on OSX 10.10


Attachments: Text File 0001-tests-for-keyword-lookup-in-HMaps-with-optional-keys.patch     Text File 0002-fix-incorrect-optional-keyword-lookup-in-complete-HM.patch    
Patch: Code and Test

 Description   

Problem

The snippet

(t/cf (:name (t/ann-form {:name "hi"} (t/HMap :optional {:name String} :complete? true))))

returns nil when it probably should return (t/U String nil)

Commit:
1. e27143
2. f3713b
Release: 0.2.79






[CTYP-92] Implement a defn> macro Created: 06/Nov/13  Updated: 08/Nov/13  Resolved: 08/Nov/13

Status: Closed
Project: core.typed
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Enhancement Priority: Trivial
Reporter: Reid McKenzie Assignee: Ambrose Bonnaire-Sergeant
Resolution: Completed Votes: 0
Labels: patch

Attachments: Text File typed.patch    
Patch: Code and Test

 Description   

Implement a defn> macro which wraps fn> and def, providing concise function declaration and annotation.



 Comments   
Comment by Ambrose Bonnaire-Sergeant [ 08/Nov/13 9:54 AM ]

Merged, included in 0.2.17.





Generated at Sat Aug 01 11:13:18 CDT 2015 using JIRA 4.4#649-r158309.