# [sclin](https://github.com/molarmanful/sclin), 45 bytes

```
$W2+"."fltr
P/"len1="Q rev >A0:1:2log"I"Q = &
```

[Try it here!](https://replit.com/@molarmanful/try-sclin) Returns an infinite list. Feels very golfable...

For testing purposes (use `-i` flag if running locally):

```
; 100tk >A
$W2+"."fltr
P/"len1="Q rev >A0:1:2log"I"Q = &
```

## Explanation

Prettified code:

```
$W2+ \; fltr
  P/ ( len 1= ) Q rev >A 0:1: 2log \I Q = &
```

- ``` $W2+ \; fltr ``` filter range [2, ∞)...
  - ``` P/ ``` prime factor
    - results in frequency map `{prime => frequency}`
  - ``` ( len 1= ) Q rev``` duplicate, check if frequency map has only one prime, swap to save for later
  - ``` >A 0:1: ``` get frequency
    - i.e. get value from 0th key-value pair
  - ``` 2log \I Q = ``` check if power of 2
    - i.e. check if log base 2 of the frequency is an integer
  - ``` & ``` AND