Skip to content

Add xeus-haskell kernel#39

Merged
rgbkrk merged 2 commits into
mainfrom
add-xeus-haskell
Feb 26, 2026
Merged

Add xeus-haskell kernel#39
rgbkrk merged 2 commits into
mainfrom
add-xeus-haskell

Conversation

@rgbkrk

@rgbkrk rgbkrk commented Feb 26, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds xeus-haskell (xhaskell kernel) to the conformance test suite
  • Final (seventh) of 7 xeus kernels requested in Additional kernels #30

Changes

  • Added Haskell language snippets (src/snippets.rs)
  • Added xeus-haskell to CI workflow

Status of #30


Submitted on @rgbkrk's behalf by his agent Quill

@rgbkrk
rgbkrk marked this pull request as draft February 26, 2026 19:03
@rgbkrk

rgbkrk commented Feb 26, 2026

Copy link
Copy Markdown
Member Author

Issue: xeus-haskell not on conda-forge

xeus-haskell is not available as a conda-forge package yet. It requires building from source using Pixi:

git clone https://github.com/jupyter-xeus/xeus-haskell
pixi run -e default prebuild
pixi run -e default build
pixi run -e default install

This is more complex than our current CI setup handles. Converting to draft until xeus-haskell is published to conda-forge.

See: https://github.com/jupyter-xeus/xeus-haskell

@github-actions

Copy link
Copy Markdown

Kernel Conformance Matrix

Kernel Protocol Tier 1 Tier 2 Tier 3 Tier 4 Total
almond unknown 0/1 0/0 0/0 0/0 0/1
ark 5.4 10/10 5/7 2/3 5/5 22/25
deno 5.3 9/10 6/7 3/3 3/5 21/25
evcxr 5.3 10/10 3/7 1/3 3/5 17/25
gonb 5.4 6/10 1/7 1/3 3/5 11/25
ijulia 5.4 10/10 6/7 2/3 5/5 23/25
ipykernel 5.3 10/10 7/7 3/3 5/5 25/25
xeus-cling 5.3 9/10 4/7 0/3 0/5 13/25
xeus-cpp 5.5 4/10 0/7 0/3 0/5 4/25
xeus-lua 5.5 8/10 4/7 0/3 3/5 15/25
xeus-python 5.5 9/10 5/7 3/3 4/5 21/25
xeus-r 5.5 9/10 5/7 0/3 0/5 14/25
xeus-sql unknown 0/1 0/0 0/0 0/0 0/1
xeus-sqlite unknown 0/1 0/0 0/0 0/0 0/1

almond (unknown) - 1 failures, 0 skipped

Language: scala | Protocol: unknown

Failures

Test Message Type Likely Source Reason
kernel_startup kernel_info_request protocol_error Protocol error: missing field date at line 1 column 169
ark () - 3 failures, 0 skipped

Language: R | Protocol: 5.4

Failures

Test Message Type Likely Source Reason
history_request history_request unknown Timeout waiting for shell reply
comm_info_request comm_info_request unknown Timeout waiting for shell reply
deno (Deno kernel) - 3 failures, 1 skipped

Language: typescript | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
interrupt_request interrupt_request unknown Timeout waiting for control reply
shutdown_reply shutdown_request unknown Timeout waiting for control reply

Skipped (Not Implemented)

  • stdin_input_request: Kernel can request input from frontend via stdin channel
evcxr (evcxr_jupyter) - 5 failures, 3 skipped

Language: Rust | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
inspect_request inspect_request unknown Timeout waiting for shell reply
history_request history_request unknown Timeout waiting for shell reply
comm_info_request comm_info_request unknown Timeout waiting for shell reply
interrupt_request interrupt_request unknown Protocol error: Error deserializing content for msg_type interrupt_reply: missing field status

Skipped (Not Implemented)

  • display_data: Kernel can produce display_data messages for rich output
  • update_display_data: Kernel can update existing displays via update_display_data
  • stdin_input_request: Kernel can request input from frontend via stdin channel
gonb (gonb) - 14 failures, 0 skipped

Language: go | Protocol: 5.4

Failures

Test Message Type Likely Source Reason
execute_stdout execute_request unknown No stdout containing 'hello'
execute_stderr stream unknown No stderr containing 'error'
execute_reply_ok execute_request kernel_error execute_reply status: Error
complete_request complete_request unknown Timeout waiting for shell reply
inspect_request inspect_request unknown Expected inspect_reply, got "complete_reply"
is_complete_complete is_complete_request unknown Expected is_complete_reply, got "execute_reply"
is_complete_incomplete is_complete_request unknown Expected is_complete_reply, got "inspect_reply"
history_request history_request unknown Timeout waiting for shell reply
comm_info_request comm_info_request unknown Timeout waiting for shell reply
execute_result execute_result unknown No execute_result on iopub
stdin_input_request input_request unexpected_content No input_request received on stdin channel
interrupt_request interrupt_request unknown Timeout waiting for control reply
shutdown_reply shutdown_request unknown Timeout waiting for control reply
ijulia (ijulia) - 1 failures, 1 skipped

Language: julia | Protocol: 5.4

Failures

Test Message Type Likely Source Reason
comm_info_request comm_info_request unknown Timeout waiting for shell reply

Skipped (Not Implemented)

  • update_display_data: Kernel can update existing displays via update_display_data
xeus-cling (xeus-cling) - 11 failures, 1 skipped

Language: c++ | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
inspect_request inspect_request unknown inspect_reply status: Error
history_request history_request unknown Protocol error: Error deserializing content for msg_type history_reply: data did not match any variant of untagged enum HistoryEntry
comm_info_request comm_info_request unknown Timeout waiting for shell reply
display_data display_data unknown Timeout waiting for iopub idle
update_display_data update_display_data unknown Timeout waiting for iopub idle
execute_result execute_result unknown Protocol error: Codec Error: Broken pipe (os error 32)
comms_lifecycle comm_open harness_error Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
interrupt_request interrupt_request unknown Timeout waiting for control reply
execution_count_increments execute_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
parent_header_correlation parent_header unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
shutdown_reply shutdown_request unknown Protocol error: Codec Error: Broken pipe (os error 32)

Skipped (Not Implemented)

  • stdin_input_request: Kernel can request input from frontend via stdin channel
xeus-cpp (xeus-cpp) - 20 failures, 1 skipped

Language: C++ | Protocol: 5.5

Failures

Test Message Type Likely Source Reason
execute_stdout execute_request unknown Timeout waiting for iopub idle
execute_stderr stream unknown Timeout waiting for iopub idle
execute_reply_ok execute_request harness_error Protocol error: Codec Error: Broken pipe (os error 32)
status_busy_idle_lifecycle status unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
execute_input_broadcast execute_input unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
complete_request complete_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
inspect_request inspect_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
is_complete_complete is_complete_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
is_complete_incomplete is_complete_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
history_request history_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
comm_info_request comm_info_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
error_handling execute_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
display_data display_data unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
update_display_data update_display_data unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
execute_result execute_result unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
comms_lifecycle comm_open harness_error Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
interrupt_request interrupt_request unknown Timeout waiting for control reply
execution_count_increments execute_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
parent_header_correlation parent_header unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
shutdown_reply shutdown_request unknown Protocol error: Codec Error: Broken pipe (os error 32)

Skipped (Not Implemented)

  • stdin_input_request: Kernel can request input from frontend via stdin channel
xeus-lua (xlua) - 7 failures, 3 skipped

Language: lua | Protocol: 5.5

Failures

Test Message Type Likely Source Reason
execute_stderr stream unknown No stderr containing 'error'
history_request history_request unknown Protocol error: Error deserializing content for msg_type history_reply: data did not match any variant of untagged enum HistoryEntry
comm_info_request comm_info_request unknown Timeout waiting for shell reply
execute_result execute_result unknown No execute_result on iopub
interrupt_request interrupt_request unknown Protocol error: Error deserializing content for msg_type interrupt_reply: invalid type: null, expected struct InterruptReply
shutdown_reply shutdown_request unknown Protocol error: Error deserializing content for msg_type shutdown_reply: invalid type: null, expected struct ShutdownReply

Skipped (Not Implemented)

  • display_data: Kernel can produce display_data messages for rich output
  • update_display_data: Kernel can update existing displays via update_display_data
  • stdin_input_request: Kernel can request input from frontend via stdin channel
xeus-python (xeus-python) - 4 failures, 0 skipped

Language: python | Protocol: 5.5

Failures

Test Message Type Likely Source Reason
history_request history_request unknown Protocol error: Error deserializing content for msg_type history_reply: data did not match any variant of untagged enum HistoryEntry
comm_info_request comm_info_request unknown Timeout waiting for shell reply
interrupt_request interrupt_request unknown Protocol error: Error deserializing content for msg_type interrupt_reply: invalid type: null, expected struct InterruptReply
shutdown_reply shutdown_request unknown Protocol error: Error deserializing content for msg_type shutdown_reply: invalid type: null, expected struct ShutdownReply
xeus-r (xr) - 11 failures, 0 skipped

Language: R | Protocol: 5.5

Failures

Test Message Type Likely Source Reason
history_request history_request unknown Protocol error: Error deserializing content for msg_type history_reply: data did not match any variant of untagged enum HistoryEntry
comm_info_request comm_info_request unknown Timeout waiting for shell reply
display_data display_data unknown Timeout waiting for iopub idle
update_display_data update_display_data unknown Timeout waiting for iopub idle
execute_result execute_result unknown Timeout waiting for iopub idle
stdin_input_request input_request harness_error Timeout waiting for iopub idle (stdin test)
comms_lifecycle comm_open harness_error Kernel unresponsive after comm: Timeout waiting for iopub idle
interrupt_request interrupt_request unknown Timeout waiting for control reply
execution_count_increments execute_request unknown Timeout waiting for iopub idle
parent_header_correlation parent_header unknown Timeout waiting for iopub idle
shutdown_reply shutdown_request unknown Timeout waiting for control reply
xeus-sql (unknown) - 1 failures, 0 skipped

Language: sqlite | Protocol: unknown

Failures

Test Message Type Likely Source Reason
kernel_startup kernel_info_request protocol_error Protocol error: Error deserializing content for msg_type kernel_info_reply: missing field status
xeus-sqlite (unknown) - 1 failures, 0 skipped

Language: sqlite | Protocol: unknown

Failures

Test Message Type Likely Source Reason
kernel_startup kernel_info_request protocol_error Protocol error: Error deserializing content for msg_type kernel_info_reply: missing field status

Test Results by Message Type

Test Message Type almond ark deno evcxr gonb ijulia ipykernel xeus-cling xeus-cpp xeus-lua xeus-python xeus-r xeus-sql xeus-sqlite
comm_info_request comm_info_request - - -
comms_lifecycle comm_open - - -
complete_request complete_request - - -
display_data display_data - ⏭️ ⏭️ - -
error_handling execute_request - - -
execute_input_broadcast execute_input - - -
execute_reply_ok execute_request - - -
execute_result execute_result - - -
execute_stderr stream - - -
execute_stdout execute_request - - -
execution_count_increments execute_request - - -
heartbeat_responds heartbeat - - -
history_request history_request - - -
inspect_request inspect_request - - -
interrupt_request interrupt_request - - -
is_complete_complete is_complete_request - - -
is_complete_incomplete is_complete_request - ⚠️ ⚠️ ⚠️ - -
kernel_info_has_language_info kernel_info_request - - -
kernel_info_has_protocol_version kernel_info_request - - -
kernel_info_reply_valid kernel_info_request - - -
kernel_startup kernel_info_request - - - - - - - - - - -
parent_header_correlation parent_header - - -
shutdown_reply shutdown_request - - -
status_busy_idle_lifecycle status - - -
stdin_input_request input_request - ⏭️ ⏭️ ⏭️ ⏭️ ⏭️ - -
update_display_data update_display_data - ⚠️ ⏭️ ⚠️ ⏭️ ⏭️ - -

Seventh (and final) of 7 xeus kernels requested in #30. Adds Haskell language snippets.

Key changes:
- Build xeus-haskell from source using Pixi (not yet on conda-forge)
- Add 15-minute timeout for build-from-source jobs

Note: xeus-octave (PR #36) uses Xvfb for X11 requirements.
@rgbkrk
rgbkrk marked this pull request as ready for review February 26, 2026 19:09
@github-actions

Copy link
Copy Markdown

Kernel Conformance Matrix

Kernel Protocol Tier 1 Tier 2 Tier 3 Tier 4 Total
almond unknown 0/1 0/0 0/0 0/0 0/1
ark 5.4 10/10 5/7 2/3 5/5 22/25
deno 5.3 9/10 6/7 3/3 3/5 21/25
evcxr 5.3 10/10 3/7 1/3 3/5 17/25
gonb 5.4 6/10 1/7 1/3 3/5 11/25
ijulia 5.4 10/10 6/7 2/3 5/5 23/25
ipykernel 5.3 10/10 7/7 3/3 5/5 25/25
xeus-cling 5.3 9/10 4/7 0/3 0/5 13/25
xeus-cpp 5.5 4/10 0/7 0/3 0/5 4/25
xeus-lua 5.5 8/10 4/7 0/3 3/5 15/25
xeus-python 5.5 9/10 5/7 3/3 4/5 21/25
xeus-r 5.5 9/10 5/7 0/3 0/5 14/25
xeus-sql unknown 0/1 0/0 0/0 0/0 0/1
xeus-sqlite unknown 0/1 0/0 0/0 0/0 0/1

almond (unknown) - 1 failures, 0 skipped

Language: scala | Protocol: unknown

Failures

Test Message Type Likely Source Reason
kernel_startup kernel_info_request protocol_error Protocol error: missing field date at line 1 column 169
ark () - 3 failures, 0 skipped

Language: R | Protocol: 5.4

Failures

Test Message Type Likely Source Reason
history_request history_request unknown Timeout waiting for shell reply
comm_info_request comm_info_request unknown Timeout waiting for shell reply
deno (Deno kernel) - 3 failures, 1 skipped

Language: typescript | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
interrupt_request interrupt_request unknown Timeout waiting for control reply
shutdown_reply shutdown_request unknown Timeout waiting for control reply

Skipped (Not Implemented)

  • stdin_input_request: Kernel can request input from frontend via stdin channel
evcxr (evcxr_jupyter) - 5 failures, 3 skipped

Language: Rust | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
inspect_request inspect_request unknown Timeout waiting for shell reply
history_request history_request unknown Timeout waiting for shell reply
comm_info_request comm_info_request unknown Timeout waiting for shell reply
interrupt_request interrupt_request unknown Protocol error: Error deserializing content for msg_type interrupt_reply: missing field status

Skipped (Not Implemented)

  • display_data: Kernel can produce display_data messages for rich output
  • update_display_data: Kernel can update existing displays via update_display_data
  • stdin_input_request: Kernel can request input from frontend via stdin channel
gonb (gonb) - 14 failures, 0 skipped

Language: go | Protocol: 5.4

Failures

Test Message Type Likely Source Reason
execute_stdout execute_request unknown No stdout containing 'hello'
execute_stderr stream unknown No stderr containing 'error'
execute_reply_ok execute_request kernel_error execute_reply status: Error
complete_request complete_request unknown Timeout waiting for shell reply
inspect_request inspect_request unknown Expected inspect_reply, got "execute_reply"
is_complete_complete is_complete_request unknown Expected is_complete_reply, got "inspect_reply"
is_complete_incomplete is_complete_request unknown Timeout waiting for shell reply
history_request history_request unknown Timeout waiting for shell reply
comm_info_request comm_info_request unknown Timeout waiting for shell reply
execute_result execute_result unknown No execute_result on iopub
stdin_input_request input_request unexpected_content No input_request received on stdin channel
interrupt_request interrupt_request unknown Timeout waiting for control reply
shutdown_reply shutdown_request unknown Timeout waiting for control reply
ijulia (ijulia) - 1 failures, 1 skipped

Language: julia | Protocol: 5.4

Failures

Test Message Type Likely Source Reason
comm_info_request comm_info_request unknown Timeout waiting for shell reply

Skipped (Not Implemented)

  • update_display_data: Kernel can update existing displays via update_display_data
xeus-cling (xeus-cling) - 11 failures, 1 skipped

Language: c++ | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
inspect_request inspect_request unknown inspect_reply status: Error
history_request history_request unknown Protocol error: Error deserializing content for msg_type history_reply: data did not match any variant of untagged enum HistoryEntry
comm_info_request comm_info_request unknown Timeout waiting for shell reply
display_data display_data unknown Timeout waiting for iopub idle
update_display_data update_display_data unknown Timeout waiting for iopub idle
execute_result execute_result unknown Protocol error: Codec Error: Broken pipe (os error 32)
comms_lifecycle comm_open harness_error Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
interrupt_request interrupt_request unknown Timeout waiting for control reply
execution_count_increments execute_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
parent_header_correlation parent_header unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
shutdown_reply shutdown_request unknown Protocol error: Codec Error: Broken pipe (os error 32)

Skipped (Not Implemented)

  • stdin_input_request: Kernel can request input from frontend via stdin channel
xeus-cpp (xeus-cpp) - 20 failures, 1 skipped

Language: C++ | Protocol: 5.5

Failures

Test Message Type Likely Source Reason
execute_stdout execute_request unknown Timeout waiting for iopub idle
execute_stderr stream unknown Timeout waiting for iopub idle
execute_reply_ok execute_request harness_error Protocol error: Codec Error: Broken pipe (os error 32)
status_busy_idle_lifecycle status unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
execute_input_broadcast execute_input unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
complete_request complete_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
inspect_request inspect_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
is_complete_complete is_complete_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
is_complete_incomplete is_complete_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
history_request history_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
comm_info_request comm_info_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
error_handling execute_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
display_data display_data unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
update_display_data update_display_data unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
execute_result execute_result unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
comms_lifecycle comm_open harness_error Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
interrupt_request interrupt_request unknown Timeout waiting for control reply
execution_count_increments execute_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
parent_header_correlation parent_header unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
shutdown_reply shutdown_request unknown Protocol error: Codec Error: Broken pipe (os error 32)

Skipped (Not Implemented)

  • stdin_input_request: Kernel can request input from frontend via stdin channel
xeus-lua (xlua) - 7 failures, 3 skipped

Language: lua | Protocol: 5.5

Failures

Test Message Type Likely Source Reason
execute_stderr stream unknown No stderr containing 'error'
history_request history_request unknown Protocol error: Error deserializing content for msg_type history_reply: data did not match any variant of untagged enum HistoryEntry
comm_info_request comm_info_request unknown Timeout waiting for shell reply
execute_result execute_result unknown No execute_result on iopub
interrupt_request interrupt_request unknown Protocol error: Error deserializing content for msg_type interrupt_reply: invalid type: null, expected struct InterruptReply
shutdown_reply shutdown_request unknown Protocol error: Error deserializing content for msg_type shutdown_reply: invalid type: null, expected struct ShutdownReply

Skipped (Not Implemented)

  • display_data: Kernel can produce display_data messages for rich output
  • update_display_data: Kernel can update existing displays via update_display_data
  • stdin_input_request: Kernel can request input from frontend via stdin channel
xeus-python (xeus-python) - 4 failures, 0 skipped

Language: python | Protocol: 5.5

Failures

Test Message Type Likely Source Reason
history_request history_request unknown Protocol error: Error deserializing content for msg_type history_reply: data did not match any variant of untagged enum HistoryEntry
comm_info_request comm_info_request unknown Timeout waiting for shell reply
interrupt_request interrupt_request unknown Protocol error: Error deserializing content for msg_type interrupt_reply: invalid type: null, expected struct InterruptReply
shutdown_reply shutdown_request unknown Protocol error: Error deserializing content for msg_type shutdown_reply: invalid type: null, expected struct ShutdownReply
xeus-r (xr) - 11 failures, 0 skipped

Language: R | Protocol: 5.5

Failures

Test Message Type Likely Source Reason
history_request history_request unknown Protocol error: Error deserializing content for msg_type history_reply: data did not match any variant of untagged enum HistoryEntry
comm_info_request comm_info_request unknown Timeout waiting for shell reply
display_data display_data unknown Timeout waiting for iopub idle
update_display_data update_display_data unknown Timeout waiting for iopub idle
execute_result execute_result unknown Timeout waiting for iopub idle
stdin_input_request input_request harness_error Timeout waiting for iopub idle (stdin test)
comms_lifecycle comm_open harness_error Kernel unresponsive after comm: Timeout waiting for iopub idle
interrupt_request interrupt_request unknown Timeout waiting for control reply
execution_count_increments execute_request unknown Timeout waiting for iopub idle
parent_header_correlation parent_header unknown Timeout waiting for iopub idle
shutdown_reply shutdown_request unknown Timeout waiting for control reply
xeus-sql (unknown) - 1 failures, 0 skipped

Language: sqlite | Protocol: unknown

Failures

Test Message Type Likely Source Reason
kernel_startup kernel_info_request protocol_error Protocol error: Error deserializing content for msg_type kernel_info_reply: missing field status
xeus-sqlite (unknown) - 1 failures, 0 skipped

Language: sqlite | Protocol: unknown

Failures

Test Message Type Likely Source Reason
kernel_startup kernel_info_request protocol_error Protocol error: Error deserializing content for msg_type kernel_info_reply: missing field status

Test Results by Message Type

Test Message Type almond ark deno evcxr gonb ijulia ipykernel xeus-cling xeus-cpp xeus-lua xeus-python xeus-r xeus-sql xeus-sqlite
comm_info_request comm_info_request - - -
comms_lifecycle comm_open - - -
complete_request complete_request - - -
display_data display_data - ⏭️ ⏭️ - -
error_handling execute_request - - -
execute_input_broadcast execute_input - - -
execute_reply_ok execute_request - - -
execute_result execute_result - - -
execute_stderr stream - - -
execute_stdout execute_request - - -
execution_count_increments execute_request - - -
heartbeat_responds heartbeat - - -
history_request history_request - - -
inspect_request inspect_request - - -
interrupt_request interrupt_request - - -
is_complete_complete is_complete_request - - -
is_complete_incomplete is_complete_request - ⚠️ ⚠️ ⚠️ - -
kernel_info_has_language_info kernel_info_request - - -
kernel_info_has_protocol_version kernel_info_request - - -
kernel_info_reply_valid kernel_info_request - - -
kernel_startup kernel_info_request - - - - - - - - - - -
parent_header_correlation parent_header - - -
shutdown_reply shutdown_request - - -
status_busy_idle_lifecycle status - - -
stdin_input_request input_request - ⏭️ ⏭️ ⏭️ ⏭️ ⏭️ - -
update_display_data update_display_data - ⚠️ ⏭️ ⚠️ ⏭️ ⏭️ - -

@github-actions

Copy link
Copy Markdown

Kernel Conformance Matrix

Kernel Protocol Tier 1 Tier 2 Tier 3 Tier 4 Total
almond unknown 0/1 0/0 0/0 0/0 0/1
ark 5.4 10/10 5/7 2/3 5/5 22/25
deno 5.3 9/10 6/7 3/3 3/5 21/25
evcxr 5.3 10/10 3/7 1/3 3/5 17/25
gonb 5.4 6/10 1/7 1/3 3/5 11/25
ijulia 5.4 10/10 6/7 2/3 5/5 23/25
ipykernel 5.3 10/10 7/7 3/3 5/5 25/25
xeus-cling 5.3 9/10 4/7 0/3 0/5 13/25
xeus-cpp 5.5 4/10 0/7 0/3 0/5 4/25
xeus-lua 5.5 8/10 4/7 0/3 3/5 15/25
xeus-python 5.5 9/10 5/7 3/3 4/5 21/25
xeus-r 5.5 9/10 5/7 0/3 0/5 14/25
xeus-sql unknown 0/1 0/0 0/0 0/0 0/1
xeus-sqlite unknown 0/1 0/0 0/0 0/0 0/1

almond (unknown) - 1 failures, 0 skipped

Language: scala | Protocol: unknown

Failures

Test Message Type Likely Source Reason
kernel_startup kernel_info_request protocol_error Protocol error: missing field date at line 1 column 169
ark () - 3 failures, 0 skipped

Language: R | Protocol: 5.4

Failures

Test Message Type Likely Source Reason
history_request history_request unknown Timeout waiting for shell reply
comm_info_request comm_info_request unknown Timeout waiting for shell reply
deno (Deno kernel) - 3 failures, 1 skipped

Language: typescript | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
interrupt_request interrupt_request unknown Timeout waiting for control reply
shutdown_reply shutdown_request unknown Timeout waiting for control reply

Skipped (Not Implemented)

  • stdin_input_request: Kernel can request input from frontend via stdin channel
evcxr (evcxr_jupyter) - 5 failures, 3 skipped

Language: Rust | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
inspect_request inspect_request unknown Timeout waiting for shell reply
history_request history_request unknown Timeout waiting for shell reply
comm_info_request comm_info_request unknown Timeout waiting for shell reply
interrupt_request interrupt_request unknown Protocol error: Error deserializing content for msg_type interrupt_reply: missing field status

Skipped (Not Implemented)

  • display_data: Kernel can produce display_data messages for rich output
  • update_display_data: Kernel can update existing displays via update_display_data
  • stdin_input_request: Kernel can request input from frontend via stdin channel
gonb (gonb) - 14 failures, 0 skipped

Language: go | Protocol: 5.4

Failures

Test Message Type Likely Source Reason
execute_stdout execute_request unknown No stdout containing 'hello'
execute_stderr stream unknown No stderr containing 'error'
execute_reply_ok execute_request kernel_error execute_reply status: Error
complete_request complete_request unknown Timeout waiting for shell reply
inspect_request inspect_request unknown Expected inspect_reply, got "execute_reply"
is_complete_complete is_complete_request unknown Expected is_complete_reply, got "inspect_reply"
is_complete_incomplete is_complete_request unknown Timeout waiting for shell reply
history_request history_request unknown Timeout waiting for shell reply
comm_info_request comm_info_request unknown Timeout waiting for shell reply
execute_result execute_result unknown No execute_result on iopub
stdin_input_request input_request unexpected_content No input_request received on stdin channel
interrupt_request interrupt_request unknown Timeout waiting for control reply
shutdown_reply shutdown_request unknown Timeout waiting for control reply
ijulia (ijulia) - 1 failures, 1 skipped

Language: julia | Protocol: 5.4

Failures

Test Message Type Likely Source Reason
comm_info_request comm_info_request unknown Timeout waiting for shell reply

Skipped (Not Implemented)

  • update_display_data: Kernel can update existing displays via update_display_data
xeus-cling (xeus-cling) - 11 failures, 1 skipped

Language: c++ | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
inspect_request inspect_request unknown inspect_reply status: Error
history_request history_request unknown Protocol error: Error deserializing content for msg_type history_reply: data did not match any variant of untagged enum HistoryEntry
comm_info_request comm_info_request unknown Timeout waiting for shell reply
display_data display_data unknown Timeout waiting for iopub idle
update_display_data update_display_data unknown Timeout waiting for iopub idle
execute_result execute_result unknown Protocol error: Codec Error: Broken pipe (os error 32)
comms_lifecycle comm_open harness_error Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
interrupt_request interrupt_request unknown Timeout waiting for control reply
execution_count_increments execute_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
parent_header_correlation parent_header unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
shutdown_reply shutdown_request unknown Protocol error: Codec Error: Broken pipe (os error 32)

Skipped (Not Implemented)

  • stdin_input_request: Kernel can request input from frontend via stdin channel
xeus-cpp (xeus-cpp) - 20 failures, 1 skipped

Language: C++ | Protocol: 5.5

Failures

Test Message Type Likely Source Reason
execute_stdout execute_request unknown Timeout waiting for iopub idle
execute_stderr stream unknown Timeout waiting for iopub idle
execute_reply_ok execute_request harness_error Protocol error: Codec Error: Broken pipe (os error 32)
status_busy_idle_lifecycle status unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
execute_input_broadcast execute_input unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
complete_request complete_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
inspect_request inspect_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
is_complete_complete is_complete_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
is_complete_incomplete is_complete_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
history_request history_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
comm_info_request comm_info_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
error_handling execute_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
display_data display_data unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
update_display_data update_display_data unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
execute_result execute_result unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
comms_lifecycle comm_open harness_error Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
interrupt_request interrupt_request unknown Timeout waiting for control reply
execution_count_increments execute_request unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
parent_header_correlation parent_header unknown Protocol error: Failed to deliver message (6 frames) cause of Not connected to peers. Unable to send messages
shutdown_reply shutdown_request unknown Protocol error: Codec Error: Broken pipe (os error 32)

Skipped (Not Implemented)

  • stdin_input_request: Kernel can request input from frontend via stdin channel
xeus-lua (xlua) - 7 failures, 3 skipped

Language: lua | Protocol: 5.5

Failures

Test Message Type Likely Source Reason
execute_stderr stream unknown No stderr containing 'error'
history_request history_request unknown Protocol error: Error deserializing content for msg_type history_reply: data did not match any variant of untagged enum HistoryEntry
comm_info_request comm_info_request unknown Timeout waiting for shell reply
execute_result execute_result unknown No execute_result on iopub
interrupt_request interrupt_request unknown Protocol error: Error deserializing content for msg_type interrupt_reply: invalid type: null, expected struct InterruptReply
shutdown_reply shutdown_request unknown Protocol error: Error deserializing content for msg_type shutdown_reply: invalid type: null, expected struct ShutdownReply

Skipped (Not Implemented)

  • display_data: Kernel can produce display_data messages for rich output
  • update_display_data: Kernel can update existing displays via update_display_data
  • stdin_input_request: Kernel can request input from frontend via stdin channel
xeus-python (xeus-python) - 4 failures, 0 skipped

Language: python | Protocol: 5.5

Failures

Test Message Type Likely Source Reason
history_request history_request unknown Protocol error: Error deserializing content for msg_type history_reply: data did not match any variant of untagged enum HistoryEntry
comm_info_request comm_info_request unknown Timeout waiting for shell reply
interrupt_request interrupt_request unknown Protocol error: Error deserializing content for msg_type interrupt_reply: invalid type: null, expected struct InterruptReply
shutdown_reply shutdown_request unknown Protocol error: Error deserializing content for msg_type shutdown_reply: invalid type: null, expected struct ShutdownReply
xeus-r (xr) - 11 failures, 0 skipped

Language: R | Protocol: 5.5

Failures

Test Message Type Likely Source Reason
history_request history_request unknown Protocol error: Error deserializing content for msg_type history_reply: data did not match any variant of untagged enum HistoryEntry
comm_info_request comm_info_request unknown Timeout waiting for shell reply
display_data display_data unknown Timeout waiting for iopub idle
update_display_data update_display_data unknown Timeout waiting for iopub idle
execute_result execute_result unknown Timeout waiting for iopub idle
stdin_input_request input_request harness_error Timeout waiting for iopub idle (stdin test)
comms_lifecycle comm_open harness_error Kernel unresponsive after comm: Timeout waiting for iopub idle
interrupt_request interrupt_request unknown Timeout waiting for control reply
execution_count_increments execute_request unknown Timeout waiting for iopub idle
parent_header_correlation parent_header unknown Timeout waiting for iopub idle
shutdown_reply shutdown_request unknown Timeout waiting for control reply
xeus-sql (unknown) - 1 failures, 0 skipped

Language: sqlite | Protocol: unknown

Failures

Test Message Type Likely Source Reason
kernel_startup kernel_info_request protocol_error Protocol error: Error deserializing content for msg_type kernel_info_reply: missing field status
xeus-sqlite (unknown) - 1 failures, 0 skipped

Language: sqlite | Protocol: unknown

Failures

Test Message Type Likely Source Reason
kernel_startup kernel_info_request protocol_error Protocol error: Error deserializing content for msg_type kernel_info_reply: missing field status

Test Results by Message Type

Test Message Type almond ark deno evcxr gonb ijulia ipykernel xeus-cling xeus-cpp xeus-lua xeus-python xeus-r xeus-sql xeus-sqlite
comm_info_request comm_info_request - - -
comms_lifecycle comm_open - - -
complete_request complete_request - - -
display_data display_data - ⏭️ ⏭️ - -
error_handling execute_request - - -
execute_input_broadcast execute_input - - -
execute_reply_ok execute_request - - -
execute_result execute_result - - -
execute_stderr stream - - -
execute_stdout execute_request - - -
execution_count_increments execute_request - - -
heartbeat_responds heartbeat - - -
history_request history_request - - -
inspect_request inspect_request - - -
interrupt_request interrupt_request - - -
is_complete_complete is_complete_request - - -
is_complete_incomplete is_complete_request - ⚠️ ⚠️ ⚠️ - -
kernel_info_has_language_info kernel_info_request - - -
kernel_info_has_protocol_version kernel_info_request - - -
kernel_info_reply_valid kernel_info_request - - -
kernel_startup kernel_info_request - - - - - - - - - - -
parent_header_correlation parent_header - - -
shutdown_reply shutdown_request - - -
status_busy_idle_lifecycle status - - -
stdin_input_request input_request - ⏭️ ⏭️ ⏭️ ⏭️ ⏭️ - -
update_display_data update_display_data - ⚠️ ⏭️ ⚠️ ⏭️ ⏭️ - -

@rgbkrk
rgbkrk merged commit 7bdd47e into main Feb 26, 2026
17 checks passed
@rgbkrk
rgbkrk deleted the add-xeus-haskell branch February 26, 2026 19:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant