Skip to content

Commit 4bf694f

Browse files
authored
Merge pull request #618 from typelevel/fix-native-bullets
2 parents c24bed8 + 865cd82 commit 4bf694f

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

src/blog/typelevel-native.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Meanwhile, Scala Native core does not implement an event loop nor offer such API
4545
Fortunately Daniel Spiewak had the fantastic insight that the “dummy runtime” which I created to initially cross-build Cats Effect for Native could be reformulated into a legitimate event loop implementation by extending it with the capability to “poll” for I/O events: a `PollingExecutorScheduler`.
4646

4747
The [`PollingExecutorScheduler`] implements both [`ExecutionContext`] and [`Scheduler`] and maintains two queues:
48-
- a queue of tasks (read: fibers) to execute
48+
- a queue of tasks (read: fibers) to execute
4949
- a priority queue of timers (read: `IO.sleep(...)`), sorted by expiration
5050

5151
It also defines an abstract method:
@@ -97,7 +97,7 @@ As previously mentioned, these sorts of polling APIs are ubiquitous and not just
9797
9898
```c
9999
#include <curl/curl.h>
100-
100+
101101
CURLMcode curl_multi_poll(CURLM *multi_handle,
102102
struct curl_waitfd extra_fds[],
103103
unsigned int extra_nfds,
@@ -148,30 +148,30 @@ Please try the Typelevel Native stack! And even better deploy it, and do so loud
148148
Besides that, here is a brain-dump of project ideas and existing projects that would love contributors. I am happy to help folks get started on any of these, or ideas of your own!
149149

150150
* Creating example applications, templates, and tutorials:
151-
- If you are short on inspiration, try cross-building existing examples such as [fs2-chat], [kitteh-redis], [Jobby].
152-
- Spread the word: [you-forgot-a-percentage-sign-or-a-colon].
151+
- If you are short on inspiration, try cross-building existing examples such as [fs2-chat], [kitteh-redis], [Jobby].
152+
- Spread the word: [you-forgot-a-percentage-sign-or-a-colon].
153153

154154
* Cross-building existing libraries and developing new, Typelevel-stack ones:
155-
- Go [feral] and implement a pure Scala [custom AWS Lambda runtime] that cross-builds for Native.
156-
- A pure Scala [gRPC] implementation built on http4s would be fantastic, even for the JVM. Christopher Davenport has published a [proof-of-concept][grpc-playground].
157-
- [fs2-data] has pure Scala support for a plethora of data formats. The [http4s-fs2-data] integration needs your help to get off the ground!
158-
- Lack of cross-platform cryptography is one of the remaining sore points in cross-building. I started the [bobcats] project to fill the gap but I am afraid it needs love from a more dedicated maintainer.
155+
- Go [feral] and implement a pure Scala [custom AWS Lambda runtime] that cross-builds for Native.
156+
- A pure Scala [gRPC] implementation built on http4s would be fantastic, even for the JVM. Christopher Davenport has published a [proof-of-concept][grpc-playground].
157+
- [fs2-data] has pure Scala support for a plethora of data formats. The [http4s-fs2-data] integration needs your help to get off the ground!
158+
- Lack of cross-platform cryptography is one of the remaining sore points in cross-building. I started the [bobcats] project to fill the gap but I am afraid it needs love from a more dedicated maintainer.
159159

160160
* Integrations with native libraries:
161-
- I kick-started [http4s-curl] and would love to see someone take the reigns!
162-
- An [NGINX Unit] server backend for http4s promises exceptional performance. [snunit] pioneered this approach.
163-
- Using [quiche] for HTTP/3 looks yummy!
164-
- An idiomatic wrapper for [SQLite]. See also [davenverse/sqlite-sjs#1] which proposes cross-platform API backed by Doobie on the JVM.
161+
- I kick-started [http4s-curl] and would love to see someone take the reigns!
162+
- An [NGINX Unit] server backend for http4s promises exceptional performance. [snunit] pioneered this approach.
163+
- Using [quiche] for HTTP/3 looks yummy!
164+
- An idiomatic wrapper for [SQLite]. See also [davenverse/sqlite-sjs#1] which proposes cross-platform API backed by Doobie on the JVM.
165165

166166
* Developing I/O-integrated runtimes:
167-
- [epollcat] supports Linux and macOS and has plenty of opportunity for optimization and development.
168-
- A [libuv]-based runtime would have solid cross-OS support, including Windows. Prior art in [scala-native-loop].
169-
- Personally I am excited to work on an [io_uring] runtime.
167+
- [epollcat] supports Linux and macOS and has plenty of opportunity for optimization and development.
168+
- A [libuv]-based runtime would have solid cross-OS support, including Windows. Prior art in [scala-native-loop].
169+
- Personally I am excited to work on an [io_uring] runtime.
170170

171171
* Tooling. Anton Sviridov has spear-headed two major projects in this area:
172-
- [sbt-vcpkg] is working hard to solve the native dependency problem.
173-
- [sn-bindgen] generates Scala Native bindings to native libraries directly from `*.h` header files. I found it immensely useful while working on http4s-curl, epollcat, and the s2n-tls integration in FS2.
174-
- Also: we are _badly_ in need of a pure Scala port of the [Java Microbenchmark Harness]. Not the whole thing obviously, but just enough to run the existing Cats Effect benchmarks for example.
172+
- [sbt-vcpkg] is working hard to solve the native dependency problem.
173+
- [sn-bindgen] generates Scala Native bindings to native libraries directly from `*.h` header files. I found it immensely useful while working on http4s-curl, epollcat, and the s2n-tls integration in FS2.
174+
- Also: we are _badly_ in need of a pure Scala port of the [Java Microbenchmark Harness]. Not the whole thing obviously, but just enough to run the existing Cats Effect benchmarks for example.
175175

176176
* Scala Native itself. Lots to do there!
177177

0 commit comments

Comments
 (0)