Comments (9)
I've sent a meeting request to everybody's email addresses, please let me know if you don't receive it ...
from elm.
That would be great for me :)
Otherwise, I could also do after at 9 or 10PM Saturdays or Sundays.
from elm.
construct:abstract-class
construct:abstract-method
construct:add
construct:add-assignment
construct:array
construct:as-cast
construct:assignment
construct:async-await
construct:attribute
construct:auto-implemented-property
construct:big-integer
construct:binary-number
construct:bit-array
construct:bitwise-and
construct:bitwise-and-assignment
construct:bitwise-not
construct:bitwise-or
construct:bitwise-or-assignment
construct:bitwise-xor
construct:bitwise-xor-assignment
construct:boolean
construct:break
construct:byte
construct:catch
construct:catch-filter
construct:char
construct:checked
construct:checked-expression
construct:class
construct:collection-initializer
construct:comment
construct:conditional-access
construct:const
construct:constructor
construct:continue
construct:conversion-operator
construct:date-time
construct:decimal
construct:default
construct:default-interface-implementation
construct:delegate
construct:dictionary
construct:divide
construct:divide-assignment
construct:do-loop
construct:double
construct:enum
construct:equality
construct:event
construct:event-handler
construct:event-subscription
construct:event-unsubscription
construct:explicit-conversion
construct:expression-bodied-member
construct:extension-method
construct:field
construct:file-scoped-namespace
construct:finally
construct:flags-enum
construct:float
construct:floating-point-number
construct:foreach
construct:for-loop
construct:generic-method
construct:generic-type
construct:getter
construct:hexadecimal-number
construct:if
construct:implicit-array-creation
construct:implicit-conversion
construct:implicit-object-creation
construct:implicit-stack-alloc
construct:indexer
construct:inequality
construct:initializer
construct:int
construct:integral-number
construct:interface
construct:invocation
construct:is-cast
construct:jagged-array
construct:lambda
construct:left-shift
construct:left-shift-assignment
construct:linked-list
construct:linq
construct:list
construct:local-function
construct:lock
construct:logical-and
construct:logical-not
construct:logical-or
construct:logical-xor
construct:long
construct:method
construct:method-overloading
construct:method-override
construct:modulo
construct:modulo-assignment
construct:multi-dimensional-array
construct:multiline-string
construct:multiply
construct:multiply-assignment
construct:named-argument
construct:nameof
construct:namespace
construct:nested-type
construct:nint
construct:nuint
construct:null
construct:nullability
construct:nullable
construct:null-coalesce
construct:null-coalesce-assignment
construct:null-suppression
construct:number
construct:object-initializer
construct:operator-overloading
construct:optional-parameter
construct:overflow
construct:parameter
construct:pattern-matching
construct:postfix-decrement
construct:postfix-increment
construct:prefix-decrement
construct:prefix-increment
construct:property
construct:query-expression
construct:queue
construct:read-only
construct:record
construct:return
construct:right-shift
construct:right-shift-assignment
construct:sbyte
construct:scientific-notation-number
construct:set
construct:setter
construct:short
construct:stack
construct:stack-alloc-creation
construct:string
construct:string-interpolation
construct:struct
construct:subtract
construct:subtract-assignment
construct:switch
construct:switch-expression
construct:ternary
construct:throw
construct:throw-expression
construct:try
construct:tuple
construct:type-inference
construct:uint
construct:ulong
construct:unary-minus
construct:unary-plus
construct:underscored-number
construct:unsigned-right-shift
construct:unsigned-right-shift-assignment
construct:user-defined-event
construct:user-defined-exception
construct:ushort
construct:using-directive
construct:using-statement
construct:varargs
construct:variable
construct:verbatim-string
construct:virtual-method
construct:visibility-modifiers
construct:while-loop
construct:with
construct:xml-comment
construct:yield
paradigm:declarative
paradigm:functional
paradigm:imperative
paradigm:object-oriented
paradigm:reflective
technique:bit-manipulation
technique:bit-shifting
technique:boolean-logic
technique:compound-assignment
technique:concurrency
technique:defensive-copying
technique:enumeration
technique:equality-comparison
technique:exceptions
technique:higher-order-functions
technique:immutability
technique:immutable-collection
technique:inheritance
technique:laziness
technique:locks
technique:looping
technique:memory-management
technique:mutexes
technique:ordering
technique:parallelism
technique:performance
technique:pointers
technique:randomness
technique:recursion
technique:regular-expression
technique:short-circuiting
technique:sorted-collection
technique:sorting
technique:type-conversion
technique:unsafe
from elm.
I looked into the list of tags and thought a little. Here is my brain dump.
There are many tags that will never be relevant (paradigm:imperative
, construct:class
, construct:do-while-loop
...) and that's fine.
There are a few tags that will always be relevant (paradigm:functional
, technique:immutability
...) and that's fine, although I do wonder what effect always-present tags would have on the AI model.
There are some tags that are a bit vague (technique:exceptions
, technique:enumeration
, technique:type-conversion
...) because they have an equivalent (Result
, map
, toFloat
) but it's not quite the same thing as in C#.
There are some tags that have the wrong name but the concepts are equivalent (construct:switch
= case
, construct:null
= Nothing
?), we might have to bite the bullet on that.
There are some Elm concepts that don't have established tags like optional type, opaque type (maybe construct:visibility-modifiers
works for that?) that we could use in the uses:
tags.
It's often conceptually easy to map from tags to Elm functions/expressions:
technique:boolean-logic
=> anyBasics
Bool -> Bool
orBool -> Bool -> Bool
functionstechnique:ordering
=>compare
,min
,max
,List.sort*
technique:sorted-collection
=> any use ofSet
orDict
technique:randomness
=> anythingRandom
construct:lambda
=> lambda expressionsconstruct:if
=>if
blockconstruct:pattern-matching
=> any (non-trivial) pattern matching in arguments or if/case/lambda expressions
However, if we will be traversing an AST, what we need is the reverse map from the list above: Elm expression => tag.
Some concepts will require more than just a simple traversal, like technique:recursion
.
I would highly recommend using elm-review
for this use, it makes it really easy to check which modules functions are from, even if they were aliased or whatever. That's what is used in the analyzer. We could use the data extractor function (I haven't used it yet, but it's a textbook use for it).
from elm.
@ceddlyburge @mpizenberg if you want to have a meeting about this, I would love join. My absolute best time for meetings is Saturday mornings (Japan time) because the kids are at their grandmas, but now I realize that's the middle of the night for Europe. Then second best is Friday evenings (Japan time).
from elm.
Hi @jiegillet @mpizenberg @ErikSchierboom , Japan is 9 hours ahead of the UK, so 8pm japan would be 11am UK, and 12pm in France, would that work for everybody?
I could take lunch at that time and fit in a meeting about this most fridays.
from elm.
Hi, yes that works for me too.
from elm.
Yes that would be fine. Could you send a meeting request?
from elm.
@ErikSchierboom , do you have a full list of the existing tags? I think it will be useful to put them in a spreadsheet ready for the meeting on friday ...
from elm.
Related Issues (20)
- Concept: Html.lazy and Html.keyed HOT 1
- Minor typo in the Learning exercise Top Scores HOT 2
- bettys-bike-shop tests do not actually verify type signature HOT 1
- Wrong type mentioned in the description of step 4 of the learning exercise Secure Treasure Chest HOT 1
- Wrong instruction about makeTreasureChest in part 1 of the description in the learning exercise Treasure factory HOT 5
- Small correction in the introduction in the learning exercise Magician in Training HOT 1
- Update strain test HOT 1
- Unsynced docs and metadata HOT 3
- Concept Exercise for Strings HOT 3
- Implement new pop-count HOT 3
- Building a training set of tags for elm HOT 29
- Fill all exercises with accurate "practices" and "prerequisites" concepts
- Exercise Binary Search Tree Missing Instructions and Hints
- Concept - Web applications part 1
- Port `reverse-string`? HOT 1
- Add approaches for leap
- Add `protein-translation` and `rotational-cipher` exercises HOT 2
- Add approaches for Allergies practice exercise
- Add markdown linter to CI
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elm.